- •© Иркутский государственный университет
- •Сокращения
- •Введение
- •Глава 1 базовые понятия и конструкции систем управления дискретной автоматики
- •1.1. Переменные и функции алгебры логики
- •1.2. Двоичные коды переменных
- •Запишем аналитическое выражение для y1 в виде логической суммы (дизъюнкции) конъюнкций тех переменных, которые определяют единичное значение булевой функции:
- •1.3. Логические функции одной и двух переменных
- •1.4. Одноразрядный сумматор двух переменных
- •1.5. Дешифратор и шифратор двоичного позиционного кода
- •1.6. Цифровой и аналоговый мультиплексоры
- •1.7. Основные понятия минимизации булевых функций
- •1.8. Структурный синтез самодиагностируемых обратимых функциональных преобразователей информации
- •1.9. Дискретные преобразователи информации
- •Глава 2 системы управления дискретной автоматики
- •2.1. Операционные автоматы
- •2.2. Базовые модели систем управления
- •Окончание рис. 32
- •Системная модель преобразования информации
- •Расширение двухблоковой модели системы
- •2.3. Организация связей в информационно-управляющих системах
- •2.4. Проектирование преобразователей информации
- •2.5. Операторные схемы алгоритмов систем управления
- •Глава 3 конечные автоматы систем управления
- •3.1. Абстрактный синтез автоматов
- •3.2. Структурный синтез автоматов
- •3.2.1. Организация памяти автоматов
- •3.3. Структурная схема автомата Мура
- •3.4. Функциональная реализация автоматов управления
- •3.4.1. Функциональная подсистема автомата
- •3.4.2. Адресная подсистема автомата
- •3.4.3. Реализация автоматов управления на программируемых логических интегральных схемах
- •3.5. Синтез быстродействующих автоматов
- •Глава 4 системы автоматов управления
- •4.1. Декомпозиция автоматов
- •4.2. Автоматы с объединенными операторами
- •4.3. Синтез многорежимных автоматов
- •4.3.1. Многопрограммные формирователи временных интервалов
- •4.3.2. Режим реализации нескольких последовательностей временных интервалов (от 8 до 64)
- •Режим реализации
- •4.4. Синтез автоматов по декомпозированной схеме алгоритма
- •4.5. Управление взаимосвязанными процессами
- •Глава 5 сложные автоматы систем реального времени
- •5.1. Структурная организация сложных автоматов
- •5.2. Контроль автоматов управления в системах реального времени
- •5.3. Моделирование автоматов управления
- •5.4. Управление спецпроцессором функционального контроля пзу
- •5.5. Система управления коммутаций сигналов
- •Основная литература
- •Дополнительная литература
2.5. Операторные схемы алгоритмов систем управления
Способы записи алгоритмов многообразны и, видимо, не исчерпываются существующими операторными схемами, наиболее применяемыми в дискретной технике. Известны также алгоритмы Маркова, Ван Хао, машины Тьюринга–Поста, которые используются в математической теории [1].
В программировании и в теории автоматов наиболее применимы операторные схемы алгоритмов (ОСА) в форме граф-схем (ГСА), логических схем (ЛСА), регулярных схем (РСА), матричных (МСА) и табличных схем (ТСА). Все виды ОСА эквивалентны, поэтому может быть осуществлен взаимный переход (рис. 50) от одной формы к другой.
Замыкающие стрелки в графе рис. 50 отображают возможность эквивалентных преобразований самой формы ОСА без нарушения правильности алгоритма. Например, для ГСА рис. 51 формы а, б, в – эквивалентны. Однако переход от а) к в) допустим всегда, но от а) к б) – лишь в том случае, если по условиям работы операционного устройства, которым управляет автомат, реализующий ГСА, возможно одновременное исполнение операторов А1 и А2.
Рис. 50
Рис. 51
Переход от ГСА к МСА осуществляется в следующей последовательности:
составляется матрица с перечислением всех операторов действия А1А2…АnАк (где Ак – оператор окончания алгоритма – «end») в заголовке столбцов матрицы и операторов А0А1…Аn (где А0 – оператор начала алгоритма) в перечислении строк;
прямая связь Аi к Аj отображается 1 на пересечении соответствующей i-й строки с j-м столбцом;
если связь осуществляется с проверкой логического условия, ставится α, соответствующее значению «0» или «1», т.е.
или α.
Однако часто при переходе от ГСА к МСА допускается ошибка, если не обозначить новым номером Аn+1 повторяющийся оператор Аi с записью примечания, Аn+1 = Аi. Например, для ГСА рис. 52 а правильная запись МСА, приведенная в табл. 22, может быть осуществлена только по рис. 52 б, где А7 = А2.
Рис. 52
Переход от ГСА к ЛСА неоднозначен и поэтому не формализован.
Определим формализованную процедуру преобразования ОСА, обеспечивающую однозначное преобразование ГСА в ЛСА. Для этого первоначально преобразуем ГСА в ТСА по следующей последовательности действий:
отметим на ГСА самый длинный путь от А0 до Ак (для рис. 52 а этот путь составляет последовательность операторов 1, 2, …, 10, отмеченную «двойными» линиями;
если на отмеченном пути встречается ветвь логического оператора αi со значением 1, то соответствующий оператор αi заменяется оператором βi, для которого βi =
;
тогда отмеченный путь будет проходить
через операторы, безусловные переходы
(стрелки) от Аi
к Aj
и через стрелки αi
со значением «0»;каждому оператору Аi, следующему со значениями αi или βj, равными «1», припишем метку (буква с цифрой, например Q1, Q2, …,Qr);
Таблица 22
|
А1 |
А2 |
А3 |
А4 |
А5 |
А6 |
А7 |
Ак |
А0 |
1 |
|
|
|
|
|
|
|
А1 |
|
1 |
|
|
|
|
|
|
А2 |
|
|
|
|
|
|
|
|
А3 |
|
|
|
|
1 |
|
|
|
А4 |
|
|
|
|
1 |
|
|
|
А5 |
|
|
|
|
|
|
1 |
|
А6 |
|
|
|
|
|
|
|
1 |
А7 |
|
|
|
|
|
|
|
|
А7 = А2 |
||||||||
нумеруются также последовательности операторов (по правилу 1, 2, 3) на участках ГСА, не покрытых самым длинным путем;
отмечаются также с помощью меток операторы, к которым подходят несколько стрелок.
По рис. 52 а осуществим переход к ТСА, т.е. запишем последовательность операторов отмеченного пути в столбик:
|
1 |
А0 |
|
Q2 |
2 |
А1 |
|
|
3 |
А2 |
|
|
4 |
α1 |
→ Q1 |
|
5 |
А3 |
|
Q3 |
6 |
А5 |
|
|
7 |
А2 |
|
|
8 |
β2 |
→ Q2 |
|
9 |
А0 |
|
|
10 |
А6 |
|
Q1 |
11 |
А4 |
|
|
12 |
|
→ Q3 |
Здесь команда 12 обозначает безусловный переход на Q3, а команды 4 и 8 – условные переходы, например, команда 4 читается как «если α1 = 1, то иди Q1, иначе А3».
Эти правила перехода от ГСА к ТСА рекомендованы для написания программ на алгоритмических языках низкого (ассемблер) и высокого уровня. Здесь же определим процедуру перехода от ТСА к ЛСА.
Как уже видно по ТСА, переход к ЛСА есть преобразование ТСА в строчную запись. Для этого произведем следующие действия:
запись операторов (команд) осуществим в строчку (развернем ТСА на 90° против часовой стрелки);
стрелки перехода по условиям αi и βj также повернем вверх и припишем им номера (индексы) i, j;
метки Qk заменим стрелками, направленными вниз, с индексами тех логических операторов αi, βj, которые определяют переход к Qk;
для безусловных операторов (в примере команда 12) так же определяются стрелки (вверх по команде и вниз по метке), но присваивается следующий по порядку номер после αi, βj;
после оператора Ak ставится точка с запятой (;), если отмеченный путь не покрывает всего алгоритма;
после последнего участка алгоритма ГСА ставится точка (.).
Для рис. 52 а по соответствующей ТСА получим ЛСА в виде:
A0↓2A1A2α1↑1A3↓3A5A2β2↑2A6Ak ; ↓A4↑3.
Вернувшись
к первоначальному обозначению
,
получим окончательно
A0↓2A1A2α1↑1A3↓3A5A2 ↑2A6Ak ; ↓A4↑3.
Заметим,
что в предлагаемой записи ЛСА безусловный
оператор как таковой отсутствует, т.е.
просто стоит стрелка, направленная
вверх (
).
При этом такая стрелка ставится и после
условного оператора α. В первоначальной
записи А. Ляпунова безусловный оператор
отмечается специальной буквой (О), т.е.
обозначается О(
).
Можно вместо (О) использовать и другую
букву или вообще не использовать
буквенного обозначения.
Необходимость перехода от ГСА к ЛСА возникает в том случае, когда требуется ввести информацию о структуре ГСА в ЭВМ для последующего формального анализа алгоритма управления или перехода к процедуре формального и структурного синтеза автоматов. Запись в форме ЛСА удобна также при написании научных статей и отчетов, т.к. позволяет избежать изображений в форме ГСА, т.е., по существу, рисунков и чертежей.
Представление ОСА в виде различных форм (рис. 50) и взаимные преобразования имеют значение не только в задачах анализа и синтеза автоматов управления, но и в других областях применения информационных технологий и математического обеспечения систем обработки информации.
