RU2018934C1 - Divider - Google Patents
Divider Download PDFInfo
- Publication number
- RU2018934C1 RU2018934C1 SU5014265A RU2018934C1 RU 2018934 C1 RU2018934 C1 RU 2018934C1 SU 5014265 A SU5014265 A SU 5014265A RU 2018934 C1 RU2018934 C1 RU 2018934C1
- Authority
- RU
- Russia
- Prior art keywords
- register
- adder
- output
- outputs
- inputs
- Prior art date
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
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 ≅ ][ , где n - разрядность делимого и делителя; ] x [ - ближайшее целое, большее или равное x) и содержащее регистр делимого, регистр делителя, сумматор частного, сумматор принудительного округления делителя, блок деления усеченных чисел, блок умножения, регистр цифр частного, три вычитателя, два коммутатора и блок управления [1].A device for dividing is known, forming in each also k digits of a quotient (2≅ k ≅] [, where n is the resolution of the dividend and divisor; ] x [is the nearest integer greater than or equal to x) and contains the register of the dividend, register of the divisor, adder of private, adder of forced rounding of the divider, block of division of truncated numbers, multiplication block, register of digits of private, three subtractors, two switches and control unit [1 ].
Основным недостатком этого устройства является низкое быстродействие, так как старшие k цифр частного формируются в течение двух первых тактов работы устройства (в первом такте происходит загрузка регистра делителя, а во втором - загрузка регистра делимого и формирование k самых старших цифр частного). The main disadvantage of this device is its low speed, since the highest k digits of the quotient are formed during the first two clock cycles of the device (the divisor register is loaded in the first bar and the dividend register is loaded in the second and the k oldest quotient digits are generated).
Наиболее близким по технической сущности к изобретению является устройство для деления, формирующее в каждом такте k цифр частного ( 2≅ k ≅ ][ , где n - разрядность делимого и делителя) и содержащее регистр делимого, регистр делителя, сумматор частного, сумматор принудительного округления делителя, блок деления усеченных чисел, блок умножения, регистр цифр частного, три вычитателя, три коммутатора и блок управления, причем выходы делителя и делимого через шину данных устройства соединены с информационными входами регистра делителя и с информационными входами первой группы первого коммутатора, выходы первого коммутатора соединены с информационными входами регистра делимого, выходы которого соединены с входами уменьшаемого первого вычитателя, входы вычитаемого и заема которого соединены с выходами первой и второй групп блока умножения соответственно, выходы разности и заема первого вычитателя соединены с входами уменьшаемого и вычитаемого второго вычитателя соответственно, выходы которого соединены с информационными входами второй группы первого коммутатора, входы первой группы блока умножения соединены с выходами регистра делителя соответственно, информационные входы первой группы второго коммутатора соединены с выходами старших разрядов делимого через шину данных устройства, выход старших разрядов регистра делителя соединен с информационными входами первой группы третьего коммутатора, информационные входы второй группы которого соединены с выходами старших разрядов делителя через шину данных устройства, выходы третьего коммутатора соединены с входами сумматора принудительного округления делителя, вход логической "1" устройства соединен с входом переноса сумматора принудительного округления делителя, выходы которого соединены с входами делителя блока деления усеченных чисел, входы делимого которого соединены с выходами второго коммутатора, выходы блока деления усеченных чисел соединены с информационными входами регистра цифр частного, выходы которого соединены с входами второй группы блока умножения и с входами младших разрядов сумматора частного, выходы старших разрядов разности и заема первого вычитателя соединены с входами уменьшаемого и вычитаемого третьего вычитателя соответственно, вход заема третьего вычитателя соединен с входом логической "1" устройства, выходы младших разрядов третьего вычитателя соединены с информационными входами второй группы второго коммутатора, вход синхронизации устройства соединен с синхровходами регистров делимого и делителя, сумматора частного, регистра цифр частного и блока управления, первый выход блока управления соединен с входом разрешения записи регистра делителя и входом установки в ноль сумматора частного, а также с первыми управляющими входами первого, второго и третьего коммутаторов, второй выход блока управления соединен с вторыми управляющими входами первого, второго и третьего коммутаторов и входом разрешения записи сумматора частного, третий выход блока управления соединен с входом разрешения записи регистра делимого и регистра цифр частного, четвертый выход блока управления является выходом признака окончания деления устройства, выходы сумматора частного являются выходами частного устройства, выход старшего разряда третьего вычитателя соединен с третьим управляющим входом второго коммутатора [2].The closest in technical essence to the invention is a device for dividing, forming in each measure k digits of quotient (2≅ k ≅] [, where n is the bit capacity of the dividend and the divisor) and containing the register of the dividend, the register of the divisor, the adder of the quotient, the adder of forced rounding of the divisor, the block of division of truncated numbers, the multiplication block, the register of digits of the quotient, three subtractors, three switches and a control unit, the outputs of the divider and the dividend via the data bus, the devices are connected to the information inputs of the divider register and to the information inputs of the first group of the first switch, the outputs of the first switch are connected to the information inputs of the dividend register, whose moves are connected to the inputs of the reduced first subtractor, the inputs of the subtracted and borrowed which are connected to the outputs of the first and second groups of the multiplication block, respectively, the outputs of the difference and the loan of the first subtractor are connected to the inputs of the reduced and subtracted second subtractor, respectively, the outputs of which are connected to the information inputs of the second group of the first switch, the inputs of the first group of the multiplication block are connected to the outputs of the register of the divider, respectively, the information inputs of the first group of the second switch connected to the outputs of the highest bits of the divisible through the device data bus, the output of the highest bits of the divider register is connected to the information inputs of the first group of the third switch, the information inputs of the second group of which are connected to the outputs of the high bits of the divider via the device data, the outputs of the third switch are connected to the inputs of the rounding adder the divider, the input of the logical "1" device is connected to the transfer input of the adder forced rounding of the divider, the outputs of which are connected with the inputs of the divider of the truncated numbers division unit, the divisible inputs of which are connected to the outputs of the second switch, the outputs of the truncated numbers division block are connected with the information inputs of the quotient digits register, the outputs of which are connected to the inputs of the second group of the multiplication unit and with the inputs of the least significant bits of the adder private, the outputs of the highest digits differences and loan of the first subtractor are connected to the inputs of the reduced and subtracted third subtractor, respectively, the input of the loan of the third subtractor is connected to the input of the logical "1" unit The devices, the outputs of the least significant bits of the third subtractor are connected to the information inputs of the second group of the second switch, the synchronization input of the device is connected to the sync inputs of the dividend and divider registers, the private adder, the private register of digits of the private and the control unit, the first output of the control unit is connected to the enable input of the divider register record and the input zeroing the adder private, as well as with the first control inputs of the first, second and third switches, the second output of the control unit is connected to the second control the inputs of the first, second, and third switches and the private recording adder write enable input, the third output of the control unit is connected to the write enable register of the dividend and register of digits of the private, the fourth output of the control unit is the output of the sign of the end of the division of the device, the outputs of the private adder are the outputs of the private device, the output of the senior discharge of the third subtractor is connected to the third control input of the second switch [2].
Хотя быстродействие этого устройства несколько выше по сравнению с рассмотренным ранее за счет сокращения числа тактов его работы, но и оно недостаточно высокое из-за большой длительности такта. Although the speed of this device is slightly higher compared to that previously considered due to the reduction in the number of clock cycles of its operation, it is also not high enough due to the long duration of the clock cycle.
Цель изобретения - повышение быстродействия устройства за счет сокращения длительности такта формирования k цифр частного. Оно достигается тем, что из длительности такта устранена задержка, вносимая первым вычитателем. The purpose of the invention is to increase the speed of the device by reducing the duration of the cycle of forming k digits of quotient. It is achieved by the fact that the delay introduced by the first subtractor is eliminated from the duration of the cycle.
Цель достигается тем, что в устройство для деления, содержащее регистр делимого, регистр делителя, сумматор частного, сумматор принудительного округления делителя, блок деления усеченных чисел, регистр цифр частного, три коммутатора и блок управления, причем выходы делителя и делимого через шину данных устройства соединены с информационными входами регистра делителя и с информационными входами первой группы первого коммутатора, выходы первого коммутатора соединены с информационными входами регистра делимого, информационные входы первой группы второго коммутатора соединены с выходами старших разрядов делимого через шину данных устройства, выход старших разрядов регистра делителя соединен с информационными входами первой группы третьего коммутатора, информационные входы второй группы которого соединены с выходами старших разрядов делителя через шину данных устройства, выходы третьего коммутатора соединены с входами сумматора принудительного округления делителя, вход логической "1" устройства соединен с входом переноса сумматора принудительного округления делителя, выходы которого соединены с входами делителя блока деления усеченных чисел, входы делимого которого соединены с выходами второго коммутатора, выходы блока деления усеченных чисел соединены с информационными входами регистра цифр частного, выходы которого соединены с входами младших разрядов сумматора частного, вход синхронизации устройства соединен с синхровходами регистров делимого и делителя, сумматора частного, регистра цифр частного и блока управления, первый выход блока управления соединен с входом разрешения записи регистра делителя и входом установки в ноль сумматора частного, а также с первыми управляющими входами первого, второго и третьего коммутаторов, второй выход блока управления соединен с вторыми управляющими входами первого, второго и третьего коммутаторов и входом разрешения записи сумматора частного, третий выход блока управления соединен с входом разрешения записи регистра делимого и регистра цифр частного, четвертый выход блока управления является выходом признака окончания деления устройства, выходы сумматора частного являются выходом частного устройства, введены формирователь частичных произведений, блок суммирования, два сумматора и элемент ИЛИ-НЕ, причем выход регистра делителя соединен с первым информационным входом формирователя частичных произведений, выходы регистра цифр частного соединены с вторым информационным входом формирователя частичных произведений, выход регистра делимого соединен с первым информационным входом блока суммирования, второй информационный вход блока суммирования соединен с выходом формирователя частичных произведений, выходы сумм и переносов блока суммирования соединены с входами первого и второго слагаемых первого сумматора соответственно, выходы старших разрядов сумм и переносов блока суммирования соединены с входами первого и второго слагаемых второго сумматора соответственно, выход второго сумматора соединен с информационными входами второй группы второго коммутатора, выход первого сумматора соединен с информационными входами второй группы первого коммутатора, выход старших разрядов первого сумматора соединен с первым входом элемента ИЛИ-НЕ, выход которого соединен с входом установки в ноль регистра цифр частного, первый выход блока управления соединен с вторым входом элемента ИЛИ-НЕ. The goal is achieved by the fact that in the device for dividing, containing the register of the dividend, the register of the divider, the adder private, the adder forced rounding of the divider, the unit for dividing truncated numbers, the register of digits of the quotient, three switches and a control unit, the outputs of the divider and dividend via the device data bus with the information inputs of the divider register and with the information inputs of the first group of the first switch, the outputs of the first switch are connected to the information inputs of the dividend register, the information inputs of the first group of the second switch are connected to the outputs of the highest bits of the divisible through the device data bus, the output of the highest bits of the divider register is connected to the information inputs of the first group of the third switch, the information inputs of the second group of which are connected to the outputs of the high bits of the divider via the device data bus, the outputs of the third switch are connected to the inputs of the adder forced rounding of the divider, the input of the logical "1" device is connected to the transfer input of the adder of forced rounding of delhi of the divider, the outputs of which are connected to the inputs of the divider of the truncated numbers division unit, the divisible inputs of which are connected to the outputs of the second switch, the outputs of the truncated numbers division unit are connected to the information inputs of the private digits register, the outputs of which are connected to the inputs of the least significant bits of the adder private, the device synchronization input is connected to by the sync inputs of the dividend and divider registers, the adder private, the register of digits of the quotient and the control unit, the first output of the control unit is connected to the input of the recording permission of the reg the divider and the input of setting to zero the adder private, as well as with the first control inputs of the first, second and third switches, the second output of the control unit is connected to the second control inputs of the first, second and third switches and the write enable input of the adder private, the third output of the control unit is connected with the permission input to write the register of the dividend and the register of digits of the quotient, the fourth output of the control unit is the output of the sign of the end of the division of the device, the outputs of the adder of the quotient are the output m of the private device, the partial product shaper, the summing unit, two adders and the OR-NOT element are introduced, the output of the divider register being connected to the first information input of the partial product shaper, the outputs of the private digit register connected to the second information input of the partial product shaper, the output of the dividend register with the first information input of the summing unit, the second information input of the summing unit is connected to the output of the partial product former, the outputs are mm and transfers of the summing unit are connected to the inputs of the first and second terms of the first adder, respectively, the outputs of the senior bits of the sums and transfers of the summing unit are connected to the inputs of the first and second terms of the second adder, respectively, the output of the second adder is connected to the information inputs of the second group of the second switch, the output of the first adder connected to the information inputs of the second group of the first switch, the high-order output of the first adder is connected to the first input of the OR-NOT element, the output to torogo coupled to the input for setting to zero the register numbers of the private, the first control unit output is connected to the second input of OR-NO element.
Заявляемое устройство для деления содержит отличительные признаки, не обнаруженные ни в одном из известных устройств - наличие формирователя частичных произведений, блока суммирования, двух сумматоров и элемента ИЛИ-НЕ с соответствующими связями. Эти признаки позволяют повысить быстродействие устройства за счет сокращения длительности такта формирования k цифр частного. The inventive device for dividing contains distinctive features not found in any of the known devices - the presence of the shaper of the partial works, the summation unit, two adders and the element OR NOT with the corresponding connections. These features can improve the performance of the device by reducing the duration of the cycle of forming k digits of quotient.
Таким образом, так как в заявляемом техническом решении имеются отличительные признаки, обеспечивающие достижение цели и не обнаруженные ни в одном другом известном аналогичном техническом решении, то оно соответствует критерию "существенные отличия". 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 - функциональная схема формирователя частичных произведений; на фиг. 3 - функциональная схема блока управления; на фиг. 4 - микропрограмма работы устройства. In FIG. 1 shows a structural diagram of the proposed device for division; in FIG. 2 - functional diagram of the shaper of partial works; in FIG. 3 is a functional diagram of a control unit; in FIG. 4 - 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 регистра 1 делимого, выход 23 регистра 2 делителя, выход 24 старших разрядов регистра 2 делителя, выходы 25 третьего коммутатора 10, выходы 26 сумматора 11 принудительного округления делителя, выходы 27 узла 13 вычисления обратной величины, выходы 28 второго коммутатора 9, выходы 29 узла 14 умножения (они же являются выходами блока 12 деления усеченных чисел), выходы 30 регистра 15 цифр частного, выход 31 формирователя 4 частичных произведений, выходы 32 и 33 сумм и переносов блока 5 суммирования соответственно, выходы 34 и 35 старших разрядов сумм и переносов блока 5 суммирования, выход 36 первого сумматора 6, выход 37 старших разрядов первого сумматора 6, выход 38 элемента ИЛИ-НЕ 16, выход 39 второго сумматора 7, выходы 40 первого коммутатора 8, выход 41 старших разрядов делимого шины 18 данных устройства, выход 42 старших разрядов делителя шины данных устройства, выходы 43-46 блока 17 управления. Шина 18 данных устройства соединена с информационными входами регистра 2 делителя и с информационными входами первой группы первого коммутатора 8, выходы 40 которого соединены с информационными входами регистра 1 делителя. Информационные входы первой группы второго коммутатора 9 соединены с выходом 41 старших разрядов делимого через шину 18 данных устройства. The device for dividing contains (Fig. 1) register 1 dividend, register 2 divider,
Выход 24 старших разрядов регистра 2 делителя соединен с информационными входами первой группы третьего коммутатора 10, информационныев ходы второй группы которого соединены с выходом 42 старших разрядов делителя через шину 18 данных устройства. Выходы 25 третьего коммутатора соединены с входами сумматора 11 принудительного округления делителя. Вход 20 логической "1" устройства соединен с входом переноса сумматора 11 принудительного округления делителя, выходы 26 которого соединены с входами делителя блока 12 деления усеченных чисел, входы делимого которого соединены с выходами 28 второго коммутатора 9. Выходы 29 блока 12 деления усеченных чисел соединены с информационными входами регистра 15 цифр частного, выходы 30 которого соединены с входами младших разрядов сумматора 3 частного. Выход 23 регистра 2 делителя соединен с первым информационным входом формирователя 4 частичных произведений, выходы 30 регистра 15 цифр частного соединены с вторым информационным входом формирователя 4 частичныхп роизведений. Выход 22 регистра 1 делимого соединен с первым информационным входом блока 5 суммирования, второй информационный вход блока 5 суммирования соединен с выходом 31 формирователя 4 частичных произведений, выход 32 сумм и выход 33 переносов блока 5 суммирования соединены с входами первого и второго слагаемого первого сумматора 6 соответственно, выходы 34 и 35 старших разрядов соответственно сумм и переносов блока 5 суммирования соединены с входами первого и второго слагаемого второго сумматора 7 соответственно. Выход 39 второго сумматора 7 соединен с информационными входами второй группы второго коммутатора 9, выход 36 первого сумматора 6 соединен с информационными входами первого коммутатора 8, выход 37 старших разрядов первого сумматора 6 соединен с первым входом элемента ИЛИ-НЕ 16, выход 38 которого соединен с входом установки в ноль регистра 15 цифр частного. Вход 19 синхронизации устройства соединен с синхровходами регистров 1 делимого и 2 делителя сумматора 3 частного, регистра 15 цифр частного и блока 17 управления. Первый выход 43 блока управления соединен с входом разрешения записи регистра 2 делителя, сумматора 3 частного, регистра 15 цифр частного и блока 17 управления. Первый выход 32 блока управления соединен с входом разрешения записи регистра 2 делителя, входом установки в ноль сумматора 3 частного, а также с первыми управляющими входами первого 8, второго 9 и третьего 10 коммутаторов и с вторым входом элемента ИЛИ-НЕ 16, второй выход 44 блока управления соединен с вторыми управляющими входами первого 8, второго 9 и третьего 10 коммутаторов и входом разрешения записи сумматора 3 частного, третий выход 45 блока управления соединен с входом разрешения записи регистра 1 делимого и регистра 15 цифр частного, четвертый выход 46 блока управления является выходом признака окончания деления устройства. Выходы сумматора 3 частного являются выходом 21 частного устройства. The output of the 24 high bits of
Регистры 1 и 2 делимого и делителя предназначены для хранения двоичных кодов делимого (остатков) и делителя соответственно. Регистр 1 делимого (n+1)-разрядный, из которых один разряд расположен слева от запятой, а остальные - справа oт запятой. Регистр 2 делителя содержит n разрядов, причем все разряды расположены справа от запятой.
В первом такте работы устройства в эти регистры загружаются n-разрядные коды дробных частей делимого и делителя, которые являются правильными положительными дробями, причем дробная часть делимого загружается в n разрядов регистра 1, расположенных справа от запятой, с одновременной записью нуля в разряд, расположенный слева от запятой. В регистре 2 хранится n-разрядный двоичный код делителя без знака. In the first step of the device’s operation, n-bit codes of the fractional parts of the dividend and divisor, which are regular positive fractions, are loaded into these registers, and the fractional part of the dividend is loaded into n bits of
Предлагается, что все регистры устройства построены на двухтактных синхронных DV-триггерах. Запись информации в регистры производится по синхроимпульсу при наличии разрешающего потенциала на их V-входах. It is proposed that all device registers are built 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.
Сумматор 3 частного предназначен для хранения частного. Он также участвует в операции деления в процессе формирования правильного частного. В первом такте деления сумматор 3 частного обнуляется путем подачи синхроимпульса с входа 19 синхронизации устройства на его синхровход и разрешающего потенциала с первого выхода 43 блока 17 управления на вход разрешения установки в ноль сумматора 3 частного. Во всех остальных тактах работы устройства в сумматоре 3 частного накапливается значение частного. Для этого к значению частного, сформированному на предыдущих тактах работы устройства и сдвинутому на k-1 разряд влево (в сторону старших разрядов), прибавляется значение k цифр частного, поступающих на входы его младших разрядов с выходов 30 регистра 15 цифр частного (старшая из k очередных цифр частного является корректирующей для частного, сформированного к данному моменту в сумматоре 3 частного). Запись информации в сумматор 3 частного также осуществляется по синхроимпульсу при наличии разрешающего потенциала на его входе разрешения записи, который подключен к второму выходу 44 блока 17 управления. После завершения деления образованное в сумматоре 3 частное поступает на выход 21 частного устройства. Предполагается, что сумматор 3 частного реализован так же, как и в устройстве-прототипе, т.е. на комбинационном сумматоре и регистре. The
В формирователе 4 частичных произведений осуществляется формирование частичных произведений, получаемых при перемножении значения n-разрядного делителя, хранимого в регистре 2 делителя в прямом коде и поступающего на первый информационный вход формирователя 4 частичных произведений с выхода 23 регистра 2 делителя, и k-разрядного частного, сформированного на выходах 29 блока 12 деления усеченных чисел в прямом коде и поступающего на второй информационный вход формирователя 4 частичных произведений с выходов 30 регистра 15. При этом на выходе 31 формирователя 4 частичных произведений формируется ряд частичных произведений, соответствующих умножению множимого на отрицательный множитель в дополнительном коде без представления множителя в дополнительном коде. В качестве множимого используется n-разрядный делитель, в качестве множителя используются k цифр частного, полученные на выходах 30 регистра 15 цифр частного. In the shaper of 4 partial works, the formation of the partial works is obtained by multiplying the value of the n-bit divider stored in
На фиг. 2 показана функциональная схема формирователя 4 частичных произведений при k=4. На первый информационный вход формирователя 4 с выхода 23 регистра 2 делителя поступает значение n-разрядного делителя, а на второй информационный вход с выходом 30 регистра 15 цифр частного - значение k-разрядного частного в виде Z=Z1, Z2 Z3 Z4. Для формирования частичных произведений применяется способ умножения на два разряда множителя с анализом трех разрядов множителя, причем каждое частичное произведение соответствует умножению множимого на два разряда отрицательного множителя в дополнительном коде. На выходе 31 формирователя 4 частичных произведений при k= 4 образуются три частичных произведения. Формирователь 4 частичных произведений реализован на дешифраторах 47, 48 и 49 и коммутаторах 50, 51 и 52. В табл. 1 поясняется формирование частичного произведения на выходе одного из коммутаторов формирователя 4 частичных произведений в зависимости от расшифровки одной двухразрядной группы разрядов множителя вместе со старшим разрядом соседней младшей группы. In FIG. 2 shows a functional diagram of a shaper of 4 partial works at k = 4. The value of an n-bit divider is supplied to the first information input of the
С помощью блока 5 суммирования осуществляется сложение текущего остатка, поступающего с выхода 22 регистра 1 делимого, с рядом частичных произведений, образованных на выходе 31 формирователя 4 частичных произведений и сдвинутых относительно друг друга определенным образом. Результат этого сложения является очередным остатком и получается на выходе 32 сумм и выходе 33 переносов блока 5 суммирования в двухрядном коде. Блок 5 суммирования фактически является преобразователем многорядного кода в двухрядный и может быть реализован различными методами. Using the summing unit 5, the current balance coming from the output 22 of the
Первый сумматор 6 осуществляет преобразование двухрядного кода очередного остатка, образованного на выходах 32 и 33 блока 5 суммирования, в однорядный код. Он является сумматором комбинационного типа с распространением переноса. С выхода 36 первого сумматора 6 значение очередного остатка в однорядном коде записывается в регистр 1 делимого. The
С помощью второго сумматора 7, второго коммутатора 9, третьего коммутатора 10, сумматора 11 принудительного округления делителя и блока 12 деления усеченных чисел, состоящего из узла 13 вычисления обратной величины и узла 14 умножения, в устройстве по значению старших разрядов делимого (остатка) и делителя формируется k двоичных цифр частного, причем их формирование происходит параллельно с работой первого сумматора 6, на выходе 36 которого образуется значение очередного остатка в однорядном коде. Using the second adder 7, the second switch 9, the
Пусть делимое X и делитель Y есть нормализованные двоичные дроби, т.е. 1/2 ≅ X < 1 и 1/2 ≅ Y < 1. Это справедливо только в первом такте деления. В дальнейшем, когда в роли делимого выступают промежуточные остатки, возможно нарушение нормализации делимого как влево, так и вправо. В общем случае делимое X в предлагаемом устройстве может изменяться в пределах 0 ≅ X < 2Y. Можно показать, что для получения в устройстве k очередных цифр частного с точностью до единицы их младшего разряда достаточно обрабатывать k+4 старших разрядов остатка (один разряд - слева от запятой, а остальные - справа от запятой), k+3 старших разрядов делителя Y (все разряды расположены справа от запятой) и k+2 старших разрядов обратной величины (один разряд - слева от запятой, остальные - справа). Чтобы значение этих k цифр частного не превышало истинное значение, т.е. чтобы было равно истинному значению или было меньше его на единицу младшего разряда с весом 2-(l-1), в сумматоре 11 осуществляется принудительное увеличение значения старших разрядов делителя на единицу их младшего разряда. 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 in order to obtain k next digits of the quotient, accurate to the unit of their least significant digit, it is sufficient to process k + 4 high order bits of the remainder (one digit to the left of the decimal point and the rest to the right of the decimal point), k + 3 high order bits of the divisor Y (all digits are located to the right of the comma) and k + 2 senior digits of the inverse value (one digit to the left of the comma, the rest to the right). So that the value of these k digits of the quotient does not exceed the true value, i.e. so that it is equal to the true value or less than it by a unit of the least significant bit with a weight of 2- (l-1), in
Второй сумматор 7 комбинационного типа с распространением переноса. На его входы первого и второго слагаемых с выходов 34 и 35 старших разрядов сумм и переносов блока 5 суммирования подается значение k+4 старших разрядов (один разряд - слева от запятой, а остальные - справа) сумм и переносов двухрядного кода очередного остатка, образованного на выходах 32 и 33 блока 5 суммирования. На выходе 39 второго сумматора 7 образуется (k+4)-разрядный результат. Фактически с помощью второго сумматора 7 в устройстве осуществляется опережающее формирование значения старших разрядов очередного остатка в однорядном коде, так как малоразрядный второй сумматор 7 работает быстрее многоразрядного первого сумматора 6. The second adder 7 is a Raman type with spread propagation. The inputs of the first and second summands from the outputs of the 34th and 35th highest digits of the sums and transfers of the summing unit 5 are fed with the value k + 4 higher digits (one digit to the left of the comma, and the rest to the right) of the sums and transfers of the two-row code of the next remainder formed on the outputs 32 and 33 of the block 5 summation. Output 39 of the second adder 7 produces a (k + 4) -bit result. In fact, using the second adder 7 in the device, the leading values of the next bits of the next remainder are pre-formed in the single-row code, since the low-bit second adder 7 is faster than the multi-bit
С помощью первого коммутатора 8 осуществляется передача на информационные входы регистра 1 делимого либо делимого через шину 18 данных устройства, когда на первом выходе 43 блока 17 управления формируется сигнал логической "1", либо однорядного кода остатка, образованного на выходе 36 первого сумматора 6, когда на втором выходе 44 блока 17 управления формируется сигнал логической "1". Каждый разряд коммутатора 8 может быть реализован на одном элементе 2И-2ИЛИ. Using the first switch 8, the device data is divided or divisible through the bus 18 to the information inputs of the device when a logical “1” signal or a single-line code of the remainder generated at the output 36 of the
С помощью второго коммутатора 9 осуществляется передача на входы делимого блока 12 деления усеченных чисел значения (k+4)-разрядного кода (один разряд - слева от запятой, а остальные - справа). Коммутатор 9 работает следующим образом. Если на его первом управляющем входе, который подключен к первому выходу 43 блока 17 управления, присутствует сигнал логической "1", то на выходы 28 второго коммутатора 9 с выходов 41 старших разрядов делимого через шину 18 данных устройства подаются k+3 старших разрядов делимого (один разряд - слева от запятой, а остальные - справа, причем разряд слева от запятой равен нулю), так как в первом такте работы устройства k цифр частного формируются по однорядному коду остатка. Если на второй управляющий вход коммутатора 9, который подключен к второму выходу 44 блока 17 управления, поступает сигнал логической "1", то к выходам 28 второго коммутатора 9 подключаются информационные входы второй группы, на которые подается с выхода 39 значение k+4 разрядов результата второго сумматора 7 (один разряд - слева от запятой, а остальные - справа). Каждый разряд коммутатора 9 может быть реализован на одном элементе 2И-2ИЛИ. Using the second switch 9, the values of the (k + 4) -digit code are transmitted to the inputs of the divisible block 12 for dividing the truncated numbers (one digit to the left of the comma and the rest to the right). The switch 9 operates as follows. If at its first control input, which is connected to the
С помощью третьего коммутатора 10 осуществляется передача на входы сумматора 11 принудительного округления делителя значения k+3 старших разрядов (все разряды справа от запятой) кода делителя либо через шину 18 данных устройства, когда на первом управляющем входе, который подключен к первому выходу 43 блока 17 управления, присутствует сигнал логической "1", либо с выхода 24 регистра 2 делителя, когда на втором управляющем входе, который подключен к второму выходу 44 блока 17 управления, присутствует сигнал логической "1". Каждый разряд коммутатора 10 может быть реализован на одном элементе 2И-2ИЛИ. Using the
Сумматор 11 (k+3)-разрядный комбинационного типа. В сумматоре 11 осуществляется принудительное округление делителя путем прибавления к значению k+3 старших разрядов делителя, поступающих на информационные входы сумматора 11 с выходов 25 третьего коммутатора 10, единицы в младший разряд, поступающей на вход переноса сумматора 11 принудительного округления делителя через вход 20 логической "1" устройства. На выходе 26 сумматора 11 принудительного округления делителя образуется (k+4)-разрядный результат (один разряд - слева от запятой, а остальные - справа от запятой), который далее поступает на входы делителя блока 12 деления усеченных чисел. The adder is 11 (k + 3) -bit combination type. In the
В блоке 12 осуществляется деление (k+4)-разрядных двоичных чисел (один разряд этих чисел расположен слева от запятой, а остальные - справа от запятой) с образованием на выходах 29 k цифр частного. Деление в блоке 12 осуществляется путем умножения значения делимого на значение обратной величины делителя. Для этого блок 12 содержит комбинационный узел 13 вычисления обратной величины (на его выходах 27 образуется (k+2)-разрядный код старших разрядов обратной величины) и комбинационный узел 14 умножения. Узел 13 может быть выполнен в виде комбинационной схемы, реализующей, например, метод деления Стефанелли, или совместно с сумматором 11 на ПЗУ по соответствующей таблице истинности. In block 12, the division of (k + 4) -bit binary numbers is performed (one bit of these numbers is located to the left of the comma, and the rest to the right of the comma) with the formation of outputs of 29 k digits. The division in block 12 is carried out by multiplying the value of the dividend by the value of the reciprocal of the divider. For this, block 12 contains a combination unit 13 for calculating the reciprocal value (at its outputs 27, a (k + 2) -bit code of the highest digits of the reciprocal value is generated) and a combination unit 14 for multiplication. The node 13 can be made in the form of a combinational circuit that implements, for example, the Stefanelli division method, or together with the
Регистр 15 цифр частного предназначен для временного хранения сформированных на выходах 29 блока 12 k очередных цифр частного. Запись в него информации производится по синхроимпульсу при наличии на его входе разрешения записи сигнала логической "1", который подключен к третьему выходу 45 блока 17 управления. Обнуление регистра 15 цифр частного производится также по синхроимпульсу при наличии на его входе установки в ноль сигнала логической "1", подаваемого с выхода 38 элемента ИЛИ-НЕ 16. В случае наличия сигналов логической "1" как на входе разрешения записи, так и на входе установки в ноль регистра 15 цифр частного, по синхроимпульсу происходит обнуление регистра 15 цифр частного, так как приоритет у входа установки в ноль выше, чем у входа разрешения записи. Register 15 digits of private is intended for temporary storage formed at the outputs 29 of the block 12 k next digits of private. Information is recorded in it according to a clock pulse if there is a logical “1” signal recording permission at its input, which is connected to the
Так как в предлагаемом устройстве при формировании k цифр частного используются старшие разряды остатка, полученные при приведении на втором сумматоре 7 к однорядному коду старших разрядов двухрядного кода остатка, то становится возможным образование в устройстве неправильного значения k цифр частного. Так, если значение старших разрядов приведенного остатка, полученного на выходе 36 первого сумматора 6, равно нулю, то при формировании однорядного кода старших разрядов остатка путем сложения на втором сумматоре 7 старших разрядов двухрядного кода остатка возможно получение значения суммы на выходе 39 сумматора 7 меньшего, чем ноль на единицу младшего разряда, т.е. значения . Для исключения возможности получения в устройстве неверного значения k цифр частного в нем предусмотрена блокировка (формирование значения k цифр частного, равного нулю) k цифр частного, полученных на выходах 29 блока 12 деления усеченных чисел путем подачи на вход установки в ноль регистра 15 цифр частного уровня логической "1" с выхода 38 элемента ИЛИ-НЕ 16. Уровень логической "1" на выходе элемента ИЛИ-НЕ 16 устанавливается в том случае, если значение k старших разрядов однорядного кода остатка, полученного на выходе 37 старших разрядов первого сумматора 6, равно нулю и одновременно на втором входе элемента ИЛИ-НЕ 16, который подключен к первому выходу 43 блока 17 управления, присутствует сигнал логического "0". Во всех других случаях осуществляется запись в регистр 15 цифр частного, полученных на выходах 29 блока 12 деления усеченных чисел.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 7 was converted to a single-row code of the highest digits of the two-row remainder code, it becomes possible to form an incorrect value of k digits of the quotient in the device. So, if the value of the leading bits of the reduced remainder obtained at the output 36 of the
Блок 17 управления координирует работу узлов и блоков устройства при выполнении в нем операции деления. Как и в устройстве-прототипе он может быть реализован различными методами, например, на счетчике 53 и памяти 54 микрокоманд (фиг. 3). Счетчик 53 накапливающего типа и предназначен для естественной адресации микрокоманд. Вход счета счетчика 53 соединен с входом 19 синхронизации устройства. В качестве памяти 54 микрокоманд может быть применена быстродействующая постоянная память емкостью (M+1) 4 бит, где M= - число тактов собственно деления, в течение которых в устройстве формируется [M≅ (k-1)+1] цифр частного; ] X[ - ближайшее целое, большее или равное X. В самом начале работы устройства счетчик 53 устанавливается в некоторое исходное состояние, например в ноль (на фиг. 3 цепь установки счетчика 53 в исходное состояние не показана). Микропрограмма работы устройства представлена на фиг. 4.The
Устройство для деления работает следующим образом. A device for dividing works as follows.
Пусть на входе 18 данных устройства присутствуют без знаков n-разрядные двоичные коды делителя Y и делимого X (т.е. коды дробных частей делителя и делимого), а счетчик 53 блока 17 управления установлен в начальное нулевое состояние. Тогда на первом 43 и третьем 45 выходах блока 17 управления формируются единичные сигналы, под действием которых коммутатор 8 пропускает на информационные входы регистра 1 делимого делимое X с шины 18 данных устройства, второй коммутатор 9 пропускает на входы делимого блока 12 деления усеченных чисел значение старших разрядов делимого с выхода 41 через шину 18 данных устройства, третий коммутатор 10 пропускает на информационные входы сумматора 11 принудительного округления делителя значение старших разрядов делителя с выхода 42 через шину 18 данных устройства, на выходах 29 блока 12 деления усеченных чисел формируется значение Z1 самых старших k цифр частного, регистры 1, 2, 15 подготовлены к приему информации, так как на входах разрешения записи этих регистров присутствуют сигналы логической "1" и на выходе 38 элемента ИЛИ-НЕ 16 формируется сигнал логического "0", который не приводит к обнулению регистра 15 в первом такте работы устройства, сумматор 3 частного настроен на обнуление, так как на его входе установки в ноль присутствует сигнал логической "1", сформированный на выходе 43 блока 17 управления. 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
С приходом первого синхроимпульса на вход 18 синхронизации устройства осуществляются запись двоичных кодов делимого X и делителя Y в регистры 1 и 2 соответственно, в регистр 15 - значения Z1 самых старших k цифр частного Z, а также обнуление сумматора 5 частного. Счетчик 53 блока 17 управления устанавливается в состояние "1". После завершения действия первого импульса на входе 19 синхронизации устройства заканчивается первый такт (подготовительный этап) и начинается собственно деление, в процессе которого в течение M тактов формируется [M˙(k-1)+1] двоичных цифр частного. With the arrival of the first clock pulse to the synchronization input 18 of the device, binary codes of divisible X and divisor Y are recorded in
Во втором такте (в первом из M тактов собственно деления) работы устройства на втором 44 и третьем 45 выходах блока 17 управления формируются сигналы логической "1". Под действием этих управляющих сигналов в устройстве выполняются следующие действия. На выходе 31 формирователя 4 частичных произведений образуется ряд частичных произведений, получающихся при умножении Y˙ (-Z1). С помощью блока 5 суммирования и первого сумматора 6 формируется сумма X+Y˙ (-Z1) в однорядном коде, которая в дальнейшем служит очередным остатком и передается на информационные входы регистра 1 со сдвигом на k-1 разрядов влево (в сторону старших разрядов). По значению старших разрядов сумм и переносов, образованных на выходах блока 5 суммирования, на выходе 39 второго сумматора 7 формируется значение старших разрядов однорядного кода первого остатка, которое далее через второй коммутатор 9 передается на входы делимого блока 12 деления усеченных чисел, третий коммутатор 10 пропускает на входы сумматора 11 значение старших разрядов делителя с выхода 24 регистра 2 делителя, на выходах 29 блока 12 получается значение Z2 следующих очередных цифр частного Z. Старшие k разрядов образованного в первом сумматоре 6 результата поступают с выхода 37 старших разрядов первого сумматора 6 на первый вход элемента ИЛИ-НЕ 16. Если значение k старших разрядов первого сумматора 6 равно нулю, то на выходе 38 элемента ИЛИ-НЕ 16 формируется сигнал логической "1" (так как на первом выходе 43 блока 17 управления сформирован сигнал логического "0"), в противном случае - сигнал логического "0". Сигнал с выхода 38 элемента ИЛИ-НЕ 16 поступает на вход установки в ноль регистра 15 цифр частного. Если этот сигнал соответствует уровню логического "0", то в качестве Z2 следующих цифр частного Z используется k цифр частного, образованных на выходе 29 блока 12 деления усеченных чисел, а если этот сигнал соответствует уровню логической "1", то происходит блокировка записи в регистр 15 цифр частного, поступающих с выходов 29 блока 12 деления усеченных чисел, путем обнуления регистра цифр частного (в устройстве в этом случае используется значение Z2 следующих k цифр частного Z, равное нулю). К содержимому сумматора 3 частного (во втором такте содержимое сумматора 3 еще равно нулю), сдвинутому на k-1 разрядов в сторону его старших разрядов, осуществляется прибавление значение Z1 частного Z, которое хранится в течение второго такта в регистре 15 частного и подается на входы младших разрядов сумматора 3 частного. Регистр 1 и сумматор 3 частного подготовлены к приему информации, а регистр 15 цифр частного в зависимости от значения сигнала на его входе установки в ноль подготовлен к приему информации либо к обнулению. In the second clock cycle (in the first of the M clocks of the division itself) of the operation of the device, the logical 1 signals are generated at the second 44 and third 45 outputs of the
С приходом второго синхроимпульса на вход 19 синхронизации устройства в регистр 1 записывается сформированный на выходе 36 первого сумматора 6 очередной остаток, в младшие разряды сумматора 3 частного заносится значение Z1 старших k двоичных цифр частного Z, в регистр 15 цифр частного записывается значение Z2 очередных k цифр частного Z, счетчик 43 блока 17 управления устанавливается в состояние "2". На этом второй такт работы устройства заканчивается и далее выполняется еще M-1 аналогичных второму тактов, в течение которых (включая второй такт) формируется в сумматоре 3 частного [M ˙ k-1)+1] двоичных цифр частного Z. В каждом из этих тактов старшая двоичная цифра из k очередных цифр частного, образованных на выходах 30 регистра 15 цифр частного и поступающих на входы младших разрядов сумматора 3 частного, подсуммируются к младшему разряду содержимого сумматора 3 частного, сдвинутому на k-1 разрядов в сторону его старших разрядов. With the arrival of the second clock pulse at the
После выполнения (M+1)-го такта на выходе 21 частного устройства образуется n-разрядное частное. В (M+1)-м такте из памяти 54 микрокоманд блока 17 управления считывается микрокоманда M+1, содержащая сигнал Y46, сигнализирующий об окончании операции деления. After completing the (M + 1) -th cycle, an n-bit quotient is formed at the output of the private device 21. In the (M + 1) -th clock cycle, the micro-command M + 1 containing the signal Y46 signaling the end of the division operation is read out from the
Сравнение предлагаемое устройства для деления и устройства-прототипа по быстродействию. Так как в предлагаемом устройстве и в устройстве-прототипе деление выполняется за одно и то же число тактов, то для сравнения их быстродействия достаточно сравнить длительность одного такта их работы. В табл. 2 приведены результаты этого сравнительного анализа при количестве цифр частного k= 5 и использовании в качестве элементной базы элементов 2И-НЕ, 3И-НЕ и 4И-НЕ и элемента НЕ, τ - задержка на одном логическом элементе. Comparison of the proposed device for the division and the prototype device for speed. Since in the proposed device and in the prototype device, the division is performed for the same number of clock cycles, to compare their speed it is enough to compare the duration of one clock cycle of their work. In the table. Figure 2 shows the results of this comparative analysis with the number of digits of the quotient k = 5 and using the elements 2I-NOT, 3I-NOT and 4I-NOT and the element NOT as the element base, τ is the delay on one logical element.
Из данных табл. 2 следует, что быстродействие предлагаемого устройства при k=5 примерно на 6% выше, чем быстродействие устройства-прототипа. From the data table. 2 it follows that the speed of the proposed device at k = 5 is approximately 6% higher than the speed of the prototype device.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5014265 RU2018934C1 (en) | 1991-07-10 | 1991-07-10 | Divider |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5014265 RU2018934C1 (en) | 1991-07-10 | 1991-07-10 | Divider |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2018934C1 true RU2018934C1 (en) | 1994-08-30 |
Family
ID=21590405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU5014265 RU2018934C1 (en) | 1991-07-10 | 1991-07-10 | Divider |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2018934C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2510072C1 (en) * | 2012-10-25 | 2014-03-20 | Открытое акционерное общество "Российская корпорация ракетно-космического приборостроения и информационных систем" (ОАО "Российские космические системы") | Apparatus for performing division and square-rooting |
-
1991
- 1991-07-10 RU SU5014265 patent/RU2018934C1/en active
Non-Patent Citations (2)
Title |
---|
1. Авторское свидетельство СССР N 1417010, кл. G 06F 7/52, 1986. * |
2. Авторское свидетельство СССР N 4862585, кл. G 06F 7/52, 1990. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2510072C1 (en) * | 2012-10-25 | 2014-03-20 | Открытое акционерное общество "Российская корпорация ракетно-космического приборостроения и информационных систем" (ОАО "Российские космические системы") | Apparatus for performing division and square-rooting |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5798955A (en) | High-speed division and square root calculation unit | |
US4320464A (en) | Binary divider with carry-save adders | |
US4868777A (en) | High speed multiplier utilizing signed-digit and carry-save operands | |
US6728745B1 (en) | Semiconductor circuit for arithmetic operation and method of arithmetic operation | |
RU2018934C1 (en) | Divider | |
US5268858A (en) | Method and apparatus for negating an operand | |
US4958313A (en) | CMOS parallel-serial multiplication circuit and multiplying and adding stages thereof | |
RU2018933C1 (en) | Divider | |
RU1783523C (en) | Device for dividing | |
SU1735844A1 (en) | Device for dividing numbers | |
SU1803913A1 (en) | Division device | |
SU1667059A2 (en) | Device for multiplying two numbers | |
SU1417010A1 (en) | Number dividing device | |
SU1478212A1 (en) | Divider | |
SU1357946A1 (en) | Device for division | |
SU1282117A1 (en) | Dividing device | |
SU1619256A1 (en) | Division device | |
SU1425657A1 (en) | Dividing device | |
SU1034032A1 (en) | Matrix computing device | |
SU1728862A1 (en) | Divider | |
SU1541598A1 (en) | Division device | |
RU2116670C1 (en) | Information search engine | |
SU1578708A1 (en) | Arithmetical device | |
SU1809438A1 (en) | Divider | |
SU1022153A1 (en) | Device for adding binary numbers |