Смекни!
smekni.com

Проектирование процессора ЭВМ с архитектурой IA-32 (стр. 4 из 9)

Косвенная регистровая адресация (registerindirect). Адрес операнда в памяти содержится в одном из восьми регистров общего назначения, заданном в команде.

Базовая индексная (base with index). В команде задаются два из восьми регистров общего назначения и коэффициент масштабирования – 1,2,4 или 8. Регистры используются как базовый и индексный, а исполнительный адрес вычисляется следующим образом: содержимое индексного регистра умножается на коэффициент масштабирования, а к результату прибавляется содержимое базового регистра.

Таблица 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 10 Прямая,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
0
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 Блок с плавающей точкой