Автор работы: Пользователь скрыл имя, 15 Марта 2012 в 14:37, курсовая работа
Цель курсового проекта состоит в приобретении практических навыков в проектировании операционного и управляющего автоматов процессора ЭВМ в соответствии с заданными в техническом задании архитектурными особенностями, а также в разработке технической документации, представленной пояснительной запиской и чертежами, выполненными в соответствии с ЕСКД.
Введение
Задание на курсовой проект………………………………………………... 5
Общие аспекты проектирования процессора……………………. 5
Исходные данные………………………………………………….. 6
Архитектура процессора….………..……...…………..………………….. 7
Форматы команд…………………….……………………………… 7
Форматы данных…………….………………………………..……... 14
Расчет и выбор разрядности основных узлов процессора……… 16
Регистровая модель………….……………………………………... 17
Виды адресации………………………………………………………. 22
Структурная организация процессора……………..………………… 25
Общая структура процессора………………………………………... 25
Выбор и обоснование элементной базы……………..…………….. 25
Блоки обработки данных……………………………………….…… 26
Управляющий автомат………………………………..…………….. 30
3.4.1 УА с жесткой логикой……………….…………………….. 30
3.4.2 УА с микропрограммным управлением………………….. 33
Регистровая память (РП)………………….……………………….. 36
Оперативная память (ОП)…………………….…………………… 38
Блок интерфейсов (БИНТ)………………………..………………… 38
Содержательные схемы алгоритмов работы процессора….……………. 39
Общий алгоритм цикла работы процессора………………………... 39
Выборка команд………………………………..……………………. 41
Формирование исполнительного адреса и выборка
операндов……………….…………………………..……………………. 47
Обработка прерываний………………………………………………. 54
Выполнение четырех операций из индивидуального задания……. 55
Микропрограммное управление………….………..…………………. 64
Формат микрокоманды………………………………………………. 64
5.1.1 Зона БФТ…………..…………….………………………. 65
5.1.2 Зона БПТ……………..………...……………………………. 68
5.1.3 Зона БМУ……………………….…………………………… 69
5.1.4 Зона БИНТ…………………….…………………………….. 70
5.1.5 Зона ОП……………………..….……………………………... 74
5.1.6 Зона CONST…………………………………………………… 74
Микропрограмма операции обработки чисел в формате с
плавающей точкой…………………………………..…………………... 74
Заключение…………………………………………………………………... 80
Литература……………………………………………………………………. 81
Рис. 4.8. Формирование исполнительного адреса
Рис. 4.10. Выборка операндов (ВО3)
Рис. 4.11. Выборка операндов (ВО4)
Рис. 4.12. Выборка непосредственного операнда из РгК
Рис. 4.13. Выборка операнда из РОН (2 байта)
Рис. 4.14. Выборка операнда из РОН (4 байта)
4.4 Обработка прерываний
При обработке прерываний сначала происходит сохранение сегментных регистров, затем РОНов и наконец регистра ССП, СчАК и регистра флагов EFLAGS в стек.
Рис. 4.7. Обработка прерываний
4.5 Выполнение четырех операций из индивидуального задания
Выполнение команд с фиксированной точкой не представляет особого труда, так как операции в них реализуются в МПС моего варианта (вычитание и логическое ИЛИ). Соответственно алгоритмы также не очень сложны. Команда обмена данными между регистром и памятью тоже реализуется в небольшом алгоритме. При написании алгоритмов учитывалось, что процессор может работать в разных режимах, поэтому анализировался регистр ССП.
Формирование признаков результата происходит на аппаратном уровне. Это не требует записи флагов на уровне микропрограммирования и не отражается на алгоритмах выполнения операций.
Составление
же алгоритма для чисел с
Мантисса и знаки обрабатываются в БПТ (РСМм, Р1м, РСМз, Р1з), порядок же обрабатывается в БФТ (для однообразия и внесения смысловой нагрузки для упрощения понимания алгоритма создадим соответствие Р1р, РСМр – это порядки в БФТ. Рр1 это РгП, РСМр - это РгЛОП ( операнд из памяти). Изначально в РСМр целое число со знаком.
Первым шагом является приведение целого числа к формату числа с ПТ: определение знака числа (находится ли в доп. коде и нужно ли преобразовывать в прямой, так как мантисса хранится в прямом коде), нахождение мантиссы порядка (сдвиг числа влево в подсчётом количества совершённых сдвигов).
Затем реализуется сам алгоритм сложения с учётом возможных особых случаев ( переполнение, антипереполнение порядка, потеря точности).
Кратко алгоритм можно описать так:
1. Производится выравнивание порядков чисел. Порядок меньшего (по модулю) числа принимается равным порядку большего числа, а мантисса меньшего числа сдвигается вправо на число S-ичных разрядов, равное разности порядков чисел.
2. Производится
сложение мантисс, в
3. Порядок результата принимается равным порядку большего числа.
4. Полученная сумма нормализуется.
При сравнении порядков возможны пять случаев:
1) px-py>m (m— число разрядов мантиссы). В качестве результата суммирования сразу же может быть взято первое слагаемое, так как при выравнивании порядков все разряды мантиссы второго слагаемого принимают нулевое значение;
2) px-py>m. В качестве результата суммирования может быть взято второе слагаемое;
3) .px-py=0. Можно приступить к суммированию мантисс;
4) px-px=k1 (k1<m) Мантисса второго слагаемого сдвигается на разрядов вправо, затем производится суммирование мантисс;
5) py-px=k2 (k2<m) Перед выполнением суммирования мантисс производится cдвиг на разрядов вправо мантиссы первого слагаемого.
За порядок результата при выполнении суммирования принимается больший из порядков операндов.
Рис. 4.15. Выполнение команды КОМ1
Рис. 4.17. Выполнение команды КОМ2
Рис. 4.18. Выполнение команды КОМ3
Рис. 4.19. Запись результата КОМ3
Рис. 4.20. Довыборка операндов (ВО4)
Рис. 4.23. Запись результата КОМ4
5 Микропрограммное управление
5.1 Формат микрокоманды
Таблица 5.1 –Формат микрокоманды.
Зона |
Поле |
Количество разрядов |
Значение по умолчанию | |
БФТ |
MUXA MUXB ИСТ УВП АЛУ СДВ РЕЗ А В |
2 2 3 2 4 3 3 4 4 |
0 0 0 0 6 C 0 0 0 | |
БПТ |
ИСТ УВП АЛУ СДВ РЕЗ А В |
3 2 4 3 3 4 4 |
0 0 6 C 0 0 0 | |
БМУ |
УСА ФУ И АП УСЛ RLD БУ ВБ |
4 1 1 12 3 1 1 1 |
E 1 0 0 0 1 0 1 | |
БИНТ |
БФТ |
MUXDAФТ MUXDBФТ DMXDYФТ DMXDBФТ |
2 3 2 1 |
0 0 0 0 |
БПТ |
MUXDAПТ DMXDYПТ MUXDBПТ |
1 2 1 |
0 0 0 | |
ОП |
MUXЗП DMXОП MUXБЧ MUXСА |
3 1 1 1 1 1 1 1 |
0 0 0 0 0 0 0 0 | |
Рг |
СчАК РгАД РгБ РгК | |||
ОП |
R/W РАОП РгЧтОП РгЗпОП CS |
1 1 1 1 1 |
0 0 0 0 0 | |
CONST |
64 |
0 |
Таблица 5.1 (продолжение)
5.1.1 Зона БФТ.
Зона состоит из семи полей.
Для адресных входов, в зависимости от того, откуда адреса A и B, разрешены не все возможные адреса. Таким образом, на вход А и B старшим битом всегда должен подаваться 0, если разрешён адресный вход из РгК. Так как в БФТ у меня находится только 2 рабочих регистра - 15 и 16 (оставшиеся отведены под сегментные регистры), то при адресации из РгМК на старшие адресные входы должны подаваться три единицы. Распределение адресов и соответствующих им регистров приведено в разделе 2 (2.4.5 Регистры БОД) .
Поля MUXA и MUXB управляют выбором адреса РЗУ, возможными значениями которого являются адрес регистра из БМУ, регистр из РгК (поле reg или поле r/m). “+” указывает на значение полей по умолчанию.
Таблица 5.2 – Поле MUXA..
MUXA |
Источник |
00 01 10 11 |
Адрес из БМУ РгК(10:12) РгК(13:15) - |
Таблица 5.3 - Поле MUXB.
MUXB |
Источник |
00 01 10 11 |
Адрес из БМУ РгК(10:12) РгК(13:15) - |
ИСТ |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
EA OEB I0 |
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
Операнд R |
РгA |
РгA |
РгA |
РгA |
DA |
DA |
DA |
DA |
Операнд S |
РгB |
РгQ |
DB |
РгQ |
РгB |
РгQ |
DB |
РгQ |
Таблица 5.4 - Поле ИСТ.
Таблица 5.5 - Поле УВП.
УВП |
Значение переноса |
00 01 01 11 |
0 1 C C |
Таблица 5.6 - Поле АЛУ.
АЛУ |
Операция АЛУ | |||
0 |
0 |
0 |
0 |
Специальные функции при IO=0 |
0 |
0 |
0 |
0 |
1111 при IO=1 |
0 |
0 |
0 |
1 |
S-R-1+CO |
0 |
0 |
1 |
0 |
R-S-1+CO |
0 |
0 |
1 |
1 |
R+S+CO |
0 |
1 |
0 |
0 |
S+CO |
0 |
1 |
0 |
1 |
S+CO |
0 |
1 |
1 |
0 |
R+CO |
0 |
1 |
1 |
1 |
R+CO |
1 |
0 |
0 |
0 |
0000 |
1 |
0 |
0 |
1 |
Ri^Si |
1 |
0 |
1 |
0 |
Ri Si |
1 |
0 |
1 |
1 |
Ri Si |
1 |
1 |
0 |
0 |
Ri^Si |
1 |
1 |
0 |
1 |
RiVSi |
1 |
1 |
1 |
0 |
Ri^Si |
1 |
1 |
1 |
1 |
RiVSi |
Таблица 5.7 - Поле СДВ.
СДВ |
Операция АЛУ | |||
0 |
0 |
0 |
0 |
АС ALU вправо |
0 |
0 |
0 |
1 |
ЛС ALU вправо |
0 |
0 |
1 |
0 |
АС ALU, ЛС RGQ вправо |
0 |
0 |
1 |
1 |
ЛС ALU, ЛС РгQ вправо |
0 |
1 |
0 |
0 |
без сдвига |
0 |
1 |
0 |
1 |
ЛС РгQ вправо |
0 |
1 |
1 |
0 |
РгQ:=ALU |
0 |
1 |
1 |
1 |
РгQ:=ALU |
1 |
0 |
0 |
0 |
AC ALU влево |
1 |
0 |
0 |
1 |
ЛС ALU влево |
1 |
0 |
1 |
0 |
AС ALU, ЛС РгQ влево |
1 |
0 |
1 |
1 |
ЛС ALU, ЛС РГQ влево |
1 |
1 |
0 |
0 |
без сдвига |
1 |
1 |
0 |
1 |
ЛС РгQ влево |
1 |
1 |
1 |
0 |
расширение знака |
1 |
1 |
1 |
1 |
без сдвига |
Таблица 5.7 (продолжение)
Таблица 5.8 - Поле РЕЗ.