RU2510072C1 - Apparatus for performing division and square-rooting - Google Patents

Apparatus for performing division and square-rooting Download PDF

Info

Publication number
RU2510072C1
RU2510072C1 RU2012145690/08A RU2012145690A RU2510072C1 RU 2510072 C1 RU2510072 C1 RU 2510072C1 RU 2012145690/08 A RU2012145690/08 A RU 2012145690/08A RU 2012145690 A RU2012145690 A RU 2012145690A RU 2510072 C1 RU2510072 C1 RU 2510072C1
Authority
RU
Russia
Prior art keywords
input
output
block
adder
unit
Prior art date
Application number
RU2012145690/08A
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 RU2012145690/08A priority Critical patent/RU2510072C1/en
Application granted granted Critical
Publication of RU2510072C1 publication Critical patent/RU2510072C1/en

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: apparatus enables to perform division and square-rooting in a floating point format according to the IEEE 754 standard with single or double accuracy. Input operands can be presented in a floating point format with both single and double accuracy. The apparatus includes a unit for selecting the power and mantissa of input operands, a circuit for controlling a three-step conveyor of an input register unit, an input register unit, a circuit for controlling an adder unit and a multiplier unit, a multiplier unit, an adder unit and a unit for generating computation results.
EFFECT: faster operation, enabling execution the function of a device for division and a device for square-rooting in a single apparatus.
1 dwg, 1 tbl

Description

Область техникиTechnical field

Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных машинах и структурах, в арифметических сопроцессорах плавающей точки информационных и измерительных систем, в системах расчета положения и параметров движения роботизированных систем в качестве арифметического блока.The invention relates to computer technology and can be used in digital computers and structures, in arithmetic coprocessors of floating point information and measuring systems, in systems for calculating the position and motion parameters of robotic systems as an arithmetic unit.

Уровень техникиState of the art

Известно устройство для вычисления квадратного корня ( x )

Figure 00000001
[1], в котором вычисление функции производится за n циклов (n - число разрядов двоичного кода значения квадратного корня) с вычислением за каждый цикл одной значащей цифры результата путем выполнения в каждом цикле трех операций с разрядной цифрой аi результата.A device for calculating the square root ( x )
Figure 00000001
[1], in which the calculation of the function is performed in n cycles (n is the number of bits of the binary code of the square root value) with the calculation for each cycle of one significant digit of the result by performing three operations in each cycle with the digit digit a i of the result.

Способ реализации вычисления функции соответствует способу преобразования аналоговых сигналов в цифровой код путем последовательных поразрядных приближений с вычислением на каждом такте преобразования одной значащей цифры.The method for implementing the function calculation corresponds to the method of converting analog signals to a digital code by successive bitwise approximations with the calculation of a single significant digit at each clock cycle.

Недостаток указанного способа и устройства состоит в низком быстродействии. За один итерационный цикл необходимо осуществить возведение пробного значения операнда в квадрат, сравнить его со значением x и на основании результата сравнения получить одну двоичную цифру значения квадратного корня, также в устройстве отсутствует возможность операции деления.The disadvantage of this method and device is the low speed. For one iterative cycle, it is necessary to square the test value of the operand, compare it with the value of x, and based on the result of the comparison, get one binary digit of the square root value, and the device does not have the possibility of a division operation.

Известно устройство для извлечения квадратного корня [2], содержащее входной и выходной регистры блок возведения в квадрат, схему сравнения и блок подбора цифр результата.A device for extracting the square root [2], containing the input and output registers block squaring, a comparison circuit and a block for selecting numbers of the result.

Недостатком устройства является низкое быстродействие, так как вычисления осуществляются методом последовательных итераций, также в устройстве отсутствует возможность операции деления.The disadvantage of this device is the low speed, since the calculations are carried out by the method of successive iterations, also in the device there is no possibility of a division operation.

Известно устройство для извлечения квадратного корня [3], содержащее блок умножения, блок деления, первый блок памяти, регистр результата. Недостатком такого устройства является сложность реализации, обусловленная необходимостью использования блока памяти большой емкости, что связано с применением метода литейной интерполяции для вычисления значений функции между опорными точками. Так для описываемого устройства, имеющего длину разрядной сетки входного и выходного слова, равную (n+1), включая знаковый разряд, требуется запоминающее устройство емкостью Q0=(n+1)·2n-4 бит. Устройство также не позволяет производить операции деления над входными числами.A device for extracting the square root [3], containing a multiplication unit, a division unit, a first memory unit, a register of the result. The disadvantage of this device is the difficulty of implementation, due to the need to use a large capacity memory block, which is associated with the use of casting interpolation method to calculate the values of the function between the reference points. So for the described device having the length of the bit grid of the input and output words equal to (n + 1), including the sign bit, a storage device with a capacity of Q 0 = (n + 1) · 2 n-4 bits is required. The device also does not allow division operations on input numbers.

Известно устройство для деления [4], содержащее два регистра остатка, регистр делителя, регистр частного, сумматор принудительного округления, узел вычисления обратной величины, два сумматора, два блока умножения, первый коммутатор, селектор, вычитатель, элемент НЕ и блок микропрограммного управления, причем вход данных устройства соединен с информационным входом регистра делителя и с первым информационным входом первого коммутатора, выход которого соединен с информационном входом первого регистра остатка, выход первого сумматора является выходом результата устройства и соединен с входом уменьшаемого вычитателя, входы вычитаемого и заема которого соединены с выходами первой и второй групп первого блока умножения соответственно, выходы разности и заема вычитателя соединены с вторым информационным входом первого коммутатора и информационным входом второго регистра остатка соответственно, выходы старших разрядов первого и второго регистров остатка соединены с первым и вторым информационными входами второго сумматора соответственно, выход младших разрядов которого соединен с первым информационным входом второго блока умножения, второй информационный вход которого соединен с выходом узла вычисления обратной величины, вход которого соединен с выходом сумматора принудительного округления, информационный вход которого соединен с выходом старших разрядов регистра делителя, выход которого соединен с первым информационным входом первого блока умножения, второй информационный вход которого соединен с информационным входом младших разрядов регистра частного и выходом селектора, информационный вход которого соединен с выходом второго блока умножения, вход переноса сумматора принудительного округления является входом логической единицы устройства, выход старшего разряда второго сумматора соединен с входом элемента НЕ, выход которого соединен с управляющим входом селектора, вход синхронизации устройства соединен с синхровходами первого и второго регистров остатка, регистра делителя, регистра частного и блока микропрограммного управления, первый выход которого соединен с первым управляющим входом первого коммутатора и входом установки в "О" второго регистра остатка, второй выход блока микропрограммного управления соединен с вторым управляющим входом первого коммутатора и входами разрешения записи второго регистра остатка и регистра частного, третий и четвертый выходы блока микропрограммного управления соединены с входами разрешения записи первого регистра остатка и регистра делителя соответственно, пятый выход блока микропрограммного управления является выходом признака окончания деления устройства, отличающееся тем, что в устройство введены второй и третий коммутаторы, причем выход первого регистра остатка соединен с первым информационным входом второго коммутатора, второй информационный вход которого соединен с первым выходом регистра частного, выход второго регистра остатка соединен с первым информационным входом третьего коммутатора, второй информационный вход которого соединен с вторым выходом регистра частного, выход второго коммутатора соединен с первым информационным входом первого сумматора, второй информационный вход которого соединен с выходом третьего коммутатора, первые управляющие входы второго и третьего коммутаторов соединены с вторым выходом блока микропрограммного управления, шестой выход которого соединен с вторыми управляющими входами второго и третьего коммутаторов.A device for dividing [4] is known, 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 subtractor, a NOT element and a microprogram control unit, the device data input 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 remainder register, the output of the first adder is are output by the result of the device and connected to the input of the reduced subtracter, 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, respectively, the outputs of the senior the bits of the first and second registers of the remainder are connected to the first and second information inputs of the second adder, respectively, the output of the least significant bits of which connected to the first information input of the second multiplication block, 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 output of the upper bits of the divider register, the output of which is connected to the first information input of the first block multiplication, the second information input of which is connected to the information input of the least significant bits of the register of private and the output of the selector, the information input which is connected to the output of the second multiplication block, the transfer input of the forced rounding adder is the input of the logical unit 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 balance 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 input set to “O” 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 entries 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 accordingly, the fifth 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 t there are switches, wherein the output of the first remainder 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 remainder 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, p The first control inputs of the second and third switches are connected to the second output of the microprogram control unit, the sixth output of which is connected to the second control inputs of the second and third switches.

Недостатком такого устройства является сложность конструкции и невозможность выполнения операции извлечения квадратного корня.The disadvantage of this device is the design complexity and the inability to perform the square root extraction operation.

Наиболее близким по технической сути к предложенному техническому решению является устройство для деления [5], содержащее регистр делимого, регистр делителя, сумматор частного, сумматор принудительного округления делителя, блок деления усеченных чисел, регистр цифр частного, три коммутатора и блок управления, причем выходы делителя и делимого через шину данных устройства соединены с информационными входами регистра делителя и информационными входами первой группы первого коммутатора соответственно, выходы первого коммутатора соединены с информационными входами регистра делимого, информационные входы первой группы второго коммутатора соединены с выходами старших разрядов делимого через шину данных устройства, выход старших разрядов регистра делителя соединен с информационными входами первой группы третьего коммутатора, информационные входы второй группы которого соединены с выходами старших разрядов делителя через шину данных устройства, выходы третьего коммутатора соединены с информационными входами сумматора принудительного округления делителя, вход переноса которого соединен с входом логической единицы устройства, выходы сумматора принудительного округления соединены с входами делителя блока деления усеченных чисел, входы делимого которого соединены с выходами второго коммутатора, выходы блока деления усеченных чисел соединены с информационными входами регистра цифр частного, выходы которого соединены с входами младших разрядов сумматора частного, вход синхронизации устройства соединен - с синхровходами регистров делимого и делителя, сумматора частного, регистра цифр частного и блока управления, первый выход блока управления соединен с входом разрешения записи регистра делителя и входом установки в "О" сумматора частного, а также с первыми управляющими входами первого, второго и третьего коммутаторов, второй выход блока управления соединен с вторыми управляющими входами первого, второго и третьего коммутаторов и входом разрешения записи сумматора частного, третий выход блока управления соединен с входом разрешения записи регистра делимого и регистра цифр частного, четвертый выход блока управления является выходом признака окончания деления устройства, выходы сумматора частного являются выходом частного устройства, отличающееся тем, что устройство содержит формирователь частичных произведений, блок суммирования, два сумматора и элемент ИЛИ - НЕ, причем выход регистра делителя соединен с первым информационным входом формирователя частичных произведений, второй информационный вход которого соединен с выходом регистра цифр частного, выход регистра делимого соединен с первым информационным входом блока суммирования, второй информационный вход блока суммирования соединен с выходом формирователя частичных произведений, выходы сумм и переносов блока суммирования соединены с входами первого и второго слагаемых первого сумматора соответственно, выходы старших разрядов сумм и переносов блока суммирования соединены с входами первого й второго слагаемых второго сумматора соответственно, выход второго сумматора соединен с информационными входами второй группы второго коммутатора, выход первого сумматора соединен с информационными входами второй группы первого коммутатора, выход старшего разряда первого сумматора соединен с первым входом элемента ИЛИ - НЕ, выход которого соединен с входом установки в "О" регистра цифр частного, первый выход блока управления соединен с вторым входом элемента ИЛИ - НЕ.The closest in technical essence to the proposed technical solution is a device for division [5], containing a dividend register, a divisor register, a private adder, a forced rounding-off adder, a truncated number division unit, a private digits register, three switches and a control unit, the divider outputs and dividends through the data bus, the devices are connected to the information inputs of the divider register and the information inputs of the first group of the first switch, respectively, the outputs of the first switch are connected with 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 dividend via 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 senior bits of the divider device data bus, the outputs of the third switch are connected to the information inputs of the adder forced rounding of the divider the nose of which is connected to the input of the logical unit of the device, the outputs of the compulsory rounding adder 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 junior inputs bits of the adder private, the synchronization input of the device is connected to the sync inputs of the divisible and divisor registers, the adder private, the register of digits private and b control lock, the first output of the control unit is connected to the enable input of the register of the divider and the input to the setting “O” of the private adder, as well as to 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 the third switch and the admission write enable input of the adder private, the third output of the control unit is connected to the enable input of the register of the dividend and register of digits of the private, the fourth output of the control unit is One of the signs of the end of the division of the device, the outputs of the adder private are the output of the private device, characterized in that the device comprises a partial product shaper, an adder, two adders and an OR element NOT, the output of the divider register being connected to the first information input of the partial product shaper, the second information the input of which is connected to the output of the register of digits of quotient, the output of the register of the dividend is connected to the first information input of the summing unit, the second information One of the summing unit is connected to the output of the partial product shaper, the outputs of the sums 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 highest 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 with the information inputs of the second group of the second switch, the output of the first adder is connected to the information inputs of the second group of the first switch, Exit significant bit of the first adder is connected to a first input of OR - NOT whose output is connected to the setting input of a "O" digit register private, the first control unit output is connected to the second input of OR - NOT.

Недостатками устройства является невозможность выполнения операции извлечения квадратного корня, выполнения операций в форматах ,соответствующих стандарту IEEE 754, и высокая сложность, невысокое быстродействие.The disadvantages of the device are the inability to perform the operation of extracting the square root, operations in formats that comply with the IEEE 754 standard, and high complexity, low speed.

Раскрытие изобретенияDisclosure of invention

Решаемая заявляемым изобретением задача - устранение недостатков аналогов.Solved by the claimed invention, the task is to eliminate the disadvantages of analogues.

Заявленное устройство для деления и извлечения квадратного корня позволяет производить вычисление в формате плавающей точки в соответствии со стандартом стандарт IEEE 754 с одинарной (результат представлен 32-битным двоичным числом) и двойной (результат представлен 64-битным двоичным числом) точностью, причем входные операнды могут быть представлены в формате плавающей точки как одинарной, так и двойной точности.The claimed device for dividing and extracting the square root allows the calculation in floating point format in accordance with the IEEE 754 standard with single (the result is represented by a 32-bit binary number) and double (the result is represented by a 64-bit binary number) accuracy, and the input operands can be presented in floating point format as single or double precision.

Технический результат заключается в увеличении быстродействия, добавлении новой функциональной возможности без усложнения устройства, а именно функционала устройства для деления и устройства для извлечения квадратного корня в едином устройстве.The technical result consists in increasing speed, adding new functionality without complicating the device, namely the functionality of the device for dividing and the device for extracting the square root in a single device.

Технический результат достигается тем, что устройство деления и извлечения квадратного корня содержит блок выделения степени и мантиссы входных операндов, первый вход которого является входом устройства, схему управления трехступенчатым конвейером, вход которой соединен с выходом блока выделения степени и мантиссы входных операндов, пятый выход схемы управления трехступенчатым конвейером соединен со вторым входом блока выделения степени и мантиссы входных операндов, блок входных регистров, соединенных в трехступенчатый конвейер, входы/выходы которых соединены с первым, вторым и третьим входами/выходами схемы управления трехступенчатым конвейером соответственно, схему управления блоками сумматора и умножителя, первый вход которой соединен с четвертым выходом схемы управления трех ступенчатым конвейером, блок умножителей, вход которого соединен с первым выходом схемы управления блоками сумматора и умножителя, а выход соединен со вторым входом схемы управления блоками сумматора и умножителя, блок сумматоров, вход которого соединен со вторым выходом схемы управления блоками сумматора и умножителя, а выход с третьим входом схемы управления блоками сумматора и умножителя, блок формирования результатов вычисления, вход которого соединен с третьим выходом схемы управления блоками сумматора и умножителя, а выход является выходом устройства.The technical result is achieved by the fact that the square root division and extraction device contains a degree and mantissa extraction unit for input operands, the first input of which is the device input, a three-stage conveyor control circuit, the input of which is connected to the output degree and mantissa extraction unit input operands, fifth output of the control circuit a three-stage conveyor is connected to the second input of the degree and mantissa allocation unit of the input operands, the input register block connected to the three-stage conveyor, the odes / outputs of which are connected to the first, second and third inputs / outputs of the three-stage conveyor control circuit, respectively, the adder and multiplier control circuit, the first input of which is connected to the fourth output of the three-stage conveyor control circuit, a multiplier unit whose input is connected to the first output of the circuit control blocks of the adder and multiplier, and the output is connected to the second input of the control circuit of the blocks of the adder and multiplier, the adder block, the input of which is connected to the second output of the control circuit units of the adder and multiplier, and the output with the third input of the control circuit of the adder and multiplier blocks, a block for generating calculation results, the input of which is connected to the third output of the control circuit of the adder and multiplier blocks, and the output is the output of the device.

Краткое описание чертежейBrief Description of the Drawings

Признаки и сущность заявленного изобретения поясняются в последующем детальном описании, иллюстрируемом чертежами, где показано следующее:The features and essence of the claimed invention are explained in the following detailed description, illustrated by drawings, which shows the following:

На фиг.1 - структурная схема заявленного устройства деления и извлечения квадратного корня, где:Figure 1 - structural diagram of the claimed device for dividing and extracting the square root, where:

1 - блок выделения степени и мантиссы входных операндов;1 - block allocation of the degree and mantissa of the input operands;

2 - схема управления 3-ступенчатым конвейером блока входных регистров;2 is a control diagram of a 3-stage conveyor block input registers;

3 - блок входных регистров;3 - block input registers;

4 - схема управления блока сумматора и блока умножителей;4 is a control circuit of an adder block and a multiplier block;

5 - блок умножителей;5 - block multipliers;

6 - блок сумматоров;6 - block adders;

7 - блок формирования результатов вычисления.7 - unit for generating calculation results.

Осуществление изобретенияThe implementation of the invention

Деление и извлечение квадратного корня происходит на одних и тех же элементах устройства с целью повышения быстродействия 3- ступенчатый конвейер позволяет загружать исходные данные и передавать на последующую обработку из любой ступени, ориентируясь загрузкой блоков умножителей и сумматоров, блоки умножителей и сумматоров совместно с регистрами конвейера производят вычисление по алгоритму деления «с сохранением остатка», а извлечения квадратного корня «без сохранения остатка» с целью унификации связей блоков умножителей и сумматоров для операций деления и извлечения квадратного корня, результат каждой итерации определяется из условия: min ( P f ( A i 1 + B i , j ) ) > 0 ( 1 )

Figure 00000002
, где P - делимое или число, из которого извлекается квадратный корень, Ai-1 - промежуточный результат, полученный на предыдущей итерации, Bi,j - вектор приближений текущей операции, f(Ai-1+Bi,j) - арифметическая операция, обратная вычисляемой, для операции деления - умножение на делитель, для операции извлечения квадратного корня - возведение в степень, при этом результатом i итерации является число A i = A i 1 + B i , k ( 2 )
Figure 00000003
, где Bi,k - значение приближения из вектора Bi,j, удовлетворяющее условию (1), одна итерация вычисления содержит операцию умножения и операцию вычитания промежуточных результатов, отличающиеся тем, что с целью повышения быстродействия операция извлечения квадратного корня может выполняться одновременно над двумя независимыми входными числами, результат и входные данные, флаги выполнения операций соответствуют стандарту IEEE 754 для чисел в формате плавающей точки одинарной и двойной точностей.The division and extraction of the square root occurs on the same elements of the device in order to improve performance. The 3-stage conveyor allows you to download the source data and transfer it for further processing from any stage, being guided by loading blocks of multipliers and adders, blocks of multipliers and adders together with conveyor registers produce calculation according to the division algorithm “with preservation of the remainder”, and the extraction of the square root “without preservation of the remainder” in order to unify the relations of the blocks of multipliers and sum s operations for division and square root extraction, the result of each iteration is determined by the condition: min ( P - f ( A i - one + B i , j ) ) > 0 ( one )
Figure 00000002
, where P is the dividend or the number from which the square root is extracted, A i-1 is the intermediate result obtained at the previous iteration, B i, j is the approximation vector of the current operation, f (A i-1 + B i, j ) is the arithmetic operation is the inverse of the calculated one, for the division operation is multiplication by the divisor, for the square root extraction operation is raising to a power, and the result of the iteration i is the number A i = A i - one + B i , k ( 2 )
Figure 00000003
, where B i, k is the approximation value from the vector B i, j satisfying condition (1), one calculation iteration contains the operation of multiplication and the operation of subtracting intermediate results, characterized in that, in order to improve performance, the square root extraction operation can be performed simultaneously on two independent input numbers, the result and the input data, operation flags correspond to the IEEE 754 standard for single and double precision floating point numbers.

Блок выделения степени и мантиссы входных операндов 1 производит разбор поступивших на вход двоичных чисел в формате плавающей точки. Производит выделение из них степени и мантиссы из входных операндов, определяет признаки результата, такие как деление на ноль, признак нулевого результата и др. Данные с выхода блока выделения степени и мантиссы входных операндов 1 поступают в одну из ступеней конвейера регистров блока входных регистров 3, свободную от вычисления. В случае заполнения всех ступеней конвейера 3 схема управления 3-ступенчатым конвейером блока входных регистров 2 формирует сигнал «занят» препятствующий дальнейшему поступлению чисел на вход блока разбора и подготовки входных данных. Сигнал «занят» снимается сразу после завершения первой выполняемой операции. Каждый блок входных регистров 3 содержит защелки делителя, делимого или числа, из которого извлекается квадратный корень, степени результата, знак результата, признаки результата, а также номер цикла итерации и промежуточное значение результата.The degree and mantissa allocation unit of the input operands 1 parses the binary numbers received at the input in the floating point format. It extracts the degree and mantissa from them from the input operands, determines the signs of the result, such as division by zero, a sign of zero result, etc. Data from the output of the degree and mantissa selection block of the input operands 1 goes to one of the stages of the register conveyor block of the input registers 3, free from calculation. In the case of filling all stages of the conveyor 3, the control circuit of the 3-stage conveyor of the block of input registers 2 generates a busy signal that impedes further input of numbers to the input of the parsing unit and preparation of input data. The busy signal is removed immediately after the completion of the first operation. Each block of input registers 3 contains latches of a divisor, dividend or number, from which the square root, degrees of the result, sign of the result, signs of the result, as well as the number of the iteration cycle and the intermediate value of the result, are extracted.

Данные с входа/выхода одного из блоков входных регистров 3 через схему управления 3-ступенчатым конвейером блока входных регистров 2 и схемы управления блока сумматора и блока умножителей 4 поступают на вычисление промежуточного результата деления или извлечения квадратного корня. На основании номера цикла итерации и промежуточного значение результата полученного с предыдущего цикла схема управления блоком сумматоров и блоком умножителей 4 формирует вектор возможных результатов текущего цикла путем поразрядного слияния промежуточного значение результата, полученного с предыдущего цикла, и набора констант приближения. Константы приближения являются членами ряда 0, 1,…2K - 1, где K - количество бит результата, определяемых за одну итерацию. Позицию для слияния определяет схема управления блоком сумматоров и блоком умножителей 4 на основе номера цикла итерации. Данные с выхода схемы управления блока сумматоров и блока умножителей 4 поступают на вход блока умножителя 5, где в случае деления двух чисел происходит умножение делителя и вектора возможных результатов текущего цикла, а в случае извлечения корня производится возведение в квадрат векторов возможных результатов текущего цикла. Результат фиксируется в схеме управления блоком сумматоров и блоком умножителей 4 в первом такте итерации. Во втором такте итерации производится пробное вычитание и определение промежуточного значение результата как элемента вектора возможных результатов, обеспечивающего минимальный положительный остаток от вычитания. В случае деления из делимого вычитаются результат умножения, а в случае извлечения квадратного корня вычитание производится из числа, из которого извлекается квадратный корень. Минимальный положительный остаток от вычитания определяется схемой управления блоком сумматоров и блоком умножителей 4 по смене знака результата разности с помощью логической комбинационной схемы, входящей в схему управления блоком сумматоров и блоком умножителей. Блоки сумматора 6 и блоки умножителей 5 для выполнения деления на первом и втором тактах вычисления выполняют операции, входящие в текущий и следующий цикл итерации, а в случае извлечения квадратного корня внутри одного цикла итерации на первом и втором тактах операции выполняются последовательно. Для ускорения цикла извлечение квадратного корня блоки 5 и 6 имеют возможность производить извлечение квадратного корня из 2 чисел одновременно, при этом числа на вход блоков умножителей 5 и блоков сумматоров 6 поступают по очереди для каждого такта вычисления. Вычисление частного производится за 11 циклов для получения результата двойной точности (общая разрядность операндов 64, мантисса - 53 разряда), при этом общий цикл деления составляет 15 тактов. Вычисление квадратного корня из одного числа составляет также 11 тактов с общей длительностью 24 такта, при вычислении квадратного корня из двух чисел одновременно среднее время вычисления равно 12 тактам.Data from the input / output of one of the blocks of the input registers 3 through the control circuit of the 3-stage conveyor of the block of the input registers 2 and the control circuit of the adder block and the block of multipliers 4 are supplied to calculate the intermediate result of dividing or extracting the square root. Based on the iteration cycle number and the intermediate value of the result obtained from the previous cycle, the control circuit of the adder block and the block of multipliers 4 forms a vector of possible results of the current cycle by bitwise merging the intermediate value of the result obtained from the previous cycle and a set of approximation constants. The approximation constants are members of the series 0, 1, ... 2 K - 1, where K is the number of bits of the result determined in one iteration. The position for merging is determined by the control circuit of the adder block and the multiplier block 4 based on the iteration cycle number. The data from the output of the control circuit of the adder block and the multiplier block 4 is fed to the input of the multiplier block 5, where in the case of division of two numbers, the divider and the vector of possible results of the current cycle are multiplied, and in the case of root extraction, the vectors of possible results of the current cycle are squared. The result is recorded in the control circuit of the adder block and the block of multipliers 4 in the first step of the iteration. In the second step of the iteration, a test subtraction and determination of the intermediate value of the result as an element of the vector of possible results, providing the minimum positive remainder from the subtraction, are performed. In the case of division, the result of the multiplication is subtracted from the dividend, and in the case of extracting the square root, the subtraction is performed from the number from which the square root is extracted. The minimum positive residue from the subtraction is determined by the control circuit of the adder block and the block of multipliers 4 by changing the sign of the difference result using the logical combinational circuit included in the control circuit of the adder block and the block of multipliers. The blocks of the adder 6 and the blocks of the multipliers 5 to perform the division on the first and second clock cycles, the calculations perform the operations included in the current and next iteration cycle, and in the case of extracting the square root within one iteration cycle, the operations are performed sequentially in the first and second cycles. To speed up the extraction of the square root, blocks 5 and 6 have the ability to extract the square root of 2 numbers at the same time, while the numbers at the input of the blocks of multipliers 5 and blocks of adders 6 are received in turn for each calculation step. The calculation of the quotient is carried out in 11 cycles to obtain a double precision result (the total capacity of the operands is 64, the mantissa is 53 bits), and the total division cycle is 15 cycles. The calculation of the square root of one number is also 11 cycles with a total duration of 24 cycles, while calculating the square root of two numbers simultaneously, the average calculation time is 12 cycles.

Блок формирования результатов вычисления 7 производит нормализацию результата вычисления, упаковку результатов в формат плавающей точки в соответствии со стандартом IEEE 754 и формирование всех необходимых флагов.The unit for generating calculation results 7 normalizes the calculation result, packs the results into a floating point format in accordance with the IEEE 754 standard, and generates all the necessary flags.

Примеры реализацииImplementation examples

Заявленное устройство для деления и извлечения квадратного корня было применено в сопроцессоре плавающей точки процессора SPARC V8, результаты сравнения с аналогичными устройствами [6] представлены в таблице 1.The claimed device for dividing and extracting the square root was used in the floating point coprocessor of the SPARC V8 processor, the results of comparison with similar devices [6] are presented in table 1.

Табл.1Table 1 Блоки деленияDivision blocks ОперацияOperation ИзвлечениеExtraction ПреимуществоAdvantage ПреимуществоAdvantage умножения различных сопроцессоров плавающей точки (FPU)multiplication of various floating point coprocessors (FPUs) деление, такты (операция двойной точности)division, measures (double precision operation) квадратного корня (операция двойной точности)square root (double precision operation) по быстродействию при деленииfission performance при извлечении квадратного корняwhen extracting the square root GRFPUGRFPU 16 (16)16 (16) 23 (24)23 (24) 6,66%6.66% 0/100%*0/100% * ARM VFP9-SARM VFP9-S 28 (31)28 (31) Нет данныхThere is no data 86.66%86.66% -- ARMVFP11ARMVFP11 29 (33)29 (33) Нет данныхThere is no data 93.33%93.33% -- AMD K7AMD K7 17(20)17 (20) Нет данныхThere is no data 13.33%13.33% -- MEIKOMEIKO 50fifty Нет данныхThere is no data 233.33%233.33% -- ЗаявленноеClaimed 15 (15)15 (15) 24/12 (12)*24/12 (12) * Объект сравненияComparison object устройствоdevice

* - для группового извлечения квадратного корня* - for group square root extraction

Заявленное устройство было также применено в качестве арифметического блока в системе расчета положения модуля на основе микроприводов, что позволило повысить общее быстродействие устройства, по экспертной оценке, до 2 раз.The claimed device was also used as an arithmetic unit in the system for calculating the position of the module based on micro drives, which allowed to increase the overall speed of the device, according to expert estimates, up to 2 times.

Таким образом, использование заявленного устройства позволяет обеспечить решение поставленной задачи деления и извлечения квадратного корня с достижением неожиданного технического результата.Thus, the use of the claimed device allows to provide a solution to the problem of dividing and extracting the square root with the achievement of an unexpected technical result.

Список используемой литературыBibliography

1. А.с. СССР №842806. Устройство для вычисления квадратного корня / В.В.Чекушкин. - Опубл. 1981. Бюл. №24.1. A.S. USSR No. 842806. A device for calculating the square root / V.V. Chekushkin. - Publ. 1981. Bull. Number 24.

2. А.с. СССР №611208, кл. G 06 F7/38 1978 г. Устройство для вычисления квадратного корня.2. A.S. USSR No. 611208, class G 06 F7 / 38 1978 A device for calculating the square root.

3. А.с. СССР №656055, кл. G 06 F7/38 1979 г. Устройство для вычисления квадратного корня.3. A.S. USSR No. 656055, class G 06 F7 / 38 1979. A device for calculating the square root.

4. Сафонова Э.М., Шостак А.А «УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ», Патент №2018933, кл. G06F7/52, дата публикации 30.08.1994.4. Safonova E.M., Shostak A.A. “DEVICE FOR DIVISION”, Patent No.2018933, class. G06F7 / 52, publication date 08/30/1994.

5. Сафонова Э.М., Шостак А.А «УСТРОЙСТВО ДЛЯ ДЕЛЕНИЯ», Патент №2018934, кл. G06F7/52, дата публикации 30.08.1994.5. Safonova E.M., Shostak A.A. “DEVICE FOR DIVISION”, Patent No. 2018934, class. G06F7 / 52, publication date 08/30/1994.

6. Edvin Catovic «GRFPU - High Performance IEEE- 754. Floating- Point Unit» Gaisler Research, Första Långgatan 19, SE-413 27 Göteborg, Sweden edvin@gaisler. Com,6. Edvin Catovic “GRFPU - High Performance IEEE-754. Floating-Point Unit” Gaisler Research, Första Långgatan 19, SE-413 27 Göteborg, Sweden edvin @ gaisler. Com

Claims (1)

Устройство деления и извлечения квадратного корня содержит блок выделения степени и мантиссы входных операндов, первый вход которого является входом устройства, схему управления трехступенчатым конвейером блока входных регистров, вход которой соединен с выходом блока выделения степени и мантиссы входных операндов, второй выход схемы управления трехступенчатым конвейером блока входных регистров соединен со вторым входом блока выделения степени и мантиссы входных операндов, блок входных регистров, соединенных в трехступенчатый конвейер, входы/выходы которых соединены с первым, вторым и третьим входами/выходами схемы управления трехступенчатым конвейером блока входных регистров, соответственно схему управления блоком сумматора и блоком умножителя, первый вход которой соединен с первым выходом схемы управления трехступенчатым конвейером блока входных регистров, блок умножителей, вход которого соединен с первым выходом схемы управления блоком сумматора и блоком умножителя, а выход соединен со вторым входом схемы управления блоком сумматора и блоком умножителя, блок сумматоров, вход которого соединен со вторым выходом схемы управления блоком сумматора и блоком умножителя, а выход с третьим входом схемы управления блоками сумматора и умножителя, блок формирования результатов деления и извлечения квадратного корня, вход которого соединен с третьим выходом схемы управления блоком сумматора и блоком умножителя, а выход является выходом устройства. The square root division and extraction device contains a degree and mantissa extraction unit for input operands, the first input of which is an input to the device, a three-stage conveyor control unit of the input register block, the input of which is connected to the output of the degree and mantissa extraction unit of the input operands, the second output of the control circuit of the three-stage conveyor block input registers connected to the second input of the block allocation degree and mantissa of the input operands, the block of input registers connected to a three-stage con yer, the inputs / outputs of which are connected to the first, second and third inputs / outputs of the control circuit of the three-stage conveyor block of the input registers, respectively, the control circuit of the adder block and the multiplier block, the first input of which is connected to the first output of the control circuit of the three-stage conveyor of the block of input registers, the multiplier block the input of which is connected to the first output of the control circuit of the adder block and the multiplier block, and the output is connected to the second input of the control circuit of the adder block and the multiplier block, bl ok adders, the input of which is connected to the second output of the control circuit of the adder block and the multiplier block, and the output with the third input of the control circuit of the adder and multiplier blocks, the unit for generating the results of dividing and extracting the square root, the input of which is connected to the third output of the control circuit of the adder and multiplier multiplier, and the output is the output of the device.
RU2012145690/08A 2012-10-25 2012-10-25 Apparatus for performing division and square-rooting RU2510072C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2012145690/08A RU2510072C1 (en) 2012-10-25 2012-10-25 Apparatus for performing division and square-rooting

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012145690/08A RU2510072C1 (en) 2012-10-25 2012-10-25 Apparatus for performing division and square-rooting

Publications (1)

Publication Number Publication Date
RU2510072C1 true RU2510072C1 (en) 2014-03-20

Family

ID=50279750

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012145690/08A RU2510072C1 (en) 2012-10-25 2012-10-25 Apparatus for performing division and square-rooting

Country Status (1)

Country Link
RU (1) RU2510072C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094745A (en) * 2015-08-19 2015-11-25 国网重庆市电力公司电力科学研究院 Implementation method of digital power meter calibration instrument floating-point square-rooting algorithm based on Microblaze system
RU2638010C1 (en) * 2017-03-27 2017-12-08 Федеральное государственное бюджетное образовательное учреждение высшего образования "Кубанский государственный технологический университет" (ФГБОУ ВО "КубГТУ") Device for calculating square root

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1059571A1 (en) * 1981-01-26 1983-12-07 Предприятие П/Я Р-6234 Device for squaring, extracting square root, multiplying and dividing
SU1293727A1 (en) * 1985-06-14 1987-02-28 Львовский политехнический институт им.Ленинского комсомола Polyfunctional calculating device
RU2018934C1 (en) * 1991-07-10 1994-08-30 Научно-исследовательский институт электронных вычислительных машин Divider
US6108682A (en) * 1998-05-14 2000-08-22 Arm Limited Division and/or square root calculating circuit
US20030149713A1 (en) * 2001-11-22 2003-08-07 Tariq Kurd Circuitry for carrying out an arithmetic operation
US6782405B1 (en) * 2001-06-07 2004-08-24 Southern Methodist University Method and apparatus for performing division and square root functions using a multiplier and a multipartite table
US7921149B2 (en) * 2004-12-15 2011-04-05 Nec Corporation Division and square root arithmetic unit

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1059571A1 (en) * 1981-01-26 1983-12-07 Предприятие П/Я Р-6234 Device for squaring, extracting square root, multiplying and dividing
SU1293727A1 (en) * 1985-06-14 1987-02-28 Львовский политехнический институт им.Ленинского комсомола Polyfunctional calculating device
RU2018934C1 (en) * 1991-07-10 1994-08-30 Научно-исследовательский институт электронных вычислительных машин Divider
US6108682A (en) * 1998-05-14 2000-08-22 Arm Limited Division and/or square root calculating circuit
US6782405B1 (en) * 2001-06-07 2004-08-24 Southern Methodist University Method and apparatus for performing division and square root functions using a multiplier and a multipartite table
US20030149713A1 (en) * 2001-11-22 2003-08-07 Tariq Kurd Circuitry for carrying out an arithmetic operation
US7921149B2 (en) * 2004-12-15 2011-04-05 Nec Corporation Division and square root arithmetic unit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094745A (en) * 2015-08-19 2015-11-25 国网重庆市电力公司电力科学研究院 Implementation method of digital power meter calibration instrument floating-point square-rooting algorithm based on Microblaze system
RU2638010C1 (en) * 2017-03-27 2017-12-08 Федеральное государственное бюджетное образовательное учреждение высшего образования "Кубанский государственный технологический университет" (ФГБОУ ВО "КубГТУ") Device for calculating square root

Similar Documents

Publication Publication Date Title
Yang et al. A new RSA cryptosystem hardware design based on Montgomery's algorithm
JP3144816B2 (en) Device for performing division
CN110168493B (en) Fused multiply-add floating-point operations on 128-bit wide operands
US20120215823A1 (en) Apparatus and method for performing floating point addition
US8812575B2 (en) Decimal floating-point square-root unit using Newton-Raphson iterations
US11163533B2 (en) Floating point unit for exponential function implementation
CN105335127A (en) Scalar operation unit structure supporting floating-point division method in GPDSP
Mehta et al. Implementation of single precision floating point multiplier using karatsuba algorithm
CN111813372A (en) Method and device for realizing 32-bit integer division with high precision and low time delay
RU2510072C1 (en) Apparatus for performing division and square-rooting
US6598065B1 (en) Method for achieving correctly rounded quotients in algorithms based on fused multiply-accumulate without requiring the intermediate calculation of a correctly rounded reciprocal
US20230086090A1 (en) Methods and Apparatus for Quotient Digit Recoding in a High-Performance Arithmetic Unit
Li et al. On the improved implementations and performance evaluation of digit-by-digit integer restoring and non-restoring cube root algorithms
Panda et al. A novel vedic divider architecture with reduced delay for VLSI applications
Son et al. Design and implementation of scalable low-power Montgomery multiplier
US20140052767A1 (en) Apparatus and architecture for general powering computation
Le Lann et al. The Krawczyk algorithm: Rigorous bounds for linear equation solution on an FPGA
EP2884403A1 (en) Apparatus and method for calculating exponentiation operations and root extraction
Viitanen et al. Inexpensive correctly rounded floating-point division and square root with input scaling
Gustafsson et al. Basic arithmetic circuits
Prema et al. Enhanced high speed modular multiplier using Karatsuba algorithm
Guardia Implementation of a fully pipelined BCD multiplier in FPGA
Trivedi et al. A Review on Single Precision Floating Point Arithmetic Unit of 32 bit Number
RU2485574C1 (en) Method of facilitating multiplication of floating-point numbers represented in residue number system
EP3869327B1 (en) Calculation processing device and control method for calculation processing device