Проектирование процессора ЭВМ с архитектурой 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 Мб (Скачать документ)


Министерство  образования и науки Российской Федерации

Федеральное государственное  бюджетное образовательное учреждение

высшего профессионального  образования

«Владимирский государственный  университет 

имени Александра Григорьевича и Николая Григорьевича Столетовых»

(ВлГУ)

Кафедра «Вычислительная  техника»

 

 

 

 

 

Курсовой проект

по дисциплине:

«ЭВМ и ПУ»

на тему:

«Проектирование процессора ЭВМ 

с архитектурой IA-32»

Вариант № 6

 

 

 

Принял:

                                                                                                 доц. Быков В.И.

 

 

 

 

 

 

Владимир 2012 

Аннотация

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

Табл. 7. Илл. 20. Библ. 18.

Annotation

During the execution of the course project has been developed processor with the architecture of the Intel-32. This processor performs the 4 teams, according to an individual variant of the task: ADD Reg8, Reg8; FCMOVB ST(0), ST(i). By this course project explanatory note providing a detailed description of the processor, three electric circuits: structural, functional and principled.

Tab. 7. Ill. 20. Bibl. 18.

 

 

Содержание

Введение 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

Приложение А. Электрическая структурная схема

Приложение Б. Электрическая принципиальная схема

Приложение В. Электрическая функциональная схема  БФТ

 

ВВЕДЕНИЕ

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

В качестве базовой архитектуры  была выбрана архитектура P6, разработанная компанией Intel и лежащая в основе микропроцессоров Pentium Pro, Pentium II, Pentium III, Celeron и Xeon. В отличие от x86-совместимых процессоров предыдущих поколений с CISC-ядром, процессоры архитектуры P6 имеют RISC-ядро, исполняющее сложные инструкции x86 не напрямую, а предварительно декодируя их в простые внутренние микрооперации, что непосредственно реализуется в данном курсовом проекте. Это позволяет снять множество ограничений набора команд x86, таких как нерегулярное кодирование команд, переменная длина операндов и операции целочисленных пересылок регистр-память. Кроме того, микрооперации исполняются не в той последовательности, которая предусмотрена программой, а в оптимальной с точки зрения производительности, а применение трёхконвейерной обработки позволяет исполнять несколько инструкций за один такт.

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

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

Проектирование и разработку процессора можно свести к следующим  аспектам:

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

Б) Описание форматов команд из заданного в варианте набора и форматов используемых в них данных. Для каждой команды необходимо описать:

1) способ кодирования  и длину;

2) тип обрабатываемых  данных и их местоположение;

3) способы используемой  адресации и правила формирования  исполнительных адресов;

4) основное содержание  команды (выполняемая операция) и  формируемые признаки результата;

5) виды и условия возникновения  особых случаев (ошибок) при выполнении  команды, а также способ реакции  на их появление (прерывания, игнорирование и т.д.).

Для каждого типа данных необходимо описать:

1) способ кодирования  и длину;

2) положение младших и  старших значащих разрядов в  коде числа;

3) расположение знакового  разряда для чисел со знаком;

4) расположение знака,  характеристики и мантиссы для  чисел с плавающей точкой;

5) диапазоны представления  чисел.

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

Г) расчет разрядности основных узлов процессора:

1) регистра команд (РгК);

2) счетчика адреса команд (СчАК);

3) регистра адреса оперативной  памяти (РгАОП);

4) регистров чтения и  записи ОП (РгЧтОП, РгЗпОП);

5) слова состояния процессора (ССП);

6) рабочих программно-недоступных регистров и др.

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

1) восемь 32-разрядных регистров  общего назначения (РОН): EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP;

2) шесть 16-разрядных сегментных  регистров CS, SS, DS, ES, FS, GS;

3) 32-разрядный указатель  команд EIP;

4) 32-разрядный регистр  флагов EFLAGS;

5) восемь 80-разрядных регистров  данных R0-R7 для чисел с плавающей  точкой, организованных в виде  кольцевого стека;

6) 16-разрядные регистры  блока с плавающей точкой: регистр  тэгов TW, регистры управления FPCR и состояния FPSR;

7) 32-разрядный системный  регистр CR0.

Д) Синтез структуры процессора в базисе указанного в задании набора МПС или ПЛИС. Описание структурных схем МПС и функциональное назначение внешних выводов для операционного блока, блока микропрограммного управления, оперативной и регистровой памяти. Определение набора управляющих сигналов, адресных входов и входов данных для МПС. Разработка схемы электрической принципиальной для блока обработки данных и оперативной памяти.

Е) Реализация алгоритма цикла работы процессора в виде содержательных схем алгоритмов. Представление в виде содержательных схем следующих алгоритмов:

1) цикла работы процессора (описывает общий порядок функционирования  процессора);

2) выборки машинных команд  из памяти;

3) вычисления исполнительных  адресов операндов;

4) выборки операндов и  записи результатов;

5) обработки прерываний;

6) выполнения четырех  машинных команд из задания.

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

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

 

1.2  Исходные данные

Разрядность процессора: 4 байта.

Емкость оперативной памяти: 4 Мбайт.

Длина слова оперативной  памяти: 8 байт.

Базис реализации процессора: МПС К1804 ВС1.

Способ адресации: косвенно-регистровая, ЕА(0:31).

Таблица 1 –Реализуемые команды

Номер команды

Код операции

Операция

Описание

07

00 h

ADD Reg8, Reg8

Reg8 + Reg8 → Reg8

D1

DА C0+i h

FMOVB ST(0), ST(i)

Если CF = 1, то ST(i)→ST(0)


 

1. ADD Reg8, Reg8:

а) Способ кодирования и  длина.

Способ кодирования: 0000 0000 : 11 reg1 reg2.

Длина: 16 бит.

Формат: RR (16 бит).

б) Тип обрабатываемых данных и их местоположение.

Команда ADD выполняет сложение двух целочисленных операндов, размерностью 8 бит. Результат сложения помещается в регистр первого операнда.

Операндом-приемником и операндом-источником являются 8-разрядные регистры.

 в) Способы используемой адресации.

При работе с памятью используется косвенно-регистровая 32-битная  адресация, указанная в задании к курсовому проекту;

г) Основное содержание команды (выполняемая операция) и формируемые  признаки результата.

Команда ADD выполняет сложение двух целочисленных операндов, размерностью 8 бит и результат сложения помещает в регистр первого операнда.

Описание команды: Reg8 + Reg8 → Reg8

Устанавливает флаги: AF, CF, OF, PF, SF и ZF;

д) Виды и условия возникновения  особых случаев (ошибок) при выполнении команды, а также способы реакции на их появление.

Если результат сложения выходит за границы операнда-приемника (возникает переполнение), то учесть эту ситуацию следует путем анализа флага CF и последующего возможного применения команды ADC.

Особые  ситуации защищенного режима:

- #GP(0), если результат находится в сегменте, запрещенном для записи, если используется недопустимый эффективный адрес операнда в памяти в сегментах CS, DS, ES, FS, GS или нулевой селектор;

- #SS(0) при использовании некорректного эффективного адреса в сегменте SS;

- #PF(Код ошибки) при страничной ошибке;

- #AC(0) при невыровненной ссылке в память при текущем уровне привилегий равном 3.

Особые  ситуации режима реальной адресации :

- #GP, если любая часть операнда находится вне пространства эффективных адресов в сегментах CS, DS, ES, FS или GS;

- #SS, если любая часть операнда находится вне пространства эффективных адресов в сегменте SS.

Особые  ситуации режима V86:

- #PF(Код ошибки) при страничной ошибке;

- #AC(0) при невыровненной ссылке в память.

2. FCMOVB ST(0), ST(i):

а) Способ кодирования и  длина.

Способ кодирования: 11011 010 : 11 000 ST(i).

Длина: 16 бит.

Формат: RR (16 бит).

б) Тип обрабатываемых данных и их местоположение.

Команда FCMOVB используется для выполнения условного переноса значений из операнда-источника в операнд-приемник при выполнении условия CF = 1.

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