Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
автомат с жёсткой логикой.doc
Скачиваний:
23
Добавлен:
18.03.2016
Размер:
293.38 Кб
Скачать

Микропрограммный уа с естественной адресацией

Структура, предлагаемая в аппарате с принудительной адресацией, удобна, но можно заметить, что большинство МК в ПЗУ идут подряд, а те, которые не подчиняются этому правилу, нередко можно переставлять местами. Это относится к состояниям «с буквами» в предыдущем примере, когда автомат, фактически находясь в одном состоянии, проверяет какой-то набор входных сигналов.

Поэтому логично представить себе автомат, имеющий в своём составе вместо адресного мультиплексора MS2 и регистра РАМК простой счётчик адреса с возможностью предзагрузки, которой мы могли бы воспользоваться для выполнения перехода в несмежное с текущим состояние.

Такие МП автоматы называются автоматами с естественной адресацией – рис 8.

Рис 8. Структура МП УА с естественной адресацией.

Можно заметить, что здесь есть 2 вида микрокоманд (РМК на рисунке), различающихся старшим битом V:

0 – ОМК – операционная микрокоманда, содержащая во всех остальных разрядах сигналы  Y.

1 – УМК – управляющая микрокоманда, т.е. МК перехода. Её поле A – адрес перехода, подаётся на входы предзагрузки счётчика. Nx – то же, что и выше – код проверяемого сигнала Xi. Безусловный переход реализуется подобно первому варианту – фиксированным лог. 0 на одном из входов MS. Т.е. автомат выполняет переход, если Xi==0.

Счётчик-РАМК при V=0 выполняет загрузку со входов D, при V=1 выполняется счёт (инкремент – увеличение значения на 1) по тактовым импульсам  на входе +1.

В структуре автомата также появился ещё один дополнительный регистр – REG. Его задача – сохранять выходные сигналы автомата, когда тот выполняет команды переходов (V==1). При V==0 регистр прозрачен, передаёт состояние входов на выходы. На выходе REG можно ставить ДШМО, как в первом случае. Соображения по целесообразности его установки совершенно те же, что и для принудительной адресации.

Функционирование такого автомата несколько отличается от предыдущего варианта с принудительной адресацией.

Если автомат выполняет ОМК, то 1 из старшего бита МК блокирует мультиплексор входных сигналов MS элементом ИЛИ и запрещает счётчику-РАМК выполнять предзагрузку адреса перехода. Одновременно выходной регистр сохраняет в себе выходные сигналы автомата. По приходу следующего тактового импульса счётчик увеличится на 1, выбирая следующую МК.

Если выполняется УМК, то выходной регистр блокируется сигналом V=0, а элемент ИЛИ разрешает прохождение сигнала мультиплексора. Далее, если Xi==0, то прохождение тактовых импульсов на счётчик запрещается, но разрешается предзагрузка его значением пола A микрокоманды – выполняется переход. Если Xi==1, то предзагрузка запрещена, разрешен проход тактового импульса – перехода нет.

Рассмотрим разработку МП для такого автомата на примере:

Сост.

x1

x2

y1

y2

y3

y4

0

0

1

1

0

1

1

1

1

1

0

0

0

1

2

1

0

0

1

1

1

3

1

1

0

0

0

0

4

0

0

1

1

1

1

5

0

1

0

1

1

1

6

*

*

0

1

1

1

7

0

*

1

0

1

1

Это тот же пример, что и выше, но с двумя доп. состояниями 6 и 7.

Также, как и раньше, нам сначала необходимо закодировать входные сигналы автомата x1, x2 и постоянный лог. 0 на нулевом входе мультиплексора MS1:

Вход

Поле Nx микрокоманды

0 (лог. 0)

00

1 (x1)

01

2 (x2)

10

Затем составляем микропрограмму автомата (прошивку ПЗУ):

Адрес МК (состояние)

V

МК

00000 (сост. 0а)

0 (ОМК)

Y=1011

00001 (сост. 0б)

1 (УМК)

Nx=10 (x2), A=00001

00001 (сост. 0в)

1 (УМК)

Nx=01 (x1), A=00011

00010 (сост. 0г)

1 (УМК)

Nx=00 (лог. 0), A=00001 – безусловный переход

00011 (сост. 1а)

0 (ОМК)

Y=0001

00100 (сост. 1б)

1 (УМК)

Nx=01 (x1), A=00100

00101 (сост. 1в)

1 (УМК)

Nx=10 (x2), A=00100

00110 (сост. 2а)

0 (ОМК)

Y=0111

00111 (сост. 2б)

1 (УМК)

Nx=01 (x1), A=00111

01000 (сост. 2в)

1 (УМК)

Nx=10 (x2), A=01011

01010 (сост. 2г)

1 (УМК)

Nx=00 (лог. 0), A=00111 – безусловный переход

01011 (сост. 3а)

0 (ОМК)

Y=0000

01100 (сост. 3б)

1 (УМК)

Nx=01 (x1), A=01100

01101 (сост. 3в)

1 (УМК)

Nx=10 (x2), A=01100

01110 (сост. 4а)

0 (ОМК)

Y=1111

01111 (сост. 4б)

1 (УМК)

Nx=01 (x1), A=10001

10000 (сост. 4в)

1 (УМК)

Nx=00 (лог. 0), A=01111 – безусловный переход

10001 (сост. 4г)

1 (УМК)

Nx=10 (x2), A=10011

10010 (сост. 4д)

1 (УМК)

Nx=00 (лог. 0), A=01111 – безусловный переход

10011 (сост. 5а)

0 (ОМК)

Y=0111

10100 (сост. 5а)

1 (УМК)

Nx=10 (x2), A=10100

10101 (сост. 5б)

1 (УМК)

Nx=01 (x1), A=10111

10110 (сост. 5в)

1 (УМК)

Nx=00 (лог. 0), A=10100 – безусловный переход

10111 (сост. 6а)

0 (ОМК)

Y=0111

10111 (сост. 7а)

0 (ОМК)

Y=1011

10111 (сост. 7б)

1 (УМК)

Nx=01 (x1), A=00000

11000 (сост. 7в)

1 (УМК)

Nx=00 (лог. 0), A=10111 – безусловный переход

Требуемая адресность ПЗУ равна 5 (5-разрядный адрес), а его разрядность равна 1 + max (4, 2 + 4) =1 + max (4, 6) = 1+6=7.

Полная ёмкость ПЗУ составит 32 ячейки, из которых мы заняли 27.

Отметим, что: - кол-во состояний автомата с естественной адресацией существенно больше кол-ва состояний даже автомата с принудительной адресацией. Это вызвано невозможностью непосредственного перехода при Xi==1, в таких ситуациях необходимо сочетание условного и безусловного перехода. - требуемая разрядность ПЗУ меньше, чем для автомата с принудительной адресацией. Адресность – наоборот.