1. ПОБУДОВА ОБ'ЄДНАНОЇ ГСА
1.1. Побудова ГСА
По описах граф-схем, приведених в завданні до курсової роботи, побудуємо ГСА Г1-Г5 (мал. 1.1-1.5), додавши початкові і кінцеві вершини і замінивши кожний оператор Yi операторною вершиною, а кожну умову Xi - умовною.
1.2. Методика об'єднання ГСА
У ГСА Г1-Г5 є однакові ділянки, тому побудова автоматів за ГСА Г1-Г5 приведе до невиправданих апаратурних витрат. Для досягнення оптимального результату скористаємося методикою С.І.Баранова, яка дозволяє мінімізувати число операторних і умовних вершин. Заздалегідь помітимо операторні вершини в початкових ГСА, керуючись слідуючими правилами:
1) однакові вершини Yi в різних ГСА відмічаємо однаковими мітками Aj;
2) однакові вершини Yi в межах однієї ГСА відмічаємо різними мітками Aj;
3) у всіх ГСА початкову вершину помітимо як А0, а кінцеву - як Ak.
На наступному етапі кожній ГСА поставимо у відповідність набір змінних PnО {P1...Pq}, де q=]log2N[, N -кількість ГСА. Означувальною для ГСА Гn ми будемо називати кон`юнкцию Pn=p1eЩ...Щpqn еО{0,1}, причому p0=щр, p1=р. Об'єднана ГСА повинна задовольняти слідуючим вимогам:
1) якщо МК Ai входить хоча б в одну часткову ГСА, то вона входить і в об'єднану ГСА Г0, причому тільки один раз;
2) при підстановці набору значень (е1...en), на якому Pq=1 ГСА Г0 перетворюється в ГСА, рівносильну частковій ГСА Гq.
При об'єднанні ГСА виконаємо слідуючі етапи:
-сформуємо часткові МСА М1 - М5, що відповідні ГСА Г1 - Г5;
- сформуємо об'єднану МСА М0;
- сформуємо системи дужкових формул переходу ГСА Г0;
- сформуємо об'єднану ГСА Г0.
1.3. Об'єднання часткових ГСА
Часткові МСА М1-М5 побудуємо по ГСА Г1-Г5 (мал.1.1) відповідно. Рядки МСА відмітимо всіма мітками Ai, що входять до ГСА, крім кінцевої Ak.
ПОЧАТОК A0
1
0 X1 1
2
A1
3
0
4 X2 A2 1
5
A3
6
A4
7
A5
8
A6
9
A7
10
A8
КіНЕЦь Ak
Мал.1.1. Часткова граф-схема алгоритму Г1
ПОЧАТОК A0
1
A1
2
A7
0 3 1
X3
4 5
A9 A6
6 7
A10 A12
8 9
A3 A22
10
A11
КіНЕЦЬ Ak
Мал.1.2. Часткова граф-схема алгоритму Г2
ПОЧАТОК A0
1
A11
0 2 1
X1
3 4
A15 A16
6
5 1
X3 A12
0
7 8
A6 A13
КіНЕЦЬ Аk
Мал.1.3. Часткова граф-схема алгоритму Г3
ПОЧАТОК A0
1
0 1
X1
2
A13
3
A9
4
A8
5
1 X2
6 0
A17
7
A6
8
A2
9
A18
КіНЕЦЬ Ak
Мал.1.4. Часткова граф-схема алгоритму Г4
ПОЧАТОК A0
1
A1
2
A6
3
A19
4
0 1
X1
5
0 X2
1
6
A20
7
A17
8
A2
9
A21
КіНЕЦЬ Ak
Мал.1.5. Часткова граф-схема алгортиму Г5
Стовпці МСА відмітимо всіма мітками Ai, що входять до ГСА, крім початкової A0. На перетині рядка Ai і стовпця Aj запишемо формулу переходу fij від оператора Ai до оператора Aj. Ця функція дорівнює 1 для безумовного переходу або кон`юнкції логічних умов, відповідних виходам умовних вершин, через які проходить шлях з вершини з міткою Ai у вершину з міткою Aj.
За методикою об'єднання закодуємо МСА таким чином:
Таблиця 1.1
Кодування МСА
МСА | P1P2P3 |
М1 | 0 0 0 (щp1щp2щp3) |
М2 | 0 0 1 (щp1щp2p3) |
М3 | 0 1 0 (щp1p2щp3) |
М4 | 0 1 1 (щp1p2p3) |
М5 | 1 0 0 (p1щp2щp3) |
Часткові МСА М1-М5 наведені в табл.1.2-1.6
Таблиця 1.2
Часткова МСА М1
A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | Ak | |
A0 | щx1 | щx1щx2 | x1x2 | ||||||
A1 | 1 | ||||||||
A2 | 1 | ||||||||
A3 | 1 | ||||||||
A4 | 1 | ||||||||
A5 | 1 | ||||||||
A6 | 1 | ||||||||
A7 | 1 | ||||||||
A8 | 1 |
Таблиця 1.3
Часткова МСА М2
A1 | A3 | A6 | A7 | A9 | A10 | A11 | A12 | A22 | Ak | |
A0 | 1 | |||||||||
A1 | 1 | |||||||||
A3 | 1 | |||||||||
A6 | 1 | |||||||||
A7 | x3 | щx3 | ||||||||
A9 | 1 | |||||||||
A10 | 1 | |||||||||
A11 | 1 | |||||||||
A12 | 1 | |||||||||
A22 | 1 |
Таблиця 1.4
Часткова МСА М3
A6 | A12 | A13 | A14 | A15 | A16 | Ak | |
A0 | 1 | ||||||
A6 | 1 | ||||||
A12 | 1 | ||||||
A13 | 1 | ||||||
A14 | щx1 | x1 | |||||
A15 | x3 | щx3 | |||||
A16 | 1 |
Таблиця 1.5
Часткова МСА М4
A2 | A6 | A8 | A9 | A13 | A17 | A18 | Ak | |
A0 | щx1 | x1 | ||||||
A2 | 1 | |||||||
A6 | 1 | |||||||
A8 | x2 | щx2 | ||||||
A9 | 1 | |||||||
A13 | 1 | |||||||
A17 | 1 | |||||||
A18 | 1 |
Таблиця 1.6
Часткова МСА М5
A1 | A2 | A6 | A17 | A19 | A20 | A21 | Ak | |
A0 | 1 | |||||||
A1 | 1 | |||||||
A2 | 1 | |||||||
A6 | 1 | |||||||
A17 | 1 | |||||||
A19 | x1щx2 | x1x2 | щx1 | |||||
A20 | 1 | |||||||
A21 | 1 |
На наступному етапі побудуємо об'єднану МСА М0, в якій рядки відмічені всіма мітками Аi, крім Аk, а стовпці - всіма, крім А0. На перетині рядка Аi і стовпця Аj запишемо формулу переходу, яка формується таким чином: Fij=P1fij1+...+Pnfijn (n=1...N). Де fijn-формула переходу з вершини Аi у вершину Аj для n-ої ГСА. Наприклад, формула переходу А0®А1 буде мати вигляд F0,1=щx1щp1щp2щp3+ щp1щp2p3+ +p1щp2щp3. У результаті ми отримаємо об'єднану МСА М0 (табл.1.7). Ми маємо можливість мінімізувати формули переходу таким чином: розглядаючи ГСА Г0 як ГСА Гn, ми підставляємо певний набір Pn=1, при цьому змінні p1..pq не змінюють своїх значень під час проходу по ГСА. Таким чином, якщо у вершину Аi перехід завжди здійснюється при незмінному значенні pq, то це значення pq в рядку Аi замінимо на “1", а його інверсію на “0". Наприклад, у вершину А3 перехід здійснюється при незмінному значенні щp1 і щp2, отже в рядку А3 щp1 і щp2 замінимо на “1", а p1 і p2 на “0". У результаті отримаємо формули F3,4=щp3, F3,11=p3. Керуючись вищенаведеним методом, отримаємо мінімізовану МСА М0 (табл.1.8).
По таблиці складемо формули переходу для об'єднаної ГСА Г0. Формулою переходу будемо називати слідуюче вираження: Ai®Fi,1А1+..+Fi,kАk, де Fi,j- відповідна формула переходу з мінімізованої МСА. У нашому випадку отримаємо слідуючу систему формул:
A0®щx1щp1щp2щp3A1+щp1щp2p3A1+p1щp2щp3A1+x1щx2щp1щp2щp3A2+x1x2щp1щp2щp3A3+
+щx1щp1p2p3A8+x1щp1p2p3A13+щp1p2щp3A14
A1®щp1щp3A2+p1щp3A6+щp1p3A7
A2®щp1щp2щp3A6+щp1p2p3A18+p1щp2p3A21
A3®щp3A4+p3A11
A4®A5
A5®А6
Таблиця 1.7
Об`єднана МСА Мo
A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 | A14 | A15 | A16 | A17 | A18 | A19 | A20 | A21 | A22 | Ak | |
A0 | _ _ _ _ x1p1p2p3+ _ _ +p1p2p3+ _ _ +p1p2p3 | _ _ _ _ x1x2p1p2p3 | _ _ _ x1x2p1p2p3 | _ _ x1p1p2p3 | _ x1p1p2p3 | _ _ p1p2p3 | |||||||||||||||||
A1 | _ _ _ p1p2p3 | _ _ p1p2p3 | _ _ p1p2p3 | ||||||||||||||||||||
A2 | _ _ _ p1p2p3 | _ p1p2p3 | _ _ p1p2p3 | ||||||||||||||||||||
A3 | _ _ _ p1p2p3 | _ _ p1p2p3 | |||||||||||||||||||||
A4 | _ _ _ p1p2p3 | ||||||||||||||||||||||
A5 | _ _ _ p1p2p3 | ||||||||||||||||||||||
A6 | _ p1p2p3 | _ _ _ p1p2p3 | _ _ p1p2p3 | _ _ p1p2p3 | _ _ p1p2p3 | ||||||||||||||||||
A7 | _ _ x3p1p2p3 | _ _ _ p1p2p3 | _ _ _ x3p1p2p3 | ||||||||||||||||||||
A8 | _ x2p1p2p3 | _ _ _ p1p2p3+ _ _ +x2p1p2p3 | |||||||||||||||||||||
A9 | _ p1p2p3 | _ _ p1p2p3 | |||||||||||||||||||||
A10 | _ _ p1p2p3 | ||||||||||||||||||||||
A11 | _ _ p1p2p3 | ||||||||||||||||||||||
A12 | _ _ p1p2p3 | _ _ p1p2p3 | |||||||||||||||||||||
A13 | _ p1p2p3 | _ _ p1p2p3 | |||||||||||||||||||||
A14 | _ _ _ x1p1p2p3 | _ _ x1p1p2p3 | |||||||||||||||||||||
A15 | _ _ x3p1p2p3 | _ _ _ x3p1p2p3 | |||||||||||||||||||||
A16 | _ _ p1p2p3 | ||||||||||||||||||||||
A17 | _ _ p1p2p3 | _ p1p2p3 | |||||||||||||||||||||
A18 | _ p1p2p3 | ||||||||||||||||||||||
A19 | _ _ _ x1x2p1p2p3 | _ _ x1x2p1p2p3 | _ _ _ x1p1p2p3 | ||||||||||||||||||||
A20 | _ _ p1p2p3 | ||||||||||||||||||||||
A21 | _ _ p1p2p3 | ||||||||||||||||||||||
A22 | _ _ p1p2p3 |
Таблиця 1.8
Об`єднана мінімізована МСА Мo
A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 | A14 | A15 | A16 | A17 | A18 | A19 | A20 | A21 | A22 | Ak | |
A0 | _ _ _ _ x1p1p2p3+ _ _ +p1p2p3+ _ _ +p1p2p3 | _ _ _ _ x1x2p1p2p3 | _ _ _ x1x2p1p2p3 | _ _ x1p1p2p3 | _ x1p1p2p3 | _ _ p1p2p3 | |||||||||||||||||
A1 | _ _ p1p3 | _ p1p3 | _ p1p3 | ||||||||||||||||||||
A2 | _ _ _ p1p2p3 | _ p1p2p3 | _ _ p1p2p3 | ||||||||||||||||||||
A3 | _ p3 | p3 | |||||||||||||||||||||
A4 | 1 | ||||||||||||||||||||||
A5 | 1 | ||||||||||||||||||||||
A6 | _ p1p2p3 | _ _ _ p1p2p3 | _ _ p1p2p3 | _ _ p1p2p3 | _ _ p1p2p3 | ||||||||||||||||||
A7 | x3p3 | _ p3 | _ x3p3 | ||||||||||||||||||||
A8 | x2p2p3 | _ _ p2p3+ _ +x2p2p3 | |||||||||||||||||||||
A9 | p2 | _ p2 | |||||||||||||||||||||
A10 | 1 | ||||||||||||||||||||||
A11 | 1 | ||||||||||||||||||||||
A12 | _ p2p3 | _ p2p3 | |||||||||||||||||||||
A13 | p3 | _ p3 | |||||||||||||||||||||
A14 | _ x1 | x1 | |||||||||||||||||||||
A15 | x3 | _ x3 | |||||||||||||||||||||
A16 | 1 | ||||||||||||||||||||||
A17 | _ _ p1p2p3 | _ p1p2p3 | |||||||||||||||||||||
A18 | 1 | ||||||||||||||||||||||
A19 | _ x1x2 | g-left: 0.05in; padding-right: 0in;"> | x1x2 | _ x1 | |||||||||||||||||||
A20 | 1 | ||||||||||||||||||||||
A21 | 1 | ||||||||||||||||||||||
A22 | 1 |
A6®щp1p2p3A2+щp1щp2щp3A7+щp1щp2p3A12+p1щp2щp3A19+щp1p2щp3Ak
A7®x3p3A6+щp3A8+щx3p3A9
A8®x2p2p3A17+щp2щp3Ak+щx2p2p3Ak
A9®p2A8+щp2A10
A10®A3
A11®Ak
A12®щp2p3A22+p2щp3A13
A13®p3A9+щp3Ak
A14®щx1A15+x1A16
A15®x3A6+щx3Ak
A16®A12
A17®p1щp2щp3A2+щp1p2p3A6
A18®Ak
A19®x1щx2A2+x1x2A20+щx1A21
A20®A17
A21®Ak
A22®Ak
При побудові системи дужкових формул переходу необхідно кожну формулу привести до вигляду Аx1+Вщx1, де А і В -деякі вирази, а x1 і щx1-логічні умови переходу. Формули переходу для вершин А3, А4, А5, А9, А10, А11, А13, А14, А15, А16, А18, А20, А21, А22 вже є елементарними (розкладеними), а в інших є вирази виду Аn®xj(А) +щxjpi(В). Тут pi відповідає чекаючій вершині (мал.1.6). Подібних вершин в об'єднаній ГСА бути не повинно. Для їх усунення скористаємося слідуючим правилом: додавання виразу [PqАn] не змінить формулу, якщо набір Pq не використовується для кодування ГСА або вершина Аn відсутня в ГСА з кодом Pq. Таким чином, додаючи допоміжні набори, ми отримаємо можливість за допомогою елементарних перетворень звести формули до необхідного вигляду. Наприклад, формула A8®x2p2p3A17+щp2щp3Ak+щx2p2p3A спрощується таким чином A8=p3(x2p2A17+щx2p2Ak)+щp3щp2Ak=p3p2(x2A17+щx2Ak)+щp3щp2Ak=
1 Xj 0
Pi 0
1
Мал.1.6 Приклад чекаючої вершини Pi
=[щp3p2(x2A17+щx2Ak)]+p3p2(x2A17+щx2Ak)+щp3щp2Ak+[p3щp2Ak]=щp2Ak+p2(x2A17+щx2Ak). Тут вершина А8 не зустрічається у ГСА ,в кодах яких присутні комбінації щp3p2 і p3щp2. Нижче наведено розклад усіх неелементарних формул переходу.
A0=p1(щp2щp3A1)+щp1(щx1щp2щp3A1+щp2p3A1+x1щx2щp2щp3A2+x1x2щp2щp3A3+
+щx1p2p3A8+x1p2p3A13+p2щp3A14)=p1(щp2щp3A1)+[p1щp2щp3A1]+
+щp1(p2(щx1p3A8+x1p3A13+щp3A14)+щp2(щx1щp3A1+p3A1+x1щx2щp3A2+
+x1x2щp3A3))=p1(щp2A1)+[p1p2A1]+щp1(p2(p3(щx1A8+x1A13)+щp3A14)+
+щp2(щp3(щx1A1+x1x2A3+x1щx2A2)+p3A1))= p1A1+щp1(p2(p3( щx1A8+
+x1A13)+щp3A14)+щp2(щp3(щx1A1+x1(x2A3+щx2A2))+p3A1))
A1=щp1(p3A7+щp3A2)+p1щp3A6+[p1p3A6]= щp1(p3A7+щp3A2)+p1A6
A2=p1(щp2p3A21)+щp1(щp2щp3A6+p2p3A18)= p1(щp2p3A21)+[p1щp2p3A21]+
+щp1(щp2щp3A6+[p2щp3A6]+p2p3A18+[p3щp2A18])=p1(щp2A21)+щp1(щp3A6+
+p3A18)=p1(щp2A21)+[p1p2A21]+щp1(щp3A6+p3A18)=p1A21+щp1(щp3A6+
+p3A18)
A6=p1(щp2щp3A19)+[p1щp2p3A19]+щp1(p2p3A2+щp2щp3A7+щp2p3A12+p2щp3Ak)=
=p1щp2A19+[p1p2A19]+щp1(p2(p3A2+щp3Ak)+щp2(щp3A7+p3A12))=p1A19+
+щp1(p2(p3A2+щp3Ak)+щp2(щp3A7+p3A12))
A7=p3(x3A6+щx3A9)+щp3A8
A8=p3(x2p2A17+щx2p2Ak)+щp3щp2Ak=p3p2(x2A17+щx2Ak)+щp3щp2Ak=
=[щp3p2(x2A17+щx2Ak)]+p3p2(x2A17+щx2Ak)+щp3щp2Ak+[p3щp2Ak]=щp2Ak+
+p2(x2A17+щx2Ak)
A12=щp2p3A22+p2щp3A13+[p2p3A22]+[щp2щp3A13]=p3A22+щp3A13
A17=p1щp2щp3A2+[p1щp2p3A2]+щp1p2p3A6+[щp1щp2p3A6]=p1щp2A2+[p1p2A2]+
+щp1p3A6+[щp1щp3A6]=p1A2+щp1A6
A19=x1(щx2A2+x2A20)+щx1A21
Об'єднану ГСА Г0 (мал.1.7) побудуємо відповідно до формул переходу, замінюючи кожну мітку Аi відповідною операторною вершиною Yt, а кожний вираз Xi і Pj відповідними умовними вершинами.
29
2.СИНТЕЗ АВТОМАТА З ПРИМУСОВОЮ АДРЕСАЦІЄЮ МІКРОКОМАНД.
2.1. Принцип роботи автомата.
При примусовій адресації адреса наступної мікрокоманди задається в полі поточної мікрокоманди. Формат МК в такому випадку слідуючий (мал. 2.1.).
1 Y m 1 X l 1 A0 k 1 A1 k
Мал. 2.1 Формат команди автомата з ПА.
Тут у полі Y міститься код, що задає набір мікрооперацій, у полі X-код логічної умови, що перевіряється, у полях A0 і A1- адреси переходу при невиконанні логічної умови, що перевіряється або безумовному переході і при істинності логічної умови відповідно. Розрядність полів визначається таким чином:
m=]log2T[ Т- число наборів мікрооперацій, що використовуються в ГСА, в нашому випадку Т=17, m=5
l=]log2 (L+1)[ L-число логічних умов у ГСА, в нашому випадку L=6, l=3
k=]log2 Q[ Q -кількість мікрокоманд.
Структурна схема автомата приведена на мал. 2.2. Автомат функціонує таким чином. Схема запуску складається з RS -тригера і схеми “&", яка блокує надходження синхроімпульсів на РАМК і РМК. За сигналом “Пуск" тригер встановлюється в одиницю і відбувається запис мікрокоманд до регістру. Поле Y надходить на схему формування МО і перетворюється в деякий набір мікрооперацій. Поле X надходить до схеми формування адреси, яка формує сигнал Z2, якщо перехід безумовний (X=0) або ЛУ , що перевіряється, дорівнює 0, або сигнал Z1 у випадку істинності ЛУ. За сигналом Z1(Z2) до адресного входу ПЗП надходить значення поля A1(A0). За сигналу y0 тригер встановлюється в нуль і автомат зупиняє свою роботу. За сигналом "Пуск" до РАМК заноситься адреса початкової МК (А=0).
2.2. Перетворення початкової ГСА.
Перетворення буде полягати в тому, що у всі операторні вершини, пов'язані з кінцевою, вводиться сигнал y0, а між всіма умовними вершинами, які пов'язані з кінцевою, вводиться операторна вершина, що містить сигнал y0. Причому, ця вершина буде загальною для всіх умовних. З урахуванням вищесказаного отримаємо перетворену ГСА (мал. 2.3). У перетвореній ГСА ми зберігаємо позначення Yi, але при цьому пам'ятаємо, що кожна мікрокоманда Yi
РАМК
Z1 Z2
S T & ПЗП
“Пуск”
СІ R РМК Y X A0 A1 СФМО Z1 y0 .... yi СФА до ОА Z2
Мал.2.2. Структурна схема автомата з ПА
розбивається на мікрооперації yi..yj згідно з табл. 2.1.
Таблиця 2.1.
Розподіл МО по мікрокомандам.
МК | Мікрооперації | МК | Мікрооперації |
Y1 | y1y2y9y10 | Y12 | y5y6y12y17y19 |
Y2 | y1y5y12y19 | Y13 | y4y6y20y21 |
Y3 | y1y6y11y20 | Y14 | y3y11y17y18y22 |
Y5 | y3y4y13y30 | Y15 | y4y5y6y18y19y23 |
Y7 | y2y6y7y16 | Y16 | y12y14y16y24 |
Y8 | y5y13y15y29 | Y17 | y2y13y25 |
Y9 | y6y17 | Y18 | y5 |
Y10 | y3y4y5y18y19 | Y20 | y3y27y28 |
Y11 | y7y8y17y20 |
2.3.Формування вмісту керуючої пам'яті.
Перший етап - виділення мікрокоманд заданого формату. В автоматі з ПА в одному такті можуть виконуватися МО і перевірятися логічна умова. Тому мікрокоманда відповідає парі ОПЕРАТОРНА ВЕРШИНА - УМОВНА ВЕРШИНА. Виходячи з цього, отримаємо, що можливими є пари: ОПЕРАТОРНА ВЕРШИНА - УМОВНА ВЕРШИНА, ОПЕРАТОРНА ВЕРШИНА - БЕЗУМОВНИЙ ПЕРЕХІД, ПОРОЖНЯ ОПЕРАТОРНА - УМОВНА ВЕРШИНА. При цьому потрібно враховувати, що при виборі пари ОПЕРАТОРНА ВЕРШИНА - УМОВНА ВЕРШИНА недопустим перехід ззовні в точку між операторною і умовною вершинами, крім ситуації, коли умовна вершина входить до складу іншої мікрокоманди. У результаті ми отримаємо слідуюче разбиття на мікрокоманди (мал. 2.3.). Ми отримали 38 допустимих МК. Закодуємо їх в природному порядку, привласнивши початковій МК нульову адресу (табл.2.2). Для цього необхідно q=]log2N[ розрядів, де N- кількість МК заданого формату. У нашому випадку N=38, q=6.
Таблиця 2.2
Кодування МК
МК | А1А2А3А4 А5А6 |
О1 | 0 0 0 0 0 0 |
О2 | 0 0 0 0 0 1 |
...... | ........................ |
О38 | 1 0 0 1 0 1 |
Аналогічним чином закодуємо оператори Yi, надавши нульовий код порожньому операторному полю (табл. 2.3).
Таблиця 2.3
Кодування Y
Yi | T2T3T4T5T6 |
Ж | 00000 |
Y1 | 00001 |
Y2 | 00010 |
Y3 | 00011 |
Y5 | 00100 |
Y7 | 00101 |
Y8 | 00110 |
Y9 | 00111 |
Y10 | 01000 |
Y11 | 01001 |
Y12 | 01010 |
Y13 | 01011 |
Y14 | 01100 |
Y15 | 01101 |
Y16 | 01110 |
Y17 | 01111 |
Y18 | 10000 |
Y20 | 10001 |
Таблиця 2.5
Вміст керуючої пам`яті.
№ | A | FY | FX | FA0 | FA1 |
Оп. | A1A2A3A4A5A6 | T1T2T3T4T5T6 | T7T8T9 | T10T11T12T13T14T15 | T16T17T18T19T20T21 |
1 | 000000 | 000000 | 100 | 000001 | 001100 |
2 | 000001 | 000000 | 101 | 000010 | 011001 |
3 | 000010 | 000000 | 110 | 000011 | 001100 |
4 | 000011 | 000000 | 001 | 001100 | 000100 |
5 | 000100 | 000000 | 010 | 001001 | 000101 |
6 | 000101 | 000110 | 110 | 000111 | 000110 |
7 | 000110 | 101100 | 000 | 000000 | 000000 |
8 | 000111 | 000111 | 000 | 001000 | 000000 |
9 | 001000 | 001001 | 000 | 001110 | 000000 |
10 | 001001 | 001000 | 100 | 001010 | 011000 |
11 | 001010 | 000000 | 110 | 001110 | 001011 |
12 | 001011 | 100111 | 000 | 000000 | 000000 |
13 | 001100 | 000001 | 100 | 001101 | 001110 |
14 | 001101 | 000000 | 110 | 001001 | 010010 |
15 | 001110 | 000100 | 100 | 001111 | 010111 |
16 | 001111 | 000000 | 101 | 010001 | 010000 |
17 | 010000 | 000000 | 110 | 010100 | 010101 |
18 | 010001 | 000000 | 110 | 010010 | 011110 |
19 | 010010 | 000110 | 110 | 011111 | 010011 |
20 | 010011 | 000000 | 011 | 100011 | 001110 |
21 | 010100 | 100000 | 000 | 000000 | 000000 |
22 | 010101 | 000000 | 010 | 001001 | 010110 |
23 | 010110 | 000001 | 000 | 100101 | 000000 |
24 | 010111 | 001010 | 001 | 011000 | 010101 |
25 | 011000 | 101010 | 000 | 000000 | 000000 |
26 | 011001 | 000000 | 110 | 011011 | 011010 |
27 | 011010 | 000000 | 001 | 011111 | 100001 |
28 | 011011 | 001101 | 001 | 011100 | 011101 |
29 | 011100 | 001110 | 011 | 010100 | 001110 |
30 | 011101 | 000101 | 000 | 011110 | 000000 |
31 | 011110 | 001111 | 010 | 100001 | 100000 |
32 | 011111 | 000111 | 101 | 010100 | 100010 |
33 | 100000 | 100011 | 000 | 000000 | 000000 |
34 | 100001 | 010000 | 110 | 010100 | 100011 |
35 | 100010 | 000000 | 010 | 010100 | 100101 |
36 | 100011 | 000001 | 101 | 100100 | 011111 |
37 | 100100 | 001011 | 000 | 000101 | 000000 |
38 | 100101 | 010001 | 100 | 001110 | 001001 |
2.4. Синтез схеми автомата.
Схема СФА являє собою мультиплексор, який в залежності від коду логічної умови, що перевіряється, передає на вихід Z1 значення відповідної ЛУ. При цьому сигнал Z2 завжди є інверсією сигналу Z1. Таким чином, отримаємо слідуючі вирази для Z1 і Z2:
Z1=X1щT7щT8T9+X2щT7T8щT9+X3щT7T8T9+P1T7щT8щT9+P2T7щT8T9+P3T7T8щT9
Z2=щZ1
або, звівши до заданого базису (4 АБО-НІ), отримаємо
Z1=щ щ(щ щ(A+B+C+D)+E+F), де
A=щ щ( X1щT7щT8T9)=щ(щX1+T7+T8+щT9)
B=щ щ( X2щT7T8щT9)=щ(щX2+T7+щT8+T9)
C=щ щ( X3щT7T8T9)=щ(щX3+T7+щT8+щT9)
D=щ щ( P1T7щT8щT9)=щ(щP1+щT7+T8+T9)
E=щ щ( P2T7щT8T9)=щ(щP2+щT7+T8+щT9)
F=щ щ( P3T7T8щT9)=щ(щP3+щT7+щT8+T9)
Інформація, що надходить на адресні входи ПЗП формується таким чином: Ai=A0iZ1+A1iZ2 або, приводячи до заданого базису, отримуємо Ai=щщ(щ(щA0i+щZ1)+щ(щA1i+щZ2)).
Синтезуємо тепер схему дешифратора, що формує сигнали мікрооперацій yi. Поява одиниці, відповідної кожному Y, відбувається при появі на вході дешифратора коду даного Y, тобто Yi=T2eЩT3eЩT4еЩT5еЩT6е, де еО{0,1} T0=щT, T1=T. Або приводячи до заданого базису, отримаємо: Yi=щ(щ щ(T2щe+T3щe+T4ще+T5ще)+T6ще). Таким чином, схема, що формує сигнал Y з п`ятирозрядного коду виглядає таким чином(мал. 2.4)
T6щe
1 1 1 Yi
T2щe
Мал. 2.4. Схема формування сигналу Yi.
Враховуючи, що розряд T2 рівний “1" при формуванні тільки двох сигналів Y18 і Y20, то схему(мал. 2.4) будемо використовувати для формування Y1, Y20, для яких співпадають молодші чотири розряди та для Y18, для якого молодші чотири розряди співпадають з кодом порожньої операторної вершини. А для всіх інших Y схему можна спростити (мал.2.5.).
T6щe
1 Yi
T3щe
Мал.2.5. Спрощена схема формування сигналу Yi.
Згідно з наведеними схемами запишемо формули для всіх Yi.
Y1=щ (щ щ(T2+T3+T4+T5)+щT6)
Y2= щ(T3+T4+щT5+T6)
Y3= щ(T3+T4+щT5+щT6)
Y5= щ(T3+щT4+T5+T6)
Y7= щ(T3+щT4+T5+щT6)
Y8= щ(T3+щT4+щT5+T6)
Y9= щ(T3+щT4+щT5+щT6)
Y10=щ(щT3+T4+T5+T6)
Сигнали мікрооперацій yj отримаємо, об'єднуючи по “або" виходи відповідні операторам Yi, в яких зустрічається МО yj. При цьому будемо користуватися таблицею
Таблиця 2.5.
Розподіл МО за мікро-
командами
МО | номери МК |
y1 | 1,2,3 |
y2 | 1,7,17 |
y3 | 5,10,14,20 |
y4 | 5,10,13,15 |
y5 | 2,8,10,12,15,18 |
y6 | 3,7,9,12,13,15 |
y7 | 7,11 |
y8 | 11 |
y9 | 1 |
y10 | 1 |
y11 | 3,14 |
y12 | 2,12,16 |
y13 | 5,8,17 |
y14 | 16 |
y15 | 8 |
y16 | 7,16 |
y17 | 9,11,12,14 |
y18 | 10,14,15 |
y19 | 2,10,12,15 |
y20 | 3,11,13 |
y21 | 13 |
y22 | 14 |
y23 | 15 |
y24 | 16 |
y25 | 17 |
y27 | 20 |
y28 | 20 |
y29 | 8 |
y30 | 5 |
На наступному етапі синтезуємо схеми РАМК і РМК, використовуючи щRщS тригери. Скористаємося класичним методом синтезу регістрів і заповнимо слідуючу таблицю (табл. 2.6.).
Таблиця 2.6.
Синтез РАМК та РМК
С | Ai | Qt | Qt+1 | Ct | щR | щS |
0 | 0 | 0 | 0 | 0 | * | * |
0 | 0 | 1 | 1 | 0 | * | * |
0 | 1 | 0 | 0 | 0 | * | * |
0 | 1 | 1 | 1 | 0 | * | * |
1 | 0 | 0 | 0 | 1 | * | 1 |
1 | 0 | 1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 1 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | * |
У результаті отримаємо слідуючу схему для базового елементу РАМК та РМК (мал.2.6).
Ai
1 S TT Q
СІ C
R
“Reset” R щQ
Мал. 2.6. Базовий елемент регістра.
Схема РАМК містить 6 таких елементів, а схема РМК - 21. При побудові схеми сигнали щT1..щT21 будемо знімати з інверсних виходів елементів регістрів. Кількість мікросхем ПЗП визначимо за формулою: NПЗП=]R/3[, де R - розрядність мікрокоманди R=21, NПЗП=7. Для зберігання мікропрограми досить однієї лінійки ПЗП, оскільки QПЗП=8, тобто одна мікросхема розрахована на зберігання 256 трьохбітових комбінацій, а в нашому випадку потрібно тільки 38. При побудові схеми будемо записувати в РАМК інверсію адреси, а до ПЗП будемо подавати адресу з інверсних виходів елементів регістра, таким чином, ми заощадимо 6 елементів-інверторів у СФА. З врахуванням вищесказаного побудуємо схему автомата з примусовою адресацією мікрокоманд(мал. 2.7).
39
3.СИНТЕЗ АВТОМАТА З ПРИРОДНОЮ АДРЕСАЦІЄЮ МІКРОКОМАНД
3.1. Принцип роботи автомата.
При природній адресації микрокоманд існує три формата МК (мал. 3.1.).
П 1 FY m ОМК
П 1 FX l 1 FA r УМК1 П 1 Ж l 1 FA r УМК2
Мал.3.1. Формати мікрокоманд автомата з природною адресацією..
Тут формат ОМК відповідає операторній вершині, УМК1-умовній, а УМК2-вершині безумовного переходу. При подачі сигналу “пуск" лічильник ЛАМК обнуляється, і за сигналом СІ відбувається запис МК до регістра. СФМО формує відповідні МО при П=1 або видає на всіх виходах нулі при П=0. СФА в залежності від П і вмісту поля FX, формує сигнали Z1 і Z2. Сигнал Z1 дозволяє проходження синхроімпульсів на лічильний вхід ЛАМК, а Z2 дозволяє запис до лічильника адреси наступної МК з приходом синхроімпульсу.
Визначимо розрядність полів. l=]log2(L+1)[, де L-число умовних вершин. L=6, l=3
m=]log2T[ Т- число наборів мікрооперацій, що використовуються в ГСА, в нашому випадку Т=17, m=5
r=]log2 Q[, Q - кількість мікрокоманд.
3.2.Перетворення початкової ГСА.
Перетворення буде полягати в тому, що до всіх операторних вершин, пов'язаних з кінцевою, вводиться сигнал y0, а між всіма умовними вершинами, які пов'язані з кінцевою, вводиться операторна вершина, що містить сигнал y0. Крім цього, в ГСА вводяться спеціальні вершини безумовного переходу X0, відповідні формату УМК2. Введення таких вершин необхідне для виключення конфліктів адресації мікрокоманд. У автоматі з природною адресацією (рис3.2.) при істинності(помилковість) логічної умови перехід здійснюється до вершини з адресою на одиницю великим, а при (помилковість)істинності ЛУ перехід відбувається за адресою, записаною в полі FA. У нашому випадку будемо додавати одиницю при істинності ЛУ або при переході з операторной вершини. Якщо в одній точці сходиться декілька переходів по “1" або з операторної вершини, то всі вершини з яких здійснювався перехід, повинні були б мати однакову (на одиницю меншу ) адресу, ніж наступна команда. Але це неможливо.
Z1 +1
сі Z2 А ЛАМК
“Пуск”
1 ПЗП
РМК
FY П FX FA
СФМО
СФА Z1
y0.....yi к ОА
Z2
Мал.3.2. Структурна схема автомата з природною адресацією.
Для виключення подібних ситуацій вводять спеціальну вершину безумовного перходу (мал. 3.3). Дані вершини додаємо таким чином, щоб в одній точці сходилася будь-яка кількість переходів по “0" і тільки один по “1" або з операторної вершини. З врахуванням вказаних перетворень отримаємо перетворену ГСА (мал. 3.4).
X0 0
1
Мал. 3.3. Вершина безумовного переходу.
3.3.Формування вмісту керуючої пам'яті.
На перетвореній ГСА виділимо мікрокоманди форматів ОМК, УМК1, УМК2. У результаті отримаємо 63 МК. Виконаємо їх адресацію. Для цього запишемо всі природні послідовності команд (ланцюжки вершин, перехід між якими здійснюється по “1" або через операторну вершину). У результаті отримаємо:
a1=[O1,O5]
a2=[ O2 ,O6 ,O7 ,O36 ,O48 ,O51 ,O55 ,O34 ,O47 ,O49 ,O56 ,O59 ,O12 ,O16 ,O45]
a3=[ O3 ,O9 ,O13 ,O18]
a4=[ O4 ,O10 ,O11]
a5=[ O8 ,O14 ,O20 ,O30 ,O32 ,O35]
a6=[ O60 ,O15 ,O21 ,O22]
a7=[ O17 ,O52 ,O57 ,O61 ,O62]
a8=[ O19 ,O28 ,O29]
a9=[ O23 ,O25 ,O27 ,O31 ,O37 ,O44 ,O43 ,O53 ,O54]
a10=[ O24 ,O26]
a11=[ O33]
a12=[ O38 ,O41 ,O42]
a13=[ O39 ,O40]
a14=[ O46]
a15=[ O50]
a16=[ O58]
a17=[ O63]
Перерахуємо в таблиці адресації (табл. 3.1) підряд всі послідовності a1-a17 і закодуємо їх R-розрядним кодом. R=]log2N[, N-кількість мікрокоманд (N=63, R=6). Закодуємо також оператори Yi, поставивши їм у відповідність п`ятирозрядний код. Будемо використовувати те ж кодування, що і в автоматі з ПА.(табл. 2.3., 2.4). У таблиці 3.2 відобразимо вміст керуючої пам'яті, заповнивши поля FX, FY, FA.
Таблиця 3.1. Таблиця 3.1.
(продовження)
Адресація МК.
мк | А1А2А3А4А5А6 |
O1 | 000000 |
O5 | 000001 |
O2 | 000010 |
O6 | 000011 |
O7 | 000100 |
O36 | 000101 |
O48 | 000110 |
O51 | 000111 |
O55 | 001000 |
O34 | 001001 |
O47 | 001010 |
O49 | 001011 |
O56 | 001100 |
O59 | 001101 |
O12 | 001110 |
O16 | 001111 |
O45 | 010000 |
O3 | 010001 |
O9 | 010010 |
O13 | 010011 |
O18 | 010100 |
O4 | 010101 |
O10 | 010110 |
O11 | 010111 |
O8 | 011000 |
O14 | 011001 |
O20 | 011010 |
O30 | 011011 |
O32 | 011100 |
O35 | 011101 |
O60 | 011110 |
O15 | 011111 |
O21 | 100000 |
O22 | 100001 |
O17 | 100010 |
O52 | 100011 |
O57 | 100100 |
O61 | 100101 |
O62 | 100110 |
Таблиця 3.2.
Вміст керуючої пам`яті автомата з природною адресацією.
МК | Адреса | П | FY | Формула переходу | |
FX | FA | ||||
А1А2А3А4А5А6 | T1 | T2T3T4 | T5T6T7T8T9T10 | ||
O1 | 000000 | 1 | 100 | 000010 | O1®щP1O2+P1O5 |
O5 | 000001 | 1 | 000 | 010010 | O5®O9 |
O2 | 000010 | 1 | 101 | 010001 | O2®щP2O3+P2O6 |
O6 | 000011 | 1 | 110 | 011000 | O6®щP3O8+P3O7 |
O7 | 000100 | 1 | 001 | 001001 | O7®щX1O34+X1O36 |
O36 | 000101 | 0 | 010 | 000000 | O36®O48 |
O48 | 000110 | 1 | 110 | 111110 | O48®щP3O63+P3O51 |
O51 | 000111 | 0 | 000 | 010000 | O51®O55 |
O55 | 001000 | 1 | 101 | 011110 | O55®щP2O60+P2O34 |
O34 | 001001 | 0 | 000 | 111000 | O34®O47 |
O47 | 001010 | 1 | 101 | 111011 | O47®щP2O46+P2O49 |
O49 | 001011 | 1 | 010 | 111100 | O49®щX2O50+X2O56 |
O56 | 001100 | 0 | 010 | 001000 | O56®O59 |
O59 | 001101 | 1 | 100 | 101100 | O59®щP1O27+P1O12 |
O12 | 001110 | 0 | 001 | 000000 | O12®O16 |
O16 | 001111 | 1 | 100 | 110011 | O16®щP1O24+P1O45 |
O45 | 010000 | 0 | 101 | 010000 | O45®K |
O3 | 010001 | 1 | 110 | 010101 | O3®щP3O4+P3O9 |
O9 | 010010 | 0 | 000 | 001000 | O9®O13 |
O13 | 010011 | 1 | 100 | 100010 | O13®щP1O17+P1O18 |
O18 | 010100 | 1 | 000 | 101100 | O18®щO27 |
O4 | 010101 | 1 | 001 | 010010 | O4®щX1O9+X1O10 |
O10 | 010110 | 1 | 010 | 001110 | O10®щX2O12+X2O11 |
O11 | 010111 | 1 | 000 | 011111 | O11®O15 |
O8 | 011000 | 0 | 001 | 101000 | O8®O14 |
O14 | 011001 | 1 | 001 | 100111 | O14®щX1O19+X1O20 |
O20 | 011010 | 0 | 000 | 101000 | O20®O30 |
O30 | 011011 | 0 | 001 | 111000 | O30®O32 |
O32 | 011100 | 1 | 110 | 000101 | O32®щP3O36+P3O35 |
O35 | 011101 | 0 | 100 | 011000 | O35®K |
O60 | 011110 | 0 | 001 | 011000 | O60®щO15 |
O15 | 011111 | 0 | 000 | 110000 | O15®O21 |
O21 | 100000 | 1 | 110 | 101010 | O21®щP3O23+P3O22 |
O22 | 100001 | 0 | 101 | 100000 | O22®K |
O17 | 100010 | 1 | 110 | 001110 | O17®щP3O12+P3O52 |
O52 | 100011 | 0 | 000 | 110000 | O52®O57 |
O57 | 100100 | 1 | 110 | 001001 | O57®щP3O34+P3O61 |
O61 | 100101 | 1 | 011 | 000111 | O61®щX3O51+X3O62 |
O62 | 100110 | 1 | 000 | 101100 | O62®O27 |
O19 | 100111 | 0 | 001 | 110000 | O19®O28 |
Таблица 3.2.
(продовження)
O28 | 101000 | 1 | 011 | 110101 | O28®щX3O33+X3O29 |
O29 | 101001 | 1 | 000 | 101100 | O29®O27 |
O23 | 101010 | 0 | 000 | 111000 | O23®O25 |
O25 | 101011 | 0 | 001 | 001000 | O25®O27 |
O27 | 101100 | 0 | 000 | 100000 | O27®O31 |
O31 | 101101 | 1 | 100 | 110110 | O31®щP1O38+P1O37 |
O37 | 101110 | 0 | 001 | 010000 | O37®O44 |
O44 | 101111 | 1 | 001 | 010000 | O44®щX1O45+X1O43 |
O43 | 110000 | 1 | 010 | 001110 | O43®щX2O12+X2O53 |
O53 | 110001 | 0 | 000 | 001000 | O53®O54 |
O54 | 110010 | 1 | 000 | 001100 | O54®O56 |
O24 | 110011 | 1 | 110 | 101100 | O24®щP3O27+P3O26 |
O26 | 110100 | 0 | 100 | 111000 | O26®K |
O33 | 110101 | 0 | 100 | 000000 | O33®K |
O38 | 110110 | 1 | 101 | 111001 | O38®щP2O39+P2O41 |
O41 | 110111 | 1 | 110 | 111101 | O41®щP3O58+P3O42 |
O42 | 111000 | 1 | 000 | 001110 | O42®щO12 |
O39 | 111001 | 1 | 110 | 100011 | O39®щP3O52+P3O40 |
O40 | 111010 | 1 | 000 | 011011 | O40®O30 |
O46 | 111011 | 0 | 100 | 000000 | O46®K |
O50 | 111100 | 0 | 100 | 000000 | O50®K |
O58 | 111101 | 0 | 100 | 000000 | O58®K |
O63 | 111110 | 0 | 100 | 000000 | O63®K |
3.4. Синтез схеми автомата.
Синтезуємо схему, що формує сигнал Z1. Сигнал Z1 рівний 1, якщо ознака П=0 або П=1 і при цьому логічна умова, що перевіряється, істинна. Скористаємося формулою Z1 для автомата з ПА, яка в залежності від коду умови передає на вихід Z1 значення відповідного ЛУ.
Z1=X1щT2щT3T4+X2щT2T3щT4+X3щT2T3T4+P1T2щT3щT4+P2T2щT3T4+P3T2T3щT4
З врахуванням вищенаведених вимог запишемо формули для сигналів Z1 і Z2 в автоматі з природною адресацією.
Z1=щT1+T1(X1щT2щT3T4+X2щT2T3щT4+X3щT2T3T4+P1T2щT3щT4+P2T2щT3T4+P3T2T3щT4)
Z2=щZ1
Або , звівши до заданого базису отримаємо:
Z1=щ щ(щ(щ(щ щ(A+B+C+D)+E+F)+щT1)+щT1), где
A=щ щ( X1щT7щT8T9)=щ(щX1+T2+T3+щT4)
B=щ щ( X2щT7T8щT9)=щ(щX2+T2+щT3+T4)
C=щ щ( X3щT7T8T9)=щ(щX3+T2+щT3+щT4)
D=щ щ( P1T7щT8щT9)=щ(щP1+щT2+T3+T4)
E=щ щ( P2T7щT8T9)=щ(щP2+щT2+T3+щT4)
F=щ щ( P3T7T8щT9)=щ(щP3+щT2+щT3+T4)
Схема формування МО подібна СФМО автомата з ПА, але поява сигналів на виходах yi можлива тільки при П=0, тобто коли поточна мікрокоманда відповідає операторній вершині. Тому схему формування Yi змінимо таким чином: сигнал щT1(щП) кон`юнктивно об'єднаємо з кожним сигналом T3...T7,щT3...щT7 (мал. 3.5). При цьому відсутність цих сигналів приведе до відсутності сигналів yi, бо комбінація з усіх нулів на вході дншифратора відповідає порожній операторній вершині. Виняток складає сигнал y0, для якого передбачений окремий розряд, тому його ми кон`юнктивно об'єднаємо з сигналом щT1(щП) (мал. 3.6.)
щT3...щT7 T3..T7
1 T3...T7 1 щT3...щT7
T1 T1
Мал.3.5. Схеми підключення щП.
щT2
1 y0
T1
Рис.3.6.Схема формування y0.
Схема базового елементу РМК аналогічна відповідній схемі в автоматі з ПА(мал2.6). У якості ЛАМК будемо використовувати лічильник, що має слідуючу функціональну схему(мал. 3.7.). Вхід V відповідає сигналу Z1, якщо він рівний 1, то ЛАМК збільшує свій вміст на 1, в протилежному випадку, на вихід передається інформація з входів A1...Ai. Синтезуємо лічильник з крізним перенесенням. Для цього складемо слідуючу таблицю(табл.3.3).Таблиця складена для одного розряду.
A1 CT
A2 A1
A3 A2
A4 A3
A5 A4
A6 A5
A6
V
C
R
Мал.3.7. Функціональне зображення
лічильника.
Таблиця.3.3
Синтез схеми ЛАМК.
V | T | Ai | Qt | Qt+1 | щR | щS |
0 | 0 | 0 | 0 | 0 | * | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 1 | 1 | 0 |
0 | 0 | 1 | 1 | 1 | 1 | * |
0 | 1 | 0 | 0 | 0 | * | 1 |
0 | 1 | 0 | 1 | 1 | 1 | * |
0 | 1 | 1 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 1 | 1 | 1 | * |
1 | 0 | 0 | 0 | 0 | * | 1 |
1 | 0 | 0 | 1 | 1 | 1 | * |
1 | 0 | 1 | 0 | 0 | * | 1 |
1 | 0 | 1 | 1 | 1 | 1 | * |
1 | 1 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 0 | 0 | 1 |
Схема РМК містить 10 базових елементів. При побудові схеми сигнали щT1...щT10 будемо знімати з інверсних виходів елементів регістра. Кількість мікросхем ПЗП визначимо за формулою: NПЗП=]R/3[, де R - розрядність мікрокоманди R=10, NПЗП=4 Для зберігання мікропрограми досить однієї лінійки ПЗП, оскільки QПЗП=8, тобто одна мікросхема розрахована на зберігання 256 трьохбітових комбінацій, а в нашому випадку потрібно тільки 63. З урахуванням вищесказаного побудуємо схему автомата з природною адресацією мікрокоманд(мал. 3.8).
V
1 1
T0
1 1 1 Q0 S TT C
Ai 1 1 R 1 1 R
C
“Reset”
T1
Q1
щT1 T2
1 Q2
щQ1
щT2 T3
1 Q3
щQ2
........................................................................
Мал.3.8.Схема ЛАМК (усього 6 елементів, сигнали V,C,”Reset”,Ai для всіх, окрім першого, не показані).
48
4.СИНТЕЗ АВТОМАТА З КОМБІНОВАНОЮ АДРЕСАЦІЄЮ МІКРОКОМАНД.
4.1.Принцип роботи автомата.
Автомат з комбінованою адресацією є комбінацією з автоматів з примусовою і природною адресацією . У даному автоматі адреса наступної МК задається в полі поточної мікрокоманди, при цьому при невиконанні ЛУ, що перевіряється, або при безумовному переході перехід здійснюється за заданою адресою, а при істинності - за адресою на одиницю більшу, ніж поточна. Формат команди автомата з КА наступний(мал. 4.1).
1 Y m 1 Х k 1 A l
Мал. 4.1.Формат команди автомата з КА.
Тут у полі Y міститься код, що задає набір мікрооперацій, у полі X-код логічної умови, що перевіряється, в полі А - адреса переходу при невиконанні логічної умови або при безумовному переході. Розрядність полів визначається таким чином:
m=]log2T[ Т- число наборів мікрооперацій, що використовуються в ГСА, в нашому випадку Т=17, m=5
k=]log2(L+1)[ L-число логічних умов в ГСА, в нашому випадку L=6, l=3
l=]log2Q[ Q -кількість мікрокоманд.
Структурна схема автомата приведена на мал. 4.2. Автомат функціонує таким чином. Схема запуску складається з RS -тригера і схеми “&", яка блокує надходження синхроімпульсів на РМК. За сигналом “Пуск" тригер встановлюється в одиницю і відбувається запис мікрокоманди до регістру. Поле Y поступає на схему формування МО і перетворюється в деякий набір мікрооперацій. Поле X поступає на схему формування адреси, яка формує сигнал Z2, якщо перехід безумовний (X=0) або ЛУ, що перевіряється,дорівнює нулю або сигнал Z1 у випадку істинності ЛУ. За сигналом Z2 вміст поля А надходить до лічильника,а з нього - на адресний вхід ПЗП. А за сигналом Z1 на адресний вхід також надходить вміст лічильника але тепер це адреса поточної мікрокоманди, збільшена на одиницю. За сигналом y0 тригер скидається в нуль і автомат зупиняє свою роботу.
4.2. Перетворення початкової ГСА.
Перетворення будемо виконувати двома етапами. На першому - введемо сигнал y0 до вершин, пов'язаних з кінцевою, якщо вершина умовна, то введемо
+1
Z1
СT
Z2
S T & ПЗП
“Пуск”
СІ R РМК Y X A СФМО y0 .... yi Z1 СФА
до ОА Z2
Мал.4.2. Структурна схема автомата з КА.
додаткову операторну вершину з сигналом y0. Крім того, введемо додаткові вершини безумовного переходу, виходячи з тих же міркувань, що і для автомата з природною адресацією. Будемо, однак, мати на увазі, що для автомата з КА перехід з операторної вершини прирівнюється до безумовного, тому в одній точці може сходитися будь-яка кількість безумовних переходів або переходів з операторних вершин і тільки один по істинності ЛУ, що перевіряється. На другому етапі виділимо мікрокоманди заданого формату, користуючись тими ж правилами, що і для автомата з ПА. З врахуванням вищесказаного отримаємо перетворену ГСА (мал. 4.3).
4.3.Формування вмісту керуючої пам'яті.
При формуванні вмісту керуючої пам'яті скористаємося тим же кодуванням наборів мікрооперацій і ЛУ, що і для автоматів з ПА і природною адресацією (табл. 2.3, 2.4). Для адресації мікрокоманд випишемо їх природні послідовності так само, як і для автомата з природною адресацією, враховуючи, що природним вважається тільки перехід по істинності ЛУ.
a1=[O1,O14]
a2=[ O2 ,O19 ,O18 ,O46 ,O6 ,O42 ,O43 ,O44 ,O9 ,O38 ]
a3=[ O3 ,O15 ,O17 ]
a4=[ O4 ,O5 ,O7,O8]
a5=[ O10 ]
a6=[ O11 ,O13]
a7=[ O12]
a8=[ O16,O29,O30,O25,O37,O35,O36]
a9=[ O20 ,O22 ]
a10=[ O21,O23]
a11=[ O26,O32,O33]
a12=[ O27 ,O24 ,O45]
a13=[ O34]
a14=[ O39]
a15=[ O40]
a16=[ O41]
a17=[ O28]
a18=[O31]
Перерахуємо в таблиці адресації (табл. 4.1) підряд всі послідовності a1-a18 і закодуємо їх R-розрядним кодом. R=]log2N[, N-кількість мікрокоманд(N=46, R=6). Закодуємо також оператори Yi, поставивши їм у відповідність п`ятирозрядний код. У таблиці 4.2 відобразимо вміст керуючої пам'яті, заповнивши поля FX, FY, FA.
Таблиця 4.1.
Адресація МК.
мк | А1А2А3А4А5А6 |
O1 | 000000 |
O14 | 000001 |
O2 | 000010 |
O19 | 000011 |
O18 | 000100 |
O46 | 000101 |
O6 | 000110 |
O42 | 000111 |
O43 | 001000 |
O44 | 001001 |
O9 | 001010 |
O38 | 001011 |
O3 | 001100 |
O15 | 001101 |
O17 | 001110 |
O4 | 001111 |
O5 | 010000 |
O7 | 010001 |
O8 | 010010 |
O10 | 010011 |
O11 | 010100 |
O13 | 010101 |
O12 | 010110 |
O16 | 010111 |
O29 | 011000 |
O30 | 011001 |
O25 | 011010 |
O37 | 011011 |
O35 | 011100 |
O36 | 011101 |
O20 | 011110 |
O22 | 011111 |
O21 | 100000 |
O23 | 100001 |
O26 | 100010 |
O32 | 100011 |
O33 | 100100 |
O27 | 100101 |
O24 | 100110 |
O45 | 100111 |
O34 | 101000 |
O39 | 101001 |
O40 | 101010 |
O41 | 101011 |
O28 | 101100 |
O31 | 101101 |
Таблиця 4.2
Вміст керуючої пам`яті.
№ | A | FY | FX | FA |
Оп. | A1A2A3A4A5А6 | T1T2T3T4T5T6 | T7T8T9 | T10T11T12T13T14T15 |
O1 | 000000 | 000000 | 100 | 000010 |
O14 | 000001 | 000000 | 000 | 001101 |
O2 | 000010 | 000000 | 101 | 001100 |
O19 | 000011 | 000000 | 110 | 011110 |
O18 | 000100 | 000000 | 001 | 000111 |
O46 | 000101 | 010000 | 110 | 101101 |
O6 | 000110 | 000010 | 101 | 101100 |
O42 | 000111 | 000111 | 101 | 101010 |
O43 | 001000 | 000000 | 010 | 101011 |
O44 | 001001 | 010001 | 100 | 011010 |
O9 | 001010 | 001000 | 100 | 010100 |
O38 | 001011 | 101010 | 000 | 000000 |
O3 | 001100 | 000000 | 110 | 001111 |
O15 | 001101 | 000001 | 100 | 010111 |
O17 | 001110 | 000000 | 000 | 011010 |
O4 | 001111 | 000000 | 001 | 001101 |
O5 | 010000 | 000000 | 010 | 001010 |
O7 | 010001 | 000110 | 110 | 010011 |
O8 | 010010 | 101100 | 000 | 000000 |
O10 | 010011 | 000111 | 000 | 010110 |
O11 | 010100 | 000000 | 110 | 011010 |
O13 | 010101 | 100111 | 000 | 000000 |
O12 | 010110 | 001001 | 000 | 011010 |
O16 | 010111 | 000000 | 110 | 001010 |
O29 | 011000 | 000110 | 110 | 000111 |
O30 | 011001 | 000000 | 011 | 000110 |
O25 | 011010 | 000100 | 100 | 100010 |
O37 | 011011 | 001010 | 001 | 001011 |
O35 | 011100 | 000000 | 010 | 001010 |
O36 | 011101 | 000001 | 000 | 001001 |
O20 | 011110 | 001101 | 001 | 100000 |
O22 | 011111 | 000101 | 000 | 100110 |
O21 | 100000 | 001110 | 011 | 101001 |
O23 | 100001 | 000000 | 000 | 011010 |
O26 | 100010 | 000000 | 101 | 100101 |
O32 | 100011 | 000000 | 110 | 101000 |
O33 | 100100 | 000000 | 000 | 001010 |
O27 | 100101 | 000000 | 110 | 011000 |
O24 | 100110 | 001111 | 110 | 000101 |
O45 | 100111 | 100011 | 000 | 000000 |
O34 | 101000 | 100000 | 000 | 000000 |
Таблиця 4.2.
(продовження)
O39 | 101001 | 100000 | 000 | 000000 |
O40 | 101010 | 100000 | 000 | 000000 |
O41 | 101011 | 100000 | 000 | 000000 |
O28 | 101100 | 001011 | 000 | 010001 |
O31 | 101101 | 100000 | 000 | 000000 |
4.4.Синтез схеми автомата.
При синтезі схеми скористаємося вже розробленими вузлами для автоматів з ПА і природною адресацією. СФА автомата з КА аналогічна СФА автомата з природною адресацією. Схеми СФМО, РМК аналогічні відповідним вузлам автомата з ПА (розд.2.4), а схема ЛАМК запозичена з автомата з природною адресацією (розд.3.4). Відмінність полягає лише в тому, що для РМК буде потрібно 15 базових елементів. Враховуючи вищесказане, побудуємо схему автомата з комбінованою адресацією мікрокоманд(мал. 4.4).
5. ПОРІВНЯЛЬНА ХАРАКТЕРИСТИКА АВТОМАТІВ.
5.1. Підрахунок апаратурних витрат.
Визначимо апаратурні витрати на кожний з автоматів. Оскільки синтез лічильника не був обов'язковим, то при визначенні апаратурних витрат будемо вважати його єдиним вузлом.
1. У автоматі з примусовою адресацією схема СФА містить 28 логічних елементів, СФМО - 57 ЛЕ, вузол запуску і схема “&" - 4 ЛЕ і, крім того, необхідно 6 елементів-інверторів для отримання сигналів щX1...щX3,щP1...щP3 Також потрібно 27 елементів для РАМК і РМК. Таким чином, сумарне число ЛЕ дорівнює 122. Для побудови РАМК і РМК також буде потрібно 27 тригерів. Кількість ПЗП- 7.
2. У автоматі з природною адресацією схема СФА містить 12 логічних елементів, СФМО - 68 ЛЕ, вузол скидання - 2 ЛЕ і, крім того, необхідно 6 елементів-інверторів для отримання сигналівщX1...щX3,щP1...щP3 і 10 елементів для РМК. Таким чином, сумарне число ЛЕ дорівнює 98. Для побудови РМК також буде потрібно 10 тригерів. Кількість ПЗП- 4. Схема також містить один лічильник.
3. У автоматі з комбінованою адресацією схема СФА містить 10 логічних елементів, СФМО - 57 ЛЕ, вузол запуску і схема “&" - 4 ЛЕ і, крім того, необхідно 6 елементів-інверторів для отримання сигналів щX1...щX3,щP1...щP3 і 15 елементів для РМК. Таким чином, сумарне число ЛЕ дорівнює 92. Для побудови РМК також буде потрібно 15 тригерів. Кількість ПЗУ- 5. Схема також містить один лічильник.
Складемо зведену таблицю витрат на синтезовані автомати.(табл. 5.1.)
Таблиця 5.1.
Апаратурні витрати для синтезованих автоматів.
Тип автомата | Логічні елементи | Тригери | ПЗП | Лічильники |
ПА | 122 | 27 | 7 | 0 |
ПрА | 98 | 10 | 4 | 1 |
КА | 92 | 15 | 5 | 1 |
5.2. Визначення автомата з мінімальними апаратурними витратами.
Заповнимо таблицю, де для кожного автомата знаком “+" відмітимо мінімальні витрати на даний тип елементів, а знаком “-" -немінімальні (табл. 5.2.).
Таблиця 5.2.
Тип автомата | Логічні елементи | Тригери | ПЗП | Лічильники |
ПА | - | - | - | + |
ПрА | - | + | + | - |
КА | + | - | - | - |
Як видно з таблиці 5.2., автомат з природною адресацією виграє по двом параметрам: по кількості тригерів і ПЗП.
Для підтвердження правильності вибору автомата застосуємо також оцінку за Квайном (за сумарною кількістю входів елементів). Будемо вважати кількість входів у ЛЕ - 4, у тригера - 4, у ПЗП -9 і у лічильника - 9. З врахуванням вищенаведених значень, для автомата з ПА показник оцінки складе - 659, для автомата з ПрА - 477, для автомата з КА- 482.
Як видно з приведених оцінок, автомат з примусовою адресацією далеко не оптимальний, а автомати з природною і комбінованою адресацією по витратах практично однакові, але все ж автомат з ПрА має деяку перевагу перед автоматом з КА. Таким чином, результатом проектування буде схема автомата з природною адресацією мікрокоманд.