Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
43_Ho3 / 9-ЦИФРОВЫЕ АВТОМАТЫ.DOC
Скачиваний:
38
Добавлен:
11.02.2016
Размер:
128.51 Кб
Скачать

Цифровые автоматы

3.1. Общая структура цифровых автоматов.

В любом устройстве обработки цифровой информации можно выделить опера­ционный и управляющий блоки.

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

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

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

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

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

Рис. 3.1. Операционный и уп­равляющий блоки цифрового устройства

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

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

Управляющий блок (или управляющий автомат) вырабаты­вает распределенную во времени последовательность упра­вляющих сигналов

vt1, vt2, …, vtk (vtj  V)

порождающих в операционном блоке нужную последователь­ность микроопераций.

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

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

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

Функционирование вычислительного устройства может быть описано совокупностью реализуемых в нем микропро­грамм

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

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

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

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

Такты

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

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

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

Соседние файлы в папке 43_Ho3