
- •9. Синтез мікропрограмного автомата за схемоюалгоритму
- •9.1. Послідовність дій, необхідних для побудови пристрою керування для автомата
- •9.2. Синтез автомата Мілі
- •9.3. Синтез автомата Мура
- •9.3.5. Побудова закодованої мікрокомандної схеми алгоритму. Закодовану мікрокомандну схему алгоритму наведено на рис.9.12. Проставляємо мітки внутрішніх станів автомата Мура таким чином:
- •Систему рівнянь виходів для автомата Мура не будується.
Систему рівнянь виходів для автомата Мура не будується.
9.3.9. Кодування внутрішніх станів автомата. Для того, щоб закодувати внутрішні стани автомата, визначаємо кількість необхідних для цього тригерів (n). Кількість тригерів розраховується із співвідношення: log2 S ≤ n, де n – кількість необхідних тригерів; S – кількість міток si (в прикладі s0 – s6)
S = 7 log2 7 ≤ n n = 3.
Таким чином, необхідно мати 3 тригера. Тому внутрішні стани автомата будемо кодувати трьох розрядним двійковим кодом. Результати кодування наведені в табл. 9.8. У таблиці імена R1–R4 та S1–S4 – це входи трьох RS-тригерів.
Таблиця 9.8 – Кодування внутрішніх станів автомата
|
R1 |
S1 |
R2 |
S2 |
R3 |
S3 |
s0 |
1 |
0 |
1 |
0 |
1 |
0 |
s1 |
1 |
0 |
1 |
0 |
0 |
1 |
s2 |
1 |
0 |
0 |
1 |
1 |
0 |
s3 |
1 |
0 |
0 |
1 |
0 |
1 |
s4 |
0 |
1 |
1 |
0 |
1 |
0 |
s5 |
0 |
1 |
1 |
0 |
0 |
1 |
s6 |
0 |
1 |
0 |
1 |
1 |
0 |
9.3.10. Побудова схеми операційного автомата. Операційний автомат (рис. 9.15) являється керуючим пристроєм, результатом роботи якого є набір мікрооперацій. Мікрооперації mYi подаються на вхід виконавчого пристрою, де вони виконуються. Виконавчий пристрій (в комп’ютері арифметично-логічний пристрій мікропроцесора) містить набір комбінаційних схем (суматори, регістри, лічильники, компаратори та інше), необхідних для виконання дій, пов’язаних з вирішенням конкретної задачі. З виконавчого пристрою на вхід операційного автомата подаються сигнали з виходів компараторів Xі. Ці сигнали є вхідними сигналами операційного автомату і формують наступний стан автомата Sі.
Операційний автомат складається з трьох частин (рис. 9.15).
У вхідній частині розташовані три RS-тригера (Т1-Т3), які зберігають внутрішній стан автомата. Перед R-входом кожного тригера розташовано логічний елемент АБО. Подача одиничного сигналу на один із входів елементів АБО встановлює тригери в нульовий стан. Це дозволяє встановити автомат в початковий стан s0. Також на входи R і S тригерів подаються сигнали, які є кодами станів автомату в поточний момент часу. Виходи RS-тригерів подаються на входи дешифратора. Дешифратор перетворює двійковий код внутрішнього стану автомата в одиничний сигнал на одному з виходів дешифратора. Виходи дешифратора є станами автомата в попередній момент часу St-1. Тип дешифратора вибирається в залежності від кількості тригерів, які зберігають внутрішній стан автомата. Для даного прикладу використовується дешифратор на три входи.
Виходи
дешифратора St-1
разом
із виходами компараторів
Xі
подаються на вхід перехідної частини
пристрою. На рис. 9.15 використане зображення
двох загальних шин. На одну з цих шин
подаються сигнали з виходів дешифратора.
Наприклад, сигналу s0t-1
припишемо
нульовий номер. Оскільки маємо всього
сім внутрішніх станів, то використаємо
сім виходів дешифратора, позначених
номерами від 0 до 6. На другу шину подаються
виходи компараторів. Кожний компаратор
відповідає одній умовній вершині.
Оскільки в даному випадку є чотири
компаратори з прямими та інверсними
виходами, то на другу шину подаються
вісім сигналів. Номеру 1 відповідає
сигнал X1,
номеру
2 відповідає сигнал
і т.д.
Перехідна частина будується на основі системи рівнянь для функцій переходів. Наприклад, для реалізації рівняння
потрібний
логічний елемент І, на вхід якого
необхідно подати шостий сигнал з першої
шини, а саме s6t-1,
та восьмий сигнал з другої шини, а саме
.
Використавши наступні рівняння, отримаємо
перехідну частину автомата. Вихід
перехідної частини подається на загальну
шину St
з сигналами, що являються станами
автомата в теперішній час.
В схемі автомата використані дві програмовані логічні матриці (ПЛМ).
На рис.9.15 верхня ПЛМ використовується для отримання вхідних сигналів для трьох RS-тригерів, а нижня – для отримання сигналів, що відповідають мікроопераціям, які має виконувати виконавчий пристрій.
Сигнали, які відповідають станам St, подаються на входи верхньої ПЛМ. Виходами цієї ПЛМ є сигнали, які завдяки зворотному зв’язку подаються на входи RS-тригерів. Матриця програмується у відповідності з табл. 9.8. Так, якщо маємо одиничне значення стану s0t, необхідно подати одиничний сигнал на R входи всіх тригерів. Тому перетин горизонтальної лінії, позначеної номером 0, та вертикальних ліній, позначених номерами 2, 4 і 6 (ці лінії відповідають R входам тригерів), відмічаємо на схемі крапками. Таким чином, при одиничному сигналі для стану s0t, одиничний сигнал поступить на 2, 4 і 6 входи вхідної частини схеми автомата. Це призведе до встановлення тригерів в нульовий стан і формуванню стану s0t-1. Сигнал s0t-1, пройшовши через перехідну частину пристрою, сформує стан s1t, і цей сигнал поступить на перший вхід ПЛМ. Далі з 2, 4 і 5 виходів ПЛМ поступить на 2, 4 і 5 входи вхідної частини. Формування інших станів буде проходити аналогічно.
Вихідні стани автомата є станами автомата St в теперішній час. Вони подаються також на другу ПЛМ. Вона програмується у відповідності з табл. 9.6. Горизонтальні лінії цієї матриці асоціюються з мікрокомандами, а вертикальні – з мікроопераціями. Так, мікрокоманда Y2t містить дві мікрооперації – mY2 і mY3. Тому на перетині горизонтальної лінії, позначеної номером 2, та вертикальних ліній, позначених як mY2 і mY3 відмічаємо крапками. Таким чином, при формуванні одиничного сигналу для вихідного стану Y2t, сигнал поступить на необхідні входи процесора.
Контрольні запитання
Як взаємодіють керуюча і виконавча частини пристрою?
Чим відрізняються автомат Мілі та автомат Мура?
Яка послідовність дій необхідна для побудови пристрою керування для автомата Мілі чи автомата Мура?
Як виконується етап кодування операційних та умовних вершин змістовної схеми алгоритму кодами мікрооперацій і кодами вхідних сигналів?
Як перейти від змістовної до закодованої мікроопераційної схеми алгоритму?
Як виконується етап кодування мікрокоманд з використанням кодів мікрооперацій?
Як отримати закодовану мікрокомандну схему алгоритму?
Вміст основної таблиці абстрактного автомата.
Як побудувати граф-схему переходів автомата із одного внутрішнього стану в інший?
Як побудувати систему рівнянь для функцій переходів і для функцій виходів автомата?
Як виконується кодування внутрішніх станів автомата?
Реалізація схеми операційного автомата.
13 Опишіть особливості функціонування схеми операційного автомата.