Естественная адресация микрокоманд в автомате
Формат микрокоманд (двоичных слов) при естественной адресации может быть следующим. Операционная микрокоманда содержит два поля: поле признака вида микрокоманды Р (операционная или управляющая; пусть для операционной – Р=0) и поле, в котором любым из возможных способов записаны значения уi, которые должен вырабатывать автомат. Управляющая микрокоманда содержит три поля: поле признака Р (пусть для управляющей – Р=1), поле логического условия (может содержать № логического условия X i ) и поле адреса перехода при X i = 1.
Уi |
Формат операционного слова:
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.
Адрес | Оператор |
У 7 := 1; | |
IF ØX3 = 1 THEN GOTO 0; | |
У 1 := 1; У 2 := 1; | |
IF ØX1 = 1 THEN GOTO 5; | |
У 3 := 1; | |
У 4 := 1; У 5 := 1; | |
IF X 2 = 1 THEN GOTO 0; | |
У 6 := 1; | |
GOTO 3; (IF X0 = 1 THEN GOTO 3;) |
Из таблицы видно, что закодированная микропрограмма должна содержать 9 строк с адресами в ЗУ от 0 до 8. Поэтому адресное поле управляющей микрокоманды (в которое будем записывать адрес перехода - А) должно содержать не менее четырех разрядов (возьмем ровно 4), а поле логического условия (в которое будем записывать номер логического условия - Нх) должно содержать не менее двух разрядов (так как в нашем примере – 4 различных логических условия). В таблице показано соответствие разрядов двоичного слова и информации, которую содержит слово:
Разряды слова | |||||||
Значения | Нх1 | Нх0 | А3 | А2 | А1 | А0 |
В первом разряде всегда записывается 1 – признак управляющего слова. В разрядах 2 и 3 записывается номер логического условия Нх в виде двоичного числа: Нх1 Нх0, где индексы 0 и 1 – указывают младший и старший разряды числа Нх. В разрядах 4, 5, 6 и 7 записывается адрес перехода А в виде двоичного числа А3 А2 А1 А0, где индексы при А так же указывают старшинство разрядов в числе А.
Формат операционного слова выберем следующий:
Разряды слова | |||||||
Значения | у7 | у1,у2 | у3 | у4,у5 | у6 | - |
В первом разряде всегда записывается 0 – признак операционного слова. В остальных разрядах будем записывать 1 или 0, в зависимости от того, какое значение имеют микрокоманды уi в данном слове. В следующей таблице, в колонках, обозначенных номерами разрядов двоичного слова от 1 до 7, приведена закодированная микропрограмма управляющего автомата с естественной адресацией.
Адрес | Оператор | Разряды слова | ||||||
У 7 := 1; | ||||||||
IF ØX3 = 1 THEN GOTO 0; | ||||||||
У 1 := 1; У 2 := 1; | ||||||||
IF ØX1 = 1 THEN GOTO 5; | ||||||||
У 3 := 1; | ||||||||
У 4 := 1; У 5 := 1; | ||||||||
IF X 2 = 1 THEN GOTO 0; | ||||||||
У 6 := 1; | ||||||||
IF X0 = 1 THEN GOTO 3; |
Для большей наглядности серым фоном в таблице выделены 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); и т.д.
Дата добавления: 2015-08-11; просмотров: 2377;