Разработка ЭВМ

Автор: Пользователь скрыл имя, 30 Марта 2012 в 20:10, курсовая работа

Описание работы

Целью курсового проектирования является углубление и закрепление теоретических знаний студентов, приобретение навыков разработки узлов ЭВМ на структурном, функциональном и алгоритмическом уровнях.
Курсовой проект посвящен разработке структурной схемы гипотетической ЭВМ, принципиальной схемы и алгоритма(ов) работы конкретного блока, входящего в состав этой ЭВМ.

Содержание

1. Цель работы
2. Задание
3. Разработка гипотетической ЭВМ
3.1 Разработка центрального процессора
3.1.1 Операционный блок
3.1.2 Микропрограммное устройство управления
3.2. Система прерываний
3.3 Кэш-память
3.4 Основная память
3.5 Прямой доступ к памяти
3.6 Контроль по Хеммингу
3.7 Блок синхронизации и таймер
3.8 Устройства ввода – вывода
Клавиатура
Монитор
Жесткий диск
4. Разработка арифметического сопроцессора
Алгоритм операции умножения.
Алгоритм операции деления.
Заключение
Список литературы

Работа содержит 1 файл

Курсовой_ЭВМ.doc

— 255.00 Кб (Скачать)

Алгоритм обратной записи WB (Write Back): если блок памяти, в который должна производится запись, отображен в кэш, то запись производится в кэш, и строка помечается как модифицированная (dirty). Данные копируются в ОП только при передаче в другие устройства или при вытеснении из кэш.

Кэш-память реализуется как ассоциативная память, в которой для каждой единицы памяти хранятся дополнительные сведения, называемые тэгом или признаком. Для однозначного определения единицы памяти тэгом должен быть физический адрес данных в ОП. Когда в ассоциативную память подается адрес, с ним одновременно сравниваются все тэги. Если один из тегов равен поданному адресу (кэш попадание, cache hit), производится обращение к этой единице памяти. Если равенства не обнаруживается (кэш промах, cache miss), требуется обратиться к ОП.

Кэш команд полностью ассоциативный с алгоритмом записи WB, с алгоритмом замещения строки, последнее обращение к которой было раньше LRU (Last Recently Used). Кэш данных наборно-ассоциативный с алгоритмом записи WB, алгоритм замещения строки - LRU.

 

3.4 Основная память

 

В данной 32-х разрядной ЭВМ ЦП позволяет адресовать 4096 Mb ячеек памяти, причем необходимо использование старших битов адреса для выбора типа памяти, но это ни в коем случае не повлияет на возможности системы.

Основная память (ОП) ЭВМ должна содержать:

-  оперативную (ОЗУ) память для временного хранения данных;

-  постоянную (ПЗУ) память для неизменяемых и энергонезависимых данных: хранение программы начальной инициализации системы, каких-либо констант и т.п.

Для управления выбором типа памяти, управлением чтением/записью,  а также управление выводом данных в общую шину в структуру ОП необходимо ввести контроллер ОП. В данной структуре основными сигналами управления памятью есть сигналы:- чтение / запись; - разрешение вывода данных на общую шину и сигнал разрешения работы памяти .

Сигнал - необходим только для блока ОЗУ, т.к. при выборе блока ПЗУ операции по записи данных не возможны.

Исходя из выше сказанного, возможно построение структурной схемы основной памяти (рис. 7).

Рис.7 Структурная схема основной памяти

 

Все блоки памяти должны иметь разрядность хранимого слова равную 39 битам, 32 бита данных и контрольных 7 битов для обнаружения и исправления ошибок по коду Хемминга. В контроллер памяти входит блок контроля по Хеммингу.

3.5 Прямой доступ к памяти

 

Для обмена информацией между ОП и НГМД и «винчестером» (ПУ с блочной передачей) используется прямой доступ к памяти. Это позволяет освободить ЦП от необходимости управлять обменом данных и, следовательно, предоставлять ему возможность выполнения других задач во время пересылки (не используя магистраль), а также обеспечивает высокую скорость пересылки данных [2].

Прямой доступ к памяти осуществляется под управлением предварительно настраиваемого процессором контроллера ПДП. При настройке процессор загружает в регистры контроллера начальный адрес в памяти для передаваемого блока данных, длину блока и вид операции.

Мультиплексируемая шина адреса/данных подразумевает перед передачей слова в память или из памяти передачу адреса в память (п. 2.1), снижая пропускную способность шины почти в два раза. При передаче блока данных обычно используют последовательно расположенные ячейки памяти. В таком случае в память можно передавать только начальный адрес блока данных, а формирование текущего адреса возложить на устройство управления памятью [1].

Возникает также проблема длительной монополизации интерфейса контроллером ПДП. Для высокоскоростных ПУ более предпочтительна блочная передача, при которой процессор останавливается на все время передачи (без запоминания слова состояния) или работает, не используя магистраль, т.е. если информация есть в КЭШе. Для медленных ПУ предпочтителен режим захвата цикла шины [2] (одноцикловый [1]), при котором выполнение программы (процессор не блокируется) и пересылка с ПДП совмещаются во времени. Если цикл памяти нужен одновременно и ЦП и ПУ, осуществляющему пересылку с ПДП, то приоритет отдается последнему, а ЦП ожидает окончания цикла ПДП. При длительном использовании магистрали функция регенерации ОП лежит на КПДП. В контролерах ПДП для каждого устройства (распределенный ПДП [2]) реализуется один из приведенных режимов в зависимости от их скоростных характеристик: «винчестер» - блочная передача, НГМД – с захватом цикла. Достоинством распределенного ПДП является то, что аппаратные затраты для реализации ПДП увеличиваются только при добавлении устройств ввода-вывода.

       Процедура ввода-вывода с ПДП:

       ЦП опрашивает готовность ПУ.

       ЦП пересылает команду в КПДП.

       КПДП передает команду в ПУ (это команда управления ПУ).

       Процедура захвата шины:

       КПДП выставляет сигнал DMR

       ЦП предоставляет шину, выставляя DMG

       КПДП выставляет сигнал SACK (шина занята).

КПДП начинает обмен. ЦП работает в соответствии с одним из описанных выше режимов: блочная передача или с захватом цикла шины.

После выполнения любой команды КПДП посылает запрос на прерывание. ЦП опрашивает счетчик количества слов для контроля правильности выполнения передачи. Если обнаруживается сбой, то процедура передачи повторяется с начала и в системе контроля фиксируется количество ошибок (общее и в одном месте). При превышении заданного количества ошибок попытки передачи прекращаются, и генерируется прерывание, сообщающее об ошибке.

 


3.6 Контроль по Хеммингу

Поскольку при работе с памятью не исключена возможность различных сбоев и отказов, желательно иметь систему обнаружения и исправления ошибок. Для обнаружения ошибок и исправления некоторых из них используется код Хемминга. Код Хемминга позволяет обнаруживать и исправлять любые одиночные ошибки, а также обнаруживать двойные ошибки.

Для реализации контроля и исправления ошибок в памяти с использованием кода Хемминга возможно синтезировать схему на ПМЛ, позволяющую строить системы контроля на 32 бита.

При записи 32-разрядного слова в память корректор формирует 6-разрядный синдром и 1 разряд паритета, которые записываются в дополнительные разряды адресуемой ячейки ОЗУ (в памяти хранятся слова по 39 бит). При чтении слова из ячейки памяти информационные разряды поступают в корректор, туда же поступают и корректирующие разряды, схема вычисляет синдром.

Корректор анализирует полученную информацию и, если ошибки нет, то информационные разряды передаются на системную шину данных без изменений. В случае возникновения одиночной ошибки, корректирующая логика исправляет дефектный бит и формирует сигнал одиночной ошибки (#ERR), который дальше не нужен. Если же обнаруживается двукратная или более ошибка, то формируется сигнал «неисправимая ошибка» (#MERR), этот сигнал передается в систему прерываний, возникает соответствующее прерывание, которое должно быть обработано программой обработки такого рода ошибок.

3.7 Блок синхронизации и таймер

Блок синхронизации (БС) предназначен для обеспечения синхронной работы всех узлов ЭВМ. В его задачи входит генерация синхросигналов заданной формы и длительности для ЦПУ, таймера, контроллеров, основной памяти, кэща и других устройств, входящих в состав ЭВМ. Блок синхронизации должен обладать возможность изменения длительности синхросигналов, что бывает необходимо при отсутствии попадания в кэш, когда требуется прочитать данные из ОП, а так же при обмене с медленными периферийными устройствами.

Типовой управляемы блок синхронизации имеет как минимум несколько режимов работы, таких как «работа» и «ожидание», а также несколько входов для задания кратности выходной частоты к опорной частоте тактирования.

Таймер предназначен для деления машинного времени на временные интервалы. Таймер можно программно опрашивать, устанавливать, использовать в качестве будильника, в определённое время выдающего сигнал в процессор, или в качестве секундомера при замерах интервалов времени между внешними событиями и т.д. Одно из применений - регенерация оперативных запоминающих устройств, например каждые несколько миллисекунд таймер выдаёт запрос на прерывание наивысшего приоритета, по наступлении которого производится регенерация динамической памяти.

 

3.8 Устройства ввода – вывода

Клавиатура

Клавиатура является одним из базовых устройств ввода, обеспечивающих общение пользователя с ЭВМ. Она содержит контроллер клавиатуры, который воспринимает каждое нажатие на клавишу и выдает последовательный скан-код. Скан-код представляет собой идентификационный номер, присвоенный каждой клавише.

При поступлении скан-кода в порт вывода вызывается прерывание клавиатуры. Процессор прекращает обработку текущей операции и выполняет процедуру, анализирующую скан-код. Так как нажатия клавиш могут происходить достаточно часто, то для того, чтобы центральный процессор успевал обрабатывать все нажатия клавиш, контроллер клавиатуры должен иметь буфер FIFO.

Монитор

Монитор служит для отображения алфавитно-цифровой и графической информации. Монитор, как и всякое другое периферийное устройство, подключается через контроллер (видеоадаптер) к системной шине. Монитор является пассивным отображающим устройством, не посылающим запросы на прерывание.

Жесткий диск

Жесткий диск является одним из основных видов энергонезависимой памяти. Он используется для сохранения различных данных, которые генерируются исполняемыми программами. Жесткий диск подключается через контроллер ПДП, что позволяет производить запись на жесткий диск и чтение с него.


4. Разработка арифметического сопроцессора

 

Арифметический сопроцессор построен на основе умножителя Am29C323, и предназначен для ускорения работы основного процессора при выполнении операций умножения и деления.

Взаимодействие микропроцессора и сопроцессора осуществляется по схеме последовательного выполнения операций, т. е. пока работает сопроцессор, то основной ждет. Фактически арифметический сопроцессор является составной частью ОБ, т.к. и умножитель, и МПС управляются одним микропрограммным устройством управления.

Для выполнения умножения необходимо загрузить во входные регистры умножителя операнды из внутрипроцессорной шины Y или из Рг.З поочередно.

После выполнения умножения полученное 64-разрядное произведение из внутренних выходных регистров умножителя подается на вход D МПС, где происходит его запоминание в РОН. Также результат можно сразу занести в Рг.Y, что оказывается полезным например при выполнении операции возведения в степень.

Стандарт IEEE 754 о представлении чисел с плавающей точкой с одинарной точностью:

 

 

В стандарте IEEE 754 мантиссы чисел М представляются в нормализованном виде, при этом действует прием скрытого разряда, когда старшая цифра мантиссы, всегда равная единице, в записи числа отсутствует, то есть в поле мантиссы старшей является вторая старшая цифра нормализованной мантиссы.

В отличие от общепринятого условия нормализации S = [М| < 1, в стандарте IEEE 754 используется условие i = |М| < 2.

Запись числа содержит смещенный порядок, то есть порядок, увеличенный на величину смещения, которое в стандарте IEEE 754 для одинарного формата равно 127, а для двойного — 1023.

Первой особенностью работы с числами с плавающей запятой является то, что в них операции производятся отдельно над тремя их составляющими. (знаками, мантиссами и порядками операндов) выполняются раздельно: блоком обработки знаков (БОЗ), блоком обработки порядков (БОП) и блоком обработки мантисс (БОМ).


 

 

 

 

 

 

 

 

 

                                         

 

 

 

 

 

 

 

Рис.8. Структурная схема операций умножения и деления.

 

Стоит так же упомянуть о том что операцию умножения можно производить сравнительно быстро, если взять на вооружение комбинационные схемы параллельного умножения как мы и сделали, а это значит, что незачем использовать делитель, и при выполнении операции деления можно воспользоваться формулой деления умножением на обратную величину.

Вычисление обратной величины методом Ньютона-Рафсона сводится к нахождению корня уравнения

то есть Х= 1/O. Решение может быть получено с привлечением рекуррентного соотношения: Xi+l = Xi (2 –XiD). Количество итераций определяется требуемой точностью вычисления X/D. Реализация метода для n-разрядных чисел требует 2 int(log2n) - 1 операций умножения.

Q=A/D, где A-мантисса делимого, D-мантисса делителя

Эта формула позволяет вычислять величину 1/D,

а X0 , X1 , X2 ,… - последовательные приближения этой величины.

Если первое приближение 0<X0<2/C, то Xi→1/С при i→∞. Для выбора X0 используется гипербола, зашитая в таблицу, находящуюся в МПП. При этом достигается точность y0 до 8-9 верных двоичных разрядов.

На предварительном этапе может быть также выполнена проверка на равенство нулю одного или обоих операндов (в стандарте IEEE 754 для представления нулевого значения используется такая запись числа, в которой нулю равны все Разряды порядка). Это позволяет исключить ненужные операции. Это делается в самом МПС, до попытки передачи чисел на сопроцессор.

Алгоритм операции умножения.

1.       Сумма знаков

Информация о работе Разработка ЭВМ