- •Кафедра “Вычислительная техника”
- •Составитель: и.В. Воронцов
- •СамГту; Сост. И.В. Воронцов. Самара, 2013, 95 с.
- •Раздел 1. Начальные языки описания цифровых автоматов
- •Тема 1.1. Предмет теории автоматов, его место и задачи
- •Тема 1.2. Начальные языки описания цифровых автоматов. Язык регулярных
- •Язык регулярных выражений алгебры событий использует следующие понятия:
- •Тема 1.3. Граф - схемы алгоритмов (гса) цифровых автоматов.
- •Объединение гса с помощью мса
- •Формулы переходов описывают все пути между операторными вершинами в гса . Они имеют вид:
- •Раздел 2. Автоматные языки описания цифровых автоматов
- •Тема 2.1. Автоматные языки описания цифровых автоматов. Графы переходов,
- •Тема 2.2. Конечные автоматы. Модель дискретного преобразования
- •Тема 2.3. Автоматы Мура, Мили и с-автоматы. Принципиальные различия
- •Тема 2.4. Эквивалентные автоматы, преобразования автоматов.
- •Раздел 3. Абстрактные и микропрограммные автоматы
- •Тема 3.1. Определение абстрактного автомата. Соединение двух автоматов:
- •Тема 3.2. Сети и коллективы автоматов
- •Тема 3.3. Абстрактный синтез микропрограммных автоматов (мпа) по гса.
- •Тема 3.4. Структурный синтез микропрограммных автоматов по гса
- •Разметка состояний
- •Тема 4.1. Формальные языки и операции над ними
- •Тема 4.2. Концепция порождения и распознавания.
- •Тема 4.3. Конечные автоматы как распознаватели.
- •Тема 4.4. Машина Тьюринга как автомат, реализующий
- •Тема 4.5. Автоматы с магазинной памятью (мп-автоматы)..
- •Лекция 9.
- •Тема 5.1. Автоматы как технические устройства эвм.
- •Раздел 6. Микропрограммные цифровые автоматы
- •Тема 6.1. Предмет теории автоматов и формальных языков, его место и задачи в подготовке бакалавра по информатике и вычислительной технике. Краткий исторический обзор
- •Место дисциплины в структуре ооп
- •Тема 6.2. Микропрограммные цифровые автоматы. Микропрограммирование.
- •Раздел 7. Синтез цифровых автоматов на жесткой логике
- •Тема 7.1. Структурный синтез мпа на жесткой логике. Синтез мпа автоматов Мура
- •Синтез автомата Мура по гса. Простейшая реализация
- •3.1.1.2. Построение графа переходов автомата Мура (по гса рис. 3.14)
- •3.1.1.3. Построение прямой таблицы переходов автомата Мура
- •3.1.1.4. Кодирование состояний автомата. Выбор элементов памяти
- •3.1.1.5. Обратная структурная таблица автомата Мура
- •3.1.1.6. Функции управления элементами памяти и функции выходов автомата
- •3.1.1.7. Структурная схема автомата Мура на жесткой логике
- •3.1.1.8. Функциональная схема автомата Мура на жесткой логике
- •Тема 7.2. Структурный синтез мпа на жесткой логике. Синтез мпа автоматов
- •Разметка состояний автомата Мили по гса
- •3.1.2.2. Построение графа переходов автомата Мили по гса
- •3.1.2.3. Построение прямой таблицы переходов автомата Мили
- •3.1.2.4. Кодирование состояний автомата. Выбор элементов памяти
- •3.1.2.5. Обратная структурная таблица автомата Мили
- •3.1.2.6. Функции управления элементами памяти и функции выходов автомата
- •3.1.2.7. Структурная схема автомата Мили на жесткой логике
- •3.1.2.8. Функциональная схема автомата Мили на жесткой логике
- •Раздел 8. Синтез цифровых автоматов на программируемых матрицах (плм)
- •Тема 8.1. Структурный синтез мпа Мили на плм. Вопросы оптимизации мпа
- •3.3.2. Простейшая матричная реализация автомата Мили
- •Тема 8.2. Структурный синтез мпа Мура на плм. Вопросы оптимизации мпа Простейшая матричная реализация автомата Мура
- •3.3.4. Вопросы оптимизации автоматов на матрицах
- •Кодирование логических условий х. Площадь матрицы м& в автоматах Мили и Мура зависит:
- •Раздел 9. Синтез цифровых автоматов на программируемой логике
- •Тема 9.1. Автоматы с программируемой логикой и естественной адресацией.
- •Принцип управления по хранимой программе
- •Кодирование наборов микроопераций
- •Адресация микрокоманд в автомате
- •Естественная адресация микрокоманд в автомате
- •Тема 9.2. Автоматы с программируемой логикой и принудительной адресацией.
- •Тема 9.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.
