Способы записи микропрограмм

Для записи микропрограмм в компактной форме используются граф-схемы алго­ритмов и языки микропрограммирования.

Граф-схема алгоритма (ГСА) имеет вид ориентированного графа. При построении графа оперируют пятью типами вершин (рис. 30).

Начальная вершина (см. рис. 30, а) определяет начало микропрограммы и не имеет входов. Конечная вершина (см. рис.30, б) указывает конец микропрограммы, поэтому

 

Рис.30. Разновидности вершин граф-схемы алгоритма: а — начальная; 6 — конечная; в — операторная; г — условная; д — ждущая

 

 

имеет только вход. В операторную вершину (см. рис.30, в) вписывают мик­рооперации, выполняемые в течение одного машинного такта. С вершиной связа­ны один вход и один выход. Условная вершина (см. рис.30, г) используется для ветвления вычислительного процесса. Она имеет один вход и два выхода, соответ­ствующие позитивному («Да») и негативному («Нет») исходам проверки усло­вия, записанного в вершине. С помощью ждущей вершины (см. рис.30, д) можно описывать ожидание в работе устройств. В этом случае выход «Да» соответствует снятию причины, вызвавшей ожидание.

Граф-схемы алгоритмов составляются в соответствии со следующими прави­лами:

1. ГСА должна содержать одну начальную, одну конечную и конечное множество операторных и условных вершин.

2. Каждый выход вершины ГСА соединяется только с одним входом.

3. Входы и выходы различных вершин соединяются дугами, направленными от выхода к входу.

4. Для любой вершины ГСА существует, по крайней мере, один путь из этой вер­шины к конечной вершине, проходящий через операторные и условные верши­ны в направлении соединяющих их дуг.

5. В каждой операторной вершине записываются микрооперации у, соответству­ющие одной микрокоманде Y.

6. В каждой условной вершине записывается один из элементов множества логи­ческих условий х.

7. Начальной вершине ставится в соответствие фиктивный оператор уа, а конеч­ной — фиктивный оператор yk. На рис.31. показан пример микропрограммы, записанной на языке ГСА.

 

Рис. 31. Пример граф-схемы микропрограммы

 

 

В примере микрокоманда Ух инициирует микрооперации yt и у6, микрокоманда Y2микрооперациюу2, a F3- микрооперацииу3А5 и у7.