• Title/Summary/Keyword: 역수

Search Result 186, Processing Time 0.025 seconds

The improved Goldschmidt floating point reciprocal algorithm (개선한 Goldschmidt 부동소수점 역수 알고리즘)

  • 한경헌;최명용;김성기;조경연
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2004.05b
    • /
    • pp.247-250
    • /
    • 2004
  • Goldschmidt 알고리즘에 의한 부동소수점 1.f2의 역수는 q=NK1K2....Kn (Ki=1+Aj, j=2i)이다. 본 논문에서는 N과 A 값을 1.f2의 값에 따라서 선정하고 Aj의 값이 유효자리수의 반이하 값을 가지면 연산을 종료하는 개선된 Goldschmidt 부동소수점 역수 알고리즘을 제안한다. 1.f2가 1.01012보다 작으면 N=2-1.f2, A=1.f2-1로 하며, 1.01012보다 크거나 같으면 N=2-0.lf2, A=1-0.lf2로 한다. 한편 Goldschmidt 알고리즘은 곱셈을 반복해서 수행하므로 계산 오류가 누적이 된다. 이러한 누적 오류를 감안하면 배정도실수 역수에서는 2-57, 단정도실수 역수에서는 2-28의 유효자리수까지 연산해야 한다. 따라서 Aj가 배정도실수 역수에서는 2-29, 단정도실수 역수에서는 2-14 보다 작아지면 연산을 종료한다. 본 논문에서 제안한 개선한 Goldschmidt 역수 알고리즘은 N=2-0.1f2, A=1-0.lf2로 계산하는 종래 알고리즘과 비교하여 곱셈 연산 회수가 배정도실수 역수는 22%, 단정도실수 역수는 29% 감소하였다. 본 논문의 연구 결과는 테이블을 사용하는 Goldschmidt 역수 알고리즘에 적용해서 연산 시간을 줄일 수 있다.

  • PDF

Quotitive Division and Invert and Multiply Algorithm for Fraction Division (분수 포함제와 제수의 역수 곱하기 알고리즘의 연결성)

  • Yim, Jaehoon
    • Journal of Elementary Mathematics Education in Korea
    • /
    • v.20 no.4
    • /
    • pp.521-539
    • /
    • 2016
  • The structures of partitive and quotitive division of fractions are dealt with differently, and this led to using partitive division context for helping develop invert-multiply algorithm and quotitive division for common denominator algorithm. This approach is unlikely to provide children with an opportunity to develop an understanding of common structure involved in solving different types of division. In this study, I propose two approaches, measurement approach and isomorphism approach, to develop a unifying understanding of fraction division. From each of two approaches of solving quotitive division based on proportional reasoning, I discuss an idea of constructing a measure space, unit of which is a quantity of divisor, and another idea of constructing an isomorphic relationship between the measure spaces of dividend and divisor. These ideas support invert-multiply algorithm for quotitive as well as partitive division and bring proportional reasoning into the context of fraction division. I also discuss some curriculum issues regarding fraction division and proportion in order to promote the proposed unifying understanding of partitive and quotitive division of fractions.

Newton-Raphson's Double Precision Reciprocal Using 32 bit multiplier (32 비트 곱셈기를 사용한 뉴톤-랍손 배정도실수 역수 계산기)

  • Cho, Gyeong-Yeon
    • Journal of Korea Society of Industrial Information Systems
    • /
    • v.18 no.6
    • /
    • pp.31-37
    • /
    • 2013
  • Modern graphic processors, multimedia processors and audio processors mostly use floating-point number. High-level language such as C and Java use both single precision and double precision floating-point number. In this paper, an algorithm which computes the reciprocal of double precision floating-point number using a 32 bit multiplier is proposed. It divides the mantissa of double precision floating-point number to upper part and lower part, and calculates the reciprocal of the upper part with Newton-Raphson algorithm. And it computes the reciprocal of double precision floating-point number with calculated upper part reciprocal as the initial value. Since the number of multiplications performed by the proposed algorithm is dependent on the mantissa of floating-point number, the average number of multiplications per an operation is derived from some reciprocal tables with varying sizes.

Goldschmidt's Double Precision Floating Point Reciprocal Computation using 32 bit multiplier (32 비트 곱셈기를 사용한 골드스미트 배정도실수 역수 계산기)

  • Cho, Gyeong-Yeon
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.15 no.5
    • /
    • pp.3093-3099
    • /
    • 2014
  • Modern graphic processors, multimedia processors and audio processors mostly use floating-point number. Meanwhile, high-level language such as C and Java uses both single-precision and double precision floating-point number. In this paper, an algorithm which computes the reciprocal of double precision floating-point number using a 32 bit multiplier is proposed. It divides the mantissa of double precision floating-point number to upper part and lower part, and calculates the reciprocal of the upper part with Goldschmidt's algorithm, and computes the reciprocal of double precision floating-point number with calculated upper part reciprocal as the initial value is proposed. Since the number of multiplications performed by the proposed algorithm is dependent on the mantissa of floating-point number, the average number of multiplications per an operation is derived from some reciprocal tables with varying sizes.

A Variable Latency Newton-Raphson's Floating Point Number Reciprocal Computation (가변 시간 뉴톤-랍손 부동소수점 역수 계산기)

  • Kim Sung-Gi;Cho Gyeong-Yeon
    • The KIPS Transactions:PartA
    • /
    • v.12A no.2 s.92
    • /
    • pp.95-102
    • /
    • 2005
  • The Newton-Raphson iterative algorithm for finding a floating point reciprocal which is widely used for a floating point division, calculates the reciprocal by performing a fixed number of multiplications. In this paper, a variable latency Newton-Raphson's reciprocal algorithm is proposed that performs multiplications a variable number of times until the error becomes smaller than a given value. To find the reciprocal of a floating point number F, the algorithm repeats the following operations: '$'X_{i+1}=X=X_i*(2-e_r-F*X_i),\;i\in\{0,\;1,\;2,...n-1\}'$ with the initial value $'X_0=\frac{1}{F}{\pm}e_0'$. The bits to the right of p fractional bits in intermediate multiplication results are truncated, and this truncation error is less than $'e_r=2^{-p}'$. The value of p is 27 for the single precision floating point, and 57 for the double precision floating point. Let $'X_i=\frac{1}{F}+e_i{'}$, these is $'X_{i+1}=\frac{1}{F}-e_{i+1},\;where\;{'}e_{i+1}, is less than the smallest number which is representable by floating point number. So, $X_{i+1}$ is approximate to $'\frac{1}{F}{'}$. Since the number of multiplications performed by the proposed algorithm is dependent on the input values, the average number of multiplications per an operation is derived from many reciprocal tables $(X_0=\frac{1}{F}{\pm}e_0)$ with varying sizes. The superiority of this algorithm is proved by comparing this average number with the fixed number of multiplications of the conventional algorithm. Since the proposed algorithm only performs the multiplications until the error gets smaller than a given value, it can be used to improve the performance of a reciprocal unit. Also, it can be used to construct optimized approximate reciprocal tables. The results of this paper can be applied to many areas that utilize floating point numbers, such as digital signal processing, computer graphics, multimedia scientific computing, etc.

On the Method of Using 1÷(divisor) in Quotitive Division for Comprehensive Understanding of Division of Fractions (분수 나눗셈의 통합적 이해를 위한 방편으로서 포함제에서 1÷(제수)를 매개로 하는 방법에 대한 고찰)

  • Yim, Jaehoon
    • Journal of Elementary Mathematics Education in Korea
    • /
    • v.22 no.4
    • /
    • pp.385-403
    • /
    • 2018
  • Fraction division can be categorized as partitive division, measurement division, and the inverse of a Cartesian product. In the contexts of quotitive division and the inverse of a Cartesian product, the multiply-by-the-reciprocal algorithm is drawn well out. In this study, I analyze the potential and significance of the method of using $1{\div}$(divisor) as an alternative way of developing the multiply-by-the-reciprocal algorithm in the context of quotitive division. The method of using $1{\div}$(divisor) in quotitive division has the following advantages. First, by this method we can draw the multiply-by-the-reciprocal algorithm keeping connection with the context of quotitive division. Second, as in other contexts, this method focuses on the multiplicative relationship between the divisor and 1. Third, as in other contexts, this method investigates the multiplicative relationship between the divisor and 1 by two kinds of reasoning that use either ${\frac{1}{the\;denominator\;of\;the\;divisor}}$ or the numerator of the divisor as a stepping stone. These advantages indicates the potential of this method in understanding the multiply-by-the-reciprocal algorithm as the common structure of fraction division. This method is based on the dual meaning of a fraction as a quantity and the composition of times which the current elementary mathematics textbook does not focus on. It is necessary to pay attention to how to form this basis when developing teaching materials for fraction division.

  • PDF

Implementation of a pipelined Scalar Multiplier using Extended Euclid Algorithm for Elliptic Curve Cryptography(ECC) (확장 유클리드 알고리즘을 이용한 파이프라인 구조의 타원곡선 암호용 스칼라 곱셈기 구현)

  • 김종만;김영필;정용진
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.11 no.5
    • /
    • pp.17-30
    • /
    • 2001
  • In this paper, we implemented a scalar multiplier needed at an elliptic curve cryptosystem over standard basis in $GF(2^{163})$. The scalar multiplier consists of a radix-16 finite field serial multiplier and a finite field inverter with some control logics. The main contribution is to develop a new fast finite field inverter, which made it possible to avoid time consuming iterations of finite field multiplication. We used an algorithmic transformation technique to obtain a data-independent computational structure of the Extended Euclid GCD algorithm. The finite field multiplier and inverter shown in this paper have regular structure so that they can be easily extended to larger word size. Moreover they can achieve 100% throughput using the pipelining. Our new scalar multiplier is synthesized using Hyundai Electronics 0.6$\mu\textrm{m}$ CMOS library, and maximum operating frequency is estimated about 140MHz. The resulting data processing performance is 64Kbps, that is it takes 2.53ms to process a 163-bit data frame. We assure that this performance is enough to be used for digital signature, encryption & decryption and key exchange in real time embedded-processor environments.

An Improved Newton-Raphson's Reciprocal and Inverse Square Root Algorithm (개선된 뉴톤-랍손 역수 및 역제곱근 알고리즘)

  • Cho, Gyeong-Yeon
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.11 no.1
    • /
    • pp.46-55
    • /
    • 2007
  • The Newton-Raphson's algorithm for finding a floating point reciprocal and inverse square root calculates the result by performing a fixed number of multiplications. In this paper, an improved Newton-Raphson's algorithm is proposed, that performs multiplications a variable number. Since the number of multiplications performed by the proposed algorithm is dependent on the input values, the average number of multiplications per an operation is derived from many reciprocal and inverse square tables with varying sizes. The superiority of this algorithm is proved by comparing this average number with the fixed number of multiplications of the conventional algorithm. Since the proposed algorithm only performs the multiplications until the error gets smaller than a given value, it can be used to improve the performance of a reciprocal and inverse square root unit. Also, it can be used to construct optimized approximate tables. The results of this paper can be applied to many areas that utilize floating point numbers, such as digital signal processing, computer graphics, multimedia, scientific computing, etc.

A Variable Latency Newton-Raphson's Floating Point Number Reciprocal Square Root Computation (가변 시간 뉴톤-랍손 부동소수점 역수 제곱근 계산기)

  • Kim Sung-Gi;Cho Gyeong-Yeon
    • The KIPS Transactions:PartA
    • /
    • v.12A no.5 s.95
    • /
    • pp.413-420
    • /
    • 2005
  • The Newton-Raphson iterative algorithm for finding a floating point reciprocal square mot calculates it by performing a fixed number of multiplications. In this paper, a variable latency Newton-Raphson's reciprocal square root algorithm is proposed that performs multiplications a variable number of times until the error becomes smaller than a given value. To find the rediprocal square root of a floating point number F, the algorithm repeats the following operations: '$X_{i+1}=\frac{{X_i}(3-e_r-{FX_i}^2)}{2}$, $i\in{0,1,2,{\ldots}n-1}$' with the initial value is '$X_0=\frac{1}{\sqrt{F}}{\pm}e_0$'. The bits to the right of p fractional bits in intermediate multiplication results are truncated and this truncation error is less than '$e_r=2^{-p}$'. The value of p is 28 for the single precision floating point, and 58 for the double precision floating point. Let '$X_i=\frac{1}{\sqrt{F}}{\pm}e_i$, there is '$X_{i+1}=\frac{1}{\sqrt{F}}-e_{i+1}$, where '$e_{i+1}{<}\frac{3{\sqrt{F}}{{e_i}^2}}{2}{\mp}\frac{{Fe_i}^3}{2}+2e_r$'. If '$|\frac{\sqrt{3-e_r-{FX_i}^2}}{2}-1|<2^{\frac{\sqrt{-p}{2}}}$' is true, '$e_{i+1}<8e_r$' is less than the smallest number which is representable by floating point number. So, $X_{i+1}$ is approximate to '$\frac{1}{\sqrt{F}}$. Since the number of multiplications performed by the proposed algorithm is dependent on the input values, the average number of multiplications Per an operation is derived from many reciprocal square root tables ($X_0=\frac{1}{\sqrt{F}}{\pm}e_0$) with varying sizes. The superiority of this algorithm is proved by comparing this average number with the fixed number of multiplications of the conventional algorithm. Since the proposed algorithm only performs the multiplications until the error gets smaller than a given value, it can be used to improve the performance of a reciprocal square root unit. Also, it can be used to construct optimized approximate reciprocal square root tables. The results of this paper can be applied to many areas that utilize floating point numbers, such as digital signal processing, computer graphics, multimedia, scientific computing, etc.