ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6830
Скачиваний: 22
288
8.2.3.2. Мови опису функціонування автоматів
Для того, щоб задати абстрактний автомат, потрібно задати всі п'ять об'єктів
Множини X, S, Y задаються як звичайні множини в математиці, наприклад, простим перелічуванням всіх її елементів, тому їх задання на практиці не викликає ніяких труднощів.
Найбільш трудомістким є задання функцій , які власне і визначають алгоритм
функціонування автомату. Для опису алгоритму функціонування автомату, тобто для задання , існують різні засоби, які часто називають мовами. Існують стандартні та
початкові мови. Стандартні мови задають автомат одним із трьох способів: матрично (таблично), графічно, аналітично. До початкових мов відносять первісні таблиці включень, логічні схеми алгоритмів і граф-схеми алгоритмів. Стандартні мови частіше застосовуються для задання автоматів загального виду, в той же час початкові мови знайшли широке застосування для часткових автоматів.
Мова матриць (таблиць) передбачає наявність двох таблиць: таблиці переходів і таблиці виходів, або однієї таблиці з'єднань.
Таблиця переходів задає відображення X х S -->S, тобто задає функцію переходів
Приклад. Нехай на автомат поступають вхідні сигнали, які мають три букви, та нехай він має чотири стани: X = {хр х2, x3,}, S = {s1 s2, s3 s4.} В табл. 8.1 описано повністю визначений автомат для даного прикладу.
Таблиця 8.1
X(t) S(t) |
X1 |
X2 |
X3 |
S1 |
S1 |
S2 |
S1 |
S2 |
S3 |
S4 |
S2 |
S3 |
S3 |
S1 |
S4 |
S4 |
S3 |
S1 |
S2 |
З першого рядка табл. 8.1 видно, що перебуваючи в стані S1 при поступленні вхідного сигналу X1 автомат не змінює свого стану, так само як і при поступленні вхідного сигналу ХЗ, а при поступленні вхідного сигналу Х2 він перейде в стан S2. Подібним чином можна провести аналіз інших рядків таблиці.
Якщо автомат частковий, то для пар (хi sj,), для яких стан не визначений, в клітинці таблиці ставиться прочерк. Як видно, вигляд таблиці переходів не залежить від того, який тип автомату використовується: Мілі, Мура чи С-автомат.
Таблиці виходів цих автоматів відрізняються.
У клітинці таблиці виходів автомату Мілі ставиться вихідний сигнал у , який формує автомат Мілі, що знаходиться в стані Sjі на вході якого діє сигнал хi. Приклад повністю визначеного автомату Мілі з вхідним алфавітом X = {х1 х2, х3}, алфавітом станів; S = {s1 s2 s3 s4 } та вихідним алфавітом У = {у1 у2, у3 } наведено в табл. 8.2.
289
Таблиця 8.2
X(t) S(t) |
X1 |
X2 |
X3 |
S1 |
Y1 |
Y1 |
Y2 |
S2 |
Y3 |
Y3 |
Y3 |
S3 |
Y2 |
Y1 |
Y3 |
S4 |
Y2 |
Y1 |
Y3 |
З першого рядка табл. 8.2 видно, що перебуваючи в стані S1 при поступленні вхідного сигналу XI на виході автомату буде сформовано сигнал Y1, так само, як і при поступленні вхідного сигналу Х2, а при поступленні вхідного сигналу ХЗ на виході автомату буде сформовано сигнал Y2. Подібним чином можна провести аналіз інших рядків таблиці.
В таблиці виходів повністю визначеного автомату Мура кожному стану автомату призначається відповідний вихідний сигнал у . Приклад повністю визначеного автомату Мура з алфавітом станів S = {sp s2, s3, s4 } та вихідним алфавітом Y = (у1, у2, у3} наведено в табл. 8.3.
Таблиця 8.3
S(t) |
Y(t) |
S1 |
Y1 |
S2 |
Y1 |
S3 |
Y2 |
S4 |
Y3 |
З табл. 8.3 видно, що стану S1 та S2 автомату відповідає вихідний сигнал Y1, стану S3 відповідає вихідний сигнал Y2, а стану S4 відповідає вихідний сигнал Y3.
С-автомат буде задаватися двома таблицями виходів, перша з яких відповідає таблиці виходів автомату Мілі, а друга - таблиці автомату Мура.
На практиці таблиці переходів і таблиці виходів часто суміщаються в одну суміщену таблицю. Табл. 8.4 є суміщеною таблицею автомату Мілі для вищенаведеного прикладу.
Таблиця 8.4
X(t) s(t) |
X1 |
X2 |
X3 |
S1 |
S1/Y1 |
S2/Y1 |
S1/Y2 |
S2 |
S3/Y3 |
S4/Y3 |
S2/Y3 |
S3 |
S3/Y2 |
S1/Y1 |
S4/Y3 |
S4 |
S3/Y2 |
S1/Y1 |
S2/Y3 |
З першого рядка табл. 8.4 видно, що перебуваючи в стані S1 при поступленні вхідного сигналу X1 автомат залишиться в тому ж стані, а на виході автомату буде сформовано сигнал Y1, при поступленні вхідного сигналу Х2 автомат перейде в стан S2, а на виході автомату буде сформовано сигнал Y1, при поступленні вхідного сигналу ХЗ автомат залишиться в тому ж стані, а на виході автомату буде сформовано сигнал Y2. Подібним чином можна провести аналіз інших рядків таблиці.
290
Як вже зазначилось вище, можна задати керуючий автомат за допомогою єдиної таблиці з'єднань. Таблиця з'єднань абстрактного автомату є квадратною і містить стільки стовпців та рядків, скільки різних станів має даний автомат. В клітинці ставиться вхідний сигнал, під дією якого відбувається перехід автомату зі стану в стан. Якщо матрицею з'єднань задається автомат Мілі, то разом з вхідним сигналом вказується вихідний сигнал, який автомат Мілі видає, виконуючи перехід (табл. 8.5).
Таблиця 8.5
\S(t) S(t)\ |
S1 |
S2 |
S3 |
S4 |
S1 |
X1/Y1 X3/Y2 |
X2/Y1 |
|
|
S2 |
|
X3/Y3 |
X1/Y3 |
X2/Y3 |
S3 |
X2/Y1 |
|
X1/Y2 |
X3/Y3 |
S4 |
X2/Y1 |
X3/Y2 |
X1/Y2 |
|
З першого рядка табл. 8.5 видно, що автомат залишається в тому ж стані S1 при поступленні вхідних сигналів XI та ХЗ, і при цьому на його виході будуть відповідно сигнали Y1, та Y2, та переходить в стан S2 при поступленні вхідного сигналу Х2, і при цьому на його виході буде сигнал Y1. Подібним чином можна провести аналіз інших рядків таблиці.
Для автомату Мура в матриці з'єднань вихідні сигнали ставляться біля станів автомату, які ідентифікують рядки матриці.
Мова графіки передбачає застосування для задання абстрактного автомату орієнтованого графа. Стан автомату зображається вершинами графа, а переходи між станами - дугами між відповідними вершинами. При цьому конкретній дузі графа приписується буква х. вхідного алфавіту автомату, яка вказує на перехід при поступленні цього сигналу.
Якщо граф зображає автомат Мілі (рис. 8.7), то вихідні сигнали автомату ставляться на дугах графа (згідно з таблицею виходів) разом з буквою вхідного сигналу. Тут в якості прикладу взято автомат Мілі, описаний в табл. 8.4.
Рис .8.7. Граф автомату Мілі
Якщо графом зображається автомат Мура (рис. 8.8), то вихідні сигнали автомату ставляться біля вершини графа відповідно до таблиці виходів автомату (табл. 8.3).
291
Рис. 8.8. Граф автомату Мура
Мова аналітичних виразів передбачає задання автомату шляхом запису для кожного стану автомату відображення Fsj., яке містить набори з трьох об'єктів sn,xi yk, причому тільки таких, які вказують на наявність переходу автомату зі стану s . в стан sn при дії вхідного сигналу хi і видачі при цьому вихідного сигналу ук.
Приклад:
8.2.3.3. Структурний синтез цифрових автоматів
Процес одержання структурної схеми, яка відображає склад логічних елементів та їхні зв'язки, називають структурним синтезом. В загальному випадку задача структурного синтезу зводиться до композиції деяких простих автоматів, тобто до пошуку способу з'єднань цих автоматів між собою. Як правило, ефективно розв'язується задача структурного синтезу тільки для певного набору простих автоматів певного виду - елементарних автоматів, які складаються з елементів пам'яті, що мають більше одного стійкого стану (елементарних автоматів з пам'яттю) та комбінаційних схем (елементарних автоматів без пам'яті).
Метод синтезу, в основу якого покладені елементарні автомати, отримав назву канонічного методу структурного синтезу автоматів. Загальна структура елементарного автомату, що складається з пам'яті та комбінаційної схеми, представлена на рис. 8.9.
292
Елементарний автомат має кх входів (3 1 р 2... р кх, ку виходів со,со2 ...ю>; та ks виходів пам'яті станів ааа2 ...ак . Сигнали керування пам'яттю их,и2,...ик описуються за допомогою булевих функцій, які називаються функціями збудження. Таким чином, для побудови структурного автомату потрібно мати елементи пам'яті і набір логічних елементів, які утворюють функціонально повну систему для побудови комбінаційної схеми.
Канонічний метод структурного синтезу розділяють на наступні етапи:
-
кодування,
-
вибір типу та структури абстрактного автомату,
-
вибір елементів пам'яті,
-
побудова рівнянь булевих функцій збудження і виходів автомату,
-
побудова структурної схеми автомату. Розглянемо кожен з етапів.
Кодування. Нагадаємо, що абстрактний автомат задається в вигляді А = {x,S,Y,,X}. При переході на структурний рівень множини сигналів X та Y, а також сигнали S потрібно зобразити у вигляді двійкового вектору.
Нехай S = {s1 s2, s3 s4 s5 s6} тоді ks = ] log2Ms [ = ] log26 [ = 3. Тобто для нумерації кожного стану потрібно 3 розряди, тоді S = {000,001,010,011,100,101}. Фізично в структурному автоматі буде три стани, кожен з яких може прийняти тільки два значення 0 або 1. Сукупність значень цих трьох станів буде відповідати одному із станів абстрактного автомату.
Приклад: автомат описується суміщеною таблицею переходів та виходів (табл. 8.6).
Таблиця 8.6
x(t) s(t) |
X1 |
X2 |
S1 |
S2/Y1 |
S1/Y3 |
S2 |
S3/Y2 |
S1/Y4 |
S3 |
S3/Y1 |
S2/Y2 |
Тобто він має три стани Ms = n= 3, два вхідних сигнали Мх = m = 2 та чотири вихідних сигнали Му = 1 = 4. Вони відповідно можуть бути закодовані наступною кількістю розрядів: Ks = 2, Кх = 1 та Ку = 2.
Результати кодування вхідних сигналів наведено в табл. 8.7, станів - в табл. 8.8, та вихідних сигналів - в табл. 8.9.
Таблиця 8.7 Таблиця 8.8 Таблиця 8.9
X(t) |
Р |
Х1 |
0 |
Х2 |
1 |
S(t) |
а1 |
а2 |
S1 |
0 |
0 |
S1 |
0 |
1 |
S1 |
1 |
0 |
Y(t) |
|
|
Y1 |
0 |
0 |
Y2 |
0 |
1 |
Y3 |
1 |
0 |
Y4 |
1 |
1 |
Тоді суміщена таблиця переходів та виходів (табл. 8.6) з закодованими входами, станами та виходами, буде мати вигляд табл. 8.10.