Смекни!
smekni.com

Проектирование процессора ЭВМ с архитектурой IA-32 (стр. 1 из 9)

Введение

1 Задание на курсовой проект………………………………………………... 5

1.1 Общие аспекты проектирования процессора……………………. 5

1.2 Исходные данные………………………………………………….. 6

2 Архитектура процессора….………..……...…………..………………….. 7

2.1 Форматы команд…………………….……………………………… 7

2.2 Форматы данных…………….………………………………..……... 14

2.3 Расчет и выбор разрядности основных узлов процессора……… 16

2.4 Регистровая модель………….……………………………………... 17

2.5 Виды адресации………………………………………………………. 22

3 Структурная организация процессора……………..………………… 25

3.1 Общая структура процессора………………………………………... 25

3.2 Выбор и обоснование элементной базы……………..…………….. 25

3.3 Блоки обработки данных……………………………………….…… 26

3.4 Управляющий автомат………………………………..…………….. 30

3.4.1 УА с жесткой логикой……………….…………………….. 30

3.4.2 УА с микропрограммным управлением………………….. 33

3.5 Регистровая память (РП)………………….……………………….. 36

3.6 Оперативная память (ОП)…………………….…………………… 38

3.7 Блок интерфейсов (БИНТ)………………………..………………… 38

4 Содержательные схемы алгоритмов работы процессора….……………. 39

4.1 Общий алгоритм цикла работы процессора………………………... 39

4.2 Выборка команд………………………………..……………………. 41

4.3 Формирование исполнительного адреса и выборка

операндов……………….…………………………..……………………. 47

4.4 Обработка прерываний………………………………………………. 54

4.5 Выполнение четырех операций из индивидуального задания……. 55

5 Микропрограммное управление………….………..…………………. 64

5.1 Формат микрокоманды………………………………………………. 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

5.2 Микропрограмма операции обработки чисел в формате с

плавающей точкой…………………………………..…………………... 74

Заключение…………………………………………………………………... 80

Литература……………………………………………………………………. 81


Введение

Интенсивное развитие микроэлектроники и повышения степени интеграции открыли новое направление в ВТ - создание микропроцессоров и микрокомпьютеров. Появились вычислительные системы с малым уровнем потребления энергии и универсальными возможностями, которые позволяют решать задачи управления объектами различной физической природы. На основе их применения снижаются затраты на автоматизацию основных технических и вспомогательных процессов. В результате будет решена задача комплексной автоматизации производства во всех отраслях. Это позволит увеличить производительность труда, уменьшить себестоимость выпускаемой продукции и значительно сократить ручные операции в промышленности. Однако для широкого развития работ в данном направлении необходимо готовить значительное число инженеров - системотехников, умеющих создавать и применять микропроцессоры и микрокомпьютеры. Кроме того, следует выпускать и много инженеров - математиков, разрабатывающих соответствующее программное обеспечение. Для их обучения необходимо иметь учебные пособия, посвященные аппаратным и программным средствам современной вычислительной техники.

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


1 Задание на КП

1.1 Аспекты разработки процессора

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

1) ознакомление с системой заданных машинных команд и архитектурой IA-32,

2) синтез структуры операционных автоматов блоков обработки данных в базисе микропроцессорных секций (МПС) или программируемых логических интегральных схем (ПЛИС),

3) синтез управляющих автоматов с жесткой и микропрограммируемой логикой,

4) разработка математического обеспечения в виде алгоритмов реализации цикла работы процессора и выполнения заданного набора команд,

5) формирование микрокоманды и составление микропрограммы выполнения операции из заданного набора над числами с плавающей точкой,

6) разработка электрических схем (структурной, функциональной и принципиальной) и оформление пояснительной записки.

1.2 Исходные данные для проектирования

Набор команд: 18, 57, C2, E2.

Таблица 1. 1 - Команды процессора

Номер команды Код операции Операция Описание
Операции над целыми числами (арифметические)
18 29h Sub Mem16, Reg16Sub Mem32, Reg32 Mem16 – Reg16->Mem16Mem32 – Reg32->Mem32
Операции над целыми числами (логические и сдвиги)
57 0Ch OR AL, im8 Al or im8->AL
Операции пересылки
C2 87h XCHGMem32,Reg32 Mem32->TmpReg32->Mem32Tmp->Reg32
Операции над числами с плавающей точкой
E2 DB/0h FIADD m16int m16int+ST(0)->ST(0)

Таблица 1.2 - Параметры процессора и оперативной памяти

Ёмкость оперативной памяти, Мб 8
Длина слова оперативной памяти, байт 8
Базис реализации процессора МПС К1804 ВС2
Способ адресации Базовая EA (0:15)

2 Архитектура процессора

2.1 Форматы команд

а) Sub Mem16, Reg16 иSub Mem32, Reg32

Код операции 29h.

1) Команды кодируется с использованием 3х полей – Opcode( 1 байт), ModR/M( 1 байт), Disp( 1 или 2 байта). Команда имеет размер 3 или 4 байта.

2) Команда работает с знаковыми и беззнаковыми целыми числами. В операции принимает участие операнд( 2 или 4 байта), хранящийся в памяти и любой регистр общего назначения(2 или 4 байта). Операндом – приёмником является операнд в памяти.

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
00101001 01 reg 11x
23 16 15 14 13 11 10 8 7 0

Disp = 16 бит

Opcode ModR/M Disp
Mod Reg/Opcode R/M
00101001 10 reg 11x
31 24 23 22 21 19 18 16 15 0

4) Выполняется операция вычитания из регистра основного назначения операнда, хранящегося в памяти и запись результата в память. Операнды могут быть 16 и 32 разрядными.

Флаги результата:

OF - флаг переполнения (OverflowFlag). Флаг установлен, если операция привела к переносу (займу) в знаковый (самый старший) бит результата, но не привела к переносу (займу) из самого старшего бита, или наоборот. Для операций над числами со знаком сигнализирует о переполнении.

SF - флаг знака (SignFlag). Установлен, если установлен старший бит результата, иначе он сброшен. Для 8-, 16- и 32-разрядных операций этот флаг отражает состояние 7, 15 и 31 бита соответственно. Для знаковых чисел старший бит отражает знак числа: 0 - неотрицательное, 1 - отрицательное.

ZF - флаг нуля (Zero Flag). Установлен, если все биты результата равны нулю, иначе сброшен.

PF - флаг четности (Parity Flag). Установлен, если младшие восемь бит операнда содержат четное число единиц (проверка на четность) иначе сброшен. На этот флаг влияют только младшие восемь бит независимо от длины операнда.

CF - флаг переноса (Carry Flag). Установлен, если операция привела к переносу из старшего бита при сложении или к займу для старшего бита при вычитании, иначе сброшен. Для 8-, 16-, 32-разрядных операций этот бит устанавливается при переносе из битов 7, 15 и 31 соответственно. Для беззнаковых операций флаг сигнализирует о переполнении.

5)Исключения.

#GP – операнд в не перезаписываемом сегменте.

Эффективный адрес операнда вне пределов сегментных регистров CS, DS, ES, FS, или GS.

Регистр DS, ES, FS, или GS содержит нулевой сегментный селектор.

#SS – эффективный адрес операнда вне предела сегментного регистра SS.

#PF(fault-code) – ошибка страничного режима.

#AC - флаг контроля за выравниванием. Если AC=1 и AM=1, то исключение #17 из-за нарушения выравнивания в 3м кольце защиты разрешено.

б) ORAL, im8

Код операции OСh

1) Команды кодируется с использованием 2х полей – Opcode ( 1байт) и Immediate(1 байт)Соответственно команда имеет размер 2 байта.

2) Команда работает с любым типом данных. В операции принимает участие непосредственный операнд ( 1 байт) и младший байт регистра EAX- AL( 1 байт) . Операндом – приёмником является AL.

3) Формат команды : регистр - непосредственный операнд

Способ адресации: непосредственная.

Кодирование.

Opcode Immediate
00001100
15 8 7 0

4)Выполняется побитовая операция – логическое ИЛИ. Каждый бит результата команды OR устанавливается в 0, если оба соответствующие биты первого и второго операнда равны 0, в противном случае устанавливается 1

Флаги результата:

OF и CF остаются пустыми(0);