2.1. Принцип роботи автомата.
При примусовій адресації адреса наступної мікрокоманди задається в полі поточної мікрокоманди. Формат МК в такому випадку слідуючий (мал. 2.1.).
1 Y m 1 X l 1 A0k1 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 |
... булевої алгебри. Аналітичний спосіб задання булевих функцій займає особливе місце в проектуванні цифрових машин. Фактично, всі перетворення над булевими ф-ціями, необхідні для побудови цифрових машин, ведуться на аналітичному рівні. Розглянемо області визначення булевоі ф-ції. Як уже відмічалось, між двійковими наборами і двійковими числами існує взаємнооднозначна відповідність. Отже, існує 2n рі ...
... определенным называется абстрактный цифровой автомат, у которого функция переходов или функция выходов, или обе эти функции определены для всех пар переходов (xi,aj). Частичным называется абстрактный цифровой автомат, у которого функция переходов или функция выходов, или обе эти функции определены не для всех пар переходов (xi,aj). Абстрактный цифровой автомат называется инициальным, если на ...
... a24(Y8) 10100 X5X6 X1D1 D1 D3 D3 R S a21 a25(Y3) 11001 X5X6 D1 D2 D5 T 2.2.3. Кодування станів Кодування станів буде проводитися за таким алгоритмом: 1. Кожному стану автомата аm (m = 1,2,...,M) ставиться у відповідність ціле число Nm, рівне числу переходів у стан аm (Nm дорівнює числу появ аm у поле таблиці ). 2. Числа N1, N2, ..., ...
... состоянии am. Рассмотренные выше абстрактные автоматы можно разделить на: 1) полностью определенные и частичные; 2) детерминированные и вероятностные; 3) синхронные и асинхронные; Полностью определенным называется абстрактный цифровой автомат, у которого функция переходов и функция выходов определены для всех пар ( ai, zj). Частичным называется абстрактный автомат, у которого функция ...
0 комментариев