Скачиваний:
151
Добавлен:
10.12.2013
Размер:
801.79 Кб
Скачать

5.2. Получение математической модели микропрограммных устройств в виде гса, лса и мса.

Для целей синтеза МПУ необходимо уметь строить модели микропрограммных устройств в виде ГСА, ЛСА, МСА. Методику их построения рассмотрим на примере.

Пример 1. Для МПУ, изображенного на рис. 5.3, найти его описание в виде ГСА, ЛСА и МСА.

Автомат имеет входы "Пуск", Х1, Х2, Х3и Х4, выходы Z1, Z2, Z3, Z4и состоит из регистра Р, дешифратора D, блока формирования команд управления ФКУ, блока проверки логических условий ПЛУ и формирователя микрокоманд ФМК, соединенного со входами регистра.

Работа автомата состоит в следующем.

По команде "Пуск" в регистр Р записывается команда начала работы, по которой ФКУ формирует команду Z1. После этого МПУ проверяет наличие сигнала на входе (логическое условие Х1). Если Х1=1, то автомат формирует управляющую команду Z2, затем Z3, а если Х1=0, то сразу формирует команду Z3. После этого МПУ проверяет, выполнено ли логическое условие Х2(наличие сигнала на входе Х2). Если Х2=0, то автомат заканчивает работу, а если Х2=1, то МПУ формирует управляющую команду Z4и проверяет выполнение логического условия Х3. При Х3=0 цикл работы автомат повторяет, начиная с формирования команды Z1. Если логическое условие Х3выполняется (Х3=1), то проверяется состояние входа автомата Х4(логическое условие Х4). Если на входе Х4имеется сигнал (Х4=1), то МПУ возвращается к формированию команды управления Z4, если на этом входе отсутствует сигнал (Х4=0), то работа автомата заканчивается.

Отметим, что, как правило, словесное описание работы МПУ получают по условиям, задаваемым заказчиком на разработку устройства (автомата).

Порядок построения ГСА состоит в следующем.

1. Составляется полный перечень команд (микрокоманд и логических условий). Для примера 1 это будут команды "Пуск", Z1, Z2, Z3, Z4, "Конец", X1, X2, X3, X4.

Заметим, что в реальных примерах эти команды имеют реальный смысл.

2. Вводится содержательное обозначение микрокоманд и ЛУ. Для примера 1 это будут: "Пуск", ФКУ=Z1, ФКУ=Z2, ФКУ=Z3, ФКУ=Z4, "Конец", Sign X1, Sign X2, Sign X3, Sign X4.

3. Определяется и вычерчивается начальная вершина "Пуск".

4. В соответствии со словесной формулировкой строится содержательная ГСА до конечной вершины.

При этом необходимо с особым вниманием относиться к случаям, когда якобы следует осуществить возврат к уже имеющимся вершинам, что может привести к противоречию в ГСА, а также к случаям, когда после некоторого значения ЛУ нет дальнейшего действия, а необходимо ждать противоположного значения ЛУ, т.е. возникает ждущая вершина.

По словесному описанию условий работы МПУ построим содержательную граф-схему алгоритма. Для примера 1 построение начинаем с вычерчивания начальной вершины "Пуск" (рис. 5.4). Так как после пуска автомат формирует команду управления Z1, то ниже необходимо вычертить операторную вершину ФКУ=Z1, которая соответствует формированию команды Z1. Выход вершины "Пуск" следует соединить со входом вершины ФКУ=Z1. По условию работы МПУ после формирования команды Z1проверяется логическое условие Х1поэтому ниже вершины ФКУ=Z1следует вычертить вершину Sign X1. Вход этой вершины соединяется с выходом вершины ФКУ=Z1. Вершина Sign X1имеет два выхода: "да" и "нет". Из условий работы МПУ следует, что если Х1=1, то автомат формирует управляющую команду Z2, а затем Z3. Поэтому ниже вершины Sign X1необходимо нарисовать последовательно соединенные вершины ФКУ=Z2и ФКУ=Z3. Выход вершины ФКУ=Z2соединяется с выходом "да" вершины Sign X1. Если логическое условие Х1не выполнено, то сразу формируется команда Z3, поэтому выход "нет" вершины Sign X1следует соединить со вторым входом вершины ФКУ=Z3. Аналогично анализируя заданную схему автомата (его словесное описание), начертим содержательную граф-схему алгоритма (рис. 5.4) до конечной вершины.

5. После построения содержательной ГСА ее вершины кодируются, т.е. выбирается система операторов. Выберем для примера 1 следующую кодировку вершин:

А0- "Пуск";

А1- ФКУ=Z1;

А2- ФКУ=Z2;

А3- ФКУ=Z3;

А4- ФКУ=Z4;

Ак- "Конец";

Х1- Sign X1;

Х2- Sign X2;

Х3- Sign X3;

Х4- Sign X4.

Получаем при таком кодировании вершин граф-схему алгоритма (рис. 5.5), наглядно представляющую условия функционирования заданного МПУ.

Порядок получения модели МПУ в виде логической схемы алгоритма следующий:

1. На основании анализа словесного описания условий функционирования МПУ определяется список формируемых МПУ команд (микрокоманд) и проверяемых логических условий.

2. Производится кодирование микрокоманд и ЛУ: вводятся условные обозначения формируемых микрокоманд (А0, А1, А2,...Ак) и проверяемых ЛУ (Х1, Х2, ..., Хn), т.е. выбирается система операторов.

3. Выписывается начальный оператор, обозначающий начало алгоритма.

4. По словесной формулировке последовательно строится ЛСА - член за членом до Аквключительно. Эта процедура производится вначале при равенстве всех логических условий единице (ЛУ=1), а затем при равенстве ЛУ нулю (ЛУ=0), либо проставляются в необходимых местах концы стрелок, либо вводятся новые члены ЛСА. При этом каждое ЛУ снабжается началом стрелки.

Найдем описание в виде ЛСА микропрограммного устройства, описанного в примере 1. Перечень команд и логических условий был выписан при составлении ГСА.

Введем систему операторов, т.е. закодируем команды и условия, формируемые и проверяемые автоматом, следующим образом:

Команду "Пуск" - А0;

Команду Z1 - А1;

Команду Z2 - А2;

Команду Z3 - А3;

Команду Z4 - А4;

Команду "Конец" - Ак;

Проверку выполнения логического условия Х1 - X1;

Проверку выполнения логического условия Х2 - X2;

Проверку выполнения логического условия Х3 - X3;

Проверку выполнения логического условия Х4 - X4;

Так как работа автомата начинается по команде "Пуск", обозначенной оператором А0, то и выражение ЛСА начинается с этого оператора (оператора начала), т.е. А0.

По команде "Пуск" автомат формирует команду управления Z1, обозначенную символом А1, поэтому в ЛСА после оператора А0необходимо записать оператор А1. Получим: А0А1.

После формирования команды Z1МПА проверяет выполнено ли логическое условие х1. Поэтому после оператора А1следует записать логическое условие х1с началом стрелки1.

Из анализа работы автомата следует, что если х1=1, то автомат формирует команду управления Z2, а затем Z3, обозначенные соответственно А2и А3. Следовательно, в ЛСА после символа1записываем последовательно операторы А2и А3: А0А11А2А3.

Если же х1=0, то МПА сразу формирует команду управления Z3. Отсюда следует, что конец стрелки1 необходимо расположить перед оператором А3: А0А11А21А3.

После формирования команды Z3автомат проверяет, выполнено ли логическое условие х2. Поэтому после оператора А3нужно записать логическое условие х2с началом стрелки2: А0А11А21А3х22.

Если х2=1, то автомат формирует команду управления Z4, обозначенную символом А4, а после формирования команды Z4автомат проверяет, выполнено ли логическое условие х3.

Таким образом, после символа 2записываем А4, затем х3с началом стрелки3: А0А11А21А3х22А4х33.

Из анализа работы автомата следует, что если х3=1, то автомат проверяет состояние входа х4. Значит, после начала стрелки3записывается символ х44. Если же х3=0, то цикл автомата повторяется, начиная с формирования команды Z1, обозначенной через А1. Поэтому конец стрелки3необходимо поставить перед оператором А1:

А03А11А21А3х22А4х33х44.

Из условий работы автомата следует, что если на входе х4имеется сигнал х4= 1, то МПА возвращается к формированию команды управления Z4, обозначенной А4. Оператор А4 в уже построенной части ЛСА присутствует. Чтобы перейти к нему нужно в ЛСА вместо х4поставить символ ***, тогда конец стрелки4необходимо записать перед оператором А4. Если же х2=0, или на входе х4отсутствует сигнал (), то по условию автомат заканчивает работу. Так как конец работы мы обозначили оператором Ак, его следует записать после начала стрелки4, а перед ним поставить конец стрелки2. Итак, окончательно получаем:

А03А11А21А3х224А4х33***442Ак.

Полученное выражение и является искомой ЛСА, описывающей условия работы МПУ, изображенного на рис. 5.1.

Входы автомата в ЛСА отождествляются с логическими условиями (переменными), выходы - с операторами, кроме операторов “Начало” (“Пуск”) и “Конец”. Начальное состояние автомата отождествляется с оператором “Начало” (“Пуск”).

Состояния автомата отождествляются с символами операторов и логических условий. Функции переходов и выходов определяются порядком расположения операторов, логических условий и нумерованных стрелок.

Над моделями автоматов в виде ЛСА можно проводить эквивалентные преобразования.

Порядок получения модели МПУ в виде матричной схемы алгоритма (МСА) следующий:

1. Определяется полные список микрокоманд - операторов и логических условий.

2. Производится кодирование микрокоманд и ЛУ условными обозначениями, т.е. выбирается система операторов.

3. Строится квадратная матрица, строки которой обозначаются операторами А0, А1,...,Аi,...,Ак-1, а столбцы - операторами А1,...,Аi,...,Ак.

4. На основании словесной формулировки определяются совокупности значений ЛУ, при которых после А0выполняется А1и определяется функция переходов от А0к А1- а01, которая и проставляется в матрицу. Аналогичная процедура выполняется для всех строк и столбцов матрицы.

5. Проводится проверка правильности построения матрицы по соотношениям

Найдем для МПУ, приведенного в примере 1, его описание в виде МСА.

Закодируем команды “Пуск”, Z1, Z2, Z3, Z4и “Конец” соответственно операторами А0, А1, A2, A3, A4, Ak. Проверки выполнения логических условий х1, х2, х3, хnзакодируем соответственно х1, х2, х3, хn.

После кодирования устанавливаем размерность квадратной матрицы, равную 5, так как всего операторов 6, но оператором А0не обозначается столбец, а оператором Акне обозначается строка. Строки квадратной матрицы обозначим сверху вниз А0, А1, A2, A3, A4, а столбцы слева направо А1, А2, A3, A4, Aк. Затем необходимо определить функции переходов аijдля каждой клетки матрицы. Из анализа схемы и условий ее работы следует, что по команде “Пуск”, обозначенной нами через А0, автомат формирует команду Z1, обозначенную через А1.

Это означает, что в клетке <А0А1> необходимо записать 1, а в остальных клетках - нули (так как а020304=0). После заполнения строки А0матрица примет вид, представленный на рис. 5.6.

Для сокращения записи нулевые значения аijв матрицу записывать не будем. Переходим к заполнению второй строки А1. Из условий работы МПУ вытекает, что после формирования команды Z1автомат проверяет, выполнено ли логическое условие х1. Если х1=1, то автомат формирует управляющую команду Z2, отсюда следует, что функция переходов а121, Если же логическое условие х1 не выполнено, т.е. х1=0, то автомат формирует команду Z3. Значит, а13=***. Другие переходы автомата в данном случае по условиям его работы невозможны, или а1114=0. После заполнения строки А1 матрица имеет вид, представленный на рис. 5.7.

Аналогичным образом в результате анализа условий работы МПА заполняются строки А2и А3 матрицы, которая после этого примет вид, представленный на рис. 5.8.

Остановимся более подробно на заполнении строки А4. Из условий работы автомата следует, что после формирования команды Z4, обозначенной оператором А4, проверяется логическое условие х3. Если х3= 0, то цикл автомата работы повторяется , начиная с формирования команды Z1, обозначенной А1. Отсюда видно, что функция перехода от оператора А4к оператору А1равна, т.е.. Это необходимо записать в первую клетку строки А4матрицы.

Если х3= 1, то проверяется выполнение логического условия х4. Если х4= 1, автомат снова формирует команду управления Z4. Отсюда следует, что функция перехода от оператора А4 к оператору А4равна х3х4, т.е. а443х4.

Если же на входе х4сигнал отсутствует, то автомат заканчивает работу:. Другие переходы автомата после функционирования команды Z4невозможны. Следовательно, а4243=0.

Запишем значения полученных функций переходов в матрицу и получим ее окончательный вид, представленный на рис. 5.9.

Эта квадратная матрица и является представленной в виде матричной схемы алгоритма моделью МПУ, изображенного на рис. 5.1. Матричная модель автомата является достаточно наглядной. Однако при большом числе операторов она становится громоздкой и малообозримой.

Между МСА, ГСА и ЛСА имеется однозначное соответствие. Входам автомата на ГСА соответствуют условные вершины, в ЛСА - логические условия или переменные логических условий, в МСА - переменные функций переходов аij. Выходным состоянием автомата в ГСА соответствуют операторные вершины, в ЛСА и МСА - операторы. Состояние автомата определяется количеством вершин в ГСА, операторов и логических условий - в ЛСА и МСА. Начальное состояние определяется на ГСА вершиной “Начало”, в ЛСА - самым левым оператором выражения, в МСА - самым верхним оператором строки. Функции переходов и выходов на ГСА определяются дугами графа и его вершинами, в МСА - функциями переходов аij, в ЛСА - порядком расположения операторов, логических условий и нумерованных стрелок.

Соседние файлы в папке Конспект лекций по теории автоматов-Коган