Процессор ЭВМ с архитектурой IA-32
Заказать уникальную курсовую работу- 80 80 страниц
- 7 + 7 источников
- Добавлена 24.12.2014
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Введение 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 (k1
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 используется Система Сохранения и Восстановления (ССВ) для хранения информации о состоянии процессора. ССВ включает в себя регистры общего назначения, регистры состояния, контрольные регистры и другие специальные регистры.