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

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Электроника
  • 80 80 страниц
  • 7 + 7 источников
  • Добавлена 24.12.2014
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Содержание
Введение 4
1 Задание на КП 5
1.1 Общие аспекты проектирования процессора 5
1.2 Исходные данные для проектирования 6
2 Архитектура процессора 7
2.1 Форматы команд 7
2.2 Форматы данных 14
2.3 Расчет и выбор разрядности основных узлов процессора 16
2.4 Регистровая модель 17
2.4.1 Структура ССП 17
2.4.2 Регистр статуса (Status Register) 20
2.4.3 Контрольный регистр (Control Register). 20
2.4.4 Регистр содержимого стека FPU (TAG Register). 21
2.4.5 Регистры БОД 21
2.5 Виды адресации 23
3 Структурная организация процессора 26
3.1 Общая структура процессора 26
3.2 Выбор и обоснование элементной базы проектируемого процессора. 26
3.3 Блоки обработки данных 27
3.3.1 Блок с фиксированной точки 27
3.3.1 Блок с плавающей точкой 32
3.4 Управляющий автомат (УА). 33
3.4.1 УА с жесткой логикой. 33
3.4.2 УА с микропрограммным управлением 35
3.5 Регистровая память 38
3.6 Оперативная память 40
3.7 Блок интерфейса. 41
4 Содержательные схемы алгоритмов работы процессора 42
4.1 Общий алгоритм цикла работы процессора 42
4.2 Выборка команд 44
4.3 Формирование исполнительного адреса и выборка операндов 49
4.4 Обработка прерываний 55
4.5 Выполнение четырех операций из индивидуального задания 56
5 Микропрограммное управление 65
5.1 Формат микрокоманды 65
5.1.1 Зона БФТ. 66
5.1.2 Зона БПТ. 69
5.1.3 Зона БМУ. 70
5.1.4 Зона БИНТ. 71
5.1.5 Зона ОП 74
5.1.6 Зона CONST 74
5.2 Микропрограмма операции обработки чисел в формате с плавающей точкой 75
Заключение 81
Литература 82


Фрагмент для ознакомления

На этапе выполнения команды также может возникнуть прерывание. После этого цикл работы процессора повторяется, пока не возникнет нулевой сигнал ПУСК.Данный алгоритм работы представлен на рисунке 4.1.Рисунок 4.1 – Основной общий цикл работы процессора.4.2 Выборка командПеред началом выборки команды анализируется триггер перехода (ТП). Это позволяет определить, нужно ли обращаться к оперативной памяти или можно досчитать недостающую часть команды из регистра буфера (РгБ). При естественном порядке следования команд выход ТП принимает значение 0,в противном же случае он равен 1 (например, при обработке прерываний происходит переход) и необходимо обращениек ОП для считывания следующей команды. Соответствующий начальный байт считывания из слова ОПвыбираетсяв зависимости от последних байтов СчАК. В случае,если команда начинается с 5, 6 или 7 (нумерация с 0) байта, может возникнуть ситуация, что нужно будет досчитать команду с нового слова оперативной памяти, тогда в работу вступают алгоритмы 1, 2 и 3, где производится анализ по уже считанным байтам, что это за команда, какова её длина и определяется, нужно ли переходить на новое слово из ОП. В зависимости от того, сколько байтов занимает команда (блок условия определения количества байтов в команде), СчАК увеличивается на соответствующее значение.Буфер позволяет значительно сократить количество обращений к ОП, так как в нём хранится конечная часть слова ОП, где находятся недостающие байты следующей команды.Алгоритмы 1, 2 и 3 необходимы при ситуации, когда в регистр команд РГК загружено 3, 4 и 5 байтов команды соответственно и может оказаться, что нужно досчитать ещё 1, 2 или 3 байта. Рисунки 4.2-4.5 показывают алгоритмы, реализующие описанные действия.Рисунок 4.2 - Выборка команды (первая ступень).Рисунок 4.3 - Выборка команды (досчитать 1 и 2).Рисунок 4.4 - Выборка команды (досчитать 3).Рисунок 4.5 –Алгоритм определения количества считываемых байтов.Порядок действий для каждой команды отличается, поэтому после декодирования происходит разветвление алгоритма. Необходимо заметить, что отличия не только в самой обработке данных, но и в алгоритмах их формирования, извлечения и записи результатов.Рисунок 4.6 - Декодирование и определение последовательности действий для четырёх команд задания.4.3 Формирование исполнительного адреса и выборка операндовПри формировании ИА анализируется поле r/m, где указывается со значением какого из регистров будет складываться смещение, а также режим работы процессора (CR0(0)). В зависимости от этого значения, режим может оказаться реальным или защищённым, и соответственно алгоритм формирования ИА будет отличаться. При недопустимых значения поля r/m или выхода ИА за пределы ОП, вырабатываются сигналы прерываний и вызывается обработчик прерываний. ИА формируется в специальном регистре адреса данных РгАД. Затем из него извлекаются необходимые биты для обращения к соответствующему слову ОП. Алгоритмы к описанию представлены на рисунках 4.7-4.13.Рисунок 4.7 –Алгоритм формирования исполнительного адреса.Рисунок4.8 - Выборка операндов (алгоритм ВО1)Рисунок4.9 - Выборка операндов (алгоритм ВО3).Рисунок4.10 - Выборка операндов (алгоритм ВО4)Рисунок4.11 - Выборка непосредственного операнда из РгК.Рисунок4.12 - Выборка операнда из регистров общего назначения(2 байта).Рисунок4.13 - Выборка операнда из регистра общего назначения(4байта).4.4 Обработка прерыванийПри обработке прерываний сначала происходит сохранение сегментных регистров, затем РОНов и наконец регистра ССП, СчАК и регистра флагов EFLAGS в стек. Алгоритм представлен на рисунке 4.14.Рис. 4.14 –Алгоритм реализации обработки прерываний.4.5 Выполнение четырех операций из индивидуального заданияВыполнение команд с фиксированной точкой не представляет сложности, поскольку операции в них реализуются в микропроцессорной секции (вычитание и логическое ИЛИ). Соответственно, алгоритмы также несложны в описании. Команда обмена данными между регистром и памятью реализуется в небольшом алгоритме. При написании алгоритмов учтено, что процессор может работать в различных режимах, путёмпроектирования регистра ССП.Формирование флагов результата происходит на аппаратном уровне. Это не требует записи на уровне микропрограммирования и не отражается на алгоритмах выполнения операций.Составление алгоритма для чисел с плавающей точкой более сложная задача для проектирования. Мантисса и знаки обрабатываются в БПТ (РСМм, Р1м, РСМз, Р1з), порядок числа обрабатывается в БФТ (для упрощения понимания алгоритма сформируем соответствие обозначений Р1р, РСМр – это порядки в БФТ, Рр1 это РгП, РСМр - это РгЛОП- операнд из памяти). Изначально в РСМр целое число со знаком.Первым шагом является приведение целого числа к формату числа с плавающей точкой: определение знака числа (находится ли знак в дополнительном коде и нужно ли его преобразовывать в прямой код, так как мантисса хранится в прямом коде), нахождение мантиссы порядка (сдвиг числа влево с подсчётом количества совершённых сдвигов).Затем реализуется сам алгоритм деления с учётом возможных особых случаев (переполнение, антипереполнение порядка, потеря точности, деление на 0).Кратко алгоритм можно описать так:1. Производится выравнивание порядков чисел. Порядок меньшего (по модулю) числа принимается равным порядку большего числа, а мантисса меньшего числа сдвигается вправо на число разрядов, равное разности порядков чисел.2. Производится деление мантисс, в результате чего получается мантисса частного.3. Порядок результата принимается равным порядку большего числа.4. Полученноечастное нормализуется.При сравнении порядков имеют место пять случаев: 1) px-py>m (m— число разрядов мантиссы). В качестве результата суммирования сразу же может быть взято первое слагаемое, так как при выравнивании порядков все разряды мантиссы второго слагаемого принимают нулевое значение;2) px-py>m. В качестве результата суммирования может быть взято второе слагаемое;3) .px-py=0. Можно приступить к суммированию мантисс;4) px-px=k1 (k13FFFh, то переходБФТБМУCONSTВАЛУИСТРЕЗУВПУСЛИУСААП1614615131Е3FFFhРСМрS-R-1+C0DAБез записиС0=1Zv (N+V)ИнверсияУсл. пер.Адрес пер.07Если РСМр=0, то переходБФТБМУCONSTВАЛУИСТРЕЗУВПУСЛУСААП16146113130РСМрS-R-1+C0DAБез записиС0=1Z=1Усл. пер.Адрес пер.08Если РСМр>0, то переходБФТБМУCONSTВАЛУИСТРЕЗУВПУСЛИУСААП1614616130D0РСМрS-R-1+C0DAБез записиС0=1Zv (N+V)ИнверсияУсАдрес Адрес пер.09Если СчТ<>0, то переходБПТБМУCONSTВАЛУИСТРЕЗУВПУСЛИУСААП514611130В0СчТS-R-1+C0DAБез записиС0=1РавныИнверсияУсл. пер.Адрес пер.0AРСМр=Р1рБФТБМУАВБУАП1516113Р1рРСМрБезусл. пер.Адрес пер.0BРСМм=ARS(РСМм,1)БПТВСДВ40РСМмАС вправо0CСчТ=СчТ+1БПТБМУВАЛУУВПБУАП541109СчТS+C0С0=1Безусл. пер.Адрес перехода0DЕсли СчТ<>0, то переходБПТБМУCONSTВАЛУИСТРЕЗУВПУСЛИУСААП514611130F0СчТS-R-1+C0DAБез записиС0=1РавныИнверсияУсл. пер.Адрес пер.0EРСМр=РСМр+Р1рБФТБМУАВАЛУУВПБУАП151630113Р1рРСМрR+S+C00Безусл. пер.Адрес пер.0FР1м=ARS(Р1м, 1)БПТВСДВ20Р1рАС вправо10СчТ=СчТ-1БПТБМУCONSTВАЛУИСТУВПБУАП514110D1СчТS-R-1+C0DAC0=1Безусл. пер.Адрес пер.11Если РСМрР1з, то переходБПТБМУАВАЛУУВПУСЛИУСААП131111315Р1зРСМзS-R-1+C0C0=1Z=1ИнверсияУсл. пер.Адрес пер.14РСМм=РСМм+Р1мБПТБМУАВАЛУУВПБУАП243011СР1мРСМмS+R+1C0=0Безусл.пер.Адрес пер.15Если РСМз=0, то переходБПТБМУCONSTВАЛУИСТРЕЗУВПУСЛУСААП3146113190РСМзS-R-1+C0DAБез щаписиС0=1РавныУсл. пер.Адрес пер.16Если Р1м<>РСМм, то переходБПТБМУАВАЛУУВПУСЛУСААП2411531СР1рРСМрS-R-1+C0C0=1Есл.меньшеУсл.пер.Адрес пер.17РСМз=1БПТCONSTВИСТРЕЗ3411РСМзDAРЗУ18РСМм=!РСМм+1БПТБМУВАЛУУВПБУАП45111СРСМм!S+C0C0=1Безусл.пер.Адрес.пер.19Если РСМм<Р1м, то переходБПТБМУАВАЛУУВПУСЛУСААП4211531СР1мРСМмS-R-1+C0С0=1Есл.меньшеУсл. пер.Адрес пер.1AРСМз=1БПТCONSTВИСТРЕЗ3411РСМзDAРЗУ1BРСМм=!РСМм+1БПТБМУВАЛУУВПБУАП45111СРСМм!S+C0С0=1Безусл.пер.Адрес пер.1CЕсли V=1, то переходБМУУСЛУСААП3322V=1Усл.пер.Адрес пер.1DЕсли РСМ(63)=0, то переходБМУУСЛИУСААП2131FN=1ИнверсияУсл.пер.Адрес пер.1EEND1FРСМм=ALS(РСМм, 1)РСМр=РСМр-1БФТБПТCONSTВАЛУИСТУВПВСДВ16141481РСМрS-R-1+C0DAC0=1РСМрАС влево20Если N=0, то переходБМУУСЛИУСААП2131DN=1ИнверсияУсл. пер.Адрес пер.21Вызов обработчика прерываний антипереполнения22РСМм=ARS(РСМм,1)РСМр=РСМр+1БФТБПТВАЛУУВПВСДВ164140РСМрS+C0С0=1РСМмАС вправо23Если РСМр(15)=0, топереходБМУУСЛИУСААП2131EN=1ИнверсияУсл. пер.Адрес пер.24Обработка прерываний переполнения порядкаЗаключениеВ ходе реализации данного курсового проекта приобретены навыки построения операционного и управляющего автоматов процессора ЭВМ общего назначения. Результатом схемотехнического проектирования стал разработанный тридцатидвухразрядный микропроцессор с архитектурой IA-32, построенный на базе микропроцессорных секций К1804ВС2, способный выполнять четыре команды: SUB, OR, MOVи FIDIV. Также были приобретены навыки составления текстовых конструкторских документов и выполнения чертежей в соответствии со стандартами ЕСКД.Несомненным достоинством данного курсового проекта является то, что секционированный микропроцессор былспроектированв полном объёме, а не рассматривался какой-либо его отдельный блок. Определились связи и порядок взаимодействия его компонентов.На последних стадиях проекта разработаны алгоритмы цикла работы процессора по реализации совокупности команд и выполнены схемы из технического задания.Литература1. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 1: Basic Architecture, 470 p. 253665.pdf2. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M, 758 p. 253666.pdf3. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B: Instruction Set Reference, N-Z, 618 p. 253667.pdf4. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System Programming Guide, Part 1, 646 p. 253668.pdf5. ГОСТ 2.105-95. Единая система конструкторской документации.Общие требования к текстовым документам.6.Хамахер К., Вранешич З.,Заки С. Организация ЭВМ. – 5-е изд.- С-Пб.: Издательская группа BHV, 2003.- 848 с. - ISBN 5-8046-0162-8.7. Assembler. Учебник для вузов. 2-е изд. / В. И. Юров — СПб.: Питер, 2003. —637 с.: ил.

Литература

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. ГОСТ 2.105-95. Единая система конструкторской документации. Общие требования к текстовым документам.
6.Хамахер К., Вранешич З., Заки С. Организация ЭВМ. – 5-е изд.- С-Пб.: Издательская группа BHV, 2003. - 848 с. - ISBN 5-8046-0162-8.
7. Assembler. Учебник для вузов. 2-е изд. / В. И. Юров — СПб.: Питер, 2003. — 637 с.: ил.

Вопрос-ответ:

Что такое архитектура IA 32?

Архитектура IA 32 - это архитектура процессора, которая используется в микропроцессорах семейства Intel x86. Она стала стандартной архитектурой для большинства персональных компьютеров.

Какие форматы команд используются в процессоре с архитектурой IA 32?

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

Какие форматы данных поддерживает процессор с архитектурой IA 32?

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

Как осуществляется расчет и выбор разрядности основных узлов процессора с архитектурой IA 32?

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

Какие регистры входят в регистровую модель процессора с архитектурой IA 32?

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

Какой формат команд используется в процессоре с архитектурой IA 32?

В процессоре с архитектурой IA 32 используется переменная длина команды (от 1 до 15 байт) вместе с префиксами и опкодом для определения операции, которую нужно выполнить.

Какие форматы данных поддерживает процессор с архитектурой IA 32?

Процессор с архитектурой IA 32 поддерживает различные форматы данных, такие как 8-битные, 16-битные, 32-битные и 64-битные целочисленные значения, а также 32-битные и 64-битные числа с плавающей запятой.

Как выбирается разрядность основных узлов процессора при его проектировании?

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

Какая структура используется для хранения информации о состоянии процессора в архитектуре IA 32?

В архитектуре IA 32 используется Система Сохранения и Восстановления (ССВ) для хранения информации о состоянии процессора. ССВ включает в себя регистры общего назначения, регистры состояния, контрольные регистры и другие специальные регистры.