Дальнейшее углубление в область программного обеспечения заключается в сопоставлении каждому блоку ГСА некоторой микрокоманды, которая, в простейшем случае формируется из микрокоманд двух типов [31]: 1) операционной (рис. 101) и 2) специальной или перехода (рис. 102).
| Признак микрокоманды ПМ=1 | Микрооперации |
Рис. 101. Операционная микрокоманда: ПМ=1
| Признак микрокоманды ПМ=0 | Код логического условия | Адрес перехода |
Рис. 102. Специальная, или переходов: ПМ=0
Если выполняется операционная микрокоманда, то последовательно выбираются адреса постоянного запоминающего устройства (ПЗУ) и последовательно выдаются микрооперации в операционное устройство. Это может быть реализовано путем перебора состояний счетчика по счетному входу +1 (рис. 103).

Рис. 103. Условное графическое обозначение счетчика
со счетным входом +1
Такой счетчик будет называться счетчиком микрокоманд. Конечно, для задач реальной размерности он должен иметь достаточное число состояний в отличие от счетчика, изображенного на рис. 103.
В случае выполнения специальной микрокоманды (рис. 102), если логическое условие равно единице, – производится переход по указанному адресу с использованием входа предустановки РЕ по указанным в поле адреса данным Di. Если логическое условие равно нулю, то выбирается следующий адрес. Если номер логического условия равен нулю, то это безусловный переход, и производится передача управления по указанному адресу (на входах Di).
Такая логика управления реализуется блоком управления – счетчик микрокоманд, который адресует память микропрограмм.
Получим микропрограмму реализации алгоритма, изображенного на рис. 98 для автомата с двумя типами микрокоманд (табл. 77).
Таблица 77
Микропрограмма с двумя типами микрокоманд
| Метка | Адрес микрокоманды | Микрокоманда | Комментарий | ||||||||||
| ПМ | |||||||||||||
| M0: | Переход, если х1=1 на адрес 1100 | ||||||||||||
| Переход, если х2=1 к блоку 3 ГСА по адресу 0111 (метка М2) | |||||||||||||
| Выдача z4=1 (A4) | |||||||||||||
| Возврат в 0000 безусловно к метке М0 | |||||||||||||
| - | - | - | - | - | - | - | - | Не используется | |||||
| - | - | - | - | - | - | - | - | Не используется | |||||
| - | - | - | - | - | - | - | - | Не используется | |||||
| M2: | Выдача z1=1 (A1) | ||||||||||||
| Выдача z2,z3=1 (A2) | |||||||||||||
| M3: | Ожидание х3=1. Переход к метке М4, если х3=1 | ||||||||||||
| Если х3=0, то АÆ и безусловный переход к проверке х3 (метка М3) | |||||||||||||
| - | - | - | - | - | - | - | - | Не используется | |||||
| M1: | z4=1 (А4) | ||||||||||||
| Безусловный переход на начало к метке М0 | |||||||||||||
| M4: | z5=1 (А3) | ||||||||||||
| Безусловный переход на начало к метке М0 |
Таким образом, из табл. 77 следует, что необходимо всего 12 ячеек памяти по 8 бит, то есть всего 96 бит.
В рассмотренном автомате, если микрокоманда специальная (ПМ=0), разряды 1-2 используются для кодирования логического условия (значения указаны курсивом): 00 – безусловный переход, т.е. нет условия; 01 – х1; 10 – х2; 11 – х3. Если микрокоманда операционная, то разряды 1-5 отводятся для микроопераций z1-z5 соответственно. Особенность микропрограммы – возврат в исходное состояние после окончания работы.






