
- •9. Синтез мікропрограмного автомата за схемоюалгоритму
- •9.1. Послідовність дій, необхідних для побудови пристрою керування для автомата
- •9.2. Синтез автомата Мілі
- •9.3. Синтез автомата Мура
- •9.3.5. Побудова закодованої мікрокомандної схеми алгоритму. Закодовану мікрокомандну схему алгоритму наведено на рис.9.12. Проставляємо мітки внутрішніх станів автомата Мура таким чином:
- •Систему рівнянь виходів для автомата Мура не будується.
9.3. Синтез автомата Мура
Розглянемо синтез автомата Мура на прикладі 2.
Приклад 2.
Побудувати операційний автомат, який знаходить максимальний парний елемент у кожному стовпці масиву (A[n,n]). Автомат реалізувати за схемою алгоритму у вигляді автомата Мура. Функціональну схему автомату синтезувати на елементах І, АБО, НІ та RS-тригерах, доповнюючи її необхідними за алгоритмом функціональними автоматами.
9.3.1. Побудова змістовної схеми алгоритму. Будуємо змістовну схему алгоритму (рис. 9.10).
Рисунок 9.10 – Змістовна схема алгоритму
9.3.2. Побудова таблиці кодування операційних та умовних вершин
Кожна вершина, чи то операційна, чи то умовна, кодується. Причому, якщо операційна або умовна вершини повторюються, то кожній з них далі присвоюється її попередній код. У даній змістовній схемі алгоритму (рис. 9.11) вершини, які повторюються, відсутні. Кодування вершин наведене у табл. 9.5.
Таблиця 9.5 – Таблиця кодування вершин
Код |
Зміст |
Примітка |
mY1 |
j = 1 |
|
mY2 |
i = 1 |
|
mY3 |
max = 0 |
|
mY4 |
A[i,j] |
Введення A[i,j] |
mY5 |
max = A[i,j] |
|
mY6 |
i = i + 1 |
|
mY7 |
max |
Виведення max |
mY8 |
j = j + 1 |
|
X1 |
A[i,j] mod 2 = 0 |
так – 1, ні – 0 |
X2 |
A[i,j] > max |
так – 1, ні – 0 |
X3 |
i n |
так – 1, ні – 0 |
X4 |
j m |
так – 1, ні – 0 |
9.3.3. Побудова закодованої мікроопераційної схеми алгоритму.Закодована мікроопераційна схема алгоритму (рис. 9.12) будується на основі змістовної схеми алгоритму (рис. 9.11) і таблиці кодування операційних та умовних вершин (табл. 9.5), шляхом заміни вмісту блоків змістовної схеми алгоритму на відповідні коди мікрооперацій.
Рисунок 9.11– Закодована мікроопераційна схема
алгоритму
9.3.4. Побудова таблиці кодування операційних та умовних вершин. Складаємо таблицю кодування мікрокоманд (табл. 9.6). Кожна мікрокоманда кодується своєю мікрооперацією, але мікрооперації, які виконуються одна за одною послідовно на протязі одного такту, об’єднуються в одну мікрокоманду. У даному прикладі по дві мікрооперації (mY2 і mY3) та (mY7 і mY8) виконуються одна за одною послідовно. Тому вони об’єднані в одну мікрокоманду, відповідно Y2 і Y5.
Таблиця 9.6 – Таблиця кодування мікрокоманд
Мікрокоманда |
Мікрооперація |
Y1 |
mY1 |
Y2 |
mY2, mY3 |
Y3 |
mY4 |
Y4 |
mY5 |
Y5 |
mY6 |
Y6 |
mY7, mY8 |