Автор работы: Пользователь скрыл имя, 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
Министерство образования и науки Российской Федерации
Федеральное государственное
бюджетное образовательное
высшего профессионального образования
«Владимирский государственный университет
имени Александра Григорьевича и Николая Григорьевича Столетовых»
(ВлГУ)
Кафедра «Вычислительная техника»
Курсовой проект
по дисциплине:
«ЭВМ и ПУ»
на тему:
«Проектирование процессора ЭВМ
с архитектурой IA-32»
Вариант № 6
Принял:
Владимир 2012
Аннотация
В ходе выполнение данного
курсового проекта был
Табл. 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