Курсовая: Разработка операционного автомата АО, выполняющего деление с плавающей точкой


Министерство общего и профессионального образования

Российской Федерации

КГТУ









Факультет информатики и вычислительной техники

Кафедра вычислительной техники



















Пояснительная записка





















Выполнил: Биниман А.В. Проверил: Постников А.И.

Группа: ВТ 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 г.



Версия для печати