Управляющий автомат с программируемойПринцип построения управляющего автомата.

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

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

Совокупность управляющих сигналов

Y

= {у1, у2,...}, воздействующих на операционный автомат на каждом тактовом периоде, образует микрокоманду. Последовательность микрокоманд, предназначенную для выполнения некоторой операции, называют микропрограммой.

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

Y

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

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

Микрокоманда микропрограммы содержит ряд полей. Для каждого поля отведен определенное количество разрядов. Совокупность полей называют формата микрокоманды. Как правило, в формате микрокоманды предусматриваются:

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

Y

для управления операционным автоматом;

поле условий перехода, в котором указывается вид перехода: условный или безусловный. При условном переходе указывается логическое условие Х

i


, по которому осуществляется переход;

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

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

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

Yk

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

Составим микропрограмму для выполнения операции умножения двоичных чисел по рассмотренному выше алгоритму, представленному на рис. 1.3.1 в видеграф–схемы.

Выбор формата и числа разрядов микрокоманды.

Как отмечено выше, в формате микрокоманды микропрограммы должно быть предусмотрено поле ад

peca,

которое содержит код (предполагаемого) адреса следующей микрокоманды. Выберем число разрядов кода адреса равным трем, что позволит хранить в управляющей памяти адреса восьми микрокоманд. Если выполнение микрокоманд не связано с логическими условиями, то адресный код А2А1А0 передается через блок микропрограммного управления в управляющую память без изменения. При наличии условного перехода адрес в блоке микропрограммного управления может быть изменен. По этой причине в формате команды предусмотрено поле условий переходов, содержащее четыре разряда П, ПХ1, ПХ2, ПХ3. Значение П = 0 соответствует безусловному переходу. В этом случае разряды ПХ1, ПХ2, ПХ3 микрокоманды микропрограммы могут принимать любые значения (Ф = 0 или 1). Значения П = 1, ПХ

k


= 1 (

k

= 1, 2, 3) инициирует проверку логического условия Х

k




при этом Х

m


= 0 (

m





k

).

Например, при проверке логического условия Х2 необходимо установить П = 1 ПХ2 = 1, ПХ1 = 0, ПХ3 = 0. Следует отметить, что сигналы X1, Х2, Х3 логических условий формирует операционный автомат, а значения П, ПХ1, ПХ2, ПХ3 проверки логических условий содержатся в микрокомандах микропрограммы, которые хранятся в управляющей памяти (рис. 1.4.1). В поле управляющих сигналов заносятся значения микрокоманд

Y

1


,

Y

2


,

Y

3


,

Y

4


или сигналов у1, ...., у9, активизирующих выполнение микроопераций. Выбранный формат микрокоманды микропрограммы приведен в виде табл. 1.4.1. табл 1.4.1

Разметка граф–схемы алгоритма.

Цель разметки — размещение микрокоманд микропрограммы умножения двоичных чисел по ячейкам управляющей памяти. Для этого за каждой вершиной граф–схемы (рис. 1.3.1) необходимо закрепить номер ячейки памяти, начиная с 0 (в виде двоичного кода). Размеченная граф–схема алгоритма служит основой для составления микропрограммы. рис. 1.4.2

Микрокоманды микропрограммы.

Каждой вершине граф–схемы алгоритма (рис. 1.4.2) операции умножения двоичных чисел за исключением начальной и конечной поставим в соответствие микрокоманду микропрограммы. Будем различать микрокоманды двух типов:

операционные микрокоманды, выполняемые операционным автоматом под управлением сигналов {у

k


}, или микрокоманд

Y

1


,

Y

2


,

Y

3


,

Y

4


;

управляющие микрокоманды, предназначенные для реализации условных переходов в соответствии со значениями проверяемых условий X1, Х2, Х3.

Идентификатором типа микрокоманды служит бит П поля условий перехода: значению П = 0 соответствует операционная микрокоманда, значению П = 1 — управляющая микрокоманда.

Список микрокоманд МК микропрограммы приведен в табл. 1.4.2. В списке содержится 8 микрокоманд. Для их хранения используются ячейки памяти с адресами 000, ..., 111. Отметим, что для продолжения микропрограммы можно использовать 9–ю микрокоманду (с адресом 1000), соответствующую вершине граф–схемы «Конец». Однако в этом случае пришлось бы увеличить разрядность адресного кода до четырех, что в значительной мере усложнило бы схемное решение управляющего автомата и проведение компьютерного моделирования. табл 1.4.2

Формат разметки.

Полагаем, что микрокоманды микропрограммы МК1 МК2, .... МК8 хранятся в ячейках управляющей памяти с адресами 000, 001,... 111 соответственно.

При разметке в каждую вершину граф–схемы алгоритма вносится следующая информация:

микрокоманда микропрограммы, ее адресный код и код поля адреса

A

ПА


. Код

АПА приводится для наглядности. Например, запись

МК2 001 (100) в условной вершине (см. рис. 1.4.2) свидетельствует о том, что при Х1 = 0 будет выполняться микрокоманда МК5 из ячейки 100, а при Х1 = 1 – МК6 из ячейки 101;

сведения о состоянии операционного автомата

OA


. В операторных вершинах проставляется микрокоманда (

Y

1


,

Y

2


,

Y

3


или

Y

4


), которую выполняет операционный автомат. В условных вершинах операционный автомат не выполняет микрокоманд, поэтому ставится прочерк « — »;

сведения о состоянии блока микропрограммного управления БМУ. В операторной вершине выполняется безусловный переход (БП), в условной вершине — условный переход (УП). Поэтому делается соответствующая запись БП или УП) и указывается, по какому условию Х1, Х2 или Х3 выполняется переход.

О правилах разметки.

Разметка граф–схемы алгоритма (рис. 1.4,2) состоит в размещении пронумерованных микрокоманд МК1, ..., МК8 (или адресов 000, ..., 111) по отдельным вершинам и не является однозначной задачей. Трудности разметки связаны с условными вершинами, после прохождения которых выполняется одна из двух альтернативных микрокоманд. Для получения однозначного решения задачи разметки примем следующие соглашения (правила):

● при прохождении условной вершины должно выполняться соотношение:

АСЛ = АПА + Х

k


(

k

= 1, 2,



3),

(1.4)

где АПА — адрес, указанный в поле адреса текущей микрокоманды микропрограммы; АСЛ — адрес следующей исполняемой микрокоманды (или вершины граф–схемы). Как будет показано ниже, условие (1.4.1) реализуется с помощью счетчика;

● ячейки памяти с адресами АПА и АСЛ должны быть свободными.

Выполнение разметки.

В операторной вершине с микрокомандой разместим первую микрокоманду МК1 и адрес ячейки памяти 000 для ее хранения и сделаем следующую запись: МК1 000 (111); ОА:

Y

1


; БМУ:БП (рис. 1.4.2). Значение АПА = 111 выбрано исходя из следующих соображений.

В связи с ограничением разрядности адреса, в поле адреса условной вершины Х3 = ? должен быть указан максимальный 3–разрядный адресный код

АПА = 111, тогда согласно выражению (1.4.1):

● при Х3 = 1 адрес АСЛ

= АПА + Х3 = 1000, т. е. 4 — разрядный адрес указывает на вершину «Конец» и по принятому соглашению не используется;

● при Х3 = 0 адрес АСЛ = АПА + Х3 = 111 соответствует микрокоманде МК8, которая, как видно из рис. 1.3.1, проверяет логическое условие

Х2. Поэтому в условную вершину Х2 = ? заносим МК8 111 (001);

OA

:



; БМУ:УА по Х2, где в качестве

АПА указан адрес 001 следующей свободной ячейки.

В двух логических вершинах проверки условия X1 = ? размещены микрокоманды МК2, МКЗ с адресами 001, 010, удовлетворяющими условию

АСЛ = АПА + Х2 (1.4.1), где адрес АПА = 001 указан (в круглых скобках) в микрокоманде МК8.

В операторные вершины с микрокомандами

Y

3


,

Y

4


,

Y

2


занесены микрокоманды микропрограммы МК4, МК5, МК6 с адресами 011, 100, 101 следующих свободных ячеек памяти. Оставшийся свободным трехразрядный адрес 110 предоставлен микрокоманде (МК7), проверяющей условие ХЗ. Условие Х3 = 1 используется для останова операционного автомата, например, путем прекращения подачи синхроимпульсов.

Указанные в круглых скобках коды

ААП поля адреса обеспечивают правильную работу алгоритма (рис. 1.4.2).

Составление микропрограммы.

Используя размеченную граф–схему алгоритма (рис. 1.4.2), составим микропрограмму и представим ее в виде таблицы (табл. 1.4.3), каждая строка которой отражает содержимое ячейки памяти — 16–разрядную микрокоманду микропрограммы (см. табл. 1.4.1). Адреса ячеек памяти ЯП указаны в первом столбце, а номера хранящихся в них микрокоманд

(№ МК) — в последнем.

Особенности заполнения таблицы:

● в поле адреса (столбец ПА) для каждой микрокоманды МК1— МК8 заносятся приведенные на рис. 1.4.2 в скобках значения АПА;

● в поле условий перехода записывается:

• П = 0; ПХ1 = ПХ2 = ПХЗ = Ф (любое значение 0 или 1) для операционных микрокоманд (МК1, МК4, МК5, МК6);

• П = 1; ПХ

k


= 1; ПХN = 0 для управляющих микрокоманд (МК2, МКЗ, МК7, МК8), где Х

k


— проверяемое логическое условие,

XN

— другие логические условия;

● в поле управляющих сигналов делаются следующие записи: 1 — для всех выполняемых микроопераций у

k


; 0 — для всех микроопераций у

n


, которые не выполняются для данной микрокоманды. Поэтому поле управляющих сигналов для всех управляющих микрокоманд (МК2, МКЗ, МК7, МК8) заполняется нулями.

Ниже приводится описание всех используемых микрокоманд. 8 ячейке с адресом 000 хранится операционная микрокоманда МК1, которая:

● в операционном автомате

OA

выполняет загрузку, предусмотренную управляющими сигналами у1, .... у5 (

Y

1


). Поэтому поле управляющих сигналов содержит

y

1


=

y

2


=

y

3


=

y

4


=

y

5


= 1,

y

6


=

у7 =

y

8


=

y

9


= 0;

● для блока микропрограммного управления БМУ определяет безусловный переход (БП) к ячейке с адресом 111 (рис. 1.4.2). Поэтому в поле адреса ПА занесен код 111 следующей выполняемой микрокоманды (МК8); в поле условий перехода — П = 0, ПХ1 = ПХ2 = ПХ3 = Ф.

В ячейке 111 находится управляющая микрокоманда МК8, которая:

● не предусматривает никаких действий в

OA

, в связи с чем у1 = у2 = ...

= y9 =

0;

● определяет реализуемый с помощью БМУ условный переход по условию Х2 (П = 1, ПХ2 = 1, ПХ1 = ПХ3 = 0) согласно коду 001, указанному в ПА:

• при Х2 = 0 происходит переход в ячейку с адресом 001;

• при Х2 = 1 — в ячейку с адресом 010.

В ячейке с адресом 001 размещена управляющая микрокоманда МК2,

которая:

● не предусматривает никаких действий в

OA

, в связи с чем у1 = у2 = ... = у9 = 0;

● реализует с помощью БМУ условный переход по условию X1 (П = 1, ПХ1 = 1, ПХ2 = ПХ3 = 0) для случая Х2 = 0. В поле адреса указан код 100, поэтому:

• при X1 = 0 выполняется микрокоманда МК54) арифметического сдвига

R

1


(

RG

3


,

RG

2


, Т) из ячейки памяти с адресом 110, поскольку Х2Х1 = 00 (табл. 1.2.1);

• при Х2 = 1 происходит переход в ячейку с адресом 101 для выполнения микрокоманды МК6 сложения

RG

3


<—

RG

3


+

RG

1


, так как Х2Х1 = 01.

В ячейке с адресом 010 размещена управляющая микрокоманда МКЗ, которая:

● не предусматривает никаких действий в

OA

, в связи с чем у1 = у2= ... = у9 = 0;

● реализует с помощью БМУ условный переход по условию X1 (П = 1, ПХ1 = 1, ПХ2 = ПХ3 = 0) для случая Х2 = 1. В поле адреса указан код 011, поэтому:

• при X1 = 0 выполняется микрокоманда МК43) вычитания

RG

3


<—

RG

3




RG

1


из ячейки памяти с адресом 011, так как Х2Х1 = 10 (табл. 1.2.1);

• при X1 = 1 происходит переход в ячейку с адресом 100 для выполнения микрокоманды МК54) арифметического сдвига

R

1


(

RG

3


,

RG

2


, Т) из ячейки памяти с адресом 100, поскольку Х2Х1 = 11.

В ячейке с адресом 011 хранится операционная микрокоманда МК4, которая:

● в

OA

выполняет вычитание:

RG3

<—

RG3



R

G1

1). Поэтому поле управляющих сигналов содержит у7 = 1;

● для БМУ определяет безусловный переход к ячейке с адресом 100. Поэтому в поле адреса занесен код 100 следующей выполняемой микрокоманды (МК5); в поле условий перехода — П = 1, ПХ1 = ПХ2 = ПХ3 = Ф.

В ячейке с адресом 101 хранится операционная микрокоманда МК6, которая;

● в

OA

выполняет сложение:

RG

3


<—

RG3 + RG1(Y1).

Поэтому поле управляющих сигналов содержит у6 = 1;

● для БМУ определяет безусловный переход к ячейке с адресом 100. Поэтому в поле адреса занесен код 100 следующей выполняемой микрокоманды (МК5); в поле условий перехода — П = 0, ПХ1 = ПХ2 = ПХ3 = Ф.

В ячейке с адресом 100 хранится операционная микрокоманда МК5, которая:

● в

OA

выполняет микрооперации у8 — арифметического сдвига на один разряд вправо одержимого регистров

RG

3


,

RG

2


и триггера Т:

R

1


(

RG

3


,

RG

2


, Т) и у8 — уменьшение на 1 содержимого счетчика СТ. Поэтому поле управляющих сигналов содержит у8 = у9 = 1;

● для БМУ определяет безусловный переход к ячейке с адресом 110. Поэтому в поле адреса занесен код 110 следующей выполняемой микрокоманды (МК7); в поле условий перехода — П = 0, ПХ1 = ПХ2 = ПХ3 = Ф. В ячейке с адресом 111 находится управляющая микрокоманда МК7, которая:

● не предусматривает никаких действий в

OA

, в связи с чем у1 = у2 = ... = у9 = 0;

● определяет реализуемый с помощью БМУ условный переход по условию Х3 (П = 1, ПХ3 = 1, ПХ1 = ПХ2 = 0). В поле адреса указан код 111, поэтому:

• при Х3 = 0 происходит переход в ячейку с адресом 111, в которой хранятся рассмотренная выше микрокоманда

МК8 проверки логического условия Х2;

• при Х3 = 1 подается команда на окончание операции умножения.

Рассмотрим вопросы схемной реализации управляющего автомата с программируемой логикой (УАПЛ), состоящего из управляющей памяти и блока микропрограммного управления БМУ (рис. 1.4.1). Управляющий автомат должен сформировать требуемую для операционного автомата последовательность микрокоманд {У1, У2, УЗ, У4} на основании сигналов Х1, Х2, ХЗ логических условий, поступающих из операционного автомата.

Принцип хранения микропрограммы.

При построении управляющего автомата по принципу программируемой логики для хранения микропрограммы требуется запоминающие устройства (ЗУ). Для рассматриваемого операционного автомата в ЗУ должно хранится восемь микрокоманд. Помимо 3–разрядного адреса микрокоманда микропрограммы содержит 4–разрядное поле условий перехода и 4–разрядное поле микрокоманд

Y

1


,

Y

2


,

Y

З


,

Y

4


(вместо управляющих сигналов

y

0




y

9


см. табл. 1.4.3) операционного автомата. Таким образом, необходимо хранить восемь 11—разрядных микрокоманд. табл 1.4.3

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

Построение схемы памяти.

Таблица истинности составлена на основании микропрограммы, приведенной в табл.

1.4.3. Перенесем данные на карты Карно и выполним их разметку (рис.

1.4.3). Воспользовавшись картами Карно, запишем структурные формулы для комбинационной схемы памяти:

Y1 '

. ¯

AD1' . ¯

AD0'; Y2 = AD2' . ¯

AD1'. AD0'; Y3 = ¯

AD2' . AD1' . AD0';

Y4 = AD2'

.




¯

AD1' . ¯

AD0';

ПХ

1


=

¯

AD2';

ПХ

2


= AD1'

.


AD0';

ПХ

3


= AD2'

.


¯

AD0';

П

= AD1'

.


¯

AD0'



٧



AD2'

.


AD1'



٧





¯

AD2'.

¯

AD1' .

AD0'; AD0 = ¯

AD2' .

¯

AD0'



٧



AD2'

.


AD1;'

AD1 =

¯

AD0'; AD2 = ¯

AD1'



٧



AD2'

.


¯

AD

0'



٧





¯

AD

2'

.


AD

0'. рис. 1.4.3

Построенная по структурным формулам комбинационная схема приведена на рис. 1.4.4, а. Схема имеет три адресных входа

ADO', AD1', AD2'

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

С выхода комбинационной схемы снимается трехразрядный адрес

(AD0,

AD1, AD2),

указанный в микропрограмме, сигналы проверки логических условий (П, ПХЗ, ПХ2, ПХ1 ) и микрокоманд

(Y1,



Y2, Y3,



Y4).



На рис. 1.4.4, б приведена схема памяти в виде макроэлемента.




Рекомендуйте эту статью другим!