Смекни!
smekni.com

Синтез микропрограммного управляющего автомата (стр. 2 из 7)

3.4.2 Перемножим модули сомножителей:

Таблица 4

Множитель Множитель Сумматор Пояснения
0,0011 0,0111

0,00000000

0,00110000

0,00110000

Сложение
0,00011000 Сдвиг
0,0011

0,00011000

0,00110000

0,01001000

Сложение
0,00100100 Сдвиг
0,0001

0,00100100

0,00110000

0,01010100

Сложение
0,00101010 Сдвиг
0,0000 0,00010101 Сдвиг

Получили псевдопроизведение: 0,00010101

3.4.3 Произведём коррекцию (прибавим к псевдопроизведению Bпк, а затем Aпк):

0,00010101

Впк= 0,11010000

0,11100101

Aпк= 0,10010000

0,01110101

3.4.4 Присвоение произведению знака:

(A*B)дк=0,01110101

(A*B)пк=0,01110101

A*B = (-9)*(-13) = 117 = -11101012


4Выбор и описание структурной схемы операционного автомата(ОА)

ОА должен содержать:

- регистры RG1, RG2 для приема мантисс операндов с ШИВх;

- регистр RG3 и счетчик CT1 для приема характеристик с ШИВх;

- регистр RG4 для записи и хранения результата и частных сумм;

- комбинационные сумматоры SM;

- счетчик CT2 для подсчета тактов умножения;

- три сумматора по модулю 2 для получения обратного кода множимого и определения ПРС;

- триггер T1 для хранения знака результата;

- схему конъюнкции;

- триггер T2 для фиксации ПРС;

- усилитель-формирователь для выдачи результата на ШИВых.

Операнды поступают в операционный автомат по 32-разрядной шинеШИВх. Перед началом умножения необходимо обнулить регистр частных сумм RG4, так как именно с него поступает информация на плечо A в SM, в счетчик CT2 необходимо занести “001001”, а триггер T1 сбросить. Операнды поступают в дополнительном коде. Сначала мантисса множителя записывается в RG1 и RG2, а его характеристика в RG3 и CT1. Мантисса первого операнда преобразуется в ДК с помощью схемы сложения по модулю 2 и сумматора и заносится в RG4. Затем записываются мантисса и характеристика множимого в RG2 и CT1 соответственно. После анализа знаков операндов произведем коррекцию, если это необходимо. Если знаковый разряд множимого (p2) равен 0, то обнуляем RG4. Если знаковый разряд множителя (p1)равен 1, то в RG4 заносим информацию с плеча S сумматора. После проведения коррекции начинается процесс получения псевдопроизведения. В процессе умножения происходят сдвиги регистров RG1 и RG4, а также увеличение счетчика CT2. Кроме того производится анализ младшего разряда RG1 (p4). Если он равен 1 тогда в RG4 заносим информацию с плеча S сумматора.Получение псевдопроизведения происходит до тех пор пока 5-й разряд в счетчике CT2 не окажется равным “1”. Далее производится анализ старшего разряда мантиссы результата. Если он равен “0” – требуется нормализация. Нормализация осуществляется путем сдвига RG4 влево и уменьшеня счетчика CT1. Характеристика произведения получается обычным сложением характеристик операндов, причем старший разряд характеристики у множителя подается инверсным на плечо сумматора A. Перед выдачей результата на ШИВых содержимое RG3, T1и информация с плеча S сумматора SM2 подается на усилитель-формирователь.

Таким образом, для выполнения операции умножения из управляющего автомата в операционный автомат необходимо подать управляющие сигналы, реализующие следующие микрооперации:

y1 - запись в RG1,

запись в RG3,

сброс T1,

занесение “001001” в CT2;

y2 - запись в RG2,

запись в CT1,

разрешить запись в T1;

y3 - обнуление RG4;

y4 - запись в RG4;

y5 - CT2:=CT2+1,

сдвинуть вправо RG1:=0.R1(RG1),

сдвинуть вправо RG4:=0.R1(RG4);

y6 - SMp=1 – подача “1” на вход переноса сумматора,

управление совокупностью схем сложения по модулю 2;

y7 - CT1:=CT1-1,

сдвиг влево RG4:=L1(RG4).0;

y8 - управление выдачей на ШИВых;

Из операционного автомата в управляющий автомат необходимо передать осведомительные сигналы о состоянии устройств операционного автомата, определяемые списком следующих логических условий.

Х - проверка наличия операндов на ШИВх,

p1- знак операнда в RG1;

p2- знак операнда в RG2;

p3 - проверка на наличие нулевого операнда в RG2;

p4 - проверка очередной цифры множителя;

p5 - проверкаусловия выхода из цикла;

p6 - проверка результата на нормализованность;

p7 - проверка условия ПРС;

Z - проверка возможности выдачи по ШИВых.

Таким образом, управляющий МПА должен вырабатывать 8 управляющих сигналов и посылать их в ОА в нужные такты машинного времени в соответствии с алгоритмом выполнения операции сложения, ориентируясь на 9 осведомительных сигналов, поступающих из ОА, структурная схема которой представлена на рисунке 1.


5 Реализация содержательной ГСА

Содержательнаяграф-схема алгоритма представлена на рисунке 2. Выполнение алгоритма начинается с проверки наличия операндов на ШИВх (блоки 1 и 5). При поступлении первого операнда происходит его занесение в RG1, RG2, RG3 и CT1, а также обнуление RG4, занесение “001001” в CT2 и сброс триггеров T1 и T2 (блок 2). Затем в регистр RG4 поступает ДК от первого операнда (блок 4). При поступлении второго операнда происходит его занесение в RG2 и CT1 (блок 6). После каждого занесения производится анализ p3. Если хотя бы в одном случае p3=1 (блоки 3 и 7), значит операнд равен нулю и значит необходимо обнулить RG4, RG3, CT1, T1 (блок 19) и перейти к блоку 20. В противном случае продолжается процесс коррекции. Если p2=0 (блок 8) тогда обнуляется регистр RG4 (блок 9). Если p1=1 (блок 10)тогда получившаяся в сумматоре SM1 сумма заносится в RG4 (блок 11).

Далее получается псевдопроизведение. Если p4=0 (блок 12), тогда получившаяся в сумматоре SM1 сумма заносится в RG4 (блок 13). В любом случае выполняется блок сдвигов (блок 14): содержимое RG1и RG4 сдвигаются вправо, CT2 увеличивается на “1“. Далее проверяется p5(блок 15) - условие выхода из цикла. Если p5=1, цикл завершается, иначе переход к блоку 12.

Затем производится нормализация. Если p6=0 (блок 16), то выполняется блок сдвигов (блок 18): содержимое RG4 сдвигается влево, CT2 уменьшается на “1“.

При сложении характеристик одинакового знака возможно переполнение разрядной сетки (ПРС). Если p7=1 (блок 17), возникло ПРС и операция умножения завершается.

Затем результат при Z=1 (блок 21) будет передан по ШИВых (блок 22) в другие устройства.


6 Построение отмеченной ГСА

Перед разметкой содержательной ГСА поставим возле каждой операторной вершины управляющие сигналы УА и обеспечивающие выполнение требуемых действий в соответствии со списком МО операционного автомата. Совокупность МО для каждой операторной вершины образуют микрокоманды (МК), список которых приведен в таблице 5.

Таблица 5

MK Совокупность МО
Y1 y1,y2,y3
Y2 y2
Y3 y3
Y4 y4
Y5 y5
Y6 y4,y6
Y7 y7
Y8 y8
Y9 y1,y3

Каждой условной вершине содержательной ГСА поставим в соответствие один из входных сигналов управляющего автомата X1, … ,X9, список которых дан в таблице 6.

Таблица 6

Входной сигнал УА X1 X2 X3 X4 X5 X6 X7 X8 X9
Логическое условие ОА X p3 p2 p1 p4 p5 p6 p7 Z

Далее в полном соответствии с содержательной ГСА строим отмеченную ГСА (рисунок 3), условным вершинам которой приписывается один из входных сигналов УА(x1,...,x9), а операторным вершинам - одна из МК (в скобках указанасовокупностьМО для каждой МК). Выделение состояний управляющего МПА возможно в соответствии с моделью Мили или моделью Мура.

На рисунке 3 приведена разметка ГСА для модели Мили символами a01,...,а9 и для модели Мура - символами b0,b1,...,b12. Таким образам, если строить управляющий МПА в соответствии с моделью Мили, то он будет иметь 10 состояний, а в соответствии с моделью Мура - 13 состояний.

Замечание. В двух вершинах ожидания (5 и 20) при разметке по Муру введены фиктивные состояния автомата b3 и b10.

Явно большее число состояний для модели Мура по сравнению с моделью Мили не дает достаточных оснований для выбора модели Мили как более предпочтительной. Сравнение вариантов можно будет выполним лишь на этапе построения функциональных схем УА, сравнив схемы по сложности и быстродействию. Поэтому далее будем вести проектирование УА параллельно для модели Мили и для модели Мура.


7 Синтез МПА в соответствии с моделью Мили

7.1 Построение графа автомата

На основе отмеченной ГСА построен граф автомата Мили (рисунок 4). Граф автомата Мили имеет 10 вершин, соответствующих состояниям автомата а0, а1,...,а9, дуги его отмечены входными сигналами, действующими на каждом переходе (числитель), и набором выходных сигналов, вырабатываемых УА на данном переходе (знаменатель).

Из приведенного рисунка видно, что с увеличением количества состояний автомата наглядность графа теряется и больше удобств представляет табличный способ задания автомата.

7.2 Построение структурной таблицы переходов и выходов

Таблица 7. Прямая структурная таблица переходов и выходов автомата Мили.

Исходное состояние

Код am

Состояние перехода as

Код as

Входной сигнал X(am,as) Выходные сигналы Y(am,as)

Функции

возбуждения

D-триггеров

a0 0001

a0

a1

0001

0011

X1

X1

-

Y1(y1,y2,y3)

D4

D3D4

a1 0011

a2

a9

0010

0000

X2

X2

Y6(y4,y6)

Y9(y1,y3)

D3
a2 0010

a2

a3

0010

0110

X1

X1

-

Y2(y2)

D3

D2D3

a3 0110

a4

a4

a9

1100

1100

0000

X2X3

X2X3

X2

-

Y3(y3)

Y9(y1,y3)

D1D2

D1D2

a4 1100

a5

a5

0100

0100

X4

X4

-

Y6(y4,y6)

D2

D2

a5 0100

a6

a6

0101

0101

X5

X5

-

Y4(y4)

D2D4

D2D4

a6 0101 a7 1001 1 Y5(y5) D1D4
a7 1001

a5

a8

0100

1000

X6

X6

-

-

D2

D1

a8 1000

a0

a8

a9

0001

1000

0000

X7X8

X7

X7X8

-

Y7(y7)

-

D4

D1

a9 0000

a0

a9

0001

0000

X9

X9

-

Y8(y8)

D4

7.3 Кодирование на D-триггерах