Смекни!
smekni.com

Проектирование процессора с плавающей точкой (стр. 3 из 4)

Таблица 6.1 - Формирование битов разрешения записи для формата m32

Младшие биты адреса EAR[0:1:2] Биты разрешения
Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0
000 0 0 0 0 0 0 1 1
001 0 0 0 0 0 1 1 0
010 0 0 0 0 1 1 0 0
011 0 0 0 1 1 0 0 0
100 0 0 1 1 0 0 0 0
101 0 1 1 0 0 0 0 0
110 1 1 0 0 0 0 0 0
111 - - - - - - - -

Схема организации памяти приведена на рис 6.2. Здесь БП - блок памяти (банки Б7-Б0), EAR - регистр исполнительного адреса, ФСРЗ – формирователь сигналов разрешения записи Z7-Z0. Схема управляется сигналами (битами МК) WR – запись, МЕМ – обращение к памяти.


6.2. Блок преобразования форматов.

При разработке алгоритма FSt m32real описаны основные действия в БПФ.

Укрупненная схема БПФ приведена на рис. 6.3.

Она включает в себя обратный (ОПФ) преобразователь форматов, коммутатор обратного (КОП) позиционирования со схемой управления СУОП. Коммутатор управляется сигналом EAR[0:1:2] и микрокодом формата данного FD.

Преобразователем управляют специальные последовательности микрокодов, вырабатываемые БМУ в зависимости от вида преобразования и его шага, а также от промежуточных результатов преобразования.

Структурная схема блока обратного преобразования форматов (ОПФ) из m80real в m32real для нормализованных чисел приведена на рис. 6.4.

На один вход сумматора SM1 подается константа -16256. На выходе SM1 получаем смещенный порядок E для формата m32real и передаем его в разряды 30:23 REG.

Старшие разряды мантиссы M из регистра RGD передаются в регистр RGS1.

Осуществляем сдвиг регистра RGS1 на один разряд влево. В разряды 22-0 регистра REG передаем старшие разряды регистра RGS1. Знак S (79 разряд), передается в 31 разряд регистра REG без изменений.


6.3. Блок регистров.

Блок регистров БР (рис.6.5) включает в себя регистровый стек ST, регистр тэгов TW, регистр управления CW, регистр состояния SW, регистр 1-го операнда RGA, схему СхАиМ анализа и модификации TW, CW и SW, трехразрядный сумматор SM.

Выборка из ST происходит по шинам А и B, запись – только по шине А. ST имеет адресные входы A=TOP (адресует вершину стека) и B=TOP+i (адресует регистр ST(i)). Чтение происходит по сигналу RD. Если при этом подан сигнал разрешения обращения к ST(i) EI=1, чтение происходит одновременно по обоим адресам. Запись происходит по сигналу WR в ST(0) при EI=0 и в ST(i) при EI=1.

Схема анализа и модификации выполняет проверку и модификацию тэгов, установку битов особых случаев, проверку масок.

6.4. Блок обработки данных (блок умножения)

Обобщенная схема БОД.

БОД выполняет операцию умножения над поступающими на его входы операндами. Обобщенная схема БОД приведена на рис. 6.6.

В нее входят регистры RG1 и RG2 первого и второго операндов, компаратор COMP для сравнения операндов с кодами истинного нуля, блок выполнения операций БВО, регистр результата RGB. Константы для сравнения с операндом поступают на компаратор из ПЗУ констант в составе блока микропрограммного управления БМУ. БВО разделяют на схему обработки знаков, блок обработки порядков БОП, блок обработки мантисс БОМ и формирователь признака результата ФПР. Регистры RG1 и RG2 могут быть совмещены с регистрами RGA и RGB БР. Их используют для хранения исходных операндов.

Блок умножения.

На основании алгоритма операции FMulST,ST(i) разработан блок умножения Регистры операндов RG1 и RG2 и регистр произведения RG3 подразделяются на субрегистры знаков (S1, S2, S3), порядков (E1, E2, E3) и мантисс (М1, М2, М3). Регистры мантисс расширены до 68 бит для увеличения точности вычислений. Окончательный результат получается в RG3 округляется до 64 бит.

Структурная схема обработки знаков показана на рисунке 6.8. Знак результата определяется как S3=S1 + S2.




Сумматор SME вычисляет порядок произведения E3=E1+E2-16383.

Умножитель мантисс умножает мантиссы по схеме с анализом младшего бита множителя со сдвигом множимого влево.

Вариант такой схемы приведен на рис. 6.9. Для организации цикла используется счетчик циклов CTT.

Умножение завершается нормализацией и округлением результата. Вариант схемы нормализации представлен на рис. 6.10, округления – на рис. 6.11.




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

В состав БМУ (рис. 6.12) входят регистр команд RGК, регистр микрокоманд RGМК, схема управления последовательностью микрокоманд УПМ, мультиплексор кода условия МКУ; инвертор кода условия ИКУ, счетчик микрокоманд СМК, преобразователь кода операции ПКОп, мультиплексор адреса МК МУАД, память констант ПЗУК.

ПЗУ МК содержит микропрограммы выполняемых операций. RGМК хранит выбранную микрокоманду (микрокод) на время ее исполнения. В микрокоманде можно выделить часть, которая управляет операционными блоками - ОП, БПФ, БР, БОД, и часть, которая управляет самим БМУ. В МК, которая управляет БМУ входят следующие поля: CHA –управление адресом следующей МК, CC-определяет проверяемое логическое условие (ЛУ), I - бит инверсии условия, J- бит безусловного перехода, Адр/К (адреса/константы)- поле адреса или константы, которое содержит адрес следующей МК, адрес ПЗУ констант или небольшую константу К.

МКУ выделяет ЛУ, указанное СС, а ИКУ передает полученное значение Х на УПМ с инверсией или без нее в зависимости от бита I.

ПКОп преобразует код операции в начальный адрес НА микропрограммы этой операции или непосредственно в микрокод. УПМ управляет мультиплексором адреса МК МУАД в зависимости от полей CHA и J МК и значения условия Х.


Внутренняя шина БМУ

Рисунок 6.12 – Структурная схема БМУ



7. Моделирование операции FMulSt,St(i)

Основные этапы моделирования:

1) постановка задачи;

2) разработка схемы алгоритма;

3) распределение регистров;

4) микропрограмма заданного алгоритма (с коментариями);

5) значения исходных данных и результатов;

6) протокол изменения состояния основных элементов модели в режиме «микрокоманда» (трасса);

7) проверка вручную правильности результата.

1 этап. Постановка задачи.

Моделирование имеет целью проверку правильности алгоритма и его окончательную отладку.

Смоделировать операцию умножения мантисс двух вещественных чисел (FMulSt, St(i)). Умножение осуществляется с анализом младшего бита множителя со сдвигом множимого влево.

2 этап. Разработка схема алгоритма.

Схемы алгоритма представлены на рисунках 5.6 и 7.1.

3 этап. Распределение регистров.

Знак и характеристика первого числа хранятся в регистре BX (15ый бит – знак числа, биты 0-14 – характеристика), мантисса – в регистре BP. Знак и характеристика второго числа хранятся в регистре CX, мантисса – в регистре SI. Произведение получается в регистрах DX и DI (аналогично).

Также в микропрограмме используются дополнительные регистры RGQ и AX. AX- сначала для выделения знака числа, затем как маска. RGQ– младшая часть мантиссы второго операнда.

4 этап. Микропрограмма заданного алгоритма (с комментариями).

Микропрограмма по заданному алгоритму, с учетом распределения регистров представлена в таблице 7.1.


Таблица 7.1 – Микропрограмма операции FMulSt,St(i) (начало).

a b ma mb mem src sh n alu ccx f dst wm jfi cc cha const
MK0 AX=BX
3 0 0 0 0 1 0 0 6 0 0 4 0 0 0 7 0000
MK1 AX=AX xor CX
1 0 0 0 0 1 0 0 e 0 0 4 0 0 0 7 0000
MK2 AX=AX & 8000h
0 0 0 0 0 5 0 0 9 0 0 4 0 0 0 7 8000
MK3 DX=AX
0 2 0 0 0 1 0 0 6 0 0 4 0 0 0 7 0000
MK4 BX=BX & 7FFFh
0 3 0 0 0 5 0 0 9 0 0 4 0 0 0 7 7FFF
MK5 CX=CX & 7FFFh
0 1 0 0 0 5 0 0 9 0 0 4 0 0 0 7 7FFF
MK6 BX=BX + CX
1 3 0 0 0 1 0 0 3 0 0 4 0 0 0 7 0000
MK7 BX=BX – 3FFFh
0 3 0 0 0 5 0 0 1 1 0 4 0 0 0 7 3FFF
MK8 DX= DX v BX RACT=Fh

Таблица 7.1 – Микропрограмма операции FMulSt,St(i) (окончание).