- •Кафедра “Вычислительная техника”
- •Составитель: и.В. Воронцов
- •СамГту; Сост. И.В. Воронцов. Самара, 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. Сегментация памяти в автоматах с программируемой логикой.
Тема 9.2. Автоматы с программируемой логикой и принудительной адресацией.
Вопросы оптимизации
Принудительная адресация микрокоманд в автомате.
В начале раздела на рис.27 и 28 приведены схемы автомата с принудительной адресацией. В отличие от естественной, принудительная адресация сводится к указанию в каждом слове адреса (или адресов) следующего слова. Однако даже при двухадресной микрокоманде, когда в каждом двоичном слове всего одно логическое условие, длина адресной части может быть значительной. Есть различные способы уменьшения длины адресной части в двоичном слове. Один из них заключается в следующем. В адресной части слова записывают адрес перехода при Xi = 0 (Адр хi=0), а если X i = 1, то адрес перехода Адр вычисляется так:
№ |
a m |
a s |
Y as |
Xa ma s |
1 2 |
a 0 |
a 0 a 1 |
y7 y1, y2 |
x 3 x 3 |
3 4 |
a 1 |
a 2 a 3 |
y3 y4, y5 |
x 1 x 1 |
5 |
a 2 |
a 3 |
y4, y5 |
1 |
6 7 |
a 3 |
a 4 a 0 |
y6 y7 |
x 2 x 2 |
8 9 |
a 4 |
a 2 a 3 |
y3 y4, y5 |
x 1 x 1 |
Если использовать логическое значение переменной Xi как арифметическое (0 или 1), то адрес перехода можно вычислить так:
Адр = Адрхi=0 + Xi.
Таким образом, сократив вдвое длину адресной части двоичного слова, мы не потеряли возможность осуществлять условный переход в автомате с естественной адресацией. Однако при этом получили некоторое неудобство: двоичные слова, к которым происходит переход, всегда находятся в ЗУ в соседних ячейках, так как адреса у них различаются всегда на 1. Поэтому в микропрограмме автомата с описанным способом адресации может появиться избыточность в виде дублирования некоторых слов и безусловных переходов.
Воспользуемся ГСА (рис.5), прямой таблицей переходов автомата Мура из примера в п.3.1. и форматом микрокоманды из первого примера текущего раздела, в котором в адресной части оставим только одно поле ах=0.
К(Уi) |
хm |
ах=0 |
|||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Используем кодирование наборов микрокоманд и дополнительное ЗУ (смотри рис. 29). Микропрограмма с комментариями приведена ниже.
У0 = {у7}; У1 = {у1, у2 }; У2 = {у3}; У3 = {у4, у5}; У4 = {у6};
К(У0) = 000; К(У1) = 001; К(У2) = 010; К(У3) = 011; К(У4) = 100.
Для организации безусловного перехода в этом примере введено дополнительное логическое условие X0 . В схеме автомата на вход X0 подадим значение «0», а значит переход в этом случае будет всегда по адресу ах=0, записанному в микрокоманде.
Адрес |
Комментарий \ разряды |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
0 |
a 0; IF X3 = 0 THEN GOTO 0; |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
a 1; IF X1 = 0 THEN GOTO 2; |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
2 |
a 2; IF X0 =0 THEN GOTO 3; |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
3 |
a 3; IF X 2 = 0 THEN GOTO 4; |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
4 |
a 4; IF X1 = 0 THEN GOTO 2; |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
5 |
a 0; IF X3 = 0 THEN GOTO 0; |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
Из таблицы видно, что на состояние a 0 пришлось использовать два слова в ЗУ, тем не менее, общий объем ЗУ в нашем примере 48 бит (меньше, чем у двухадресной микрокоманды).
Функциональная схема автомата приведена на рис.31.
Отличие этой схемы от рис.28 состоит в использовании вместо мультиплексора адреса MSа комбинационного счетчика (Ст). Комбинационная схема (КС), обозначенная как Ст, выполняет функцию: Ст:=А + Xi, где:
Ст – двоичное число на выходе КС;
А – адрес перехода при Xi= 0;
Xi – значение логического условия Xi, выбранного мультиплексором MSх в соответствии с кодом, записанным в разрядах 4 и 5 микрокоманды и интерпретируемым как число 0 или 1.
Функционирование схемы (рис.31) практически не отличается от описанной выше схемы на рис.28.
Используя описанный выше прием формирования адресов переходов, можно еще на один разряд сократить адресную часть микрокоманды. Так как адреса переходов всегда отличаются на 1, то в качестве младшего разряда адреса очередной микрокоманды можно использовать значение логического условия Xi. Формат микрокоманды в этом случае имеет вид, приведенный в таблице. Старшие разряды адресной части (аС) записаны в микрокоманде, а младший разряд формируется из значения логического условия Xi.
К(Уi) |
хm |
аС |
Xi |
||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Адрес |
Комментарий \ разряды |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
0 |
a 0; IF X3 = 0 THEN GOTO 0; |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
X3 |
1 |
a 1; IF X1 = 0 THEN GOTO 2; |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
X1 |
2 |
a 2; IF X0 =0 THEN GOTO 6; |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
X0 |
3 |
a 3; IF X 2 = 0 THEN GOTO 4; |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
X 2 |
4 |
a 4; IF X1 = 0 THEN GOTO 2; |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
X1 |
5 |
a 0; IF X3 = 0 THEN GOTO 0; |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
X3 |
6 |
a 3; IF X 2 = 0 THEN GOTO 4; |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
X 2 |
7 |
|
|
|
|
|
|
|
|
|
следующей таблице приведена микропрограмма
(на основе предыдущего примера), в которой
функцию младшего разряда адреса перехода
выполняет соответствующее логическое
условие Xi,
а на рис. 32 – функциональная схема
автомата.
Схема не содержит комбинационного счетчика КС, однако такой формат микрокоманды накладывает на микропрограмму ограничение: при Xi=0 – адрес перехода всегда четный, а при Xi=1 –всегда нечетный.
А\биты ЗУ2 |
(у7) 1 |
(у1,у2) 2 |
(у3) 3 |
(у4,у5) 4 |
(у6) 5 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
2 |
0 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
0 |
1 |
0 |
4 |
0 |
0 |
0 |
0 |
1 |
Лекция 18.
