RU2510072C1 - Apparatus for performing division and square-rooting - Google Patents
Apparatus for performing division and square-rooting Download PDFInfo
- 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
Links
Landscapes
- Complex Calculations (AREA)
Abstract
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
Известно устройство для вычисления квадратного корня
Способ реализации вычисления функции соответствует способу преобразования аналоговых сигналов в цифровой код путем последовательных поразрядных приближений с вычислением на каждом такте преобразования одной значащей цифры.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- ступенчатый конвейер позволяет загружать исходные данные и передавать на последующую обработку из любой ступени, ориентируясь загрузкой блоков умножителей и сумматоров, блоки умножителей и сумматоров совместно с регистрами конвейера производят вычисление по алгоритму деления «с сохранением остатка», а извлечения квадратного корня «без сохранения остатка» с целью унификации связей блоков умножителей и сумматоров для операций деления и извлечения квадратного корня, результат каждой итерации определяется из условия:
Блок выделения степени и мантиссы входных операндов 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.
* - для группового извлечения квадратного корня* - 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)
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)
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)
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 |
-
2012
- 2012-10-25 RU RU2012145690/08A patent/RU2510072C1/en active
Patent Citations (7)
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)
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 | |
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 | |
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 | |
RU2485574C1 (en) | Method of facilitating multiplication of floating-point numbers represented in residue number system | |
RU2559772C2 (en) | Device for primary division of molecular numbers in format of remainder class system | |
Chen et al. | Decimal floating-point antilogarithmic converter based on selection by rounding: Algorithm and architecture | |
Vega et al. | On-line decimal adder with RBCD representation | |
RU2686628C1 (en) | Addition-subtraction device for digital signal processor | |
Trivedi et al. | A Review on Single Precision Floating Point Arithmetic Unit of 32 bit Number |