Разработка операционного автомата АО, выполняющего деление с плавающей точкой
Министерство общего и профессионального образованияРоссийской Федерации
КГТУ
Факультет информатики и вычислительной техники
Кафедра вычислительной техники
Пояснительная записка
Выполнил: Биниман А.В. Проверил: Постников А.И.
Группа: ВТ 26-2 Подпись:
Красноярск 1998 г.
1. Задание2. Описание структурной схемы ОА3. Описание функциональной
схемы ОА.4. Перечень всех осведомительных и управляющих сигналов с их
расшифровкой.5. Граф-схема микропрограммы (ГСМ) выполнения заданной
арифметической операции.6. Словесное описание (ГСМ)7. Описание
структурной схемы УА8. Описание функциональной схемы УА.9.
Таблица-микропрограмма выполнения заданной арифметической
операции.Список использованной литературы.
1. Задание.
1. Разработка операционного автомата (ОА), выполняющего деление с
плавающей точкой.
Коды поступ.чисел Код
обработкиКод выдачиЧисло знаков.
Разрядов Метод
выполненияЛогикаmApAmBpBmCpCДКОКПКДКОКДКПК2СВОКМОП
1.1. Разработать структурную и функциональную электрические схемы
операционного автомата,
выполняющего заданную арифметическую операцию.
1.2. Составить описание структурной и функциональной схем ОА.
1.3. Составить перечень всех осведомительных (X) и управляющих
(Y) сигналов ОА с их расшифровкой.
2. Разработать управляющий автомат (УА), под управлением которого
происходит выполнение
арифметической операции ОА.
2.1 Разработать функциональную схему УА с программируемой логикой.
2.2 Разработать закодированную граф - схему микропрограммы
выполнения заданной
арифметической операции.
2.3 Составить словесное описание ГСМ.
2.4 Составить таблицу подшивки ПЗУ.
Схема управления следующим адресом микрокоманды на: БМУ К1804ВУ2.
2. Описание структурной схемы ОА.
2.1 Регистр делимого RG mA.
Принимает с ШД мантиссу числа А и хранит значение операнда во время
работы ОА.
2.2 Регистр делимого RG рA.
Принимает с ШД порядок числа А и хранит значение операнда во время
работы ОА.
2.3 Регистр делителя RG mВ.
Принимает с ШД мантиссу числа В и хранит значение операнда во время
работы ОА.
2.4 Регистр делителя RG рВ.
Принимает с ШД порядок числа В и хранит значение операнда во время
работы ОА.
2.5 Мультиплексор MX mA.
Коммутирует данные с RG mA на сумматор.
2.6 Мультиплексор MX рA.
Коммутирует данные с RG рA на сумматор.
2.7 Мультиплексор MX mВ.
Коммутирует данные с RG mA на сумматор.
2.8 Мультиплексор MX рВ.
Коммутирует данные с RG рA на сумматор.
2.9 Схема по модулю соединяющая старший знаковый разряд RG mA и RG mB.
Служит для определения знака частного.
2.10 Элементы ИЛИ на входе сумматора.
Служат для развязки выходов мультиплексоров.
2.11 Сумматор SM.
Выполняет сложение двух чисел поступающих на входы с мультиплексоров.
2.12 Регистр RG mS.
Осуществляет хранение результата с сумматора и сдвиг содержимого влево
или вправо.
2.13 Счетчик RG рS.
Осуществляет хранение результата с сумматора и прибавление 1 в младший
разряд.
2.14 Регистр RG C.
Служит для записи результата деления.
2.15 Счетчик RG ST.
Осуществляет подсчет количества циклов деления.
2.16 Элемент ИЛИ в цепи циклического переноса SM.
Служит для прибавления 1 в младший разряд сумматора.
2.17 Схема по модулю соединяющая младший знаковый разряд и старший
значащий RG C.
Определяет нормализацию справа частного.
2.18 Блок “=0” на выходе RG mS.
Служит для проверки RG mS на 0.
2.19 Блок “= - 0” на выходе RG mS.
Служит для проверки RG mS на минус 0.
2.20 Схема по модулю соединяющая знаковые разряды RG pS.
Осуществляет проверку порядка на переполнение.
2.21 Блок “=0” на выходе RG SТ.
Служит для проверки RG SТ на 0 и завершения цикла деления.
2.22 Мультиплексор MX S.
Коммутирует данные с RG mS, RG pS и RG C на ШД.
3. Описание функциональной схемы ОА
3.1 Регистры: делимого mA (DD1), порядка делимого pA (DD2), делителя mB
(DD4), порядка делителя pB (DD5), результата mS (DD36) и частного C
(DD39) реализованы на КР1561ИР15 четырёхразрядном
последовательно-параллельном универсальном реверсивном регистре.
D0…D3 - параллельный вход данных;
Q0…Q3 - параллельный выход данных;
R вход "установка нуля"
S0,S1 входы выбора режимов работы
C тактовый вход
D>,D< - бит вдвигаемый при сдвиге
3.2 Для определения переполнения порядка результата, знака частного и
нормализации используется схема сложения по модулю 2 (DD3) на микросхеме
КР1561ЛП14
3.3 Для ниверсии знака, мантисы и других
сигналов(DD6…DD9,DD28,DD29,DD33,DD35) использована микросхема К176ПУ1
3.4 Для выбора сигнала с регистров mA,pA,mB,pB использованы
мультиплексоры (DD10…DD25) на микросхеме К561КП2
3.5 Для подачи сигналов с мультиплексоров (DD10…DD25) на сумматор
(DD32), организации прибавления 1 в младший разряд сумматора и
коммутации управляющих сигналов Y использована микросхема К561ЛЕ5.
3.6 Сумматор SM (DD32), выполняющий операцию суммы mA,mB или pA,pB
реализован на микросхеме К561ИМ1.
3.7 Для хранения pS (результата суммы pA и pB) (DD37) и подсчета
количества циклов деления (DD39) используется счетчик на микросхеме
К561ИЕ11.
3.8 Для проверки на ноль содержимого mS (DD41), и счетчика (DD42)
использована микросхема К561ЛЕ6
3.9 Для определения содержимого mS на “0” (DD40) используется микросхема
К1561ЛИ3.
3.10 Для коммутации mS,pS (DD43) и С (DD44) использован мультиплексор на
микросхеме К561КП4.
4. Перечень всех осведомительных и управляющих
сигналов с их расшифровкой.
4.1. Осведомительные сигналы
X1 знак содержимого RG mA;
X2 - знак содержимого RG pA;
X3 - знак содержимого RG mB;
X4 - знак содержимого RG pB;
X5 сумма по модулю 2 старших знаковых разрядов mA и mB;
X6=1 если содержимое RG mS=11.11 (т.е. “-0”);
X7=1 если содержимое RG mS=00.00;
X8 - знак содержимого RG mS;
X9 проверка данных на ШД;
X10 - сумма по модулю 2 знаковых разрядов счетчика pS;
X11 - сумма по модулю 2 младшего знакового и старшего значащего разрядов
регистра частного C;
X12=1 если содержимое счетчика циклов деления равно нулю;
X13 знак содержимого RG С;
4.2. Управляющие сигналы
Y1 запись информации с ШД в RG mA;
Y2 запись информации с ШД в RG pA;
Y3 запись информации с ШД в RG mB;
Y4 запись информации с ШД в RG pB;
Y5,Y6,Y7 управление мультиплексором выбора операнда из RG mA;
Y8,Y9,Y10 управление мультиплексором выбора операнда из RG pA;
Y11,Y12,Y13 управление мультиплексором выбора операнда из RG mB;
Y14,Y15,Y16 управление мультиплексором выбора операнда из RG pB;
Y17 - арифметическое прибавление 1 в мл. разряд суммируемой в SM
информации;
Y18 запись в RG mS результата суммирования операндов;
Y19 - сдвиг содержимого RG mS в сторону старших разрядов (влево);
Y20 - сдвиг содержимого RG mS в сторону младших разрядов (вправо);
Y21 вдвигаемая цифра при сдвиге содержимого RG mS в сторону младших
разрядов (вправо);
Y22 вдвигаемая цифра при сдвиге содержимого RG mS в сторону старших
разрядов (влево);
Y23 выдача на ШД сигнала переполнение;
Y24 - выдача на ШД сигнала готовности данных;
Y25 - арифметическое прибавление 1 к содержимому счетчика pS;
Y26 - запись в счетчик pS результата суммирования операндов;
Y27 запись в RG С 11 в знаковые разрыды;
Y28 - сдвиг содержимого RG C в сторону старших разрядов (влево);
Y29 - вдвигаемая цифра при сдвиге содержимого RG C в сторону старших
разрядов (влево);
Y30 сброс содержимого RG C и счетчика циклов деления;
Y31 запись в счетчик циклов деления 1 в старший значащий разряд (запись
количества циклов
деления = 2);
Y32 - арифметическое вычитание 1 из содержимого счетчика циклов деления;
Y33 - управление мультиплексором выбора операнда из RG mS;
Y34 - управление мультиплексором выбора операнда из счетчика pS;
Y35 - управление мультиплексором выбора операнда из RG C;
5. Граф-схема микропрограммы выполнения заданной арифметической
операции.
6. Словесное описание граф-схемы микропрограмм.
Начало
блок 1:
- проверка наличия данных на ШД;
ЕСЛИ “0” ТО блок 1
блок 2:
- запись информации с ШД в RG mA, RG pA, RG mB, RG pB и обнуление
регистра частного RG С и счетчика циклов деления ST;
блок 3:
- определение знака частного;
ЕСЛИ “0” ТО блок 5
блок 4:
- запись в RG С в знаковые разряды 1;
блок 5:
- проверка на знак содержимого в RG mA;
ЕСЛИ “0” ТО блок 8
блок 6:
- выдача на сумматор мультиплексорами инверсного вместе со знаковыми
разрядами mA, +1 в младший разряд в сумматоре и запись результата с
сумматора в RG mS;
блок 7:
- выбор мультиплексором из RG mS операнда и запись в RG mА;
блок 8:
- проверка на знак содержимого в RG mВ;
ЕСЛИ “0” ТО блок 11
блок 9:
- выбор мультиплексором операнда из RG mВ и запись результата с
сумматора в RG mS;
блок 10:
- выбор мультиплексором операнда из RG mS и запись в RG mB;
блок 11:
- проверка на знак содержимого в RG рВ;
ЕСЛИ “0” ТО блок 16
блок 12:
- выбор мультиплексором операнда c инверсией значащих разрядов из RG рВ,
+1 в сумматоре и запись результата с сумматора в RG рS;
блок 13:
- выбор мультиплексором операнда из RG рS и запись в RG рB;
блок 14:
- выбор мультиплексором операнда c инверсией значащих разрядов из RG рВ
и запись результата с сумматора в RG рS;
блок 15:
- выбор мультиплексором операнда из RG рS и запись в RG рB;
блок 16:
- выбор мультиплексором mB из RG mВ и запись результата с сумматора в RG
mS;
блок 17:
- проверки содержимого RG mS на ноль;
ЕСЛИ “1” ТО блок 71
блок 18:
- выбор мультиплексороми операнда из RG mA, инверсного вместе со
знаковыми разрядами операнда из RG mВ и запись результата с сумматора в
RG mS;
блок 19:
- проверка на знак содержимого в RG mS;
Начало цикла
ЕСЛИ “0” ТО
блок 20:
- проверки содержимого RG mS на ноль;
блок 21:
- выбор мультиплексором операнда из RG mA и запись результата с
сумматора в RG mS;
блок 22:
- сдвиг содержимого RG mS в сторону младших разрядов с вдиганием в
старший разряд 0;
блок 23:
- выбор мультиплексором операнда из RG рA и запись результата с
сумматора в RG рS;
блок 24:
- к содержимому RG рS +1 в младший разряд;
блок 25:
- выбор мультиплексором операнда из RG mS и запись в RG mА;
блок 26:
- выбор мультиплексором операнда из RG рS и запись в RG рА;
Конец цикла
ИНАЧЕ
блок 20:
- проверки содержимого RG mS на ноль;
ЕСЛИ “1” ТО блок 21
блок 27:
- выбор мультиплексороми операнда из RG mA, инверсного вместе со
знаковыми разрядами операнда из RG mВ и запись результата с сумматора в
RG mS;
блок 28:
- запись в счетчик ST количества циклов деления;
блок 29:
- проверка на знак содержимого в RG mS;
ЕСЛИ “0” ТО блок 71
блок 30:
- выбор мультиплексором операнда из RG mA и запись результата с
сумматора в RG mS;
Начало цикла
блок 31:
- проверка на знак содержимого в RG mS;
ЕСЛИ “0” ТО
блок 32:
- сдвиг содержимого RG mS в сторону старших разрядов с вдиганием в
младший разряд 0;
ИНАЧЕ
блок 33:
- сдвиг содержимого RG mS в сторону старших разрядов с вдиганием
в младший разряд 1;
блок 34:
- выбор мультиплексором операнда из RG mS и запись в RG mА;
блок 35:
- выбор мультиплексороми операнда из RG mA, инверсного вместе со
знаковыми разрядами операнда из RG mВ и запись результата с сумматора в
RG mS;
блок 36:
- проверки содержимого RG mS на минус ноль;
ЕСЛИ “1” ТО
блок 38:
- проверка на знак содержимого в RG С;
ЕСЛИ “0” ТО
блок 39:
- сдвиг содержимого RG С в сторону старших разрядов с вдиганием в
младший разряд 1;
ИНАЧЕ
блок 40:
- сдвиг содержимого RG С в сторону старших разрядов с вдиганием в
младший разряд 1;
блок 41:
- запись в RG С в знаковые разряды 1;
ИНАЧЕ
блок 37:
- проверка на знак содержимого в RG mS;
ЕСЛИ “0” ТО блок 38
блок 42:
- проверка на знак содержимого в RG С;
ЕСЛИ “0” ТО
блок 43:
- сдвиг содержимого RG С в сторону старших разрядов с вдиганием в
младший разряд 0;
ИНАЧЕ
блок 44:
- сдвиг содержимого RG С в сторону старших разрядов с вдиганием в
младший разряд 0;
блок 45:
- запись в RG С в знаковые разряды 1;
блок 46:
- выбор мультиплексором операнда из RG mS и запись в RG mА;
блок 47:
- выбор мультиплексороми операнда из RG mA, операнда из RG mВ и запись
результата с сумматора в RG mS;
блок 48:
- вычитание 1 из содержимого счетчика ST;
блок 49:
- проверки содержимого счетчика ST на ноль;
ЕСЛИ “0” ТО блок 31
Конец цикла
блок 50:
- выбор мультиплексороми операнда из RG рA, инверсного вместе со
знаковыми разрядами операнда из RG рВ и запись результата с сумматора в
RG рS;
блок 51:
- выбор мультиплексором операнда из RG С и запись в RG mА;
блок 52:
- выбор мультиплексором операнда из RG mА и запись результата с
сумматора в RG mS;
блок 53:
- проверка на нормализацию справа содержимого RG С;
ЕСЛИ “1” ТО блок 61
блок 54:
- проверка на знак содержимого в RG mS;
ЕСЛИ “0” ТО
блок 55:
- сдвиг содержимого RG mS в сторону старших разрядов с вдиганием в
младший разряд 0;
ИНАЧЕ
блок 56:
- сдвиг содержимого RG mS в сторону старших разрядов с вдиганием в
младший разряд 1;
блок 57:
- выбор мультиплексором операнда из RG рS и запись в RG рА;
блок 58:
- выбор мультиплексором операнда c инверсией значащих разрядов из RG рA,
+1 в младший разряд в сумматоре и запись результата с сумматора в RG рS;
блок 59:
- выбор мультиплексором операнда из RG рS и запись в RG рА;
блок 60:
- выбор мультиплексором операнда c инверсией значащих разрядов из RG рA
и запись результата с сумматора в RG рS;
блок 61:
- проверка на переполнение порядка содержимого RG рS;
ЕСЛИ “0” ТО блок 71
блок 62:
- проверка на знак содержимого в RG mS;
ЕСЛИ “0” ТО 65
блок 63:
- выбор мультиплексором операнда из RG mS и запись в RG mА;
блок 64:
- выбор мультиплексором операнда c инверсией значащих разрядов из RG mA,
+1 в младший разряд в сумматоре и запись результата с сумматора в RG mS;
блок 65:
- выбор мультиплексором операнда из RG рS и запись в RG рА;
блок 66:
- проверка на знак содержимого в RG pA;
ЕСЛИ “0” ТО блок 68
блок 67:
- выбор мультиплексором операнда c инверсией значащих разрядов из RG рA
и запись результата с сумматора в RG рS;
блок 68:
- выдача сообщения на ШД “данные готовы”;
блок 69:
- выбор мультиплексором операнда из RG mS;
блок 70:
- выбор мультиплексором операнда из RG рS и безусловный переход на
“Конец”;
блок 71:
- выдача сообщения на ШД “переполнение”;
Конец.
7. Описание структурной схемы УА
7.1 Схема определения адреса микрокоманды К1804ВУ2
Предназначен для определения адреса следующей микрокоманды. В
зависимости от состояния
входов S0 и S1 на выход выдается информация либо с прямого
адресного входа D, либо со
счетчика микрокоманд.
7.2 Мультиплексор(MX)
Предназначен для выбора микрокоманды.
7.3 Регистр микрокоманд (RG MK)
Предназначен для хранения текущей микрокоманды. Состоит из поля
управляющих сигналов Y-35
бит.
7.4 ПЗУ- постоянное запоминающее устройство.
Предназначено для хранения микропрограммы.
8. Описание функциональной схемы УА
8.1 Схема определение адреса микрокоманды DD1,DD1 - СОАМ K1804BУ2 -
схема определения адреса микрокоманды.
8.2 ПЗУ реализовано на DD5-DD12 - КР558РР2А ПЗУ с электрическим
программированием.
9. Таблица-микропрограмма выполнения заданной арифметической операции.
Список использованной литературы:
1. Савельев А.Я. «Прикладная теория цифровых автоматов » -М.: «Высшая
школа» 1987 г.
2. Якубовский С.В. «Аналоговые и цифровые интегральные микросхемы»
(Справочное пособие), -М.: «Радио и связь» 1985 г.
3. Тарабрин Б.В. «Справочник по интегральным микросхемам» -М.:
«Энергия» 1980г.
4. Шило В.Л. Популярные цифровые микросхемы. М.: Энергия. 1987.
5. Угрюмов Е.П. «Проектирование элементов и узлов ЭВМ» -М.: «Высшая
школа» 1987 г.