- •Кафедра “Вычислительная техника”
- •Составитель: и.В. Воронцов
- •СамГту; Сост. И.В. Воронцов. Самара, 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. Сегментация памяти в автоматах с программируемой логикой.
Раздел 7. Синтез цифровых автоматов на жесткой логике
Тема 7.1. Структурный синтез мпа на жесткой логике. Синтез мпа автоматов Мура
на жесткой логике. Вопросы оптимизации МПА
Управляющие автоматы с жесткой логикой являются самыми быстродействующими, но схемные решения автоматов будут зависеть от их функций. Результатом синтеза автомата на жесткой логике является функциональная схема автомата, реализованная на логических элементах.
Элементная база автоматов на жесткой логике состоит из простейших логических элементов: конъюнкторов (элементы «И»), дизъюнкторов (элементы «ИЛИ»), инверторов (элементы «НЕ»), их комбинаций (элементы «И-НЕ», «ИЛИ-НЕ», «И-ИЛИ-НЕ» и т.п.), а также включает в себя и более сложные элементы – дешифраторы (DC), мультиплексоры (MS), элементы памяти (триггера).
Простейшие логические элементы реализуют вычисление простейших булевых функций. Примеры некоторых элементов, их обозначения и реализуемые ими функции приведены на рис. 3.5.
Символ «» обозначает инверсию, «&» – конъюнкцию, «» – дизъюнкцию. Часто вместо символа «&» используют «*», а в случае однобуквенных переменных – вообще его опускают, например функции, приведенные на рисунке, можно записать так: y = a b; y = (a b c d e).
Рис. 3.5
Используя простейшие логические элементы можно строить функциональные схемы, реализующие сложные булевы функции, например построить функциональную схему, реализующую вычисление следующей системы булевых функций
y1 = x2 x1 x0 x2 x1 x0 x2 x1 x0 ;
y2 = x2 x1 x0 x2 x0 x2 x0 ;
y3 = x2 x0 x2 x0 x1.
В приведенном примере в функциях y1 , y2 , y3 встречаются одинаковые конъюнкции, которые обозначим через вспомогательные переменные Z i и выразим через x i:
Z1 = x2 x1 x0; Z2 = x2 x1 x0; Z3 = x2 x1 x0 ;
Z4 = x2 x0; Z5 = x2 x0.
Выразим функции y1 , y2 , y3 через дизъюнкцию Z i :
y1 = Z1 Z2 Z3; y2 = Z1 Z4 Z5; y3 = Z5 Z4 x1 .
Функциональные схемы строятся по следующим правилам.
1. Входы схемы (переменные x i) – с левой стороны схемы, выходы (переменные y i) – с правой стороны.
2. Входы схемы (переменные x i), значения которых используются в функциях с инверсиями, соединяются с входами инверторов, на выходах которых формируются значения x i.
3. Схемы, вычисляющие значения Z i , строятся на конъюнкторах, на входы которых подаются соответствующие переменные x i или x i.
4. Схемы, вычисляющие значения y i , строятся на дизъюнкторах, на входы которых подаются соответствующие переменные xi , xi или Z i .
Рис. 3.6
5. Чтобы схема была легкочитаема, при ее изображении используют «шины». Шина изображается более толстой линией на схеме, в которую входят и из которой выходят тонкие линии, отображающие связи между элементами. Для идентификации этих связей непосредственно у шины ставятся либо обозначения соответствующих переменных, либо номера этих связей (первое предпочтительней). На рис. 3.6 приведена функциональная схема, реализующая функции y1, y2, y3 .
Дешифратор (DC) преобразует позиционный двоичный код (двоичное число) в унитарный. Унитарный код содержит «1» только в одном разряде. Входы дешифратора (в отличие от входов простейших логических элементов) характеризуются своим весом (как разряды двоичного числа): младший разряд имеет вес 1, следующий разряд – вес 2, n-разряд имеет вес 2 n-1. Веса разрядов указываются на входах дешифратора. Полный дешифратор имеет 2 n выходов, имеющих нумерацию от 0 до 2 n –1. Таким образом, дешифратор с двумя входами имеет 4 выхода, с тремя входами – 8 выходов и т.д. На рис. 3.7 приведено изображение дешифратора с двумя входами x1 x0 .
Рис. 3.7
Значения x1 x0 – двоичное число, указывающее номер выхода дешифратора, на котором будет сформирован сигнал «1». Функции yi, на выходе дешифратора имеют вид
y0 = x1 x0 ; y2 = x1 x0 ;
y1 = x1 x0 ; y3 = x1 x0 .
Функцию дешифратора можно пояснить также следующей таблицей истинности (табл. 3.3).
Таблица 3.3
x1 |
x0 |
y0 |
y1 |
y2 |
y3 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
Многие дешифраторы имеют еще один дополнительный вход – «разрешение работы дешифратора». На рис. 3.8 приведен пример такого дешифратора, который называется дешифратор – демультиплексор.
Рис. 3.8
Если на вход V подается «0», то на всех выходах дешифратора – нули; если на вход V подается «1», то дешифратор работает в соответствии с приведенной таблицей истинности, а функции yi, на выходе дешифратора имеют вид
y0 = S ( x1 x0 ); y2 = S (x1 x0 );
y1 = S ( x1 x0 ); y3 = S (x1 x0 ).
Мультиплексор (MS) выполняет функции электронного переключателя, позволяющего выбрать один из нескольких источников сигнала для одного приемника. Пример простейшего мультиплексора приведен на рис. 3.9.
Рис. 3.9
У этого мультиплексора один управляющий вход (Х) и два информационных (a и b). Если на управляющий вход Х подать «0», то на выходе MS значение y = a, если на Х подать «1», то значение y = b. Другими словами, приведенный на рисунке MS – это переключатель на два положения, которым выбирается один из двух источников информации (a и b) для приемника У. Функцию MS можно описать выражением
y = х a х b.
Количество управляющих входов у MS может быть 2, 3 и более. В этом случае MS – это переключатель не на два, а на 2 n положений (где n – количество управляющих входов), позволяющий выбирать один из 2 n информационных входов. Номер этого информационного входа задается двоичным числом, подаваемым на управляющие входы: хn-1 ...х1 х0. На рис. 3.10 приведен пример MS с четырьмя информационными входами (a, b, c, d) и двумя управляющими (x1x0).
Рис. 3.10
Функцию MS такого можно описать выражением
y = a ( x1 x0 ) b (x1 x0 ) c ( x1 x0 ) d (x1 x0 ).
Используя описанные выше функциональные элементы, можно строить так называемые комбинационные логические схемы (или цифровые автоматы комбинационного типа, автоматы без памяти), т.е. схемы, реализующие булевы функции. В микропрограммных автоматах, как правило, используются элементы памяти, на которых строится память состояний автомата.
Простейшим элементом памяти является статический асинхронный RS-триггер. RS-триггер – это элемент, имеющий два устойчивых состояния, которые обычно обозначают как «0» и «1» (рис. 3.11).
Рис. 3.11
Для установки RS-триггера в одно из устойчивых состояний «0» или «1» у него имеется два входа: R – для установки в состояние «0» и S – для установки в состояние «1». Выходы RS-триггера обычно обозначаются как Q (прямой выход) и Q (инверсный выход). Значение на выходе Q («0» или «1») обычно отождествляют с состоянием триггера «0» или «1». Если через Qt обозначить значение на выходе Q в момент времени t, а через Qt+1 – обозначить значение на выходе Q в момент времени t+1, то поведение RS-триггера можно описать следующей таблицей (табл. 3.4).
Из таблицы видно, что при R=0 и S=1 происходит установка триггера в состояние «1» (Qt+1 = 1), при R=1 и S=0 происходит установка триггера в состояние «0» (Qt+1 = 0). Эти установки происходят независимо от предыдущего состояния триггера Qt. При R=0 и S=0 триггер сохраняет свое состояние, а комбинация R=1 и S=1 является недопустимой, так как одновременно установить триггер в состояния «0» и «1» невозможно. На рис. 3.11 приведено изображение статического асинхронного RS-триггера.
Таблица 3.4
R |
S |
Qt |
Qt+1 |
Комментарий |
0 |
0 |
0 |
0 |
Хранение «0» |
0 |
0 |
1 |
1 |
Хранение «1» |
0 |
1 |
0 |
1 |
Установка в «1» |
0 |
1 |
1 |
1 |
Установка в «1» |
1 |
0 |
0 |
0 |
Установка в «0» |
1 |
0 |
1 |
0 |
Установка в «0» |
1 |
1 |
0 |
Х |
Запрещенная комбинация R и S |
1 |
1 |
1 |
Х |
Запрещенная комбинация R и S |
Недостатком асинхронного RS-триггера является то, что изменение его состояния возможно в произвольный момент времени сразу же после изменения сигналов на его входах R и S, поэтому асинхронный RS-триггер часто используют как элемент памяти для построения синхронных триггеров. В синхронных триггерах изменение состояния возможно только в момент подачи на специальный вход «С» импульса синхронизации. Существуют триггеры, синхронизируемые импульсом С и фронтом импульса С. Фронтом импульса синхронизации называют переход значения С из «0» в «1» (положительный фронт) или из «1» в «0» (отрицательный фронт). Триггеры, синхронизируемые фронтом импульса С, нашли наибольшее применение в цифровых устройствах.
На рис. 3.12 приведено изображение двух RS-триггеров, синхронизируемых фронтом импульса синхронизации С. Наклонная черта на входе С показывает, по какому фронту импульса С – положительному (/) или отрицательному (\) – происходит переход триггера из одного состояния в другое.
Рис. 3.12
Кроме RS-триггеров широкое применение в цифровых устройствах нашли D-триггеры и JK-триггеры (также синхронизируемые фронтом импульса С).
D-триггер, в отличие от RS-триггера, имеет всего один информационный вход – D. Синхронный D-триггер изменяет свое состояние также в момент поступления на его вход «С» импульса синхронизации С. Новое состояние Qt+1 не зависит от предыдущего Qt , а зависит только от значения на входе D в момент поступления импульса С на вход С триггера. JK-триггер называется универсальным, так как на его основе можно реализовать функции других триггеров. Закон его функционирования можно представить в виде табл. 3.5.
На рис. 3.13 приведены изображения D-триггера, синхронизируемого положительным фронтом импульса С, и JK-триггера, синхронизируемого отрицательным фронтом импульса С.
Рис. 3.13
Автоматы с жесткой логикой обычно строятся или как автоматы Мура, или как автоматы Мили. Поскольку функционирование и тех, и других зависит не только от входных сигналов (логических условий Xi), но и от текущего состояния автомата, необходимым элементом УА является память состояний. В качестве элементов памяти обычно используются триггеры различных типов: RS-, D-, JK-, T-триггеры, синхронизируемые фронтом (положительным или отрицательным) импульса синхронизации С. По фронту импульса С автомат переходит из одного состояния в другое. Выходные сигналы автомата – микрокоманды – также вырабатываются синхронно с импульсом С.
Таблица 3.5
K |
J |
Qt |
Qt+1 |
Комментарий |
0 |
0 |
0 |
0 |
Хранение «0» |
0 |
0 |
1 |
1 |
Хранение «1» |
0 |
1 |
0 |
1 |
Установка в «1» |
0 |
1 |
1 |
1 |
Установка в «1» |
1 |
0 |
0 |
0 |
Установка в «0» |
1 |
0 |
1 |
0 |
Установка в «0» |
1 |
1 |
0 |
1 |
Изменение состояния на противоположное |
1 |
1 |
1 |
0 |
Изменение состояния на противоположное |
Различие автоматов Мура и Мили следующее: в автомате Мура вырабатываемая автоматом микрокоманда Yi зависит только от текущего состояния автомата, а в автомате Мили – от текущего состояния и значений логических условий на входе автомата.
