Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТСвИС / (х) учебное пособие. организация Компьютеров и Систем.doc
Скачиваний:
83
Добавлен:
28.05.2015
Размер:
1.15 Mб
Скачать
    1. Устройства управления.

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

Существует два основных способа построения логики управляющего устройства:

  • Устройство с «жесткой логикой». Здесь для каждой реализуемой в процессоре операции строится набор схем, которые в нужных тактах возбуждают соответствующие управляющие сигналы.

  • Микропрограммное устройство управления. Здесь все необходимые микропрограммы хранятся в памяти (как правило, в ПЗУ) в виде последовательностей микрокоманд. Любая микрокоманда при этом несет в себе информацию обо всех вырабатываемых в данном такте управляющих сигналах и об адресе следующей микрокоманды.

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

Типичная структура микропрограммного УУ приведена на рис. 2

Рис. 2

Работа схемы осуществляется следующим образом. Из ОП считывается очередная машинная команда. Код операции этой команды дешифрируется и подается на устройство формирования адреса микрокоманд. Последнее вырабатывает адрес первой микрокоманды соответствующей микропрограммы. Эта микрокоманда считывается из памяти и помещается в регистр микрокоманд. Операционная часть микрокоманды дешифрируется (в общем случае!) и соответствующие управляющие сигналы подаются на АЛУ (вернее на операционный блок). Адресная часть микрокоманды определяет адрес следующей микрокоманды. Также в процессе формирования адреса следующей микрокоманды могут принимать участие и снимаемые с АЛУ признаки (например, признак «нулевого результата» и другие подобные). Эти признаки позволяют организовывать в микропрограммах условные переходы. Последняя микрокоманда микропрограммы несет в себе информацию о том, что она является последней и, следовательно, можно считывать из ОП следующую машинную команду.

В зависимости от способа формирования управляющих сигналов различают горизонтальное, вертикальное и смешанное микропрограммирование. При горизонтальном микропрограммировании каждый разряд кода микрооперации микрокоманды (смотри рис. 2) ставится в соответствие одному из возможных управляющих сигналов или, что то же самое, одной из возможных микроопераций. Если в разряде стоит единица, то соответствующая микрооперация в данном такте выполняется, если ноль – нет. При таком способе операционная часть микрокоманды содержит m разрядов, где m – общее число микроопераций в процессоре.

Достоинством такого способа является возможность одновременного выполнения в одном такте любого набора микроопераций и простота формирования управляющих сигналов. Последние просто снимаются из соответствующих разрядов микрокоманды. При этом, указанный на рис. 2 дешифратор оказывается не нужен. Однако у этого способа имеется и очевидный недостаток, а именно, при большом числе управляющих сигналов (а зачастую их число достигает нескольких сотен) формат микрокоманды становится недопустимо большим. В этом случае предпочтительнее использовать вертикальное микропрограммирование.

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

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