2.СИНТЕЗ АВТОМАТА З ПРИМУСОВОЮ АДРЕСАЦІЄЮ МІКРОКОМАНД.
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 y-0 .... 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