Программируемый сопроцессор
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных комплексах, например в терминальных системах управления гибких производственных систем либо в системах числового программного управления станками и роботами. Цель изобретения - повышение производительности за счет аппаратно-табличного выполнения операций и динамического микропрограммирования . Программируемый сопроцессор содержит операционный блок, блок памяти, блок адресации, интерфейсный блок, блок управления, блок коммутации, регистр адреса. 22 ил , 4 табл.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (st>s G 06 F 9/00, 15/00
ГОСУДА1 СТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4611074/24 (22) 05.11.88 (46) 07.09.91. Бюл,¹33 (71) Ленинградский политехнический институт (72) Е,В.Горячев, С,В.Горячев, Д.Л.Евланников и В.Ф.Мелехин (53) 681.325 (088.8) (56) Клингман Э. Проектирование специали- зированных микропроцессорных систем.—
М,: Мир, 1985, с. 363.
Авторское свидетельство СССР
М 1108446, кл, G 06 F9/00,,1984. (54) ПРОГРАММИРУЕМЫЙ СОПРОЦЕССОР
Изобретение относится к вычислитель-. ной технике и может быть использовано в управляющих вычислительных комплексах, например, в терминальных системах управления (ТСУ) гибких производственных систем (ГПС) либо в системах числового программного управления станками и роботами, Цель изобретения — повышение производительности за счет аппаратно-табличного выполнения операций и динамического микропрограммирования.
На фиг.1 изображена структурная схема гибкого сопроцессора с аппаратно-табличным выполнением операций; на фиг.2— структурная схема операционного блока; на фиг.3 — структурная схема 16-разрядной секции операционного блока; на фиг.4 — структурная схема блока адресации; на фиг.5 — структурная схема блока управления; на фиг,б — функциональная схема сумматора секции операционного блока; на фиг.7 — пример реализации мультиплексора. Ж 1675880 А1 (57) Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных комплексах, например в терминальных системах управления гибких производственных систем либо в системах числового программного управления станками и роботами. Цель изобретения — повышение производительности за счет аппаратно-табличного выполнения операций и динамического микропрограммирования. Программируемый сопроцессор содержит операционный блок. блок памяти, блок адресации, интерфейсный блок, блок управления, блок коммутации, регистр адреса. 22 ил., 4 табл, связи; на фиг.8 — структурная схема блока памяти; на фиг,9 — функциональная схема
16-разрядной секции блока памяти; на фиг.10 — структурная схема блока коммутации; на фиг.11 — функциональная схема бло- д ка коммутации; на фиг.12 — функциональная схема регистра адреса; на фиг.13 — пример реализации мультиплексора адреса микро-. команды; на фиг.14 — функциональная схема мультиплексора адреса; на фиг.15- функци- О ональная схема блока селекции адреса; на, ОО фиг.16 — функциональная схема регистра (1 микрокоманд блока управления; на фиг.17— пример реализации мультиплексора условий; на фиг,18 — функциональная схема группы триггеров; на фиг.19 — функциональная схема узла синхронизации; на фиг.20— временная диаграмма работы блока синхронизации; на фиг,21 — пример реализации блока постоянной памяти; на фиг.22 — функциональная схема интерфейсного блока.
Программируемый сопроцессор (фиг.1) содержит операционный блок 1, блоки пэ1675880
55 мяти 2 и адресации 3, интерфейсный блок 4, блоки управления 5 и коммутации 6 и регистр 7 адреса, связи 8 — 41 внутри процессора, Операционный блок 1 (фиг.2) содержит три секции (младшую 42, среднюю 43 и старшую 44), мультиплексор 45 связи и связи 46 — 74 внутри блока.
Младшая 42, средняя 43 и старшая 44 секции операционного блока содержат (фиг.3) приемопередатчик 75,мультиплексор
76 данных, регистры. операнда 77, числа 78 и команды 79, арифметика-логический узел
80, мультиплексорьi выхода 81 и адреса данных 82, регистр 83 микрокоманды, группу элементов И 84, первый — третий элементы
И 85 — 87, группу элементов ИЛИ 88, элемент ИЛИ 89 и группу элементов НЕ 90, связи 91 — 157 внутри секции.
Блок 3 адресации (фиг.4) содержит приемопередатчик 158, регистры данных 159, вектора 160, команды 161, макрокоманды.
162 и адреса микрокоманды 163, триггер
164 модификации адреса, мультиплексор
165 адреса микрокоманды, мультиплексоры выделения восьми, четырех и одного разрядов 166 — 169 соответственно, мультиплексор 170 адреса, первый 171 и второй 172 элементы ИЛИ, группу элементов ИЛИ 173, первы и — четве рты и эл е менты И 174 — 177 и первую 178 и вторую 179 группы элементов
И, связи 180 — 254 внутри блока (связь 242 не показана).
Блок 5 управления (фиг.5) содержит блок 255 селекции адреса, группу 256 триггеров, блок 257 синхронизации и блок 252 постоянной памяти, регистр 259 микрокоманды блока управления, мультиплексор
260 условий и связи 261 -302 внутри блока.
Блок памяти (фиг.8) содержит три секции 302 — 304 и связи 305 — 316 внутри блока.
Блок коммутации (фиг,10) содержит универсальные вентильные матрицы 317 и 318 и связи 319 — 328 внутри блока.
Универсальная вентильная матрица блока коммутации (фиг,11) содержит приемопередатчики 329 — 332; четырехканальный 8-разрядный мультиплексор 333, узел
334 управления и связи 335 — 361 внутри матрицы.
Узел селекции адреса блока управления (фиг.15) содержит программируемую логическую матрицу 362, регистр 363 и связи 364 — 372 внутри блока, Группа триггеров (узел состояний) блока управления (фиг.18) содержит триггеры
373 — 376 и связи 377 — 392 внутри группы триггеров.
Узел синхронизации блока управления (фиг.19) содержит генератор 393 тактовых импульсов, программируемую логическую матрицу 394, регистр 395 и связи 396 — 402 внутри узла. Узел поСтоянной памяти (фиг.21) содержит программируемые логические матрицы 403 — 405.
Блоки сопроцессора (фиг.1) работают следующим образом.
Операционный блок 1 (фиг.1) предназначен для выполнения основных операций по преобразованию и оперативному хранению информации, Пример построения 48разрядного операционного блока путем соответствующего объединения по цепям переносов и сдвигов трех однотипных секций приведен на фиг.2, Секция операционного блока реализована в виде бис
К18018П1-112 (фиг.3), Управление операционным блоком происходит при помощи управляющего кода
СЗ(8:1) = Y8(8:1), формируемого в блоке 5 управления, Приемопередатчик 75 предназначен для организации двунаправленной передачи информации, управление вводом — выводом приемопередатчиков 75 различных секций независимое:
С95 = С49 = С9 (1) = Y8(1) =-. Y270(1)— младшая секция 42, С95 = С50 =- С9(2) = Y8(2) = Y270(2)— средняя секция 43, С95 = С51 = С9(3) = Y8(3) = Y270(3)— старшая секция 44, С95 = 0 - Y107(16, 1) = X91(16:1) — ввод информации, С95 = 1 - Y91(16:1)=Х101(16:1) — вывод информации из секции операционного блока, Содержание микрооперации, выполняемой в операционном блоке 1, определяется микрокодом, записанным в регистр 83 микрокоманды операционного блока. Микрокод поступает из блока 2 памяти в цикле выборки микрокоманды и фиксируется в регистре 83 микрокоманды операционного блока при помощи сигнала записи С96:
С96=С52(3)=С53(3)=С54(3)=С9(5)=У8(5)=
Y271(1).
В регистре 83 микрокоманды операционного блока хранится следующая информация;
С115(3:1) = Y116(3;1) — управление муЛьтиплексором 76 данных, С137(2:1) = Y138(2:1) — управление мультиплексором 82 выхода, С155 = Y156 — управление модификацией адреса, С148 = Y151 — разрешение записи в регистр 77 операнда, 1675880
С149 = Y152 — разрешение записи в регистр 78 числа
С150 = Y153 — разрешение записи в регистр 79 команды операционного блока.
Между полями кода микрокоманды, считываемой из блока 2 памяти (Y12), и информацией, записываемой в регистр 83 микрокоманды операционного блока, выполняется следующее соответствие:
Y151 = Y12(28), 10
Y152 = Y12(27), Y153 = Х92(8)= Х62(8) = Y12(26) — старшая секция 44, Y163 = Х92(8) = Х63(8) = Y12(25) — средняя секция 43, 15
Y153 = Х92(8) = Х64(8) = Y12(24) — младшая секция 42, Y116(3:1) = Y12(23:21), Y138(2:1) = Y12(20:19), Y156 = Y12(18), 20
Мультиплексор 76 данных предназначен для передачи информации в регистр 77 i операнда, регистр 78 числа или регистр 79 команды операционного блока по одному из восьми каналов, код номера которого за- 25 дается в формате микрокоманды .
С115(3:1) = 000 - Y120(16:1) = X103(16:1) — прямая передача, С115(3;1) = 001 - Y12(16:1) = Х111(16:1)— сдвиг влево на 1Р, 30
С115(3:1) = 010 - Y12(16. 1) = Х112(16:1)— сдвиг влево на 2Р, С115(3:1) = 011 - Y120(16:1) = Х113(16:1) — сдвиг вправо на 1Р, С115(3:1) = 100 - У120(16:1) = Х114(16:1) 35 — сдвиг вправо на 2Р, С115(3:1) = 101 - Y120(16:1) = Х106(16:1) — инверсная передача, С115(3;1) = 110 — Y120(16;1) = Х105(16;1) дизъюнкция, 40
С 15(3:1) = 111 - Y120(1 6;1) = Х104(16:1) конъюнкция.
Для формирования функций инверсии, дизъюнкции и конъюнкции служат группы логических элементов НЕ 90, ИЛИ 45
88 и И 84, Для реализации функции сдвигов в секции операционного блока поступают . следующие сигналы:
Х65 = (2:1) = Х47(2:1), Х69(2:1) = Х72(2:1) — на младшую секцию 42, Х66 = (2:1) = Х48(2:1), X70(2:1) =
X46(16:15) — среднюю секцию 43, Х67 = (2:1) = Y68(2:1), Х71(2:1) = Х47(16:15) — на старшую секцию 44.
Регистр 77 операнда и регистр 78 числа предназначены для временного хранения операндов и построены на сдвоенных 0триггерах, управляемых перепадом потен- циала.
Регистр 79 команды операционного блока предназначен для хранения адресных полей кода команды: адреса первого операнда — младшая секция 42 операционного блока, адреса второго операнда — средняя секция 43 операционного блока, адреса перехода к следующей команде — старшая секция 44 операционного блока, независимое управление разрешением записи в регистр
79 команды операционного блока осуществляется при помощи кода Y12(26:24), задаваемого в формате микрокоманды. Имеется возможность модификации кода на выходе регистра 79 команды операционного блока.
Модифицируется младший разряд кода при помощи логического элемента ИЛИ 89 и сигнала разрешения: модификации адреса У155, поступающего из регистра 83 микрокоманды операционного блока; Y143 =- Y142(1)
+ Y155, Арифметико-логический узел 80 представляет собой комбинационную схему, формирующую в зависимости от поступающего на его входы содержимого, регистров операнда 77 и числа 78 и сигнала входного переноса Х55(58,59) коды суммы У135, суммы по модулю 2 У136, а также сигналы выходного переноса Y60(61,57);
Y135(16:1) = Х127(16:1) + Х12(16:1) + Х55, Y136(16:1) = Х127(16:1) + Х128(16:1), Функциональная схема арифметика-логического узла приведена на фиг.7. В качестве сигналов входного переноса Х55 в младшую секцию 42 операционного блока поступает сигнал Y272(2) с выхода регистра
259 микрокоманды блока 5 управления Х55
= С9(8) = Y8(8) = Y272(2), в среднюю секцию
43 — сигнал выходного переноса У60 младшей секции 42 операць.энного блока Х58 =
У60, в старшую секцию 44 — сигнал выходного переноса У61 средней секции 43 опереционного блока Х59 = Y61.
Сигнал выходного переноса У57 старшей секции 44 операционного блока является одним из условий перехода в микропрограммах и поступает на вход Х266 мультиплексора 260 условий перехода блока 5 управления.
Мультиплексор 81 выхода предназначен для коммутации на выход У140 информации по одному из четырех направлений в зависимости от кода С137(2:1) = У138(2:1), записанного в регистре 83 микрокоманды операционного блока:
С137(2:1) = 00 - Y140(16:1) = X132(16:1)— регистр 78 чиСла, 1675880
С137(2;1) = 01 - У140(16:1) = X131(16:1)— регистр 77 операнда, С137(2:1) = 10 - У140(16:1) = Х134(16:1)— сумма по модулю 2, С137(2:1) = 11 — У140(16;1) = Х135(16:1) — 5 сумма.
Информация с выхода У140 мультиплексора 81 выхода поступает на вход мультиплексора 82 адресных данных, а также на группы логических элементов И 84 и ИЛИ 10
88.
Мультиплексор 82 адреса данных коммутирует на выход 102 информацию по одному из двух каналов в зависимости от кода
С97 = С52(1) = С53(1) =: С54(1); 15
С97 = 0 — Y102(16:1) = X139(16:1) — мультиплексор 81 выхода, С97 = 1 - Y102(16:2) =- Х141(16:1) — регистр 79 команды.
Информация с выхода 102 мультиплек- 20 сора 82 адреса данных поступает на вход
101 приемопередатчика 85, Мультиплексор 45 связи (фиг.2) предназначен для организации сдвиговых операций совместно с секциями 42 — 44 25 операционного блока, с его помощью реализуются следующие типа сдвигов: логический сдвиг влево на 1 разряд, логический сдвиг влево на 2 разряда, арифметический сдвиг вправо на 1 разряд, арифметический 30 сдвиг вправо на 2 разряда, циклический сдвиг влево на 1 разряд, циклический сдвиг влево на 2 разряда., циклический сдвиг вправо на 1 разряд и циклический сдвиг вправо на 2 разряда, Мультиплексор 45 связи пред- 35 ставляет собой двухканальный четырехразрядный мультиплексор, на управляющий вход 56 которого поступает сигнал G56 =
С9(7) = Y8(7) = Y8(7) = У272(1) с выхода 272 регистра 259 микрокоманды блока 5 управ- 40 ления:
С56 = 0 — логические и арифметические сдвиги;
С56 = 1 — циклические сдвиги.
На информационные входы 73 и 74 по- 45 ступают соответственно по два старших и младших разряда информационного входа — выхода 13:
X73(2:1) = Х46(2:1) = Х13(2:1), Х74(2:1) = X48(16:15) = Х13(48:47). 50
Выходные коды У68, У72 поступают на входы Х67 старшей 44 и Х69 младшей 42 секций операционного блока 1 соответственно, Мультиплексор 45 связи может быть реализован, например, на микросхеме 55 мультиплексора К555КП1 I (фиг.8), Блок 2 памяти (фиг,9) содержит младшую 302, среднюю 303 и старшую 304 16разрядные секции блока памяти, соединенные соответствующим образом по информационным входам — выходам с младшей 42, средней 43 и старшей 44 секциями операционного блока 1:
Х305(16:1) = Y12(16:1) = Y13(16:1) =
Х46(16:1), X306(16:1) = Y12(31:17) = Y13(31;17) =-
Х47(16;1), X307(16:1) = Y12(48:33) = Y13(48:33) =Х48(16:1), Адрес А поступает параллельно на все секции блока памяти: Х308(11:1) = Х309(11:1)-= Х310(11:1) = Х23(11:1) = Y22(11;1) = А.
Управляющий код С11(4:1) формируется в блоке 258 постоянной памяти блока 5 управления. Сигнал выбора кристалла С11(1) поступает параллельно на все секции памяти, С311 = С312 = С313 = С11(1) =- Y273(1), Сигналы разрешения записи С11(4:2) поступают индивидуально на каждую секцию блока памяти, зто позволяет производить запись в любую секцию блока памяти;
С314 = С11(2) = Y273(2) — в младшую секцию 302, СЗ15 = C12(3) = Y273(3) — в среднюю секцию 303, С316 = С11(4) = Y273(4) — в старшую секцию 304, Секции памяти могут быть реализованы, например, на БИС ОЗУ КР537РУ10 (фиг.10).
Секция памяти (например, младшая
302) может работать в зависимости от управляющих кодов (например, для младшей секции 302 — С314 и С311) в следующих режимах, 00 - Y305(16:1) = R — режим хранения информации, 10 — Y305(16:1) = БП(А) — режим чтения, 11 - БП(А) = X305(16:1) — режим записи, где БП(А) — содержимое ячейки памяти с адресом А.
Переменные на выходе У305 могут принимать три значения; 10, 1, R1, где R — состояние большого выходного сопротивления.
Блок 6 коммутации (фиг.11) предназначен для реализации необходимых связей между шинами внутреннего интерфейса, блок 6 коммутации представляет собой комбинационную схему, реализованную на двух БИС К18018П1-111 (блоки 317 и 318), изготовленных на базе универсальных вентильных матриц. Функциональная схема блока 317.(318) приведена на фиг.11.
Первый 48-разрядный информационный вход — выход 17 блока 6 коммутации образуется обьединением шести восьмиразрядных входов — выходов блоков 317 и
318:
1675880
Y17(48:1) = Y324(8:1) Ф X323(8:1)Ô
+X322(8:1) + Х321(8:1)+X320(8:1) + X319(8:1).
Второй 16-разрядный информационный вход — выход 18 блока 6 коммутации образуется обьединением двух8-разрядных 5 входов — выходов блоков 317 и 318:
Х18(16:1) = Х326(8:1) + X325(8:1).
В зависимости от управляющего кода
С327(3: 1) = C328(3:1) = С29(3:1) = YÇÇ(3;1) осуществляются следующие режимы 10 работы:
000- Y18(16;01) = Y17(48:33) = Y17(32, 17}-.
= (16:01), 001 - Y18(16:01) = Y17(48:33) = Y17(16:01)=
= Х17(32:17), 15
010 - Y18(16:01) — — Y17(32;17) = Y17(16:01) =
= Х17(4фЗЗ), 011 — Y17(48:33) = Y17(32:17) = Y17(16:01)=
= Х18(16:01), 100 - Y18(16:01) = Х17(16:01), 20
101 — Y18(16:01) = X17(32:17}, 110 - Y18(16:01) = Х17(43:33), 111 — Y18(16:01) = R, Y17(48;01) = R — нет передачи, где R — состояние большого выходного 25 сопротивления; Х â€”; Y — выходной, код.
БИС К18018П1-111 является многофункциональной, На структурной схеме фиг.12 приведена лишь часть полной структурной 30 схемы БИС, реализующая необходимые режимы коммутации. На ней изображены че.тыре приемопередатчика 329 — 332, четырехканальный 8-разрядный мультиплексор 333, блок 334 управления, Приемо- 35 передатчики 329 — 332 могут работать либо в режиме ввода, либо в режиме вывода, в режиме ввода состояние входов — выходов аналогично третьему состоянию.
В ыбор данного из четырех каналов 40 мультиплексора 333 осуществляется с помощью 2-разрядного управляющего кода.
Формирование внутренних управляющих сигналов на входах 335 — 339, поступающих соответственно на управляющие входы 340 45 — 343 приемопередатчиков 329 — 332 и управляющий. вход 344 мультиплексора 333, происходит в блоке 334 управления. Алгоритм формирования управляющих сигналов соответствует логическим функциям, пред- 50 ставленным в табл.1.
Рассмотрим работу приемопередатчиков 329 — 332;
С340 = 0 - Y319(8:1) = Y345(8:1) =
Х346(8:1) = Y347(8:1), 55
С340 = 1 - Y348(8:1) = X345(8:1) =
Y319(8:1), С341 = О - Y321(8:1) = Y349(8:1) =
X350(8:1) = Y347(8;1), С341 = 1 - Y351(8:1) = ХЗ49(8; l)
ХЗ21(8:1), СЗ42 = Π— Y323(8:1) = Y352(8:1)
XÇ53(8:1) = Y347(8:1), СЗ42 = 1 — Y354(8:1) = Х352(8:1) =
X323(8:1), С343 = О - Y325(8:1) = Y355(8:1)X356(8:1) = Y347(8:1), C343 = 1 - У357(8;1) = X355(8:1)
X325(8: 1).
Код управления C344(2:1) мультиплексором 333 определяет следующие режимы коммутации;
C344(2:1) = 00 - Y347(8;1) = X358(8:1) =Y348(8:1), СЗ44(2:1) = 01 - Y347(8:1) = ХЗ59(8:1}=
YÇ51(8:1 j, C344(2;1)=10-Y347(8:1}=X360(8 I}=Y359(8:1)
СЗ44(2:1) = 11 - Y347(8:1) = 361(8:1) =
Y357(8: 1).
Схема сравнения управления синтеэирована на элементах из библиотеки элементов базовых ячеек БМК К1801ВП1-111 (ШИ0.010.045) по известной методике синтеза комбинационных схем.
Регистр 7 адреса предназначен для формирования адреса в различных режимах работы: пассивном и активном. В активном режиме работы сопроцессора адресная информация от различных источников адреса, находящихся в блоке 3 адресации или секциях 42 — 44 операционного блока, поступает через блок 6 коммутации на вход 21 регистра 7 адреса (фиг.1), В пассивном режиме адресная информация от системной магистрали поступает через инфтерфейсный блок 4 на вход 21 регистра 7 адреса, фиксация адресной информации осуществляется при помощи сигнала записи C38(1) =
Y34(1) = Y276. Адрес с выхода 22 регистра 7 адреса поступает на адресный вход 23 блока
2 памяти; Х23(11:1) = Y22(11:1).
Регистр 7 адреса может быть реализован на микросхемах К555ТМ9 (фиг.13).
Блок 3 адресации (фиг.4) предназначен. для формирования адреса микрокоманды: адреса фиксированных ячеек памяти (регистров общего назначения — POH), обращение к которым возможно на микрокомандном уровне адресов обращений к таблицам сложных логических преобразований, а также для выделения разрядов при выполнении логических преобразований. Блок 3 адресации реализован на БИС БМК
К18018П-113, Функциональная схема приведена на фиг.5.
Приемопередатчик 158 блока 3 адресации предназначен для организации двунаправленной передачи информации по
16-разрядной магистрали. Управление на1675880
12 правлением передачи осуществляется при помощи сигнала С181 =- С31(1) = Y35(1) =
Y279:
0- Y195(16:1) = Х180(1,6:1) — ввод информации в блок 3 адресации, 5
1 - Y180(16:1) =- Х192(16:1) — вывод информации.
Содержание микрооперации, выполняемой в блоке 3 адресации, определяется микрокодом, записанным в регистр 162 10 микрокоманд блока адресации, Микрокод поступает иэ блока 2 памяти (фиг,1) в цикле выборки микрокоманд и фиксируется в регистре 162 микрокоманды блока адресации
: при помощи сигнала записи С182 = С31(3) = 15
Y35(3), поступающего с выхода 35 блока 5 управления. Микрокод, хранящийся в регистре 162 микрокоманды блока адресации весь цикл исполнения микрокоманды, предназначен для управления записью в регист- 20 ры данных 159, адреса микрокоманды 163, команды 161, вектора 160, а также для задания адресов РОН, информация на вход 206 регистра 162 микрокоманды блока адресации поступает через приемопередатчик 158 25 с информационного входа — выхода 20;
Х206(11:1) = Y195(11:1) --- X20(11:1) = Y18(11:1)
= Y12(11:1).
В фазе выборки микрокоманды блок 6 коммутации настроен на передачу кода мик- 30 рокоманды из младшей секции 302 блока 2 памяти: X20(16:1) = Y18(16:1) = Y12(16 .1).
Принято следующее распределение полей в формате микрокоманды, поступающей в блок 3 адресации: 35
Y12(11:10) — уп ра вление мул ьтиплексо-., ром 170 адреса, Y12(9) — разрешение записи в регистр
163 адреса микрокоманды, Y12(8) — разрешение записи в регистр 40
161 команды, Y12(7) — разрешение записи в регистр
160 вектора, Y12(6) — разрешение записи в регистр
159 данных, 45
Y12(5:1) — номер РОН, Мультиплексор 165 адреса микрокоманды, регистр 163 адреса микрокоманды, триггер 164 модификации адреса следующей микрокоманды, логический элемент 50
ИЛИ 172 предназначены для формирования адреса следующей микрокоманды. Мультиплексор 165 адреса микрокоманды представляет собой двухканальный мультиплексор, управляемый при помощи 55 сигнала С183 = C31(2)OY35(2)0280(1), посту, пающего с выхода 35 блока 5 управления:
0 - Y208(9:1) = 000+Х211(6:1), где Х211(6,1) == Х24(13;12) + Х24(4:1) ==
=Y12(48:47)+ Y12(32:31) Ф. Y12(16:15) — код операции команды, поступающий при исполнении микрокоманды "Выборка команды";
1 - Y208(9:1) =- Х24(13:5) = Y8(48:40)— адрес перехода к следующей микрокоманде, поступающий при выборке любой микрокоманды.
Выход 208 мультиплексора 165 адреса микрокоманды подключен к информационному входу 207 регистра 163 адреса микрокоманды. Функциональная схема мультиплексора 165 адреса микрокоманды приведена на фиг.14, Регистр 163 адреса микрокоманды представляет собой 9-разрядный регистр, на информационный вход 207 которого поступает информация с выхода 208 мультиплексора 165 адреса микрокоманды и фиксируется в нем при помощи управляющего сигнала С209=У210.
Выход 234 регистра 163 адреса микрокоманды подключен к входу 233 соответствующего канала мультиплексора 170 адреса, возможна модификация адреса микрокоманды с целью реализации условных переходов в микропрограммах, модифицируется младший разряд адреса с использованием триггера 164 модификации адреса и логического элемента ИЛИ 172, запись в триггер 164 модификации адреса происходит в фазе исполнения микрокоманды при помощи управляющего сигнала С190 =
С31(4) = Y35(4) = Y280(3), на информационный вход 191 триггера 164 модификации адреса поступает сигнал с выхода 281 мультиплексора 260 условий перехода блока 5 управления (фиг.5): Х191 = С31(5) = Y35 =
У281, v235 = Y234(1) + Y245
Регистры данных 159, вектора 160 и команды 161, мультиплексоры 166 — 169 выделения разрядов, группа логических элементов И 179 и группа логических элементов ИЛИ 173 предназначены для реализации функций обращения к элементам таблиц сложных логических преобразований и выделения разрядов.
Регистр 159 данных предназначен для фиксации 16-разрядного кода, поступающего с выхода 18 блока 6 коммутации (фиг;1) через вход — выход 20 и приемопередатчик
158, мультиплексоры 166 — 169 выделения восьми, четырех, двух и одного бита служат для каскадного выделения разрядов из информации в регистре 158 данных. На выходе. мультиплексора 169 выделения бита формируется выделенный бит, поступающий на выход 27 и далее на вход 267 мул ьтиплексора 260 условий перехода блока 5 управления,.Данный сигнал является одним из
1675880
20 коммутируется информация в завйсимости 9( от управления кода С239(2:1), формируемо- +Х го следующим образом;
С188 = О - С239(21) = X252(21) = Х
Y232(11:10), 50
С188 = 1 - С239(2;1) = 11, С239 = 00- Y193(16:1) - Y220(16:1), 4К
С239 = 01 — Y193(16 1) = 0000+
+Х236(12:1), ф
С239 = 10 - Y193(16;1) = 000000100Ф 55 в
+Y232(5:1), у
С239 = 11 — Y193(16:1) = 00000004" н
+(233(9:1), го
Х233(9:1) = Y234(9:2) + Y235. 2 условий перехода в микропрограммах.
Восьми- или четырехраэрядный вектор может быть записан в регистр 160 вектора.
Вторая группа логических элементов И 179 управляет записью в регистр 160 вектора 5 старших четырех разрядов вектора, поступающего с выхода 223 мультиплексора 166 выделения 8 бит. Работа перечисленных блоков осуществляется следующим образом: 10
С213 = Y217(4), С214 = Y217(3), С215 =
С254 = Y217(2), С216 = Y217(1), С213 = Π— Y223(8:1) = Y220(8:1), С213 = 1 - Y223(8:1) = Y220(16;9), С214 = 0 — Y200(4:1) = Y223(4;1), 15
С214 = 1 — Y200(4;1) = Y223(8:5);
С215 = О - Y228(2:1) = Y200(2:1), С215 = 1 — Y228(2:1) = Y200(4;2), С216 = 0- Y229 = Y228(1), С216 = 1 - Y229 = Y228(2), С254 = О - Y199(4:1) = 0000, С254 = 1 - Y199(4:1) = Y223(8:5), X198(8:1) = Y199(4:1) + Y200(4:1).
Регистр 160 вектора предназначен для хранения 8- или 4-разрядного вектора при 25 выделении разрядов, а также для формирования адреса при обращении к таблицам сложных логических преобразований ат вектора двоичных переменных, информация о месте расположения таблиц преобра- 30 зований кодируется в пале Б команды, записанном в регистре 161 команды. Сформированный адрес поступает на вход 236 мультиплексора 170 адреса. Он образуется следующим образом: 35
Х236(12:1) = Y217(14:11) + Y237(8:5)+
Ф 1238(4:1), Y238(4:1) = Х247(4:1) + Х246(4:1), Х246(4:1) = Y217(1 О:7).
Мультиплексор 170 адреса предназна- 40 чен для организации вывода информации, записанной в различные регистры блока 3 адресации. Мультиплексор 170 адреса представляет собой 4-канальный 16-разрядный мультиплексор, на выходе 193 которого 45
С выхода 193 мультиплексора 170 адреса информация поступает на вход 192 приемопередатчика 158. Функциональная схема мультиплексора 170 адреса приведена на фиг.15.
Блок 5 управления (фиг.5) работает следующим образом.
Блок 255 селекции адреса предназначен для опознавания адреса угла 256 состояния и области адресов "окна" памяти сопроцессора в адресном пространстве, микроЭВМ. Блок 255 селекции адреса состоит из селектора адреса и регистра 363 выбора устройства (фиг,16). Селектор адреса может быть построен, например, на БИС
ПЛМ КР556Р12, а регистр 363 выбора устройства — на микросхеме К555ТМВ. На вход
264 блока 255 селекции адреса, связанный с входом 364 селектора адреса, поступает адресная информация с выхода 25 интерфейсного блока 4. С выходов 365 и 366 селектора адреса сигналы поступают соответственно на выходы 367 и 368 регистра 363 выбора устройства, в котором они фиксируются при помощи сигнала записи
С369 = С284(2) = Y285(2), поступающего с выхода 285 блока 258 постоянной памяти (фиг.5).
После окончания цикла обмена информацией микроЭВМ с сопроцессором регистр 363 выбора устройства переходит в начальное состояние по сигналу сброса
C370 = C284(1) = В285(1), поступающему с выхода 285 блока 253 постоянной памяти, При настройке узла 255 селекции адреса на выбор адреса узла 256 состояния (174762) и диапазона адресов "окна" памяти сопроцессора (164000,...167777), причем значения адресов приведены в восьмеричной системе счисления, его работа может быть описана следуюн,ей системой логических уравнений (при передаче кода адреса активным является низкий уровень сигнала):
У365 = Y264(16) + Х264(15) +Х264(14)Ф.
264(13) 4- Х264(12) Ф. Х264(11) Ф Х264(10)Ф
264(9)+X264(8)+X264(7)+ — ——
+Х264(6) -+ Х264(5) -+ Х264(4) + Х264(3)
264(2)+ Х264(1), Y366 = Х264(16) 4 Х264(15) 4" Х264(14)+
264(13) Ф-Х264(12), Реализация данной системы логических ункций на одной БИС ПЛМ K556PT2 — трииальная. Регистр 259 микрокоманды блока правления (фиг.5) предназначен для хранеия части кода микрокоманды, поступающев цикле выборки микрокоманды иэ блока памяти. Регистр 259 микрокоманды блока управления может быть реализован, напри16
15 мер, на микросхемах К555ТМ9 (фиг.17), Информация фиксируется в регистре 259 микрокоманды блока управления при помощи сигнала записи С299, поступающего из блока 257 синхронизации: С299 = Y277, 5
Выполняется следующее соответствие между полями кода микрокоманды, считываемой из блока 2 памяти, и информацией, записываемой в регистр 259 микрокоманды блока управления: 10
Y298(6;1) = Х261(6:1) = Y12(17,12) — код, режима сопроцессора, поступает в блок 22 формирования управляющих сигналов, Y272(2) = Х261(7) == Y12(36) — входно, перенос, поступает в младшую секцию 42 15 операционного блока, Y272(1) = Х261(8) == У12(35) — признак ,, циклических сигналов, поступает в мультиплексор 45 связи, Y301(3:1) = Х261(11:9) = Y12(39;37) — код 20 управления мультиплексором условий, поступает в мультиплексор 260 условий.
Мультиплексор 260 условий (фиг.5) предназначен для реализации безусловных и условных переходов в микропрограммах и 25 может быть реализован, например, на микросхеме К555КП7 (фиг.18). Мультиплексор
260 условий выполняет функции коммутации на выход,281 одной из двоичных переменных, подаваемых на его входы в 30 зависимости от управляющего кода:
С300 = Y301(3:1), 000 — безусловный переход, 001 - Х262(2) = Х14(10) -- Y12(48) — старший разряд, 35
010 — X262(1) = Х14 (1) =- Y12(1) — младший. разряд, 011 — Х266 = Х16 = Y15 — выходной перенос, 100 — Х267 = X28:=: Y27 — выделенный 40 бит.
Выход 281 мультиплексора 260 условий через вход 31 блока 3 адресации соединен с информационным входом 191 (фиг.4) триггера 164 модификации адреса микрокоман- 45 ды, Группа 256 триггеров (фиг,18) служит для задания режима работы сопроцессора из микроЭВМ и хранения осведомительных сигналов о состоянии сопроцессора, апра- 50 шиваемых микроЭВМ. Узел 256 состояния (фиг.18) содержит пять триггеров 373 — 375 и 376-1, 376-2. Информация из микроЭВМ поступает из интерфейсного блока 4 на 0входы триггеров 373, 375, 376-1, 376-2; 55
Х377 = Х263(2) =- Х26(3} — — Y25(3) = Y41(3), X378 = Х263(1) =- Х26(2) = Y25(2) = У41(2), Х379(2:1) = Х263(4:3) =. Х26(5;4) = Y25(5:4)=
= Y41(5:4).
Запись в триггеры 373 — 276 синхронизирована сигналом записи, поступающим из узла 258 постоянной памяти на С-входы
380, 381, 382: С380 = C381 - С382 = С287(1) =
Y289(1).
Первый триггер 373 служит для перевода сопроцессора в пассивный режим работы, такой перевод возможен со стороны микроЭВМ и со стороны сопроцессора. Для перевода сопроцессора в пассивный режим со стороны микроЭВМ íà D-вход 377 поступает сигнал низкого уровня требования останова по концу микрокоманды. Для перехода сопроцессора в пассивный режим по своему требованию s узле формирования управляющих сигналов выдается сигнал требования останова со стороны сопроцессора, поступающий на R-вход 383 первого триггера 373: С383 = С287(3) = Y289(3).
На выходе 384 первого триггера 373 формируется общее требование остэнова (низкий уровень), поступающее на 0-вход
385 второго триггера 374. Запись в триггер
374 синхронизирована сигналом конца исполнения микрокоманды, формируемым инвертированием сигнала С286(1):
С386 = С286(1); С286(1) = С288(1).
При записи сигнала требования останова Х385 сопроцессор переходит в пассивный режим работы, о чем свидетельствует сигнал на выходе Х387 = 1 триггера 374 (низкий уровень). Информация о режиме работы с выхода 387 поступает на выходы
269, 283 и 297 группы 256 триггеров: Y387 =
Y269 = Y383 = Y297(3).
Переход в пассивный режим возможен и по сигналу начальной установки, поступающему из системной магистрали 38 через узел 258 постоянной памяти на R-вход 388 триггера 374: С388 = С287(4) = Y289(4), Переход в активный режим X387 = 0 (высокий уровень) возможен по сигналу установки в активный режим, поступающему из узла 258 постоянной памяти на S-вход
389 триггера 374: С389 = С287(2) = Y289(2).
Третий триггер 375 предназначен для формирования сигнала "Пуск", по которому формируется начальный адрес в регистре 7 адреса, начинается сигнал ца выходе 390 при записи по 0-входу 378 сигнала из микроЭВМ, заканчивается — в такте выборки микрокоманды по сигналу записи в регистр микрокоманды, формируемому в блоке 257 синхронизации; C391 = С286(2) = Y288(2).
Сигнал "Пуск" свыход,а 390 поступает на выход 278 узла 256 состояний и далее нэ вход 30 регистра 7 адреса: У278 =- Y390.
Четвертый 376-1 и пятый 3/6-2 триггеры предназначены для указаьч« и»лера сек17 ции блока 2 памяти, к которой происходит обращение от микроЭВМ в пассивном режиме работы. С выхода 392 данная информация поступает на выход 297 группы 256 триггеров. 5
На выходе 297 формируется 3-разрядный код Y297(3:1), поступающий в узел 258 постоянной памяти: X293(3;1) = Y297(3:1) =
Y387+ Y392(2:1).
Группа 256 триггеров может быть реа- 10 лизована, например, на микросхемах триггеров К555ТМ2 или К555Т81.
Узел 257 синхронизации (фиг.5) предназначен для формирования сигналов синхронизации работы всех узлов 15 сопроцессора. Функциональная схема узла
257 синхронизации приведена на фиг.19, Узел 257 синхронизации выполнен по схеме конечного автомата, включающего генератор 393 тактовых импульсов, логическую 20 матрицу 394 и регистр 395.
Генератор 393 тактовых импульсов может быть реализован по любой известной схеме, обеспечивающей формирование последовательности прямоугольных импуль- 25 сов, например, по схеме, представленной на фиг.19.
Узел синхронизации циклически формирует на выходах 397 шесть тактовых импульсов в соответствии с временной 30 диаграммой на фиг,20. Цикл содержит 12 микротактов Т1...Т12 (соответственно 12 состояний автомата) и разделен на 2 подцикла . выборки и исполнения микрокоманд. Тактовые импульсы имеют следующее наэначе- 35 ние:
Y397(1) — такт выборки микрокоманды, Y397(2) — такт передачи адреса, Y397(3) — такт обращения к памяти сопроцессора, 40
Y397(4) — такт записи кода микрокоманды в регистр микрокоманды, Y397(5) — такт в регистры сопроцессора в цикле исполнения микрокоманды, Y397(6) — имеет вспомогательное назна- 45 чение для обеспечения переходов автомата:
Т1 . Т2,... Т12 Т1, его необходимость обусловлена тем, что коды выходов
Y397(5) имеют повторы в цикле, например в
Т2 и Т6, Т8 и Т12. 50
Сформированные на выходе 397 регистра 395 тактовые импульсы Y397(5:1) далее сгруппированы на пяти выходах в соответствии с потребностями синхронизации различных блоков: 55
Y271(2: I) = Y397(5:4), Y280(3:1) = Y397(5:4) ФУ397(1), Y288(2;1) = Y394(4) + Y397(1), Y295(4:1) = Y397(5)+ Y397(3:1), Y277 = Y397(4).
Логический преобразователь 394 узла синхронизации может быть реализован на
ПЛМ К556Р i 2 в соответствии со следующей системой логических уравнений:
ХА(6:1) = Y397(6:1), термы ПЛМ:
А1 = XA6+XA5+XA4+XA3 ХА24"ХА1
А2 = ХАЬФХА5 4 ХА4 4 XA3+XA2 гХА1
A3 = ХА6Ф ХА5ФХА4 +ХАЗФХА2+ХА1
А4 =- ХА6+ХА5+ХА4ФХАЗ+ХА2 ФХА1
А5 =- ХА6 ФХА5ФХА4 Ф-ХАЗФХА2+ХА1
А6 = ХА6+ХА5+ХА4+ХА34.ХА2+-ХА1
А7 = ХА6+ХА5 4" ХА4 Ф-XA3+XA2 4 ХА1
А8 = ХА6+ХА5+ХА4 МАЗ+ХАЗФКА24 ХА1
Х9 = ХАбчХА5ФХА4 гХАЗ чХА24 ХА
А10 = ХА6+ХА5 ФХА4 ©XA3+XA2+XA1
А11 = ХА6 ФХА5+ХА4 ФХА34"ХА2ч-ХА1
А12 = ХАбфХА5ФХА4ч ХАЗч-ХА4 ХА1выходы ПЛМ:
YA1 = А12+А1 + А2 + AÇ + А4+ А5
YA2 = А12 + А6
YA3 = А2+ AÇ+ А4+ А8+ А9+ А10
YA4 = A3
YA5 = А9
УА6. = А1 + А2 + А7 + А8
На информационный вход 398 регистра
395 поступает шестиразрядный сигнал с выхода 399 логического преобразователя (матрицы) 394, На вход 400 синхронизации записи регистра 395 поступает сигнал с выхода 401 генератора 3"..3 тактовых импульсов. На вход 402 сброса регистра 395 поступает сигнал с входа 290 узла 257 синхронизации, формируемый блоком 256 состояния: С402 = С290 = Y283.
В качестве выходов 397 используются инверсные выходы регистра 395, так кэк соответствующие сигналы имеют активный низкий уровень. Регистр 395 может быть реализован на двух микросхемах регистров
К555ТМ8.
Узел 258 постоянной памяти (фиг.5)предназначен для формирования сигналов управления работой блоков сопроцессора и синхронизации работы с системной магистралью 39 и 40.
Узел 258 постоянной памяти представляет собой комбинационную схему, реализованную, например, на трех ПЛМ
1675880
10
20
УА3 =:А15+ А27 + A10
КР556Р12 (фиг.21) и описываемую следующей системой логических уравнений: входы ПЛМ A(403):
XA0 = Х294(1) = Y298(1) — первый разряд кода режима, ХА1 = Х294(2) = Y298(2) — второй разряд кода режима, ХА2 = X294(3) - Y298(3) — третий разряд кода режима, XA3 = Х294(4) = Y298(4) — четвертый разряд кода режима, ХА4 = Х294(5) = (298(5) — пятый разряд кода режима, ХА5 = Х294(6) = Y298(6) — шестой разряд кода режима, ХА6 = X293(3) =- Y297(3) — пассивный ре, жим работы сопроцессора, ХА7 = Х297(2) = Y297(2) — первый разряд номера секции блока памяти, ХА8 = Х298(1) = (297(1) — второй разряд номера секции блока памяти, ХА9 = Х297(1) = Y296(1) — выбора блока памяти, XA10 = Х291(2) == Y205(2) — такт передачи адреса, ХА11 = Х291(1) = Y295(1) — подцикл вы. борки микрокоманды, XA12 = Х268(1) == X39(1) — чтение данных, термы ПЛМ А:
А1 = ХА5+ХА2+ХА1ФХАОФХА1ОМА11Ф
ФХА6 А2 = ХА5+ХА4 ФХА10 4 -ХА114"ХА6
A3 = ХА5+ХА4 ФХА1 ч-.ХАОФХА10+ХА11ф +ХАб
А4 = ХА54 ХА14ХАО ХА10фКА114М(Аб
А5 = ХА10+ХА11ФХА6
Аб = ХА5+ХАЗ+ХА2+ХА1+ХАОФХА104
ФХА11Ф ХА6
А7 = ХА5ч" ХА4 ч-- ХА149(А04ХА104. -ХА14
ФХА6
А8 = ХА5с ХА4 <" XA2 сХА10аХА11сХА6
А9 = ХА5ФХАЗ+ХА2фХА1 ФХАОФХА10
A10 = ХА5+ХА1М(АОч.ХА10-ФХА1 14 ХА6
А11 = ХА5 Ф-ХА34 ХА2ФХА1 ФХА04"ХА104 „
+ХА11+ХА6
А12 = ХА51"ХА41ХА1ФХАОфХА10+ХА11Ô
+ХАб
А13 =ХА5ФХА44 ХАЗ " ХА2 4"ХА10+ХА1 И
ХАб
А14 = ХА5 г-ХАЗ ХА24ХА14-ХА04 ХА10
А15 = ХА5ч-ХА4 АБХАЗ ФХА2 ФХА10Ф-ХА11+
ХАб
А16 = ХА5Ф-ХАЗ+ХА24-ХА14ХА049(А10
А17 = ХА5ФХА4ФХА1 ч ХА10ФХА11+ХА6
А18 = ХА5ФХА1+ХА04ХА10ФХА114>-ХА6
А19 = XA10+XA11+XA6
А20 = ХА8ФХА7ФХА12+ХА9 4 ХА6
А21 = ХАМХА1ФХА04 ХА10 -XA1 1ФХА6
А22 = ХА8+ХА7М(А121-ХА9Ф"ХАб
А23 = ХА5ФХА14"ХАОФХА10ФХА11+ХА6
°
А24 = ХА8+ХА7+ХА12+ХА9 г--ХА6
А25 = ХА12ФХА6
А26 = ХА5ФХА14 ХАО М(А104"ХА11 И(А6 выходы ПЛМ А:
YAO = А1+ А2+ AÇ + А4+ А5
YA1 = А11 + А12 + A13 + А27 + A10
YA4 = А17 + Аб + А7+ А8+ А11 + А12+
A13+ А15
YA5 = А18+ A10+ А19+ A20+ А9+ A23+
+ А24+ А16+ Аб + А7 + А8 + А15
YA6 = А21 + А22 + А14 + A23 + А24 + A16+
+ А12 + A13 + А15
YA7 = А1 + А2 + AÇ + А4 + А25 + Аб + А7 + А8+ А11 + А12 + A13 + А15
Y279 + YA0 — выб