Горизонтально-вертикальное кодирование
Идея горизонтально-вертикального кодирования заключается в разделения поля микроопераций в регистре микрокоманды (и в памяти) на группы, так чтобы в каждой из них были сгруппированы взаимно-независимые микрооперации. Это микрооперации, которые совместно не используются ни в одной микрокоманде. В этом случае к микрооперациям в каждой группе можно применить вертикальное кодирование, т.е. в поле кодирования конкретной группы задавать микрооперацию ее порядковым номером в данной группе. Для задания всех микроопераций микрокоманды используют отдельные поля микроопераций всех групп. Эти поля в регистре микрокоманд располагаются последовательно (с горизонтальным кодированием).
Процедура горизонтально- вертикального кодирования. Процедуру кодирования рассмотрим на примере микропрограммы алгебраического сложения/вычитания чисел в прямом коде (структурная схема операционной части устройства представлена на рис 7.1,).
Для горизонтально-вертикальногокодирования все микрооперации распределяют по группам, так чтобы в каждой группе находились только совместно не используемые микрооперации. Исходный набор микроопераций для выполнения рассматриваемой арифметической операции совпадает с представленным в таблице 8.3.табл. 12.
Минимальное количество групп определяется по максимальному количеству микроопераций в микрокомандах. В рассматриваемом наборе микрокоманд максимальное количество микроопераций в микрокоманде равно 3. Это микрокоманды Y3и Y4.
Пример распределения микроопераций по группам:
М0:{y1, y2, y3, y4, y7,};
М1:{y5,};
М2:{ y6(tз),}.
Указанное распределение можно получить следующим способом:
Формируются три множества микроопераций (по максимальному числу микроопераций в командах): М0, М1 и М2.
По списку микроопераций (табл.8.3. 12) по очереди выбираются микрооперации. Первая микрооперация операция у1помещается в первое множество М0.
Все последующие микрооперации проверяются на предмет их использования (по списку микрокоманд табл.8.3 12) с уже распределенными (по множествам) микрооперациями. Вторая микрооперация у2с микрооперацией у1 совместно в одной команде не используется, следовательно она тоже помещается во множество М0.
По той же причине микрооперации у3 и у4помещаются в то же множество.
Но микрооперация у5 используется совместно с микрооперацией у5 у4в микрокоманде Y4 .По этой причине микрооперация у5 помещается в М1.
Микрооперация y6(tз) совместно используется с микрооперациями у5 и у4 в микрокоманде Y6 . По этой причине она помещается в новое множество М2.
Кодировка поля микрокоманд и схема формирования сигналов управления для случая горизонтально-вертикального кодирования представлены на рис 8.14. 8.15
Рис.8.15. Регистр микрокоманд со схемой формирования сигналов управления.
Горизонтально-вертикальное кодирование.
В общем случае, распределение микроопераций по множествам неоднозначно. В зависимости от порядка рассмотрения микроопераций можно получать различные распределения, причем с неоднозначными коэффициентами сжатия. С учетом этого после распределения микроопераций по множествам следует произвести коррекцию для получения минимальной разрядности кодов. Минимальные разрядности кодов микрокоманд получаются, если удается большинство микроопераций поместить в одно из множеств, причем их количества в каждом из множеств будет равно значениям 2n – 1, где n-натуральное число.
Кодировка поля микрокоманд и схема формирования сигналов управления для случая горизонтально-вертикального кодирования представлены на рис 8.14. 8.15.
Дата добавления: 2022-02-05; просмотров: 421;