Типы управляющих автоматов

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

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

Для реализации команды, операции или процедуры (микро­программы) необходимо на соответствующие управляющие входы операционного блока подать определенным образом распределенную во времени последовательность управляющих функциональных сигналов. Например, для выполнения приве­денной в предыдущей главе микропрограммы операции сложе­ния и вычитания необходимо подвести к управляющим входам АЛУ следующую последовательность функциональных сигна­лов:

Такты

1 ПрРгВ

2 ПрРг1

3 ПрРгАП или ПрРгАИ

4 ПрРгСм или ПрРгСм, + 1 См

5 ПрШИВых

Подчеркнем, что каждый управляющий функциональный сигнал поступает в начале некоторого такта на соответствующий вход АЛУ, вызывая в этом такте выполнение в АЛУ опре­деленной микрооперации (передача слова, суммирование кодов и др.)

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

Формально управляющий блок можно рассматривать как конечный автомат, определяемый:

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

V={v1, v2,...,vm},

соответствующих множеству микроопераций операционного блока. При Vi = 1 возбуждается i-я микрооперация

б) множествами входных сигналов Z и U:

Z={z1, z2,…,zp};

и= {u1, u2,...,un},

соответствующих задаваемому блоку извне двоичному коду операции (Z) и двоичным оповещающим сигналам (U);

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

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

S = {Q0, Q1,…,Qr}

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

Сказанное поясняет, почему управляющие блоки называют управляющими автоматами. Поскольку эти автоматы задают­ся микропрограммами, они часто именуются микропро­граммными автоматами.

Управляющий автомат может быть задан как автомп; Мура:

Q(t+1)=A[Q(t), z1(t),...,zp(t), u1(t),...,un(t)];

v1(t) = B1[Q (t)];

…………………….

vm(t) = Bm[Q(t)]; (7.1)

или как автомат Мили:

Q(t+1)=A[Q(t), z1(t),...,zp(t), u1(t),...,un(t)];

v1(t) = B1[Q (t), z1(t),...,zp(t), u1(t),...,un(t)];

…………………….

vm(t) = Bm[Q(t), z1(t),...,zp(t), u1(t),...,un(t)]; (7.1a)

где функция переходов А и функции выходов В, определяются заданной микропрограммой.

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

1. Управляющий автомат с жесткой, или схемной, логикой. Для каждой операции, задаваемой, например, кодом операции команды, строится набор комбинационных схем, которые в нужных тактах возбуждают соответствующие управляющие сигналы. Другими словами, строится конечный автомат, в ко­тором необходимое множество состояний представляется со­стояниями k запоминающих элементов:

q = {q1, q2, …, qk}

где k = ]log2 (r+ 1) [ при S = {Qo, Q1,..., Qr,}, а функции пере­ходов и выходов А и Вi реализуются с помощью комбина­ционных схем.

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

Последовательность микрокоманд, выполняющих одну ма­шинную команду или отдельную процедуру, образует микро­программу. Обычно микропрограммы хранятся в специальной памяти микропрограмм («управляющей памяти»).

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: