Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория автоматов. Учебное пособие
.pdf
1
, КА2
1
реализует функцию выходов первого типа u(t) =
2
— функцию выходов второго типа w(t) =
3
совместно с памятью — функцию
КА
КА
КА
память
а(t + 1)
а(t)
z(t
w(t)
Структурная модель первого уровня автомата Мура с учетом (2.3)
может быть представлена в виде совокупности комбинационных автоматов (КА
и КА2) и автомата с памятью (кратко, памяти) следующим
1
образом (рис. 3.2).
Комбинационный автомат КА
бинационный автомат КА
совместно с памятью — функцию переходов.
2
реализует функцию выходов, а ком-
1
Память может быть реализована различными способами, но ее задача такая же, как и для автомата типа Мили.
Особенность структурной модели автомата типа Мура отражает
специфику математической модели, а именно, неявную зависимость
выходного сигнала (символа) от входного сигнала (символа).
Структурная модель первого уровня С-автомата с учетом (2.6)
может быть представлена в виде совокупности комбинационных автоматов (КА
дующим образом (рис. 3.3). Комбинационный автомат КА
функцию выходов первого типа u(t) = λ
мат КА
2
национный автомат КА
а(t + 1) = δ(a(t), z(t)).
, КА2 и КА3) и автомата с памятью (кратко, памяти) сле-
1
(a(t)), комбинационный авто-
1
реализует
1
— функцию выходов второго типа w(t) = λ2(a(t), z(t)), а комби-
совместно с памятью — функцию переходов
3
)
1
λ1(a(t))
2
λ2(a(t), z(t))
3
δ(a(t), z(t))
Рис. 3.3. Структурная модель первого уровня C-автомата
-31-
u(t)

При описании работы широкого класса дискретных систем, в том
числе и микропрограммных автоматов, стало уже классическим их
представление в виде композиции управляющего автомата (УА) и операционного автомата (ОА) (рис. 3.4).
Рис. 3.4. Структурная модель первого уровня
микропрограммного автомата
Операционный автомат выполняет преобразование входных слов
информации (двоичных векторов), поступающей на его входыγ. Такими словами могут быть: слагаемые или операнды для какой-либо арифметической операции, множимое и множитель для умножения и т.п.
Результатом преобразования, реализуемого операционным автоматом,
является информация, которая формируется на выходах β.
Задачей управляющего автомата является выработка распределенной во времени последовательности управляющих сигналов y, под
воздействием которых в операционном автомате выполняется некоторая операция.
Элементарный неделимый акт обработки информации в операционном автомате, происходящий в течение одного такта автоматного
времени, называют микрооперацией (y). Каждая микрооперация возбуждается соответствующим сигналом y, причем, если микрооперация
выполняется, то y = 1, а если нет, то y = 0.
Совокупность микроопераций, выполняемых одновременно за
один такт автоматного времени, называется микрокомандой. Для задания порядка следования микрокоманд вводятся и формируются спе-
-32-

циальные переменные, которые называют либо логическими условиями, либо осведомительными сигналами x.
Проверка логического условия в каждом такте работы управляющего автомата однозначно определяет микрокоманду, реализуемую
в следующем такте.
Таким образом, совокупность микрокоманд и функции переходов
образует микропрограмму.
Операционный автомат, как правило, является комбинационным
автоматом, управляющий автомат — всегда последовательностный автомат, следовательно, с памятью.
-33-

В зависимости от способа задания функцией переходов и выходов
(d и l) в настоящее время выделяют два класса языков — начальные
языки и стандартные, или автоматные языки, которые используют для
задания (описания) абстрактных автоматов [12].
В начальных языках автомат описывается на поведенческом уровне, т.е. функции переходов и выходов обычно в явном виде не заданы.
Поведение автомата описывается в терминах входных и выходных последовательностей, реализуемых операторов (отображений) или управляющих последовательностей сигналов, воздействующих на операционный автомат.
В автоматных языках поведение автомата задается путем явного
задания функций переходов и выходов.
Для описания, синтеза, анализа структурных автоматов широко
используется язык (математический аппарат) алгебры логики и язык
временных диаграмм.
Рассмотрим кратко язык регулярных выражений алгебры событий.
Для заданного конечного множества входных букв X = {x
лярное выражение задается следующим образом. Для построения язы-
-34-
,…, xn} регу-
1

ка регулярных выражений используется три операции над событиями
(две бинарных и одна унарная):
1) A∪B — объединение (дизъюнкция);
2) AB — умножение (конкатенация);
{A} — итерация (обозначается также A*).
Выражение, построенное из букв алфавита X и из символов опера-
ций объединения, умножения и итерации с использованием соответствующим образом круглых скобок, называется регулярным выражением в алфавите X. Всякое регулярное выражение R определяет некоторое
событие S (S получается в результате выполнения всех операций, вхо-
дящих в выражение R). События, определяемые таким образом, называются регулярными событиями над алфавитом X. Другими словами,
регулярным событием называется событие, полученное из элементарных событий (однобуквенных слов x
) применением конечного чис-
i
ла раз операций дизъюнкции, умножения и итерации. Например, в алфавите из трех букв x, y, z регулярное выражение x{x ∨ y ∨ z} (y ∨ z) задает
регулярное событие из всех слов, которые начинаются буквой x и заканчиваются буквой y или z.
Пусть необходимо описать автомат, выдающий сигнал w
раз, когда происходит изменение входной буквы с x
вами, сигнал w
должен выдаваться в ответ на любые входные после-
1
на x2. Другими сло-
1
довательности, кончающиеся последовательностью x
. Фраза «любые
1x2
всякий
1
входные последовательности» формализуется всеобщим, или универсальным, событием, состоящим из всех возможных слов в алфавите x
Такое событие записывается как {x
которое должен выдаваться сигнал w
выражением: S
= {x1 ∨ x2}x1x2.
1/w1
∨ x2}. Тогда событие S1, в ответ на
1
, будет описываться регулярным
1
1x2
.
В 1953 г. А. А. Ляпунов предложил записывать алгоритмы в виде конечной строчки, состоящей из символов операторов, логических условий
и верхних и нижних стрелок, которым приписаны натуральные числа.
Порядок выполнения операций в автомате определяется програм-
мой (или микропрограммой), представляющей собой совокупность микроопераций и логических условий.
Под микрооперацией обычно понимается элементарный процесс переработки информации в одной из частей автомата, происходящий за время такта работы автомата. При этом устройство управления
-35-

вырабатывает управляющие сигналы, которые обозначим символом
V = {v
в зависимости от условий, задаваемых множеством Z = {z
, v2,…, vn}. Ход выполнения микроопераций может нарушаться
1
, z2, …, zp}.
1
Запись алгоритма, выполненная с учетом вышеизложенного, называется логической схемой алгоритма (ЛСА).
Логические схемы алгоритмов удовлетворяют следующим условиям:
1) содержат один начальный (v
2) перед оператором v
и после оператора vk стрелок быть не должно;
n
) и один конечный оператор(vk);
n
3) вслед за каждым логическим условием всегда стоит верхняя
стрелка;
4) не существует двух одинаковых (с одинаковыми цифрами) ниж-
них стрелок;
5) для каждой нижней стрелки должна быть, по крайней мере, одна
соответствующая ей (с одинаковой цифрой) верхняя стрелка;
6) для каждой верхней стрелки должна быть точно одна соответс-
твующая ей (с одинаковой цифрой) нижняя стрелка.
Описание поведения автомата с помощью ЛСА поясним на следующем примере:
v
Эта ЛСА имеет оператора начала и конца (v
) и три логических условия (z1, z2, z3). Начальному оператору соот-
(v
1÷v5
↑1 v1 ↓1 z2 ↑2 v2v3z3 ↑2 v4 ↓2 v5vk. (4.1)
nz1
и vk), пять операторов
n
ветствует некоторое начальное состояние автомата, при котором никакие микрооперации не выполняются. Если в начальном состоянии на
первый вход устройства придет сигнал, равный единице (z
= 1), то уст-
1
ройство перейдет в новое состояние, в котором выполняется оператор
— первый справа после логического условия z1, а затем проверяется
v
1
логическое условие z
. Если же z1 = 0, то выходим по верхней стрелке ↑1
2
и входим по нижней стрелке с той же цифрой на проверку логического
условия z
ются операторы v
не выполняется, происходит переход к оператору v5. После выполне-
v
4
ния оператора v
, минуя выполнение оператора v1. Если же z2 = 1, то выполня-
2
и v3 и проверяется условие z3; если z3 = 0, то оператор
2
происходит переход к конечному оператору, т.е. рабо-
5
та дискретного устройства заканчивается.
Другой разновидностью языка, позволяющего описывать логические схемы алгоритмов, является язык граф-схем алгоритмов (ГСА).
-36-

Граф-схема алгоритма — ориентированный связный граф, содержащий одну начальную вершину, произвольное число условных и операторных вершин и одну конечную вершину (рис.4.1).
а б в г
Рис. 4.1. Графическое представление вершин ГСА:
а, б — начальная и конечная вершины;
в — операторная вершина; г — условная вершина
Конечная, операторная и условная вершины имеют по одному входу, начальная вершина входов не имеет. Начальная и операторная вершины имеют по одному выходу. Конечная вершина выходов не имеет.
Условная вершина имеет два выхода, помеченных символами 1 и 0.
Граф-схема алгоритма удовлетворяет следующим условиям:
1. Входы и выходы вершин соединяются друг с другом с помощью
дуг, направленных всегда от выхода к входу.
2. Каждый выход соединен только с одним входом.
3. Любой вход соединяется, по крайней мере, с одним выходом.
4. Любая вершина графа лежит, по крайней мере, на одном пути из
начальной к конечной вершине.
5. В каждой условной вершине записывается один из элементов
множества логических условий Z = {z
, …, zl}, разрешается в различных
1
условных вершинах записывать одинаковые элементы множества Z.
6. В каждой операторной вершине записывается один из элемен-
тов множества операторов V = {v
, …, vt}, разрешается в различных опе-
1
раторных вершинах запись одинаковых элементов множества V.
На рис. 4.2 представлена граф-схема алгоритма, соответствующая
ЛСА, заданной (4.1). Язык ГСА используется очень часто при описании
алгоритмов функционирования, как самого цифрового автомата, так
и программ, выполняющих то или иное действие.
-37-

Vn
z1
V1
z2
z3
V2
V3
V4
V5
Vk
1 0
0
1
0 1
Рис. 4.2. Пример граф — схемы алгоритма
При проектировании различных устройств ЭВМ обычно используются содержательные схемы алгоритмов, которыми описываются не
только формальные элементы, а также логические условия и микрооперации в содержательных терминах. Основные правила выполнения содержательных схем алгоритмов и программ, которым студенты должны следовать в процессе выполнения курсового проекта, представлены
в соответствующих ГОСТах.
Графическое описание алгоритма дается в виде чертежа, состоящего из ограниченного числа геометрических фигур (называемых символами), соединенных стрелками, указывающими последовательность
некоторых действий.
Различают безусловные и условные типы символов. Безусловные
позволяют описывать операции, связанные с вводом/выводом и выполнением операторов (инструкций) алгоритма. Символы условного
типа позволяют отобразить ситуации, требующие ветвления вычислительного процесса в зависимости от выполненного результата.
-38-

Конфигурацию и размер символов, а также порядок построения
схем алгоритмов определяет ГОСТ 19.701-90 «Единая система программной документации. Схемы алгоритмов, программ, данных и систем.
Обозначения условные и правила выполнения» (ЕСПД).
Все символы (блоки) в алгоритме нумеруются. Номера проставляются в разрыве верхней линии блока слева (рис. 4.3).
Рис. 4.3. Обозначение и нумерация блоков алгоритма
Линии потока указывают направление перехода к следующему
блоку алгоритма. Стрелки на линиях потока не ставят, если линии потока направлены вниз или слева направо. Противоположные направления (то есть снизу вверх или справа налево) обязательно помечают
стрелкой на линии потока. Линии потока могут подвергаться изломам
до 90°. В этом случае на линиях потока также ставится стрелка.
В состав схемы алгоритма могут быть включены соединитель и межстраничный соединитель.
Соединитель используется для обозначения связи между блоками
(символами) при необходимости обрыва линии потока. Такая потребность возникает в том случае, когда участок схемы алгоритма слишком
насыщен линиями потока или когда соединяемые символы находятся
далеко друг от друга, но в пределах одного и того же листа. На рис. 4.4
иллюстрируется использование соединителя между блоками 2 и 7 (линии потока направлены от блока 2 к блоку 7).
Если приходится изображать алгоритм на нескольких листах, то
используют межстраничный соединитель. Внутри символа межстраничного соединителя указывают номер листа (трехзначный) и номер
символа, с которым должно быть соединение. На рис. 4.5, а показано,
что линия потока уходит на второй лист к 23блоку, а на рис. 4.5, б — что
к 23 блоку идет линия потока с первого листа от пятого блока.
-39-

Рис. 4.4. Пример использования соединителя
Рис. 4.4. Пример использования соединителя
а б
Рис. 4.5. Пример использования
межстраничного соединителя
Рекомендуется использовать соединители в крайних случаях, так
как иначе снижается наглядность схемы алгоритма и ее понимание.
Среди автоматных (стандартных) языков наиболее распространены
таблицы и матрицы переходов и выходов, а также графы автоматов [12].
-40-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
