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

5.3. Последовательность решения задачи синтеза микропрограммных устройств упрощенным косвенным интерпретационным методом по гса

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

Последовательность решения задачи синтеза МПУ данным методом приведена на рис. 5.10.

На первом этапе проводится блочный синтез сложного автомата, в процессе которого из его структуры выделяется блок управления, реализуемый впоследствии в виде МПУ.

На втором этапе производится формализация условий функционирования и получения первичной ГСА МПУ.

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

Далее приступают к построению отмеченной ГСА. Отметка ГСА соответствует определению и нумерации внутренних состояний МПУ. В зависимости от типа синтезируемого МПУ (автомат Мили и Мура) отметку вершин ГСА символами Y0,Y4,…,Yk производят по различным правилам. Так, при синтезе автомата Мура символамиYi (i=1,2,…,l) отмечают сами операторные вершины, а при синтезе автомата Мили – вход вершин, следующих за операторными. По отмеченной ГСА строят граф переходов МПУ, состояниями которого являютсяY0,Y1, …,Yк, причемY0– начальное состояние.

На четвертом этапе производится кодирование состояний МПУ, которое заключается в сопоставлении с каждым состоянием автомата комбинации состояний элементарных автоматов памяти. Длина кодов состояний совпадает с длиной регистра микрокоманд и зависит от необходимого числа состояний МПУ. По графу переходов с учетом выбранного варианта кодирования строится обобщенная таблица возбуждений и выходов МПУ, которая совмещает свойства таблиц переходов-выходов и возбуждений.

По обобщенной таблице возбуждений и выходов МПУ получают и минимизируют логические функции возбуждения элементов памяти и выходов. По полученным логическим функциям строится функциональная схема МПУ.

На пятом этапе синтеза производится техническое проектирование МПУ.

5.4 Построение отмеченной граф-схемы алгоритма

микропрограммного устройства.

Граф-схема алгоритма содержит всю необходимую информацию для определения количества состояний памяти МПУ и их размещение. Решение поставленной задачи осуществляется путем построения так называемой отмеченной граф-схемы алгоритма. Отмеченной называется такая ГСА, на которой условным знаком (крестиком, звездочкой) показаны состояния синтезируемого МПУ, при достижении которых часть алгоритма, описываемая цепочкой операторных и условных вершин, находящихся между начальной вершиной и отметкой некоторого состояния, будет реализовано.

Рассмотрим методику построения отмеченной ГСА МПУ на примере автомата Мили.

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

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

Общим требованием при синтезе ДУ является обеспечение их возврата в исходное состояние после выполнения алгоритма. Из этого следует, что при проведении отметок ГСА необходимо одной общей отметкой обозначать как начало, так и конец ГСА.

Отметка состояний МПУ Мили производится по следующим правилам:

  1. Входы вершин, непосредственно следующих за операторными, отмечаются символами

Y0, Y1, Y2, …, Yк.

Отметим, что каждое состояние Yjопределяется состоянием элементов памяти автомата

Yj = Yj (y1, y2, …, yi, …, yn).

  1. Символом Y0отмечается вход вершины, следующей за начальной, а также вход конечной вершины.

  2. Входы всех вершин, непосредственно следующих за операторными, отмечаются символами

Y1, Y2, …, Yк.

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

  1. Для отметки входов различных вершин используются различные символы, т.е. на отмеченной ГСА повторяется только символ Y0.

  2. Если к отмечаемому входу подходят выходы несколько условных и операторных вершин, то отметкаYiставится ниже стрелок, подходящих от операторных вершин, и выше стрелок, подходящих от условных вершин. Таким образом, стрелки, подходящие от условных вершин, минуют данную отметкуYi(подходят после отметки).

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

Пример 2. На рис. 5.11 приведена отмеченная граф-схема алгоритма. Размещение отметок на ГСА произведено по приведенным правилам. Отметим, что приведенная граф-схема содержит 6 вершин, однако для выполнения отметок состояний понадобилось всего 3 символа –Y0,Y1,Y2. Это еще раз подчеркивает особенность МПУ Мили, заключающуюся в том, что при переходе в одно и то же состояние могут быть сформированы различные выходные сигналы в зависимости от значений сигналов логических условий. Напомним, что на ГСА символы условных вершин обозначают входы МПУ. В данном случае входов три – х3, х2, х1. Символы операторных вершин обозначают микрокоманды (команды управления) – т.е. выходы МПУ.

Команды управления (выходы) содержат несколько разрядов, число которых следует из условий на проектирование МПУ.

В рассматриваемом МПУ всего различных команд управления – четыре Z1–Z4, их разрядность равна 3 –z3,z2,z1.

Запись операторной вершины содержит символ микрокоманды Ziи те ее разряды, которые в этой команде принимают единичное значение.

Таким образом, для примера 2 команды управления при базе z3,z2,z1равны:

Z1(z2z1) = 011;Z3(z3z2z1) = 111;

Z2 (z2) = 010; Z4 (z3) = 100.

    1. Построение графа переходов и кодирование

состояний памяти МПУ

На основании отмеченной ГСА строится граф переходов МПУ. Вершинами графа переходов являются отметки ГСА (отмеченные вершины ГСА). Рассматривая отмеченную граф-схему, определяем все пути переходов между отметками при различных значениях логических условий (входов). Полученные переходы отмечаем стрелками на графе переходов.

Над стрелками обозначаем значения логических условий *, при которых происходят эти переходы, а также микрокоманды (выходы) zj, которые возбуждаются при этих переходах.

Граф переходов для примера 2 построены по отмеченной ГСА (см. рис. 5.11), приведен на рис. 5.12.

Далее необходимо провести кодирование состояний памяти. Прежде всего необходимо выбрать количество элементов памяти. Так как каждая вершина графа перехода (отметка ГСА) представляет собой одно из состояний элементов памяти МПУ, то число элементов памяти определяется из соотношения

2n-1 < N  2n,

где N– количество вершин графа переходов (отметок ГСА);

n– количество элементов памяти.

Очевидно, что для примера 2 количество элементов памяти равно 2, так как N= 3.

Обозначим их y2иy1.

Далее следует провести кодирование состояний элементов памяти (вершин графа переходов).

Напомним, что при синтезе обычных ДУ на этапе построения реализуемой таблицы переходов мы проводили соседнее (противогоночное) кодирование состояний элементов памяти, целью которого являлось обеспечение работы ДУ без состязаний, т.е. чтобы при любых переходах изменялось состояние только одного элемента памяти.

Задача обеспечения устойчивой без состязаний работы устройства стоит и при синтезе МПУ. Однако в настоящее время промышленность выпускает в сериях ИМС триггеры с двойной памятью, выполненные на одном кристалле в одном корпусе. Признаком двойной памяти является наличие на поле условного графического обозначения двух букв Т (рис. 5.13).

Функциональная схема элемента памяти с двойной памятью показана на рис. 5.14. Входами элемента памяти являются входы первого триггера S1иR1, выходами – выходы второго триггера Т2. Сигналы с первого триггера на второй проходят только по сигналам со специального тактового генератора. Это приводит к тому, что хотя для разных элементов памяти состязания первых триггеров могут иметь место, состязания выходов элементов памяти, определяющих работу устройства, исключаются за счет разновременной подачи сигналов от тактового генератора.

В связи с этим при применении элементов с двойной памятью требования к кодированию облегчаются. Желательно проводить соседнее кодирование, т.е. состояния, между которыми есть переходы, обозначать соседними кодами, однако можно допускать и не соседнее кодирование.

Таким образом в МПУ (при применении элементов с двойной памятью) целью кодирования состояний памяти является не исключение состязаний, а упрощение сложности логического преобразователя (комбинационной части автомата) управления элементами памяти.

Методику кодирования вершин графа переходов (состояний памяти) МПУ поясним на примере.

Пример3. Пусть получен граф переходов МПУ (рис. 5.15). Для упрощения входные и выходные сигналы на графе не проставлены.

Произведем кодирование вершин графа. Так как вершин 5, то, очевидно, необходимо три элемента памяти – y3,y2,y1:

22< 5 <23.

Кодирование заключается в сопоставлении каждой вершине графа переходов n-разрядного позиционного кода, выражающего состояния элементов памяти при выбранной базе. Кодирование производится в такой последовательности.

  1. На графе переходов определяются те пары вершин, между которыми имеется максимальное число переходов, и для них выполняется при выбранной базе соседнее кодирование.

Так, для графа (см. рис. 5.15) максимальное число переходов (3) связывает вершиныY0иY1. Закодируем их при базе у3у2у1соседними кодами (которые выбираются произвольно):Y0 000,Y1 001.

  1. Присваиваются коды (по возможности соседние) тем вершинам, которые смежны с вершиной Y0. В примере это вершиныY3иY4. Присвоим им коды:

Y3100,Y4 010.

  1. Присваиваются коды вершинам, отстоящим от вершины Y0на 2 ребра. При этом в первую очередь кодируются вершины, связанные переходами с наибольшим числом уже закодированных вершин. Код вершины получается путем поразрядного выполнения операций дизъюнкции кодов двух вершин, смежных с кодируемой.

В примере такой вершиной является вершина Y2. Ее код получим путем поразрядной дизъюнкции кодов вершинY1иY3, получим:

001 v100 = 101.

Итак,Y2101 (при базе у3 у2у1).

  1. Указанная процедура выполняется, пока не будут закодированы все вершины графа переходов.

Закодируем состояния памяти МПУ для примера 2. Граф содержит 3 вершины, число элементов памяти равно 2. Действуя согласно изложенной методике, кодируем вершины графа переходов при базе (см. рис. 5.12):

Y0 00, Y1 01, Y2 10.

Видим, что в этом случае обеспечено соседнее кодирование.

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