ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 5233
Скачиваний: 8
3 0 6 Глава 6. Устройства управления
где
— количество выходов дешифратора. При этих условиях аппаратные затра-
ты на хранение микрооперационных частей МК относительно малы:
Однако полная емкость используемой памяти равна
откуда ясно, что при
и
вариант теряет смысл.
Минимальное и максимальное кодирование являются двумя крайними точка-
ми широкого спектра возможных решений задачи кодирования СУ. Промежуточ-
ное положение занимает групповое или смешанное кодирование.
Здесь все сигналы управления (микрооперации) разбиваются на
К
групп
В зависимости от принципа разбиения микроопераций на группы различают
горизонтально-вертикальное и вертикально-горизонтальное кодирование.
В горизонтально-вертикальном методе (см. рис. 6.9,
г)
в каждую группу
включаются взаимно несовместимые сигналы управления (микрооперации),
есть СУ, которые никогда не встречаются вместе в одной микрокоманде.
этом
сигналы, обычно формируемые в одном и том же такте, оказываются в разных груп-
пах. Внутри каждой группы сигналы управления кодируются максимальным (вер-
тикальным) способом, а группы — минимальным (горизонтальным) способом.
Каждой группе
выделяется отдельное
в микрооперационной части МК,
общая разрядность которой равна
где
количество СУ, представляемых
полем (группой).
СУ/
Общая емкость памяти микропрограмм рассмотренного варианта кодирования
определяется из выражения:
При вертикально-горизонтальном способе (см. рис. 6.9,
д)
все множество сиг-
налов управления (микроопераций) также делится на несколько групп, однако в
группу включаются сигналы управления (микрооперации), наиболее часто встре-
чающиеся вместе в одном такте. Поле МО делится на две части:
и
Поле
, длина которого равна максимальному количеству сигналов управления (мик-
роопераций) в группе, кодируется горизонтально, поле
указывающее на при-
надлежность к определенной группе, — вертикально. Со сменой группы меняются
и управляемые точки, куда должны быть направлены сигналы управления из каж-
дой позиции
Это достигается с помощью демультиплексоров (Дмп), управля-
емых кодом номера группы из поля МО,.
Микропрограммный автомат с программируемой логикой
3 0 7
При горизонтальном, вертикальном и горизонтально-вертикальном способах
кодирования микроопераций каждое поле микрокоманды несет фиксированные
функции, то есть имеет место
прямое кодирование.
При
косвенном кодировании
одно
из полей отводится для интерпретации других полей. Примером косвенного коди-
рования микроопераций может служить вертикально-горизонтальное кодирова-
н
и
е
.
.
Иногда используется двухуровневое кодирование микроопераций. На первом
уровне с вертикальным кодированием выбирается микрокоманда, поле МО которой
является адресом горизонтальной микрокоманды второго уровня —
нанокоманды.
Данный способ сочетания вертикального и горизонтального микропрограммиро-
вания часто называют
нанопрограммированием.
Метод предполагает двухуровне-
вую систему кодирования микроопераций и, соответственно, двухуровневую
низацию управляющей памяти (рис 6.10).
Рис. 6.10.
Нанопрограммное устройство управления
Верхний уровень управления образуют микропрограммы, хранящиеся в памя-
ти микропрограмм. В микрокомандах используется вертикальное кодирование
микроопераций. Каждой микрокоманде соответствует нанокоманда, хранящаяся
в управляющей памяти нижнего уровня — памяти нанокоманд. В нанокомандах
применено горизонтальное кодирование микроопераций. Именно нанокоманды
используются для непосредственного формирования сигналов управления. Мик-
рокоманды вместо закодированного номера СУ содержат адресную ссылку на со-
ответствующую нанокоманду.
Такой подход, сохраняя все достоинства горизонтального микропрограммиро-
вания, позволяет значительно сократить суммарную емкость управляющей памяти.
Дело в том, что число различных сочетаний сигналов управления, а следователь-
но, количество «длинных» нанокоманд, обычно невелико. В то же время практи-
чески все микрокоманды многократно повторяются в различных микропрограм-
мах, и замена в микрокомандах «длинного» горизонтального управляющего поля
на короткую адресную ссылку дает ощутимый эффект. Проиллюстрируем это при-
мером.
3 0 8 Глава 6. Устройства управления
Пусть в системе вырабатывается 200 управляющих сигналов, а общая длина
микропрограмм составляет 2048 микрокоманд. Предположим также, что реально
используется только 256 различных сочетаний сигналов управления. В случае
обычного УУ с горизонтальным микропрограммированием емкость управляющей
памяти составила бы 2048 х
409 600 бит.
нанопрограммировании тре-
буется память микропрограмм емкостью 2048 х 8 = 16 384 бит и
наноко-
манд емкостью 256 х 200 = 51 200 бит. Таким образом, суммарная емкость обоих
видов управляющей памяти равна 67 584 битам.
Иначе говоря, нанопамять реализует функцию шифратора управляющих сиг-
налов (см. рис. 6.9,
в).
Справедливы следующие соотношения:
< R
н
,
»
где
Е
M,
,
— емкость и разрядность микропамяти;
Е
H
, ,
— емкость и разрядность
памяти нанокоманд.
Основным недостатком нанопрограммирования является невысокое быстро-
действие, поскольку для выполнения микрокоманды требуются два обращения
к памяти, что, однако, частично компенсируется исключением из схемы дешифра-
тора, свойственного вертикальному микропрограммированию.
Микропрограммный автомат с программируемой логикой 3 0 9
Двухуровневая память рассматривается как способ для уменьшения необходи-
мой емкости ПМП, ее использование целесообразно только при многократном
повторении микрокоманд в микропрограмме.
При разбиении микрокоманды на поля могут действовать два принципа: по
функциональному назначению СУ и по ресурсам.
Функциональное кодирование
предполагает, что каждое поле соответствует одной функции внутри ВМ. Напри-
мер, информация в аккумулятор может заноситься из различных источников, и для
указания источника в микрокоманде может быть отведено одно поле, где каждая
кодовая комбинация прикреплена к определенному источнику. При
ресурсном
кодировании
ВМ рассматривается как набор независимых ресурсов (память, УВВ,
АЛУ и т. п.), и каждому из ресурсов в микрокоманде отводится свое поле.
Обеспечение последовательности
выполнения микрокоманд
На рис.
показано возможное размещение микрокоманд памяти микропро-
грамм. Содержимое ПМП определяет последовательность микроопераций, которые
должны выполняться на каждом этапе цикла команды, а также последовательность
этапов. Каждый этап представлен соответствующей микропрограммой. Микро-
программы завершаются микрокомандой перехода, определяющей последую-
щие действия. В управляющей памяти имеется также специальная микропрограм-
ма-переключатель: в зависимости от текущего кода операции она указывает, этап
исполнения какой команды должен быть выполнен.
Большей частью микрокоманды в микропрограмме выполняются последова-
тельно, однако в общем случае очередность микроопераций не является фиксиро-
ванной. По этой причине в УУ необходимо предусмотреть эффективную систему
реализации переходов. Переходы, как безусловные, так и условные, являются
неотъемлемой частью любой микропрограммы.
Адресация микрокоманд
При выполнении микропрограммы адрес очередной микрокоманды относится
к одной из трех категорий:
• определяется кодом операции команды;
• является следующим по порядку адресом;
• является адресом перехода.
Первый случай имеет место только один раз в каждом цикле команды, сразу же
вслед за ее выборкой. Как уже отмечалось ранее, каждой команде из системы ко-
манд ВМ соответствует «своя» микропрограмма в памяти микропрограмм, поэто-
му первое
которое нужно произвести после выборки команды, — преоб-
разовать код операции в адрес первой
соответствующей микропрограммы. Это
может быть выполнено с помощью аппаратного преобразователя кода операции
(см. рис. 6.8). Такой
обычно реализуется в виде специального ЗУ,
хранящего начальные адреса микропрограмм в ПМП. Для указания того, как дол-
жен вычисляться адрес следующей МК в микрокоманде, может быть выделено
специальное однобитовое поле. Единица этом поле означает, что
должен быть
Глава 6. Устройства управления
сформирован на основании кода операции. Подобная МК обычно располагается
в конце микропрограммы этапа выборки или в микропрограмме анализа кода опе-
рации.
Дальнейшая очередность
микрокоманд микропрограммы может
быть задана путем указания в каждой МК адреса следующей микрокоманды
(при-
нудительная адресация)
либо путем автоматического увеличения на единицу ад-
текущей МК
(естественная адресация)
[21].
В обоих случаях необходимо предусмотреть ситуацию, когда адрес следую-
щей микрокоманды зависит от состояния осведомительных сигналов — ситуа-
цию перехода. Для указания того, какое условие должно быть проверено, в МК
вводится поле условия перехода (УП). Поле
определяет номер
i
осведоми-
тельного сигнала
,
значение которого анализируется при формировании ад-
реса следующей микрокоманды. Если поле УП = 0, то
условия не
проверяются и
либо берется из адресной части микрокоманды (при при-
нудительной адресации), либо формируется путем прибавления единицы к
адресу текущей микрокоманды. Если УП!=0, то
=
А +
В результате это-
го осуществляется условный переход: при
x
i
0 к микрокоманде с адресом
А,
а при
x
i
1 — к микрокоманде с адресом
=
+
1. Описанный по-
рядок формирования адреса показан на рис. 6.12 и имеет место в случае при-
нудительной адресации с одним адресом.
Условные переходы при принудительной адресации микрокоманд
Рассмотренный способ позволяет в каждой команде учесть состояние только
одного из осведомительных сигналов. Более гибкий подход реализован в ряде
фирмы IBM. нем адреса микрокоманды разбиваются на две составляющие. Стар-
шие
п
разрядов обычно остаются неизменными. В процессе выполнения микроко-
манды эти разряды просто копируются из адресной части МК в аналогичные
позиции РАМ, определяя блок из 2^n микрокоманд памяти микропрограмм. Ос-
тальные (младшие)
k
разрядов РАМ
в 1 или 0 в зависимости от
того, проверка каких осведомительных сигналов была задана в поле УП и в каком
состоянии эти сигналы находятся. Такой метод позволяет в одной микрокоманде
сформировать 2^k вариантов перехода.