ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.12.2021

Просмотров: 5233

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

3 0 6 Глава 6. Устройства управления

где

 — количество выходов дешифратора. При этих условиях аппаратные затра-

ты на хранение микрооперационных частей МК относительно малы:

Однако полная емкость используемой памяти равна

откуда ясно, что при

 и

 вариант теряет смысл.

Минимальное и максимальное кодирование являются двумя крайними точка-

ми широкого спектра возможных решений задачи кодирования СУ. Промежуточ-
ное положение занимает групповое или смешанное кодирование.

Здесь все сигналы управления (микрооперации) разбиваются на

 К

 групп

В зависимости от принципа разбиения микроопераций на группы различают

горизонтально-вертикальное и вертикально-горизонтальное кодирование.

В горизонтально-вертикальном методе (см. рис. 6.9,

 г)

 в каждую группу

включаются взаимно несовместимые сигналы управления (микрооперации),

 есть СУ, которые никогда не встречаются вместе в одной микрокоманде.

 этом

сигналы, обычно формируемые в одном и том же такте, оказываются в разных груп-
пах. Внутри каждой группы сигналы управления кодируются максимальным (вер-
тикальным) способом, а группы — минимальным (горизонтальным) способом.

Каждой группе

 выделяется отдельное

 в микрооперационной части МК,

общая разрядность которой равна

где

 количество СУ, представляемых

 полем (группой).

СУ/

Общая емкость памяти микропрограмм рассмотренного варианта кодирования

определяется из выражения:

При вертикально-горизонтальном способе (см. рис. 6.9,

 д)

 все множество сиг-

налов управления (микроопераций) также делится на несколько групп, однако в
группу включаются сигналы управления (микрооперации), наиболее часто встре-
чающиеся вместе в одном такте. Поле МО делится на две части:

 и

 Поле

 , длина которого равна максимальному количеству сигналов управления (мик-

роопераций) в группе, кодируется горизонтально,  поле

 указывающее на при-

надлежность к определенной группе, — вертикально. Со сменой группы меняются
и управляемые точки, куда должны быть направлены сигналы управления из каж-

дой позиции

 Это достигается с помощью демультиплексоров (Дмп), управля-

емых кодом номера группы из поля МО,.


background image

Микропрограммный автомат с программируемой логикой

  3 0 7

При горизонтальном, вертикальном и горизонтально-вертикальном способах

кодирования микроопераций каждое поле микрокоманды несет фиксированные

функции, то есть имеет место

 прямое кодирование.

 При

 косвенном кодировании

 одно

из полей отводится для интерпретации других полей. Примером косвенного коди-
рования микроопераций может служить вертикально-горизонтальное кодирова-
н

и

е

.

.

Иногда используется двухуровневое кодирование микроопераций. На первом

уровне с вертикальным кодированием выбирается микрокоманда, поле МО которой
является адресом горизонтальной микрокоманды второго уровня —

 нанокоманды.

Данный способ сочетания вертикального и горизонтального микропрограммиро-

вания часто называют

 нанопрограммированием.

 Метод предполагает двухуровне-

вую систему кодирования микроопераций и, соответственно, двухуровневую
низацию управляющей памяти (рис 6.10).

Рис. 6.10.

 Нанопрограммное устройство управления

Верхний уровень управления образуют микропрограммы, хранящиеся в памя-

ти микропрограмм. В микрокомандах используется вертикальное кодирование
микроопераций. Каждой микрокоманде соответствует нанокоманда, хранящаяся
в управляющей памяти нижнего уровня — памяти нанокоманд. В нанокомандах
применено горизонтальное кодирование микроопераций. Именно нанокоманды
используются для непосредственного формирования сигналов управления. Мик-
рокоманды вместо закодированного номера СУ содержат адресную ссылку на со-
ответствующую нанокоманду.

Такой подход, сохраняя все достоинства горизонтального микропрограммиро-

вания, позволяет значительно сократить суммарную емкость управляющей памяти.

Дело в том, что число различных сочетаний сигналов управления, а следователь-
но, количество «длинных» нанокоманд, обычно невелико. В то же время практи-
чески все микрокоманды многократно повторяются в различных микропрограм-
мах, и замена в микрокомандах «длинного» горизонтального управляющего поля
на короткую адресную ссылку дает ощутимый эффект. Проиллюстрируем это при-
мером.


background image

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

, ,

 — емкость и разрядность

памяти нанокоманд.

Основным недостатком нанопрограммирования является невысокое быстро-

действие, поскольку для выполнения микрокоманды требуются два обращения

к памяти, что, однако, частично компенсируется исключением из схемы дешифра-

тора, свойственного вертикальному микропрограммированию.


background image

Микропрограммный автомат с программируемой логикой  3 0 9

Двухуровневая память рассматривается как способ для уменьшения необходи-

мой емкости ПМП, ее использование целесообразно только при многократном
повторении микрокоманд в микропрограмме.

При разбиении микрокоманды на поля могут действовать два принципа: по

функциональному назначению СУ и по ресурсам.

 Функциональное кодирование

предполагает, что каждое поле соответствует одной функции внутри ВМ. Напри-
мер, информация в аккумулятор может заноситься из различных источников, и для

указания источника в микрокоманде может быть отведено одно поле, где каждая
кодовая комбинация прикреплена к определенному источнику. При

 ресурсном

кодировании

 ВМ рассматривается как набор независимых ресурсов (память, УВВ,

АЛУ и т. п.), и каждому из ресурсов в микрокоманде отводится свое поле.

Обеспечение последовательности

выполнения микрокоманд

На рис.

 показано возможное размещение микрокоманд  памяти микропро-

грамм. Содержимое ПМП определяет последовательность микроопераций, которые

должны выполняться на каждом этапе цикла команды, а также последовательность
этапов. Каждый этап представлен соответствующей микропрограммой. Микро-
программы завершаются микрокомандой перехода, определяющей последую-
щие действия. В управляющей памяти имеется также специальная микропрограм-

ма-переключатель: в зависимости от текущего кода операции она указывает, этап
исполнения какой команды должен быть выполнен.

Большей частью микрокоманды в микропрограмме выполняются последова-

тельно, однако в общем случае очередность микроопераций не является фиксиро-
ванной. По этой причине в УУ необходимо предусмотреть эффективную систему
реализации переходов. Переходы, как безусловные, так и условные, являются
неотъемлемой частью любой микропрограммы.

Адресация микрокоманд

При выполнении микропрограммы адрес очередной микрокоманды относится
к одной из трех категорий:
• определяется кодом операции команды;
• является следующим по порядку адресом;
• является адресом перехода.

Первый случай имеет место только один раз в каждом цикле команды, сразу же

вслед за ее выборкой. Как уже отмечалось ранее, каждой команде из системы ко-
манд ВМ соответствует «своя» микропрограмма в памяти микропрограмм, поэто-

му первое

 которое нужно произвести после выборки команды, — преоб-

разовать код операции в адрес первой

 соответствующей микропрограммы. Это

может быть выполнено с помощью аппаратного преобразователя кода операции
(см. рис. 6.8). Такой

 обычно реализуется в виде специального ЗУ,

хранящего начальные адреса микропрограмм в ПМП. Для указания того, как дол-
жен вычисляться адрес следующей МК в микрокоманде, может быть выделено
специальное однобитовое поле. Единица  этом поле означает, что

 должен быть


background image

 Глава 6. Устройства управления

сформирован на основании кода операции. Подобная МК обычно располагается
в конце микропрограммы этапа выборки или в микропрограмме анализа кода опе-
рации.

Дальнейшая очередность

 микрокоманд микропрограммы может

быть задана путем указания в каждой МК адреса следующей микрокоманды

 (при-

нудительная адресация)

 либо путем автоматического увеличения на единицу ад-

 текущей МК

 (естественная адресация)

 [21].

В обоих случаях необходимо предусмотреть ситуацию, когда адрес следую-

щей микрокоманды зависит от состояния осведомительных сигналов — ситуа-
цию перехода. Для указания того, какое условие должно быть проверено, в МК
вводится поле условия перехода (УП). Поле

 определяет номер

 i

 осведоми-

тельного сигнала

 ,

 значение которого анализируется при формировании ад-

реса следующей микрокоманды. Если поле УП = 0, то

 условия не

проверяются и

 либо берется из адресной части микрокоманды (при при-

нудительной адресации), либо формируется путем прибавления единицы к
адресу текущей микрокоманды. Если УП!=0, то

 =

 А +

 В результате это-

го осуществляется условный переход: при

 x

i

 0 к микрокоманде с адресом

 А,

 а при

 x

i

 1 — к микрокоманде с адресом

 =

 +

 1. Описанный по-

рядок формирования адреса показан на рис. 6.12 и имеет место в случае при-
нудительной адресации с одним адресом.

 Условные переходы при принудительной адресации микрокоманд

Рассмотренный способ позволяет в каждой команде учесть состояние только

одного из осведомительных сигналов. Более гибкий подход реализован в ряде
фирмы IBM.  нем адреса микрокоманды разбиваются на две составляющие. Стар-
шие

 п

 разрядов обычно остаются неизменными. В процессе выполнения микроко-

манды эти разряды просто копируются из адресной части МК в аналогичные
позиции РАМ, определяя блок из 2^n микрокоманд  памяти микропрограмм. Ос-
тальные (младшие)

 k

 разрядов РАМ

 в 1 или 0 в зависимости от

того, проверка каких осведомительных сигналов была задана в поле УП и в каком
состоянии эти сигналы находятся. Такой метод позволяет в одной микрокоманде
сформировать 2^k вариантов перехода.


Смотрите также файлы