RU2642385C1 - Устройство для вычисления функции arctg y/x - Google Patents

Устройство для вычисления функции arctg y/x Download PDF

Info

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
Application number
RU2017111734A
Other languages
English (en)
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 RU2017111734A priority Critical patent/RU2642385C1/ru
Application granted granted Critical
Publication of RU2642385C1 publication Critical patent/RU2642385C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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/548Trigonometric functions; Co-ordinate transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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

Устройство относится к цифровой вычислительной технике и может быть использовано для ускоренного вычисления функции
Figure 00000033
. Технический результат заключается в повышении точности вычисления функции
Figure 00000034
. Технический результат достигается за счет устройства для вычисления функции
Figure 00000034
, которое содержит регистр первого аргумента, регистр второго аргумента, первый и второй коммутаторы, сумматор, вычитатель, первый, второй, третий и четвертый блоки памяти, первый, второй и третий буферные регистры, регистр результата, блок синхронизации, блок сдвига со связями между ними. 1 ил.

Description

Изобретение относится к цифровой вычислительной технике и может быть использовано для ускоренного вычисления функции
Figure 00000001
.
Известны устройства для вычисления функции
Figure 00000002
[а.с. 1067510 СССР, 1984 г.; а.с. 1206767 СССР, 1984 г.]. К недостатку известных устройств можно отнести низкую точность вычисления.
Наиболее близким по технической сущности к данному изобретению является устройство для вычисления функции
Figure 00000003
[а.с. 1297041 СССР, 1987 г.], содержащее регистр аргумента X, регистр аргумента Y, блок синхронизации, сумматор, два коммутатора, три буферных регистра, регистр результата, причем выходы первого и второго коммутаторов соединены с входами первого и второго слагаемых сумматора соответственно, выход которого соединен с информационными входами регистра результата, первого буферного регистра, первый и второй выходы блока синхронизации соединены соответственно с управляющими входами первого и второго коммутаторов. Кроме того, оно содержит вычитатель, блок памяти
Figure 00000004
, блок памяти значений квадратного корня, первый и второй блоки памяти значений арктангенса, выходы которых соединены с первыми информационными входами первого и второго коммутаторов соответственно, вторые входы которых соединены с выходами регистра аргумента Y и регистра аргумента X соответственно, третьи информационные входы первого и второго коммутаторов соединены с выходами блока памяти значений
Figure 00000005
и второго буферного регистра соответственно, адресный вход блока памяти значений
Figure 00000006
соединен с выходом регистра аргумента Y, выходы первого и второго коммутаторов соединены с входами уменьшаемого и вычитаемого вычитателя соответственно, выход которого соединен с информационным входом третьего буферного регистра, выход которого соединен с адресным входом второго блока памяти значений арктангенса, выход сумматора соединен с адресным входом блока памяти значений квадратного корня, выход которого соединен с адресным входом второго буферного регистра, третий, четвертый и пятый выходы блока синхронизации соединены с входами синхронизации соответственно первого, второго и третьего буферных регистров, выход первого буферного регистра соединен с адресным входом первого блока памяти значений арктангенса.
К недостатку известного устройства относится низкая точность вычисления функции
Figure 00000007
.
Задача настоящего изобретения является совершенствование возможностей устройства для вычисления функции
Figure 00000008
.
Технический результат - получение более точного значения арктангенса.
Технический результат достигается предложенным устройством для вычисления функции
Figure 00000009
, содержащим регистр аргумента X, регистр аргумента Y, блок синхронизации, сумматор, два коммутатора, три буферных регистра, регистр результата, причем выходы первого и второго коммутаторов соединены с входами первого и второго слагаемых сумматора соответственно, выход которого соединен с информационными входами регистра результата, первого буферного регистра, первый и второй выходы блока синхронизации соединены соответственно с управляющими входами первого и второго коммутаторов, вычитатель, блок памяти значений
Figure 00000010
, блок памяти значений квадратного корня, первый и второй блоки памяти значений арктангенса, выходы которых соединены с первыми информационными входами первого и второго коммутаторов соответственно, вторые входы которых соединены с выходами регистра аргумента Y и регистра аргумента X соответственно, третьи информационные входы первого и второго коммутаторов соединены с выходами блока памяти значений
Figure 00000011
и второго буферного регистра соответственно, адресный вход блока памяти значений
Figure 00000012
соединен с выходом регистра аргумента Y, выходы первого и второго коммутаторов соединены с входами уменьшаемого и вычитаемого вычитателя соответственно, выход которого соединен с информационным входом третьего буферного регистра, выход которого соединен с адресным входом второго блока памяти значений арктангенса, выход сумматора соединен с адресным входом блока памяти значений квадратного корня, выход которого соединен с адресным входом второго буферного регистра, третий, четвертый и пятый выходы блока синхронизации соединены с входами синхронизации соответственно первого, второго и третьего буферных регистров, выход первого буферного регистра соединен с адресным входом первого блока памяти значений арктангенсов.
Кроме того, в устройство дополнительно введен блок сдвига, причем его выходы связаны с регистрами первого и второго аргументов X и Y соответственно, а их входы являются входами аргументов X и Y.
Это является новым техническим решением в технике цифровых вычислительных устройств, поскольку результаты проведенного авторами анализа аналогов и прототипа не позволили выявить признаки, тождественные всем существенным признакам данного устройства.
Предложенное устройство для вычисления функций
Figure 00000013
имеет изобретательский уровень, так как из опубликованных научных данных и существующих технических решений явным образом не следует, что заявляемая совокупность блоков и связей между ними позволяет повысить точность вычисления функций.
Предложенное устройство для вычисления
Figure 00000014
промышленно применимо, поскольку его техническая реализация возможна с использованием типовых элементов микроэлектронной техники (интегральных логических элементов).
На чертеже представлена схема устройства, которое содержит регистр 1 первого аргумента X, регистр 2 второго аргумента Y, первый и второй коммутаторы 3 и 4, сумматор 5, вычитатель 6, первый, второй, третий и четвертый блоки 7-10 памяти, первый, второй и третий буферные регистры 11-13, регистр 14 результата, блок 15 синхронизации и блок 16 сдвига.
Устройство вычисляет значения функции
Figure 00000015
путем введения вспомогательных переменных α и β, для которых α+β=y, 1-αβ=х, и использования формулы
Figure 00000016
, вытекающей из свойств функции арктангенса. Это дает для вычисления функции
Figure 00000014
определяющее соотношение
Figure 00000017
позволяющее на всех этапах промежуточных преобразований вычислять вспомогательные функции от одного аргумента разрядности 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 памяти хранится таблица значений
Figure 00000018
, во втором блоке 8 памяти - таблица значений квадратного корня, а в третьем и четвертом блоках 9-10 памяти - таблица значений арктангенса.
Устройство работает в три такта, определяемых блоком 15 синхронизации, следующим образом. В первом такте сигналы от блока 15 синхронизации, воздействуя на управляющие входы, подключают к выходу первого коммутатора 3 первый его вход, к выходу второго коммутатора 4 третий его вход, к выходу второго коммутатора 4 третий его вход, а второй буферный регистр 13 фиксирует в этом такте поступающую на его вход информацию. В первом такте значение Y с регистра 2 второго аргумента Y преобразуется в первом блоке 7 памяти, образуя на его выходе значение
Figure 00000019
, поступающее через первый вход первого коммутатора 3 на первый вход сумматора 5, на второй вход которого поступает через третий вход второго коммутатора 4 с регистра 1 первого аргумента значение X. В результате на выходе сумматора 5 формируется значение
Figure 00000020
, запоминаемое во втором буферном регистре 12.
Во втором такте сигналы от блока 15 синхронизации, воздействуя на управляющие входы, подключают к выходу первого коммутатора 3 третий его вход, к выходу второго сумматора 4 - первый его вход, а первый и третий буферные регистры 11 и 13 фиксируют в этом же такте поступающую на его вход информацию. Выход регистра 2 второго аргумента Y подключен к третьему входу первого коммутатора 3 со смещением на один двоичный разряд вправо, чтобы обеспечить формирование на этом входе значения кода
Figure 00000021
. На первые входы сумматора 5 и вычитателя 6 поступает значение
Figure 00000022
, а на вторые их входы с выхода второго блока памяти 8 значение
Figure 00000023
. На выходе сумматора 5 формируется значение
Figure 00000024
, запоминаемое на первом буферном регистре 11, а на выходе вычитателя 6 - значение
Figure 00000025
, запоминаемое в третьем буферном регистре 13.
В третьем такте сигналы от блока 15 синхронизации, воздействуя на управляющие входы, подключают к выходу первого и второго коммутаторов 3 и 4 вторые их входы. Третий и четвертый блоки 9-10 памяти выполняют нахождение арктангенса от промежуточных аргументов, а сумматор 5 складывает эти результаты, образуя на своем выходе окончательный результат
Figure 00000026
, запоминаемый в регистре 14 результата.
Нормализация значений аргументов х и y, осуществляемая блоком 16 сдвига позволяет увеличить точность вычислений, так как увеличивает количество значащих двоичных разрядов в кодах аргументов. Кроме того, сокращаются погрешности округлений до N двоичных разрядов результатов промежуточных вычислений
Figure 00000027
и
Figure 00000028
. При этом возведении числа в квадрат отбрасывается N младших разрядов произведения, а при извлечении квадратного корня из N-разрядного числа верными являются только половина
Figure 00000029
весомозначных разрядов подкоренной величины.

Claims (1)

  1. Устройство для вычисления функции
    Figure 00000030
    , содержащее регистр аргумента X, регистр аргумента Y, блок синхронизации, сумматор, два коммутатора, три буферных регистра, регистр результата, причем выходы первого и второго коммутаторов соединены с входами первого и второго слагаемых сумматора соответственно, выход которого соединен с информационными входами регистра результата, первого буферного регистра, первый и второй выходы блока синхронизации соединены соответственно с управляющими входами первого и второго коммутаторов, вычитатель, блок памяти значений
    Figure 00000031
    , блок памяти значений квадратного корня, первый и второй блоки памяти значений арктангенса, выходы которых соединены с первыми информационными входами первого и второго коммутаторов соответственно, вторые входы которых соединены с выходами регистра аргумента Y и регистра аргумента X соответственно, третьи информационные входы первого и второго коммутаторов соединены с выходами блока памяти значений
    Figure 00000032
    и второго буферного регистра соответственно, адресный вход блока памяти значений
    Figure 00000032
    соединен с выходом регистра аргумента Y, выходы первого и второго коммутаторов соединены с входами уменьшаемого и вычитаемого вычитателя соответственно, выход которого соединен с информационным входом третьего буферного регистра, выход которого соединен с адресным входом второго блока памяти значений арктангенса, выход сумматора соединен с адресным входом блока памяти значений квадратного корня, выход которого соединен с адресным входом второго буферного регистра, третий, четвертый и пятый выходы блока синхронизации соединены с входами синхронизации соответственно первого, второго и третьего буферных регистров, выход первого буферного регистра соединен с адресным входом первого блока памяти значений арктангенса, отличающийся тем, что в него дополнительно введен блок сдвига, причем его выходы связаны с регистрами первого и второго аргументов X и Y соответственно, а вход каждого из них является входом аргументов X и Y.
RU2017111734A 2017-04-06 2017-04-06 Устройство для вычисления функции arctg y/x RU2642385C1 (ru)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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