Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Т А и ФЯ стр.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Адресация микрокоманд в автомате

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

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

Естественная адресация предполагает наличие двоичных слов разного вида, например, операционные и управляющие слова. Операционные слова соответствуют операторным вершинам ГСА управляющего автомата, а управляющие – условным. Если в ГСА автомата есть линейные части (не содержащие условных вершин), то адреса слов, описывающих следующие друг за другом операторные вершины ГСА, должны формироваться в естественном нарастающем порядке: а t+1 = а t + 1,

где: а t – адрес текущего слова,

а t+1 – адрес следующего слова.

Управляющее слово может быть эквивалентно управляющей конструкции некоторого языка программирования:

IF X i = 1 THEN GOTO ахi=1;

если значение логического условия X i = 1, то адрес следующего слова а t+1 = ахi=1; если X i = 0, то адрес следующего слова: а t+1 = а t + 1.

Естественная адресация микрокоманд в автомате

Формат микрокоманд (двоичных слов) при естественной адресации может быть следующим. Операционная микрокоманда содержит два поля: поле признака вида микрокоманды Р (операционная или управляющая; пусть для операционной – Р=0) и поле, в котором любым из возможных способов записаны значения уi, которые должен вырабатывать автомат. Управляющая микрокоманда содержит три поля: поле признака Р (пусть для управляющей – Р=1), поле логического условия (может содержать № логического условия X i ) и поле адреса перехода при X i = 1.

0

Уi

Формат операционного слова:

1

X i

Адр ахi=1.

Формат управляющего слова:

Поскольку для хранения и операционных и управляющих слов используется одно и то же ЗУ, разрядность слов должна быть одинаковой.

Возьмем, для примера, ГСА управляющего автомата, приведенную на рис.5 и запишем алгоритм работы автомата, используя следующие конструкции:

Оператор присваивания вида: уi = 1, для описания операторных вершин ГСА;

Оператор условного перехода вида: IF X i = 1 THEN GOTO ахi=1, для описания условных вершин ГСА.

Алгоритм, представленный в виде таблицы, напоминает программу на языке BASIC. Для более эффективного представления, в строках с адресами 1 и 3 перед логическими условиями X3 и X1 поставлен знак инверсии (), что позволяет сократить количество строк в записи алгоритма. В строке 8 использована конструкция: GOTO 3 – безусловный переход к строке 3. Для реализации безусловного перехода введем дополнительное логическое условие, например X0, а в схеме автомата предусмотрим, что бы всегда X0= 1. В этом случае, конструкцию «GOTO 3 » можно заменить на конструкцию: IF X0 = 1 THEN GOTO 3.

Адрес

Оператор

0

У 7 := 1;

1

IF X3 = 1 THEN GOTO 0;

2

У 1 := 1; У 2 := 1;

3

IF X1 = 1 THEN GOTO 5;

4

У 3 := 1;

5

У 4 := 1; У 5 := 1;

6

IF X 2 = 1 THEN GOTO 0;

7

У 6 := 1;

8

GOTO 3; (IF X0 = 1 THEN GOTO 3;)

Из таблицы видно, что закодированная микропрограмма должна содержать 9 строк с адресами в ЗУ от 0 до 8. Поэтому адресное поле управляющей микрокоманды (в которое будем записывать адрес перехода - А) должно содержать не менее четырех разрядов (возьмем ровно 4), а поле логического условия (в которое будем записывать номер логического условия - Нх) должно содержать не менее двух разрядов (так как в нашем примере – 4 различных логических условия). В таблице показано соответствие разрядов двоичного слова и информации, которую содержит слово:

Разряды слова

1

2

3

4

5

6

7

Значения

1

Нх1

Нх0

А3

А2

А1

А0

В первом разряде всегда записывается 1 – признак управляющего слова. В разрядах 2 и 3 записывается номер логического условия Нх в виде двоичного числа: Нх1 Нх0, где индексы 0 и 1 – указывают младший и старший разряды числа Нх. В разрядах 4, 5, 6 и 7 записывается адрес перехода А в виде двоичного числа А3 А2 А1 А0, где индексы при А так же указывают старшинство разрядов в числе А.

Формат операционного слова выберем следующий:

Разряды слова

1

2

3

4

5

6

7

Значения

0

у7

у1,у2

у3

у4,у5

у6

-

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

Адрес

Оператор

Разряды слова

1

2

3

4

5

6

7

0

У 7 := 1;

0

1

0

0

0

0

0

1

IF X3 = 1 THEN GOTO 0;

1

1

1

0

0

0

0

2

У 1 := 1; У 2 := 1;

0

0

1

0

0

0

0

3

IF X1 = 1 THEN GOTO 5;

1

0

1

0

1

0

1

4

У 3 := 1;

0

0

0

1

0

0

0

5

У 4 := 1; У 5 := 1;

0

0

0

0

1

0

0

6

IF X 2 = 1 THEN GOTO 0;

1

1

0

0

0

0

0

7

У 6 := 1;

0

0

0

0

0

1

0

8

IF X0 = 1 THEN GOTO 3;

1

0

0

0

0

1

1

Для большей наглядности серым фоном в таблице выделены 1-ый разряд – признак вида микрокоманды, и разряды 4..7 – адрес перехода в управляющей микрокоманде. Объем памяти ЗУ – 63 бита.

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

  • память для хранения микропрограммы (ЗУ) объемом не менее девяти слов; чтение слова из памяти осуществляется по адресу (четырехразрядному), подаваемому на адресный вход ЗУ; разрядность слов – 7 бит;

  • схему, обрабатывающую операционную микрокоманду - преобразующую двоичный код в разрядах слова с 2-го по 6-ой в сигналы уi на выходе автомата. Эта схема может быть реализована пятью элементами «И»;

  • мультиплексор (MSх), выбирающий из множества входных сигналов Х всего один, номер которого записан в разрядах 2 и 3 управляющего слова; мультиплексор должен иметь дополнительный вход разрешения V; при V=1 – режим нормальной работы MSх; при V=0 – режим запрета: на выходе MSх значение «0» независимо от сигналов на его входах;

  • четырехразрядный двоичный счетчик (СТ), имеющий два режима работы: параллельная загрузка адреса перехода (из разрядов 4..7 управляющего слова) в счетчик (когда выполняется условие Xi=1) и режим счета: СТ:=СТ+1 - во всех остальных случаях. Для этого счетчик СТ имеет вход управления V; при V=0 – режим счета, при V=1 – режим параллельной загрузки. У счетчика СТ должен быть еще один вход R для установки его в начальное состояние СТ:=0 (Reset).

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

Автомат (рис.30) работает следующим образом. Сигнал Reset=1 устанавливает значение «0» во всех разрядах двоичного счетчика СТ. Код (или двоичное число) А=0000 с выхода СТ подается на адресный вход ЗУ. На выходах ЗУ (разряды 1..7) появляется слово, записанное по адресу А=0 (см. таблицу). В нашем примере по адресу А=0 записана операционная микрокоманда, в которой:

первый разряд имеет значение 0 (признак операционной микрокоманды), поэтому на выходе мультиплексора MSх так же значение 0, а счетчик СТ находится в режиме счета; проинвертированное значение первого разряда (1) подается на входы элементов «И», выполняющих функцию электронных ключей, и на выходах этих элементов – значения 2..7 разрядов микрокоманды, т.е. – значения уi ; в нашем примере - У7 ;

так как счетчик в режиме счета (V=0), то при поступлении на вход С счетчика СТ импульса синхронизации, его состояние изменится: СТ:=СТ+1, а значит изменится на +1 адрес: А=0001; этот адрес поступит на адресный вход ЗУ, на выходе которого появится слово, записанное по данному адресу;

в нашем примере слово по адресу А=0001 – управляющая микрокоманда; первый разряд в этом слове имеет значение 1 (признак управляющей микрокоманды); проинвертированное значение первого разряда (0) подается на входы элементов «И», и на выходах всех этих элементов – значения «0» (все уi=0); на разрешающий вход мультиплексора MSх подается значение «1»: MSх находится в режиме нормальной работы;

значения разрядов 2 и 3 – подаются на управляющие входы мультиплексора MSх; в нашем примере в этих разрядах записано двоичное число 11 (3); значение логического условия X3 появляется на выходе MSх;

если X3 = 1 (X3 = 0), то на вход V счетчика СТ подается «1» (режим параллельной загрузки счетчика) и, при подаче на его вход С импульса синхронизации, в СТ запишутся значения разрядов 4..7 микрокоманды (в нашем примере – это адрес 0000); из ЗУ будет считано слово по этому адресу;

если X3 = 0 (X3 = 1), то на вход V счетчика СТ подается «0» (режим счета) и, при подаче на его вход С импульса синхронизации, состояние СТ изменится: СТ:=СТ+1; в нашем примере СТ:= 0001+1=0010; запишутся значения разрядов 4..7 микрокоманды (в нашем примере – это адрес 0000); из ЗУ будет считано слово по адресу 0010 (2); и т.д.

Лекция 17.