ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 5236
Скачиваний: 8
Микропрограммный автомат с жесткой логикой
тор. Синхронизатор содержит счетчик тактов, осуществляющий подсчет СИ. Узел
синхроимпульсов после завершения очередного такта работы добавляет к содер-
жимому счетчика тактов единицу. К выходам счетчика подключен дешифратор
тактов, с которого и снимаются сигналы тактовых периодов:
T
1
...,
Тn.
В i-м состоя-
нии счетчика тактов, то есть во время i-го такта, дешифратор тактов вырабатывает
единичный сигнал на своем
i-м
выходе. При такой организации в УУ должна быть
предусмотрена обратная связь, с помощью которой по окончании цикла команды
счетчик тактов опять устанавливается в состояние Г,.
Дополнительным фактором, влияющим на последовательность формирования
СУ, являются состояние осведомительных сигналов (флагов), отражающих ход
вычислений, и сигналы с шины управления. Эта информация также поступает на
вход УУ, причем каждая линия здесь рассматривается независимо от остальных.
Процесс синтеза схемы МПА с жесткой логикой называется структурным син-
тезом и разделяется на следующие этапы:
• выбор типа логических и запоминающих элементов;
• кодирование состояний автомата;
• синтез комбинационной схемы, формирующей выходные сигналы.
Чтобы определить способ реализации МПА с жесткой логикой, необходимо
описать внутреннюю логику УУ, формирующую выходные сигналы управления,
как булеву функцию входных сигналов. Канонический метод структурного синте-
3 0 2 Глава 6. Устройства управления
за МПА был предложен В. М. Глушковым. Согласно этому методу, задача синтеза
автомата сводится к синтезу комбинационной схемы путем построения системы
логических функций с последующей их минимизацией.
Принцип построения логических схем формирования управляющих сигналов
поясняется на рис. 6.7. Здесь показан фрагмент схемы, обеспечивающей выработ-
ку управляющего сигнала
в
i-м
и
S
-м тактах выполнения команды с кодом опе-
рации
j
, причем сигнал
появляется в
i-м
такте только при значениях осведоми-
тельных сигналов x1=1 и x3=1 S-м такте всегда.
Таким образом, название «жесткая логика» обусловлено тем, что каждой мик-
ропрограмме здесь соответствует свой набор
схем с фиксированными
связями между ними. При реализации простой системы команд узлы МПА с жест-
кой логикой экономичны и позволяют обеспечить наибольшее быстродействие из
всех возможных методов построения МПА. Однако с возрастанием сложности
системы команд соответственно усложняются и схемы автоматов с жесткой логи-
кой, в результате чего уменьшается их быстродействие. Второй недостаток МПА
с жесткой логикой — малая регулярность, а следовательно, и большие трудности
при размещении УУ такого типа на кристалле интегральной микросхемы.
Микропрограммный автомат
с программируемой логикой
Принципиально иной подход, позволяющий преодолеть сложность УУ с жесткой
логикой, был предложен британским ученым М. Уилксом в начале 50-х годов
В основе идеи лежит тот факт, что для инициирования любой микрооперации
достаточно сформировать соответствующий СУ на соответствующей линии уп-
равления, то есть перевести такую линию в активное состояние. Это может быть
представлено с помощью двоичных цифр 1 (активное состояние — есть СУ) и О
(пассивное состояние — нет СУ). Для указания микроопераций, выполняемых в
данном такте, можно сформировать управляющее слово, в котором каждый бит
соответствует одной управляющей линии. Такое управляющее слово называют
микрокомандой
(МК). Таким образом, микрокоманда может быть представлена
управляющим словом со своей комбинацией нулей и единиц. Последовательность
микрокоманд, реализующих определенный этап машинного цикла, образует
мик-
ропрограмму.
В терминологии на английском языке микропрограмму часто назы-
вают
firmware,
подчеркивая тот факт, что
нечто среднее между аппаратурой
(hardware)
и программным обеспечением
(software).
Микропрограммы для каж-
дой команды ВМ и для каждого этапа цикла команды размещаются в специальном
ЗУ, называемом
памятью микропрограмм
(ПМК). Процесс формирования СУ
можно реализовать, последовательно (с каждым тактовым импульсом) извлекая
микрокоманды микропрограммы из памяти и интерпретируя содержащуюся в них
информацию о сигналах управления.
Аналогичную идею, независимо от Уилкса, в 1957 году выдвинул российский ученый Н. Я. Матю-
хин. Предложенное им УУ с программируемой логикой было реализовано в
году в специализи-
рованной ВМ «Тетива», предназначенной для
противовоздушной
Микропрограммный автомат с программируемой логикой
3 0 3
Идея заинтересовала многих конструкторов ВМ, но была нереализуема, по-
скольку требовала использования быстрой памяти относительно большой емкости.
Вновь вернулись к ней в
году, в ходе создания системы IBM 360. С тех пор
устройства управления с программируемой логикой стали чрезвычайно популяр-
ными и были встроены во многие ВМ. В этой связи следует упомянуть запатенто-
ванный академиком В. М. Глушковым принцип ступенчатого микропрограммиро-
вания, который он впервые реализовал в машине
Принцип управления по хранимой
в памяти микропрограмме
Отличительной особенностью микропрограммного автомата с программируемой
логикой является хранение микрокоманд в виде кодов в специализированном за-
поминающем устройстве — памяти микропрограмм. Каждой команде ВМ в этом
ЗУ в явной форме соответствует микропрограмма, поэтому часто устройства уп-
равления, в состав которых входит микропрограммный автомат с программируе-
мой логикой, называют микропрограммными.
Типичная структура микропрограммного автомата представлена на рис. 6.8.
В составе узла присутствуют: память микропрограмм (ПМП), регистр адреса мик-
рокоманды (РАМ), регистр микрокоманды (РМК), дешифратор микрокоманд
(ДшМК), преобразователь кода операции, формирователь адреса следующей мик-
рокоманды (ФАСМ), формирователь синхроимпульсов (ФСИ).
3 0 4 Глава 6. Устройства управления
Запуск микропрограммы выполнения операции осуществляется
путем
переда-
чи кода операции из РК на вход преобразователя, в котором код операции преоб-
разуется в начальный (первый) адрес микропрограммы
А„.
Этот адрес поступает
через ФАСМ в регистр адреса микрокоманды. Выбранная по адресу из ПМП
микрокоманда заносится в РМК. Каждая микрокоманда в общем случае содержит
микрооперационную (МО) и адресную (А) части.
часть мик-
рокоманды поступает на дешифратор микрокоманды, на выходе которого образу-
ются управляющие сигналы
инициирующие выполнение микроопераций в ис-
полнительных устройствах и узлах ВМ. Адресная часть микрокоманды подается в
ФАСМ, где формируется адрес следующей микрокоманды
Этот адрес может
зависеть от адреса на выходе преобразователя кода операции
Аи,
адресной части
текущей микрокоманды
А
и значений осведомительных сигналов (флагов)
X,
по-
ступающих от исполнительных устройств. Сформированный адрес микрокоман-
ды снова записывается в РАМ, и процесс повторяется до окончания микропро-
граммы.
Разрядность адресной
и микрооперационной
частей микрокоман-
ды определяются из соотношений
где
— общее количество микрокоманд;
— общее количество формируе-
мых сигналов управления.
В свою очередь, необходимая емкость памяти микропрограмм равна
Кодирование микрокоманд
Информация том, какие сигналы управления должны быть сформированы в про-
цессе выполнения текущей МК, в закодированном виде содержится в микроопе-
рационной части (МО) микрокоманды. Способ кодирования микроопераций во
многом определяет сложность аппаратных средств устройства управления и его
скоростные характеристики. Применяемые в микрокомандах варианты кодирова-
ния сигналов управления можно свести трем группам: минимальное кодирование
(горизонтальное микропрограммирование), максимальное кодирование (верти-
кальное микропрограммирование) и групповое кодирование (смешанное микро-
программирование). Структуры микропрограммных автоматов при различных
способах кодирования микроопераций показаны на рис. 6.9
При горизонтальном микропрограммировании (см. рис. 6.9,
а)
под каждый сиг-
нал управления в микрооперационной части микрокоманды выделен один разряд
Это позволяет в рамках одной микрокоманды формировать любые
сочетания СУ, чем обеспечивается максимальный параллелизм выполнения мик-
роопераций. Кроме того, отсутствует необходимость в декодировании
и выходы
регистра микрокоманды могут быть непосредственно подключены к соответству-
ющим управляемым точкам ВМ. Широкому распространению горизонтального
микропрограммирования тем не менее препятствуют большие затраты на хране-
ние микрооперационных частей микрокоманд
=
*
причем
Микропрограммный автомат с программируемой логикой
3 0 5
Рис.
Структуры МПА при различных способах кодирования микроопераций:
а
— минимальном;
б
— максимальном; в — максимальном с шифратором;
— горизонтально-вертикальном;
д
— вертикально-горизонтальном
тивность использования ПМП получается низкой, так как при большом числе
микроопераций в каждой отдельной МК реализуется лишь одна или несколько из
них, то есть подавляющая часть разрядов МО содержит нули.
При максимальном (вертикальном) кодировании (см. рис. 6.9,
б)
каждой мик-
рооперации присваивается определенный код, например, ее порядковый номер в
полном списке возможных микроопераций. Этот код и заносится в МО. Микро-
операционная часть МК имеет минимальную длину, определяемую как двоич-
ный логарифм от числа управляющих сигналов (микроопераций) по формуле (6.2).
Такой способ кодирования требует минимальных аппаратных затрат в ПМП на
хранение микрокоманд, однако возникает необходимость в дешифраторе ДшМК,
который должен преобразовать код микрооперации в соответствующий сигнал уп-
равления. При большом количестве СУ дешифратор вносит значительную вре-
менную задержку, а главное — в каждой МК указывается лишь один сигнал управ-
ления, инициирующий только одну микрооперацию, за счет чего увеличиваются
длина микропрограммы время ее реализации.
., Последний недостаток устраняется при подключении к выходам ДшМК шиф-
ратора (Ш) (см. рис.
что приводит к увеличению количества СУ, формиру-
емых одновременно.
что помимо кодов отдельных микроопераций
должны быть предусмотрены коды, представляющие и определенные комбинации
микроопераций. Для повышения универсальности шифратор целесообразно стро-
ить на базе запоминающего устройства.
Вариант, представленный на
6.9,
в,
рационален,