Вертикально-горизонтальное кодирование
Идея вертикально-горизонтального кодирования заключается в объединении микроопераций в виде множеств совместно используемых микроопераций, при этом в каждом множестве применяется горизонтальное кодирование микроопераций, а для кодирования самих множеств – вертикальное. Наиболее эффективному кодированию соответствует такое разбиение, которое формирует наибольшее количество по возможности равномощных множеств. Чисто вертикальное кодирование является предельным случаем вертикально горизонтального кодирования, когда каждая микрокоманда содержит по одной микрооперации.
Поле микрокоманд при вертикально-горизонтальном кодировании содержит две части. В первой части используется горизонтальное кодирование микроопераций в пределах одного множества, во второй части – номер используемого множества.
Процедура вертикально-горизонтального кодирования.
При вертикально-горизонтальном кодировании выбираются микрооперации только одного множество. При этом предпочтительно использование равномощных множеств. Следовательно, мощность множеств V должна соответствовать микрокоманде с наибольшим числом микроопераций. Это нижний предел мощности выбираемых множеств. При выборе размерности множеств следует исходить из того, что минимальная размерность поля кода операции регистра соответствует минимуму функции:
F= V]log2 k[, где:
V – количество микроопераций в отдельных множествах (количество разрядов в поле микроопераций),
k – количество множеств.
При ручном проектировании для формирования множеств обычно используют граф смежности.
В графе смежности микрооперации, изображенные в виде окружностей, объединяются линиями в группы, если они встречаются в общих микрокомандах.
Граф смежности для примера алгебраического сложения/вычитания чисел в прямом коде представлен на рис. 8.16(а).
Рис.8.16. Граф смежности микроопераций( а) полный, б) модифицированный)
Выбранный здесь пример крайне неудачен для использования вертикально-горизонтального кодирования поля микроопераций, так как почти все микрооперации сосредотачиваются в одном множестве. В подобных вариантах возможна модификация графа за счет выделения микроопераций, связывающих в одно множество другие микрооперации. В примере на рис. 8.16.(б). представлен модифицированный граф связности. Из полного графа удалены две микрооперации y5 и y6(tз).
Эти удаленные микрооперации кодируются в отдельном поле микроопераций с использованием любого способа кодирования. Для двух микроопераций предпочтительно использование горизонтального кодирования.
Кодировка поля микрокоманд и схема формирования сигналов управления для случая вертикально-горизонтального кодирования представлены на рис 8.17.
Рис.8.17. Регистр микрокоманд со схемой формирования сигналов управления.
Вертикально горизонтальное кодирование.
На рис. 8.17 поле А отведено под кодирования двух "выделенных" микроопераций y5 иy6(tз) (М выд.)с использованиемгоризонтального кодирования.
Двухразрядное поле В используется для горизонтального кодирования микроопераций во множествах М1, М2 и М3.
Двухразрядное поле С используется для указания номера множества микроопераций Мi (i = 1, 2, 3). используемого в микрокоманде (кодируется вертикально).
Дата добавления: 2022-02-05; просмотров: 481;