Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

УП часть 1 теория авт

.pdf
Скачиваний:
25
Добавлен:
31.05.2015
Размер:
629.6 Кб
Скачать

4.1.4 Язык схем алгоритмов

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

Графическое описание алгоритма дается в виде чертежа, состоящего из ограниченного числа геометрических фигур (называемых символами), соединенных стрелками, указывающими последовательность некоторых действий.

Различают безусловные и условные типы символов. Безусловные позволяют описывать операции, связанные с вводом/выводом и выполнением операторов (инструкций) алгоритма. Символы условного типа позволяют отобразить ситуации, требующие ветвления вычислительного процесса в зависимости от выполненного результата.

Конфигурацию и размер символов, а также порядок построения схем алгоритмов определяет ГОСТ 19.002-80 и 19.003-80 Единой Системы Программной Документации (ЕСПД).

Все символы (блоки) в алгоритме нумеруются. Номера проставляются в разрыве верхней линии блока слева (рис. 4.3).

Линии потока указывают направление перехода к следующему блоку алгоритма. Стрелки на линиях потока не ставят, если линии потока направлены вниз или слева направо. Противоположные направления (то есть снизу вверх или справа на лево) обязательно помечают стрелкой на линии потока. Линии потока могут подвергаться изломам до 90°. В этом случае на линиях потока также ставится стрелка.

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

Рис. 4.3 Обозначение и нумерация блоков алгоритма.

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

Если приходится изображать алгоритм на нескольких листах, то используют межстраничный соединитель. Внутри символа межстраничного соединителя указывают номер листа (трехзначный) и номер символа, с которым должно быть соединение. На рис. 4.5 а) показано, что линия потока уходит на второй лист к 23 блоку, а на рис. 4.5 б) - что, к 23 блоку идет линия потока с первого листа от пятого блока.

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

39

40

Рис. 4.4 Пример использования соединителя.

Рис. 4.5 Пример использования межстраничного соединителя

4.2 Автоматные языки

Среди автоматных (стандартных) языков наиболее распространены таблицы и матрицы переходов и выходов, а также графы автоматов [12].

4.2.1 Таблицы переходов и выходов

Таблица переходов (выходов) представляет собой табли-

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

Описание работы автомата Мили таблицами переходов и выходов иллюстрируется на примере автомата S1 (табл.4.1и 4.2):

δ: Q><X→Q

Таблица 4.1

 

λ: Q><X→Y

Таблица 4.2

 

 

 

 

 

 

 

q1

q2

q3

 

 

q1

q2

q3

 

x1

q2

q3

q2

 

x1

y1

y3

y3

 

x2

q3

q2

q1

 

x2

y2

y1

y1

На пересечении столбца qm и строки xi в таблице переходов (табл.4.1) ставится состояние qs=δ(qm, xi), в которое автомат переходит из состояния qm под действием сигнала xi, а в таблице выходов (табл. 4.2) − соответствующий этому переходу выходной сигнал yg=λ(qm, xi).

Иногда при задании автоматов Мили используют одну совмещенную таблицу переходов и выходов, в которой на пересечении столбца qm и строки xi записываются в виде qs/yg следующее состояние и выдаваемый выходной сигнал. Так, для

41

42

автомата S1

имеем следующую

совмещенную таблицу

(табл.4.3):

 

 

 

 

 

 

 

 

 

 

Таблица 4.3

 

 

 

δ:Q><X→Q; λ:Q><X→Y

 

 

 

q1

q2

 

q3

 

 

x1

 

q2/y1

q3/y3

 

q2/y3

 

 

x2

 

q3/y2

q2/y1

 

q1/y1

 

Так как в автомате Мура выходной сигнал зависит только от состояния, автомат Мура задается одной отмеченной таблицей переходов, в которой каждому ее столбцу приписан, кроме состояния qm, еще и выходной сигнал yg=λ(qm), соответствующий этому состоянию. Пример табличного описания автомата Мура S2 показан в табл. 4.4:

Таблица 4.4

δ:Q><X→Q, λ:Q→Y:

 

y1

y1

y3

y2

y3

 

q1

q2

q3

q4

q5

x1

q2

q5

q3

q3

q3

x2

q4

q2

q2

q1

q1

Для частичных автоматов, у которых функции δ или λ определены не для всех пар (qm, xi) Q><X, на месте неопределенных состояний и неопределенных выходных сигналов ставится прочерк.

4.2.2 Матрицы переходов и выходов

Иногда применяется способ задания автомата с помощью матрицы переходов и выходов, которая представляет собой таблицу с двумя входами. Строки и столбцы таблицы отмечены состояниями. Если существует переход из состояния qm под действием входного сигнала xi в состояние qs, с выдачей

43

выходного сигнала yi, то на пересечении строки qm и столбца qs записывается пара xi/yi.

Для автомата Мура используется матрица, столбцы которой отмечены выходными сигналами yi, а на пересечении ее строк и столбцов указываются только входные сигналы xi.

Ниже приведены матрицы переходов и выходов для рассмотренных ранее автоматов S1 (табл. 4.5) и S2 (табл.4.6):

 

 

 

 

 

 

 

Таблица 4.5

 

 

 

 

 

q1

 

q2

 

q3

 

 

 

 

 

q1

 

 

 

 

 

x2/y1

 

 

 

 

 

q2

x1/y1

x2/y1

 

x1/y3

 

 

 

 

 

q3

x2/y2

x1/y3

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 4.6

 

 

y1

 

y1

 

y3

 

y2

 

y3

 

 

q1

 

q2

 

q3

 

q4

 

q5

q1

 

 

 

 

 

 

 

x2

 

x2

q2

 

x1

 

x2

 

x2

 

 

 

 

 

q3

 

 

 

 

 

x1

 

x1

 

x1

q4

 

x2

 

 

 

 

 

 

 

 

 

q5

 

 

 

x1

 

 

 

 

 

 

 

4.2.3 Граф автомата

Часто автомат задают с помощью графа автомата. Этот язык удобен и нагляден. Граф автомата − ориентированный граф, вершины которого соответствуют состояниям, а дуги − переходам между ними. Две вершины графа автомата qm и qs (исходное состояние и состояние перехода) соединяются дугой, направленной от qm к qs, если в автомате имеется переход из qm в qs, т.е. если qs=δ(qm, xi) при некотором xi X. Дуге (qm, qs) графа автомата приписывается входной сигнал xi и выходной сигнал yg=λ(qm, xi). При описании автомата Мура в виде

44

графа выходной сигнал yg записывается внутри вершины qm или рядом с ней. На рис. 4.6, а, б приведены графы автоматов S1 и S2, описанных ранее табличным способом.

а)

 

 

 

б)

 

y1

x1

 

x2

 

y

 

q

 

q1

 

 

q2

2

 

 

y2

3

x1

 

x

 

 

 

x1

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

x

2 y3

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q5 x

 

 

 

 

 

 

 

 

y3 y1

 

 

 

 

y3

1

 

 

x2

 

 

 

 

 

 

 

 

x2

 

 

 

y1

 

 

x1

x2 q

 

 

 

q

 

 

q

 

 

 

y1 q2 x2

 

x1

 

3

y3

1 x1

 

 

y2

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

Рис. 4.6 Графы автомата для автоматов S1 (а) и S2 (б)

Любой автомат может быть задан с помощью графа, но не всякий граф в алфавитах Q, X,Y задает автомат. В графе автомата не должно существовать двух дуг с одинаковыми входными сигналами, выходящих из одной и той же вершины (условие однозначности).

Состояние автомата, вершина графа для которого имеет только исходящие дуги, но не имеет входящих дуг, называется переходящим. В такое состояние попасть нельзя, из него можно только выйти.

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

Изолированным состоянием называется также состояние, которому соответствует вершина графа, не имеющая как входящих, так и исходящих дуг.

Таким образом, с помощью графов абстрактная модель автомата записывается в виде некоторого пространственного

45

изображения, которое помогает при решении задач анализа или синтеза.

Любое разбиение множества состояний автомата на ряд подмножеств, объединяющих некоторые состояния, приводит

кпонятию подавтомата.

4.3Язык алгебры логики (булевой алгебры)

Конечная цель синтеза цифровых автоматов – построение заданного автомата из ограниченной совокупности некоторых элементарных автоматов.

Канонический метод структурного синтеза цифровых автоматов разработан советским ученым В.М. Глушковым [14]. Данный метод предполагает сведение задачи синтеза произвольных автоматов к задаче синтеза комбинационных автоматов (автоматов без памяти).

Структурным алфавитом современных цифровых автоматов является двоичный алфавит, т.е. алфавит, содержащий всего два различных нечисловых символа. Эти символы обозначают самыми разными способами: "включено" и "выключено"; "высокий уровень напряжения" и "низкий уровень напряжения"; "есть ток" и "нет тока"; "единица" и "нуль" и т.п. Данное обстоятельство играло решающую роль для выбора математического аппарата, который бы мог эффективно использоваться для структурного синтеза цифровых автоматов. В качестве такого аппарата стал широко использоваться начальный раздел математической логики – исчисление высказываний, или алгебра логики. Логика – наука о законах и формах мышления. Математическая логика занимается изучением возможностей применения формальных методов для решения логических задач [15]. Иногда алгебру логики называют булевой алгеброй по имени английского математика Джорджа Буля, который в 1847 году изложил основы такой алгебры в работе "Математический анализ логики, сопровождаемый наброском исчисления дедуктивных рассуждений". В 1948 году (через 100 лет после создания алгебры логики!) американский ученый

46

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

Начальным понятием алгебры логики является понятие высказывания. Под высказыванием понимается любое утверждение, которое оценивается только с точки зрения его истинности или ложности. Высказывание может быть только либо истинным, либо ложным.

Исчисление высказываний основано на том, что каждое высказывание можно рассматривать как некоторую двоичную переменную, которая может принимать только одно из двух своих возможных значений. Такие переменные условились называть логическими (булевыми) переменными и приписывать им значение 1 в случае истинности высказывания и значение 0 в случае ложности высказывания.

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

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

47

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

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

4.4 Язык временных диаграмм

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

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

Временные диаграммы являются эффективным способом визуализации (зрительного представления) динамики работы дискретных автоматов, а также международным языком, поясняющим особенности закона функционирования цифровых автоматов.

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

48

функционирует в положительной (позитивной) логике. Если же за логическую 1 принимают более низкий уровень напряжения, то принято говорить, что автомат функционирует в отрицательной (негативной) логике. При изложении дальнейшего материала считается, что речь идет об автоматах, функционирующих в положительной (позитивной) логике.

В природе не существует идеальных дискретных явлений или процессов, поэтому реальный дискретный сигнал есть аналоговый (непрерывный) сигнал, специальной формы, который и принимается за дискретный сигнал.

Дискретные сигналы выглядят на экране осциллографа примерно так, как показано на рис. 4.7(а), а идеализированное их представление соответствует рис. 4.7(б).

Рис. 4.7 Формы дискретных сигналов

а) на экране осциллографа; б) условное графическое изображение (пунктиром показано изображение идеального дискретного сигнала).

49

Ранее отмечалось, что дискретные сигналы могут быть "короткими" (как в автомате типа Мили), и "длинными" (как в автомате типа Мура). В инженерной практике в среде разработчиков цифровой аппаратуры вместо терминов "короткие" и "длинные" сигналы используют термины "импульс" и "потенциал", соответственно [16].

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

Под потенциалом понимают сигнал, длительность которого не регламентирована.

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

Иногда под импульсным сигналом понимают любой исполнительный сигнал, то есть тот, воздействие которого непосредственно приводит к исполнению некоторой процедуры. Под потенциальным сигналом, в этом случае, понимают сигнал, подготавливающий или разрешающий/запрещающий некоторое действие.

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

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

50

лов автомата. Все рабочие зоны дискретного сигнала показаны на рис. 4.8.

U

 

 

 

 

 

 

Ua max

da+

 

 

 

 

da-

 

 

 

 

 

 

 

 

 

 

 

 

 

Ua min

а

а

а

 

 

 

t1 t2

t3 t4

t

Рис. 4.8 Рабочие зоны дискретного сигнала

У двоичного дискретного сигнала выделяют несколько рабочих зон: зона, в которой сигнал (в данном случае сигнал а) принимает значение Ua min ; зона, в которой сигнал принимает значение Ua max; зона, в которой сигнал переходит с Ua min на

Ua max; зона, в которой сигнал переходит с Ua max на Ua min .Для каждой зоны вводятся специальные обозначения и наименова-

ния, которые для сигнала а можно обобщить следующим образом:

 

 

 

а

 

- до t1 и после t4 (называется "не а");

 

 

da+ - на интервале t1…t2 (называется фронт

а =

 

 

 

 

сигнала или положительный перепад);

 

 

da- - на интервале t3…t 4 (называется срез

τа - t2

- t3

сигнала или отрицательный перепад);

+

 

а

- на интервале t2 и t3 (называется "а").

da -

t1 - t2

– положительный фронт;

da- - t2 - t 4 – отрицательный срез.

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

Излагаемый в дальнейшем материал заимствован из [17] и иллюстрирует ряд соглашений, принятых при изображении временных диаграмм.

Изображение высокого (“1”), низкого (“0”) и высокоимпедансного (“Z”) уровней напряжений сигнала изображают так, как показано на рис. 4.9.

Рис. 4.9 Изображение уровней напряжений сигнала

На рис. 4.9 показано, что на интервале времени t0 ... t1 формируется уровень напряжения, соответствующий логической единице; на интервале времени t1 ... t2 формируется уровень напряжения, характеризующий высокоимпедансное (z) состояние; на интервале t2 ... t3 формируется уровень напряжения, соответствующий логическому нулю.

На рис. 4.10 показано, как изображается переход сигнала с одного уровня напряжения на другой. Переход от низкого

51

52

уровня к высокому называется фронтом (рис. 4.10, а) ), а от высокого к низкому - срезом (рис. 4.10, б) ). Употребляют также термины нарастающий и спадающий фронт; положительный и отрицательный фронт; передний и задний фронт.

Изменение уровня одного сигнала может быть причиной изменения другого сигнала. Это изменение может вызываться фронтом сигнала, срезом, высоким или низким уровнем. Причину изменения принято отмечать кружком на том фрагменте сигнала, который вызывает изменение, а фигурной стрелкой показывают на вызываемые изменения (следствие) зависимого сигнала так, как показано на рис. 4.12.

Рис. 4.10 Изображение переходов сигналов с различных уровней напряжений

Если переход от одного уровня напряжения к другому происходит не в конкретный момент времени, а может произойти в любой из моментов на некотором интервале t1 ... t2, то такую ситуацию изображают так, как показано на рис. 4.11.

Рис. 4.11 Изображение неопределенности о моменте перехода сигналов на другой уровень

Рис. 4.12 Изображение взаимозависимости сигналов

Иногда изменение нескольких сигналов может быть причиной изменения одного сигнала. Такая ситуация изображается согласно рис. 4.13.

Рис.4.13 Изображение зависимости нескольких сигналов от одного

53

54

Часты ситуации, когда изменение некоторого сигнала вызывается определенными изменениями нескольких других сигналов, что может быть изображено так, как на рис. 4.14.

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

Рис. 4.14 Изображение зависимости одного сигнала от совокупности других

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

Рис. 4.15 Изображение зон неопределенности сигнала.

55

Рис. 4.16 Изображение изменения уровней напряжения группы сигналов

На рис. 4.16 временная диаграмма для сигналов С1 и С2 характерна для иллюстрации работы, например, одного разряда счетчика, не имевшего начальной установки или конкретное состояние которого не имеет принципиального значения. Диаграмма С3 характерна для графического изображения переключения в высокоимпедансное состояние группы сигналов (например, на шине данных микропроцессора). Диаграммой С4 можно иллюстрировать неопределенность состояния или пассивность некоторой группы сигналов.

56

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

Временная диаграмма, изображенная на рис. 4.17, может быть прочитана следующим образом.

В некоторой системе после установки кода на шинах адреса А0 ... А15 формирование сигнала выбора устройства (CS) должно быть произведено за время, не превышающее t1. После того, как будет сформирован срез сигнала CS, через 200 наносекунд на шине данных (Д0 ... Д7) будет установлен действительный код.

Рис. 4.17 Изображение дополнительной информации на временных диаграммах

57

Глава 5 Минимизация абстрактных автоматов

Описательные обозначения различных состояний являются полезными для интуитивного понимания их роли при определении соотношений вход – выход и для определения функций переходов (δ) и выходов (λ) по словесному описанию абстрактного автомата. Они становятся бесполезными после того, как эти функции определены. Поэтому обозначение состояний не имеет какого-либо особого значения и может выбираться произвольно. Например, вершины графа на рис. 5.1 соответствующие состояниям системы, можно обозначить первыми девятью буквами русского алфавита. Автоматы, у которых функции δ и λ одинаковы, за исключением возможных различий в обозначениях состояний, называются изоморфными друг другу [13]. Если задан автомат A, представляющий определенную систему, то любой автомат, изоморфный к А, тоже может служить представлением этой системы, т. е. система может быть представлена несколькими изоморфными автоматами.

(b,0)v(c,0)

(a,0)v(b,0)v(d,0)

 

(b,0)v(c,0)

 

 

 

 

 

 

 

 

(d,1)

Q2

(c,0)

Q4

 

 

 

Q1

 

 

 

 

 

(b,0)

 

(b,0)v(c,0)

(d,0)

(a,0)v(c,0)v(d,0)

(a,0)

 

 

 

 

 

 

 

 

 

 

 

(d,0)

 

(b,0)

(b,0)

 

Q7

(c,0)

Q8

(a,0)

Q3

(a,0)

(b,0)

 

 

Q0

 

(b,0)

 

 

 

 

 

 

 

 

(a,0)v(c,0)v(d,0)

(a,0)v(d,0)

 

Q5

(d,0)

Q6

 

 

 

 

 

 

 

 

 

(a,0)v(b,0)v(c,0) (a,0)v(d,0)

Рис. 5.1 Граф гипотетического автомата

58