Смекни!
smekni.com

Разработка управляющей части автомата для сложения двух чисел с плавающей запятой в дополнительном коде с помощью модели Мура (стр. 1 из 3)

Разработка управляющей части автомата для сложения двух чисел с плавающей запятой в дополнительном коде с помощью модели Мура

Содержание

Стр.

Задание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1й раздел. Разработка машинного алгоритма выполнения операций . . . . . . . . . . . . . . . 3

1.1. Построение алгоритма операций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2. Пример выполнения сложения, оценка погрешности . . . . . . . . . . . . . . . . . . . . . . . 5

2й раздел. Разработка ГСА и функциональной схемы ОА . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1. Разработка ГСА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

2.2. Построение функциональной схемы ОА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3й раздел. Разработка логической схемы управляющей части автомата . . . . . . . . . . . . .8

3.1. Составление таблицы переходов-выходов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

3.2. Граф автомата Мура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.3. Построение функций возбуждения входов триггеров и логической схемы . . . .10

4й раздел. Оценка времени выполнения микропрограммы . . . . . . . . . . . . . . . . . . . . . . .12

Заключение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Задание

Разработать управляющую часть автомата для сложения двух чисел с плавающей запятой в дополнительном коде с помощью модели Мура. Логическую схему реализовать в базисе «И-НЕ» на D-триггерах.

Раздел 1. Разработка машинного алгоритма выполнения операции.

Шаг 1. Сравнить порядки чисел A и B. Вычислить разность порядков чисел. Если Dp ³ 14, то выдать число A и закончить выполнение. Если Dp £ -14, то выдать число B и закончить выполнение. Если 0 £ Dp < 14, то сдвинуть мантиссу числа B на çDpç разрядов вправо. Если 0 > Dp > -14, то сдвинуть мантиссу числа А на çDpç разрядов вправо. Порядок ответа равен большему порядку.

Шаг 2. Сложить мантиссы по правилам ДК.

Шаг 3. Проверить условие нормализации g. Если оно не выполняется, сдвинуть сумму на один разряд вправо, к порядку результата прибавить единицу и перейти к п. 5.

Шаг 4. Циклически проверять условие нормализации d. Если оно не выполняется, сдвинуть сумму на один разряд влево, от порядка результата отнять единицу.

Шаг 5. Проверить сумматор порядков на переполнением. Если возникло переполнение, установить флаг №1. Если возникла ошибка типа «машинный ноль», установить флаг №2.

Блок-схема имеет следующий вид.

0
1
0


Рассмотрим пример выполнения операции.


При сдвиге мантиссы числа В получается погрешность, равная:

Раздел 2. Разработка ГСА и функциональной схемы ОА.

Регистры РгА и РгВ имеют 22 разряда: биты 0-1 – знак числа, биты 2-15 – мантисса, бит 16 – знак порядка, бит 17-21 – порядок. Сумматор мантисс СММ имеет следующую структуру: биты 0-1 – знак, биты 2-15 – мантисса. Сумматор порядков СМП имеет следующую структуру: бит 0 – знак, биты 1-5 – порядок. Используются два одноразрядных регистра в качестве флагов переполнения F1 и машинного нуля F2. Типы слов, используемых в микропрограмме, представлены в таблице.

Тип
Слово
Пояснение
I
A(0:21) Первое слагаемое
I B(0:21) Второе слагаемое
L PrA(0:21) Регистр А
L PrB(0:21) Регистр В
LO CMM(0:15) Сумматор мантисс
LO CMП(0:5) Сумматор порядков
LO F1(0) Флаг переполнения
LO F2(0) Флаг машинного нуля

Список микроопераций и логических условий представлен в таблице.

Y1 РгА:=А X1 ùT0&T2&T3&T4 Ú ùT0&T1 Ú Ú ùРгА(16)&РгВ(16)&T0
Y2
РгВ:=В X2 T0&ùT2&ùT3&(ùT4 Ú ùT5) Ú Ú T0&ùT1 Ú РгА(16)&ùРгВ(16)&ùT0
Y3 СММ:=0 X3 T0=0
Y4 F1:=0 X4 СМП=0
Y5 F2:=0 X5 Z0&ùZ1 Ú ùZ0&Z1
Y6 СМП:=РгА(16:21)+ ù РгВ(16:21)+1 X6 Z0&Z1 Ú ùZ0&ùZ1
Y7 СММ:=РгА(0:15) X7 ùF1&T0
Y8 СМП:=РгА(16:21) X8 F1&ùT0
Y9 СММ:=РгВ(0:15)
Y10 СМП:=РгВ(16:21)
Y11 РгА(0:15):=R1(РгА(0).РгА(0:15))
Y12 СМП:=СМП+1
Y13 РгВ(0:15):=R1(РгВ(0).РгВ(0:15))
Y14 СМП:=СМП-1
Y15 СММ:=РгА(0:15)+РгВ(0:15)
Y16 F1:=СМП(0)
Y17 СММ:=R1(СММ(0).СММ(0:15))
Y18 СММ:=L1(СММ(0:15).0)
Y19 F1:=1
Y20 F2:=1

Ti – разряды СМП, Zi – разряды СММ. Условия X5 и X6 соответствуют условиям g и d в блок-схеме.

ГСА имеет вид:

Функциональная схема ОА имеет вид: