YA={y18};
YB={y1,y12, y22, y23};
YC={ y2, y3, y5, y6, y7, y9, y11, y13, y15, y16, y17, y19, y20, y24, y25, y26, y27, y28};
YСЧ={ y10, y14, y21};
YПП={y4};
YZ={y8};
На полученных множествах выделяем классы эквивалентных микроопераций Knj.
KA,1={y18};
KB,1={y1}; KB,2={y12}; KB,3={y22}; KB,4={y23};
KC,1={y2, y3, y6, y11, y15, y19};KC,2={ y5, y7, y16};KC,3={y9}; KC,4={y24}; KC,5={y25}; KC,6={y26}; KC,7={y27}; KC,8={y28}; KC,9={y13}; KC,10={y17}; KC,11={y20}
KСЧ,1={y10}; KСЧ,2={y14}; KСЧ,3={y21}
KПП,1={y4};
KZ,1={y8}
Для KС1 составляем обобщенный оператор:
С:=А2+А1
где, и
Соответственно и для этого класса строим обобщенный оператор ( в принципе присваивание как таковое можно и не выделять в отдельный класс, но тут изменяется только один бит регистра С, следовательно мы можем мультиплексировать операции работающие непосредственно с этим битом):
C(0):=B1
Схема синтезированного автомата представлена на рисунке Приложения 2.
С учетом кодирования, можно перерисовать выше приведенные алгоритмы операций в объединеную блок-схему. Объединенная и закодированая ГСА приведена на рисунке 7.
Рисунок 7
Функциональная схема АЛУ представлена на чертеже КП.062.020.1999.Ф1.
4. 4 Форматы микрокоманд
Разобъем множество микроопераций Y, приведенных на рисунке 7, на три непересекающихся подмножества Y1, Y2, Y3.
Множество логических условий X, состоит из десяти элементов:
Исходя из результатов разбиений, можно сделать вывод о том, что кодирование микроопераций нужно выполнить пятиразрядным кодом, а кодирование логических условий четырехразрядным. Результаты кодирования приведены в таблице . Форматы микрокоманд на рисунке 8.
Y1 | Y2 | Y3 | X | ||
00000 | yk | # | # | 0000 | # |
00001 | y1 | # | # | 0001 | x1 |
00010 | y2 | # | # | 0010 | x2 |
00011 | y3 | # | # | 0011 | x3 |
00100 | y4 | # | # | 0100 | x4 |
00101 | y5 | # | # | 0101 | x5 |
00110 | y6 | # | # | 0110 | x6 |
00111 | y7 | # | # | 0111 | x7 |
01000 | y8 | # | # | 1000 | x8 |
01001 | y9 | # | # | 1001 | x9 |
01010 | # | y10 | # | 1010 | x10 |
01011 | y11 | # | # | 1011 | x11 |
01100 | y12 | # | # | 1100 | # |
01101 | # | y13 | # | 1101 | # |
01110 | # | # | y14 | 1110 | # |
01111 | y15 | # | # | 1111 | 1 |
10000 | y16 | # | # | ||
10001 | y17 | # | # | ||
10010 | y18 | # | # | ||
10011 | y19 | # | # | ||
10100 | y20 | # | # | ||
10101 | # | y21 | # | ||
10110 | # | # | y22 | ||
10111 | # | y23 | # | ||
11000 | y24 | # | # | ||
11001 | y25 | # | # |
Рисунок 8
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | ||
0 | Y1 | Y2 | Y3 | ||||||||||||||
1 | X | Адрес | ´ | ´ | ´ | ´ | ´ | ´ | ´ |
Таким образом, регистр микрокоманд выбираем разрядностью в два байта. Емкость ПЗУ МК составит 128 байт. На рисунке 9 приведена структура управляющего автомата с программируемой логикой.
4. 5 Кодирование ПЗУ МК
Приведем пример кодирования ПЗУ МК для операции сложения. Естественной адресацией МК будем считать выполнение МП по истиной ветви алгоритма (т.е. там, где значение логического условия равно 1). На рисунке 10 приведена ГСА операции умножения. В таблице приведен фрагмент кода ПЗУ МК для операции сложения.
Рисунок 10
Адрес | Биты МК |
0001 | 0010010101011111 |
0010 | 1011001000000000 |
0011 | 0010111111111111 |
0100 | 0011000110101110 |
0101 | 1011100100000000 |
0110 | 1100010000000000 |
0111 | 0011111111111111 |
1000 | 1100110100000000 |
1001 | 0100001111111111 |
1010 | 1010111000000000 |
1011 | 0010001111111111 |
1100 | 0000001111111111 |
1. Баранов С.И. Синтез микропрограммных автоматов Л. Энергия, Ленингр. отд-ние,1974г–216с,.
2. Колосков В.А. Проектирование вычислительного устройства: методические указания к
курсовому проекту / КГТУ 1996г.
3. Майоров С.А., Новиков Г.И. Структура электронных вычислительных машин. – Л. Машиностроение. Ленингр. отд-ние, 1979. – 384 с.
6. Приложение