1. Задание
2. Алгоритм
2.1. Алгоритм умножения
2.2. Алгоритм деления
3. Операционная схема и микропрограмма выполнения операций
4. Функциональная схема операционной части устройства
5. Функциональная схема управляющей части
6. Принципиальная схема управляющей части
7. Таблица микрокоманд
8. Литература
2. Алгоритм операций
2.1. Алгоритм умножения
Eдоп*Fдоп=Gдоп
Перед началом операции в RG1=Fдоп ; RG2=0 ; RG3=Eдоп
Знаки сомножителей участвуют в операции наравне с остальными разрядами, а это значит что Eдоп и Fдоп перемножаются как обычные (m+1) разрядные целые числа без знака. При этом знак Едоп участвует для того чтобы СЧП (сумма частичных произведений) в RG2 формировалась в доп. коде. Знак Fдоп участвует для того чтобы произведение формировалось в двойном формате.
В каждом из (m+1) циклов умножения производятся действия:
1) Eдоп прибавляется к RG2 если P4=1;
1
2) RG2, RG1, Tзн при сдвиге вправо необходимо сохранять представление СЧП в доп. коде, а это значит что слева нужно вводить 0, если число =>0 и 1, если число < 0.>
2.2. Алгоритм деления
Gдоп/Eдоп=Fдоп
а) устанавливаем начальные значения регистров и триггеров
б) сдвигаем делимое на 1 разряд влево
в) анализируем знаки Gi-1 и E. Если одинаковы то вычитаем E из GR2.
Если разные то + E к RG2
г) анализируем знаки Gi и E, если одинаковые то цифра частного =1
д) анализируем ТФ, если ТФ=1 выполняем проверку на ПРС 2-го этапа
е) уменьшаем значение счетчика циклов
ж) если счетчик не = 0 то переходим на пункт б)
з) передаем частное в RG1
и) корректируем частное
к) выдаем частное на выходную шину
3. Операционная схема и микропрограмма выполнения
операций
В соответствии с алгоритмом строим ОС (рис. 1), определяем требуемый набор МО и граф МП (рис. 2), считая что в RG3 выполняется однотактным способом (по входам D триггеров RG2) по сигналу у4; в RG1 - двухтактным способом (по входам R и S) по сигналам у6 и у7.
В ОС на Рис. 1 использованы следующие обозначения:
Тпп - триггер переполнения
Тпер - триггер переноса
Тзн1 - триггер знака множимого, флаговый триггер при делении
Тзн2 - триггер знака Gi-1
Тзн3 - триггер знака делимого
Х(8:0) - входная шина
Z(8:0) - выходная шина
В МП на Рис. 2 введены 15 осведомительных сигнала:
Р1 = RG3(8) Р10 = Р1 ??Р3
Р2 = ? Р11 = Р3 ? Р1
Р3 = RG2(8) P12 = P6 ??Р5
Р9 = RG2(7) ??RG2(6) P13 = P1 Tзн2 v P1 Tзн2
P4 = 1 (CT=0) P14 = Tпер
Р5 = RG1(0) Р15 = Тзн1
Р6 = Р1 Tзн2 v Tзн2 Р1
Р7 = 1 (RG2(8:0)=0)
Р8 = Тзн3
? - внешний сигнал определяющий вид операции
( 0 - умножение ; 1 - деление )
а также 17 импульсных управляющих сигналов:
у1: { RG2=RG2(8:0).RG1(8); у10: Тпп=1
RG1=RG1(7:0).0 } у11: RG2=RG1
y2: RG2=RG2+RG3+1 y12: RG2=RG2+1
y3: RG2=RG2+RG3 y13: Z=RG2
y4: RG3=X y14: { RG1=RG2(0).RG1(8:1);
y5: { RG2=X ; Tзн1=1 } Tзн1=RG1(0) }
y6: { RG1=X; Tзн3=P3; Tпп=0; y15: RG2=0.RG2(8:1)
СТ=9; Тпер=0; } y16: RG2=1.RG2(8:1)
y7: RG1(0)=1 y17: RG2=0
y8: Тзн1=0
у9: СТ=СТ-1
Z(8:0)
у13 Р15
Р5
зн RG1 1 1 Тзн1
8 7 0
у6 у1 у14 у7
Р2
Р3 у18
Тзн2 зн 1 1
8 7 6 RG2 0
у16 у5 у1 у15,у16
Р14
Тпер зн KSM у2, у12
8 7 0
P1 у3 у2
зн
8 7 RG3 0
у4
Х(8:0)
Р4 ПРС Р8
СТ Тпп Тзн3
Рис. 1.
начало
2
?
0 1 5
y6 6
y17 1 9
0
0 2 11 3
P5
1 1 10
y3 7
0 0 15 0
P3 P14 1
1 1 1 12
0 8
P1 9
1 0 4
y16, y14, y9 y15, y14, y9 3
1
3 1 1 2
0
P4 7 0
1 8
0 1
P15 2 1 3
1
y2 13
11
8 1 13
y13 1
0 1
12
y11
0 8
0
0 3
1
10
у13
конец
Рис. 2.
4. Функциональная схема операционной части
устройства
На Рис. 3. представлена функциональная схема операционной части (ОЧ) на регистрах и мультиплексорах. В схему из УЧ подаются 15 импульсных управляющих сигналов с длительностью, равной 50 нс, причем часть управляющих сигналов ( у2, у3, у12 ) подаются на входы синхронизации регистров и одновременно участвуют в формировании сигналов на информационных входах триггеров с помощью различных комбинационных схем. Следовательно, во-первых, если время задержки упомянутых комбинационных схем превышает значение 50 нс, то схемой пользоваться нельзя, так как к моменту переключения триггеров сигналы на их информационных входах не успеют сформироваться. Например, сигнал у3 должен иметь длительность, достаточную для того, чтобы успели сработать элементы 2,3 и4 ступеней схемы, иначе в момент окончания у4 в RG2 зафиксируется неправильный результат. Таким образом, в данной схеме длительность сигналов МО должна определяться по времени выполнения самой длительной МО, которое при заданной элементной базе превышает заданное значение.
Во-вторых, так как сигналы на входах “С” и “D” триггеров RG2 при выполнении у2, у3 и у12 оканчиваются одновременно (без учета задержек сигналов в комбинационных схемах), то триггеры могут не переключиться требуемым образом из-за возможной “игры фронтов” на входах “С” и “D”.
Для решения указанных проблем с целью повышения быстродействия и надежности схемы разобьем все МО на 2 группы.
В первую группу выделим МО у2, у3 и у12, связанные не только с переключением триггеров по входам синхронизации, но и с формированием сигналов на информационных входах этих триггеров.
Во вторую все остальные МО, для выполнения которых достаточны импульсные управляющие сигналы с длительностью равной 50 нс. Как правило, в эту группу входят действия, связанные с переключением триггеров по асинхронным входам, либо по входам синхронизации, если сигналы на информационных входах триггеров при этом не меняются.
Для выполнения МО 1-ой группы необходимы дополнительные потенциальные управляющие сигналы (сигналы с длительностью, не меньшей такта Т), называемые микроприказами. Тогда импульсные управляющие сигналы подаются лишь на входы синхронизации триггеров, а формирование сигналов на информационных входах этих триггеров осуществляется с помощью микроприказов, которые должны поступать в схему ранее и заканчиваться позднее сигналов на входах синхронизации триггеров.
В управляющей части с программируемой логикой микроприказы формируются с помощью разрядов операционного поля микрокоманы, считываемой из управляющей памяти. Обозначим эти разряды и соответствующие им микроприказы через МК(j), где j = 0, 1, 2,...
Если использовать три микроприказа, то схема Рис.3. преобразуется к виду, представленному на Рис.4 (без цепей записи со входной шины, без триггеров Тпп, Тзн3, счетчика циклов и цепи выдачи на выходную шину). Здесь: во-первых, отсутствует триггер переноса, так как при использовании микроприказов сигнал переноса на выходе KSM становится потенциальным, и необходимость в его запоминании отпадает.
Во-вторых, сигналы у15, у16, у5 поступающие на один и тот же вход сдвига вправо RG2, заменен одним сигналом у5.
С целью упрощения ОЧ устройства заменим 2, 3 ступени схемы на Рис. 4. арифметико-логическим устройством (АЛУ). Тогда количество микроприказов увеличится до 5.
Функциональная схема ОЧ устройства, в которой применяется АЛУ, представлена на Рис. 5. Здесь АЛУ используется для выполнения трех действий, определяемых таблицей 1.
Таблица 1.
S3 S2 S1 S0 F`
0 0 0 0 A` + C0
0 0 0 1 A` + B` + C0
0 1 1 0 A` - B` - C0
В таблице А` и B` - значения операндов, поступающих в АЛУ, F` - значение результата, формируемого на входах АЛУ; С0 - значение сигнала на входе переноса младшего разряда АЛУ.
В соответствии с таблицей 1 в схеме Рис 5. использованы пять микроприказов: МК(0) - S0, MK(1) - S1, MK (2) - S2, MK(3) - C0, MK(4) - вход данных вдвигаемых при сдвиге вправо на RG2.
Работа схемы определяется МП, представленной на Рис. 6. Список используемых импульсных сигналов:
у1: {
y2: С RG2=/ y12: Z=RG2
y3: { >RG2=/ ; >RG1=/ }
y4: RG3=X
y5: RG2=RG1;
y6: { RG1=X; Tзн3=P3; Tпп=0;
Тзн1=1; СТ=9; }
y7: RG1(0)=1
y8: Тзн1=0
у9: СТ=СТ-1
9
X(8 : 0)
RG3 MS KSM 0 MS D RG2 D RG1
D 0 1 < > 0 < > 0
2 D< 1 D< 1 >
1 3 y16 D> D>
y17 R 8 y7 S0 8
A C y6 C
A0 > y14 >
y4 C C П9 y5 A1 y1 < y1 < >
1
y5
y3 1 D Tпер у15 D Tзн2 D Tзн1
y2 C Р14 у16 1 Р2
у6 R у5 у1 С у14 С
1
y12
1
y11 y13 E
0 ST
1 1 P4 1
2 P7
3 y6 R Тпп ПРС P3 D Tзн3 P8...
y6 ЕI
y9 -1 y10 S y6 С
Рис. 3.
МК(2)
RG3 MS KSM 0 MS D RG2 D RG1
D 0 1 < > 0 < > 0
2 D< 1 D< 1 >
1 3 МК(3) D> D>
y17 R 8 y7 S0 8
A У2 C y6 C
A0 У5 > y5 >
y4 C C П9 y5 A1 y1 < y1 < >
Р14
МК(0)
D Tзн2 D Tзн1
МК(1) 1 Р2
у1 С у5 С
у5
Рис. 4.
RG3 S3 АЛУ 0 MS D RG2 D RG1
D MK(2) S2 F 1 < > 0 < > 0
MK(1) S1 2 D< 1 D< 1 >
MK(0) S0 3 МК(4) D> D>
A` P14 y11 R 8 y7 S0 8
B` C9 У2 C y6 C
MK(3) C0 A0 У3 > y3 >
y4 C M y3 A1 y1 < y1 < >
y5 1
y3
D Tзн2 D Tзн1
Р2
у1 С у3 С
1 D T
y3
y1 1 C
Рис. 5.
5. Функциональная схема управляющей части
Функциональная схема УЧ устройства представлена на Рис. 8 и включает следующие основные части: триггер запуска (Тзап), управляющую память (УП), регистр адреса МК (RGAMK), схему формирования управляющих сигналов МО у1 - у12, основу которой составляет дешифратор МК (DCMK), мультиплексор логических условий (MS) и триггер ошибки (Тош), который устанавливается в 1 при обнаружении ошибки в МК, считываемой из УП.
Исходя из количества вершин в графе МП на Рис. 6 и ее сложности, определим ориентировочно количество ячеек в УП, равным 3 сегментам по 16 ячеек в каждом. Формат МК, записываемой в ячейке УП, приведен на Рис. 7.
MK Y XvSнов A` B
0 1 2 3 4 Q1 Q2 Q3 Q4 W P к.р
Рис. 7
Здесь старшие 9 разрядов образуют операционное поле МК. В первых 5 разрядах кодируются горизонтальным способом микроприказы МК(0 - 4),
начало
4
?
0 1 2
y6 6
y11 1 9
0
0 МК(1,2),2 11 МК(0),2
P5
1 1 10
МК(0),у2 7
0 0 15 0
P3 P14 1
1 1 1 12
0 8
P1 9
1 0 4
МК(4), y3, y9 y3, y9 3
1
МК(0),2 1 МК(1,2),2
0
P4 7 0
1 8
0 1
P15 МК(1,2),2 1 МК(0),2
1
МК(1,2), у2 12
5,2
8 1 13
y12 1
0 1
МК(3),2
у2, у5
0 8
1
0 1
1
0 3
1
у12 10
конец
Рис. 6.
в следующих 4-х разрядах ( Q1, Q2, Q3, Q4) кодируются вертикальным способом МО. В них фиксируется номер совокупности импульсных управляющих сигналов МО, входящих в данную МК. В МП на Рис. 6 входят 12 таких совокупностей сигналов. Обозначим их как: Y1=y2, Y2=y6, Y3=y1, Y4=y7, Y5=y8, Y6=y9, Y7={y5, y2}, Y8=y10, Y9=y12, Y10=y4, Y11=y11, Y12={y3, y9}.
Адресное поле МК включает 4-х разрядное поле Х, в котором фиксируется номер логического условия Рi (i=1-15), и 4-х значное поле адреса МК А=А`В где В - младший разряд адреса.
При формировании адреса следующей МК значение проверяемого условия Рi подставляется в младший разряд адреса А.
Также есть разряд W по которому производится останов МП, и разряд межсегментного перехода Р, при единичном значении которого производится межсегментный переход, адрес нового сегмента берется в поле Х.
Последний разряд в МК является контрольным разрядом проверки на четность.
В целом схема на Рис. 8 работает следующим образом. По сигналу “Запуск” в RGAMK фиксируется начальный адрес = 0. При этом на выходах УП с задержкой, равной времени чтения информации из УП, формируются разряды МК, записанной по данному адресу.
Одновременно по сигналу “Запуск” Тзап устанавливается в 1, и в схему УЧ начинают циклически поступать сигналы z1, z2. По сигналу z1 в ОЧ поступают импульсные управляющие сигналы, по z2 в регистр RGAMK записывается адрес следующей ячейки памяти.
6. Принципиальная схема управляющей части
Принципиальная схема построена на основе общей шины в которую вводятся все входные и выходные сигналы.
Триггеры Тзап, Тош и Т реализованы на микросхеме ТВ9, RGAMK и GRSEG на микросхемах ТМ8, MS - на КП1, схема М2 на 2-х элементах ИП5 и микросхеме ЛП5, схема формирования импульсных сигналов на дешифраторе ИД3, УП - на пяти элементах ПЗУ РТ4.
ош ошибка 0 RG
С & S Тош 1 SEG 0 к.р. ___
Р 1 М2 ОШ
R & C
R ОШ
A УП...
запуск 0 RG 0
1 J Tзап 1 AMK 1
С C А`` 2 2
остан K 3 3
сброс C
R
R
В
0 MS & 1
Р1 1
R Z2 A``...
T & Р15 15 &
D
A
& C &
C Z1 Р
остан
0 0 у1
___ 2 DC 1 схема у2
ОШ 4 MK... формир....
8 у1 - у12
MK(4) 15 у12
MK(3)
MK(2) C
MK(1)
MK(0)
Рис. 8.
7. Таблица микрокоманд
адрес ячейки МК Q WP XvS A` B Примеч МК ЛУ
00 0000 00000 1010 00 0010 0010 у4 Р2
0001 00000 0000 00 1111 1100 Р15
0010 00000 0010 00 0000 0100 у6
0011 00000 0001 00 0000 1111 у2
0100 00000 1010 00 0101 0110 у11 Р5
0101 00000 0111 00 0000 1110 у2, у5
0110 00000 0000 00 0011 1000 Р3
0111 10000 0001 00 0011 1000 МК(0), у2 Р3
1000 00000 0000 00 1110 1010 Р14
1001 00000 0000 00 0001 1010 Р1
1010 00000 1100 00 0100 0000 у3, у9 Р4
1011 00001 1100 00 0100 0000 МК(4),у3,у9 Р4
1100 00000 1001 00 0000 0101 у12
1101 01100 0001 00 0000 1100 МК(1,2), у2
1110 00000 1001 10 0000 0000 у12 останов
1111 00000 0010 01 0001 0000 у6 межс.БП
01 0000 00000 0000 00 1001 0010 Р9
0001
0010 00000 0011 00 1011 0100 у1 Р11
0011 00000 1000 10 0000 0000 у10 останов
0100 01100 0001 00 1010 0110 МК(1,2), у2 Р10
0101 10000 0001 00 1010 0110 МК(0), у2 Р10
0110 00000 0100 00 0111 1000 у7 Р15
0111 00000 0000 00 0111 1000 Р15
1000 00000 0110 00 0100 1010 у9 Р4
1001 00000 0000 00 1100 1100 Р12
1010 00000 0000 00 0000 0010 БП
1011 00000 0000 00 0011 1100 P3
1100 00000 1001 01 0010 0001 y12 межс.БП
1101 00000 0000 00 0001 1110 P1
1110 10000 0001 01 0010 0000 МК(0),у2 межс.БП
1111 01100 0001 01 0010 0000 МК(1,2),у2 межс.БП
10 0000 00000 0000 00 0111 0010 Р7
0001 00000 0111 00 1000 1000 у5, у2 Р8
0010 00000 0000 00 1000 0100 Р8
0011 00000 01 0001 1100 у межс.БП
0100 00000 0000 01 0001 1100 межс.БП
0101 00000 0000 00 0001 0110 Р1
0110 01100 0001 01 0001 1100 МК(1,2),у2 межс.БП
0111 10000 0001 01 0001 1100 МК(0),у2 межс.БП
1000 00000 0000 00 0001 1010 Р1
1001 00000 0000 00 1101 1010 Р13
1010 00000 0000 00 1000 1100 Р8
1011 00010 0001 00 1000 1100 МК(3), у2 Р8
1100 00000 1001 10 0000 0000 у12 останов
1101 00000 0000 00 0001 1110 Р1
1110 00000 1001 10 0000 0000 у12 останов
1111 00000 0000 01 0011 0000 межс.БП
11 0000 00000 0000 00 0011 0010 Р3
0001
0010 00000 1001 10 0000 0000 у12 останов
0011 00000 1000 10 0000 0000 у10 останов
Литература
1. Курс лекций по предмету “Процессоры”
2. Карцев М.А. Арифметика цифровых машин. М. “Наука” 1969
3. Шило В.Л. Популярные цифровые микросхемы. М. “Радио и связь”
Спецификация
№ Обозначение Кол. Адрес
1 К155ЛИ4 1 DD1
2 К155ЛИ6 1 DD2
3 К155ЛЛ1 1 DD3
4 К155ТВ9 2 DD4, DD5
5 К155ТМ8 2 DD6, DD7
6 К556РТ4 5 DD8 - DD12
7 К155ИП5 2 DD13, DD14
8 К155ЛП5 1 DD15
9 К155КП1 1 DD16
10 К155ЛИ1 1 DD17
11 К155ИД3 1 DD18
12 К155ЛН1 2 DD19, DD20
13