Устройство для деления чисел без восстановления остатка
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
)5 С 06 Г 7/5 ГОСУДАРСТВЕННЦПО ИЗОБРЕТЕНИЯМПРИ ГКНТ СССР КОМИТЕТОТНРЫТИЯМ ЕТЕНИЯ ДЕТЕЛЬСТВ ЧИСЕЛ БЕЗев и С.И.Ува 5 (088.8) кое свидетелГ 06 Р 7/ Варлински Микропроцесс мах автомати Л., 1987, с(56) АвторсУ 81706, клХвощ С.ТПопов Е.А,ЭВМ в систе ьство СССР 52, 1979. йН,Н. и оры и микр ческого уп 378-382,ения ОПИСАН И Н АВТОРСКОМУ 2(54) УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯВОССТАНОВЛЕНИЯ ОСТАТКА(57) Изобретение относится к вычисли тельной технике и может найти применение в арифметических устройствах процессоров быстродействующих ЦВИ. Цель изобретения - сокращение аппара турных затрат. Устройство позволяет реализовать различные дисциплины округления результата деления, получит результат деления удвоенной разрядности и делить числа различного формата без потери производительности40 78 . крококаи пьг;ается сигнал микро- Ос.р;КОе Команд)1 у поступаю 1и на ураищ вход Ч коммутатора 82 адреса (сигнал на выходе перео 1 еия счетчика 81 в конце команды отсутствует), обеспечивая передачу чере; коммутатор 82 на информационный вход й регистра 79 кода операции с нхога 96 устройства. 10При отсутствии микрооперации "Конец команды" коммутатор 82 передает ь 1 оркацио с первой группы выходов 78 памяти микрокоманд о наличии сигнала переполнения на выходе счетчика 81 или с второй группы выходов памяти 78 микрокоманд и выхода коммутатора 83 логических условий при отсутствии сигнала на выходе переполнения счетчика 81. 20Перед выполнением операции деления предположим, что первый операнд (делимое) располагается в регистре операционного .блока 2 с номером Р 1, хранимым в счетчике 38 блока 3, а 25 второй операнд (делитель) - в регистре с номером Е 2, хранимым в счетике 37 блока 3 (коды Р.1 и К 2 поступаюг на вход 12 устройства и передаются через коммутатор 9, регистр 6 (7) по стробу на входе 16.1 (16.2) группы 16 входов устройсгва, коммутатор 10 и записываются в счетчики 38 и 37 в момент подачи синхросигнала на вход 17 и кода "111" на гр;ппу 13.2 входов устройства),Загрузка регистров блоков 1 и 2 операндами будет описана отдельно.Прн пояснении алгоритма выполнения команд деления подра.зукевается изве тным (оговаривалось ранее), что прп ;"-.ле:п полуслов срабатывает только блок 1 (на входах 14.2.1 и 14,.".,5 микрооперации отсутствуют) а при делении слов срабатывают и блок 1, ,и блок . (на вход 14. .5 поступа 45 ет мккрооперация ПС) . Поэтому на фиг,9 представлен единый алгоритм как для деления полуслов, так и слов, а микрооперация 14,2,.5 в операторах этого алгоритма не показана. Кроме гого, разные алгоритмы представляются отдельньго ветвями, имеющими буквенную индексацию возле номеров соот" ветствующих операторов, и будут поясняться дополнительно.В первой микрокоманде (см. алгоритм на фиг,9) производится перепись делителя из регистра с номером 8.2 в регистр с нулевым номером, используемым в качестве рабочего регистра. Регистр УРо адресуется нулевым кодом,несмотря на ненулевое содержимоесчетчиков 37 и 38, путем блокировкипередачи содержимого этих регистровчерез элементы И 48 (фиг,3),Кроме того, в первой микрокомандезнак делителя заносится в триггер 57,в котором хранится до окончания процедуры деления при получении очередных цифр частного.Во второй микрокоманде в счетчик81 загружается константой К, определяющее число шагов получения цифрчастного (для полуслов и слов К имеют различные значения и определяютсяих разрядностью), Поскольку в каждомцикле выполнения команды деления по.лучается значение очередной цифрычастного и определяется операция(сложение или вычитание) над остаткоми делителем в следующем цикле деления, то с целью сокращения (на одинцикл) времени выполнения команды деления во второй микрокоманде делимоепередается в сумматор блока 1 (2), аего знак запоминается в триггере 58.Это позволяет при выполнении оператора "3" со знаковым разрядом оперировать также как и с разрядами значащей части делимого (остатка), чтоупрошает реализацию деления, однакоприводит к получению инверсного значения истинного эна;.а результата призаписи 1.ервого.бита в мпадший разрядвспомогательного регистра блока 1 (2)при первом. исполнении микрокомандытретьего оператора и получению истинного значения микроопераций Тэ и С,обеспечиваюих правильное срабатывание оператора "3 для подготовки операции при очередном (втором) выпопнении оператора "3".При каждом очередном ра.зе выполнения операгора "3" на выходе элемента59 сравнения формируется очереднаяцифра частного предыдущего цикла вычислений, поступающая в младший разряд вспомогательного регистра. Совмещение выполнения очередной операции (сложение, вычитание), зависящейот полученного результата в предыдущем цикле деления и занесения значения очередной цифры частного во вспо.могательный регистр блока 1 и 2,обеспечивает триггер 58, обеспечивающий задержку на один цикл значениязнака результата операции над остатком и делителем.Кроме того, следует отметить что при выполнении оператора "3": в первый раз в младший разряд вспомогательного регистра заносится инверсное значение истинного знака результата, во второй раз - значение знака результата истинное при корректных коФО дах делимого и делителя, не дающих переполнения разрядной сетки при делении и инверсное при операндах, приводящих к переполнению разрядной сетки, в третий и т,д. разы - значения первой и т.д. значащих цифр результата деления. Микрокоманды третьего оператора алгоритма (фиг.9) выполняются следующим образом. На место делимого (регистр с номером Н 1) заносится сдвинутый на один разряд влево результат сложения или вычитания (определяется сигналом на выходе 22 оче редной цифры частного блока 4) делимого или очередного остатка и делителя, В мпадший разряд результата при этом заносится нулевая цифра, так как вход А коммутатора 8 сдвигов 30 и первый вход группы элементов И 11 подключены к шине нулевого потенциа" ла. Содержимое вспомогательного регистра также сдвигается на один разряд влево, причем в его младший разряд заносится значение очередной цифры частного (вход А коммутатора 8 сдвигов и группы 11 элементов И под- ключены к выходу 22 блока 4) . Микрооперащюи 1 о = "001" соответствуют работе с регистрами, адресуемыми полями А ("00") и В (21); микрооперация 1. = ООГОД и С = 0 соответствует нулевому значению полученной очередной цифры частного (состояния выхода 22 блока 4 проверяется микрооперацией ПД на входе 14.2.7 блока 5) и соответствует сложению делимого (очередного остатка) и делителя, а Е = 00 1 , С равно 1 Д соответствует единице полученной оче"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 сравнения) переход к оператору "5 а" соответствует отсутствию округления, а к оператору "5 г" - округлению путем прибавления единицы младшег о разряда (например, единицы входного переноса 14.2.6 = С=."1") к полученному результату.Таким с бразом, в операторе "5 а"роизВодится перепись частного из Вспомогательного регистра Р в регистр с номером К 1, причем осччествчетс анализ результата на переполнение, которое определяется тем, что знак полученного, результата не равен истинному знаку результата, хранимому В триггере 5 7, т . е. переполнению соответствует единица на выходе элемента 91 сравненияВ операторе "5 б" анализ переполнени ос уществляется аналогично Оператору "5 а", а формирование единичного 15 значени младшей части результата деления (частного) производится путем подачи через группу 13.1 входов устройства, коммутатор 9, регистр 6 (7) и коммутатор 10 на информационный Вход блока 1 кода с единицей в младшем разряде и нулями в остальных раэрдах, а в самом блоке 1 - проведения операции поразрядного логического сложения над содержимым вспомога тельного регистра и кода на информационном входе В блока 1 и .занесе- ния результата н регистр с номером30Оператор ":в" выполняется аналогично оператору 5 а". Отличие операторов "5 а" от "5 в" состоит в том, что в операторе "5 а" при обработке слов перепись результата происходит в блок35 1 и блок 2, т,е. на вход 14,2,5 блока 5 поступает сигнал микрооперации ПС, а при обработке полуслов в операторе "5 а" срабатываег только блок 1 (нет микрооперации ПС), В операторе "5 в" несмотря на тор что он предстаюяет ветвь алгоритма деления слов, мчкрооперация ПС не вырабатывается и старшее полуслово результата из регистра Р переписывается в регистр с номером К 1 блока 1 без изменения,Поскольку младшая часть результата при делении слов находится в блоке 2, то формирование единицы в младшем разряде результата осуществляется в операторе 6 аналогично опера1 1150 тору "5 б". Отличие состоит лишь в том, что В шестом операторе в устройство поступает микрооперация ППС по входу 14,2.1 (см. фиг,6), обеспечи 55 ваюшая срабатывание только блока 2, и отсутствует анализ на переполнение р е зуд ь ата (такой анали з проводится11 с ВВ оператор 5 В )Б операторе "5 г" проиводится округление .результата пут. и прибавления единицы младшего разряда к результату, полученному в регистре Р(, и полученный результат помещается в регистр блока 1 (2) с номером К 1, При этом анализ на переполнение раз" рядной сетки состоит как проверкой равенства истинного знака полученно" му (аналогично вьшеописанному анали" зу сигнала на выходе элемента 91 сравнения), так и проверкой состоя- ниА сигнала ОЧК в блоке 1. Недостаточность проверки только сигнала ОЧК заключается в том, что при неверно полученном знаке результата и его округлении переполнение неверно полученного числа может отсутствовать, а недостаточность проверки только на равенство истинного (содержимое триг гера 57) и полученного знака результата (сигнал на выходе Г блока 1) элементом 91 сравнения заключается в том, что после округления неверно полученного частного его знак может совпасть с истинным знаком, а наличие переполнения обнаруживается сигналом ОЧК.На алгоритмах, представленных на фиг.9 и 10, не показаны ветви анализа и перехода по переполнению. Для данного анализа в МПУУ (фиг,7) коммутатор 83 логических условий должен бьггь дополнен еще одним логическим условием, равным логическому сложению (функция ИЛИ), для сигналов с выхода элемента 91 сравнения и с выхода ОЧК в блок 1.При делении слов запись в регистр К 1 указанных кодов осуществляется за две аналогичных посылки: сперва заносится код "100" ("011") в блок 1, а затем код "ОО" ("11") в блоке 2. При записи кодов в блок 2 в устройство подается микрооперация ППС по входу 14.2.1 в блок 5.Ча фиг.10 приведен алгоритм деления слов с получением результата удвоенной разрядности. Размещение результата осуществляется в двух смежных регистрах: старшая часть в регистре блока 1 с номером 1, а младшая часть с номером на единицу большим (фиг.10 имеет обозначения (К 1 + 1.Поскольку получение очередных цифрчастного после получения полноформатного частного заключается в продолжении операций над остатком и делите 1605228 26л ем, а в с помогат ел ьный р егис тр блока(2) должен быть освобожден от частного (путем перезаписи его в регистрК 1 блока 1 (2) для получения младшейчасти частного удвоенной разрядности,5то делимое из регистра К 1 копируетсяв регистре (Р 1 + 1) .Таким образом, в первом операторе (фиг.10) делитель из регистра К 2перегружается в регистр УР, а знакделителя запоминается в триггере 57(Фиг,9).Во время выполнения второго оператора счетчик 8 1 загружается константои К, определяющей число повторенийоператора 4,. содержимое регистра К 1перегружается во вспомогательный регистр РЦ, после чего содержимое счетчика 38 увеличивается на единицу дляадресации регистра (К 1 +1).Во время выполнения третьего оператора копия делимого из регистра РЯперегружается в регистр (К 1 + 1), азнак делимого заносится в триггер 58 25для определения операции (сложенияили вычитания над делимым и делителем при первом выполнении оператора4.Повторяя вышесказанное, следуетнапомнить, что РЯ обозначает вспомогательный регистр в блоке 1 (2), К 1и (К 1 + 1) указывают регистры блока1 (2), адресуемые полем В (выход ком.мутатора 40 адреса), а К 2 - регистрыблока 1 (2), адресуемые полем А (выход коммутатора 39 адреса в блоке 3) .Выполнение оператора "4" на фиг.10идентично выполнению оператора "3"на фиг.9, отличие состоит лишь в том, 40что вместо регистра К 1 адресуется регистр (К 1 + 1)Выполнение оператора "5".на фиг.1,0осуществляется. аналогично выполнениюоператора ",4 б" на фиг.9 с тем отличием что вместо регистра К 1 в операцииучаствует регистр (К 1 + 1), вместологического условия "значение выходаэлемента 9 1 сравнения" проверяетсялогическое условие "знак результата"(т.е. значение выхода 20 блока 4 илиР блока 1) на коммутаторе 83 логических условий. Кроме тогб, по окончании пятого оператора содержимоесчетчика 38 уменьшается на единицудля адресации регистра К 1 при запо 55минании старшей части частного,Ветвление алгоритма по операторам"6-8" или "9-11" обеспечивает запоминание предыстории деления для правильного получения очередной (первой цифры - старшего разряда - младшей части результата деления) . Это позволяет в начале выполнения оператора "12" иметь такое же состояние триг" гера 58, какое было получено по окончании оператора "5" (определяющее значение очередной цифры частного и операцию в операторе "12").Выполнение оператора "6" состоитв запоминании частного (старшей части) в регистре Р 1 и проверки результата на переполнение. Единичное состояние выхода элемента 91 сравнения соответствует переполнению результата, поэтому продолжение деления теряет смысл (реакция на переполнение может осуществляться аналогично вышеописанному) . При отсутствии переполнения за оператором "6" следует оператор "7", в котором в триггере 57 восстанавливается значение знака делителя, находящегося в регистре с нулевым номером (Уро), в счетчике 81 записывается код К, определяющий число повторений оператора "12", содержимое счетчика 38 увеличивается на единицу цля адресации регистра (К 1 + 1), в котором находится остаток и куда будет произведена запись младшей .части результата деления.1В операторе "8" восстанавливается значение триггера 58, полученноепосле оператора "5". Для этого нагруппу 13,1 входов подается код с нулем в старшем разряде. Этот код через коммутатор 9 регистра 6 (7) икоммутатор 10 подается на информационный вход ОБ 1. Коды 1 ,= " 111",1 ="000" и 1 6="001" обеспечиваютпередачу этого кода через блок 1 безизменения содержимого его регистра,Таким образом нулевое значение знакового разряда результата (Р = "0")будет записано в триггер 58, и устройство готово к продолжению операции деления.Операторы "9" и "10" идентичны операторам "6" и "7" соответственно, аоператор "11" отличается от оператора "Я" только значением кода на группе 13.1 входов устройства (единичноезначение старшего разряда этого кодаобеспечивает установку триггера 58 вединицу вместо нуля как в операторе8 л)Оператор " 12" ца Фиг. 10 выполняет я ацалагцчца описанному выше оператору "3" ца Фиг.9.Р операторе "13" праизводчтся запись младшей части частного из регистра РЦ в регистр (К 1.1), после чего содержимое счетчика 38 уменьшается ца единицу для адресации регистра К 1В операторе "14" значение знака частного из старшего разряда регистра Р.1 переписывается в триггер 57, после чего выполнение команды деления с получением удвоенной разрядности результата (частцаго) заканчивается. 15Опишем работу устройства в режимах загрузки (выгрузки) информации в (из) блок 1 (2) .Соединение выходов счетчиков 37 и 38 с коммутаторами 39 и 40 адресов и 2 ц узлом 41 активации операционных блоков, управляемых группами входов 14.3.2 и 14.3.4 обеспечивает при работе с полуслова размещать их в памяти блока 1 (2) без потерь объема 25 этой памяти. При адресации полуслов ца группы 14,3.2 и 14.3.4 БАЗ подаются коды "10" или " 11" (Фиг. 2, Зи 4), которые обеспечивают переадресацию кодов для полуслов (двум адресам со ответствует олин и тат же регистр, а также выработку блокирующих сигналов на выходе 25 блока 3, которые определяются состоянием сигналов на выходах Ог счетчиков 37 и 38 и обеспечивают активацию соответствующего блока 1 (2).Таким образом, при загрузке полуслов в блок 1 (2) информация в уст - ройства.поступает па группам входов 4012 или 13,1, передается через коммутатор 9, регистр 6 (7) и коммутатор 10 ца ицфармацианные входы 0 блоков1 и 2 и записывается в блок 1 при 0г=ф 1" в счетчике 37 (38) и в блок 2 45при С г = "0" в счетчике 37 (38). Перегрузка полуслов из одного регистра блока 1 (2) в другой производится за два цикла. В одном цикле содержимое соответствующего регистра блока 1 (2) передается с выхода У (2) (сигнал ОЕ наступает только в активироваццый блок 1 (2 через коммутатор 9 в регистр 6 (7). Ва втором55 цикле палуслс ва с регистра б (7) через коммутатор 10 информация поступает ц" информационный вход О блока 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 сигнала переноса. Посколькусигнал переноса должен Фиксироватьсятолько для активированного блока 1или блока 2; то в блоке 4 осуществляется выбор сигнала переноса Столько активированного операционногоблока с помощью элемента И-ИЛИ 60,5управляемого сигналами с выходов элементов И-ИЛИ-ЧЕ 54 и 55,Формула изобретения1. Устройство цля деления чисел без восстановления остатка, содержащее первый операционный блок, первый коммутатор, два регистра, входы синхронизации которых соединены с первым синхровходом устройства, тактовый вход устройства соединен с синхровходом первого операционного блока, выходы старших разрядов цвунаправленных цепей сдвига которого соединены с первыми и вторыми информационными входами первой группы первого коммутатора, о т ли ч а ю щ е е с я тем, что, с целью сокращения аппаратурных 25 затрат, в устройство введены второй операционйый блок, блок адресации, блок признаков, блок цешифрации кодов, группа элементов И, второй и третий коммутаторы, информационные вхоцы первой и второй групп устройства соединены с инФормационными входами первой и второй групп второго коммутатора, информационные входы третьей группы которого соединены с выходными шинами первого и второго операцион 35 ных блоков, адресные входы которых соединены с адресным выходом блока адресации, информационные входы первой и второй групп которого соедине ны соответственно с вхоцами второй группы устройства и выходами третьего коммутатора, первь,й и второй информационные входы которого соединены с выходами первого и второго регист ров, которые являются информационными выходами первой и второй групп устройства, информационные входы первого и второго регистров соединены с выходом второго коммутатора, второй синхровход устройства соединен с синхровходом блока адресации, управляющие выходы которого соецинены с первыми управляющими входами блока признаков и блока дешифрации кодов, вто 55 рые управляющие входы которых соеди - нены с группой управляющих входов устройства, соединенной с управляющими входами блока адресации, второго и третьего коммутаторов, тактовый вход устройства соединен с синхровходами второго операционного блока и блока признаков, выход знакового разряда третьего коммутатора, выходы старшего разряда двунаправленчой цепи сдвига, переноса и знака переноса второго операционного блока соединены с одноименными входами блока признаков, информационный вход которого соединен с выходом переноса первого операционного блока и первым информационным входом блока дешифрации кодов, второй информационный вход которого соединен с первыми информационными входами второй группы первого коммутатора и группы элементов И и выходом очередной цифры частного блока признаков, выходы знака и признака которого соединены с одноименными выходами устройства, вход нулевого потенциала устройства соединен с вторыми информационными входами второй группы первого коммутатора и группы элементов И, выходы которых соединены с входами двунаправленных цепей сдвига первого операционного блока, выходы первого коммутатора соединены с входами двунаправленных цепей сдвига второго операционного бло" ка, первый выход блока дешифрации кодов соединен с управляющим входом группы элементов И и первым управляю" щим входом первого коммутатора, второй управляющий вход которого соединен с вторым выходом блока дешифрации кодов, третий и четвертый выходы которого соединены с входами разрешения считывания первого и второго операционных блоков соответственно, входы переносов которых соединены с пятым н шестым выходами соответственно блока дешифрации кодов, седьмой выход которого соединен с первыми входами микрокоманд первогои второго операционных блоков, вторые входы микрокоманд которых соединены с сеДьмым, восьмым и девятым выходами соответственно блока дешифрации кодов, выход третьего коммутатора соединен с информационными вхоцами первого и второго операционных блоков.2. Устройство по и. 1, о т л и ч а ю щ е е с я тем, что блок адресации содержит дешифратор, четыре элемента И, два счетчика, два коммутатора ацреса и узел активации операционных блоков, который содержит цваее в 111 1, 1 еца злемеца 11-11. и ц;сИта 2 ИЯП 1-НЕ, цри см г ре,ц и ц 1 ц 11) мИи О ц ец)й ц х О Е б; О к а с О с 1 и ц е ц Г ццформа пионем входом депифрцт 01)е5 сицхроцход которого соединен с сицхроехо 1 ом блока, с первОГО по четвертый иццерсцье выходы депифратора соедицены с первыми вхо 1 ами с первого по четвертый соответственно элелентов И, 10 пятый инверсный выход дешифратора сослицец с вторыми входами первого и третьего элементов И, выходы которых соединены с счетными входами первого и второго счетчиков соответственно, шестой инверсный выход дешифратора соединен с вторыми входами второго и четвертого эгемецтов И, выходы которых соединены с вычитающими входами первого и второго счетчиков соответственно, седьмой инверсный выход дешифратора соединен с инверсными син - хровхопами первого и второго счетчиков, информационные входы которых соединены с вторым информационным вхо лом блока, выходы первого счетчика соединены с первыми инФормационными входами первого и второго коммутаторов адреса, вторые информационные входы которых соединены с выходами разрядов второго счетчика, выход третьего разряда второго счетчика соединен с первыми входами первого и второго элементов 2 ИИЛИ-НЕ, вторые входы которых соединены с выходом третьего разряда первого счетчика, управляющий вход блока соединен соответствующими разрядами с управляющими входами первого и второго коммутаторов адреса и первого и второго дешифраторов узла активации операционных блоков, первые инверсные выходы которых соединены с первыми входами первого и второго элементов И-НЕ соответственно Вторые Входы ко торых соединены с вторыми инверсными выходами второго и первого дешиЕ- раторов узла активации операционных блокГИ соответственно, выход первого элемента И-НЕ соединен с третьими входами первого и в горого элементов 2 ИИЛИ-НЕ, четвертый входы которых соединены с выходом второго элемента И-НЕ, выходы коммутаторов адреса соединены с адресным выходом блока, управляющий выход которого соединен с выходами элементов 2 ИИЛИ-НЕ.3. Устройство по п.1, о т л и ч а ю щ е е с я тем, что блок приз-. наков содержит элемент 2 ИИЛИ, элемент НЕ, мультиплексор, два триггера и элемент НЕРАВНОЗНАЧНОСТЬ, выход которого соединен с выходом очередной цифры частотного блока, тактовый вход блока соединен с тактовыми входами первого и второго триггеров, инверсный выход первого и прямой выход второго триггеров соединены с первым и вторым входами элемента НЕРАВНОЗНАЧ."1 ОСТЬ, информационный вход блока соединен с первым входом элемента 2 И 2 ИЛИ, второй и третий входы которого соединены с первым управляющим входом блока, второй управляющий вход которого соединен с управляющим входом мультиплексора, первый информационный вход которого соединен с выходом первого триггера и является выходом знака блока, вход знакового разряда блока соединен с вторым информационным входом мультиплексора, третий информационный вход которого соединен с выходом элемента НЕ, вход которого соединен с входом старшего разряда двунаправленной цепи сдвига блока, вход переноса которого соединен с четвертым входом элемента 2 ИИЛИ, выход которого соединен с четвертым информационным входом мультиплексора, пятый информационный вход которого соединен с входом знака переноса блока, информационным входом второго триггера и выходом признака блока, выход мультиплексора соединен с информационным входом первого триггера.1605228 устройства и снижения коэффициента использования оборудования устройст" ва. Устройство для деления чисел без восстановления остатка содержит операционные блоки 1, 2, блок 3 адресаИзобретение относится к вычислительной технике и может найти примецецие в арифметических устройствах.Целью изобретения является сократщение аппаратурных затрат, т,е. упро щение устройства.Па Фиг,1 представлена функциональная схема устр ойства; на фиг.2 структурная схема выполнения блока адресации; на Фиг,З, 4 - структурные схемы коммутатора адреса и узла активации операционных блоков, входящие в состав блока адресации; на фиг.5 структурная схема блока признаков; на Фиг.б - структурная схема преобразо вателя кодов; на фиг,7 - схема микропрограммного блока управления; на фиг.8 - временные диаграммы сигналов микропрограммного блока управления; ца Фиг,9 - алгоритм выполнения коман ды деления, различные ветви которого определяют различные способы округления результата при различных форматах операндов; на Фиг,10 - алгоритм выполнения команды деления с получением результа.а удвоенной разрядности,Цепи цачальной установки элементов памяти устройства либо цепи отдельных узлов, це оговоренные в описании работы устройства, условно не показаны.Устройство для деления чисел без восстановления остатка (фиг,1) содержит второй 1 и первый 2 операционные блоки, блок 3 адресации, блок 4 признаков,блок 5 дешифрации кодов, пер - вый 6 и второй 7 регистры, первый, второй и третий коммутаторы 8 - 10 и группу элементов И 11, информационные входы 12 первой группы, информационные входы 13 второйгруппы, состоящие из входов 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 дешифрации кодов, регистры б, 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элементов И,Входы Оо 1 0Ог и Я первой группы.37 (38) информационных входов коммутатора 39 (40) первого (второго)адреса соединены с информационнымивходами мультиплексора 47 следующимобразом: первый вход Яо - с первым Аи третьим Аг входами первого разряда 1второй вход Я- с первым Во и третьим Вг входами второго разряда, третий входс - с первым входом По третьего разгяда и четвертый вход 01, -с первым входом Е четвертого разряда мультиплексора 47,Входы Ос 01, О и О. второйгруппы 37 (38) информационных входов5 160 коммутатора 39 (40) первого (второго) адреса соединены с информационными входами мультиплексора 47 следующим, образом: первый вход О - с вторым А и четвертым А входами первого разряда, второй вход Я, - с вторым В 1 и четвертым В входами второго разряда, третий вход Я - с вторым входом О, третьего разряда и четвертый вход Я- с вторым входом Е четвертого разряда мультиплексора. Третий Рг и четвертыч Р информационные входы третьего разряда и третий Е и четвертый Е з информационные входы четвертого разряда мультиплексора 47 подключены к шине 49 единичного потенциалаУзел 41 активации операционных, блоков содержит (фиг.4) первый и вто. рой девйфраторы 50-51, первый и второй элементы И-НЕ 52-53 и первый и второй элементы И-ИЛИ-НЕ 54-55, выходы которых образуют группу 25 управляющих выходов блока 41 активации операционных блоков.Блок 4 признаков содержит (фиг.5) мультиплексор 56, триггеры 57 и 58, элемент 59 неравнозначность, элемент 2 ИИЛИ 60 и элемент НЕ 61.Блок 5 дешифрации кодов содержит (фиг.б) элементы И-ИЛИ 62-64, элемент И-ИЛИ-НЕ 65, элементы И 66-68, элементы И-НЕ 69-72, элементы ИЛИ 73.74, элементы НЕ 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 согответствуют входам 13-17 устроиствана Фиг.1, а входы 20 и 21 устройствана фиг.7 - выходам 20 и 21 устройства на фиг.1, поэтому указанные входы(выходы) устройства на фиг.8 одноименны с выходами (входами) устройства на фиг.1.Временная диаграмма формированиясигналов микропрограммным блоком уп равления после его пуска приведенана фиг.8.На фиг.9 и 10 приняты следующиеобозначения: УР - регистры блоков:1 и 2 с нулевым номером адреса; М 20 (Н 2) - регистры блоков 1 и 2, адре-,суемые кодом, содержащимся в счетчике 38 (37) по фиг.2; (К - содержиое регистра блоков 1 и 2 с номеромд; зхдп(К, - знак операнда, хранимо го в регистреблоков 1 и 2; РЯ -вспомогательный регистр блоков 1. и 2;РО- младший разряд вспомогательного р егистра блоков 1 и 2; 14. 2. 1, 1776 и 14,2.7 - микрооперации на входах 30 14.2.1, 14.2.6 и 14,2.7 в блоке 5(фиг.б) 3 СТ 8, + 1 - увеличение содержимого счетчика 81 на единицу; ) 0-значение соответствующей микрооперации (1 и С) на входе 14.2 устройства, которое задается равным нулю, ана соответствующем выходе блока 5определяется состоянием очереднойцифры частного (выход 22 блока 4) приподаче сигнала микрооперации ПД на 40 вхор 14.2.7 в блок .5 (фиг.б) ф п/и ип/:; - значение наличия или отсутствия переполнения счетчика 81; Т,Тд - триггеры 57 и 58 в блоке 4;РЯ - инверсное значение старшего 5 разряда регистра РЯ в блоках 1 и 2;59 (91) - состояние выхода элемента59 (91) сравнения; Р и ОЧК - соответственно выходы блока 1 старшего(знакового) разряда результата и пе. реполнение результата;- переполнение результата деления двух чисел;(13.1 ) - код на группе 13.1 входовустройства; 9 - сумма по модулю два;к - константа, записываемая в счетчик81 и определяющая необходимое числоимпульсов, которое необходимо податьна счетный вход "+1" счетчика 8 1,чтобы на его выходе выработался сигнал переполнения (если полное числоимпупьсов ца счетном входе "+1 счетчик 81, при котором наступает переполпецие равно 2, где г - разрядцость счетчика 81, то соотношение5 между К и задаваемым числом циклов ш соответствует выражению ш = 2 - К; (111 + 1) - увеличенное на единицу содер имое счетчика 38, адресующее регистры блоков 1 и 2,с номером, на единицу большим исходно заданного номера; СТ и + 1 и СТ 6 - 1 - увеличение и уменьшение на единицу содержимого счетчика 38 (фиг . 2); з ц,тй знак р ез ультата операциит е с ос 15 тояцце сигнала на выходе Р блока 1 ппи па выходе 20 блока 4 К - реов зу,.тьтат оператлпв блоке 1.Перед описанием работы устройства для деления чиселбез восстановления остатка в целом опишем назначение и работу отдельных блоков, узлов и элементов устройсгва.Блоки 1 и 2 предназначены для приема, храпения, преобразования, в 25 частностиделения чисел и выдачи информации и сигналов признаков под воздействием сигналов, подаваемых на входьп С- ходного переноса, ОЕ считывания информации пз блоков 1 и 2, 1 ь.с, - микроопераций управленияТ, - огпеделяет выполняемые в блоках 1 и 2 действия - сложение, вычи- . тание и др а Т.о определяет источ;.ики информации (операндов) для этих,й".т; лй; т.,; Ь - микроопераций,35 ука 3 ьгваюцих куда и каким обр а зом производится запись результата и выда.-.п ицформации на выход У блоков 1 иуказапнь е входные воздействия воспринимаются и выполняются под упр;.цпс. ццеь тактирующего сигнала на такгэвом входе Т. При подаче сигнала (низкого уровня) на вход ОЕ блоков2 его информация вьгается на45 группу У и н ор ма ци онньг входов, а признаки результатов (С, - выходной перенос, Р - старший (знаковый) разряд рез у-.ьтата, О",В - переполнение) - ца соответствующие выходы блоков 150 и , 11 цформалля старших разрядов сдвигаемой при делении информации выдается по выходам РЕи РО , а мпадшгх разрядов - принимается по входам РК и РС.Блок 3 предназначен для организа 55 ции адр асации р егис тров ОБ 1 (2) в процессе вычислений, а также для активации блоков 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 производится при подаче на их информационные входы Р соответствующих кодов с выхода второго коммутатора 10 данных, подачи кода "111" на информационный вход П дешифратора 42 с входов 13.2 устрой,ства и подачи синхросигнала на управляющий вход 7 дешифратора 42 с синхровхода 17 устройства, При этом на инверсном выходе "7" дешифратора 42 вьграбатывается сигнал (низкого уровня), который поступает на синхровходы с счетчиков 37 и 38 и обеспечивает в них нанесение упомянутых кодов начальных адресов. Таким образом, сигналы на одном из выходов "1"- "7" дешифратора 42 вырабатываются только в момент подачи сигнала на синхровход 17 устройства, причем код на входе 13,2 устройства определяет один из выходов "1" - "7" дешифратора 42, на котором вырабатывается сигнал. При нулевом коде на входе 13.222810ра 39 (40) адреса снимается и на его выходе образуется нулевой код, поскольку элементы И 48 закрыты, Если элементы И 48 открыты, код адреса на выходе коммутатора 39 (40) определя" ется кодами на выходах мультиплексора 47. В этом случае коммутатор 39 (40) работает следующим образом. Коды на группе 14.3,2 (14.3.4) управляющих входов коммутатора 39 (40) и соответственно на управляющем входе Ч мультиплексора 47 обеспечивает передачу кодов с входов коммутатора 39 (40) на его выход следующим образом. При коде "00" на выход коммутатора 39 (40) передаются коды с его первой группы 37 (38) входов; при коде "01" - со второй группы 38 (37) входов, При кодах "10" и "11" на выходахстарших разрядов В и Е мультиплексора 47 формируются единичные коды, поскольку информационные входы 0 и О, Е и Е мультиплексора 47 подкпючены к шине .49 елиничного потенциала.Младшие разряды А и В мультиплексора 47 Формируют коды следующим образом, При коде "10" " 11 " осуществляется передача кодов с выходов Ц имладших разрядов первой 1 второй 1 группы информационных входов 37 (38) 138 (37)коммутатора 39 (40) адреса, При этом разрядысчетчиков 37 и 38 блока 3 определяют место размещения операнда - в блок 1 или блок 2 и соответственно активацию одного из них.Поэтому коды управления на входах 14.3.2 и 14.3.4 коммутаторов 39 и 40 адреса и состояния третьих разрядов Я счетчиков 37 и 38 адресов поступают на входы узла 41 активации операционных блоков и заставляют срабатывать его следующим образом (фиг.4) .Дешифраторы 50 и 51 блока 41 дешифрируют только коды "10" и "11" соответственно инверсные выходы "2" и ".3" дешифраторов 50 и 51, Элементы И-НЕ 52 и 53 реализуют функцию ИЛИ для сигналов с выходов дешифраторов 50 и 5 1 с инвертированием соот- . ветствующих их сигналов. Таким образом, на выходе первого (второго) эле-, мента 52 (53) И-НЕ появляется сигнал при коде "10" на группе 14.3.2(14 .3 .4) входов устройства и при коде "11" на группе 14,3.4 (14.3.2) входов устройства. Сигнал с выхода первого элемента И-НЕ 52 разрешает срабатывание первых вентилей первог 35 9 1605устройства сигналы на выходах "17" дешифратора 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 иформирование фиксированного адресарегистров этих блоков. В устройствев качестве фиксированного адреса принят нулевой код, обеспечивающий адресацию регистра с нулевым номером.40Данный регистр используется как дополнительный вспомогательный региструстройства, что обеспечивает сохранение неизмененным один из двух операндов при делении (на место другогооперанда помещается результат деле 45ния),Таким образом, коммутатор 39 (40)адресов (фиг,3) работает следующимобразом. На управлякщий вход 14.3.1(143,3) постоянно подается единичный50сигнал, разрешающий передачу соответствующего адреса через группу элементов 48 И на выход коммутатора 39 (40)адреса. В тех циклах работы устройства где долЖен формироваться Фиксированный (нулевой) код адреса поля А(Б) блоков 1 и 2 сигнал на управляющем входе 14.3.1 (143,3) коммутато 1654 и второго 55 элементов И-ИЛИ-НЕ,асигнал с выхода второго элементаИ-НЕ 53 разрешает срабатывание вторых.,ентилей этих же элементов И-ИЛИ-НЕ 54 и 55. Формирование сигналов одновременно на выходах и первого 52 и второго 53 элементов И-НЕ не должно производиться, поскольку невозможно мгновенное взаимодействие двух операндов, размещенных в разных блоках 1 и 2. Такое взаимодействие должно произволиться за два цикла, в одном из которых, например втором, операнд выдается из блока 2 (1) через коммутатор 9 и Фиксируется в одном из регчстров 6 или 7. Во втором цикле этотоперанд пз регистра 6 (7) передается через коммутатор 10 в блок 1(2), в котором он и взаимодействует с другим операндом. Таким образом, коды па входах. 14.3,2 и 14.3.4 формируются так, что сигнал может вырабатываться только на выходе одного из элементов И-НЕ 52 или 53, при этом нулевое значение выхода Я счетчика37 или 38 обеспечит появление низкого .;ровня сигнала на выходе первого элемента И-ИЛИ-НЕ 54, а единичное значеше выхода Я счетчика 37 и 38 - навыходе второго элемента И-ИЛИ-НЕ 55.12 ся периодом следования тактов на входе 15 устройства) хранится значение 25 очередного результата вычислений (на пример, деления) . При хранении в процессе деления чисел в триггере 57знака делителя его инверсное значечние и значение знака очередной опе 30 рации в блок 1 (2) при выполнении деления, поступающие на входы элемента 05228информации для триггера 57 задается соответствующим кодом на первой группе 14.1 управляющих входов БП 4 и управляющем входе Ч мультиплексора 56, причем при нулевом коде на этом входе содержимое триггера 57 не изменяется, что обеспечивается обратной связью с выхода триггера 57 на его информационный вход 0 через мультиплексор 56, Значение истинного знака результата, хранимое в триггере 57, может быть использовано, например, при переполнении результата вычислений. В этом случае результат вычислений может быть заменен максимальным по модулю машинным числом "100" для отрицательного значения результата и числом "01-1" для поло жительного значения результата.В триггере 58 в течение одногоцикла работы устройства (определяет В первом случае блокируется блок 1 иактивируется блок 2, а во втором случае наоборот.Блок 4 предназначен (Фиг,5) для хранения истинного значежя знака результата операций в триггере 57 (в блоке 1 получение истинного знака результата не обеспечивается при переполнении результатов операций над операндами в блоках 1 и 2), В триггер 57 заносится нак операндов, на. прим р делителей, загружаемых в опе. рациопные блоки (разряд 23 выхода коммутатор 10), истинное значениезнака р езультата деления, загружаемоес выхода РО бпока 1, значение знака результатов операций, загружаемых с выхода Г блока 1, а также значения сигналов переносов С при обработке малоформатных кодов с. выхода элемента И-ИЛИ 60, при этом сигналы на выходах элементов И-ИЛИ-НЕ 54 и 55поступают в блок 4 через вторую группу 25 управляющих входов и определяют, какой из операционных блоков активирован, т,е. откуда должен восприниматься сигнал С выходного переноса. Один из перечисленных источников 59 сравнения, обеспечивают формирование на его выходе и на выходе 22 блока 4 значения очередной цифры частного и определяют очередную операцию (сложение или вычитание) над. остатком и делителем.Кроме того, значения сигналов навыходах 20 и 21 блока 4 определяют возможность ветвления микропрограмм при выполнении соответствующих микро- команд (будет пояснено при описании выполнения команд деления),Блок 5 дешифрации кодов (Фиг.4)предназначен для формирования управляющих сигналов блоков 1 и 2, коммутатора 8 и группы 11 элементов И, зависимости от состава обрабатываемых данных (состояние выходного переноса С блока 2 и очередной цифры частного - выход 22 блока 4) или от сигналов активации блоков 1 и 2, формируемых на выходе блока 25 блока 3 (выходы элементов И-ИЛИ-НЕ 54 и 55).Исходное зчачение кодов управления 55 блоков 1, 2, коммутатора 8 и группыэлементов 11 поступает в блок 5 с группы управляющих входов 14.2, а истинное значение кодов управления эти 1341605228ми узлами устройства формируется навыходах 26-34 блока 5 с учетом состояния сигналов на выходе 25 блока 3,выходе 22 блока 4 и выходе С блокаФ2 следующим образом.5Активация работы блоков 1 и 2 производится как безусловно сигналами насоответствующих входах группы 14.2входа в устройство, так и условно взависимости от состояния сигналов на(фиг.2 и 4) входах 14,3.2 и 14.3.4 вустройство и состояния кодов адресов(на выходах Я счетчиков 37 и 38),определяющих сигналы на входах 25блока 5При поступлении (низкого уровня)сигнала по входу 54 гругпы входов 25блока 5 блокируется активация блока 1(на группе 32 выходов 18 блока 5формируется код 001 и на выходе 271120единичный сигнал, т.е. заблокированавыработка сигнала ОЕ для блока 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,При активации одновременно блоков451 и 2 на вход 14.2.5 блока 5 подается сигнал - "признаком слова" (ЛС).При подаче сигнала ПС по входу 14 .2,5блока 5 сигналы (низкого уровня) навходах 54 и 55 группы входов 25 отсутствуют.50Для активации только блока 1 (вдальнекшем предполагаем отсутствиесигналов низкого уровня на входах 54и 55 группы 25 вхоцов, наличие сигналов на этих входах будет оговариваться особо) сигналы на входах 14.2.1 и14.2,5 должны отс,тствовать, чтообеспечит блокировку срабатывания первых вентилей элементов И-ИЛИ 63 и 64 и элемента П-ИГПИ-НЕ 65 отсутствием сигнала на входе 14 . 2, 5 блока 5, а вторых вентилей - отсутствием сигнала на выходе элемента И-НЕ 70. При этом на выходе 33 блока 5 будет сформирован код "001".Входы 14.2.2, 14.2,3 и 14.2.4 блока 5 соответствуют управляющим сигналам 18операционных блоков и передаются только на группу 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. Кроме того, единичный сигнал микрооперации 11 определяющий сдвиг влево при выполнении операций деления, передается на выход 26 блока 5 и соответственно на блокирующие входы ц коммутатора 8 сдвигов и группы 11 элементов И.Группа 14.2.9 входов блока 5 формирует микрооперации 1 о для блоков 1 и 2 и передается а выходы 31 блока 5, причем микрооперация 1 З передается через элемент ИЛИ 74, Поскольку в делении в за висимости от п олуч енной очередной цифры частного производится сложение или вычитание остатка и делителя, то микрооперация 1 з является условной (для блоков 1 и 2 1 з = 000 соответствует сложению и 1 .з = 001 - вычитанию остатка и делителя) . В этом случае микрооперация 1 з в группе 14.29 входов блока 5 равна нулю, а на входе 14.2.7 вырабатывается микрооперация (назовем ее в дальнейшем признаком деления (ПД, проверяющая условие истинного значения 1 для блоков 1 и 2, зависящего от значения полученной очередной цифры частного, В данном случае истинное значение микрооперации 1 формируется на выходе элемента И 68, а значит и на соответствующем выходе группы выходов 31 блока 5.Поскольку при вычитании (1 5"001") должен формироваться сигнал . входного переноса Со в блоках 1 и 2, 1605228 16то при срабатывании элемента И 68 навыходе 30 блока 5 также формируетсясигнал входного переноса С для блоока 2,5Сигнал С 0 входного переноса дляблока 2 формируется на выходе 30блока 5 либо условно сигналом с выхода элемента И 68 (при формированиисигнала ПД на входе 14.2. блока 5),либо безусловно сигналом, поступаю"щим на входы 14.2.6. При этом сигналС для блока 2 используется толькопри активации блока 2.Сигнал Сс, входного переноса дляблока 1 должен быть равен сигналу С 4,выходного переноса блока 2 в случаеодновременной активации и блока 1 иблока 2 (обработка в устройстве слов,определяемая наличием сигнала ПС навходе 14.2,5 блока 5), В этом случаесигнал ПС на входе 14.2.5 блока 5 че-"рез элемент НЕ 77 запрещает срабатывание второго и третьего вентилейэлемента И-ИЛИ 62 и разрешает передачу сигнала через первый вентиль эле"мента И-ИЛИ 62 с выхода С 4 блока 2на выход 29 блока 5 (вход С блока 1) .При активации только блока 1 закрыт первый вентиль элемента И-ИЛИ 62и открыты его второй и третий вентильсигналом с выхода элемента НЕ 77. Приэтом при безусловном формированиисигнала С 0 на выходе 29 блока 5 наего входе 14.2.6 формируется сигнал,35который на выход 29 блока 5 передается через второй вентиль элементаИ-ИЛИ 62. При условном формированиисигнала Сц на. выходе 29 блока 5 вкомандах деления сигналы на входах14,2.7 и 22 блока 5 обеспечат срабатывание третьего вентиля элементаИ-ИХЯ 62 и выдачу сигнала С на выход 29.Поскольку информационные выходы У 4блоков 1 и 2 объединены между собой,то одновременное считывание чнформа",ции с блоков 1 и 2 недопустимо, поэтому наличие (низкого уровня) сигнала ОЕ. считывания информации с блока501 на выходе 27 блока 5 определяетего отсутствие на выходе 28 (выходэлемента И-НЕ 71 подключен к входуэлемента И-НЕ 72),Для считывания информации с блока1 (2) на вход 14,2,8 блока 5 должен55поступать сигнал. При этом, если отсутствует блокировка срабатыванияблока 1 (высокие уровни сигналов на входе 54 группы 25 входов блока 5 и на выходе элемента НЕ 75), то низкий уровень сигнала ОЕ формируется только на выходе 27, а при наличии блокировки срабатывания блока 1 (активирован только блок 2, что определяет" ся низким уровнем сигнала на входе 54 группы 25 входов блока 2 йли на выходе элемента НЕ 75) низкий уровень сигнала ОЕ вырабатывается только на выходе 28 блока 5.Следует также отметить, что при активации блоков 1 и 2 одновременно они рассматриваются как один операционный блок с разрядностью, равной сумме разрядностей блоков 1 и 2. По этому сигнал ПС с входа 14 .2,5 ПК по ступает через его выход 34 на управляющий вход Ч коммутатора 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 на входы У коммутатора 8 и группы 11 элементов И. Во всех остальных случаях выходы коммутатора 8 и группы элементов И 11 переводятся в отключенное (высокоим 17181605228педансное) состояние. Это обусловлено тем, что при нулевом состояниимикрооперации Т входы блоков 1 (2)переключаются в режим выдачи сигна 5лов,Первый коммутатор 9 данных (фиг,1)предназначен для передачи информациис первой группы 12 информационныхвходов устройства (например, при загрузке блоков 1 и 2 операндами -числами, индексами или кодами адресов), с второй группы 13 информационных входов устройства (при коррекциирезультатов деления) и с групп У информационных выходов блоков 1 и 2(при выдаче результатов операций вовнешние устройства, например, в ОЗУ,либо при пересылке операндов из одного операционного блока в другой).Передача указанной информации через;первый коммутатор.9 данных осуществляется под управлением соответствую"щих кодов, поступающих на группу управляющих входов 14.4 устройства. 25Для временного хранения информации, передаваемой через первый коммутатор 9 данных, используются регистры 6 и 7.Наличие этих регистров обусловлено, во-первых, необходимостью согласовать работу устройства как с другими элементами устройства (при приемеинформации с входов 12 и 13.1 устройства, а также при выдаче информа 35ции и адресов во внешние устройства,например, адреса из памяти блоков 1и 2 передаются через регистр 6 и выходы 18 устройства, а данные - черезрегистр 7 и выход 19 устройства), таки с операционными блоками 1 и 2 самого устройства (передача данных изблока 1 в блок 2 и наоборот должнапроходить буферизацию на внешнем регистре, что вызвано объединением их 45как по тактовому входу, так и по входам микроопераций 1 о из-за устранения влияния гонок).Регистры 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синхр оси г нал ов,Включенный генератор 84 синхросигналов вырабатывает на своих выходах94 и 95 последовательность синхросигналов (см, первые две последовательности сигналов 94 (15) и 95 на временной диаграмме фиг,8), первый изкоторых используется как в самом ИПУУтак и в устройстве для деления (фиг.1)в которое поступает по входу 15.Инверсное значение сигнала на выкоде 95 генератора 84 обеспечиваетсрабатывание по его фронту РАИК 79(см. четвертую последовательностьсигналов 79 на фиг,8) и укорочениесигнала с выхода 94 генератора 84 дляподачи на вход 17 устройства для деления (см. третью последовательностьсигналов 17 на временной диаграммефиг.8), что обеспечивается элементом И 89.Коммутатор 82 адреса микрокомаццпредназначен для формировапия адресамикрокоманды. В качестве адреса первой микрокоманды любой микропрограммы является код операции, поступающей по входу 96 кода операции микропрограммного блока управления и запоминаемый в регистре 79,Прием в РАМК 79 адреса первой микрокоманды очередной микропрограммыпроисходит во время считывания изпамяти 78 микрокоманд последней микрокоманды текущей микропрограммы. Вэтом случае на второй выход памяти
СмотретьЗаявка
4635613, 10.01.1989
ПРЕДПРИЯТИЕ ПЯ А-7160, ИНСТИТУТ ПРОБЛЕМ УПРАВЛЕНИЯ
СУПРУН ВАСИЛИЙ ПЕТРОВИЧ, СЫЧЕВ АЛЕКСАНДР ВАСИЛЬЕВИЧ, УВАРОВ СЕРГЕЙ ИВАНОВИЧ
МПК / Метки
МПК: G06F 7/52
Метки: восстановления, деления, остатка, чисел
Опубликовано: 07.11.1990
Код ссылки
<a href="https://patents.su/22-1605228-ustrojjstvo-dlya-deleniya-chisel-bez-vosstanovleniya-ostatka.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для деления чисел без восстановления остатка</a>
Предыдущий патент: Сумматор по модулю шестьдесят три
Следующий патент: Генератор случайного потока импульсов
Случайный патент: 160205