– ситуация переполнения в дополнительном коде.
ГСА алгоритма сложения/вычитания в дополнительном коде представлена на рисунке 2.1.
ГСА конъюнкции представлена на рисунке 2.2.
Объединенная ГСА представлена на рисунке 2.3.
Рисунок 2.1. Граф-схема алгоритма сложения/вычитания в дополнительных кодах
Рисунок 2.2. Граф-схема алгоритма конъюнкции
Рисунок 2.3. Объединенная граф-схема алгоритма
Структурная схема операционного автомата АЛУ
Включим в состав операционного автомата следующие элементы:
· Два шестнадцатиразрядных регистра Рг А и Рг B для хранения входных операндов с возможностью сдвига своего содержимого вправо
· Шестнадцатиразрядный регистр Рг С для размещения результата операции с возможностью сдвига своего содержимого вправо.
· Шестнадцатиразрядные регистры Рг D, Рг E, Рг F для временного хранения результата.
· Четырехразрядный счетчик Сч.
· 4 шестнадцатиразрядных двоичных сумматора.
· Триггер Тг OVдля хранения признака переполнения разрядной сетки.
· Триггер Тг Zдля хранения признака нулевого результата.
· Схемы сравнения на «равно 1» разрядов , значений O, O*,OVи P.
· 4 логических элемента «не».
Структурная схема операционного автомата представлена на рисунке 2.4.
>
Рисунок 2.4. Структурная схема операционного автомата АЛУ
Список микроопераций, реализуемых в операционном автомате
Таблица 2.1. Список микроопераций, реализуемый в ОА
Микрооперация | Действие |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| C=D |
| OV=1 |
| |
| |
| |
| |
| OV=0 |
| n=n-1 |
| |
Список логических условий, формируемых в операционном автомате
Таблица 2.2. Список логических условий, реализуемых в ОА
Логическое условие | Действие |
| F=1 |
| F*=1 |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
Микропрограмма выполняемых в АЛУ операций в терминах микроопераций и логических условий
* |
Рисунок 2.5. Микропрограмма выполняемых в АЛУ операций в терминах микроопераций и логических условий
Проектирование управляющего автомата АЛУ
Формат микрокоманд
При проектировании данного УА будем использовать различные форматы для операционных микрокоманд и микрокоманд перехода и естественную адресацию.
Поскольку структура операционного автомата такова, что в каждый такт дискретного времени выполняется не более одной операции, будем использовать вертикальный способ кодирования микроопераций.
При вертикальном способе кодирования в поле микроопераций помещается номер выполняемой микрооперации. При этом количество разрядов N, которое следует предусмотреть в поле микроопераций, определяется выражением: .
В нашем случае .
Определим разрядность кода логического условия:
.
Поле адреса определяется объёмом памяти микропрограмм. Учитывая, что количество вершин в микропрограмме 47, а логических условий 23, то для поля адреса в микрокоманде стоит отвести разрядов: .
Формат операторной микрокоманды: