Макрокоманды из микрокоманд
Если знаковый разряд сумматора содержит минус (т. е. единицу), следующей выполняется команда из регистра. Если в знаковом разряде сумматора стоит плюс (т. е. нуль), порядок выполнения программы обычный. Одна команда, применяемая для данной машины, которая может рассматриваться как первая из используемых на практике команд микропрограммирования, имеет следующий вид: в ней выполняется один из наборов микрокоманд, определяемый числом. Все «наборы» микрокоманд имеют одно и то же сочетание единиц и нулей в первых двух разрядах, но остальные 16 разрядов вызывают любые из 21 возможных «микроопераций».
Каждая микрокоманда вызывает определенный управляющий импульс в устройстве управления. Таким образом, данная последовательность знаков в адресной части команды соответствует вполне определенной последовательности микроопераций. Основные микрооперации в последовательности времени их выполнения с указанием их кода в восьмеричной системе счисления включают за время 0.8 такта.
Много макрокоманд может быть сформировано из правильным образом расположенных микрокоманд. Например, команда (циклический сдвиг влево) может быть представлена следующим образом. Циклический сдвиг влево будет выполнять последовательность операций, аналогичную приведенной выше команде. Адрес 31 (восьмеричный) получается путем логической дизъюнкции двоичных разрядов трех восьмеричных адресов 1, 20, 10.
В списке сочетаний, которые могут оказаться полезными при формировании макрокоманд, много таких, которые реализуются на обычных универсальных машинах, но много и таких, которые обычно не реализуются схемно. Была составлена переводящая программа для преобразования этих команд, рассматриваемых как обычные команды, в последовательность макрокоманд, употребляемых наряду с тремя стандартными командами.
Источник: delete-it