RU2018933C1 - Divider - Google Patents

Divider Download PDF

Info

Publication number
RU2018933C1
RU2018933C1 SU5013524A RU2018933C1 RU 2018933 C1 RU2018933 C1 RU 2018933C1 SU 5013524 A SU5013524 A SU 5013524A RU 2018933 C1 RU2018933 C1 RU 2018933C1
Authority
RU
Russia
Prior art keywords
output
register
input
information input
adder
Prior art date
Application number
Other languages
Russian (ru)
Inventor
Э.М. Сафонова
А.А. Шостак
Original Assignee
Научно-исследовательский институт электронных вычислительных машин
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Научно-исследовательский институт электронных вычислительных машин filed Critical Научно-исследовательский институт электронных вычислительных машин
Priority to SU5013524 priority Critical patent/RU2018933C1/en
Application granted granted Critical
Publication of RU2018933C1 publication Critical patent/RU2018933C1/en

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

FIELD: computer engineering. SUBSTANCE: device has first residue register 1 and second residue register 2, divisor register 3, quotient register 4, adder 5 of forced rounding off of divisor, unit 6 for computing an inverse value, two adders 7, 8, two multiplying units 9, 10, subtracter 11, first switching unit 12, selector 16, NOT gate 15, microprogrammed control unit 17. The divider is characterized by the use of auxiliary first switching unit 13 and second switching unit 14. EFFECT: reduced operating cycle duration with large operand length and small number of digits of quotient formed for a cycle. 1 tbl, 5 dwg

Description

Изобретение относится к вычислительной технике и может быть применено в быстродействующих арифметических устройствах для выполнения операции деления чисел. The invention relates to computer technology and can be applied in high-speed arithmetic devices to perform the operation of division of numbers.

Известно устройство для деления, формирующее в каждом такте k цифр частного (2≅ k≅ ]

Figure 00000002
[ где n - разрядность делимого и делителя) и содержащее два регистра остатка, регистр делителя, сумматор частного, сумматор принудительного округления делителя, узел вычисления обратной величины, два сумматора, два блока умножения, селектор, коммутатор, вычитатель, элемент И-НЕ и блок микропрограммного управления [1].A device for dividing, forming in each measure k digits of quotient (2≅ k≅]
Figure 00000002
[where n is the length of the dividend and divisor) and containing two remainder registers, the divisor register, the adder private, the compulsory rounding-off adder, the inverse computation unit, the two adders, the two multiplication units, the selector, the switch, the subtractor, the AND element and the block firmware control [1].

Основным недостатком этого устройства является низкое быстродействие из-за большой длительности такта работы. The main disadvantage of this device is the low speed due to the long duration of the cycle.

Известно устройство для деления, формирующее в каждом такте k цифр частного (2≅ k≅ ]

Figure 00000003
[ , где n - разрядность делимого и делителя) и содержащее два регистра остатка, регистр делителя, сумматор частного, сумматор принудительного округления делителя, узел вычисления обратной
величины, два блока умножения, три вычитателя, коммутатор, селектор, элемент НЕ и блок микропрограммного управления [2].A device for dividing, forming in each measure k digits of quotient (2≅ k≅]
Figure 00000003
[, where n is the bit capacity of the dividend and the divisor) and containing two remainder registers, the divisor register, the adder private, the adder forced rounding of the divider, the inverse
values, two blocks of multiplication, three subtractors, a switch, a selector, an element NOT and a microprogram control unit [2].

Данное устройство имеет низкое быстродействие вследствие большой длительности такта работы. This device has a low speed due to the long duration of the cycle.

Наиболее близким по технической сущности к изобретению является устройство для деления, формирующее в каждом такте k цифр частного (2≅ k≅ ]

Figure 00000004
[ , где n - разрядность делимого и делителя) и содержащее два регистра остатка, регистр делителя, сумматор частного (он является композицией комбинационного сумматора и регистра частного), сумматор принудительного округления, узел вычисления обратной величины, два сумматора, два блока умножения, коммутатор, селектор, вычитатель, элемент НЕ и блок
микропрограммного управления, причем вход данных устройства соединен с информационным входом регистра делителя и с первым информационным входом коммутатора, выход которого соединен с информационным входом первого регистра остатка, выходы первого и второго регистров остатка соединены соответственно с первым и вторым информационными входами первого сумматора, выход которого является выходом остатка устройства
и соединен с входом уменьшаемого вычитателя, входы вычитаемого и заема которого соединены с выходами первой и второй групп первого блока умножения соответственно, выходы разности и заема вычитателя соединены с вторым информационным входом коммутатора и информационным входом второго регистра остатка соответственно, выходы старших разрядов первого и второго регистров остатка соединены с первым и вторым информационными
входами второго сумматора соответственно, выход младших разрядов которого соединен с первым информационным входом второго блока умножения, второй информационный вход которого соединен с выходом узла вычисления обратной величины, вход которого соединен с выходом сумматора принудительного округления делителя, информационный вход которого соединен с выходом старших разрядов регистра делителя, выход которого соединен с первым информационным
входом первого блока умножения, второй информационный вход которого соединен с информационным входом младших разрядов сумматора частного и выходом селектора, информационный вход которого соединен с выходом второго блока умножения, вход переноса сумматора принудительного округления является входом
логической "1" устройства, выход старшего разряда второго сумматора соединен с входом элемента НЕ, выход которого соединен с управляющим входом селектора, вход синхронизации устройства соединен с синхровходами первого и второго регистров остатка, регистра делителя, сумматора частного и блока микропрограммного управления, первый выход которого соединен с первым управляющим входом коммутатора и входами установки в ноль второго регистра остатка и сумматора частого, выход которого является выходом
частного устройства, второй выход блока микропрограммного управления соединен с вторым управляющим входом коммутатора и входами разрешения записи второго регистра остатка и сумматора частного, третий и четвертый выходы блока микропрограммного управления соединены с входами разрешения записи первого регистра остатка и регистра делителя соответственно, пятый выход блока микропрограммного управления является выходом признака окончания деления устройства [3].The closest in technical essence to the invention is a device for dividing, forming in each measure k digits of quotient (2≅ k≅]
Figure 00000004
[, where n is the bit capacity of the dividend and the divisor) and containing two remainder registers, the divisor register, the adder private (it is a combination of combinational adder and the register of private), the compulsory rounding adder, the inverse computation unit, two adders, two multiplication units, a switch, selector, subtracter, element NOT and block
microprogram control, wherein the data input of the device is connected to the information input of the divider register and to the first information input of the switch, the output of which is connected to the information input of the first remainder register, the outputs of the first and second register of the remainder are connected respectively to the first and second information inputs of the first adder, the output of which is output remaining device
and connected to the input of the reduced subtractor, the inputs of the subtracted and the loan of which are connected to the outputs of the first and second groups of the first multiplication block, respectively, the outputs of the difference and the loan of the subtractor are connected to the second information input of the switch and the information input of the second register of the balance, respectively, the outputs of the senior bits of the first and second registers the remainder connected to the first and second information
the inputs of the second adder, respectively, the low-order output of which is connected to the first information input of the second multiplication unit, the second information input of which is connected to the output of the reciprocal calculation unit, the input of which is connected to the output of the adder for rounding the divider, the information input of which is connected to the high-order output of the divider register whose output is connected to the first information
the input of the first multiplication unit, the second information input of which is connected to the information input of the least significant bits of the adder private and the output of the selector, the information input of which is connected to the output of the second unit of multiplication, the transfer input of the forced rounding adder is the input
logical "1" of the device, the output of the highest order of the second adder is connected to the input of the element NOT, the output of which is connected to the control input of the selector, the synchronization input of the device is connected to the sync inputs of the first and second registers of the remainder, the register of the divider, private adder and the microprogram control unit, the first output of which connected to the first control input of the switch and the inputs of setting to zero the second register of the remainder and the adder frequent, the output of which is the output
private device, the second output of the microprogram control unit is connected to the second control input of the switch and the recording permission inputs of the second remainder register and the adder private, the third and fourth outputs of the microprogram control unit are connected to the write permission inputs of the first remainder register and divider register, respectively, the fifth output of the microprogram control unit is the output of the sign of the end of the division of the device [3].

Недостаток известного устройства - относительно низкое быстродействие, так как при большом значении n и малом значении k время срабатывания сумматора частного становится больше времени срабатывания первого блока умножения и вычитателя вместе взятых. A disadvantage of the known device is its relatively low speed, since with a large value of n and a small value of k, the response time of the adder private becomes longer than the response time of the first multiplication unit and subtractor combined.

Повышение быстродействия достигается тем, что в устройство для деления, содержащее два регистра остатка, регистр делителя, регистр частного, сумматор принудительного округления, узел вычисления обратной величины, два сумматора, два блока умножения, первый коммутатор, селектор, вычитатель, элемент НЕ и блок микропрограммного управления, причем вход данных устройства соединен с информационным входом регистра делителя и с первым информационным входом первого коммутатора, выход которого соединен с информационным входом первого регистра остатка, выход первого сумматора является выходом результата устройства и соединен с входом уменьшаемого вычитателя, входы вычитаемого и заема которого соединены с выходами первой и второй групп первого блока умножения соответственно, выходы разности и заема вычитателя соединены с вторым информационным входом первого коммутатора и информационным входом второго регистра остатка соответственно, выходы старших разрядов первого и второго регистров остатка соединены с первым и вторым информационными входами второго сумматора соответственно, выход младших разрядов которого соединен с первым информационным входом второго блока умножения, второй информационный вход которого соединен с выходом узла вычисления обратной величины, вход которого соединен с выходом сумматора принудительного округления, информационный вход которого соединен с выходом старших разрядов регистра делителя, выход которого соединен с первым информационным входом первого блока умножения, второй информационный вход которого соединен с информационным входом младших разрядов регистра частного и выходом селектора, информационный вход которого соединен с выходом
второго блока умножения, вход переноса сумматора принудительного округления является входом логической "1" устройства, выход старшего разряда второго сумматора соединен с входом элемента НЕ, выход которого соединен с управляющим входом селектора, вход синхронизации устройства соединен с синхровходами первого и второго регистров остатка, регистра делителя, регистра частного и блока микропрограммного управления, первый выход которого соединен с
первым управляющим входом первого коммутатора и входом установки в ноль второго регистра остатка, второй выход блока микропрограммного управления соединен с вторым управляющим входом первого коммутатора и входами разрешения записи второго регистра остатка и регистра частного, третий и четвертый выходы блока
микропрограммного управления соединены с входами разрешения записи первого регистра остатка и регистра делителя соответственно, пятый выход блока микропрограммного управления является выходом признака окончания деления устройства, введены второй и третий коммутаторы, причем выход первого регистра остатка соединен с первым информационным входом второго коммутатора, второй информационный вход которого соединен с
первым выходом регистра частного, выход второго регистра остатка соединен с первым информационным входом третьего коммутатора, второй информационный вход которого соединен с вторым выходом регистра частного, выход второго коммутатора соединен с первым информационным входом первого сумматора, второй информационный вход которого соединен с выходом третьего коммутатора, первые управляющие входы второго и третьего коммутаторов соединены с вторым выходом блока микропрограммного управления, шестой выход которого соединен с вторыми управляющими входами второго и третьего коммутаторов.
Improving performance is achieved by the fact that the device for dividing, containing two remainder registers, divider register, private register, forced rounding adder, reciprocal calculation unit, two adders, two multiplication units, the first switch, selector, subtractor, NOT element and firmware block control, and the data input of the device is connected to the information input of the divider register and to the first information input of the first switch, the output of which is connected to the information input of the first register statistics, the output of the first adder is the output of the result of the device and is connected to the input of the reduced subtractor, the inputs of the subtracted and the loan of which are connected to the outputs of the first and second groups of the first multiplication block, respectively, the outputs of the difference and the loan of the subtractor are connected to the second information input of the first switch and the information input of the second register the remainder, respectively, the outputs of the highest bits of the first and second registers of the remainder are connected to the first and second information inputs of the second adder, respectively Namely, the low-order output of which is connected to the first information input of the second multiplication unit, the second information input of which is connected to the output of the reciprocal-calculating unit, the input of which is connected to the output of the forced rounding adder, the information input of which is connected to the high-order output of the divider register, the output of which is connected with the first information input of the first multiplication block, the second information input of which is connected to the information input of the lower digits of the register of private and course selector, an information input of which is connected to the output
the second multiplication block, the transfer input of the forced rounding adder is the logical input “1” of the device, the high-order output of the second adder is connected to the input of the element NOT, the output of which is connected to the control input of the selector, the synchronization input of the device is connected to the sync inputs of the first and second registers of the remainder, divider register , private register and firmware control unit, the first output of which is connected to
the first control input of the first switch and the zero input of the second balance register, the second output of the microprogram control unit is connected to the second control input of the first switch and the write permission inputs of the second balance register and the private register, the third and fourth outputs of the block
the firmware control is connected to the write permission inputs of the first remainder register and the divider register, respectively, the fifth output of the microprogram control unit is the output of the sign of the end of the division of the device, the second and third switches are introduced, and the output of the first register of the remainder is connected to the first information input of the second switch, the second information input of which connected to
the first output of the private register, the output of the second balance register is connected to the first information input of the third switch, the second information input of which is connected to the second output of the private register, the output of the second switch is connected to the first information input of the first adder, the second information input of which is connected to the output of the third switch, the first the control inputs of the second and third switches are connected to the second output of the firmware control unit, the sixth output of which is connected to the second control high inputs of the second and third switches.

Заявляемое устройство для
деления содержит отличительные признаки, не обнаруженные ни в одном из известных устройств - наличие второго и третьего коммутаторов с соответствующими связями. Эти признаки позволяют повысить быстродействие устройства за счет сокращения длительности такта работы при большом значении n и малом значении k.
The inventive device for
division contains distinctive features not found in any of the known devices - the presence of the second and third switches with corresponding connections. These features can improve the performance of the device by reducing the duration of the cycle with a large value of n and a small value of k.

Таким образом, так как в заявляемом техническом решении имеются отличительные признаки, обеспечивающие достижение цели и не обнаруженные ни в одном другом известном аналогичном техническом решении, то оно соответствует критерию "существенные отличия". Thus, since in the claimed technical solution there are distinctive features that achieve the goal and are not found in any other known similar technical solution, it meets the criterion of "significant differences".

На фиг. 1 приведена структурная схема предлагаемого устройства для деления; на фиг. 2 показано расположение k-разрядных групп цифр Zi частного в регистре частного для случая n = 16, k = 4, M = 5 (M - число тактов собственно деления, определяемое по формуле

Figure 00000005
); на фиг. 3 - представление содержимого регистра частного в виде двух слагаемых, сумма которых равна искомому значению частного; на фиг. 4 показана функциональная схема блока микропрограммного управления; на фиг. 5 - микропрограмма работы устройства.In FIG. 1 shows a structural diagram of the proposed device for division; in FIG. Figure 2 shows the location of k-bit groups of digits Zi quotient in the quotient register for the case n = 16, k = 4, M = 5 (M is the number of clock cycles of the division itself, determined by the formula
Figure 00000005
); in FIG. 3 - presentation of the contents of the register of private in the form of two terms, the sum of which is equal to the desired value of the private; in FIG. 4 shows a functional block diagram of the firmware control unit; in FIG. 5 - firmware operation of the device.

Устройство для деления содержит (фиг. 1) первый 1 и второй 2 регистры остатка, регистр 3 делителя, регистр 4 частного, сумматор 5 принудительного округления делителя, узел 6 вычисления обратной величины, первый 7 и второй 8 сумматоры, первый 9 и второй 10 блоки умножения, вычитатель 11, коммутаторы 12, 13 и 14, элемент НЕ 15, селектор 16, блок 17 микропрограммного управления, вход 18 данных устройства, вход 19 синхронизации устройства, вход 20 логической "1" устройства, выход 21 результата устройства, выходы 22 и 23 регистров
1 и 2 соответственно, выходы 24 и 25 старших разрядов регистров 1 и 2 соответственно, выход 26 регистра 3, выход 27 старших разрядов регистра 3 делителя, выход 28 сумматора 5, выход 29 узла 6 вычисления обратной величины, выходы 30 и 31 младших разрядов и старшего разряда второго сумматора 8 соответственно, выход 32 второго блока
10 умножения, выход 33 селектора 16, выходы 34, 35 первой и второй групп первого блока 9 умножения соответственно, первый 36 и второй 37 выходы регистра 4 частного, выходы 38 и 39 второго 13 и третьего 14 коммутаторов соответственно, выход 40 первого сумматора 7, выходы 41 и 42 разности и заема вычитателя 11 соответственно, выход 43 коммутатора 12, выходы 44-49 блока 17 микропрограммного управления соответственно. Вход 18 данных устройства соединен с информационным входом регистра 3 делителя и с первым информационным входом коммутатора 12, выход 43 которого соединен с информационным входом первого регистра 1 остатка. Выходы 22 и 23 первого 1 и второго 2 регистров остатка соединены с первыми информационными входами соответственно второго
13 и третьего 14 коммутаторов, вторые информационные входы которых соединены с первым 36 и вторым 37 выходами регистра 4 частного соответственно. Выходы 38 и 39 второго 13 и третьего 14 коммутаторов соединены соответственно с первым и вторым информационными входами первого сумматора 7, выход 40 которого является выходом 21 результата устройства и соединен с входом уменьшаемого вычитателя 11, входы вычитаемого и заема которого соединены с
выходами 34 и 35 первой и второй групп первого блока 9 умножения соответственно. Первый информационный вход первого блока 9 умножения соединен с выходом 26 регистра 3 делителя, выходы 41 и 42 разности и заема вычитателя 11 соединены с вторым информационным входом коммутатора 12 и информационным входом второго регистра 2 остатка соответственно. Выходы 24 и 25 старших разрядов первого 1 и второго 2 регистров остатка соединены с первым и вторым информационными входами второго сумматора 8 соответственно, выход 30 младших разрядов которого соединен с первым информационным входом второго блока 10 умножения. Выход 31 старшего разряда второго
сумматора 8 соединен с входом элемента НЕ 15, выход которого соединен с управляющим входом селектора 16, информационный вход которого соединен с выходом 32 второго блока 10 умножения. Выход 33 селектора 16 соединен с информационным входом младших разрядов регистра 4 частного и с вторым информационным входом первого блока 9 умножения, выход 27 старших разрядов регистра 3 делителя соединен с информационным входом сумматора 5 принудительного округления. Вход 20 логической "1" устройства соединен с входом переноса сумматора 5 принудительного округления, выход 28
которого соединен с информационным входом узла 6 вычисления обратной величины, выход 29 которого соединен с вторым информационным входом второго блока 10 умножения. Вход 19 синхронизации устройства соединен с синхровходами первого 1 и второго 2 регистров остатка, регистра 3 делителя, регистра 4 частного и блока 17 микропрограммного управления, первый выход 44 которого соединен с первым управляющим входом коммутатора 12 и входом установки в ноль второго регистра 2 остатка. Второй выход 45 блока 17 микропрограммного управления соединен с вторым управляющим входом коммутатора 12, с входами разрешения
записи регистров 2, 4 и с первыми управляющими входами второго 13 и третьего 14 коммутаторов, третий 46 и четвертый 47 выходы блока 17 микропрограммного управления соединены с входами разрешения записи первого регистра 1 остатка и регистра 3 делителя соответственно, пятый выход 48 блока 17 микропрограммного управления является выходом признака окончания деления устройства, шестой выход 49 блока 17 микропрограммного управления соединен с вторыми управляющими входами
второго 13 и третьего 14 коммутаторов.
The device for dividing contains (Fig. 1) the first 1 and second 2 registers of the remainder, register 3 of the divider, register 4 of the quotient, adder 5 of forced rounding of the divider, node 6 for calculating the inverse value, first 7 and second 8 adders, first 9 and second 10 blocks multiplication, subtractor 11, switches 12, 13 and 14, element NOT 15, selector 16, firmware control unit 17, device data input 18, device synchronization input 19, device logical 1 input 20, device output 21, outputs 22 and 23 registers
1 and 2, respectively, outputs 24 and 25 of the upper bits of registers 1 and 2, respectively, output 26 of register 3, output 27 of the highest bits of register 3 of the divider, output 28 of the adder 5, output 29 of the inverse calculation unit 6, outputs 30 and 31 of the least significant bits, and senior discharge of the second adder 8, respectively, the output 32 of the second block
10 multiplication, output 33 of selector 16, outputs 34, 35 of the first and second groups of the first block 9 of multiplication, respectively, the first 36 and second 37 outputs of the register 4 private, outputs 38 and 39 of the second 13 and third 14 switches, respectively, output 40 of the first adder 7, the outputs 41 and 42 of the difference and the loan of the subtractor 11, respectively, the output 43 of the switch 12, the outputs 44-49 of the block 17 of the firmware control, respectively. The input 18 of the device data is connected to the information input of the register 3 of the divider and to the first information input of the switch 12, the output of which 43 is connected to the information input of the first register 1 of the remainder. The outputs 22 and 23 of the first 1 and second 2 registers of the remainder are connected to the first information inputs, respectively, of the second
13 and the third 14 switches, the second information inputs of which are connected to the first 36 and second 37 outputs of the register 4 private, respectively. The outputs 38 and 39 of the second 13 and third 14 switches are connected respectively to the first and second information inputs of the first adder 7, the output of which 40 is the output 21 of the result of the device and connected to the input of the reduced subtractor 11, the inputs of which are subtracted and borrowed are connected to
outputs 34 and 35 of the first and second groups of the first block 9 multiplication, respectively. The first information input of the first multiplication unit 9 is connected to the output 26 of the divider register 3, the difference outputs 41 and 42 and the subtractor loan 11 are connected to the second information input of the switch 12 and the information input of the second balance register 2, respectively. The outputs 24 and 25 of the upper bits of the first 1 and second 2 registers of the remainder are connected to the first and second information inputs of the second adder 8, respectively, the output 30 of the lower bits of which is connected to the first information input of the second block 10 of multiplication. Output 31 of the highest order of the second
the adder 8 is connected to the input of the element NOT 15, the output of which is connected to the control input of the selector 16, the information input of which is connected to the output 32 of the second block 10 multiplication. The output 33 of the selector 16 is connected to the information input of the least significant bits of the register 4 of the private and with the second information input of the first block 9 multiplication, the output 27 of the highest bits of the register 3 of the divider is connected to the information input of the adder 5 forced rounding. The input 20 of the logical "1" device is connected to the transfer input of the adder 5 forced rounding, output 28
which is connected to the information input of the reciprocal-calculating unit 6, the output 29 of which is connected to the second information input of the second multiplication unit 10. The synchronization input 19 of the device is connected to the sync inputs of the first 1 and second 2 registers of the remainder, register 3 of the divider, register 4 of the private and block 17 firmware control, the first output 44 of which is connected to the first control input of the switch 12 and the installation input to zero of the second register 2 of the remainder. The second output 45 of the block 17 firmware control is connected to the second control input of the switch 12, with inputs of permission
write registers 2, 4 and with the first control inputs of the second 13 and third 14 switches, the third 46 and fourth 47 outputs of the firmware control unit 17 are connected to the write enable inputs of the first register 1 of the remainder and register 3 of the divider, respectively, the fifth output 48 of the firmware control unit 17 is the output of the sign of the end of the division of the device, the sixth output 49 of the block 17 of the firmware control is connected to the second control inputs
second 13 and third 14 switches.

Первый регистр остатка (n+2)-разрядный, из которых два разряда расположены слева от запятой, а остальные - справа от запятой. В исходном состоянии в разрядах справа от запятой этого регистра хранится n-разрядный двоичный код делимого без знака, а в процессе деления в него записываются значения разности очередных остатков. The first register of the remainder is (n + 2) -digit, of which two digits are located to the left of the comma, and the rest are to the right of the comma. In the initial state, the n-bit binary code of the unsigned dividend is stored in the digits to the right of the comma of this register, and during the division, the difference values of the next residues are written into it.

Второй регистр 2 остатка содержит n+1 разрядов, из которых два расположены слева от запятой, а остальные - справа. В исходном состоянии этот регистр обнулен, а в процессе деления в него записывается значение заемов очередных остатков. The second register 2 of the remainder contains n + 1 digits, of which two are located to the left of the comma, and the rest to the right. In the initial state, this register is reset, and in the process of division, the value of the loans of the next balances is written into it.

Регистр 3 делителя n-разрядный, причем все разряды расположены справа от запятой. В регистре 3 делителя в исходном состоянии хранится n-разрядный двоичный код делителя без знака. The register 3 of the divider is n-bit, and all the digits are located to the right of the comma. In register 3 of the divider, the n-bit binary code of the unsigned divider is stored in the initial state.

Регистр 4 частного предназначен для хранения частного k-разрядных групп цифр Zi частного. В тактах собственно деления работы устройства в регистр 4 частного записываются k-разрядные группы цифр Zi частного. Для этого в младшие разряды регистра 4 частного, содержимое которого сформировано на предыдущих тактах работы устройства и сдвинуто на k разрядов в сторону старших разрядов, заносятся k цифр частного, полученных на выходе 33 селектора 16 в текущем такте работы устройства. Запись информации в регистр 4 частного осуществляется по синхроимпульсу при наличии разрешающего потенциала на его входе разрешения записи, который подключен к второму выходу 45 блока 17 микропрограммного управления. Register 4 private is intended for storing private k-bit groups of digits Zi private. In cycles of the actual division of the operation of the device, k-bit groups of digits Zi of the quotient are recorded in register 4 of the quotient. For this, the lower digits of register 4 of the private register, the contents of which were generated at the previous clock cycles of the device and shifted by k bits toward higher digits, are entered k digits of the quotient received at the output 33 of the selector 16 in the current clock cycle of the device. Information is recorded in register 4 of the quotient by a clock pulse in the presence of a resolving potential at its input of a recording permission, which is connected to the second output 45 of the microprogram control unit 17.

Предполагается, что все регистры устройства реализованы на двухтактных синхронных DV-триггерах. Запись информации в регистры производится по синхроимпульсу при наличии разрешающего потенциала на их V-входах. It is assumed that all device registers are implemented on push-pull synchronous DV-triggers. Information is recorded in the registers according to the clock pulse in the presence of a resolving potential at their V-inputs.

Формирование k цифр частного в каждом такте работы устройства деления производится путем умножения однорядного кода усеченного остатка, сформированного на выходе 30 младших разрядов второго сумматора 8, на значение старших разрядов обратной величины усеченного делителя, подаваемое с выходов 29 узла 6 вычисления обратной величины. Чтобы устранить возможность получения в устройстве k цифр частного с избытком, значение старших разрядов делителя, поступающее с выхода 27 старших разрядов регистра 3 делителя, увеличивается на единицу младшего разряда в сумматоре 5 принудительного округления. The formation of k digits of quotient in each step of the operation of the division device is done by multiplying the single-row code of the truncated remainder generated at the output of the 30 least significant bits of the second adder 8 by the value of the highest bits of the reciprocal of the truncated divider supplied from the outputs 29 of the reciprocal-calculating unit 6. In order to eliminate the possibility of obtaining excess k digits in the device k, the value of the highest bits of the divider coming from the output of the 27 highest bits of register 3 of the divider is increased by the unit of the least significant bit in the adder 5 of forced rounding.

Пусть делимое X и делитель Y есть нормализованные двоичные дроби, т.е. 1/2 ≅ X < 1 и 1/2 ≅ Y < 1. Это справедливо только в первом такте деления. В дальнейшем, когда в роли делимого выступают промежуточные остатки, возможно нарушение нормализации делимого как влево, так и вправо. В общем случае делимое X в предлагаемом устройстве может изменяться в пределах 0 ≅ X < 2Y. Можно показать, что для получения на выходе 33 селектора 16 k двоичных цифр частного с точностью до единицы их младшего разряда достаточно обрабатывать k+4 старших разрядов делимого (один разряд - слева от запятой, а остальные - справа от запятой), k+3 старших разрядов делителя Y (все разряды расположены справа от запятой) и k+2 старших разрядов обратной величины принудительно округленного усеченного делителя (один разряд - слева от запятой, а остальные - справа от запятой). Let the dividend X and the divisor Y be normalized binary fractions, i.e. 1/2 ≅ X <1 and 1/2 ≅ Y <1. This is true only in the first measure of division. In the future, when intermediate residues act as the dividend, a violation of the normalization of the dividend is possible both to the left and to the right. In general, the divisible X in the proposed device can vary within 0 ≅ X <2Y. It can be shown that to obtain 16 k binary binary digits at the output of 33 selectors, up to a unit of their least significant digit, it suffices to process the k + 4 highest digits of the dividend (one digit to the left of the comma and the rest to the right of the comma), k + 3 senior bits of the divisor Y (all bits are located to the right of the comma) and k + 2 senior bits of the reciprocal of the forcedly rounded truncated divider (one bit to the left of the comma and the rest to the right of the comma).

Сумматор 5 (k+3)-разрядный комбинационного типа. В сумматоре 5 осуществляется принудительное округление делителя путем прибавления к значению k+3 старших разрядов делителя, поступающих на информационный вход сумматора 5 с выхода 27 старших разрядов регистра 3 делителя, единицы в младший разряд, поступающей на вход переноса сумматора 5 принудительного округления через вход 20 логической "1" устройства. На выходе 28 сумматора 5 принудительного округления образуется (k+4)-разрядный результат (один разряд - слева от запятой, а остальные - справа от запятой), который далее поступает на вход узла 6 вычисления обратной величины. The adder is 5 (k + 3) -bit combination type. In adder 5, the divider is forced to round by adding to the k + 3 value the high bits of the divider received at the information input of the adder 5 from the output of 27 high bits of the register 3 of the divider, the unit in the low order received at the transfer input of the adder 5 of forced rounding through the logical input 20 "1" device. At the output 28 of the forced rounding adder 5, a (k + 4) -bit result is generated (one digit to the left of the comma, and the rest to the right of the comma), which then goes to the input of the inverse computation unit 6.

Узел 6 вычисления обратной величины производит вычисление значения k+2 старших разрядов обратной величины от принудительно округленного значения k+3 старших разрядов делителя, поступающего на вход узла 6 вычисления обратной величины с выхода 28 сумматора 5 принудительного округления. На выходе 29 узла 6 вычисления обратной величины формируется значение k+2 старших разрядов обратной величины принудительно округленного усеченного делителя. Узел 6 может быть выполнен в виде комбинационной схемы, реализующей метод деления Стефанелли, или же совместно с сумматором 5 на ПЗУ по соответствующей таблице истинности. The inverse calculation unit 6 calculates the k + 2 high order bits of the inverse value from the forcedly rounded value k + 3 high order bits of the divider received at the input of the inverse value calculation unit 6 from the output 28 of the forced rounding adder 5. At the output 29 of the reciprocal-calculating unit 6, a value k + 2 senior digits of the reciprocal of the forced-rounded truncated divider is formed. Node 6 can be made in the form of a combinational circuit that implements the Stefanelli division method, or in conjunction with an adder 5 in ROM according to the corresponding truth table.

С помощью первого сумматора 7 комбинационного типа двухрядный код остатка, хранимый в первом 1 и втором 2 регистрах остатка, преобразуется в однорядный код. Второй сумматор 8 комбинационного типа. Он осуществляет преобразование k+5 старших разрядов двухрядного кода остатка, хранимого в регистрах 1 и 2 остатка, в однорядный код (два разряда - слева от запятой и k+3 разрядов - справа от запятой). На выходе 30 младших разрядов второго сумматора 8 образуется однорядный код k+4 старших разрядов остатка (один разряд - слева от запятой, k+3 разрядов - справа от запятой), а на выходе 31 старшего разряда второго сумматора 8 образуется старший дополнительный разряд остатка. Using the first combiner-type adder 7, a two-row remainder code stored in the first 1 and second 2 remainder registers is converted to a single-row code. The second adder 8 is a combination type. It converts the k + 5 high-order bits of the two-line remainder code stored in registers 1 and 2 of the remainder into a single-line code (two bits to the left of the comma and k + 3 bits to the right of the comma). At the output of the 30 least significant bits of the second adder 8, a single-row code of k + 4 high order bits of the remainder is formed (one bit is to the left of the decimal point, k + 3 bits are to the right of the decimal point), and the output of the 31 most significant bits of the second adder 8 is the leading additional bit of the remainder.

В первом блоке 9 умножения осуществляется перемножение k-разрядного частного, сформированного на выходе 33 селектора 16 и поступающего на второй информационный вход первого блока 9 умножения, и значения n-разрядного делителя, хранимого в регистре 3 делителя и поступающего на первый информационный вход блока 9 умножения с выхода 26 регистра 3 делителя. На первом 34 и втором 35 выходах первого блока 9 умножения образуется произведение в двухрядном коде (в виде двух чисел). Первый блок 9 умножения комбинационного типа и может быть разработан, например, в виде многослойной структуры без распространения переносов внутри слоев. Он также может быть реализован в виде совокупности из n/k k-разрядных двоичных умножителей. In the first block 9 of the multiplication, the k-bit quotient is multiplied, formed at the output 33 of the selector 16 and supplied to the second information input of the first block 9 of the multiplication, and the value of the n-bit divider stored in the register 3 of the divider and fed to the first information input of the block 9 output 26 register 3 divider. On the first 34 and second 35 outputs of the first multiplication block 9, a product is formed in a two-row code (in the form of two numbers). The first block 9 of the multiplication of the combination type and can be designed, for example, in the form of a multilayer structure without the spread of transfers within the layers. It can also be implemented as a combination of n / k k-bit binary multipliers.

Во втором блоке 10 умножения производится умножение значения однорядного кода k+4 старших разрядов остатка, поступающего на его первый информационный вход с выхода 30 младших разрядов второго сумматора 8, на значение k+2 старших разрядов обратной величины принудительно округленного усеченного делителя, поступающее на его второй информационный вход с выхода 29 узла 6 вычисления обратной величины. На выходе 32 блока 10 умножения формируется значение k цифр частного. Значение k-разрядного частного, полученного на выходе 33 селектора 16, может быть либо равно значению старших k разрядов частного, получаемого при делении n-разрядных чисел, либо меньше его на единицу младшего разряда с весом 2-(k-1). Блок 10 умножения комбинационного типа может быть разработан, например, в виде многослойной структуры с распространением переноса только в последнем слое.In the second block 10 of the multiplication is the multiplication of the value of a single-row code k + 4 high order bits of the remainder received at its first information input from the output of the 30 least significant bits of the second adder 8, the value k + 2 high order bits of the reciprocal of the forced-rounded truncated divider information input from the output 29 of the node 6 computing the reciprocal. At the output 32 of the multiplication block 10, a value of k digits of quotient is generated. The value of the k-bit quotient obtained at the output 33 of the selector 16 can either be equal to the value of the highest k bits of the quotient obtained by dividing n-bit numbers, or less than it by a unit of the least significant bit with a weight of 2 - (k-1) . The combination type multiplication unit 10 can be designed, for example, in the form of a multilayer structure with transport propagation only in the last layer.

В вычитателе 11 осуществляется вычитание из текущего остатка, сформированного в однорядном коде на выходе 40 первого сумматора 7, произведения делителя на k цифр частного, образованного в двухрядном коде на первом 34 и втором 35 выходах первого блока 9 умножения. Результат этого вычитания является очередным остатком и получается на выходах 41 и 42 разности и заема вычитателя 11 в двухрядном коде. Как и в устройстве-прототипе, вычитатель 11 комбинационного типа без распространения заема. Вычитатель 11 может быть реализован как на одноразрядных двоичных вычитателях, так и на одноразрядных двоичных сумматорах. В предлагаемом устройстве предполагается, что вычитатель 11 реализован на одноразрядных двоичных вычитателях. In the subtractor 11, the product of the divisor by k digits of the quotient formed in the two-row code on the first 34 and second 35 outputs of the first multiplication block 9 is subtracted from the current remainder generated in a single-row code at the output 40 of the first adder 7. The result of this subtraction is the next remainder and is obtained at the outputs 41 and 42 of the difference and the loan of the subtractor 11 in a two-row code. As in the prototype device, the subtractor 11 is a combination type without spreading the loan. Subtractor 11 can be implemented both on single-bit binary subtractors and on single-bit binary adders. In the proposed device, it is assumed that the subtractor 11 is implemented on single-bit binary subtractors.

С помощью коммутатора 12 осуществляется передача на информационный вход первого регистра 1 остатка либо делимого с входа 18 данных устройства, когда на первом выходе 44 блока 17 микропрограммного управления формируется сигнал логической "1", либо результата, образованного на выходе 41 разности вычитателя 11, когда на втором выходе 45 блока 17 микропрограммного управления формируется сигнал логической "1". Коммутатор 12 может быть реализован на элементах 2И - 2ИЛИ. Using the switch 12, the remainder of either the device data divisible from the input 18 of the device is transmitted to the information input of the first register 1 when a logical “1” signal is generated at the first output 44 of the microprogram control unit, or the result formed at the output 41 of the subtractor difference 11, when the second output 45 of the block 17 firmware control signal is generated logical "1". The switch 12 can be implemented on the elements 2I - 2OR.

С помощью второго коммутатора 13 и третьего коммутатора 14 осуществляется передача на первый и второй информационные входы первого сумматора 7 значения очередного остатка в двухрядном коде с выходов 22 и 23 первого 1 и второго 2 регистров остатка соответственно, когда на втором выходе 45 блока 17 микропрограммного управления формируется сигнал логической "1", либо содержимого регистра 4 частного, представленного в виде двух слагаемых на первом 36 и втором 37 выходах регистра 4 частного соответственно, когда на шестом выходе 49 блока 17 микропрограммного управления формируется сигнал логической "1". Второй 13 и третий 14 коммутаторы могут быть реализованы на элементах 2И - 2ИЛИ (каждый разряд коммутатора строится на одном элементе 2И - 2ИЛИ). Using the second switch 13 and the third switch 14, the next remainder in the two-row code from the outputs 22 and 23 of the first 1 and second 2 registers of the remainder is transferred to the first and second information inputs of the first adder 7, respectively, when the second output 45 of the microprogram control unit 17 is formed the logical signal “1”, or the contents of the register 4 private, presented in the form of two terms on the first 36 and second 37 outputs of the register 4 private, respectively, when the sixth output 49 of the block 17 firmware th control formed a logical signal "1". The second 13 and third 14 switches can be implemented on elements 2I - 2OR (each bit of the switch is built on one element 2I - 2OR).

Так как в предлагаемом устройстве при формировании k цифр частного используются старшие разряды остатка, полученные при приведении на втором сумматоре 8 к однорядному коду старших разрядов двухрядного кода остатка, то становится возможным образование неправильного значения k цифр частного. Так, если значение старших разрядов приведенного остатка, полученного на выходе 40 первого сумматора 7, равно нулю, то при формировании однорядного кода старших разрядов остатка путем сложения на втором сумматоре 8 старших разрядов двухрядного кода остатка возможно получение значения суммы на выходе 30 младших разрядов сумматора 8 меньшего, чем ноль на единицу младшего разряда, т. е. значения

Figure 00000006
. Но в этом случае на выходе 31 старшего разряда второго сумматора 8 формируется логическая "1", а в случае, если значение старших разрядов приведенного остатка, полученного на выходе 40 первого сумматора 7, не равно нулю, на выходе 31 старшего разряда второго сумматора 8 формируется логический "0". Для исключения возможности получения в первом случае неверного значения k цифр частного в устройстве предусмотрена блокировка (формирование значения k цифр частного, равного нулю) k цифр частного, полученных на выходе 32 второго блока 10 умножения, путем подачи на управляющий вход селектора 16 уровня логического "0" с выхода элемента НЕ 15. Уровень логического "0" на его выходе устанавливается в том случае, если на выходе 31 старшего разряда второго сумматора 8 устанавливается уровень логической "1". Во всех других случаях на выход 33 селектора 16 пропускается значение k цифр частного с выхода 32 второго блока 10 умножения.Since in the proposed device, when forming k digits of the quotient, the highest bits of the remainder are used, obtained when the second adder 8 was converted to a single-row code of the highest digits of the double-row remainder code, it becomes possible to form an incorrect value of k digits of the quotient. So, if the value of the leading bits of the reduced remainder obtained at the output 40 of the first adder 7 is zero, then when generating a single-row code of the leading bits of the remainder by adding 8 higher bits of the two-row remainder code on the second adder, it is possible to obtain the sum value at the output of the lower 30 bits of the adder 8 less than zero per unit of the least significant bit, i.e.
Figure 00000006
. But in this case, logical 31 is formed at the output 31 of the senior bit of the second adder 8, and if the value of the highest bits of the reduced balance received at the output 40 of the first adder 7 is not zero, the output 31 of the senior bit of the second adder 8 is formed logical "0". To exclude the possibility of obtaining in the first case an incorrect value of k digits of quotient, the device provides for blocking (generating a value of k digits of quotient equal to zero) k digits of quotient received at the output 32 of the second block 10 of multiplication by supplying logic level 0 to the control input of the selector 16 "from the output of the element NOT 15. The logical level" 0 "at its output is set if the logical level" 1 "is set at the output 31 of the highest order of the second adder 8. In all other cases, the output k of the selector 16 is passed the value of k digits quotient from the output 32 of the second block 10 of the multiplication.

Селектор 16 производит формирование на выходе 33 значения k цифр частного, равного нулю, если на его управляющем входе присутствует сигнал логического "0", или же пропускает на выход 33 значение k цифр частного с выхода 32 второго блока 10 умножения, если на его управляющем входе присутствует сигнал логической "1". Предполагается, что селектор 16 реализован так же, как и в устройстве-прототипе, т.е. содержит k двухвходовых элементов И, имеющих один общий вход, служащий в качестве управляющего входа. The selector 16 generates at the output 33 a value of k digits of quotient equal to zero if a logical "0" signal is present at its control input, or passes a value of k digits of quotient from output 32 of the second multiplication block 10 to output 33 if at its control input logical 1 signal present. It is assumed that the selector 16 is implemented in the same way as in the prototype device, i.e. contains k two-input elements AND having one common input serving as a control input.

Блок 17 микропрограммного управления координирует работу узлов и блоков устройства при выполнении в нем операции деления. Как и в устройстве-прототипе он может быть реализован различными методами, например на счетчике 50 и памяти 51 микрокоманд (фиг. 4). Счетчик 50 накапливающего типа и предназначен для естественной адресации микрокоманд. Вход счета счетчика 50 соединен с входом 19 синхронизации устройства. В качестве памяти 51 микрокоманд может быть применена быстродействующая постоянная память емкостью (M+5)6, где M - число тактов собственно деления, в течение которых в устройстве формируется [M ˙ (k-1)+1] цифр частного; ] X [- ближайшее целое, большее или равное X. В самом начале работы устройства счетчик 50 устанавливается в некоторое исходное состояние, например в ноль (на фиг. 4 цепь установки счетчика 50 в исходное состояние не показана). Микропрограмма работы устройства представлена на фиг. 4. The microprogram control unit 17 coordinates the operation of the nodes and blocks of the device when performing a division operation in it. As in the prototype device, it can be implemented by various methods, for example, on the counter 50 and the memory 51 of micro-commands (Fig. 4). The counter 50 accumulating type and is designed for the natural addressing of microcommands. The input of the counter 50 is connected to the input 19 of the synchronization device. As a memory of 51 micro-instructions, a high-speed read-only memory with a capacity of (M + 5) 6 can be applied, where M is the number of clock cycles of division, during which [M ˙ (k-1) +1] digits of the quotient are formed in the device; ] X [is the nearest integer greater than or equal to X. At the very beginning of the operation of the device, the counter 50 is set to some initial state, for example, to zero (in Fig. 4, the chain for setting the counter 50 to its initial state is not shown). The firmware of the device is shown in FIG. 4.

Устройство для деления работает следующим образом. A device for dividing works as follows.

Пусть на входе 18 данных устройства присутствуют без знаков n-разрядные двоичные коды делителя Y и делимого X (т.е. коды дробных частей делителя и делимого), а счетчик 50 блока 17 микропрограммного управления установлен в начальное нулевое состояние. Тогда на четвертом 47 выходе блока 17 микропрограммного управления формируется единичный сигнал, под действием которого регистр 3 делителя подготовлен к приему информации. С приходом первого импульса синхронизации на вход 19 синхронизации устройства осуществляется запись двоичного кода делителя Y в регистр 3 делителя. Счетчик 50 блока 17 микропрограммного управления устанавливается в состояние "1". Suppose that at the input 18 of the device data there are n-bit binary codes of the divisor Y and the dividend X (i.e., the codes of the fractional parts of the divider and the dividend) without signs, and the counter 50 of the microprogram control unit 17 is set to the initial zero state. Then, at the fourth 47th output of the microprogram control unit 17, a single signal is generated, under the action of which the divider register 3 is prepared for receiving information. With the arrival of the first synchronization pulse to the synchronization input 19 of the device, the binary code of the divider Y is recorded in the register 3 of the divider. The counter 50 of the firmware control unit 17 is set to the state “1”.

Во втором такте работы устройства на первом 44 и третьем 46 выходах блока 17 микропрограммного формируются сигналы логической "1", под действием которых коммутатор 12 пропускает на информационный вход первого регистра 1 остатка делимое X с входа 18 данных устройства, на информационные входы сумматора 5 принудительного округления делителя поступает значение старших разрядов делителя с выхода 27 старших разрядов регистра 3 делителя, принудительно округленное значение усеченного делителя с выхода 28 сумматора 5 поступает на вход узла 6 вычисления обратной величины, на выходе 29 которого формируется значение k+2 старших разрядов обратной величины принудительно округленного усеченного делителя, регистр 1 подготовлен к приему информации, а второй регистр 2 остатка - к обнулению. С приходом второго синхроимпульса на вход 19 синхронизации устройства осуществляется запись двоичного кода делимого X в регистры 1, а также обнуление второго регистра 2 остатка. Счетчик 50 блока 17 микропрограммного управления устанавливается в состояние "2". После завершения действия второго импульса на входе 19 синхронизации устройства заканчивается подготовительный этап и начинается собственно деление, в процессе которого в течение M тактов формируется [M˙ (k-1)+1] двоичных цифр частного. In the second clock cycle of the device, the logical 44 signals are generated at the first 44 and third 46 outputs of the firmware block 17, under the influence of which the switch 12 passes the divisible X from the input 18 of the device data to the information input of the first register 1, to the information inputs of the forced rounding adder 5 the divider receives the value of the highest bits of the divider from the output of 27 senior bits of the register 3 of the divider; brother value, at the output 29 of which the value k + 2 senior digits of the reciprocal of the force-rounded truncated divider is generated, register 1 is prepared for receiving information, and the second register 2 of the remainder is for zeroing. With the arrival of the second clock pulse at the synchronization input 19 of the device, the binary code of the divisible X is recorded in registers 1, and the second register 2 of the remainder is reset. The counter 50 of the firmware control unit 17 is set to the state “2”. After the action of the second pulse at the synchronization input 19 of the device ends, the preparatory phase ends and the division itself begins, during which [M˙ (k-1) +1] binary digits of the quotient are formed during M clock cycles.

В третьем такте (в первом из M тактов собственно деления) работы устройства на втором 45 и третьем 46 выходах блока 17 микропрограммного управления образуются сигналы логической "1". Под действием этих управляющих сигналов в устройстве выполняются следующие действия. Второй коммутатор 13 и третий коммутатор 14 пропускают на первый и второй информационные входы первого сумматора 7 значение очередного остатка в двухрядном коде с выходов 22 и 23 первого 1 и второго 2 регистров остатка соответственно. По значению старших разрядов делимого (на следующих тактах в роли делимого выступает остаток, хранящийся в регистрах 1 и 2 остатка в двухрядном коде) и обратной величины принудительно округленного усеченного делителя на выходе 32 блока 10 умножения формируется значение k двоичных цифр частного. Параллельно с работой второго сумматора 8 и второго блока 10 умножения работает первый сумматор 7, который преобразует двухрядный код текущего остатка в однорядный. По значению старшего разряда второго сумматора 8 осуществляется окончательное формирование k цифр частного на выходе 33 селектора 16. Если сигнал на выходе 31 второго сумматора 8 соответствует уровню логической "1", то на выходе элемента НЕ 15 формируется сигнал логического "0", который устанавливает значение k цифр частного на выходе 33 селектора 16 равным нулю. В противном случае в качестве k-разрядного частного в устройстве используется значение k цифр частного, сформированное на выходе 32 второго блока 10 умножения, Сформированное на выходе 33 селектора 16 k-разрядное частное Z1 (в следующих тактах - Zi, где i - номер такта собственно деления) поступает на информационные входы младших разрядов регистра 4 частного и на второй информационный вход первого блока 9 умножения, на выходах 34, 35 которого образуется произведение Y ˙ Z1 в двухрядном коде. С помощью вычитателя 11 формируется разность X-Y ˙ Z1 в двухрядном коде, которая в дальнейшем служит очередным остатком и подается на второй информационный вход коммутатора 12 и на информационный вход второго регистра 2 остатка со сдвигом на k-1 разрядов влево (в сторону младших разрядов). Регистры 1, 2 и регистр 4 частного подготовлены к приему информации. С приходом третьего синхроимпульса на вход 19 синхронизации устройства в регистры 1 и 2 записывается сформированный на выходах 41, 42 вычитателя 11 двухрядный код остатка, в младшие разряды регистра 4 частного заносятся k старших цифр частного с выхода 33 селектора 16, а счетчик 50 блока 17 микропрограммного управления устанавливается в состояние "3". На этом третий такт работы устройства заканчивается и далее выполняется еще M-1 аналогичных тактов. В каждом из этих тактов k очередных цифр частного, образованных на выходе 33 селектора 16, поступают на информационные входы младших разрядов регистра 4 частного, содержимое которого сдвинуто на k-1 разрядов в сторону его старших разрядов. In the third clock cycle (in the first of the M clock cycles of the actual division) of the operation of the device, the logical 1 signals are generated at the second 45 and third 46 outputs of the microprogram control unit 17. Under the influence of these control signals in the device, the following actions are performed. The second switch 13 and the third switch 14 pass to the first and second information inputs of the first adder 7 the value of the next remainder in a two-row code from the outputs 22 and 23 of the first 1 and second 2 registers of the remainder, respectively. By the value of the highest digits of the dividend (at the next clock, the dividend is the remainder stored in registers 1 and 2 of the remainder in the two-row code) and the reciprocal of the forcedly rounded truncated divider at the output 32 of the multiplication block 10, the value k of binary digits of the quotient is formed. In parallel with the operation of the second adder 8 and the second multiplication unit 10, the first adder 7 operates, which converts the two-row code of the current remainder into a single-row one. According to the value of the senior bit of the second adder 8, the final formation of k digits of the quotient at the output 33 of the selector 16 is carried out. If the signal at the output 31 of the second adder 8 corresponds to the logic level “1”, then the output of the element 15 is the logical signal “0”, which sets the value k digits of quotient at the output 33 of the selector 16 equal to zero. Otherwise, as a k-bit quotient in the device, the value of k digits of the quotient generated at the output 32 of the second multiplication block 10 is used. The k-bit quotient Z1 formed at the output of the selector 16 16 (Zi in the following clocks, where i is the measure number itself division) is fed to the information inputs of the least significant bits of register 4 of the private register and to the second information input of the first block 9 of multiplication, at outputs 34, 35 of which the product Y ˙ Z1 is formed in a two-row code. Using the subtractor 11, the difference X-Y ˙ Z1 is formed in a two-line code, which subsequently serves as the next remainder and is fed to the second information input of the switch 12 and to the information input of the second register 2 of the remainder with a shift by k-1 bits to the left (towards the lower bits). Registers 1, 2 and register 4 private prepared for receiving information. With the arrival of the third clock pulse at the synchronization input 19 of the device, the double-digit remainder code generated at the outputs 41, 42 of the subtractor 11 is recorded in the registers 1 and 2, k high digits of the quotient from the output 33 of the selector 16 are entered into the lower bits of the private register 4, and the counter 50 of the firmware block 17 control is set to "3". On this, the third clock cycle of the device ends and then M-1 similar clock cycles are performed. In each of these clock cycles, k regular digits of the quotient formed at the output of 33 selectors 16 are fed to the information inputs of the lower digits of register 4 of the quotient, the contents of which are shifted by k-1 digits towards its higher digits.

После выполнения последнего (M-го) такта собственно деления в регистре 4 частного хранятся все M k-разрядных групп цифр Zi частного. На фиг. 2 показано расположение k-разрядных групп цифр Zi частного в регистре 4 частного для случая n = 16, k = 4, M = 5. After the last (Mth) measure of the division itself is executed, all M k-bit groups of digits Zi of the quotient are stored in register 4 of the quotient. In FIG. Figure 2 shows the location of k-bit groups of digits Zi quotient in register 4 quotient for the case n = 16, k = 4, M = 5.

В (M+3)-м такте работы устройства на шестом выходе 49 блока 17 микропрограммного управления образуется сигнал логической "1", под действием которого второй коммутатор 13 и третий коммутатор 14 пропускают на первый 38 и второй 39 информационные входы первого сумматора 7 содержимое регистра 4 частного, представленное в виде двух слагаемых, с первого 36 и второго 37 выходов регистра 4 частного соответственно. На фиг. 3 показано представление содержимого сумматора 4 частного в виде двух слагаемых, сумма которых равна искомому значению частного. После выполнения (M+3)-го такта работы устройства на выходе 21 результата устройства образуется n-разрядное частное. In the (M + 3) -th clock cycle of the device, a logical "1" signal is generated at the sixth output 49 of the microprogram control unit 17, by which the second switch 13 and the third switch 14 pass the information inputs of the first adder 7 to the contents of the register to the first 38 and second 39 4 private, presented in the form of two terms, from the first 36 and second 37 outputs of the register 4 private respectively. In FIG. 3 shows a representation of the contents of the adder 4 quotient in the form of two terms, the sum of which is equal to the desired value of the quotient. After performing the (M + 3) -th clock cycle of the device, an n-bit quotient is formed at the output 21 of the device result.

В (M+4)-м такте работы устройства на втором выходе 45 блока 17 микропрограммного управления образуется сигнал логической "1", под действием которого второй коммутатор 13 и третий коммутатор 14 пропускают на первый 38 и второй 39 информационные входы первого сумматора 7 значение остатка в двухрядном коде с выходов 22 и 23 первого 1 и второго 2 регистров остатка соответственно. Этот такт может не выполняться, если не требуется получения конечного остатка. После выполнения (M+4)-го такта работы устройства на выходе 21 результата устройства образуется n-разрядный остаток от деления. Одновременно с этим из памяти 51 микрокоманд блока 17 микропрограммного управления считывается микрокоманда M+5, которой соответствует управляющий сигнал Y 48, и соответственно на пятом выходе 48 блока 17 микропрограммного управления устанавливается уровень логической "1", сигнализирующий об окончании операции деления. In the (M + 4) -th operating cycle of the device, a logical “1” signal is generated at the second output 45 of the microprogram control unit 17, under which the second switch 13 and the third switch 14 pass the information inputs of the first adder 7 to the remainder value in a two-row code with outputs 22 and 23 of the first 1 and second 2 registers of the remainder, respectively. This measure may not be performed unless a final balance is required. After performing the (M + 4) -th clock cycle of the device at the output 21 of the result of the device, an n-bit remainder from division is formed. At the same time, the micro command M + 5, which corresponds to the control signal Y 48, is read out from the memory 51 of the microcommands of the microprogram control unit 17, and accordingly, the logical level “1” is set at the fifth output 48 of the microprogram control unit 17, which signals the end of the division operation.

Сравнение предлагаемого устройства и устройства-прототипа по быстродействию. Так как в предлагаемом устройстве и устройстве-прототипе деление выполняется за разное число тактов, то для сравнения их быстродействия необходимо сравнить их по скорости деления в них двух n-разрядных чисел. Comparison of the proposed device and the prototype device for speed. Since in the proposed device and the prototype device, division is performed for a different number of clock cycles, to compare their speed it is necessary to compare them by the division speed of two n-bit numbers in them.

Сравнение предлагаемого устройства для деления и устройства-прототипа по скорости деления в них двух n-разрядных чисел при следующих допущениях: n = 64, k = 4, в качестве элементной базы используются двух=, трех= и четырехвходовые элементы И, ИЛИ, а также элемент НЕ, τ - задержка на одном логическом элементе. Comparison of the proposed division device and the prototype device in terms of the division rate of two n-bit numbers in them under the following assumptions: n = 64, k = 4, two =, three =, and four-input elements AND, OR, and also four-input elements are used as element base element NOT, τ - delay on one logical element.

Расчет длительности одного такта работы устройства-прототипа и предлагаемого устройства представлен в таблице. The calculation of the duration of one cycle of the prototype device and the proposed device is presented in the table.

Время работы устройства-прототипа при делении на нем n-разрядных чисел определяется по формуле
V1 = (M+3) ˙ Tпрот, где M - число тактов собственно деления, определяемое по формуле

Figure 00000007
;
Tпрот - длительность одного такта работы устройства-прототипа.The operating time of the prototype device when dividing n-bit numbers on it is determined by the formula
V1 = (M + 3) ˙ T prot , where M is the number of measures of the division itself, determined by the formula
Figure 00000007
;
T prot - the duration of one cycle of the prototype device.

Время работы предлагаемого устройства при делении на нем n-разрядных чисел определяется по формуле
V2 = (M+4) ˙Tпредл, где M - число тактов собственно деления, определяемое по формуле

Figure 00000008
;
Tпредл. - длительность одного такта работы предлагаемого устройства.The operating time of the proposed device when dividing n-bit numbers on it is determined by the formula
V2 = (M + 4) ˙T sentence , where M is the number of measures of the division itself, determined by the formula
Figure 00000008
;
T proposal - the duration of one cycle of the proposed device.

При n= 64 и k=4 время работы устройства-прототипа V1=1200 τ , а время работы предлагаемого устройства V2=1125 τ . When n = 64 and k = 4, the operating time of the prototype device is V1 = 1200 τ, and the operating time of the proposed device is V2 = 1125 τ.

Следовательно, быстродействие предлагаемого устройства примерно на 6% выше, чем быстродействие устройства-прототипа. Кроме того, предлагаемое устройство является более экономичным, так как два введенных коммутатора проще исключенного из устройства комбинационного сумматора частного. Therefore, the performance of the proposed device is approximately 6% higher than the performance of the prototype device. In addition, the proposed device is more economical, since the two introduced switches are simpler excluded from the device combinational combiner private.

Claims (1)

УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ, содержащее два регистра остатка, регистр делителя, регистр частного, сумматор принудительного округления, узел вычисления обратной величины, два сумматора, два блока умножения, первый коммутатор, селектор, вычитатель, элемент НЕ и блок микропрограммного управления, причем вход данных устройства соединен с информационным входом регистра делителя и с первым информационным входом первого коммутатора, выход которого соединен с информационным входом первого регистра остатка, выход первого сумматора является выходом результата устройства и соединен с входом уменьшаемого вычитателя, входы вычитаемого и заема которого соединены с выходами первой и второй групп первого блока умножения соответственно, выходы разности и заема вычитателя соединены с вторым информационным входом первого коммутатора и информационным входом второго регистра остатка соответственно, выходы старших разрядов первого и второго регистров остатка соединены с первым и вторым информационными входами второго сумматора соответственно, выход младших разрядов которого соединен с первым информационным входом второго блока умножения, второй информационный вход которого соединен с выходом узла вычисления обратной величины, вход которого соединен с выходом сумматора принудительного округления, информационный вход которого соединен с выходом старших разрядов регистра делителя, выход которого соединен с первым информационным входом первого блока умножения, второй информационный вход которого соединен с информационным входом младших разрядов регистра частного и выходом селектора, информационный вход которого соединен с выходом второго блока умножения, вход переноса сумматора принудительного округления является входом логической единицы устройства, выход старшего разряда второго сумматора соединен с входом элемента НЕ, выход которого соединен с управляющим входом селектора, вход синхронизации устройства соединен с синхровходами первого и второго регистров остатка, регистра делителя, регистра частного и блока микропрограммного управления, первый выход которого соединен с первым управляющим входом первого коммутатора и входом установки в "0" второго регистра остатка, второй выход блока микропрограммного управления соединен с вторым управляющим входом первого коммутатора и входами разрешения записи второго регистра остатка и регистра частного, третий и четвертый выходы блока микропрограммного управления соединены с входами разрешения записи первого регистра остатка и регистра делителя соответственно, пятый выход блока микропрограммного управления является выходом признака окончания деления устройства, отличающееся тем, что в устройство введены второй и третий коммутаторы, причем выход первого регистра остатка соединен с первым информационным входом второго коммутатора, второй информационный вход которого соединен с первым выходом регистра частного, выход второго регистра остатка соединен с первым информационным входом третьего коммутатора, второй информационный вход которого соединен с вторым выходом регистра частного, выход второго коммутатора соединен с первым информационным входом первого сумматора, второй информационный вход которого соединен с выходом третьего коммутатора, первые управляющие входы второго и третьего коммутаторов соединены с вторым выходом блока микропрограммного управления, шестой выход которого соединен с вторыми управляющими входами второго и третьего коммутаторов. DEVICE FOR DIVISION, comprising two remainder registers, a divisor register, a private register, a forced rounding adder, an inverse computation unit, two adders, two multiplication units, a first switch, a selector, a subtracter, a NOT element and a firmware control unit, the device data input being connected with the information input of the divider register and the first information input of the first switch, the output of which is connected to the information input of the first register of the remainder, the output of the first adder is the output the result of the device and is connected to the input of the reduced subtractor, the inputs of the subtracted and the loan of which are connected to the outputs of the first and second groups of the first multiplication block, respectively, the outputs of the difference and the loan of the subtractor are connected to the second information input of the first switch and the information input of the second register of the balance, respectively, the outputs of the senior bits of the first and the second balance registers are connected to the first and second information inputs of the second adder, respectively, the output of the least significant bits of which are connected to the first information input of the second multiplication unit, the second information input of which is connected to the output of the reciprocal calculation unit, the input of which is connected to the output of the forced rounding adder, the information input of which is connected to the high-order output of the divider register, the output of which is connected to the first information input of the first multiplication unit, the second information input of which is connected to the information input of the lower digits of the private register and the output of the selector, the information input of which is It is connected to the output of the second multiplication unit, the transfer input of the forced rounding adder is the input of the logical unit of the device, the output of the highest bit of the second adder is connected to the input of the element NOT, the output of which is connected to the control input of the selector, the synchronization input of the device is connected to the sync inputs of the first and second register registers, register divider, private register and microprogram control unit, the first output of which is connected to the first control input of the first switch and the installation input in " 0 "of the second remainder register, the second output of the firmware control unit is connected to the second control input of the first switch and the write enable inputs of the second remainder register and private register, the third and fourth outputs of the firmware control unit are connected to the write enable inputs of the first remainder register and divider register, respectively, fifth the output of the microprogram control unit is the output of the sign of the end of the division of the device, characterized in that the second and third commutations are introduced into the device at the same time, the output of the first balance register is connected to the first information input of the second switch, the second information input of which is connected to the first output of the private register, the output of the second balance register is connected to the first information input of the third switch, the second information input of which is connected to the second output of the private register, output the second switch is connected to the first information input of the first adder, the second information input of which is connected to the output of the third switch, the first control yayuschie inputs of the second and third switches are connected to the second output of the microprogram control, a sixth output is connected to second control inputs of the second and third switches.
SU5013524 1991-07-03 1991-07-03 Divider RU2018933C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU5013524 RU2018933C1 (en) 1991-07-03 1991-07-03 Divider

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU5013524 RU2018933C1 (en) 1991-07-03 1991-07-03 Divider

Publications (1)

Publication Number Publication Date
RU2018933C1 true RU2018933C1 (en) 1994-08-30

Family

ID=21590032

Family Applications (1)

Application Number Title Priority Date Filing Date
SU5013524 RU2018933C1 (en) 1991-07-03 1991-07-03 Divider

Country Status (1)

Country Link
RU (1) RU2018933C1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
1. Авторское свидетельство СССР N 1322264, кл. G 06F 7/52, 1985. *
2. Авторское свидетельство СССР N 1425657, кл. G 06F 7/52, 1986. *
3. Авторское свидетельство СССР N 1357947, кл. G 06F 7/52, 1986. *

Similar Documents

Publication Publication Date Title
US3691359A (en) Asynchronous binary multiplier employing carry-save addition
US5798955A (en) High-speed division and square root calculation unit
EP0464493B1 (en) High-radix divider
EP0040279B1 (en) Binary divider
KR970007613A (en) SRT hardware and square root units that generate multiple share digits per clock cycle
US3878985A (en) Serial-parallel multiplier using booth{3 s algorithm with combined carry-borrow feature
US4293922A (en) Device for multiplying binary numbers
US3234367A (en) Quotient guess divider
US3813529A (en) Digital high order interpolator
US4503512A (en) Cellular division circuit
RU2018933C1 (en) Divider
US5268858A (en) Method and apparatus for negating an operand
US3489888A (en) Floating point look-ahead binary multiplication system utilizing two&#39;s complement notation for representing negative numbers
US3604909A (en) Modular unit for digital arithmetic systems
RU2018934C1 (en) Divider
US3417236A (en) Parallel binary adder utilizing cyclic control signals
RU1783523C (en) Device for dividing
SU1803913A1 (en) Division device
SU1417010A1 (en) Number dividing device
SU1667059A2 (en) Device for multiplying two numbers
EP0450751B1 (en) High speed digital divider
SU1728862A1 (en) Divider
RU1783522C (en) Divider
SU1735844A1 (en) Device for dividing numbers
SU1425657A1 (en) Dividing device