Вятский государственный университет
Опубликован: 24.04.2008 | Доступ: свободный | Студентов: 2132 / 435 | Оценка: 3.44 / 3.17 | Длительность: 06:01:00
Специальности: Программист, Математик
Лекция 4:

Построение абстрактных автоматов по граф-схеме микропрограммы

< Лекция 3 || Лекция 4: 12 || Лекция 5 >
Аннотация: Описываются способы перехода от граф-схем микропрограмм к абстрактным автоматам. Приводятся методы разметки ГСА и правила построения по ним автоматов Мили и Мура. Дается понятие совмещенного автомата и способы его представления.

4.1 Переход от ГСА МП к графу абстрактного автомата Мили

Переход осуществляется в два этапа. На первом этапе производится определение числа состояний путем разметки и отметки граф-схемы; на втором - определение графа автомата.

Правила разметки:

  1. Символом а_1 помечаем вход вершины следующей за начальным оператором в ГСА и вход конечной вершины. (рис.4.1,а).
  2. Символами а_2, а_3, а_4,\dots - входы вершин, следующих за операторными вершинами (рис.4.1,б).

Рис. 4.1.

Если в результате разметки оказалось, что в одну и ту же вершину граф-схемы входит несколько размеченных стрелок, то им присваивается один и тот же символ. В дальнейшем символ а_1 рассматривается как начальное состояние автомата, а символы а_j - как промежуточные состояния автомата. Таким образом, число состояний автомата опреде-ляется числом различающихся символов a_1, a_j, \dots, a_k

Переход от отмеченных граф-схем к графу автомата осуществ-ляется в следующем порядке.

Вершинами графа изображаются все состояния автомата и внутри кружков записываются символы a_1, \dots, a_k, то есть существующие метки на ГСА.

На граф-схеме микропрограммы отыскивается путь между двумя соседними состояниями a_m и a_s. Пути отображаются дугами. Возможно существование путей трех видов:

  1. Если этот путь содержит логические условия, то дуга, связывающая вершины a_m и a_s графа автомата, отмечается логической функцией X(a_m,a_s), значение которой определяет переход автомата из состояния a_m в состояние a_s и оператором Y_i, находящимся на пути между a_m и a_s (рис.4.2).

    Рис. 4.2.
  2. Если этот путь содержит логические условия, то дуга, связывающая вершины a_m и a_s графа автомата, отмечается логической функцией, значение которой определяет переход автомата из состояния a_m в состояние as и если на пути между a_m и a_s отсутствует операторная вершина, то этот факт отмечается символом '-' или символом Y_0 ( пустой оператор, пропуск такта) (рис.4.3);

    Рис. 4.3.
  3. Если этот путь не содержит логические условия, то есть существует безусловный переход, то это путь третьего вида. Такой переход обозначается "1" вместо логической функции и оператором Y_i, находящимся на пути между a_m и a_s (рис.4.4).

Рис. 4.4.

Построение графа автомата Мили по ГСА микропрограммы рассмотрим на примере ГСА, представленной на рис.4.5.

На первом этапе выполним разметку согласно указанным выше правилам. Получаем пять меток, выделенных красными крестиками на рис.4.5.


Рис. 4.5.

На втором этапе строим граф автомата Мура. Имеем пять вершин графа соответствующих пяти состояниям.

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

Рассмотрим пути, идущие от метки а_2. Всего их три. Первый путь из а_2 в а_3 проходит через условную вершину х_1 и операторную вершину Y_4, то есть это путь первого вида, соответствующий переходу из состояния а_2 в состояние а_3 по условию х_1 с выработкой выходного сигнала Y_4. Второй путь из а_2 в а_5 проходит через условные вершины х_1 и х_2 и операторную вершину Y_2, то есть это путь первого вида, соответствующий переходу из состояния а_2 в состояние а_5 по условию х_1х_2 с выработкой выходного сигнала Y_2.

Третий путь из а_2 в а_5 проходит через условные вершины х_1 и х_2, и не проходит ни через какую операторную вершину, то есть это путь второго вида, соответствующий переходу из состояния а_2 в состояние а_5 по условию х_1х_2 без выходного сигнала.

Рассмотрим пути, идущие от метки а_3. Всего их два. Первый путь из а_3 в а_4 проходит через условную вершину х_3 и операторную вершину Y_5, то есть это путь первого вида, соответствующий переходу автомата из состояния а_3 в состояние а_4 по условию х_3 с выработкой выходного сигнала Y_5. Второй путь из а_3 в а_1 проходит через ту же условную вершины х_1 и не проходит ни через какую операторную вершину, то есть это путь второго вида, соответствующий переходу из состояния а_3 в состояние а_1 по условию х_3 без выходного сигнала.

Из метки а_4 также существует два пути и оба второго типа без выходного сигнала: из а_4 в а_1 соответствующий переходу из состояния а_4 в состояние а_1 по условию х_4 ; из а4 в а5 соответствующий переходу из состояния а_4 в состояние а_5 по условию х_4.

Из а_5 существует один путь в а_4 третьего вида, проходящий через операторную вершину Y_3.

Результат построенного абстрактного автомата Мили показан на рис.4.6.


Рис. 4.6.

Если мы переобозначим сигналы на дугах, например заменив Y_1 на w_1, Y_2 на w_2 и т.д., а x_1x_2 на z_1, x_1 x_2 на z_2, и т.п., то получим абстрактный автомат Мили в привычном виде.

< Лекция 3 || Лекция 4: 12 || Лекция 5 >
Сергей Прохоренков
Сергей Прохоренков
Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!