Управляющие автоматы


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

Интервал времени, отводимый на выполнение микрооперации, называется рабочим тактом или просто тактом устройства или системы обработки цифровой информации.

Для реализации команды, операции или процедуры (микропрограммы) необходимо на соответствующие управляющие входы операционного блока подать определённым образом распределённую во времени последовательность управляющих сигналов.

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

Генерируемая управляющим автоматом последовательность управляющих сигналов задаётся поступающими на входы этого автомата кодом операции (КОП) Z, сигналами из операционного блока U, несущими информацию об особенностях операндов, промежуточных и конечного результата, а также синхросигналами, задающими границы тактов.

Таким образом управляющий автомат (блок) формально можно рассматривать как цифровой автомат, определяемый:

- множеством двоичных выходных сигналов W={w1, ..., wg, ..., wG}, соответствующих множеству микроопераций операционного блока. При wg=1 инициализируется g-я микрооперация;

- множествами входных сигналов

Z={z1, ..., zf, ..., zF}, U={u1, ...,ui, ..., uI}, соответствующих задаваемому блоку извне двоичному коду операции (КОП) Z и двоичным оповещающим сигналам U;

- множеством подлежащих реализации микропрограмм, устанавливающих в зависимости от значений входных сигналов управляющие сигналы, выдаваемые блоком в определённые такты.

По множествам входных и выходных сигналов и всем микропрограммам определяется множество внутренних состояний блока

A={a1, ..., am, ..., aM},

мощность которого (объём памяти управляющего автомата) в процессе проектирования необходимо минимизировать.

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

Управляющий микропрограммный автомат может быть задан как автомат Мура или как автомат Мили, в любом из которых функции переходов d и функции выходов l определяются заданной микропрограммой.

Управляющие автоматы строятся по двум основным принципам:

- как цифровые автоматы с жёсткой (или схемной логикой). Для каждой операции, задаваемой, например, кодом операции, строится набор комбинационных схем, которые в нужных тактах возбуждают соответствующие управляющие сигналы. Таким образом, строится цифровой автомат, в котором необходимое множество состояний определяется состоянием K запоминающих элементов

q={q1, ..., qk, ..., qK},

где K=]log2M[ при A={a1, ..., am, ..., aM}.

Функции переходов d и выходов l реализуются с помощью комбинационных схем;

- как управляющие автоматы с хранимой в памяти логикой (с «запоминаемой или программируемой логикой»). Каждой выполняемой в операционном устройстве операции ставится в соответствие совокупность хранимых в памяти слов - микрокоманд, содержащих каждая информацию о микрооперациях, подлежащих выполнению в течение одного машинного такта, и указание (в общем случае зависящее от значений входных сигналов), какое должно быть выбрано из памяти следующее слово (т.е. следующая микрокоманда).Таким образом, в этом случае функции переходов d и выходов l управляющего автомата реализуются хранимой в памяти совокупностью микрокоманд.

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

Такой метод управления цифровым устройством обработки информации называется микропрограммированием, а использующие этот метод управляющие блоки - микропрограммными управляющими устройствами (или автоматами).