Устройство для деления чисел без восстановления остатка
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может найти применение в арифметических устройствах процессоров быстродействующих ЦВМ. Цель изобретения - сокращение аппаратурных затрат. Устройство позволяет реализовать различные дисциплины округления результата деления, получить результат деления удвоенной разрядности и делить числа различного формата без потери производительности устройства и снижения коэффициента использования оборудования устройства. Устройство для деления чисел без восстановления остатка содержит операционные блоки 1, 2, блок 3 адресации, блок 4 признаков, блок 5 дешифрации кодов, регистры 6, 7, коммутаторы 8 - 10 и группу элементов И 11. 2 з.п. ф-лы, 10 ил.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (l9) (И) 228 А1 (51)5 G 06 F 7/52
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
ГОсудАРственныЙ нОмитет пО изОБРетениям и ОтнРытиям
ПРИ ГКНТ СССР (21) 4635613/24-24 (22) 10.01.89 (46) 07.11.90. Бюл. У 41 (72) В.Ц.Супрун, А.В,Сычев и С.И.Уваров (53) 681. 325 (088.8) (56) Авторское свидетельство СССР
N- 817706, кл. G 06 F 7/52, 1979.
Хвощ С.Т., Варлинский Н.Н. и
Попов Е.А. Микропроцессоры и микроЭВИ в системах автоматического управления . — Л., 1987, с ° 378-382, рис. 11. 14.
2 (54) УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ ЧИСЕЛ БЕЗ
ВОССТАНОВЛЕНИЯ ОСТАТКА (57) Изобретение относится к вычислительной технике и может найти применение в арифметических устройствах процессоров быстродействующих ЦЬИ.
Цель изобр етения — сокращение аппаратурных затрат. Устройство позволяет реализовать различные дисциплины округления результата деления, получить результат деления удвоенной разрядности и делить числа различного формата без потери производительности
16052?8 устройства и снижения коэффициента использования оборудования устройства. Устройство для деления чисел без восстановления остатка содержит операционные блоки 1, 2, блок 3 адресаИзобретение относится к вычислительной технике и может найти применение в арифметических устройствах.
Целью изобретения является сокраv щение аппаратурных затрат, т.е. упро- 15 щение устройства.
Па фиг,1 представлена функциональная схема устройства; на фиг.2 структурная схема выполнения блока адр есации; на фиг,Ç, 4 — структурные схемы коммутатора адреса и узла активации операционных блоков, входящие в состав блока адресации; на фиг.5 структурная схема блока признаков; на фиг . 6 — структурная схема пр еобр аз о- 25 вателя кодов; на фиг,7 — схема микропрограммного блока управления; на фиг.8 — временные диаграммы сигналов микропрограммного блока управления; па фиг.9 — алгоритм выполнения коман- 30 ды деления, различные ветви которого определяют различные способы округления результата при различных форматах операндов; на фиг.10 - алгоритм выполнения команды деления с получением результа а удвоенной разрядности.
Цепи начальной установки элементов . памяти устройства либо цепи отдельных узлов, не оговоренные в описании работы устройства, условно не показаны.
Устройство для деления чисел без восстановления остатка (фиг,1) содержит второй 1 и первый 2 операционные блоки, блок 3 адресации, блок 4 признаков,блок 5 дешифрации кодов, пер— вый 6 и второй 7 регистры, первый, второй. и третий коммутаторы 8 — 10 и группу элементов И 11, информационные входы 12 первой групинформаI oHHble входы 1 3 второй 5р группы, состоящие из входов 13.1 и
13.2, управляющие входы 14, состоящие из входов 14.1, 14.2, 14.3 и 14.4 и входа 14.5, тактовый вход 15 устройства, синхр овходы 16 . 1 и 16 . 2, синх55 ровход 17 устройства, выходы 18-19 первый и второй групп устройства, выходы признака 20 и знака 21, выход 22 очередной цифры частного блока 4 призции, блок 4 признаков, блок 5 дешифрации кодов, регистры 6, 7, коммутаторы 8-10 и группу элементов И 11.
2 з.п. ф-лы, 10 ил. наков, выход 23 знакового разряда коммутатора 10, адресные и управляющие выходы 24-25 блока 3 адресации, выходы блока 5 дешифрации кодов, имеющие следуксцую нумерацию: первый, четвертый, третий, шестой, пятый, седьмой, восьмой, девятый и второй выходы 2634, вход 35 нулевого потенциала, выход Зб третьего коммутатора.
Операционные блоки 1 (2) могут быть построены на известных элементах.
Блок 3 адресации содержит (фиг.2) второй 37 и первый 38 счетчики, коммутаторы 39 и 40, узел 41 активации операционных блоков, дешифратор,42, четвертый, третий., второй и первый элементы И 43-46.
Коммутатор 39 (40) содержит (фиг,З) четырехразрядный мультиплексор 47 и группу 48 элементов И, группа выходов и управляющий вход которого соединены соответственно с группой выходов и управляющим входом 14.3.1 (14.3.3) коммутатора 39 (40) первого (второго) адреса. Группа 14.3.2 (14.3.4) управляющих входов коммутатора 39 (40) первого (второго) адреса соединены с группой управляющих входов мультиплексора 47, выходы которого соединены с информационными входами гр уппы 48 элементов И.
Входы Q Ц, Q< и Я первой группы. 3 7 (38) информационных входов коммутатора 39 (40) первого (второго) адреса соединены с информационными входами мультиплексора 47 следующим образом: первый вход Q — с первым А и третьим Аг входа первого разряда1 второй вход Q 1 — с первым Во и третьим Р входами второго разряда, третий вход Я вЂ” с первым входом Dc, третьего разряда и четвертый вход О .— с первым входом Е четвертого разряда мультиплексора 47. Р.ходы Q, 01, Qy и 0 . второй группы 37 (38) информационных входов
5 160 коммутатора 39 (40) первого (второго) адреса соединены с информационными входами мультиплексора 47 следующим, образом: первый вход О„ — с вторым А и четвертым А входами первого разряда, второй вход Я< — с вторым В и четвертым В> входами второго разряда, третий вход Q< — с вторым входом D третьего разряда и четвертый вход
Q < — с вторым входом Е четвертого разряда мультиплексора. Третий Dq и четвертыч Рз информационные входы третьего разряда и третий Е и четвертый Е > информационные входы четвертого разряда мультиплексора 47 подключены к шине 49 единичного потенциала °
Узел 41 активации операционных, блоков содержит (фиг.4) первый и второй дешйфраторы 50-51, первый и второй элементы И-НЕ 52-53 и первый и второй элементы И-ИЛИ-НЕ 54-55, выходы которых образуют группу 25 управляющих выходов блока 41 активации операционных блоков.
Блок 4 признаков содержит (фиг.5) мультиплексор 56, триггеры 57 и 58, элемент 59 неравнозначность, элемент
2И»2ИЛИ 60 и элемент НЕ 61.
Блок 5 дешифрации кодов содержит (фиг.6) элементы И-ИЛИ 62-64, элемент И-ИЛИ-НЕ 65, элементы И 66-68, элементы И-НЕ 69-72, элементы ИЛИ 7374, элементы HE 75-77.
Пример построения микропрограммного блока управления,.используемого для пояснения работы устройства для деления чисел без восстановления остатка, приведен на фиг,7, который содержит блок 78 памяти микрокоманд, регистры 79 адреса микрокоманд, регистр 80 микроопераций, счетчик 8 1 циклов, коммутаторы адреса 82 микрокоманд и логических условий 83, генератор 84 синхросигналов, триггер 85 пуска, группа 86 элементов И, первый
87 и второй 88 элементы И-НЕ, элемент
И 89, инвертор 90 и элемент 91 сравнения (неравнозначность) .
Кроме того, на фиг.7 показаны входы 92 пуска и 93 останова микропрограммного устройства управления, пер-! вый 94 и второй 95 выходы генератора
84 синхросигналов и группа 96 входов кодов операций, реализуемых устройством.
На фиг.7 нумерация отдельных входов и выходов согласуется с нумера5228 6 цией входов и выходов устройства выделения чисел без восстановления остатка, представленного на фиг,1, т.е, выходы 13-17 устройства на фиг.8 со5 ответствуют входам 13-17 устроиства на фиг.1, а входы 20 и 21 устройства на фиг.7 - выходам 20 и 21 устройства на фиг.1, поэтому указанные входы
1ð (выходы) устройства на фиг.8 одноименны с выходами (входами) устройства на фиг.1.
Временная диаграмма формирования сигналов микропрограммным блоком управления после его пуска приведена на фиг.8.
На фиг.9 и 10 приняты следующие обозначения: YP — регистры блоков:
1 и 2 с нулевым номером адреса; М (R2) — регистры блоков 1 и 2, адре-, суемые кодом, содержащимся в счетчике 38 (37) по фиг.2; (R % — содержиое регистра блоков 1 и 2 с номером
sign(R > — знак операнда, хранимо25 ro в регистре i блоков 1 и 2; PQ— вспомогательный регистр блоков 1.и 2;
PO — младший разряд вспомогательного регистра блоков 1 и 2; 14.2.1, 1776 и 14.2.7 — микрооперации на входах
30 14. 2. 1 14. 2.6 и l4,2. 7 в блоке 5 (фиг.6); СТО, + 1 — увеличение содержимого счетчика 81 на единицу; ) Π— значение соответствующей микрооперации (I и С„) на входе 14.2 устройства, которое задается равным нулю, а на соответствующем выходе блока 5 определяется состоянием очередной цифры частного (выход 22 блока 4) при подаче сигнала микрооперации ПД на
4р вхор 14. 2. 7 в блок .5 (фиг.6); п/и и п/:; — значение наличия или отсутствия переполнения счетчика 81; Т, Т вЂ” триггеры 57 и 58 в блоке 4;
PQ — инверсное значение старшего
45 разряда регистра PQ в блоках 1 и 2;
59 (91) - состояние выхода элемента
59 (91) сравнения; F и OVR — соответственно выходы блока 1 старшего (знакового) разряда результата и пе. реполнение результата; (f — переполнение результата деления двух чисел; (13.1 ) — код на группе 13.1 входов устройства; 9 — сумма по модулю два;
k — константа, записываемая в счетчик
81 и определяющая необходимое число импульсов, которое необходимо подать на счетный вход "+1" счетчика 8 1, чтобы на его выходе выработался сигнал переполнения (если полное число
1б05228.Емпугrrcorl на счетном входе "+1 счетчик» 81, -IpH котором наступает перел
Ео пление,, равно 2, где r — разрядность счетчика 81, то соотношение
5 между К и задаваемым числом циклов m
Р соответствует выражению m = 2 — К; (R1 + 1) — увеличенное на единицу со,Еер>а1мое счетчика 38, .адресующее pe1ii1cтры олоков " и 2,с номером, на еди11ицу большим исходно заданного номера; CT + 1 и СТ 6 — 1 — увеличение и уменьшение на единицу содержимого счетчика 38 (фиг .2); signR знак результата операции, т.е. состояние сигнала на выходе Fy блока 1
111и па выходе 20 блока 4 R — реоь зультат о-Ееу111.1111 в блоке 1.
Перец описанием работы устройства
;еля деле11ия чисел без восстановления 20 остатка B целом опишем назначение и работу отдел1-ных блоков, узлов и элементов устройс гва.
Блоки 1 и 2 предназначены для приема, храпения, преобразования, в 25 частеЕости„деления чисел и выдачи информации и сигналов признаков под во..действием сигналов, подаваемых на входы: С вЂ” «ходного переноса, OE считывания иеЕфоре1ации из блоков 1 и
2, 1 ь о — микроопераций управления (T,—, определяет вьп1олняемые в блоках 1 и 2 действия — сложение, вычи- .
Еаеп1е и ДР,, а Т О опРеДелЯет источ;.и;и информации (операндов) для ЭТИХ, . Е =и Т ".
35 ука311в 1ющих куда и каl.им образом
1«ЕОП=.,rjînírÑË ЗаПИСЬ рЕЗуЛЬтата И ВЫда-.;I информации на выход Y .блоков 1 и ? каэаllнь е входеЕые воздействия
ooñïpëIII1l1ëIîòñÿ и выпол11яются под упP.-:l lrIrI i ;Ierr ТаКтИРУЮЩЕГО СИгиаЛа На т;, .пэном входе Т. При подаче сигнала (чиз1;огc уроЕЭЕея) на вход OL блоков
2 erо Енформация вьЕдается на
45 группу Y информационных входов, а признаки результатов (С.y — выходной перенос, Р - старший (знаковый) разряд рез у1-ьтата, OVR — переполнение)— на соответствующие выходы блоков 1
H ?, Информация старших разрядов сдгигаемой при делении информации выдается по выходам РЕ и РО, а мпадешЕХ разрядов — принимается по входам
РК, . РС;„.
Блок 3 предназначен для организа55 ции адресации регистров ОБ 1 (2) в процессе вычислее1ий, а также для активаЕПЕи блоков 1 и 2 в процессе их функционирования„ Данная активация обусловлена тем, что в процессе функционирования устройства должны активироваться на определенную работу либо оба блока 1 и 2,либо один из блоков 1 и 2, либо оба не должны бьеть активными. Для этой цели может использоваться тактовый вход Т каждого блока 1 и 2, управляемый соответствующими микрооперациями. Однако гонки в ключах разрешения подачи сигна-, лов на тактовые входы Т, обладающих высоким быстродействием, могут при" вести к сбоям в работе блоков 1 и 2.
В устройстве тактовые входы Т обоих блоков 1 и 2 объединены между собой тактовым входом 15 устройства, на который постоянно подаются тактирующие сигналы. Несрабатывание блоков
1 или 2, при необходимости, в данном устройстве рассматривается как подача кода "001" на вход 18 < при котором элементы памяти не изменяют своего состояния. Сигналы блокировки срабатывания одного из блоков 1 и 2 формируются в узле 41 активации операционных блоков, а условия их формирования будут описаны ниже.
Регистры в блоках 1 и 2 адресуются двумя полями адресов А и В, поэтому в блоке 3 для их адресации используются счетчик 37. адресов поля А и счетчик 38 адресов поля В блоках 1 и 2. Занесение исходных адресов полей А и В в блок 1 или 2, в счетчики
37 и 38 б,ока 3 производится при подаче на их информационные входы D соответствующих кодов с выхода второго коммутатора 10 данных, подачи кода "111" на информационный вход D дешифратора 42 с входов 13.2 устрой-! ,ства H подачи синхросигнала на управляющий вход V дешифратора 42 с синхровхода 17 устройства. При этом на инверсном выходе "7" дешифратора 42 вьлабат11вается сигнал (низкого уровня), который поступает на синхровходы с счетчиков 37 и 38 и обеспечивает в них нанесение упомянутых кодов начальных адресов. Таким образом, сигналы на одном из выходов "1""7" дешифратора 42 вырабатываются только в момент подачи сигнала на синхровход 17 устройства, причем код на входе 13,2 устройства определяет один из выходов "1" — "7" дешифратора 42, на котором вырабатывается сигнал. При нулевом коде на входе 13.2
228
10 ра 39 (40) адреса снимается и на его выходе образуется нулевой код, поскольку элементы И 48 закрыты, Если элементы И 48 открыты, код адреса на выходе коммутатора 39 (40) определяется кодами на выходах мультиплексора 47. В этом случае коммутатор 39 (40) работает следующим образом. Коды на группе 14.3,2 (14.3.4) управляющих входов коммутатора 39 (40) и соответственно на управляющем входе
V мультиплексора 47 обеспечивает передачу кодов с входов коммутатора 39 (40) на его выход следующим образом.
При коде "00" на выход коммутатора 39 (40) пер едаются коды с его пер вой группы 37 (38) входов; при коде
"01" — со второй группы 38 (37) входов, При кодах "10" и "11" на выходах . старших разрядов D и Е мультиплексора 47 формируются единичные коды, поскольку информационные входы D и D, Е> и E мультиплексора 47 подкпючены к шине .49 елиничного потенциала.
Младшие разряды А и В мультиплексора
47 формируют коды следующим образом, При коде "10" t "11" J осуществляется передача кодов с выходов Q и Q i младших разрядов первой 1 второй g группы информационных входов 37 (38)
138 (37) коммутатора 39 (40) адреса, При этом разряды Q< счетчиков 37 и 38 блока 3 определяют место размещения операнда — в блок 1 или блок 2 и соответственно активацию одного из них.
Поэтому коды управления на входах
14 . 3. 2 и 14.3.4 коммутаторов 39 и 40 адреса и состояния третьих разрядов
Q счетчиков 37 и 38 адресов поступают на входы узла 41 активации операционных блоков и заставляют срабатывать его следующим образом (фиг.4) .
Пешифраторы 50 и 51 блока 41 дешифрируют только коды "10" и "11" соответственно инверсные выходы "2" и ".3" дешифраторов 50 и 51. Элементы И-НЕ 52 и 53 реализуют функцию
ИЛИ для сигналов с выходов дешифраторов 50 и 51 с инвертированием соот- . ветствующих их сигналов. Таким образом, на выходе первого (второго) эле-, мента 52 (53) И-НЕ появляется сигнал при коде "10" на группе 14.3.2 (14.3.4) входов устройства и при коде "11" на группе 14.3.4 (14.3.2) входов устройства. Сигнал с выхода первого элемента И-НЕ 52 разрешает срабатывание первых вентилей первог
9 1605 устройства сигналы на выходах "1""7" дешифратора 42 не формируются даже в момент подачи сигнала на синхро вход 17 устройства. Поскольку сигналы на выходах дешифратора 42 формируются в инверсной форме, то элементы
43-46 И в блоке 3 реализуют функцию
ИЛИ для этих сигналов, Таким образом, при выработке сигналов на выходе "1 ("2") дешифратора 42 содержимое счетчика 38 увеличивается (уменьшается) на единицу, при выработке сигнала на выходе "3" ("4") дешифратора 42 содержимое счетчика 37 увеличивается (уменьшается) на единицу, а при выработке сигнала на вьгхоце "5" ("б") дешифратора 42 содержимое обоих счетчиков 37 и 38 увеличивается (уменьшается) на единицу. 20
При -выполнении отдельных алгоритмов операций, предполагающих деление операндов, а также при реализации деления командами с различным представлением форматов этих команд блок 3 реализует полную симметрию счетчиков
37 и 38 пе отношению к кодам полей
1 адресов А и Б на выходе 24 блока 3.
Рокировка этих полей на выходе 24 блока 3 по отношению к счетчикам 37 и 38 осуществляется коммутаторами 39 и 40.
Кроме того, блок 3 обеспечивает уплотнение размещения малоформатных данных в регистрах блоков 1.и 2 и формирование фиксированного адреса регистров этих блоков. В устройстве в качестве фиксированного адреса принят нулевой код, обеспечивающий адресацию регистра с нулевым номером.
Данный регистр используется как дополнительный вспомогательный регистр устройства, что обеспечивает сохранение неизмененным один из двух операндов при делении (на место другого операнда помещается результат деле45 ния) .
Таким образом, коммутатор 39 (40) адресов (фиг,3) работает следующим образом. На управлякщий вход 14.3.1 (14 ° 3.3) постоянно подается единичный
50 сигнал, разрешающий передачу соответствующего адреса через группу элементов 48 И на выход коммутатора 39 (40) адреса. В тех циклах работы устройства где долЖен формироваться фиксированный (нулевой) код адреса поля А (Б) блоков 1 и 2 сигнал на управляющем входе 14.3.! (14 ° 3,3) коммутато12
16
54 и второго 55 элементов И-ИЛИ-НЕ,а сигнал с выхода второго элемента
И-НЕ 53 разрешает срабатывание вторых
37 или 38 обеспечит появление низкого
;ровня сигнала на выходе первого элемента Il-ИЛИ-HE 54, а единичное значецессе деления чисел в триггере 57
1. знака делителя его инверсное значение и значение знака очередной опезнака результата деления, загружаемое с выхода РО бпока 1, значение знака результатов операций, загружаемых с выхода F> блока 1, а также значения сигналов переносов С при обработке малоформатных кодов с. выхода элемен-. та И-ИЛИ 60, при этом сигналы на выходах элементов И-ИЛИ-НЕ 54 и 55 вентилей этих же элементов И-ИЛИ-НЕ
54 и 55. Формирование сигналов одновременно на выходах и первого 52 и второго 53 элементов И-HE не должно производиться, поскольку невозможно мгновенное взаимодействие двух операндов, размещенных в разных блоках
1 и 2. Такое взаимодействие должно произволиться за два цикла, в одном из которых, например втором, операнд выдается из блока 2 (1) через коммутатор 9 и фиксируется в одном из регчстров 6 или 7. Во втором цикле этот о вера д пз регистра 6 (7) передается через коммута" îð 10 в блок 1(2), в котором он и взаимодействует с другим операндом. Таким образом, коды па входах. 14 . 3 .? и 14 . 3 . .4 формируются так, что сигнал может вырабатываться только на выходе одного из элементов И-FlE 52 или 53, при этом . нулевое значение выхода Q счетчика
IIIIe выхода Q счетчика 37 и 38 — на выходе второго элемента И-ИЛИ-НЕ 55.
В первом случае блокируется блок 1 и а ктивир уется блок 2, а во втор ом слу-Ià å наоборот .
Блок 4 предназначен (фиг . 5) для хранения истиннсго значеж я знака результата операций в триггере 57 (в блоке 1 получение истинного знака результата не обеспечивается при переполнении результатов операций над операндами в блоках 1 и 2), В триггер 57 заносится . нак операндов, на прим р делителей. загружаемых в операционные блоки (разряд 23 выхода коммутатор» 10), истинное значение поступают в блок 4 через вторую группу 25 управляющих входов и определяот, какой из операционных блоков активирован, т.е откуда должен восприниматься сигнал Cq выходного переноса. Один из перечисленных источников
05228 информации для триггера 57 задается соответствующим кодом на первой группе 14.1 управляющих входов БП4 и управляющем входе V мультиплексора 56, причем при нулевом коде на этом входе содержимое триггера 57 не изменяется, что обеспечивается обратной связью с выхода триггера 57 на его информационный вход D через мультиплексор 56. Значение истинного знака результата, хранимое в триггере 57, может быть использовано, например, при переполнении результата вычислений. В этом случае результат вычислений может быть заменен максимальным по модулю машинным числом "10... ...0" для отрицательного значения результата и числом "01-1" для поло20 жительного значения результата.
В триггере 58 в течение одного цикла работы устройства (определяется периодом следования тактов на входе 15 устройства) хранится значенйе
25 очередного результата вычислений (например, деления) . При хранении в про3р рации в блок 1 (2) при выполнении деления, поступающие на входы элемента
59 сравнения, обеспечивают формирование на его выходе и на выходе 22 блока 4 значения очередной цифры частного и определяют очередную операцию (сложение или вычитание) над. остатком и делителем.
Кроме того, значения сигналов на выходах 20 и 21 блока 4 определяют возможность ветвления микропрограмм при выполнении соответствующих микрокоманд (будет пояснено при описании выполнения команд деления) .
Блок 5 дешифрации кодов (фиг.4) предназначен для формирования управляющих сигналов блоков 1 и 2, коммутатора 8 и группы 11 элементов И, зависимости от состава обрабатываемых данных (состояние выходного переноса С блока 2 и очередной цифры част50 ного — выход 22 блока 4) или от сигналов активации блоков 1 и 2, формируемых на выходе блока 25 блока 3 (выходы элементов И-ИЛИ-НЕ 54 и 55) .
Исходное зчачение кодов управления блоков 1, 2, коммутатора 8 и группы элементов 11 поступает в блок 5 с группы управляющих входов 14.2, а ис-. тинное значение кодов управления этиl3
14
1605228
I ми узлами устройства формируется на выходах 26-34 блока 5 с учетом состояния сигналов на выходе 25 блока 3, выходе 22 блока 4 и выходе С блока
Ф
2 следующим образом.
Активация работы блоков t и 2 производится как безусловно сигналами на соответствующих входах группы 14.2 входа в устройство, так и условно в зависимости о-. состояния сигналов на (фиг.2 и 4) входах 14,3.2 и 14.3.4 в устройство и состояния кодов адресов (на выходах Q счетчиков 37 и 38), определяющих сигналы на входах 25 блока 5.
При поступлении (низкого уровня) сигнала по входу 54 гругпы входов 25 блока 5 блокируется активация блока 1 (на группе 32 выходов I8 блока 5 формируется код 001 и на выходе 27
I I 17
20 единичный сигнал, т.е. заблокирована выработка сигнала ОЕ для блока 1) и разрешается активация блока 2, на выходе элемента И-НЕ 70 вырабатывается 25 сигнал, разрешающий срабатывание вторых вентилей элементов И-ИЛИ 63 и 64 и элемента 65 И-ИЛИ-НЕ; срабатывание элемента И-НЕ 72 разрешается высоким уровнем сигнала на выходе элемента
И-НЕ 71) . При поступлении сигнала по входу 55 группы 25 входов блока 5 блокируется активация блока 2 через вторые вентили элементов И-ИЛИ 63 и
64 и И-ИЛИ-НЕ 65;
Блокировка активации блока 1 и разрешение активации блока 2 безусловно производятся сигналом микрооперации на входе 14. 2. 1 блока 5, т. е. признаком полуслова (ППС) инвертиУ 40 руемым элементом НЕ 75, аналогично тому, как это производится выше огисанным сигналом на входе 54 группы входов 25 блока 5, При активации одновременно блоков
1 и 2 на вход 14.2.5 блока 5 подается сигнал — "признаком слова" (ЛС) .
При подаче сигнала ПС по входу 14 . 2, 5 блока 5 сигналы (низкого уровня) на входах 54 и 55 группы входов 25 отсутствуют.
Для активации только блока 1 (в дальнейшем предполагаем отсутствие сигналов низкого уровня на входах 54 и 55 группы 25 вхоцов, наличие сигналов на этих входах будет оговариваться особо) сигналы на входах 14.2. 1 и
14.2.5 должны отс,тствовать, что обеспечит блокировку срабатывания первых вентилей элементов И-ИЛИ 63 и 64 и элемента П-ИЛ11-НЕ 65 отсутствием сигнала на входе 14 . 2, 5 блока 5, а вторых вентилей — отсутствием сигнала на выходе элемента И-HE 70. При этом на выходе 33 блока 5 будет сформирован код "001".
Входы 14.2.2, 14.2,3 и 14.2.4 блока 5 соответствуют управляющим сигналам I8 6 операционных блоков и передаются только на группу 32 выходов блока 5 (на выходы элементов 66 и 67
И и 69 И-НЕ) при отсутствии сигналов на входах 14, 2. 1 и 14 . 2. 5, только на группу 33 выходов блока 5 (на выходы элементов 63 и 64 И-ИЛИ и 65 И-ИЛИНЕ через вторых их вентили) при наличии сигнала ППС на входе 14,2.1 блока 5, а также на обе группы 32 и 33 выходов блока 5 (на выходы элементов И-ИЛИ 63 и 64 и И-ИЛИ-НЕ 65 данные сигналы персдаются через их первые вентили) при наличии сигнала на входе 14.2.5. Кроме того, единичный сигнал микрооперации I>, определяющий сдвиг влево при выполнении операций деления, передается на выход 26 блока 5 и соответственно на блокирующие входы ц коммутатора 8 сдвигов и группы 11 элементов И.
Группа 14.2.9 входов блока 5 формирует микрооперации I<о для блоков
1 и 2 и передается на выходы 31 блока 5, причем микрооперация I з передается через элемент ИЛИ 74, Поскольку в делении в зависимости от полученной очередной цифры частного производится сложение или вычитание остатка и делителя, то микрооперация I> является условной (для блоков 1 и 2
I = 000 соответствует сложению и
I = 001 — вычитанию остатка и делителя) . В этом случае микрооперация
I в группе 14.2 ° 9 входов блока 5 равна нулю, а на входе 14.2. 7 вырабатывается микрооперация (назовем ее в дальнейшем признаком деления (ПД) ), проверяющая условие истинного значения 1 для блоков 1 и 2, зависящего от значения полученной очередной цифры частного. В данном случае истинное значение микрооперации Iy формируется на выходе элемента И 68, а значит и на соответствующем выходе группы выходов 31 блока 5.
Поскольку при вычитании (I 5
"001") должен формироваться сигнал . входного переноса Со в блоках 1 и 2, (5
16
1605228 то при срабатывании элемента И 68 на выходе 30 блока 5 также формируется сигнал входного переноса С для блоо ка 2.
Сигнал СО входного переноса для блока 2 формируется на выходе 30 блока 5 либо условно сигналом с выхода элемента И 68 (при формировании сигнала ПД на входе 14.2.7 блока 5), либо безусловно сигналом, поступаю" щим на входы 14.2.6. При этом сигнал
С для блока 2 используется только при активации блока 2.
Сигнал СО входного переноса для блока 1 должен быть равен сигналу С, выходного переноса блока 2 в случае одновременной активации и блока 1 и блока 2 (обработка в устройстве слов, определяемая наличием сигнала ПС на входе 14.2.5 блока 5) . В этом случае сигнал ПС на входе 14.2.5 блока 5 че-". рез элемент НЕ 77 запрещает срабатывание второго и третьего вентилей элемента И-ИЛИ 62 и разрешает переда- 25 чу сигнала через первый вентиль эле" мента И-ИЛИ 62 с выхода С4 блока 2 на выход 29 блока 5 (вход С блока 1) .
При активации только блока 1 закр ыт пер вый в е нтиль эл емен та И-ИЛИ 6 2 и открыты его второй и третий вентиль сигналом с выхода элемента НЕ 77. При этом при безусловном формировании сигнала СО на выходе 29 блока 5 на его входе 14.2.6 формируется сигнал, 35 который на выход 29 блока 5 передается чер ез вт ор ой в ентил ь эл емента
И-ИЛИ 62. При условном формировании сигнала Сд на. выходе 29 блока 5 в командах деления сигналы на входах 14.2.7 и 22 блока 5 обеспечат срабатывание третьего вентиля элемента
И-ИХК 62 и выдачу сигнала С на выход 29.
Поскольку информационные выходы Y 4 блоков 1 и 2 объединены между собой, то одновременное считывание чнформа-, ции с блоков 1 и 2 недопустимо, поэтому наличие (низкого уровня) сигнала 0Е. считывания информации с блока
1 на выходе 27 блока 5 определяет его отсутствие на выходе 28 (выход элемента И-НЕ 71 подключен к входу элемента И-HE 72), Для считывания информации с блока
1 (2) на вход 14.2,8 блока 5 должен
55 поступать сигнал. При этом, если отсутствует блокировка срабатывания блока 1 (высокие уровни сигналов на входе 54 группы 25 входов блока 5 и на выходе элемента НЕ 75), то низкий уровень сигнала ОЕ формируется только на выходе 27, а при наличии блокировки срабатывания блока 1 (активирован только блок 2, что определяется низким уровнем сигнала на входе 54 группы 25 входов блока 2 йли на выходе элемента НЕ 75) низкий уровень сигнала ОЕ вырабатывается только на выходе 28 блока 5.
Следует также отметить, что при активации блоков 1 и 2 одновременно они рассматриваются как один операционный блок с разрядностью, равной сумме разрядностей блоков t и 2. По этому сигнал ПС с входа 14 .2.5 ПК по ступает через его выход 34 на управляющий вход V коммутатора 8 сдвигов, что соответствует передаче сигналов на выхоцы У коммутатора 8 с его — 1
ВХОДОВ В °
При отсутствии сигнала на входе
14.2.5 блока 5 и соответственно на его выходе 34 коммутатор 8 сдвигов передает информацию на выходы У; со своих входов А;. Таким образом деление слов производится в блоках 1 и 2, а деление полуслов «в блоке 1.
При сдвиге влево результата очередного цикла деления . для остатка
его младшие разряды должны заполняться нулевой информацией, а частного от деления — значением полученной очередной цифрой частного. Поэтому первые входы первой группы входов А коммутатора 8 сдвигов (используется при делении полуслов) и группы элементов И 11 подключены к шине нулевого потенциала, а вторые входы— к выходу 22 очередной цифры частного блока 4. В каком из операционных блоков 1 или 2 будут восприниматься сигналы с шины нулевого потенциала и с выхода 22 блока 4, определяется состоянием сигнала ПС на выходе 34 блока 5 и активацией этих блоков 2 и (или) 1 .
Выходы У;. коммутатора 8 сдвигов и выходы группы элементов И 11 переводятся в активное состояние (передача сигналов со входов на выходы) только при наличии сигнала поступающего с выхода 26 блока 5 на входы W коммутатора 8 и группы 11 элементов И. Во всех остальных случаях выходы коммутатора 8 и группы элементов И 11 переводятся в отключенное (высокоим17
18
1605228 педансное) состояние. Это обусловлено тем, что при нулевом состоянии микрооперации I входы блоков t (2) переключаются в режим выдачи сигна5 лов, Первый коммутатор 9 данных (фиг.1) предназначен для передачи информации с первой группы 12 информационных входов устройства (например, при загрузке блоков 1 и 2 операндами— числами, индексами или кодами адресов), с второй группы 13 информационных входов устройства (при коррекции
1результатов деления) и с групп Y информационных выходов блоков 1 и 2 (при выдаче результатов операций во внешние устройства, например, в ОЗУ, либо при пересыпке операндов из одного операционного блока в другой) .
Передача указанной информации через; первый коммутатор 9 данных осуществляется под управлением соответствую" щих кодов, поступающих на группу управляющих входов 14.4 устройства. 25
Для временного хранения информации, передаваемой через первый коммутатор 9 данных, используются регистры 6 и 7.
Наличие этих регистров обусловлено, во-первых, необходимостью согласовать работу устройства как с другими элементами устройства (при приеме информации с входов 12 и 13.1 устройства, а также при выдаче информа35 ции и адресов во внешние устройства, например, адреса из памяти блоков 1 и 2 передаются через регистр 6 и выходы 18 устройства, а данные — через регистр 7 и выход 19 устройства), так и с операционными блоками 1 и 2 самого устройства (передача данных из блока 1 в блок 2 и наоборот должна проходить буферизацию на внешнем регистре, что вызвано объединением их 45 как по тактовому входу, так и по входам микроопераций Тя о из-за устранения влияния гонок) .
Регистры 6 и 7 выполняются на элементах памяти типа защелки, которые
50 обеспечивают передачу сигнала с входа на выход при наличии сигнала на синхровходе регистра и запоминание информации в момент снятия синхросигнала. Хранение информации в регистре
6 {7) продолжается до поступления
55 очередного синхросигнала на вход
16. 1 группы 16 синхровходов устрой-. ства.
Второй коммутатор 10 данных предназначен для передачи содержимого одного из регистров 6 или 7 на информационные входы блоков 1-3 и знакового разряда на информационный вход блока 4. Подключение к информационным входам укаэанных блоков не одного из двух регистров 6 и 7, а их обоих через коммутатор 10 позволяет совмещать во времени выдачу информации на выход 18 (19) устройства с передачей содержимого регистра 7 (6) в блоки 1-4.
Поясним назначение и работу микропрограммного блока управления (ИПУУ) и его блоков, узлов и элементов (фиг.7).
Триггер 85 пуска предназначен для запуска и останова генератора 84 синхросигналов. Включение триггера 85 по входу 92 разрешает работу, а выключение триггера 85 по входу 93 ос- танавливает .работу генератора 84 си нхр оси r нал ов, Включенный генератор 84 синхросигналов вырабатывает на своих выходах
94 и 95 последовательность синхросигналов (cM, первые две последовательности сигналов 94 (15) и 95 на временной диаграмме фиг.8), первый из которых используется как в самом ИПУУ так и в устройстве для деления (фиг.1) в которое поступает по входу 15.
Инверсное значение сигнала на выкоде 95 генератора 84 обеспечивает срабатывание по его фронту РАИК 79 (см. четвертую последовательность сигналов 79 на фиг,8) и укорочение сигнала с выхода 94 генератора 84 для подачи на вход 17 устройства для деления (см. третью последовательность сигналов 17 на временной диаграмме фиг.8), что обеспечивается элементом И 89.
Коммутатор 82 адреса микрокоманп предназначен для формировапия адреса микрокоманды. В качестве адреса первой микрокоманды любой микропрограммы является код операции, поступающей по входу 96 кода операции микропрограммного блока управления и заи омина емый в р егистре 79 .
Прием в PAHK 79 адреса первой микрокоманды очередной микропрограммы происходит во время считывания из памяти 78 микрокоманд последней микрокоманды текущей микропрограммы. В этом случае на второй выход памяти
1 9
1605228
78 . ипкрококанд пьг;ается сигнал микроoni. Ii;; цпи Конец кома ды, поступаюi1 пдй на уира внякншпй вход Ч коммутатора 82 адреса (сигнал на выходе перепочпения счетчика 8 1 в конце команды отсутствует), обеспечивая передачу чере коммутатор 82 на информационный вход « регистра 79 кода оперании с входа 96 устройства. 10
При отсутствии микрооперации "Конец команды" коммутатор 82 передает информацию с первой группы выходов
78 памяти микрокоманд о наличии сигнала переполнения на выходе счетчика 81 или с второй группы выходов памяти 78 микрокоманд и выхода коммутатора 83 логических условий при отсутствии сигнала на выходе переполнения счетчика 81. 20
Перед выполнением операции деления предположим, что первый операнд (делимое) располагается в регистре операционного .блока 2 с номером R1, хранимым в счетчике 38 блока 3, à 25 второй операнд (делитель) — в регистре с номером R2, хранимым в счет .ике 37 блока 3 (коды R1 и R2 поступаюг на вход 12 устройства и передаются через коммутатор 9, регистр 6 (7) по стробу на входе
16.1 (16,2) группы 16 входов устройсгва, коммутатор 10 и записываются в счетчики 38 и 37 в момент подачи синхросигнала на вход 17 и кода "111" на гр;ппу 13.2 входов устройства), Загрузка регистров блоков 1 и 2 операндами будет описана отдельно. pn пояснении алгоритма выполнения команд деления подразумевается извес.: ным (оговаривалось ранее), что ттрн ."сиен:.i;i полуслов срабатывает только блок 1 (на входах 14. 2. 1 и
14,".,5 микрооперации отсутствуют) а при делении слов срабатывают и блок
1, .и блок . (на вход 14 ..5 поступа45 ет иикрооперация ПС) . Поэтому на фиг,9 представлен единый алгоритм как для деления полуслов, так и слов, а микрооперация 14,2,5 в операторах этого алгоритма не показана. Кроме гого, разные алгоритмы представляются отдельною ветвями, имеющими буквенную индексацию возле номеров соответствующих операторов, и будут поясняться дополнительно .
В «ервой микрокоманде (см. алгоритм на фиг.9) производится перепись делителя из регистра с номером R2 в р егистр с нулевым номером, используемым в качестве рабочего регистра. Регистр УРо адресуется нулевым кодом, несмотря на ненулевое содержимое счетчиков 37 и 38, путем блокировки пер едачи содержимого этих р егис тров через элементы И 48 (фиг,3), Кроме того, в первой микрокоманде знак делителя заносится в триггер 57, в котором хранится до окончания процедуры деления при получении очередных цифр частного.
Во второй микрокоманде в счетчик
81 загружается константой К, определяющее число шагов получения цифр частного (для полуслов и слов К имеют различные значения и определяются их разрядностью), Поскольку в каждом цикле выполнения команды деления по .лучается значение очередной цифры частного и определяется операция (сложение или вычитание) над остатком и делителем в следующем цикле деления, то с целью сокращения (на один цикл) времени выполнения ком