Лекція 18 Цифрові автомати та їх реалізація на пліс
1. Загальна характеристика автоматів
Автомат покроково перетворює дискретну інформацію в дискретні інтервали часу. На вході і виході автомата можуть бути символи, слова або вирази будь-якої мови, що представляють собою елемент дискретної інформації. Перетворення елементів вхідної інформації в елементи вихідної інформації виконується за заданим алгоритмом. Ці перетворення можливі за допомогою технічних та/або програмних засобів. За допомогою засобів обчислювальної техніки створюються складні програмно-технічні комплекси для автоматизації робочих місць на виробництві і для керування, для автоматизації діяльності в організаціях та на підприємствах, для автоматизації наукових досліджень і конструювання.
Автомат це система механізмів, пристроїв в якій повністю автоматизовані процеси отримання, перетворення, передачі енергії, матеріалів, інформації.
Термін " автомат " використовується в двох аспектах:
1) технічному,
2) математичному.
При технічному підході під автоматом розуміють цілком реальний пристрій, наприклад, телефонний автомат, торговий автомат і т. д. У даному випадку відомі деталі внутрішньої будови пристрою.
При математичному підході під автоматом розуміється математична модель технічного пристрою, що забезпечує прийом, зберігання і обробку інформації, в якого повинні бути входи, внутрішні стани і виходи. Внутрішня структура такої моделі заздалегідь невідома.
Окремим варіантом автомата є цифровий автомат (ЦА), в якому повністю автоматизовані процеси прийому, перетворення, зберігання і видачі цифрової інформації.
З точки зору сигналів ЦА доцільніше представити як систему, яка може приймати вхідні сигнали, під їх впливом переходити з одного стану до іншого, зберігати його до приходу наступного вхідного сигналу і видавати вихідні сигнали.
Робота ЦА здійснюється в режимі автоматного часу, визначеного числом періодів надходження вхідних сигналів.
2. Класифікація автоматів
Всі автомати можна класифікувати за такими ознаками:
1) за ступенем розкриття структури автомати бувають:
• абстрактні автомати (автомати, деталі структури яких не розкриті, розглядають загальні питання побудови автоматів, не враховуючи їх фізичну природу);
• структурні автомати (розкриті деталі структури, враховують технічну реалізацію автоматів, елементну базу, форму сигналів).
2) за скінченними множинами X (множина вхідних сигналів ), Y (множина вихідних сигналів) і S (множина станів) або за кількістю елементів в алфавіті опису автомати бувають - скінченними і нескінченними.
ЦА вважається скінченним, якщо скінченні множини вхідних сигналів X, станів S і вихідних сигналів Y.
3) за обсягом пам'яті автомати поділяються на автомати:
• з пам'яттю (послідовні автомати);
• автомати без пам'яті (логічні комбінаційні схеми) або комбінаційні автомати.
Функціональним вузлом послідовного автомата або автомата з пам'яттю являється пристрій, логічна функція якого визначається не тільки набором вхідних сигналів на даному такті, але і значенням цієї функції на попередньому такті, тобто вхідною змінною є і попереднє значення самої функції. Yn = f( x1, x2, .... xn, Yn -1).
Комбінаційний автомат - автомат в якому значення вихідний функції Yt в перебігу кожного такту визначається набором вхідних аргументів X1, X2, ... Xt. В іншому випадку комбінаційний автомат зберігає сигнал на виході до тих пір, поки на вході є комбінація певних сигналів.
4) за законом функціонування, або за виглядом вихідної функції ЦА поділяються на:
• автомати 1 -го роду (автомати Мілі);
• автомати 2 -го роду (автомати Мура).
Розглянемо оператори формування автоматів першого роду (автомата Мілі):
s(t) = (s(t-1), x(t));
y(t) = (s(t-1), x(t)).
де s(t) - стан автомата в даний момент,
s(t-1) - стан автомата в попередній момент. Якщо t = 0, то s(t-1) = s0,
x(t) - вхідний сигнал у поточний момент,
- оператор формування даного стану s,
λ - оператор формування даного вихідного сигналу y.
Як бачимо, закон функціонування являє собою сукупність двох функцій: функції переходу і функції виходу λ.
Очевидно, що даний стан s(t) залежить від попереднього стану s(t-1) і вхідного сигналу в даний момент часу. Вихідний сигнал в даний момент часу так само визначається попереднім станом і вхідним сигналом в даний момент часу (рис. 1).
Рис. 1. Схема цифрового автомата
Функція виходу ЦА 2-го роду відрізняється від такої ж функції ЦА 1-го роду тим, що використовується позиція в даний момент часу s(t). Таким чином, закон функціонування ЦА 2-го роду є наступним:
s(t) = (s(t-1), x(t)),
y(t) = (s(t), x(t)).
5) за повнотою використовуваних переходів автомати поділяються на
• повністю визначені автомати;
• частково визначені автомати (автомат, у якого функції виходу і переходу визначені не повністю).
6) по стабільності періоду проходження вхідних сигналів автомати бувають:
• синхронні автомати (період проходження вхідних сигналів - постійна величина. Перемикання стану відбувається в строго певні моменти часу (не пов'язано з часом закінчення операції);
• асинхронні автомати (період тривалості тактів – не постійна величина. Момент перемикання стану визначається моментом завершення операції);
7) за імовірністю переходів автомати поділяються на:
• детерміновані (не імовірнісні);
• не детерміновані (імовірнісні) автомати.
Якщо функції виходів і переходів є випадковими, то автомат - недетермінованний або імовірнісний.
8) за відношеннями між автоматами серед автоматів можна виділити
• підавтомати;
• надавтомати.
Якщо, наприклад, відомо, що ЦА (А) < ЦА (В), то автомат А є підавтоматом автомата В, а автомат В - надавтоматом автомата А;
9) при нульовій потужності множини внутрішніх станів (|S| = 0) автомат називається автономним, при |Y| = 0 - автоматом без виходу;
10) за функціями виконання - керуючі і виконуючі (операційні) автомати.
Операційний автомат (ОА) служить для виконання власне набору необхідних операцій алгоритму. Керуючий автомат задає послідовність дій за алгоритмом залежно від умов (які також формуються ОА у вигляді логічних сигналів), тобто координує дії вузлів ОА. Він видає в деякій часовій послідовності керуючі сигнали, під дією яких у вузлах ОА виконуються необхідні дії, наприклад, установка регістра в певний стан, інвертування вмісту розрядів регістра, пересилання вмісту одного вузла в інший, зсув вмісту сайту вліво, вправо, рахунок, при якому число в лічильнику (регістрі) збільшується або зменшується на одиницю, додавання і т. д.
Загальне зображення, наприклад, ЦА зображено на рис. 1.2.
Рис. 2. Структурна схема ЦА
Будь-який ЦА складається з двох частин: комбінаційної логічної схеми (КЛС) і пам'яті (П).
У даному випадку в деякій мірі розкрита структура автомата.
• КЛС автомата формує вихідні сигнали, сигнали переходу тригерів блоку пам'яті в нові стани.
• Наявність блоку пам'яті дозволяє зберегти передісторію роботи автомата під дією вхідних сигналів.
Особливою відмінністю автоматів Мілі є те, що їх вихідні сигнали залежать як від стану автомата, так і від значення вхідного сигналу. В автоматах Мура вихідні сигнали y(t) у кожний дискретний момент часу t однозначно визначаються станом автомата в той же момент часу і не залежать від значення вхідного сигналу.
