←предыдущая следующая→
1 2 3 4 5
Антик М.И. 11_03_91 МИРЭА
УПРАВЛЯЮЩИЕ АВТОМАТЫ.
ОСНОВНЫЕ СПОСОБЫ АДРЕСАЦИИ МИКРОКОМАНД
Начнем с рассмотрения простейшего варианта управления, в
котором не участвуют предикатные функции (переменные), т.е. в
микропрограмме переходы только безусловные. В таком случае УА
является автономным синхронным автоматом.
В более общем случае функция переходов УА зависит от
предикатных переменных, но УА должен быть автоматом Мура.
Условимся о некоторых ограничениях, позволяющих упрос-
тить схему на начальных этапах проектирования (от которых
легко впоследствии и отказаться):
- на каждом шаге процесса вычислений ветвление может осу-
ществляться только по одной двузначной предикатной перемен-
ной (т.е. разветвление возможно лишь на два направления);
- начальные значения всех регистров УА являются нулевыми.
Впредь на схемах УА не будем показывать цепей установки на-
чальных значений.
Для реализации в самом общем случае микропрограмм произ-
вольной структуры будем строить УА так, чтобы основным мате-
риальным носителем управляющей (автоматной) компоненты мик-
ропрограммы являлась бы управляющая память (реализованная,
например, в виде ПЗУ). В этом случае структура слова управля-
ющей памяти - МИКРОИНСТРУКЦИЯ - состоит из двух составных
частей: микрокоманды и адресной части.
Адресная часть микроинструкции содержит информацию, поз-
воляющую в следующем такте работы выбрать ( указать ) новый
адрес управляющей памяти. Реализация именно этого момента яв-
ляется основным предметом дальнейшего рассмотрения и опреде-
ляет, в основном, структуру, объем аппаратуры и быстродей-
ствие УА. При этом подлежит рассмотрению реализация следующих
типов переходов как между шагами алгоритма, так, соот-
ветственно, и между микроинструкциями:
- безусловный переход,
- условный переход,
- функциональный переход,
- переход к микроподпрограмме с возвратом.
Будем изучать работу управляющих автоматов различной
структуры, демонстрирующие основные применяемые варианты ад-
ресации микроинструкций, на следующем алгоритме:
___
+---+¦
¦ +VV-+
n1¦ ¦m1 ¦ n1 { m1 }
¦ +---+
¦ +-V-+ n2 { m2 }
n2¦ ¦m2 ¦
¦ +---+ g1 <<GO(a;g1,n3)>>
¦ ¦<--+
¦ +V+ 0¦ n3 { m3 }
g1¦ < a >-+
¦ +-+ n4 { m4 }
¦ 1¦<----+
¦ ¦+---+¦ g2 <<GO((a,b);n5,n3,n1,n1)>>
¦ +-VV+ ¦¦
n3¦ ¦m3 ¦ ¦¦ n5 { m5 }
¦ +---+ ¦¦
¦ +-V-+ ¦¦ g3 <<GO(a;n5,n3)>>
n4¦ ¦m4 ¦ ¦¦
¦ +---+ ¦¦
¦10 +V+ 01¦¦
g2+--< ab>--+¦
11 +-+ ¦
00¦+---+¦
+-VV+ ¦¦
n5 ¦m5 ¦ ¦¦
+---+ ¦¦
+V+ 0 ¦¦
g3 < a >--+¦
+-+ 1 ¦
+-----+
Укажем на некоторые особенности этого алгоритма: Опера-
тор перехода (предикатная вершина), помеченный меткой g1,
называют ждущим. Оператор, помеченный меткой g2, использует
для перехода 4-значный предикат, что не удовлeтворяет выше-
указанному ограничению. Поэтому потребуются эквивалентные
преобразования алгоритма для того, чтобы удовлетворить этому
ограничению.
Алогоритмы эквмвалентны, если они преобразуют информа-
цию одинаковым образом. Наиболее распространенным приемом эк-
вивалентного преобразования алгоритмов и микропрограмм явля-
ется включение микроблоков и, соответственно, тактов, в кото-
рых не выполняется модификация памяти ОА - "нет операции".
Но и это преобразование может быть не эквивалентным - см.при-
мер при определении понятия "микроблок"; кроме того, следует
учесть различное поведение во времени предикатных переменных
типа "РА" и "РВ" - см. раздел "Взаимодействие ОА и УА".
( Запретить модификацию памяти можно, вводя условную
синхронизацию ОА, но для этого должна быть изменена микроко-
манда, предшествующая добавляемому такту.)
СХЕМА С АДРЕСНЫМ ПЗУ
Начнем рассмотрение с управляющего автомата, структура
которого совпадает с канонической структурой автомата Мура.
+---+ +---+ +----+ +---+
¦MUX¦ q ¦ROM¦ ¦¦RG¦¦ ¦ROM¦
a->¦0 +-->¦ ¦ S' ¦¦ ¦¦ S ¦ ¦ Y
b->¦1 ¦ ¦ ¦--->¦¦ ¦¦-->¦ ¦-->
¦ ¦ +>¦ ¦ ¦¦ ¦¦ ¦ ¦ +-+
¦А ¦ ¦ ¦ 2 ¦ C¦¦ ¦¦ ¦ ¦ 1 ¦ ¦
+A--+ ¦ +---+ -/-----+ ¦ +---+ ¦
¦ H +-----------------+ ¦
+------------------------------+
Функцию перехода и функцию выхода реализуем в виде ПЗУ.
В литературе, рассматривающей микропрограммные устройства уп-
равления, УА с такой структурой называют микропрограммным ав-
томатом Уилкса.
В ПЗУ (ROM_1), реализующем функцию выхода, следует раз-
местить микрокоманды; при этом их распределение по определен-
ным адресам совершенно произвольно, за исключением начальной
микрокоманды, которая в силу вышеуказанного ограничения дол-
жна располагаться по нулевому адресу.
ПЗУ (ROM_2), реализующее функцию переходов автомата,
можно трактовать как адресное ПЗУ. Ячеек в адресном ПЗУ в два
раза больше, чем в ПЗУ микрокоманд. Каждой ячейке ПЗУ микро-
команд соответствуют две ячейки в адресном ПЗУ, в которых за-
писываются два альтернативных адреса.
n1 { m1 } S¦ Y H¦ S q¦S'¦
-+----¦ ---+--¦
n2 { m2 } 0¦m1 x¦ 0 0¦ 1¦
¦ ¦ 0 1¦ 1¦
<<GO(a;d1,n3)>> ¦ ¦ ¦ ¦
1¦m2 0¦ 1 0¦ 2¦
d1 { m0 } ¦ ¦ 1 1¦ 3¦
¦ ¦ ¦ ¦
<<GO(a;d1,n3)>> 2¦m0 0¦ 2 0¦ 2¦
¦ ¦ 2 1¦ 3¦
n3 { m3 } ¦ ¦ ¦ ¦
3¦m3 x¦ 3 0¦ 4¦
n4 { m4 } ¦ ¦ 3 1¦ 4¦
¦ ¦ ¦ ¦
<<GO(a;d2,n1)>> 4¦m4 0¦ 4 0¦ 5¦
¦ ¦ 4 1¦ 0¦
d2 { m0 } ¦ ¦ ¦ ¦
←предыдущая следующая→
1 2 3 4 5
|
|