Раздел 3. Общая теория конечных цифровых автоматов с памятью. Лекция 4. Основные понятия и определения.
В вычислительной технике в основном используется схемы двух классов: комбинационные схемы и цифровые автоматы. Отличительной особенностью комбинационных схем является наличие жесткой функциональной зависимости между выходным сигналом и входным: y ( t ) = f ( x ( t )). Причем при отсутствии входных сигналов выходные сигналы также отсутствуют, поскольку такие схемы не имеют памяти. В отличии комбинационных схем схемы второго класса содержат в своем составе элементы памяти (запоминающие элементы). Эти схемы называются цифровыми автоматами (ЦА) или просто автоматами. В ЦА выходные сигналы в данный момент времени зависят не только от значения входных сигналов в тот же момент времени, но и от состояния схемы, которое, в свою очередь, определяется значениями входных сигналов, поступивших в предшествующие моменты времени. Введем основные понятия и определения.
Автомат- дискретный преобразователь информации способный принимать различные состояния, переходить под воздействием входных сигналов из одного состояния в другое и выдавать выходные сигналы. Если множество состояний автомата, а так же множества входных и выходных сигналов конечны, то автомат называется конечным автоматом. Понятие состояния введено в связи с тем, что часто возникает необходимость в описании поведения систем, выходные сигналы которых зависят не только от состояния входов в данный момент времени, но и от некоторых предысторий, то есть от сигналов, которые поступали на входы системы ранее. Состояния как раз и соответствуют некоторой памяти о прошлом, позволяя устранить время как явную переменную и выразить выходные сигналы как функцию состояний и входов в данный момент времени.
Кодирование информации
Информацию, поступающую на вход автомата, а так же выходную информацию принято кодировать конечной совокупностью символов. Эту совокупность называют алфавитом, отдельные символы, образующие алфавит – буквами, а любые упорядоченные последовательности букв данного алфавита – словами в этом алфавите.
Например: в алфавите X = (x1, x2), состоящем из двух букв, словами будут: x1, x2, x1x1, x1x2, x2x1,x2x2, x1x1x1 и т.д.
Наряду со словами, состоящими не менее чем из одной буквы, введем слово, не содержащее ни одной буквы, которое будем обозначать символом е и называть пустым словом или пустой буквой.
Математической моделью реального конечного автомата является абстрактный автомат, который имеет один входной канал и один выходной канал.
X(x1,…,xm) | ---> | A(a0,...,an) | ---> | Y(y1,…,yk) |
Автомат функционирует в дискретные моменты времени, интервал, между которыми Т называется тактом. При этом в каждый дискретный момент времени на вход автомата поступает одна буква входного алфавита, автомат переходит из одного состояния в другое и выдается одна буква выходного алфавита. В зависимости от того, как задается длительность такта Т, различают автоматы синхронного действия (T=const) и асинхронного действия (Tconst). Мы будем рассматривать, в основном, синхронные автоматы, функционирующие в дискретные моменты времени, которые можно обозначить целыми неотрицательными натуральными числами, t=0,1,2,3,…., имеющими смысл номера такта.
Для задания конечного автомата S необходимо задавать совокупность из пяти объектов: S(A, X, Y, d, l), где A = {a0,a1,a2,...,an}– множество внутренних состояний автомата, X = {x1, x2,…, xm} – множество входных сигналов (входной алфавит), xi – буква входного алфавита, Y = {y1, y2,…, yk} – множество выходных сигналов (выходной алфавит),
d - функция переходов, определяющая состояние автомата a(t+1), в котором автомат будет находится в момент времени (t+1), в зависимости от состояния автомата a(t) и входного сигнала x(t) в момент времени t, то есть a(t+1) = d [a(t), x(t)],
l - функция выходов, определяющая значение выходного сигнала y(t) в зависимости от состояния автомата a(t) и входного сигнала x(t) в момент времени t, т.е. y(t) = l[a(t), x(t)].
Автомат работает следующим образом: в каждый момент времени t он находится в определенном состоянии a(t) из множества А возможных состояний. Причем в начальный момент времени t = 0 он всегда находится в состоянии a(t = 0) = a0. В момент времени t автомат воспринимает входной сигнал x(t), выдает выходной сигналу y(t) = l[a(t), x(t)] и переходит в следующее состояние a(t+1)=d[a(t), x(t)]. Другими словами абстрактный автомат каждой паре символов a(t) и x(t) ставит в однозначное соответствие пару символов a(t+1) и y(t). Такие автоматы называют детерминированными. На преобразование информации в детерминированных автоматах наложены условия.
Условия преобразования информации в детерминированных автоматах:
1. Любое входное слово, длинною l букв, преобразуется в выходное слово той же длины.
2. Если каждый раз перед подачей входных сигналов автомат находится в одном и том же состоянии, то при совпадении в двух входных словах первых l1 букв, в выходных словах первые l1 букв также совпадут.
Кроме детерминированных автоматов существуют вероятностные или стохастические автоматы, в которых переход из одного состояния в другое под воздействием случайных или детерминированных входных сигналов происходит случайно. Работа таких автоматов описывается уже матрицей переходов d, элементами которой являются вероятности переходов из одного состояния в другое. Нами будут рассмотрены, в основном, детерминированные автоматы.
Применяемые на практике автоматы принято разделять на два класса - это автоматы Мили и автоматы Мура, названные так по имени американских ученых, которые впервые начали их изучать. Функционирование автоматов строго подчиняется определённым законам (законы функционирования автоматов). Законы функционирования автоматов описываются системами уравнений:
Автомат Мили:
| a(t + 1) = d[a(t),x(t)] |
| y(t) = l[a(t),x(t)] |
| t = 1,2,3… |
Автомат Мура:
| a(t + 1) = d[a(t),x(t)] |
| y(t) = l[a(t)] |
| t = 1,2,3… |
Отличительной особенностью автоматов Мили является то, что их выходные сигналы зависят как от состояния автомата, так и от значения входного сигнала. В автоматах Мура выходные сигналы y(t) в каждый дискретный момент времени t однозначно определяются состоянием автомата в тот же момент времени и не зависят от значения входного сигнала.
Способы задания автоматов
Чтобы задать конечный автомат S, необходимо описать все элементы множества S = {A, X, Y, d, l} . То есть необходимо описать входной, выходной алфавиты и алфавит состояний, а также функции переходов d и выходовl. При этом среди множества A = {a0,a1,…, an} необходимо выделить начальное состояния a0, в котором автомат находится в момент времени t = 0. Существует несколько способов задания работы автомата, но наиболее часто используются табличный и графический.
Табличный способ
При табличном способе задания автомат Мили описывается двумя таблицами: таблицей переходов и таблицей выходов.
Таблица переходов
xj\ai | a0 | … | an |
x1 | d(a0,x1) | … | d( an,x1) |
… | … | … | … |
xm | d( a0,xm) | … | d( an,xm) |
Таблица выходов
xj\ai | a0 | … | an |
x1 | l( a0, x1) | … | l( an, x1) |
… | … | … | … |
xm | l( a0, xm) | … | l( an, xm) |
Строки этих таблиц соответствуют входным сигналам x(t), а столбцы – состояниям. На пересечении столбца ai и строки xj в таблице переходов ставится состояние as = d[ ai, xj], в которые автомат перейдет из состояния ai под воздействием сигнала xj; а в таблице выходов – соответствующий этому переходу выходной сигнал yg = l[ ai,xj]. Иногда автомат Мили задают совмещенной таблицей переходов и выходов, она в некоторых случаях более удобна.
Совмещенная таблица переходов и выходов автомата Мили.
xj\ai | a0 | … | an |
x1 | d(a0,x1)/ l(a0,x1) | … | d(an,x1)/ l(an,x1) |
… | … | … | … |
xm | d(a0,xm)/ l(a0,xm) | … | d(an,xm)/ l(an,xm) |
Задание таблиц переходов и выходов полностью описывает работу конечного автомата, поскольку задаются не только сами функции переходов и выходов, но также и все три алфавита: входной, выходной и алфавит состояний. Так как в автомате Мура выходной сигнал однозначно определяется состоянием автомата, то для его задания требуется только одна таблица, которая называется отмеченной таблицей переходов автомата Мура.
Отмеченная таблица переходов автомата Мура
yg | l(a0) | … | l(an) |
xj\ac | a0 | … | an |
x1 | d(a0,x1) | … | d(an,x1) |
… | … | … | … |
xm | d(a0,xm) | … | d(an,xm) |
В этой таблице каждому столбцу приписан, кроме состояния ai, еще и выходной сигнал y(t) = l(a(t)), соответствующий этому состоянию. Таблица переходов автомата Мура называется отмеченной потому, что каждое состояние отмечено выходным сигналом. Примеры табличного задания автоматов Мили и Мура.
Автомат Мура:
yg | y2 | y1 | y1 | y3 | y2 |
xj\xj | a0 | a1 | a2 | a3 | a4 |
x1 | a2 | a1 | a3 | a4 | a2 |
x2 | a3 | a4 | a4 | a0 | a1 |
Автомат Мили:
xj\ai | a0 | a1 | a2 | a3 |
x1 | a1/y1 | a2/y3 | a3/y2 | a0/y1 |
x2 | a0/y2 | a0/y1 | a3/y1 | a2/y3 |
По этим таблицам можно найти реакцию автомата на любое входное слово.
Для автомата Мура: | ||||||
| x1 | x2 | x2 | x2 | x1 | … |
| a0 | a2 | a4 | a1 | a4 |
|
| y2 | y1 | y2 | y1 | y2 |
|
|
|
|
|
|
|
|
Для автомата Мили: | ||||||
| x1 | x2 | x2 | x2 | x1 | … |
| a0 | a1 | a0 | a0 | a0 | a1 |
| y1 | y1 | y2 | y2 | y1 |
|
Графический способ
При графическом способе задание автомата осуществляется с помощью графа. Этот способ основан на использовании ориентированных связных графов. Вершины графов соответствуют состояниям автомата, а дуги – переходам между ними. Две вершины графа ai и as соединяются дугой, направленной от ai к as, если в автомате имеется переход из ai в as, то есть as = d(ai, xj). В автомате Мили дуга отмечается входным сигналом xj, вызвавшим переход, и выходным сигналом yg, который возникает при переходе. Внутри кружочка, обозначающего вершину графа, записывается состояние.
Граф для автомата Мили
Граф для автомата Мура
Частичные автоматы
В инженерной практике часто встречаются автоматы, на входы которых некоторые последовательности сигналов никогда не подаются. Такие последовательности будем называть запрещенными входными словами данного автомата, а сам автомат – частичным автоматом. У частичного автомата функции переходов и выходов определены не на всех парах ai, xj. На месте неопределенных состояний и выходных сигналов ставится прочерк. При синтезе обычно производят доопределение частичного автомата, чтобы его схемная реализация получилась как можно проще.
Пример таблицы переходов и выходов частичного автомата Мили
xj\ai | a0 | a1 | a2 | a3 |
x1 | a1/y1 | a3/y3 | a2/y2 | a2/y1 |
x2 | - / - | - / - | a0/y4 | a0/y2 |
Лекция 5. Элементарные автоматы
Структурным синтезом занимается структурная теория автоматов. Основная цель этой теории – нахождение общих приемов построения сложных структурных схем автоматов из более простых автоматов, называемых элементарными автоматами. На практике в большинстве случаев применяют элементарные автоматы с двумя внутренними состояниями. В процессе синтеза элементарные автоматы соединяют между собой с помощью логических элементов.
Первая задача, решаемая при структурном синтезе, заключается в выборе системы элементов, из которых должны строиться заданные автоматы. Для того, чтобы можно было построить схему любого конечного автомата, эта система элементов должна быть структурно полной. Теорема о структурной полноте.
Теорема о структурной полноте формулируется следующим образом:
Для того, чтобы система элементов была структурно полной необходимо и достаточно, чтобы она содержала какую-либо функционально полную систему логических элементов и хотя бы один элементарный автомат с двумя устойчивыми состояниями, обладающий полной системой переходов и выходов.
Полнота переходов в автомате означает, что для любой пары состояний ai и aj существует хотя бы один входной сигнал, который переводит автомат из состояния ai в состояние aj. В автомате, обладающем полной системой переходов, в каждом столбце таблицы переходов должны встречаться все состояния. Полнота выходов автомата означает, что в каждом состоянии автомат выдает выходной сигнал, отличный от сигналов выдаваемых в других состояниях.
Требование полноты системы выходов связано с необходимостью, различать внутренние состояния элементарных автоматов, так как в автомате, не обладающем полной системой выходов, различить состояния невозможно и, следовательно, невозможно обеспечить заданные условия функционирования схемы, построенной на его основе.
Если элементарный автомат не имеет полной системы переходов, то это значит, что отсутствует переход хотя бы одного вида. Поэтому, построить на основе такого элементарного автомата схему, в которой бы осуществлялись все возможные переходы из одного состояния в другое нельзя. Таким образом, для построения любого конечного автомата необходимо иметь элементарные автоматы, обладающие полной системой, как переходов, так и выходов. Рассмотрим конкретные типы элементарных автоматов, имеющих полную систему переходов и выходов и нашедших применение в вычислительной технике.
Элементарные автоматы
В настоящее время в вычислительной технике, как правило, используются элементарные автоматы, имеющие следующие особенности:
Элементарные автоматы являются автоматами Мура с двумя внутренними состояниями;
Автомат выдает два различных выходных сигнала, соответствующих двум его внутренним состояниям. В дальнейшем состояния автомата и его выходные сигналы будем обозначать одной буквой Q и кодировать цифрами 0 и 1;
Элементарные автоматы могут иметь в общем случае несколько физических входов, на каждый из которых могут подаваться сигналы, закодированные цифрами 0 и 1.
В качестве элементарных автоматов в вычислительной технике используются, в основном, триггеры различных типов. Здесь рассмотрены некоторые из них.
- Раздел I. Введение. Общие сведения о цифровых автоматах Лекция 1. Основные понятия и определения.
- Раздел 2. Синтез цифровых автоматов без памяти
- Преобразование функции в минимальную конъюнктивную нормальную форму (кнф).
- Раздел 3. Общая теория конечных цифровых автоматов с памятью. Лекция 4. Основные понятия и определения.
- Элементарный автомат
- Диаграмму Вейча
- Граф d-триггера
- Матрица переходов rs-триггера:
- Матрица переходов jk-триггера:
- Перерисованная совмещенная таблица переходов и выходов
- Диаграммы Вейча
- Двухступенчатый триггер
- Раздел 4.Синтез типовых узлов эвм
- Кодированная таблица переходов и функций возбуждения
- Минимальные дизъюнктивные нормальные формы функций возбуждения триггеров
- Регистр сдвига
- Временная диаграмма
- Асинхронный вычитающий счетчик
- Асинхронный реверсивный счетчик
- Диаграммы Вейча
- Счетчик на синхронных т-триггерах
- Счетчик со сквозным переносом
- Организация цепей сквозного переноса
- Диаграммы Вейча
- Синхронный пятеричный счетчик
- Счетчик на кольцевых сдвигающих регистрах
- Счетчик Джонсона
- По матрице построим схему счетчика:
- Дешифратор с парафазными входами
- Линейный дешифратор
- Принцип построения пирамидального дешифратора на 16 выходов
- Полусумматор
- Кроме сумматоров существуют полусумматоры, которые осуществляют сложение двух чисел с формированием сигналов суммы и переноса.
- Диаграммы Вейча
- Сумматор комбинационно-накапливающего типа
- Последовательный сумматор
- В свою очередь:
- Раздел 5. Лекция 13. Абстрактный синтез конечных автоматов
- Регулярным выражением:
- Раздел 6. Лекция 15. Вероятностные автоматы