Автор работы: Пользователь скрыл имя, 08 Марта 2011 в 17:34, курсовая работа
Цель курсового проекта состоит в приобретении практических навыков в проектировании операционного и управляющего автоматов процессора ЭВМ в соответствии с заданными в техническом задании архитектурными особенностями, а также в разработке технической документации, представленной пояснительной запиской и чертежами, выполненными в соответствии с ЕСКД.
Введение
Задание на курсовой проект………………………………………………... 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 Зона БМУ……………………….…………………………… 6
5.1.4 Зона БИНТ…………………….…………………………….. 70
5.1.5 Зона ОП……………………..….……………………………... 7
5.1.6 Зона CONST…………………………………………………… 74
Микропрограмма операции обработки чисел в формате с
плавающей точкой…………………………………..…………………... 74
Заключение…………………………………………………………………... 80
Литература……………………………………………………………………. 81
5)Исключения.
#GP – операнд в не перезаписываемом сегменте.
Эффективный адрес операнда вне пределов сегментных регистров CS, DS, ES, FS, или GS.
Регистр DS, ES, FS, или GS содержит нулевой сегментный селектор.
#SS
– эффективный адрес операнда
вне предела сегментного
#PF(fault-code) – ошибка страничного режима.
#AC - флаг контроля за выравниванием. Если AC=1 и AM=1, то исключение #17 из-за нарушения выравнивания в 3м кольце защиты разрешено.
б) OR AL, im8
Код операции OСh
1)
Команды кодируется с
2)
Команда работает с любым
3) Формат команды : регистр - непосредственный операнд
Способ адресации: непосредственная.
Кодирование.
Opcode | Immediate |
00001100 | |
15 8 |
7 0 |
4)Выполняется
побитовая операция –
Флаги результата:
OF и CF остаются пустыми(0);
SF, ZF, PF устанавливаются в зависимости от результата
5)Исключения:
#GP
- если адрес операнда в памяти
вне пределов сегментных
#SS
- если адрес операнда в
памяти вне предела
в) XCHG Mem32,Reg32
Код операции 87h.
1)
Команды кодируется с
2) Команда работает с 2 байтовыми типами данных. В операции принимает участие операнд, хранящийся в памяти и любой регистр общего назначения. Операндом – приёмником является операнд в памяти.
3) Формат команды : регистр – память
Способ адресации: базовая с 16 разрядным исполнительным адресом. Исполнительный адрес получается путём сложения базового регистра ( BP-поле R/M=110 или BX- поле R/M=111) и смещения (поле Disp – 8 (Mod=01) или 16 (Mod=10) разрядов)
Кодирование.
Disp = 8 бит
Opcode | ModR/M | Disp | ||
Mod | Reg/Opcode | R/M | ||
10000111 | 01 | reg | 11x | |
23 16 |
15 14 | 13 11 | 10 8 | 7 0 |
Disp = 16 бит
Opcode | ModR/M | Disp | ||
Mod | Reg/Opcode | R/M | ||
10000111 | 10 | reg | 11x | |
31 24 |
23 22 | 21 19 | 18 16 | 15 |
4)
Выполняется обмен содержимым
между 2х байтным регистром
и 2х байтным операндом в
памяти. Если в операции используется
операнд из памяти, то автоматически
запускается процессорный
Флагов для данной операции нет.
5)Исключения:
#GP
– операнд в не
Эффективный адрес операнда вне пределов сегментных регистров CS, DS,
ES, FS, или GS.
Регистр DS, ES, FS, или GS содержит нулевой сегментный селектор.
#SS
– эффективный адрес операнда
вне предела сегментного
#PF(fault-code) – ошибка страничного режима.
#AC - флаг контроля за выравниванием. Если AC=1 и AM=1, то исключение #17 из-за нарушения выравнивания в 3м кольце защиты разрешено.
г) FIADD m16int
Код операции DB/0h,
1)
Команды кодируется с
2)Команда
складывает содержимое памяти (2
байтовое целое число) с
3) Формат команды : регистр – память
Способ адресации: базовая с 16 разрядным исполнительным адресом. Исполнительный адрес получается путём сложения базового регистра ( BP-поле R/M=110 или BX- поле R/M=111) и смещения (поле Disp – 8 (Mod=01) или 16 (Mod=10) разрядов)
Кодирование.
Disp = 8 бит
Opcode | ModR/M | Disp | ||||
MF | OPA | Mod | OPB | R/M | ||
11011 | 11 | 0 | 01 | 000 | 11x | |
23 19 | 18 17 | 16 | 15 14 | 13 11 | 10 8 | 7 0 |
Disp = 16 бит
Opcode | ModR/M | Disp | ||||
MF | OPA | Mod | OPB | R/M | ||
11011 | 11 | 0 | 10 | 000 | 11x | |
31 27 | 26 25 | 24 | 23 22 | 21 19 | 18 16 | 15 |
4)
Производится сложение
Таблица2.1 - Результаты команды FIADD.
|
DEST | |||||||
-∞ | −F | −0 | +0 | +F | +∞ | NaN | ||
S
R C |
−I | -∞ | −F | SRC | SRC | ±F or ±0 | +∞ | NaN |
+0 | -∞ | DEST | ±0 | +0 | DEST | +∞ | NaN | |
+I | -∞ | ±F or ±0 | SRC | SRC | +F | +∞ | NaN |
Кроме
обычных чисел формат IEEE предусматривает
несколько специальных случаев,
которые могут получаться в результате
математических операций и над которыми
также можно выполнять
Флаги результата:
РЕ — флаг неточного результата — результат не может быть представлен точно
UE — флаг антипереполнения — результат слишком маленький.
ОЕ — флаг переполнения — результат слишком большой.
DE — флаг денормализованного операнда — выполнена операция над денормализованным числом.
IE — флаг недопустимой операции — произошла ошибка стека (SF = 1) или выполнена недопустимая операция.
C1 устанавливается в 0, если стек оказался пуст; устанавливается, если результат был округлён; во всех остальных случаях пуст.
C0, C2, C3 не определены.
5)Исключения:
#IS стек пуст.
#IA операнд является signalling Not a Number (порядок 111...111, мантисса 1,0ххх...ххх (ненулевая)) или его формат не поддерживается. Операнды являются бесконечностями с разными знаками.
Информация о работе Проектирование процессора ЭВМ с архитектурой IA-32