RU2642385C1 - Устройство для вычисления функции arctg y/x - Google Patents
Устройство для вычисления функции arctg y/x Download PDFInfo
- Publication number
- RU2642385C1 RU2642385C1 RU2017111734A RU2017111734A RU2642385C1 RU 2642385 C1 RU2642385 C1 RU 2642385C1 RU 2017111734 A RU2017111734 A RU 2017111734A RU 2017111734 A RU2017111734 A RU 2017111734A RU 2642385 C1 RU2642385 C1 RU 2642385C1
- Authority
- RU
- Russia
- Prior art keywords
- register
- output
- outputs
- block
- input
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/548—Trigonometric functions; Co-ordinate transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
Abstract
Устройство относится к цифровой вычислительной технике и может быть использовано для ускоренного вычисления функции . Технический результат заключается в повышении точности вычисления функции . Технический результат достигается за счет устройства для вычисления функции , которое содержит регистр первого аргумента, регистр второго аргумента, первый и второй коммутаторы, сумматор, вычитатель, первый, второй, третий и четвертый блоки памяти, первый, второй и третий буферные регистры, регистр результата, блок синхронизации, блок сдвига со связями между ними. 1 ил.
Description
Изобретение относится к цифровой вычислительной технике и может быть использовано для ускоренного вычисления функции .
Известны устройства для вычисления функции [а.с. 1067510 СССР, 1984 г.; а.с. 1206767 СССР, 1984 г.]. К недостатку известных устройств можно отнести низкую точность вычисления.
Наиболее близким по технической сущности к данному изобретению является устройство для вычисления функции [а.с. 1297041 СССР, 1987 г.], содержащее регистр аргумента X, регистр аргумента Y, блок синхронизации, сумматор, два коммутатора, три буферных регистра, регистр результата, причем выходы первого и второго коммутаторов соединены с входами первого и второго слагаемых сумматора соответственно, выход которого соединен с информационными входами регистра результата, первого буферного регистра, первый и второй выходы блока синхронизации соединены соответственно с управляющими входами первого и второго коммутаторов. Кроме того, оно содержит вычитатель, блок памяти , блок памяти значений квадратного корня, первый и второй блоки памяти значений арктангенса, выходы которых соединены с первыми информационными входами первого и второго коммутаторов соответственно, вторые входы которых соединены с выходами регистра аргумента Y и регистра аргумента X соответственно, третьи информационные входы первого и второго коммутаторов соединены с выходами блока памяти значений и второго буферного регистра соответственно, адресный вход блока памяти значений соединен с выходом регистра аргумента Y, выходы первого и второго коммутаторов соединены с входами уменьшаемого и вычитаемого вычитателя соответственно, выход которого соединен с информационным входом третьего буферного регистра, выход которого соединен с адресным входом второго блока памяти значений арктангенса, выход сумматора соединен с адресным входом блока памяти значений квадратного корня, выход которого соединен с адресным входом второго буферного регистра, третий, четвертый и пятый выходы блока синхронизации соединены с входами синхронизации соответственно первого, второго и третьего буферных регистров, выход первого буферного регистра соединен с адресным входом первого блока памяти значений арктангенса.
Задача настоящего изобретения является совершенствование возможностей устройства для вычисления функции .
Технический результат - получение более точного значения арктангенса.
Технический результат достигается предложенным устройством для вычисления функции , содержащим регистр аргумента X, регистр аргумента Y, блок синхронизации, сумматор, два коммутатора, три буферных регистра, регистр результата, причем выходы первого и второго коммутаторов соединены с входами первого и второго слагаемых сумматора соответственно, выход которого соединен с информационными входами регистра результата, первого буферного регистра, первый и второй выходы блока синхронизации соединены соответственно с управляющими входами первого и второго коммутаторов, вычитатель, блок памяти значений , блок памяти значений квадратного корня, первый и второй блоки памяти значений арктангенса, выходы которых соединены с первыми информационными входами первого и второго коммутаторов соответственно, вторые входы которых соединены с выходами регистра аргумента Y и регистра аргумента X соответственно, третьи информационные входы первого и второго коммутаторов соединены с выходами блока памяти значений и второго буферного регистра соответственно, адресный вход блока памяти значений соединен с выходом регистра аргумента Y, выходы первого и второго коммутаторов соединены с входами уменьшаемого и вычитаемого вычитателя соответственно, выход которого соединен с информационным входом третьего буферного регистра, выход которого соединен с адресным входом второго блока памяти значений арктангенса, выход сумматора соединен с адресным входом блока памяти значений квадратного корня, выход которого соединен с адресным входом второго буферного регистра, третий, четвертый и пятый выходы блока синхронизации соединены с входами синхронизации соответственно первого, второго и третьего буферных регистров, выход первого буферного регистра соединен с адресным входом первого блока памяти значений арктангенсов.
Кроме того, в устройство дополнительно введен блок сдвига, причем его выходы связаны с регистрами первого и второго аргументов X и Y соответственно, а их входы являются входами аргументов X и Y.
Это является новым техническим решением в технике цифровых вычислительных устройств, поскольку результаты проведенного авторами анализа аналогов и прототипа не позволили выявить признаки, тождественные всем существенным признакам данного устройства.
Предложенное устройство для вычисления функций имеет изобретательский уровень, так как из опубликованных научных данных и существующих технических решений явным образом не следует, что заявляемая совокупность блоков и связей между ними позволяет повысить точность вычисления функций.
Предложенное устройство для вычисления промышленно применимо, поскольку его техническая реализация возможна с использованием типовых элементов микроэлектронной техники (интегральных логических элементов).
На чертеже представлена схема устройства, которое содержит регистр 1 первого аргумента X, регистр 2 второго аргумента Y, первый и второй коммутаторы 3 и 4, сумматор 5, вычитатель 6, первый, второй, третий и четвертый блоки 7-10 памяти, первый, второй и третий буферные регистры 11-13, регистр 14 результата, блок 15 синхронизации и блок 16 сдвига.
Устройство вычисляет значения функции путем введения вспомогательных переменных α и β, для которых α+β=y, 1-α⋅β=х, и использования формулы , вытекающей из свойств функции арктангенса. Это дает для вычисления функции определяющее соотношение
позволяющее на всех этапах промежуточных преобразований вычислять вспомогательные функции от одного аргумента разрядности N, а наличие двух слагаемых учитывать с помощью суммирования на сумматоре и вычитателе.
Регистры 1, 2 первого X и второго Y аргументов получают нормированные значения аргументов х и y от блока 16 сдвига, где происходит сдвиг аргументов х и y влево до появления старшей единицы, наибольшей из входных переменных х и y, в старшем разряде. При этом число сдвигов входных переменных одинаково. Так, например, если х=00001010, y=00100110, то на выходе блока 16 сдвига получим сдвинутые коды переменных X=00101000, Y=10011000. То есть X=х⋅2 k , Y=y⋅2 k , где k=2.
Регистр 1 первого аргумента хранит значение аргумента X, а регистр 2 второго аргумента содержит значение аргумента Y. В первом блоке 7 памяти хранится таблица значений , во втором блоке 8 памяти - таблица значений квадратного корня, а в третьем и четвертом блоках 9-10 памяти - таблица значений арктангенса.
Устройство работает в три такта, определяемых блоком 15 синхронизации, следующим образом. В первом такте сигналы от блока 15 синхронизации, воздействуя на управляющие входы, подключают к выходу первого коммутатора 3 первый его вход, к выходу второго коммутатора 4 третий его вход, к выходу второго коммутатора 4 третий его вход, а второй буферный регистр 13 фиксирует в этом такте поступающую на его вход информацию. В первом такте значение Y с регистра 2 второго аргумента Y преобразуется в первом блоке 7 памяти, образуя на его выходе значение , поступающее через первый вход первого коммутатора 3 на первый вход сумматора 5, на второй вход которого поступает через третий вход второго коммутатора 4 с регистра 1 первого аргумента значение X. В результате на выходе сумматора 5 формируется значение , запоминаемое во втором буферном регистре 12.
Во втором такте сигналы от блока 15 синхронизации, воздействуя на управляющие входы, подключают к выходу первого коммутатора 3 третий его вход, к выходу второго сумматора 4 - первый его вход, а первый и третий буферные регистры 11 и 13 фиксируют в этом же такте поступающую на его вход информацию. Выход регистра 2 второго аргумента Y подключен к третьему входу первого коммутатора 3 со смещением на один двоичный разряд вправо, чтобы обеспечить формирование на этом входе значения кода . На первые входы сумматора 5 и вычитателя 6 поступает значение , а на вторые их входы с выхода второго блока памяти 8 значение . На выходе сумматора 5 формируется значение , запоминаемое на первом буферном регистре 11, а на выходе вычитателя 6 - значение , запоминаемое в третьем буферном регистре 13.
В третьем такте сигналы от блока 15 синхронизации, воздействуя на управляющие входы, подключают к выходу первого и второго коммутаторов 3 и 4 вторые их входы. Третий и четвертый блоки 9-10 памяти выполняют нахождение арктангенса от промежуточных аргументов, а сумматор 5 складывает эти результаты, образуя на своем выходе окончательный результат , запоминаемый в регистре 14 результата.
Нормализация значений аргументов х и y, осуществляемая блоком 16 сдвига позволяет увеличить точность вычислений, так как увеличивает количество значащих двоичных разрядов в кодах аргументов. Кроме того, сокращаются погрешности округлений до N двоичных разрядов результатов промежуточных вычислений и . При этом возведении числа в квадрат отбрасывается N младших разрядов произведения, а при извлечении квадратного корня из N-разрядного числа верными являются только половина весомозначных разрядов подкоренной величины.
Claims (1)
- Устройство для вычисления функции , содержащее регистр аргумента X, регистр аргумента Y, блок синхронизации, сумматор, два коммутатора, три буферных регистра, регистр результата, причем выходы первого и второго коммутаторов соединены с входами первого и второго слагаемых сумматора соответственно, выход которого соединен с информационными входами регистра результата, первого буферного регистра, первый и второй выходы блока синхронизации соединены соответственно с управляющими входами первого и второго коммутаторов, вычитатель, блок памяти значений , блок памяти значений квадратного корня, первый и второй блоки памяти значений арктангенса, выходы которых соединены с первыми информационными входами первого и второго коммутаторов соответственно, вторые входы которых соединены с выходами регистра аргумента Y и регистра аргумента X соответственно, третьи информационные входы первого и второго коммутаторов соединены с выходами блока памяти значений и второго буферного регистра соответственно, адресный вход блока памяти значений соединен с выходом регистра аргумента Y, выходы первого и второго коммутаторов соединены с входами уменьшаемого и вычитаемого вычитателя соответственно, выход которого соединен с информационным входом третьего буферного регистра, выход которого соединен с адресным входом второго блока памяти значений арктангенса, выход сумматора соединен с адресным входом блока памяти значений квадратного корня, выход которого соединен с адресным входом второго буферного регистра, третий, четвертый и пятый выходы блока синхронизации соединены с входами синхронизации соответственно первого, второго и третьего буферных регистров, выход первого буферного регистра соединен с адресным входом первого блока памяти значений арктангенса, отличающийся тем, что в него дополнительно введен блок сдвига, причем его выходы связаны с регистрами первого и второго аргументов X и Y соответственно, а вход каждого из них является входом аргументов X и Y.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017111734A RU2642385C1 (ru) | 2017-04-06 | 2017-04-06 | Устройство для вычисления функции arctg y/x |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017111734A RU2642385C1 (ru) | 2017-04-06 | 2017-04-06 | Устройство для вычисления функции arctg y/x |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2642385C1 true RU2642385C1 (ru) | 2018-01-24 |
Family
ID=61023706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017111734A RU2642385C1 (ru) | 2017-04-06 | 2017-04-06 | Устройство для вычисления функции arctg y/x |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2642385C1 (ru) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU164555A1 (ru) * | Устройство для управления взрывом при проведении сейсморазведочных работ | |||
RU2028659C1 (ru) * | 1990-04-12 | 1995-02-09 | Государственный научно-исследовательский институт точного электронного приборостроения | Устройство для приведения функций к мультипликативному алгоритму вычислений |
US20030126177A1 (en) * | 2001-06-04 | 2003-07-03 | International Business Machines Corporation | Arithmetic unit and method thereof |
RU2427885C1 (ru) * | 2010-01-25 | 2011-08-27 | Государственное образовательное учреждение высшего профессионального образования "Саратовский государственный университет им. Н.Г. Чернышевского" | Быстродействующий генератор случайных перестановок и сочетаний |
US20110302231A1 (en) * | 2010-06-02 | 2011-12-08 | Maxeler Technologies, Ltd. | Method and apparatus for performing numerical calculations |
-
2017
- 2017-04-06 RU RU2017111734A patent/RU2642385C1/ru active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU164555A1 (ru) * | Устройство для управления взрывом при проведении сейсморазведочных работ | |||
RU2028659C1 (ru) * | 1990-04-12 | 1995-02-09 | Государственный научно-исследовательский институт точного электронного приборостроения | Устройство для приведения функций к мультипликативному алгоритму вычислений |
US20030126177A1 (en) * | 2001-06-04 | 2003-07-03 | International Business Machines Corporation | Arithmetic unit and method thereof |
RU2427885C1 (ru) * | 2010-01-25 | 2011-08-27 | Государственное образовательное учреждение высшего профессионального образования "Саратовский государственный университет им. Н.Г. Чернышевского" | Быстродействующий генератор случайных перестановок и сочетаний |
US20110302231A1 (en) * | 2010-06-02 | 2011-12-08 | Maxeler Technologies, Ltd. | Method and apparatus for performing numerical calculations |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106990937B (zh) | 一种浮点数处理装置和处理方法 | |
US10340944B2 (en) | Floating-point adder, semiconductor device, and control method for floating-point adder | |
GB2522194A (en) | Multiply adder | |
KR20020063058A (ko) | 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치 | |
CN115268832A (zh) | 浮点数取整的方法、装置以及电子设备 | |
CN113625989B (zh) | 数据运算装置、方法、电子设备及存储介质 | |
JP4883251B1 (ja) | 半導体集積回路及び指数算出方法 | |
RU2642385C1 (ru) | Устройство для вычисления функции arctg y/x | |
KR102228995B1 (ko) | 여러 가지 수치 포맷의 데이터를 갖는, 데이터 베이스화된 함수 모델의 연산을 위한 모델 연산 유닛 및 제어 장치 | |
GB2515867A (en) | Searching apparatus utilizing sub-word finite state machines | |
CN113625990B (zh) | 浮点转定点装置、方法、电子设备及存储介质 | |
JPH0346024A (ja) | 浮動小数点演算器 | |
US9032009B2 (en) | Multiplier circuit | |
CN109960532A (zh) | 用于前台运行的方法及装置 | |
KR20140138053A (ko) | 특히 함수 모델을 순수 하드웨어에 기초하여 연산하기 위한 함수 모델 유닛 내에서 사용하기 위한 fma 유닛 | |
Shekhawat et al. | A hardware generator for posit arithmetic and its FPGA prototyping | |
KR101922462B1 (ko) | 데이터 처리장치 및 이진수에 대해 시프트 기능을 수행하는 방법 | |
RU2618188C1 (ru) | Устройство для вычисления модуля комплексного числа | |
RU2562411C1 (ru) | Устройство для вычисления модуля комплексного числа | |
RU2649955C1 (ru) | Функциональный преобразователь | |
KR20030056012A (ko) | 비동기식 덧셈 곱셈 부동 소수점 연산기 | |
US20120191955A1 (en) | Method and system for floating point acceleration on fixed point digital signal processors | |
JP2001175880A (ja) | 浮動小数点加算器 | |
RU2799035C1 (ru) | Конвейерный сумматор по модулю | |
Ravi et al. | Analysis and study of different multipliers to design floating point MAC units for digital signal processing applications |