Изобретение относится к цифровой вычислительной технике, предназначно для деления чисел, представленных в двоичной системе счисления, и может найти применение в качестве операционного блока в высокопроизводительных вычислительных машинах и системах.
Цель изобретения - повышение быстродействия устройства для деления.
На фиг. 1 приведена функционаьная схема устройства для деления; на фиг. 2 - граф переходов состояний и выходов блока микропрограммного управления; на фиг. 3 - схема блока микропрограммного управления на основе D-триггеров с асинхронными S- и R-входами с перемен аемой единицей. Устройство для деления (фиг. 1) содержит регистр 1 остатка, регистр 2 делителя, блок 3 памяти, умножитель 4, вычитающий счетчик 5, сумматор-вычитатель 6, группу 7 элементов И, группу 8 элементов И-НЕ, группу 9 элементов ИЛИ, счетчик 10 циклов, блок 11 микропрограммного управления, регистр 12 частного. Блок 11 (фиг. 3) содержит D-триггеры 13-19, элементы И 20-25, элементы ИЛИ 26-34, элементы 35 и 36 задержки. В блоке 3 хранятся -р-разрядные коды предварительных значений очередных р разрядов частного Прошивка блока 3 сделана с учетом того, что старший разряд регистра 2 равен 1 и (р-|-1)-разрядный второй адресный вход блока 3 соединен со старшими разрядами регистра 2, начиная с второго старшего разряда, исключая первый, Блок 11 предназначен для организации процесса деления, который состоит из повторяющихся однотипных циклов. В каждом цикле определяются значения очередных р разрядов частного. Для этого блок 11 формирует последовательность управляющих сигналов на своих выходах. На графе (фиг. 2) переходов состояний и выходов блок 11 управления Ао...Аб - состояния, на дугах указаны условия переходов, над стрелками - названия выходных сигналов, формируемых при переходе в соответствующее состояние. Устройство работает следующим образом. В исходном состоянии АО в регистре 1 находится делимое, в регистре 2 - делитель, счетчик 10 находится в начальном состоянии (обнулен или сигналом «Сброс в него записан код дополнения).
По сигналу «Пуск, означающему начало операции деления, блок 11 переходит из состояния АО в состояние Аь При этом по значениям соответствующих старших разрядов делителя и модуля очередного (для первого цикла - исходного) делимого, поступающих из регистров 2 и 1 на соответ- ствуюн;.ие адресные входы блока 3 памяти, выбираетя код, являющийся предварительным значением очередных разрядов частного.
На выходе умножителя 4 формируется произведение выбранного кода на делитель.
0
5
Затем блок 11 переходит из состояния AI в состояние АЗ. При этом содержимое счетчика 10 увеличивается на единицу, а на сум- маторе-вычитателе 6 вычисляется разность очередного делимого и произведения, полученного на умножителе 4. Полученный таким образом остаток записывается со сдвигом на р разрядов в сторону старших разрядов в регистр 1. В результате на регистре 1 оказывается сформированным новое очеред ное делимое. На счетчик 5 записывается код, выбранный из блока 3 памяти.
В дальнейщем в работе устройства имеется совмещение во времени операций по определению значений двух групп (по -р раз- 5 рядов в каждой) разрядов частного.
Блок 11 в зависимости от знака очередного остатка, полученного на сумматоре- вычитателе 6, переходит в состояние АЗ (остаток отрицательный) или в состояние AI (в противном случае). Но независимо от этого при переходе в состояния А; и Аз формируется произведение, как описано для перехода , делителя на код, выбранный из блока 3 памяти по соответствующим значениям старщих разрядов модуля нового очередного делимого и делителя.
Если произошел переход А.э, то для получения истинных значений очередных разрядов частного уменьшается содержимое счетчика 5 на единицу младшего разряда, и полученный код со счетчика 5 записывается 0 в младшие р разрядов регистра 12.
Если произошел переход . то код, храняшийся на счетчике 5, записывается в младщие р разрядов регистра 12. После этого блок 11 переходит из состояния AI в состояние АЗ, при этом в регистре 12 производится сдвиг на р разрядов в сторону старщих разрядов.
Из состояния АЗ в состояние А4 блок 11 переходит, как описано для перехода . Отличие заключается в том, что вместо разности на сумматоре-вычитателе 6 вычисляется сумма нового произведения и нового очередного делимого. По.чученный таким образом очередной остаток записывается со сдвигом на р )азрядов в сторону старших разрядов в регистр 1.
Из состояния А,) б. юк 11 в зависимости от знака очередного остатка переходит в состояние Ад или АИ аналогично переходам , н Аг . Отличие заключается только в формировании истинных значений очередных р разрядов частного. Поскольку очередное делимое отрицательное (переход в состояние А4), то истинные значения очередных разрядов частного получаются взятием дополнения от кода, храняшегося на счетчике 5 (состояние А,-), либо взятием до- полпения от кода, увеличенного на единицу младшего разряда (состояние Ае). Поэтому при переходе А.|К А.-, код на счетчике 5 умень ишется на единицу и ин1 ертируется, после чего записывается в млади1ие р разрядов
5
0
5
0
5
регистра 12.При переходе Ае код счетчика 5 просто инвертируется (-1-И 0) и записывается в младшие -р разрядов регистра 12.
В дальнейшем процесс деления происходит аналогично и заканчивается при появлении сигнала «Стоп из счетчика 10, по которому блок 11 переходит в состояние АО и формирует сигнал «Сброс, устанавливающий счетчик в начальное состояние.
Формула изобретения
Устройство для деления, содержащее регистры делителя, частного и остатка, умножитель, блок памяти, счетчик циклов, сумматор-вычитатель, вычитающий счетчик, блок микропрограммного управления, причем выходы старших (р-|-2) разрядов регистра остатка (где р 2,3,....п-3; п - разрядность операндов) соединен с первым адресным входом блока памяти, второй адресный вход которого соединен с выходом (р+ -t-1) старших разрядов регистра делителя, выход которого соединен с входом первого сомножителя умножителя, вход второго сомножителя которого соединен с выходом блока памяти и с информационным входом вычитающего счетчика, выход сумматора-вычи- тателя соединен с информационным входом регистра остатка, выход которого соединен с первым информационным входом сумматора- вычитателя, выход знакового разряда которого соединен с входом-анализа знака остатка блока микропрограммного управления, первый выход которого соединен с входом сброса счетчика циклов, выход переноса кото 7
рого соединен с входом останова блока микропрограммного управления, второй выход которого соединен со счетным входом счетчика циклов, третий выход блока микропрограммного управления соединен с входом разрешения вычитания сумматора-вычита- теля, вход разрешения сложения которого соединен с четвертым выходом блока микропрограммного управления, вход запуска
Q которого является входом пуска устройства, отличающееся тем, что, с целью повышения быстродействия, в него введены группа элементов И, группа элементов И-НЕ, группа элементов ИЛИ, причем выход умножителя соединен с вторым информационным входом сумматора-вычитателя, пятый выход блока микропрограммного управления соединен с входом разрешения умножения умножителя и с входом разрешения записи регистра частного, вход разрешения сдвига которого соединен с входом разрешения записи вычитающего счетчика и с шестым выходом блока микропрограммного управления, седьмой выход которого соединен с входом заема вычитающего счетчика, выходы разрядов которого соединены с первы5 ми входами элементов И,группы и элементов И-НЕ группы, вторые входы которь1х соединены с восьмым выходом блока микропрограммного управления, девятый выход которого соединен с вторыми входами элементов И группы, выходы которых соеди0 йены с первыми входами элементов ИЛИ группы, вторые входы которых соединены с выходами элементов И-НЕ группы, выходы элементов ИЛИ группы соединены с информационными входами разрядов регистра частного.
0
ПР
ПР
ffv« Слож
Cffpac
Фиг. 2
название | год | авторы | номер документа |
---|---|---|---|
Делительное устройство | 1982 |
|
SU1104508A1 |
Устройство для деления | 1985 |
|
SU1265763A1 |
УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ | 1991 |
|
RU2018933C1 |
Устройство для деления | 1990 |
|
SU1803913A1 |
Устройство для деления | 1985 |
|
SU1283752A1 |
Устройство для деления | 1990 |
|
SU1728862A1 |
Делительное устройство | 1983 |
|
SU1168929A1 |
Устройство для деления | 1986 |
|
SU1357947A1 |
Устройство для деления | 1988 |
|
SU1520510A1 |
Устройство для деления | 1986 |
|
SU1425657A1 |
Изобретение относится к вычислительной технике и может быть использовано в высокопроизводительных вычислительных ма- шипах и системах. Целью изобретения является увеличение быстродействия работы устройства. Это достигается тем, что устройство для деления, содержащее регистры делителя 2, остатка 1 и частного 12, блок 3 памяти, умножитель 4, сумматор-вычитатель 6, вычитающий счетчик 5, блок 11 микропрограммного управления, счетчик циклов 10 и функциональные связи, дополнительно снабжено группой 7 элементов И, группой 8 элементов И-НЕ, группой 9 элементов ИЛИ и дополнительными функциональными связи- ми, это позволяет реализовать алгоритм деления без восстановления остатка, в каждом цикле которого определяются одновременно р разрядов частного (р 2,3,...,п-3; п - разрядность операндов), и обеспечивает увеличение быстродействия устройства на 15% при р 4, п 32, 3 ил. 00 to СП 4 05
Делительное устройство | 1982 |
|
SU1104508A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Устройство для деления | 1985 |
|
SU1283752A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1987-07-23—Публикация
1986-03-19—Подача