- •«Самарский государственный технический университет»
- •По курсу «Теория автоматов и формальных языков»
- •Лабораторная работа № 1
- •1. Краткая теория
- •1. Начальные языки описания цифровых автоматов
- •1.1. Начальные языки описания цифровых автоматов.
- •1.1.1. Язык регулярных выражений алгебры событий. Язык регулярных выражений алгебры событий использует следующие понятия:
- •1.1.2. Граф-схемы алгоритмов (гса) функционирования автоматов.
- •1.1.3. Логические схемы алгоритмов (лса).
- •1.1.4. Формулы переходов.
- •1.1.5. Матричные схемы алгоритмов (мса).
- •1.1.6. Преобразование гса с помощью формул переходов.
- •2. Методика выполнения
- •4. Контрольные вопросы
- •1. Краткая теория
- •1.1.7. Объединение гса с помощью мса.
- •2. Методика выполнения
- •Задание на выполнение работы
- •4. Контрольные вопросы
- •Лабораторная работа № 3
- •1. Краткая теория
- •Тема 2.1. Автоматные языки описания цифровых автоматов.
- •2. Методика выполнения
- •1. Краткая теория
- •Тема 3.1. Определение абстрактного автомата. Соединение
- •2. Методика выполнения
- •1. Краткая теория
- •2. Методика выполнения
- •1. Краткая теория
- •2. Методика выполнения
- •4. Контрольные вопросы
- •Лабораторная работа № 7 Исследование автомата с магазинной памятью.
- •1. Краткая теория
- •2. Методика выполнения
- •1. Краткая теория
- •Разметка состояний
- •2. Методика выполнения Используя материал из раздела 1, по гса, заданной преподавателем, спроектировать автомат Мура на жесткой логике:
- •3. Задание на выполнение работы
- •Лабораторная работа № 9 Зачетное занятие
- •Начальные языки описания цифровых автоматов.
- •Лабораторная работа № 10 Исследование языков описания цифровых автоматов. Моделирование гса.
- •1. Краткая теория
- •1. Язык регулярных выражений алгебры событий. Язык регулярных выражений алгебры событий использует следующие понятия:
- •2. Граф-схемы алгоритмов (гса) функционирования автоматов.
- •3. Логические схемы алгоритмов (лса).
- •4. Формулы переходов.
- •5. Матричные схемы алгоритмов (мса).
- •2. Методика выполнения
- •3. Задание на выполнение работы
- •4. Контрольные вопросы
- •Лабораторная работа № 11 Исследование языков описания цифровых автоматов. Моделирование микропрограмм
- •1. Краткая теория
- •Автоматные языки
- •2. Микропрограммный управляющий автомат
- •2. Методика выполнения
- •3. Задание на выполнение работы
- •4. Контрольные вопросы
- •Лабораторная работа № 12
- •1. Краткая теория
- •1) Разметка состояний.
- •2) Прямая таблица переходов.
- •3) Кодирование состояний.
- •4) Обратная структурная таблица.
- •5) Запись функции выходов и переходов автомата.
- •2. Методика выполнения Используя материал из раздела 1, по гса, заданной преподавателем, спроектировать автомат Мура на жесткой логике:
- •3. Задание на выполнение работы
- •4. Контрольные вопросы
- •Лабораторная работа № 13
- •1. Краткая теория
- •1) Разметка состояний автомата по гса.
- •2) Прямая таблица переходов.
- •3) Кодирование состояний автомата.
- •4) Обратная структурная таблица.
- •5) Запись функций выходов и переходов автомата.
- •6) Построение функциональной схемы автомата Мили (рис.2).
- •2. Методика выполнения Используя материал из раздела 1, по гса, заданной преподавателем, спроектировать автомат Мили на жесткой логике:
- •3. Задание на выполнение работы
- •4. Контрольные вопросы
- •Лабораторная работа № 14 Исследование автоматов Мили на плм. Моделирование автоматов Мили плм.
- •1. Краткая теория
- •2. Методика выполнения Используя материал из раздела 1, по гса, заданной преподавателем, спроектировать автомат Мили на плм:
- •3. Задание на выполнение работы
- •4. Контрольные вопросы
- •Исследование автоматов Мура на плм. Моделирование автоматов Мура плм
- •Краткая теория
- •2. Методика выполнения Используя материал из раздела 1, по гса, заданной преподавателем, спроектировать автомат Мура на плм:
- •3. Задание на выполнение работы
- •4. Контрольные вопросы
- •1. Краткая теория
- •3) Краткое описание работы автомата:
- •2. Методика выполнения
- •4. Контрольные вопросы
- •Лабораторная работа № 17
- •1. Краткая теория
- •Формат микрокоманды:
- •3) Краткое описание работы автомата:
- •2. Методика выполнения
- •4. Контрольные вопросы
- •Лабораторная работа № 18
- •Оглавление
2. Методика выполнения
Используя материал из раздела 1, по ГСА, заданной преподавателем разработать программу моделирования ГСА
1. Разработать алгоритм моделирования ГСА.
2. Разработать структуру данных
3. Составить программу функционирования автомата по ГСА
4. Исследовать поведение автомата на построенной модели
3. ЗАДАНИЕ НА ВЫПОЛНЕНИЕ РАБОТЫ
Согласно методике, изложенной в разделе 2, и краткой теории из раздела 1, по ГСА, заданной преподавателем, разработать программу моделирования ГСА. . Исследовать поведение автомата на построенной модели Результаты исследований оформить в виде отчета.
4. Контрольные вопросы
1. Какие объекты и функции используются для описания закона функционирования автомата?
2. Какие правила необходимо соблюдать при разметке состояний?
3. Какое различие между структурными автоматами и автоматами Мили и Мура?
Лабораторная работа № 2
Исследование начальных языков описания цифровых автоматов.
Цель лабораторной работы: Получение навыков исследования и преобразования цифровых автоматов, описанных с помощью начальных языков.
1. Краткая теория
1.1.7. Объединение гса с помощью мса.
В объединяемых ГСА должны встречаться одинаковые операторные и условные вершины (одинаково обозначенные и имеющие одинаковый смысл: в одинаково обозначенных вершинах должны быть одинаковые буквы алфавитов W и Z).
Для объединяемых ГСА строятся МСА, затем строится и заполняется объединённая МСА, записываются формулы переходов и после их разложения по переменным Xsj строятся фрагменты объединённой ГСА, которые затем объединяются путем совмещения операторных вершин. При записи объединённой МСА вводятся дополнительные логические условия (вершины), обеспечивающие заданный алгоритм работы автомата.
Например, даны две ГСА: Г1 (рис.3а) и Г2 (рис.3б). В этих ГСА встречаются одинаковые операторные и условные вершины. Составим для Г1 матрицу МСА1, а для Г2 матрицу МСА2.
Так как объединяются всего две ГСА, то введём одну дополнительную переменную (логическое условие) P. Условие Р будет определять, по какому пути будут идти переходы в объединенной ГСА в зависимости от того, какой алгоритм реализуется в настоящий момент.
Пусть для Г1 условие P = 1, а для Г2 - P = 0.
МСА1
Ym\ Ys |
Yн |
Y1 |
Y2 |
Y3 |
Yк |
Yн |
X1 |
X1X2 |
X1X2 |
- |
- |
Y1 |
|
|
|
1 |
|
Y2 |
|
|
|
1 |
|
Y3 |
|
|
|
|
1 |
Построим объединённую МСА используя условие Р, если выполняется алгоритм по ГСА Г1 и условие P, если выполняется алгоритм по ГСА Г2 .
МСА2
Ym\ Ys |
Yн |
Y1 |
Y2 |
Y3 |
Y4 |
Yк |
Yн |
X1 |
X1X2 |
X1X2X3 |
- |
X1X2X3 |
|
Y1 |
|
|
|
1 |
|
|
Y2 |
|
|
|
1 |
|
|
Y3 |
|
|
|
|
|
1 |
Y4 |
|
|
|
1 |
|
|
МСА - объединенная
Ym\Ys |
Yн |
Y1 |
Y2 |
Y3 |
Y4 |
Yк |
Yн |
PX1 PX1 |
PX1X2 P X1X2 |
PX1X2 P X1X2X3 |
- |
PX1X2X3 |
- |
Y1 |
|
|
|
P P |
|
|
Y2 |
|
|
|
P P |
|
|
Y3 |
|
|
|
|
|
P P |
Y4 |
|
|
|
P |
|
|
Запишем формулы переходов по объединенной МСА:
Y1 (PP)Y3 Y3
Y2 (PP)Y3 Y3
Y3 (PP)Yk Yk
Y4 PY3 Y3, т. к. в строке Y4 нет P, а значит в Г1 нет вершины Y4 , и условие Р из формулы можно исключить.
Yн (PP)X1Yн (PP)X1X2Y1 PX1X2Y2 PX1X2X3Y2
PX1X2X3Y4
X1Yн X1X2Y1 PX1X2Y2 PX1X2X3Y2 PX1X2X3Y4
Формулы Y1 – Y4 – простые, их не надо разлагать. Разложение Yн удобно начинать с переменной, чаще всего встречающейся в формуле. Это переменная X1 :
Yн X1(Yн) X1(X2Y1 PX2Y2 PX2X3Y2 PX2X3Y4);
Далее разложим формулу по X2 :
Yн X1(Yн) X1(X2(Y1) X2(PY2 PX3Y2 PX3Y4));
Далее разложим формулу по X3. Так как в последнем разложении в выражении PY2 не содержится переменной X3, преобразуем его следующим образом: PY2 = PY2 (X3X3) и получим:
Yн X1(Yн) X1(X2(Y1) X2(X3(PY2PY2) X3(PY2 PY4))) X1(Yн) X1(X2(Y1) X2(X3(Y2) X3(PY2 PY4)))..
По полученным объединенным формулам переходов построим фрагменты объединенной ГСА (Рис.4а):
Объединим фрагменты ГСА, учитывая, что не может быть двух операторных вершин одного вида (Рис. 4б). Вид объединённой ГСА зависит от вида фрагментов (подграфов), которые, в свою очередь, зависят от порядка разложения формул перехода.
