УПРАВЛЯЮЩИЕ АВТОМАТЫ С ПРОГРАММИРУЕМОЙ ЛОГИКОЙ.
Существует несколько вариантов построения таких автоматов. В качестве примера рассмотрим управляющий автомат с принудительной адресацией одноадресных МК, использующих раздельно закодированные поля. Формат микрокоманды:
![]() |
МК состоит из двух частей: адресной и операционной. В адресную часть входят: поле адреса А следующей выполняемой МК и поле проверяемого логического условия Х. В операционную часть входят раздельно кодируемые поля микроопераций. Количество таких полей равно максимальному числу управляющих сигналов
, формируемых одновременно, т е в одном такте. Операционная часть МК как раз и служит для записи одновременно формируемых сигналов
, причем каждое поле
используется для записи множества сигналов
, которые одновременно не формируются. В каждый момент времени может формироваться только один сигнал
из каждого множества
. Поскольку таких множеств в МК m штук, то одновременно формируются до m сигналов – по одному из каждого множества
. Если в данный момент времени ни один сигнал из j-го множества
не формируется, то поле
=0.
Структурная схема управляющего автомата с программируемой логикой имеет следующий вид:
В схеме приняты следующие обозначения: СТ – счетчик адреса МК, ДС – дешифратор адреса МК, ЗУ – запоминающее устройство (память МК), RGMK – регистр МК, ЗА – задающий автомат.
При использовании данной схемы в качестве управляющего автомата, выполнение микропрограммы сводится к чтению содержимого ячеек ЗУ в требуемой последовательности. Этот процесс осуществляется по управляющим сигналам , формируемых ЗА. ЗА – автомат с жесткой логикой, имеющий следующую рабочую микропрограмму:
Здесь Z - сигнал запуска, В – логическое условие, равное единице, если в счетчике микрокоманд находится адрес первой выполняемой МК в микропрограмме (как правило это 0й адрес). По управляющему сигналу осуществляется формирование сигналов микроопераций
. По управляющему сигналу
в счетчик адреса микрокоманд СТ записывается адрес следующей выполняемой МК. В целом управляющий автомат работает следующим образом: в счетчик СТ записывается нулевой начальный адрес и из ЗУ в регистр RGMK записывается первая МК. Подается сигнал запуска Z в ЗА. ЗА начинает формировать последовательность сигналов
. По сигналу
формируются сигналы микроопераций
для находящейся в регистре RGMK микрокоманды. По сигналу
в счетчике СТ записывается адрес следующей МК. По этому адресу из ЗУ читается вторая МК и т д.
При определении адреса следующей МК все разряды адреса А, кроме младшего, передаются в счетчик СТ непосредственно из адресной части выполняемой МК. В поле Х может быть записан либо 0, либо двоичный код, присвоенный одному из логических условий. Где F – количество различных условий
, которые проверяются в микропрограмме. Если в поле Х записан 0, то младший разряд адреса А из адресной части выполняемой МК через верхний конъюнктор записывается в младший разряд Д1 счетчика СТ. Таким образом в этом случае адрес полностью поступает в счетчик СТ, включая младший разряд, и следующей будет выполняться МК, хранящаяся в ЗУ по этому адресу. Если нужно реализовать условный переход, то в поле Х записывается номер f проверяемого условия
и в младший разряд Д1 счетчика СТ поступает значение самого условия
, т е либо 0, либо1. Проверяемое условие
проходит через выбранный с помощью дешифратора ДСх соответствующий конъюнктор и поступает в младший разряд Д1 счетчика СТ. Таким образом реализуется переход к одной из двух МК, записанных в ЗУ по адресам: А1 0, А1 1. А1 – (n-1) разрядный адрес из поля А, т е все разряды, кроме младшего. В результате в зависимости от значений проверяемого условия
реализуется условный переход либо по адресу А1 0, либо по адресу А1 1. В приведенной структурной схеме управляющего автомата с программируемой логикой признаком окончания микропрограммы является равенство единице условия В. Поэтому последняя выполняемая МК в микропрограмме должна передавать управление первой МК. Тогда В становится равным единице и ЗА выходит на конечную вершину графа МП и останавливается.