Проектирование процессора ЭВМ с архитектурой IA-32

Автор работы: Пользователь скрыл имя, 17 Мая 2013 в 00:00, курсовая работа

Краткое описание

В ходе выполнение данного курсового проекта был разработан процессор с архитектурой Intel-32. Данный процессор выполняет 2 команды, согласно индивидуальному варианту задания: ADD Reg8, Reg8; FCMOVB ST(0), ST(i). К данному курсовому проекту прилагается пояснительная записка, содержащая подробное описание работы процессора, три электрические схемы: структурная, функциональная и принципиальная.
В качестве базовой архитектуры была выбрана архитектура P6, разработанная компанией Intel и лежащая в основе микропроцессоров Pentium Pro, Pentium II, Pentium III, Celeron и Xeon.

Содержание

Введение 5
1 Задание на курсовой проект 6
1.1 Общие аспекты проектирования процессора 6
1.2 Исходные данные 9
2 Архитектура процессора 12
2.1 Формат машинных команд IA-32 12
2.2 Форматы данных 18
2.3 Расчет и выбор разрядности основных узлов процессора 25
2.4 Регистровая модель 26
2.5 Виды адресации 39
3 Структурная организация процессора 41
3.1 Общая структура процессора 41
3.2 Выбор и обоснование элементной базы 43
3.3 Блок обработки данных 44
3.3.1 Блок с фиксированной точкой 44
3.3.2 Блок с плавающей точкой 49
3.4 Управляющий автомат с микропрограммным управлением 49
3.5 Регистровая память 53
3.6 Оперативная память 55
3.7 Блок интерфейса 56
4 Содержательные схемы алгоритмов работы процессора 57
4.1 Общий алгоритм цикла работы процессора 57
4.2 Выборка команд 57
4.3 Формирование исполнительного адреса и выборка операндов 59
4.4 Обработка прерываний 62
4.5 Выполнение двух операций из индивидуального задания 64

5 Микропрограммное управление 67
5.1 Формат микрокоманды 67
5.2 Микропрограмма выполнения операции с плавающей точкой 69
Заключение 72

Прикрепленные файлы: 1 файл

ПЗ Кузьмин.docx

— 2.76 Мб (Скачать документ)

Таблица 8 – Поля микрокоманды (продолжение)

БОХ

A

4

Выбор операнда из РЗУ

B

4

Выбор операнда из РЗУ

I

9

Микрокоманда

С0

1

Перенос в АЛУ

EA

1

Разрешение данных A

OEY

1

Разрешение выходов Y

OEB

1

Разрешение выходов B

WE

1

Разрешение записи РЗУ

БОМ

A

4

Выбор операнда из РЗУ

B

4

Выбор операнда из РЗУ

I

9

Микрокоманда

С0

1

Перенос в АЛУ

EA

1

Разрешение данных A

OEY

1

Разрешение выходов Y

OEB

1

Разрешение выходов B

WE

1

Разрешение записи РЗУ

РПТ

WFPR

1

Запись в стек

ОП

WRAM

1

Запись ОП

RRAM

1

Чтение ОП и запись в  регистр RRAM

WAOP

1

Запись в AOP

AOP_SRC

2

Селектор выбора источника  AOP

WRGR

1

Запись в RGR

WRGW

1

Запись в RGW

RAM_Out

2

Выбор данных RGR

RGW_SRC

2

Выбор положения байта  при MOV

РОНы

SRC_RG1_RG2

2

Выбор RG1 или RG2

WGPR

1

Запись  в РОН

РгК

W79-64

W63-48

W47-32

W31-16

W15-0

1

Сигналы записи в RGK

БМУ

MKU

6

Мультиплексор кода условия

IKU

1

Инвертор кода условия

CCE

1

Разрешение выполнения условия

I

4

Микрокоманда

RLD

1

Разрешение записи в регистр  адреса МК

CONST

 

Адрес перехода

БДР

WFPSR

1

Запись в FPSR

WFPCR

1

Запись в FPCR

WTW

1

Запись в TW

EIP_W

1

Запись в EIP

Eflag_W

1

Запись в EFLAGS

FP_Reg_Choice

5

Выбор регистров

W_Segm

3

Данные для записи в EFLAGS

Segm_select

1

Селектор данных для записи флага

БИНТ

DB_Src

3

Источник сигнала ШД

BIG_CMD_CHOICE

2

Селектор источника шаблона  команд

COMMAND_CHECK

1

Выбор компаратора


5.2 Микропрограмма выполнения операции  с плавающей точкой

Таблица 10 – Микрокоманда операции с плавающей точкой

МК

Операция

Зона

Поле

Значение

Функция

 

0

RG2боз:=RG3боз:

 

RG2боx:=RG3боx

 

RG2бом:=RG3бом

БОЗ

A

B

I(4..0)

WE

3

2

0110

0

RGA: R3

RGB: R2

ALU: R+C0

РЗУ: ALU

БОX

A

B

I(4..0)

WE

3

2

0110

0

RGA: R3

RGB: R2

ALU: R+C0

РЗУ: ALU

БОМ

A

B

I(4..0)

WE

3

2

0110

0

RGA: R3

RGB: R2

ALU: R+C0

РЗУ: ALU

 

1

RG3Бох:=RG1

Бох-RG2Бох

RG3Боз:=RG1БозXORRG2Боз

БОЗ

A

B

I(4..0)

WE

1

3

1011

0

RGA: R1

RGB: R3

ALU: R S

РЗУ: ALU

БОX

A

B

I(4..0)

C0

WE

1

3

0010

1

0

RGA: R1

RGB: R3

ALU:  R-S-1+C0

C0=1

РЗУ: ALU

 

2

RG2боз:= RG1боз XOR RG2боз

RG2боx:=RG2бох-400000h

БОЗ

A

B

OEB

EA

I(4..0)

WE

1

2

1

1

10110

0

RGA: R1

RGB: R2

S:RGB

R:RGA

ALU: R XOR S

РЗУ: ALU

БОX

A

B

OEB

EA

I(4..0)

WE

2

2

0

1

01110

0

RGA: R2

RGB: R2

S:DB

R:RGA

ALU: R+C0

РЗУ: ALU

CONST

Const

400000h

Подаваемая на DB константа


 

Таблица 10 – Микрокоманда операции с плавающей точкой (продолжение)

3

RG1боx:=RG1бох-400000h

БОX

A

B

OEB

EA

I(4..0)

WE

1

1

0

1

01110

0

RGA: R1

RGB: R1

S:DB

R:RGA

ALU: R+C0

РЗУ: ALU

CONST

Const

400000h

Подаваемая на DB константа

4

 

RG2боx:= RG1бох+RG2бох

RG3бом:=64

БОX

A

B

OEB

EA

I(4..0)

WE

1

2

1

1

00110

0

RGA: R1

RGB: R2

S:RGB

R:RGA

ALU: R+S+C0

РЗУ: ALU

БОM

B

OEB

EA

I(4..0)

WE

3

0

1

01100

0

RGB: R3

S:DB

R:RGA

ALU: S+C0

РЗУ: ALU

CONST

Const

000040h

Подаваемая на DB константа

5

 

RG1боx:=RG1бох-400000h

БОX

A

B

OEB

EA

I(4..0)

WE

2

2

0

1

00110

0

RGA: R2

RGB: R2

S:DB

R:RGA

ALU: R+S+C0

РЗУ: ALU

CONST

Const

400000h

Подаваемая на DB

6

RG3бом=0

Условный переход по адресу Bh

БОM

A

EA

I(4..0)

WE

3

1

01100

1

RGA: R3

R:RGA

ALU: R+C0

РЗУ: нет записи

БМУ

MUX_KU

20

Zбом

IUK

0

Без инверсии

MUK

1

Адрес из поля Const

I

0110

Переход условный

CCE

1

Выбор условия

CONST

Const

0000Bh

Подаваемая на DB константа


 

Таблица 10 – Микрокоманда операции с плавающей точкой(продолжение)

7

SHR(RG2Бом)

Условный переход по адресу 9h

 

БОM

B

OEB

I(4..0)

WE

2

1

11100

0

RGB: R2

S:RGB

ALU: S+C0, SHR

РЗУ: ALU

БМУ

MUX_KU

MUX_Inv

MUX_Addr

I

CCE

21

0

1

0110

1

C4бом

Без инверсии

Адрес из поля Const

Переход условный

Выбор условия

CONST

Const

000009h

Подаваемая на DB константа

 

8

RG4Бом:= RG4Бом+ RG1Бом

БОM

A

B

OEB

I(4..0)

WE

1

4

1

01100

0

RGA: R1

RGB: R4

S:RGB

ALU: R+S+C0

РЗУ: ALU

 

9

SHR(RG4Бом)

БОM

B

OEB

I(4..0)

WE

4

1

11100

0

RGB: R2

S:RGB

ALU: S+C0, SHR

РЗУ: ALU

 

A

DEC(RG3Бом)

БОM

A

B

OEB

I(4..0)

WE

0

3

1

00010

0

RGB: R0

RGB: R3

S:RGB

ALU: S-R+C0

РЗУ: ALU

БМУ

MUX_Addr

I

1

0011

Адрес из поля Const

Переход безусловный

CONST

Const

000006h

Подаваемая на DB константа

 

B

ST(0)(79):=RG2боз

ST(0)(78..64):=RG2боx

ST(0)(63..0):=RG4бом

БОЗ

B

OEB

I(4..0)

OEY

2

1

1110

1

RGB: R2

S:RGB

ALU: R+C0

DY: ALU

БОX

B

OEB

I(4..0)

OEY

2

1

1110

1

RGB: R2

S:RGB

ALU: R+C0

DY: ALU

БОМ

B

OEB

I(4..0)

OEY

4

1

1110

1

RGB: R4

S:RGB

ALU: R+C0

DY: ALU

РПТ

SEL_ST

STW

0

1

ST(0)

Запись данных


 

Заключение

В результате выполнения данного  курсового проекта был разработан секционированный 32-разрядный процессор с архитектурой IA-32, построенный в базисе МПС К1804ВС1 с микропрограммных управлением, способный выполнять две команды: ADD и FCMOVB. В процессе выполнения были выполнены этапы:

- формирование регистровой  модели процессора;

- синтез структуры процессора  в базисе указанного в задании  набора МПС; 

- реализация алгоритма цикла работы процессора.

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

 

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 1: Basic Architecture, 470 p. 253665.pdf

2. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M, 758 p. 253666.pdf

3. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B: Instruction Set Reference, N-Z, 618 p. 253667.pdf

4. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System Programming Guide, Part 1, 646 p. 253668.pdf

5. Аванесян Г.Р., Левшин  В.П. Интегральные микросхемы  ТТЛ, ТТЛШ: Справочник. – М.: Машиностроение, 1993. – 256 с.: ил. ISBN 5-217-02604-9

6. Аверотьянов Н.Н., Березко  А.И., Брщенко Ю.И. и др. под редакцией  Шахнова В.А. Микропроцессоры  и микропроцессорные комплекты  интегральных микросхем: Справочник: В 2 т. – М.: Радио и связь, 1988. – Т.2. – 368 стр.: ил. ISBN 5-256-00373-9.

7. В. Юров. Assembler: Учебник. – Спб.: Питер, 2001. – 624 с.: ил. ISBN 5-272-00040-4.

8. В. Юров. Assembler: Специальный справочник. – Спб.: Питер, 2000. – 496 с.: ил. ISBN 5-272-00119-2.

9. Проектирование процессоров  ЭВМ на секционированных микросхемах.  Методические Указания к курсовому  проектированию / Владим. гос. ун-т;  Сост.: В.Б. Буланкин, Т.А. Луценко  – Владимир, 1997г.

10. Мосин С.Г. Проектирование  процессора ЭВМ с архитектурой  IA-32:Методические указания к курсовому проектированию. ВлГУ – 2008.

11. Цилькер Б.Я., Орлов С.А.  Организация ЭВМ и систем: учебник  для вузов. – СПб.: Питер, 2004. – 668 с.: ил. ISBN 5-94-723-759-8.

12. ГОСТ 2.105-95. Единая система  конструкторской документации. Общие  требования к текстовым документам.

13.Хамахер К., Вранешич  З.,Заки С. Организация ЭВМ.  – 5-е изд.- С-Пб.: Издательская группа BHV, 2003.- 848 с. - ISBN 5-8046-0162-8.

14. Современные процессоры Intel IA-32 в ПК [Электронный ресурс] : Ресурсы процессора – Режим доступа: http://dims.karelia.ru/x86/index.shtml

15. Клуб 155 [Электронный ресурс] : Внутренние регистры – Режим доступа : http://www.club155.ru/x86internalreg-fpucommon

16. OSDev Wiki [Электронный ресурс] : Сегментные регистры – Режим  доступа : http://ru.osdev.wikia.com/wiki/Сегментные_Регистры



Информация о работе Проектирование процессора ЭВМ с архитектурой IA-32