Устройство для деления чисел без восстановления остатка
Изобретение относится к вычислительной технике и может найти применение в арифметических устройствах процессоров быстродействующих ЦВМ. Цель изобретения - сокращение аппаратурных затрат. Устройство позволяет реализовать различные дисциплины округления результата деления, получить результат деления удвоенной разрядности и делить числа различного формата без потери производительности устройства и снижения коэффициента использования оборудования устройства. Устройство для деления чисел без восстановления остатка содержит операционные блоки 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 загружается константой К, определяющее число шагов получения цифр частного (для полуслов и слов К имеют различные значения и определяются их разрядностью), Поскольку в каждом цикле выполнения команды деления по .лучается значение очередной цифры частного и определяется операция (сложение или вычитание) над остатком и делителем в следующем цикле деления, то с целью сокращения (на один цикл) времени выполнения команды деления во второй микрокоманде делимое передается в сумматор блока 1 (2), а его знак запоминается в триггере 58.
Это позволяет при выполнении оператора "3" со знаковым разрядом оперировать также как и с разрядами значащей части делимого (остатка), что упрощает реали зацию деления, однако приводит к получению инверсного значения истинного эна;..а результата при записи .- ервого.бита в мпадший разряд вспомогательного регистра блока 1 (2) при первом. исполнении микрокоманды третьего оператора и получению истинного значения микроопераций I> и С об ес и ечи ва ющих пр а вил ь но е ср а ба тывание оператора "3 для подготовки операции при очередном (втором) выпопнении оператора "3".
При каждом очередном ра.зе выполнения операгора "3" на выходе элемента
59 сравнения формируется очередная цифра частного предыдущего цикла вычислений, поступающая в младший разряд вспомогательного регистра. Совмещение выполнения очередной операции (сложение, вычитание), зависящей от полученного результата в предыдущем цикле деления и занесения значения очередной цифры частного во вспомогательный регистр блока 1 и 2, обеспечивает триггер 58, обеспечивающий -задержку на один цикл значения
2!
22
1605228 знака результата операции над остатком и делителем.
Кроме того, следует отметить что при выполнении оператора "3": в первый раз в младший разряд вспомогательного регистра заносится инверсное значение истинного знака результата, во второй раз — значение знака результата истинное при корректных коУ !
О дах делимого и делителя, не дающих переполнения разрядной сетки при делении и инверсное при операндах, приводящих к переполнению разрядной сетки, в третий и т,д. разы — значения первой и т.д. значащих цифр результата деления.
Микрокоманды третьего оператора алг оритма (фиг . 9) выполняются следующим образом. На место делимого (регистр с номером R1) заносится сдвинутый на один разряд влево результат сложения или вычитания (определяется сигналом на выходе 22 очередной цифры частного блока 4) делимого или очередного остатка и делителя. В мпадший разряд результата при этом заьосится нулевая цифра, так как вход А коммутатора 8 сдвигов 30 и первый вход группы элементов И 11 подключены к шине нулевого потенциала. Содержимое вспомогательного регистра также сдвигается на один разряд влево, причем в его младший разряд заносится значение очередной цифры частного (вход А коммутатора 8 сдвигов и группы 11 элементов И под- ключены к выходу 22 блока 4) . Микрооперащ и Е о- = "001" соответствуют работе с регистрами, адресуемыми полями А ("0...0") и В (R1); микрооперация I = 00(0/ и С = jOJ соответствует нулевому значению полученной ОчереднОЙ цифры частного (состоя 45 ния выхода 22 блока 4 проверяется микрооперацией ПД на входе 14.2. 7 блока 5) и соответствует сложению делимого (очередного остатка) и делителя, а Е > = 00 (1, С равно 11Д соответствует единице полученной оче„50 редной цифре частного и соответствует вычитанию делителя из делимого (очередного остатка) . Кроме того, в третьем операторе содержимое счетчика 81 увеличивается на единицу и проверяется его переполнением. При отсутствии переполнения выполнение оператора "3 повторяется, при переполнении счетчика 81 происходит переход к четвертому оператору, .Поскольку алгоритм и реализация деления чисел построены так, что во вспомогательном регистре хранятся два числа: истинный (инверсное значение) и полученный при делении (инверсное значение при переполнении), то величина К выбирается такой, что после выполнения. оператора "3" в старшем разряде вспомогательного регистра хранится первое (инверсное) значение знака результата, а сам результат требует вычисления еще младшего разряда результата деления. Поэтому оператор "4" ("4а" и "4б") выполняется аналогично оператору "3", что определяет значение младшего разряда частного. При этом отличие четвертого оператора от третьего состоит в том, что счетчик 81 не работает, и при выполнении четвертого оператора из в с помогат ельног о р егис тра выд вига ется инверсное значение знака результата, которое, инвертируясь на инверторе 61 (см. фиг.5), заносится в триггер 57 через информационный вход "2" мультиплексора 56, и в младший разряд вспомогательного регистра заносится значение цифры младшего разряда результата.
Отличие оператора "4а" от "4б" заключается в том, что оператор "4а" является ветвью алгоритмов при отсутствии округления (от оператора "4а" осуществляется переход к оператору
"5а"), при округлении путем принудительной записи единицы в младший разряд результата (при делении полуслов за оператором "4а" следует оператор
"5б", а при делении слов за оператором "4а" следует оператор "5в") . Оператор "4б" является ветвью алгоритма при округлении по значению сверхмпадшей цифры частного, при этом значение сверхмладшей цифры частного равно инверсии суммы по модулю два сигналов на выходах 20 и 21 блока 4, поэтому при проверке соответствующего логического условия (сигнала на выходе элемента 9 1 сравнения) переход к оператору "5a" соответствует отсутствию округления, а к оператору "5r" — округлению путем прибавления единицы младшег о разряда (например, единицы входного пер еноса 14 ° 2. 6 = С„= ." 1") к полученному результату -.
1605228 )4
Таким образом, в операторе "5а"
i роизВодится перепись частного из
Вспомогательного регистра PQ в регпс Тр с номером R1, причем о . лчествч»етс» анализ результата на переполнение, которое определяется тем, что знак полученного, результата не равен истинному знаку р езультата, хра нимому В триггере 57, т. е. переполнению соответствует единица на выходе эле1 мента 9 1 сравнения ..
Н операторе "5б" анализ переполне пп1 ос уществляется аналогично Операт ру "5а", а формирование единичного 15 значения младшей части результата деления (частного) производится путем пода-III -Iap es группу 113 . 1 входов устройства, коммутатор 9, регистр 6 (7) и ког."мутатор 10 на информационный
Вход блока 1 кода с единицей в младшем разряде и нулями в остальных раэ1 р»дах, al — проведения операции поразрядного логического сложения над содержимым вспомога- 25 тельного регистра и кода на информационном входе D блока 1 и.занесе- ния результата н регистр с номером .30
Оператор " в" выполняется аналогично оператору "5a Отличие операторов "5a" от "5в" состоит в том, что в операторе "5a" при обработке слов перег-,.: с"- результата происходит в блок
35 и блок 2, т „е. на вход 14,2,5 блока 5 поступает сигнал микрооперации
ПС, а при обработк".= полуслов в операторе "5а" срабатываег только блок 1 (нет микрооперации ПС), В операторе
"5в" несмотря на то, что он предстаж1»ет ветвь алгоритма деления слов, микроoIIepaii;.|я ПС не вырабатывается и старшее полуслово результата из pe1IIc rpa PQ пер еписывается B р егистp с номером В.1 блока 1 без изменения, IIocKoJIIêó младшая часть результага при делении слов находится в блоке 2, то формирование единицы B младшем разряде результата осуществляется в операторе 6 аналогично опера
11 11
50 тору "5б". Отличие состоит лишь в том, что В шестом операторе в устройство поступает микрооперация ППС по входу 14 . 2. 1 (см. фиг .6), обеспечи55 ваюшая срабатывание только блока 2, и отс. тствует анализ на переполнение р езул ь..ата (такой анализ проводится
11ñ ll
В оператор» 5в ) ° оп "Р »тор с 5I прои. Водится округление .результата пут. и прибавления единицы младшего разряда к результату, полученному в регистре PQ и полученный результат помещается в регистр блока 1 (2) с номером R1, При этом анализ на переполнение разрядной сетки состоит как проверкой равенства истинного знака полученному (аналогично вьш еописанному анализу сигнала на выходе элемента 91 сравнения), так и проверкой состояниА сигнала OVR в блоке 1. Недостаточность проверки только сигнала OVR заключается в том, что при неверно полученном знаке результата и его округлении переполнение неверно полученного числа может отсутствовать, а недостаточность проверки только на равенство истинного (содержимое триг. гера 57) и полученного знака результата (сигнал на выходе Г блока 1) элементом 91 сравнения заключается в том, что после округления неверно полученного частного его знак может совпасть с истинным знаком, а наличие переполнения обнаруживается сигналом
0VR.
На алгоритмах, представленных на фиг.9 и 10 не показаны ветви анализа и перехода по переполнению. Для данного анализа в МПУУ (фиг.7) коммутатор 83 логических условий должен бьггь дополнен еще одним логическим условием, равным логическому сложению (функция ИЛИ), для сигналов с выхода элемента 91 сравнения и с выхода OVR в блок 1.
При делении слов запись в регистр
R1 указанных кодов осуществляется за две аналогичных посылки: сперва заносится код "10...0" ("01 ° ..1") в блок
1, а затем код "О...О" ("1...1") в блоке 2. При записи кодов в блок 2 в устройство подается микрооперация
ППС по входу 14.2.1 в блок 5.
На фиг.10 приведен алгоритм деления слов с получением результата удвоенной разрядности. Размещение результата осуществляется в двух смежных регистрах: старшая часть в регистре блока 1 с номером 1, а младшая часть с номером на единицу большим (фиг.10 имеет обозначения (R1 + 1)) .
Поскольку получение очередных цифр частного после получения полноформатного частного заключается в продолжении операций над остатком и делите25
26
16 "5228 л ем, а вспомогательный регистр блока (2) должен быть освобожден от частного (путем перезаписи его в регистр
R1 блока 1 (2) для получения младшей части частного удвоенной разрядности, 5 то делимое из регистра R1 копируется в регистре (R1 + 1) .
Таким образом, в первом операторе (фиг.10) делитель из регистра R2 перегружается в регистр УР, а знак делителя запоминается в триггере 57 (фиг,9) .
Во время выполнения второго опера тора счетчик 81 загружается констан1 тои К, определяющей число повторений оператора 4,. содержимое регистра R1 перегружается во вспомогательный ре. гистр PQ после чего содержимое счетчика 38 увеличивается на единицу для адресации регистра (R1 +1) .
Во время выполнения третьего оператора копия делимого из регистра PQ перегружается в регистр (R1 + 1), а знак делимого заносится в триггер 58 25 для определения операции (сложения или вычитания над делимым и делителем при первом выполнении оператора
4.
Повторяя вышесказанное, следует напомнить, что РЯ обозначает вспомогательный регистр в блоке 1 (2), R1 и (Е1 + 1) указывают регистры блока
1 (2), адресуемые полем В (выход коммутатора 40 адреса), à R2 - регистры блока 1 (2), адресуемые полем А (выход коммутатора 39 адреса в блоке 3) .
Рыполнение оператора "4" на фиг.10 идентично выполнению оператора "3" на фиг.9, отличие состоит лишь в том, 40 что вместо р егистра R1 адр есуется р егистр (21 + 1) .
Выполнение оператора "5" .на фиг.1,0 осуществляется аналогично выполнению оператора",4б" на фиг.9 с тем отличи- 45 ем„что вместо регистра R1 в операции участвует регистр (R1 + 1), вместо логического условия "значение выхода элемента 91 сравнения" проверяется логическое условие "знак результата" (т.е. значение выхода 20 блока 4 или
F> блока 1) на коммутаторе 83 логических условий. Кроме того, по окончании пятого оператора содержимое счет ика 38 уменьшается на единицу для адресации регистра R1 при запо55
I минании старшей части частного. Ветвление алгоритма по операторам
"6-8" или "9-11" обеспечивает запоминание предыстории деления для правильного получения очередной (первой цифры — старшего разряда — младшей части результата деления), Это позволяет в начале выполнения оператора
"12" иметь такое же состояние триггера 58, какое было получено по ок )Hчании оператора "5" (определяющее значение очередной цифры частного и операцию в операторе "12") ..
Выполнение оператора "6" состоит в запоминании частного (старшей части) в регистре Р1 и проверки результата на переполнение. Единичное состояние выхода элемента 91 сравнения соответствует переполнению результата, поэтому продолжение деления теряет смысл (реакция на переполнение может осуществляться аналогично вышеописанному) . При отсутствии переполнения за оператором "6" следует оператор "7", в котором в триггере 57 восстанавливается значение знака делителя, находящегося в регистре с нулевым номером (Уро), в счетчике
81 записывается код К, определяющий число повторений оператора "12", содержимое счетчика 38 увеличивается на единицу цля адресации регистра (R1 + 1), в котором находится остаток и куда будет произведена запись младшей .части результата деления.
В операторе "8" восстанавливается значение триггера 58, полученное после оператора "5". Для этого на .. группу 13.1 входов подается код с нулем в старшем разряде. Этот код через коммутатор 9 регистра 6 (7) и коммутатор 10 подается на информационный вход ОВ1. Коды I< = "111", I ="000" и I 6="001 1 обеспечивают передачу этого кода через блок 1 без изменения содержимого его регистра.
Таким образом нулевое значение знакового разряда результата (F = "0") будет записано в триггер 58, и устройство готово к продолжению операции деления.
Операторы "9" и "10" идентичны операторам "6" и "7" соответственно, а оператор "11" отличается от оператора "8" только значением кода на группе 13.1 входов устройства (единичное значение старшего разряда этого кода обеспечивает установку триггера 58 в единицу вместо нуля как в операторе
l18tt) 27
28
1605? 28
Оператор "12" на фиг. 10 выполняет.я аналогична описанному выше оператору "3" на фиг.9.
Р операторе "13" праизвод1тся за:Э пись младшей части частного из регистра Pg в регистр (R1 1), после чего содержимое счетчика 38 уменьшается на единицу для адресации регистра Rl °
E операторе "14" значение знака частнага из старшего разряда регистра
R1 переписывается в триггер 57, после чего выполнение команды деления с получением удвоенной разрядности результата (частнаго) заканчивается. 15
Опишем работу устройства в режимах загрузки (выгрузки) информации в (из) блок 1 (2) .
Соединение выходов счетчиков 37 и
38 с коммутаторами 39 и 40 адресов и 2р узлом 41 активации операционных бло. ков, управляемых группами входов
14.3.2 и 14.3.4 обеспечивает при работе с полуслова размещать их в памяти блока l (2) без потерь объема этой памяти. При адресации полуслов на группы 14.3.2 и 14.3.4 БАЗ подаются коды "10" или " 11" (Лзиг. 2, Зи 4), которые обеспечивают переадресацию кодов для полуслов (двум адресам со- 30 ответствует олин и тат же регистр, а также выработку блокирующих сигналов на выходе 25 блока 3, которые определяются состоянием сигналов на выходах 02 счетчиков 37 и 38 и обеспечив".þò активацию соответствующего блока 1 (2).
Таким образом, при загрузке полу-. слов в блок i (2) информация в уст— ройства.поступает па группам входов 40
12 или 13.1, передается через коммутатор 9, регистр 6 (7) и коммутатор
l0 на информационные входы D блоков
1 и 2 и записывается в блок 1 при 0 .2
="1" в счетчике 37 (38) и в блок 2 45 при 2 = "0" в счетчике 37 (38) .
Перегрузка полуслов из одного регистра блока 1 (2) в другой производится эа два цикла. В одном цикле содержимое соответствующего регистра блока 1 (2) передается с выхода Y (2) (сигнал ОЕ поступает только в активированный блок 1 (2)) через коммутатор 9 в регистр 6 (7). Ва втором
55 цикле палуслс ва с регистра 6 (7) через коммутатор 10 информация поступает н" информационный вхсд D блока
2 (1) и записывается в соответствующий регистр активираванного блока
1 (2) .
Загрузка слов в блок 1 и блок 2 осуществляется за два цикла аналогично описанной загрузке полуслов.
Разница при загрузке каждой иэ половин слова в блок 1 (2) от загрузки полуслова состоит в том, что коды на группах управляющих входов 14.3.2 .и 14.3.4 в блок 3 были равны "00" или "01", при этом активация блока 1, производится отсутствием сигналов микроопераций ПС и ППС (входы 14.2.5 и 14.2.1 в блок 5), а активация бло" ка 2 — наличием микроопераций ППС (вход 14.2.1 в блок 5) и отсутствием микрооперации ПС (вход 14.2.5)., При взаимодействии устройства с запоминающими устройствами может возникнуть необходимость выдачи в них кодов адресов. При хранении кодов адресов (полуслов) в блок 1 (2) выдача их производится аналогично описанному выше режиму переписи полуслов из блока 1 (2) в блок 2 (1), При этом примем, например, выход 18 устройства для выдачи адреса, тогда полуслова (адрес) иэ блока 1 (2) передается через коммутатор 9 в регистр 6. При выдаче (внешним) запоминающим устройством информации в ответ на выданный адрес ана поступает на вход 12 устройства и передается в блок 1 (2) аналогично описанному.
Выдача информации из данного устройства, например, в запоминающее устройство от приема информации отличается тем, что после записи адресов в регистр 6 (выход 18 устройства) информация записывается в регистр
7 аналогичным образом и выдается на выход 19 устройства.
Поскольку в устройстве могут храниться коды адресов, то над ними могут производиться операции преобразования, например вычитания-сложения.
Так как коды адресов не являются числами со знаковым разрядом и соответственна фиксированной перед ним запятой, та фиксация знака результата операций над кодами или фиксация переполнения этих кодов как чисел не имеет смысла.
В этом случае случае имеет смысл фиксация переноса (например, для суммирования с учетом переноса). Поэтому в блоке 4 предусмотрена запись в триггер 57 сигнала переноса. Поскольку сигнал переноса должен фиксироваться
1605228
30 только для активированного блока 1 или блока 2, то в блоке 4 осуществляется выбор сигнала переноса С только активированного операционного блока с помощью элемента И-ИЛИ 60, 5 управляемого сигналами с выходов элементов И-ИЛИ-HE 54 и 55.
Формула изобретения
1. Устройство цля деления чисел без восстановления остатка, содержащее первый операционный блок, первый коммутатор, два регистра, входы синхронизации которых соединены с первым синхровходом устройства, тактовый вход устройства соединен с синхровходом первого операционного блока, вы ходы старших разрядов цвунаправленных цепей сдвига которого соединены с первыми и вторыми информационными входами первой группы первого коммутатора, о т л и ч а ю щ е е с я тем, что, с целью сокращения аппаратурных 25 ! затрат, в устройство введены второй операционйый блок, блок адресации, блок признаков, блок цешифрации кодов, группа элементов И, второй и третий коммутаторы, информационные вхопы первой и второй групп устройства соединены с инФормационными входами первой и второй групп второго коммутатора, информационные входы третьей группы которого соединены с выходными шинами первого и второго операцион35 ных блоков, адресные входы которых соединены с адресным выходом блока адресации, информационные входы первой и второй групп которого соедине- 40 ны соответственно с входами второй группы устройства и выходами третьего коммутатора, первый и второй информационные входы которого соединены .с выходами первого и второго регист- 45 ров, которые являются информационными выходами первой и втброй групп устройства, информационные входы первого и второго регистров соединены с выходом второго коммутатора, второй синхровход устройства соединен с синхровходом блока адресации, управляющие выходы которого соецинены с первыми управляющими входами блока признаков и блока дешифрац..и кодов, вто55 рые управляющие входы которых соеди— нены с группой управляющих входов устройства, соединенной с управляющими входами блока адресации, второго и третьего коммутаторов,. тактовый вход устройства соединен с синхровходами второго операционного блока и блока признаков, выход знакового разряда третьего коммутатора, выходы старшего разряда двунаправленчой цепи сдвига, переноса и знака переноса второго операционного блока соединены с одноименными входами блока признаков, информационный вход которого соединен с выходом переноса первого операционного блока и первым информационным входом блока дешифрации кодов, второй информационный вход которого соединен с первыми информационными входами второй группы первого коммутатора и группы элементов И и выходом очередной цифры частного блока признаков, выходы знака и признака которого соединены с одноименными выходами устройства, вход нулевого потенциала устройства соединен с вторыми информационными входами второй группы первого коммутатора и группы элементов И, выходы которых соединены с входами двунаправленных цепей сдвига первого операционного блока, выходы первого коммутатора соединены с входами двунаправленных цепей сдвига второго операционного бло" ка, первый выход блока дешифрации кодов соединен с управляющим входом группы элементов И и первым управляю" щим входом первого коммутатора, второй управляющий вход которого соединен с вторым выходом блока дешифрации кодов, третий и четвертый выходы которого соединены с входами разрешения считывания первого и вторбго операционных блоков соответственно, входы переносов которых соединены с пятым н шестым выходами соответственно блока дешифрации кодов, седьмой выход которого соединен с первыми входами микрокоманд первого и второго операционных блоков, вторые входы микрокоманд которых соединены с сеДьмым, восьмым и девятым выходами соответственно блока дешифрации кодов, выход третьего коммутатора соединен с информационными входами первого и второго операционных блоков.
2. Устройство по и. 1, о т л и ч а ю щ е е с я тем, что блок адресации содержит дешифратор, четыре элемента И, два счетчика, два коммутатора адреса и узел активации операционных блоков, который содержит два! 6r) j;) )ß
32.(с !!(!((1!1>г(тopa, !(ва:!(!Оме!! a 11-!11 . и !(и:! .!с и! ит I 2И-21!JIII-НЕ, I!pl! (ОM и! рщ,(п инфо(>м !(и Р!! нь(Й !3хог(б:! Ока с ooE(èflolf с (! !(ф(pма пи о(! И(>(м ВхО1(ОM дp и!и(!)p!! т Оря
5 синхровход которого соецииен с синхро«! х О, (О и блока, с ив р в О г о II o I p. I II o p TblA ((((!Орсн((е выходы цепи(фратора соеди(н иь! с первыми вхог(ам(! с первого по четвертый соответственно элементов И, 10 пятый инверсный выход дешифратора соединен с IIторыми входами первого и третьего элементов И, выходы которых соединены с счетными входами первого и второго счетчиков соответственно, шестой инверсный выход дешифратора соединен с вторыми входами второго и (етвертого эг(еме!!тов И, выходы которых соединены с вычитающими входами первого и второго счетчиков соответственно, седьмой инверсный выход дешифратора соединен с инверсными син— хровхопами первого и второго счетчиков, информационные входы которых соединены с вторым информационным вхо- 25 пом блока, выходы первого счетчика соединены с первыми информационными входами первого и второго коммутаторов адреса, Вторые информационные входы которьгх соединены с выхоцами разрядов второго счетчика, выход третьего разряда второго счетчика соединен с первыми входами первого и второго элементов 2И-2HJIH-НЕ, вторые входы которых соединены с выходом третьего разряда первого счетчика, управляющий вход блока соединен соответствующими разргдами с управляющими входами первого и второго коммутаторов адреса и первогО и второгО 40 дешифраторов узла активации операционных блоков, первые инверсные вы— ходы которых соединены с первыми входами первого и второго элементов
И-HF. соот!!етственно, вторые входы ко- 45 торых соединены с вторыми инверсными выходами второго и первого дешиАpaтОров узла активации операционных
CuIoI«iII с оо гве гс гвенно, выход перво го элемента И-HF, соединен с третьими входами первого и в горого элементов
2И-2ИЛИ-HF. четвертый входы которых соединены с выходом второго элемента И-НЕ, выходы коммутаторов адреса соединены с адресным выходом блока, управляющий выход которого соецинен с выходами элементов 2И-2ИЛИ-НЕ.
3. Устройство по п.1, о т л и ч а ю щ е е с я тем, что блок приз-. наков содержит элемент 2И-2ИЛИ, элемент НЕ, мультиплексор, два триггера и элемент НЕРАВНОЗНАЧН(",СТЬ, выход которого соединен с выходом очередной цифры частотного блока, тактовый вход блока соединен с тактовыми входами первого и второго триггеров, инверсный выход первого и прямой выход второго триггеров соединены с первым и вторым входами элемента НЕРАВНОЗНАЧ IOCTb, информационный вход блока соединен с первым входом элемента 2И2ИЛИ, второй и третий входы которого соединены с первым управляющим вхоцом блока, второй управляющий вход которого соединен с управляющим входом мультиплексора, первый информационный ! вход которого соединен с выходом первого триггера и является выходом знака блока, вход знакового разряда блока соединен с вторым информационным входом мультиплексора, третий информационный вход которого соединен с выходом элемента НЕ, вход которого соединен с входом старшего разряда двунаправленной цепи сдвига блока, вход переноса которого соединен с четвертым входом элемента 2И-2ИЛИ, выход которого соединен с четвертым информационным входом мультиплексора, пятый информационный вход которого соединен с входом знака переноса блока, информационным входом второго триггера и выходом признака блока, выход мультиплексора соединен с информационным входом первого триггера.
1605228
1б 05228
Фиг. 4
1605228 (605228
Фаг, 7
1605228
1605228 начало
vs»., <яр)
5igrt n/п Съ tR> 1): ЮЯ); SLg n (РЯ) - .ТЗВ1 Signa-< тЕ. го-, R7: <Я0); юи 97 R7: < Ра); n p Q Pf = „7 97-Р ав„7 Конец 72 (Я1 0: йЯ1+1 -<юоО- Z; /61=
Зе,.0=,007,"Ça. „ОИРУ",)0, -„770", С -Г07 7З 1Я11); < а); атзв - Ч Sign Составитель Н.Маркелова Техред Л.Сердюкова Корректор Л.Бескид г Редактор H.Ëàçàðåíêî Заказ 3453 Тираж 565 Подписное БПИЦПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР 113035, Москва, Ж-35, Раушская наб., д. 4/5 iIpo». водс rвеннo-издательский комбинат Патент", г. Ужгород, ул. Гагарина, 101 Ц1 1): L< 8 1>lz x < УР Я Z pg; e(pQ> Zr; й?о И; 19.2.7; СТа 1 g.;001,"7б, = 00Щ, . „Ю, „а (81 ): ВЯ1т <ЧЦЯ Z э Pa:- ОЧР Z ; а.:-ж; Ta). .Жз: за-r) Зяю,001 353а00103 ЪбаР0", С0 КОЗ 51,Дт (УЩ 1б) Сто, =К; cT38 + fi <Цl) аЫ;, и 061 < 11 1) л0- 0 Ф si gn R = 0 - - T р CTag. =к; 7 а: - С)ЗВ +1 ЯДО<УЩ)- Tay; STar: =К сТаа +7; <7>.7) Oar ЮОБ. =C 37> 70 51уа R ®„7 7щ