Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
158
Добавлен:
01.06.2015
Размер:
14.91 Mб
Скачать

Обеспечение последовательности выполнение микрокоманд

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

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

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

При выполнении микропрограммы адрес очередной микрокоманды относится к одной из трех категорий:

- определяется кодом операции команды;

- является следующим по порядку адресом;

- является адресом перехода.

Первый случай имеет место только один раз в каждом цикле команды, сразу же вслед за ее выборкой. Как уже отмечалось ранее, каждой команде из системы команд ВМ соответствует «своя» микропрограмма в памяти микропрограмм, поэтому первое действие, которое нужно произвести после выборки команды, — преобразовать код операции в адрес первой М К соответствующей микропрограммы. Это может быть выполнено с помощью аппаратного преобразователя кода операции (см. Рис. 6.8). Такой преобразователь обычно реализуется в виде специального ЗУ, хранящего начальные адреса микропрограмм в ПМП. Для указания того, как должен вычисляться адрес следующей МК в микрокоманде, может быть выделено специальное однобитовое поле. Единица в этом поле означает, что Амк должен быть сформирован на основании кода операции. Подобная МК обычно располагается в конце микропрограммы этапа выборки или в микропрограмме анализа кода операции.

Дальнейшая очередность выполнения микрокоманд микропрограммы может быть задана путем указания в каждой МК адреса следующей микрокоманды (принудителъная адресация) либо путем автоматического увеличения на единицу адреса текущей МК {естественная адресация) [21].

В обоих случаях необходимо предусмотреть ситуацию, когда адрес следующей микрокоманды зависит от состояния осведомительных сигналов - ситуацию перехода. Для указания того, какое условие должно быть проверено, в МК вводится поле условия перехода (УП). Поле УП определяет номер i осведоми­тельного сигнала xi, значение которого анализируется при формировании адреса следующей микрокоманды. Если поле УП = 0, то никакие условия не проверяются и Амк либо берется из адресной части микрокоманды (при при­нудительной адресации), либо формируется путем прибавления единицы к адресу текущей микрокоманды. Если , то Амк = А + xi, В результате это­го осуществляется условный переход: при хi = 0 к микрокоманде с адресом Амк = Л, а при xi = 1 — к микрокоманде с адресом Амк = А + 1. Описанный по­рядок формирования адреса показан на рис. 6.12 и имеет место в случае при­нудительной адресации с одним адресом.

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

Рассмотренный способ позволяет в каждой команде учесть состояние только одного из осведомительных сигналов. Более гибкий подход реализован в ряде ВМ фирмы IBM. В нем адреса микрокоманды разбиваются на две составляющие. Старшие п разрядов обычно остаются неизменными. В процессе выполнения микроко­манды эти разряды просто копируются из адресной части МК в аналогичные позиции РАМ, определяя блок из 2n микрокоманд в памяти микропрограмм. Остальные (младшие) k разрядов РАМ устанавливаются в 1 или 0 в зависимости от того, проверка каких осведомительных сигналов была задана в поле УП и в каком состоянии эти сигналы находятся. Такой метод позволяет в одной микрокоманде сформировать 2k вариантов перехода.

Теперь рассмотрим возможные способы реализации принудительной и естественной адресации. Известные подходы сводятся к трем типовым вариантам [75]:

- два адресных поля;

- одно адресное поле;

- переменный формат.

Два первых метода представляют принудительную адресацию, а третий — естес­твенную адресацию микрокоманд.

Простейшим вариантом является включение в микрокоманду двух адресных полей (рис-6.13).

С помощью мультиплексора в регистр адреса микрокоманды (РАМ) может быть загружен либо адрес, определяемый кодом операции выполняемой команды, либо содержимое одного из адресных полей микрокоманды. Выбор источника адреса осуществляется сигналом «Выбор адреса», вырабатываемым логикой перехода, на основании состояния осведомительных сигналов и поля УП микрокоманды. Если УП = 0 или УП = i, но хi= 0, то в РАМ заносится адрес А1 либо адрес, полученный из кода операции. В противном случае в РАМ переписывается адрес А2.

Более распространен вариант принудительной адресации с одним адресным Полем, который уже был показан на рис. 6.12. Здесь в адресной части МК указан адрес следующей микрокоманды, который в случае условного перехода может быть Модифицирован. Возможен и иной подход, в чем-то близкий естественной адреса­ции, когда в адресной части МК задается лишь адрес возможного перехода (Рис. 6.14). При естественном следовании микрокоманд адрес очередной МК фор­мируется путем прибавления единицы к адресу текущей микрокоманды.

Главное достоинство принудительной адресации — высокая универсальность и быстродействие. Здесь изменение участка микропрограммы не затрагивает остальных микрокоманд, а совмещение в одной МК условного перехода с фор­мированием сигналов управления уменьшает общее время выполнения микропрограммы.

Основной недостаток принудительной адресации — повышенные требования к емкости памяти для хранения адресов МК:

где Rупразрядность поля УП; L — общее количество осведомительных сигна­лов.

При естественной адресации отпадает необходимость во введении адресной части в каждую МК. Подразумевается, что микрокоманды следуют в естествен­ном порядке и процесс адресации реализуется счетчиком адреса микрокоманды (СЧАМ). Значение СЧ AM увеличивается на единицу после чтения очередной МК.

Однако после выполнения МК с адресом А может потребоваться переход к МК с адресом . Пере ход может быть безусловным или зависеть от текущего значения xi (если xi = 1, то Амк = А + 1; если xi = 0, то Амк = В). Для реализации условных и безусловных переходов используются специальные управляющие мик­рокоманды, состоящие только из двух полей: адресного поля В и поля УП, выделя­ющего номер условия перехода. Алгоритм выполнения управляющей МК:

Таким образом, при естественной адресации должны применяться МК двух типов: управляющие и операционные. Операционная микрокоманда содержит только микрооперационную часть и не имеет адресной части. Тип МК задается ее первым разрядом: если МК(1) = 1, то это управляющая микрокоманда.

Структура МПА с естественной адресацией показана на рис. 6.15. Выдача сиг­налов управления С1,..., Сm стробируется сигналом МК(1), принимающим единое значение при выполнении операционной МК. Дешифратор условия переход стробируется сигналом МК(1), который равен 1 при обработке управляющей ми рокоманды. Адрес следующей МК образуется на счетчике СЧАМ при выполнении микрооперации +1СЧАМ: СЧАМ := СЧАМ + 1 или П2СЧАМ: СЧАМ := В. Формирова­ние адреса следующей МК описывается микропрограммой на рис. 6.16.

Достоинство естественной адресации — экономия памяти микропрограмм; а основной недостаток состоит в том, что для любого перехода требуется полный тактовый период, в то время как при принудительной адресации переход выпол

няется одновременно с формированием управляющих сигналов без дополнительных обращений к управляющей памяти. Кроме того, при сильно разветвленных микропрограммах требуются большие дополнительные затраты памяти:

Рассмотренные способы адресации аппаратно реализует формирователь адреса микрокоманды ФАМ (см. рис. 6.8). ФАМ является механизмом управления последовательностью выполнения микрокоманд. Возрастание сложности микропрограммного обеспечения современных ВМ предопределяет необходимость расширения функциональных возможностей ФАМ.

Набор базовых функций управления, реализуемых ФАМ, включает в себя: ПРИРАЩЕНИЕ, ПЕРЕХОД, ВЫЗОВ, ВОЗВРАТ, ЦИКЛ [9,32]. Функции управления кодируются полем ФУ в составе МК (рис. 6.17) и задают алгоритмы выбора адреса очередной МК.

МО

УП

ФУ

А

Рис. 6.17. Структура микрокоманды с выделенным полем функции управления

Обозначим: iадрес МК, в которой размещена данная функция управления; АМК — адрес следующей МК; СЧЦ — счетчик количества повторений микропрограммы (циклов); Xj — значение анализируемого условия; а — адрес возврата к вы­зывающей микропрограмме. Охарактеризуем каждую функцию управления.

Рис. 6.18. Набор базовых функций управления микрокоманд: а — ПРИРАЩЕНИЕ, б — ПЕРЕХОД; в — ВОЗВРАТ;г - ВЫЗОВ; д — ЦИКЛ

ПРИРАЩЕНИЕ — обеспечивает переход к МК, записанной по адресу i + 1, а условная функция ПРИРАЩЕНИЕ — многократное повторение одной и той же МК, записанной по адресу i (рис. 6.18, а).

ПЕРЕВОД — обеспечивает переход к последовательности микрокоманд с начальным адресом АМК. В случае условного перехода управление передается по адресу АМК при единичном значении условия хj в противном случае выполняется МК пo адресу i + 1, рис 6.18, б).

ВОЗВРАТ — позволяет после выполнения микропрограммы автоматически вернуться в ту точку, откуда она была вызвана (рис. 6.18, в). Использование условной функции ВОЗВРАТ позволяет вернуться к основной микропрограмме из различных точек внешней микропрограммы.

ВЫЗОВ — одна из основных функций, так как позволяет перейти к исполнению другой микропрограммы с начальным адресом АМК (с сохранением адреса точки перехода), как показано на рис. 6.18, г.

ЦИКЛ — передает управление многократно исполняемому участку микропрог­раммы с начальным адресом АМК (рис. 6.18, д).

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