Условные микрооператоры.

В микропрограммах часто должна выполнятся та, или иная микрооперация, соблюдается то или иное условие, или должна выполняться или пропускаться некоторая микрооперация.

 

ЕСЛИ (условие) ТО микрооператор(ы) ИНАЧЕ микрооператор(ы)

В условном микрооператоре вместо микрооператора может стоять метка, отсылающая к микрооператору, определенному в другом месте микропрограммы.

 

ЕСЛИ (условие) ТО переход ИНАЧЕ микрооператор(ы) или наоборот.

Для записи микрооперации можно воспользоваться также условным микрооператором следующего вида:

РгА[k ¸ k+l]:=если (условие) то РгВ[m ¸ m+l]*РгС[n ¸ n+l]

иначе РгD[p ¸ p+l]*РгЕ[q ¸ q+l]

 

 

Описание микрокоманды производится аналогично описания микрооперации и представляет собой метку микрокоманды и разделенную запятыми последовательность микрооператоров, выполняемых в микрокоманде. В общем случае, мы имеем право говорить о микрокоманде, так как микрооперация является частным случаем микрокоманды, содержащей только одну микрооперацию. Особенно же даже самые простые операции преобразования информации занимают несколько тактов и требуют выполнения определенной последовательности микрокоманд. Например, если прием в РгА требует предварительной установки в ‘0’, то прием в РгА из РгКвторого операнда будет производится последовательностью микрокоманд (т.е. микропрограммой).

1-ый такт:

2-ой такт:

В данном случае каждая микрокоманда содержит одну микрооперацию.

Микропрограмма может быть изображена в виде графа, отдельные вершины которого соответствуют микрокомандам или группам микрокоманд.

Безусловные микрокоманды:

РгА:= ША или РгИ:= ЗМ[РгА,0÷n-1]

 

Условные микрокоманды (

 
 

Пример графа микропрограммы):