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

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

Описание работы

Цель курсового проекта состоит в приобретении практических навыков в проектировании операционного и управляющего автоматов процессора ЭВМ в соответствии с заданными в техническом задании архитектурными особенностями, а также в разработке технической документации, представленной пояснительной запиской и чертежами, выполненными в соответствии с ЕСКД.

Содержание работы

Введение
Задание на курсовой проект………………………………………………... 5
Общие аспекты проектирования процессора……………………. 5
Исходные данные………………………………………………….. 6
Архитектура процессора….………..……...…………..………………….. 7
Форматы команд…………………….……………………………… 7
Форматы данных…………….………………………………..……... 14
Расчет и выбор разрядности основных узлов процессора……… 16
Регистровая модель………….……………………………………... 17
Виды адресации………………………………………………………. 22
Структурная организация процессора……………..………………… 25
Общая структура процессора………………………………………... 25
Выбор и обоснование элементной базы……………..…………….. 25
Блоки обработки данных……………………………………….…… 26
Управляющий автомат………………………………..…………….. 30
3.4.1 УА с жесткой логикой……………….…………………….. 30
3.4.2 УА с микропрограммным управлением………………….. 33
Регистровая память (РП)………………….……………………….. 36
Оперативная память (ОП)…………………….…………………… 38
Блок интерфейсов (БИНТ)………………………..………………… 38
Содержательные схемы алгоритмов работы процессора….……………. 39
Общий алгоритм цикла работы процессора………………………... 39
Выборка команд………………………………..……………………. 41
Формирование исполнительного адреса и выборка
операндов……………….…………………………..……………………. 47
Обработка прерываний………………………………………………. 54
Выполнение четырех операций из индивидуального задания……. 55
Микропрограммное управление………….………..…………………. 64
Формат микрокоманды………………………………………………. 64
5.1.1 Зона БФТ…………..…………….………………………. 65
5.1.2 Зона БПТ……………..………...……………………………. 68
5.1.3 Зона БМУ……………………….…………………………… 6
5.1.4 Зона БИНТ…………………….…………………………….. 70
5.1.5 Зона ОП……………………..….……………………………... 7
5.1.6 Зона CONST…………………………………………………… 74
Микропрограмма операции обработки чисел в формате с
плавающей точкой…………………………………..…………………... 74
Заключение…………………………………………………………………... 80
Литература……………………………………………………………………. 81

Файлы: 1 файл

ПЗ.docx

— 1.90 Мб (Скачать файл)

    МП  – микропрограммная память представляет собой быстродействующее ПЗУ.

    РгМК – регистр микрокоманд.

    РгК – регистр команд построен на 6 микросхемах К1804ИР1.

    БФЛУ  – блок фиксации логических условий.

    МКУ – мультиплексор кода условий  – производит выбор анализируемого условия.

    Выбор следующего адреса определяется инструкцией  УПМ и значением логических условий, к которым относятся флажки Z, N, V, C операционных блоков, значение триггера перехода ТП, сигнал занятости ОП Z(ОП) . Выбор анализируемого условия выполняется МКУ.  

    

    Рис. 3.8.Блок микропрограммного управления

    3.5 Регистровая память

    Согласно  регистровой модели и архитектуре  регистровая память должна включать следующие регистры ССП ( СR0), EFLAGS, EIP – 32 разрядные, SR, TR, CR – 15 разрядные, ST() – 80 разрядные. РОНы реализованы внутри МПС, поэтому их описание не приводится. Также к регистровой памяти относятся регистры РгК, РгБ, РАОП, РгЗпОП, РгЧтОП.

    32х  разрядный регистр ССП(CR0) и регистр флагов EFLAGS, предусмотренные архитектурой IA-32, построены на 4 микросхемах К1804ИР2.

    Счётчик команд EIP( 32 разряда) построен на четырёх микросхемах К1804ИР2. Счетчик адреса команд, входящий в EIP,  представляет собой 23-разрядный регистр.

    Status Register, TAG Register и Control Register также построены на 2 микросхемах К1804ИР2 каждый.

    Регистр буфера представляет собой 56-разрядный  регистр, который используется для  предвыборки команды, с целью  уменьшения количества обращений в ОП. Построен на 7 микросхемах К1804ИР2.

    Регистры  с плавающей точкой представляют собой 8 80-разрядных регистров, которые  используются для хранения чисел  с ПТ. Выполнены на 20 микросхемах  К1804ИР2.

    Регистр данных состоит из 32-разрядного регистра и служит для хранения операнда, извлеченного из ОП. Построен на 4 микросхемах К1804ИР2.

    Описание  К1804ИР2.

    Микросхема  К1804ИР2 – 8 разрядный параллельный регистр, предназначеннвй для применения в центральных процессорах.

    Таблица 3.4 – Назначение выводов К1804ИР2.

Вывод Обозначение Тип вывода Функциональное  назначение выводов
1 R Вход Обнуление регистра
2 DY0 Выход Данные, 0-й разряд
3 D0 Вход Данные, 0-й разряд
4 D1 Вход Данные, 1-й разряд
5 DY1 Выход Данные, 1-й разряд
6 DY2 Выход Данные, 2-й разряд
7 D2 Вход Данные, 2-й разряд
8 D3 Вход Данные, 3-й разряд
9 DY3 Выход Данные, 3-й разряд
10 C Вход Тактовый сигнал
11 GND - Общий
12 DY4 Выход Данные, 4-й разряд
13 D4 Вход Данные, 4-й разряд
14 D5 Вход Данные, 5-й разряд
15 DY5 Выход Данные, 5-й разряд
16 DY6 Выход Данные, 6-й разряд
17 D6 Вход Данные, 6-й разряд
18 D7 Вход Данные, 7-й разряд
19 DY7 Выход Данные, 7-й разряд
20 EZDY Вход Разрешение  выходов данных
21 EWR Вход Разрешение  записи
22 Uoc - Напряжение  питания

    3.6  Оперативная память

      Слово оперативной памяти составляет 8 байт.. Сама оперативная память рассматривается как черный ящик. Слово выбирается или записывается за одно обращение к памяти при помощи мультиплексоров и демультиплексоров. В состав ОП входят запоминающее устройство( РгЗпОП и РгЧтОП), регистр адреса. Чтение и запись в ОП инициируются сигналами ЧтОП и ЗпОп соответственно. 20 разрядный РгАОП, который хранит адрес команды, которая выполняется в текущий момент, построен на 5 микросхемах К1804ИР1. РгЧтОП и РгЗпОП построены на восьми  8 разрядных микросхемах К1804ИР2.

    3.7 Блок интерфейса. 

    БИНТ  служит для связи блоков процессора. Он состоит из мультиплексоров, лдемультиплексоров и логических схем согласующих передачу данных и управляющих сигналов.

    Посредством БИНТ предоставляется возможность подачи на РгК необходимых разрядов из РгЧтОП или РгБ, осуществляется считывание необходимых байтов из РгК для обработки в БОД, выбор шин входных и выходных данных для БОД, запись в РгЗпОП слово, согласование работы РГЗпОП и ОП.

    Также посредством БИНТ происходит выборка  адресов регистров в БОД. Для  пересылки данных из БПТ в БФТ  и обратно также используется БИНТ. Управление БИНТ осуществляется подачей управляющих сигналов из БМУ. Для управления записью в  регистры используются соответствующие  линии. Выбор подаваемых данных на шины данных МПС также осуществляется посредством БИНТ. ( выбор источников для шин DA и DB)/

 

    4 Содержательные схемы  алгоритмов работы  процессора

 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.3. Выборка команды (досчитывание 1 и 2) 

    

    Рис. 4.4. Выборка команды (досчитывание 3)

    

    Рис. 4.5. Определение количества считываемых байтов

 

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

  

 Рис. 4.6. Декодирование и определение последовательности действий для четырёх команд задания 
 
 
 

    4.3 Формирование исполнительного  адреса и выборка  операндов

    При формировании ИА анализируется поле R/M, где указывается со значением какого из регистров будет складываться смещение, а также режим работы процессора (CR0(0)). В зависимости от этого значения, режим может оказаться реальным или защищённым, и соответственно алгоритм формирования ИА будет отличаться. При недопустимых значения поля R/M или выхода ИА за пределы ОП, вырабатываются сигналы прерывания и вызывается обработчик прерываний. ИА формируется в специальном регистре адреса данных РгАД. Затем из него извлекаются необходимые биты для обращения к соответствующему слову ОП.

  

    Рис. 4.8. Формирование исполнительного адреса 

 

Рис. 4.9. Выборка операндов (ВО1)

    

    Рис. 4.10. Выборка операндов (ВО3)

    

    Рис. 4.11. Выборка операндов (ВО4)

    

    Рис. 4.12. Выборка непосредственного операнда из РгК

    

    Рис. 4.13. Выборка операнда из РОН (2 байта)

    

    Рис. 4.14. Выборка операнда из РОН (4 байта) 
 
 
 
 
 
 
 

    4.4 Обработка прерываний

    При обработке прерываний сначала происходит сохранение сегментных регистров, затем РОНов и наконец регистра ССП, СчАК и регистра флагов EFLAGS в стек.

    

    Рис. 4.7. Обработка прерываний

    4.5 Выполнение четырех операций из индивидуального задания

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

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