Способы записи микропрограмм
Для записи микропрограмм в компактной форме используются граф-схемы алгоритмов и языки микропрограммирования.
Граф-схема алгоритма (ГСА) имеет вид ориентированного графа. При построении графа оперируют пятью типами вершин (рис. 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.