Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТО_САПР_2010_11.doc
Скачиваний:
3
Добавлен:
08.11.2018
Размер:
19.26 Mб
Скачать

4.5. Другие варианты построения микрокоманд

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

Кодируемые поля. Не все возможные комбинации 32 бит можно использовать в рассмотренных ранее микрокомандах базовой ЭВМ (см. табл. 4.2). Так, вентильные схемы 1, 2 и 3; 1 и 19; 23 и 24 и много других групп не могут быть открыты одновременно (см. рис. 4.7). Хотя принципиально нет ограничений на то, чтобы вентильные схемы 18, 19, 20, 21 и 22 были открыты одновременно, в действительности редко возникает необходимость в открытии в данный момент времени более одной из них.

Недопустимость более одного сигнала на левом и правом входах АЛУ, задания сигналов на входы АЛУ и использование в том же такте полученного результата, одновременной записи в БР суммы операндов и результатов их логического умножения — все это позволяет разбить операционную микрокоманду на две и сократить общее число используемых разрядов микрокоманды.

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

Один из возможных вариантов 16-разрядных микрокоманд базовой ЭВМ приведен на рис. 4.10. Здесь почти вся информация закодирована. Например, поле выбора проверяемого бита новой УМК в четыре раза меньше, чем в старой УМК (см. рис. 4.8). Несколько сократились и другие поля (чем длиннее поле, тем больше экономия от кодирования). Однако для декодирования таких сжатых полей требуется использовать специальную схему — дешифратор.

Дешифратор «1 из 2п» представляет собой комбинационную схему с n входами и 2n выходами (на рис. 4.11 показаны два дешифратора: «1 из 16», имеющий 4 входа и 24 = 16 выходов, и «1 из 4», имеющий 2 входа и 22 = 4 выхода). Каждая выходная линия дешифратора однозначно соответствует одной из 2n возможных комбинаций входных сигналов.

На рис. 4.11 приведена часть одного из вариантов микропрограммного устройства управления базовой ЭВМ в момент обработки 16-разрядной управляющей микрокоманды ЕС5Е — IF BIT (12, РК) — 1 THEN БАД (5Е). Значение (10) 2, находящееся в поле выбора проверяемого регистра (12— 13 биты УМК), создает, проходя через дешифратор DC2, единичный управляющий сигнал У2. Этот сигнал открывает вентильную схему В2 (см. рис. 4.7), и содержимое РК переписывается в буферный регистр (БР). Значение (1100)2, находящееся в поле выбора проверяемого бита (8—11-й биты УМК), создает на 12-м выходе дешифратора DC1 единичный управляющий сигнал, который используется для выделения и пересылки на сравнивающее устройство 12-го бита БР, т. е. 12-го бита РК. Так как в однобитовом поле сравнения записана 1, то при единичном значении 12-го бита РК в счетчик микрокоманд (СчМК) переписывается адрес перехода 5Е (0 - 7-й биты УМК).

Для декодирования операционных микрокоманд ОМКО и ОМК1 (см. рис. 4.10) потребуются еще восемь дешифраторов. Однако экономия затрат на память микрокоманд (эта память сокращается вдвое за счет использования 16-разрядных микрокоманд) будет, вероятно, превышать стоимость этих дешифраторов.

Текст интерпретатора базовой ЭВМ, написанный с использованием 16-разрядных микрокоманд, приведен в табл. 4.3 (графа ВЕРТИКАЛЬНАЯ). Название графы обусловлено тем, что микрокоманды, состоящие из большого числа кодируемых полей, принято называть вертикальными, в отличие от горизонтальных микрокоманд, в которых каждый бит управляет одной вентильной схемой.

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

Рис. 4.10. Шестнадцатиразрядные микрокоманды базовой ЭВМ

На рис. 4.12 приведены три первые микрокоманды машинного цикла «Выборка команды» базовой ЭВМ и последовательность их выполнения при двухфазном тактировании (фазы Ф1 и Ф2). По этим новым (более емким) микрокомандам выполняются те же микрооперации, что и по шести первым микрокомандам в табл. 4.3.

Рис. 4.11. Часть микропрограммного устройства управления

с 16-разрядными микрокомандами

Нанопамять. Количество различных по содержанию горизонтальных микрокоманд обычно невелико, но часть из них используется многократно (например, РА = РК, CK = CK-f-l, CK = PK и другие команды базовой ЭВМ). Это обстоятельство, а также большая длина таких микрокоманд натолкнули разработчиков ЭВМ на мысль о размещении в специальной дополнительной памяти (нанопамяти) только неповторяющихся микрокоманд. Микропрограмма же в этом случае будет состоять лишь из управляющих микрокоманд и адресов ячеек нанопамяти.

Так как количество ячеек нанопамяти невелико, то их адреса имеют малую разрядность, что позволяет уменьшить длину ячеек памяти микрокоманд, где размещаются такие адреса. Это в ряде случаев существенно сокращает общий объем памяти, несмотря на появление нового вида памяти — нанопамяти.

Сокращение количества и разрядности управляющих микрокоманд. Каждая из управляющих микрокоманд базовой ЭВМ производит проверку лишь одного из битов заданного регистра (см. параграф 4.3). Поэтому для декодирования команды или выявления индексной ячейки иногда приходится использовать длинные последовательности из таких УМК (более 20 УМК).

Рис.4.12. Начало последовательности микроопераций по выборке команды

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

Это, например, позволяет использовать для декодирования кода операции команды всего лишь одну УМК вместо последовательности из 15—20 УМК; проверкой комбинации битов заданного регистра.

Это, например, позволяет использовать для выявления индексной ячейки лишь одну УМК вместо последовательности из 8 УМК.

Уменьшения разрядности УМК в основном добиваются путем замены адреса перехода на более короткое смещение, добавляемое к текущему адресу УМК. или вычитаемое из него, и создание нескольких форматов УМК (специализацией УМК) Это позволяет получить УМК, размещаемые в однобайтовых ячейках памяти УМК, что крайне полезно в случае использования нанопамяти.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]