Функционирование автоматов во времени
Выходные сигнала автомата у1, …, уn служат для управления некоторыми процессами (в ВМ, например, для управления схемами, обрабатывающими цифровую информацию). Каждый сигнал у1, …, уn вызывает в ВМ некоторое элементарное действие, например, сдвиг информации, передачу информации от одного устройства в другие и т.д. Эти элементарные действия называются микрооперациями, а сами сигналы – сигналами микроопераций. Длительность этих операций определяется требованиями управляемого процесса, например, временем, необходимым для выполнения самых длинных микроопераций.
Для задания хода автоматного времени служат специальные генераторы синхросигналов. Генератор синхросигналов – это электронный блок, генерирующий одну или несколько последовательных импульсов, инициирующих дискретные операции в логических цепях ЭВМ. Интервал времени между двумя следующими друг за другом синхросигналами называется периодом генератора синхросигнала. Период генератора синхросигналов выбирается исходя из времени, необходимого для выполнения самой длинной микрооперации .
Пример однофазного генератора синхросигналов приведён на рис. 4.8а. Синхроимпульсы двухфазного генератора (рис. 4.8б) во всех фазах имеют постоянную частоту следования и смещены относительно друг друга. Принадлежащие двум фазам два смежных синхроимпульса образуют так называемый синхроцикл.
Рассмотренный пример СА использован для задания последовательности переключения автомата синхросигналом CИ. Более общая схема синхронизации автомата (для случая Т-триггеров в качестве элементов памяти) приведена на рис. 4.8в.
Рисунок 4.8 – Генератор синхросигналов
Для правильного функционирования автоматов в качестве элементов памяти применяют, как правило, двухступенчатые триггеры. В момент наличия синхросигнала в новое состояние as = (δm, zf) переключаются первые ступени этих триггеров, вторые же ступени запоминают предыдущее состояние am на всё время действия синхросигнала. Благодаря этому сигналу цепи обратной связи остаются неизменными. Подключение входных ступеней элементов памяти происходит в момент окончания действия синхросигнала. Поэтому можно считать, что моменты дискретного автоматного времени t = 0, 1, 2,..., изменяются в момент окончания действия синхросигнала. Сигналы x1,… xl также могут изменяться в момент окончания синхросигнала, оставаясь в течение такта неизменными.Сигналы x1,… xl информируют автомат о состоянии управляемого процесса и используется для выбора направления перехода автомата.Эти сигналы изменяются в процессе выполнения микроопераций в блоках ЭВМ под действием сигналов y1,… yn, однако на выходах автомата в течении автоматного тракта они должны быть неизменными. Поэтому, как правило, они хранятся на специальных элементах памяти (двухступенчатых триггерах) и изменяются на входе автомата в момент окончания автоматного такта.
Начальным состоянием элементов памяти всегда является состояние а1. Из этого состояния автомат включается в работу и, закончив работу, возвращается в состояние а1. Состоянию а1 может соответствовать режим автомата ОСТАНОВ, когда автомат не реагирует на входные сигналы и не переключается в другие состояния. Для включения в работу, т.е. в положение РАБОТА, служит специальный сигнал ПУСК (рис.4.8в). В положении ОСТАНОВ сигнал ПУСК = 0. В положении РАБОТА сигнал ПУСК = 1. Процесс включения в работу называется запуском автомата. На графе автомата дуги, выходящие из вершины а1 , помечаются сигналом ПУСК. На рисунке изображён граф автомата, заданный ранее табл 4.1 и табл.4.2. Сигнал ПУСК отмечен символом Z. Сигнал ПУСК должен входить конъюктивно в те наборы двоичных переменных канонической системы уравнений, которые определяют переходы автомата из начального состояния а1.
Поэтому система уравнений может быть записана в виде:
Запуск автомата на функциональной структурной схеме отмечен пунктирными линиями, на которые поступает сигнал ПУСК.
Необходимо заметить, что в реальных автоматах, используемых для управления преобразованием информации в ВМ, при кодировании входных сигналов используется соотношение N≥log2F, благодаря чему в каждом автоматном такте при работе автомата на выходные каналы выдаётся хотя бы один двоичный сигнал y1,…yN, отличный от нуля. Нулевое значение переменных y1,…yN в реальных автоматах возможно только в режиме ОСТАНОВ.
Синтез автоматов Мили и Мура по граф-схеме алгоритма (ГСА)
Обычно при проектировании различных устройств предварительно составляется так называемая содержательная граф-схема алгоритма (ГСА), в которой внутри условных и операторных вершин записаны не элементы множеств Х и У, а логические условия и микрооперации в содержательных терминах.
После построения содержательной ГСА логические условия и микрооперации кодируются символами х1,…хL и y1,…yN .
Пусть автомат Мили задан в виде ГСА (Рис. 5.9). Для определения числа состояний автомата необходимо произвести разметку ГСА, которая выполняется в следующем порядке:
1. Символами а1 отмечается вход первой вершины, следующей за начальной, а также вход конечной вершины.
2. Входы вершин, следующих за операторными вершинами, отмечаются символами a2, a3, …
3. Входы двух различных вершин, за исключением входа вершины, следующей за начальной, и входа конечной вершины, не могут быть отмечены одинаковыми символами.
4. Вход вершины может отмечаться только одним символом.
После разметки ГСА строится граф автомата Мили. Закодировать состояния автомата можно следующим образом:
a1=00, a2=01, a3=10, a4=11.
Граф автомата Мили
Рисунок 4.9 – Граф-схема автоматов Мили (обозначение вершин на входе вершин, следующих за операторными) и Мура (обозначение вершин в кружках.
Для построений функций возбуждения и выходов используется структурнаятаблица, которая отчасти повторяет таблицу переходов, но содержит коды состояний и перечень сигналов возбуждения, формируемых на переходе (am, as). В столбце сигналов возбуждения указывается сигнал Sk, если триггер Pk на переходе (am, as) переключается из состояния 0 в состояние 1, и сигнал Rk, если триггер переключается из состояния 1 в состояние 0. Сигналом Тк триггеры переключаются по счётному входу.
Таблица 4.22 Структурная таблица автомата Мили при синтезе на триггерах с раздельными и счётными входами
Пере- ходы | Исход-ное cостоя- ние | Код исход-ного состо-яния | Следую- щее состоя-ние | Код следу-ющего состоя-ния | Входной набор | Выход-ной набор | Сигнал возбуждения | |
Триг-гер 1 (RS) | Триг-гер 2 (Т) | |||||||
а1 | a1 a2 | B x1¯ B x1 | - y1 | - S2 | - Т2 | |||
а2 | a1 a3 a4 | _ _ x2 x3 x2 _ x2 x3 | - y2 y2, y3 | R2 R2, S1 S1 | T2 Т2, Т1 Т1 | |||
а3 | a4 a4 | x2 ¯x4 | y1, y3 y5 | Т2, Т2 | ||||
a4 | a1 | - | y2, y4 | R1, R2 | T1, T2 |
На основании табл. 4.22 строится каноническая система функций выходов и возбуждения (RS-триггеры (1), для Т-триггера (2))
(1)
(2)
Минимизируя систему булевых функций (1) и (2) получим (3) и (4) соответственно:
(3)
(4)
На основе систем булевых функций (3) и (4) строится функциональная схема автоматов Мили на RS- и Т-триггерах (рис. 4.10 и 4.11 соответственно)
Рисунок 4.10 – Автомат Мили на RS-триггерах
Рисунок 4.11 – Автомат Мили на Т-триггерах