Автор работы: Пользователь скрыл имя, 15 Марта 2012 в 14:37, курсовая работа
Цель курсового проекта состоит в приобретении практических навыков в проектировании операционного и управляющего автоматов процессора ЭВМ в соответствии с заданными в техническом задании архитектурными особенностями, а также в разработке технической документации, представленной пояснительной запиской и чертежами, выполненными в соответствии с ЕСКД.
Введение
Задание на курсовой проект………………………………………………... 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 Зона БМУ……………………….…………………………… 69
5.1.4 Зона БИНТ…………………….…………………………….. 70
5.1.5 Зона ОП……………………..….……………………………... 74
5.1.6 Зона CONST…………………………………………………… 74
Микропрограмма операции обработки чисел в формате с
плавающей точкой…………………………………..…………………... 74
Заключение…………………………………………………………………... 80
Литература……………………………………………………………………. 81
Таблица 2.5 – Режимы адресации, выбираемые байтами ModR/M SIB(32)
Байты ModR/M |
Адресация | |
Поле Mod B7 b6 |
Поле R/M b2 b1 b0 | |
0 0 |
Reg |
Косвенная регистровая, EA=[Reg] |
1 1 |
Reg |
Регистровая, EA=Reg |
Исключения | ||
0 0 |
1 0 1 |
Прямая, EA=Disp32 |
0 0 |
1 0 0 |
Базовая индексная(применяется байт SIB), EA=[Base]+[Index]×Scale. |
Таблица 2.6 – Режимы адресации, выбираемые байтами ModR/M SIB(16)
Быйты ModR/M |
Адресация | |
Поле Mod b7 b6 |
Поле R/M b2 b1 b0 | |
0 0 |
Reg |
Косвенная регистровая, EA=[Reg] |
1 1 |
Reg |
Регистровая, EA=Reg |
Исключения | ||
0 0 |
1 1 0 |
Прямая, EA=Disp16 |
3 Структурная организация процессора
3.1 Общая структура процессора
Структурная схема процессора представлена на Рис.3.1. В состав процессора входят: блок микропрограммного управления (БМУ), арифметико-логическое устройство(АЛУ), которое может разделяться на операционный блок с фиксированной точкой и операционный блок с плавающей точкой. Обмен между блоками и также связь между процессором и ОП осуществляется через блок интерфейса (БИНТ). Управляющие сигналы передаются из БМУ в АЛУ (БФТ и/или БПТ) и ОП по шине управления (ШУ). Осведомительные сигналы (ОС) из БФТ, БПТ и ОП поступают в БМУ по шине ШОС.
Рис.3.1.Структурная схема процессора
3.2 Выбор и обоснование элементной базы
Для проектирования МП на архитектуре IA-32 был выбран микропроцессорный комплект серии 1804. Сильными сторонами этого комплекта являются микропрограммируемость и возможность разрядного расширения . Высокая производительность реализуется за счёт применения ТТЛШ-технологии. Разнообразие схем, ориентированных на применение в различных устройствах, обеспечивает большую архитектурную гибкость при разработке вычислительной аппаратуры.
Блоки обработки данных построены на схемах К1804ВС2, дополнены схемами ускоренного переноса К1804ВР1.
БМУ построен на схеме К1804ВУ4 . Регистровая память организована на 4х разрядных схемах К1804ИР1 и на 8 разрядных схемах К1804ИР2.
3.3 Блоки обработки данных
3.3.1 Блок с фиксированной точки
БФТ построен на 8 микропроцессорных секциях К1804ВС2, так как их разрядность 4 бита. Они дополнены 3 схемами ускоренного переноса К1804ВР1., которые уменьшают время вычислений при переносе разряда из одной МПС в другую.
В данной МПС находится РЗУ, содержащее 16 четырёх разрядных регистра. 8 из них будут использоваться как РОНы.
МПС содержит доступные снаружи буферы DY и DB. Корпус имеет 48 выводов. АЛУ выполняет 16 простых операций (7 арифметических, 7 логических, константа 0 и константа 1), а также 9 специальных функций, среди которых есть и многотактные операции (умножение, деление).
Источники операндов задаются сочетанием сигналов на управляющих входах , и I0. Это могут быть РА, РВ, DA, DB, PQ в следующих сочетаниях: РА — РВ PA —DB, PA-PQ (EA = 0), DA — РВ, DA - DB, DA —PQ ( = 1). В случаях РА — PQ и DA — PQ возможны варианты обмена по шине DB, работающей на выдачу ( = 0) либо выключенной ( = 1). БФТ связан с ОП, БМУ через шины данных DA, DB, DY, шину МК. На выходе МПс вырабатываются флаги результата: перенос С, переполнение V, знак N, признак нуля Z.
БФТ применяется для выполнения операций над числами с фиксированной точкой.
Рис.3.2. Структурная схема МПС К1804ВС2
Особенность сдвигателей заключается в том, что на них реализуются не только логические, но и арифметические сдвиги. Арифметические сдвиги не затрагивают знаковый разряд.
В РЗУ МПС К1804ВС2 можно записывать (по адресу В) либо результат АЛУ (сдвинутый или несдвинутый), либо данные с шины DY.
Выделение знакового разряда при арифметических сдвигах, особенности выполнения специальных функций приводят к тому, что МПС должна работать по-разному, в зависимости от того, в какой позиции она находится — старшей, средней или младшей. При создании многоразрядной схемы МПС программируется по занимаемой позиции. Для этого предназначены специальные выводы БИС: LSS и WRITE/MSS. Линия LSS — это вход задания младшей позиции: LSS = 0 — младшая МПС, LSS=1—средняя или старшая МПС. Двунаправленная линия WRITE/MSS имеет два значения: в младшей МПС (при LSS = 0) это выход WRITE для управления входом (разрешение записи в РЗУ) всех секций; при LSS=1 эта линия становится входом выбора старшей МПС (MSS=0) или средней МПС (MSS = 1).
Кроме рассмотренных выше управляющих входов, имеются входы (разрешение выдачи результата АЛУ па шину DY) и (разрешение записи в PQ). Выход признака нуля Z в некоторых специальных функциях используется как дополнительный управляющий вход. Так как выходы АЛУ N (знак) и OVR (переполнение) используются только в старшей МПС, а выходы и для формирования ускоренного переноса — только в средних и младшей МПС, то эти четыре сигнала мультиплексируются в две линии /N и /OVR в зависимости от позиции МПС. Всего для управления секцией К1804ВС2 требуется 22 разряда микрокоманды (не считая управления переносом и сдвигами).
Таблица 3.1 - Стандартные функции, реализуемые МПС.
Сигналы на входах выбора функции |
Функция АЛУ F | |||
I4 |
I3 |
I2 |
I1 | |
0 |
0 |
0 |
0 |
Специальные функции при IO=0 |
0 |
0 |
0 |
0 |
1111 при IO=1 |
0 |
0 |
0 |
1 |
S-R-1+CO |
0 |
0 |
1 |
0 |
R-S-1+CO |
0 |
0 |
1 |
1 |
R+S+CO |
0 |
1 |
0 |
0 |
S+CO |
0 |
1 |
0 |
1 |
S+CO |
0 |
1 |
1 |
0 |
R+CO |
0 |
1 |
1 |
1 |
R+CO |
1 |
0 |
0 |
0 |
0000 |
1 |
0 |
0 |
1 |
Ri^Si |
1 |
0 |
1 |
0 |
Ri+Si |
1 |
0 |
1 |
1 |
Ri+Si |
1 |
1 |
0 |
0 |
Ri+Si |
1 |
1 |
0 |
1 |
RiVSi |
1 |
1 |
1 |
Ri^Si | |
1 |
1 |
1 |
1 |
RiVSi |
Таблица 3.2 - Специальные функции, реализуемые МПС.
Входы |
Функция |
Функция АЛУ F |
Функция Сд. F |
Состояние выводов |
Функции Сд. Q и Рг. Q |
Состояние выводов | |||||||
I8 |
I7 |
I6 |
I5 |
PF3 |
PF0 |
PQ3 |
PQ0 |
W | |||||
Ст. МПС |
Др. МПС | ||||||||||||
0 |
0 |
0 |
0 |
Умножение без знака |
S+C0, если Z=0, R+S+C0, если Z=1 |
Лог. F/2→Y |
X |
Вход |
F0 |
Лог. Q/2→Q |
Вход |
Q0 |
0 |
0 |
0 |
1 |
0 |
Умножение в дополнительном коде |
S+C0, если Z=0, R+S+C0, если Z=1 |
Лог. F/2→Y |
X |
Вход |
F0 |
Лог. Q/2→Q |
Вход |
Q0 |
0 |
0 |
1 |
0 |
0 |
Прибавление к числу единицы или двойки |
S+1+C0 |
F→Y |
Вход |
Вход |
Четность |
Хранение |
X |
X |
0 |
0 |
1 |
0 |
1 |
Преобразование числа в |
S+C0, если Z=0, S+C0, если Z=1 |
F→Y |
Вход |
Вход |
Четность |
Хранение |
X |
X |
0 |
0 |
1 |
1 |
0 |
Умножение в дополнительном коде (последний цикл) |
S+C0, если Z=0, S–R–1–C0, если Z=1 |
Лог. F/2→Y |
Х |
Вход |
F0 |
Лог. Q/2→Q |
Вход |
Q0 |
0 |
1 |
0 |
0 |
0 |
Нормализация слова одной длины |
S+C0 |
F→Y |
F3 |
F3 |
X |
Лог. 2Q→Q |
Q3 |
Вход |
0 |
1 |
0 |
1 |
0 |
Нормализация слова двойной |
S+C0 |
Лог. 2 F→Y |
R3+F3 |
F3 |
Вход |
Лог. 2Q→Q |
Q3 |
Вход |
0 |
1 |
1 |
0 |
0 |
Деление в дополнительном коде |
S+R+C0, если Z=0, S–R–1+C0, если Z=1 |
F Лог. 2 F→Y |
R3+F3 |
F3 |
Вход |
Лог. 2Q→Q |
Q3 |
Вход |
0 |
1 |
1 |
1 |
0 |
Деление в дополнительном коде, коррекция |
S+R+C0, если Z=0, S–R–1+C0, если Z=1 |
F→Y |
F3 |
F3 |
X |
Лог. 2Q→Q |
Q3 |
Вход |
0 |
3.3.1 Блок с плавающей точкой
БПТ выполняет операции над числами с плавающей точкой, выполняет их приведение для последующей обработки.
БПТ построен на 16 МПС (К1804ВС2). Регистры РЗУ используются как рабочие. Всего РЗУ состоит из 16ти 64 разрядных регистров. Через мультиплексор из ST , а потом через шину DB, на БОД подаются 64 разряда мантиссы. Для определения вершины стека используется регистр SR. Через шину DY идёт обратная запись в стек 64 разрядов мантиссы. Через шину DA поступают данных из других источников данных. Схема ФУП используется для проверки условий перехода.
Построение БОД для плавающей точки и схема соединения аналогична БФТ.
Рис.3.3. Структурная схема БПТ
3.4 Управляющий автомат (УА)
3.4.1 УА с жесткой логикой.
Управляющий автомат
с жесткой логикой представляет
собой конечный автомат, формирующий
выходные сигналы управления в зависимости
от текущего состояния и значений
осведомительных входных
Составим управляющий автомат с жесткой логикой для выполнения команды SUB вычитания чисел в формате с фиксированной точкой.
Составляем отмеченную ГСА:
В условной вершине записываем элемент из множества логический условий X. В операторные вершины записываем операторы (микрооперации) y1 и y2 соответственно из множества микроопераций Y. Начальную и конечную вершины отмечаем символом a1, оставшиеся операторные вершины обозначаем а2 и а3.Находим пути перехода между операторными вершинами.
ГСА автомата имеет условную вершину: x - CR0 и 2 операторные вершины: a1 – Mem16 :=Mem16 - Reg[0..15], a2 – Mem32 :=Mem32 - Reg[0..31]
Рис. 3.4. ГСА алгоритма
Рис. 3.5. Граф автомата Мура
Так как имеется три состояния, то количество триггеров равно 2. (N=]log2n[)
Построение управляющего автомата будем осуществлять на D – триггере.
Таблица 3.3 - Структурная таблица.
ai |
Код ai |
ai+1 |
Код ai+1 |
x |
y |
Сигналы возбуждения D1 D2 |
Q1 Q2 |
Q1 Q2 | |||||
a0 |
0 0 |
a1 |
0 1 |
x |
0 1 | |
a0 |
0 0 |
a2 |
1 0 |
x |
1 0 | |
a1 |
0 1 |
a0 |
0 0 |
1 |
y1 |
0 0 |
a2 |
1 0 |
a0 |
0 0 |
1 |
y2 |
0 0 |