• 제목/요약/키워드: 역수 알고리즘

검색결과 37건 처리시간 0.029초

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

  • 한경헌;최명용;김성기;조경연
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2004년도 춘계종합학술대회
    • /
    • 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)

  • 임재훈
    • 한국초등수학교육학회지
    • /
    • 제20권4호
    • /
    • pp.521-539
    • /
    • 2016
  • 피제수와 제수가 분수인 나눗셈에서, 포함제는 공통분모 알고리즘과 등분제는 제수의 역수 곱하기 알고리즘과 대응한다고 여겨져 왔다. 분수 나눗셈 학습 지도에서 이와 같은 이분법을 넘어서려는 시도가 있어 왔다. 이러한 시도에서 포함제와 제수의 역수 곱하기 알고리즘을 연결하는 방법으로는, 공통분모 알고리즘을 이용하는 방법, $1{\div}$(제수)를 매개로 하는 방법, 제수 쪽의 양을 1이라고 가정하는 방법이 있다. 기존의 방법들에서 포함제와 제수의 역수 곱하기 알고리즘의 관련은 중간까지만 유지되거나 제수의 역수 곱하기 알고리즘이라는 최종 결과만 등분제와 공유한다. 이 논문에서는 기존 방법의 한계를 넘어, 포함제와 제수의 역수 곱하기 알고리즘의 연결성을 새로운 관점에서 심층 논의한다. 포함제를 측정접근법과 동형접근법으로 해결하는 과정에서 등분제에서와 동일한 수식 변형 과정을 거쳐 제수의 역수 곱하기 알고리즘이 유도될 수 있다. 이 연구의 결과는, 분수 나눗셈 계산법 학습 지도에 관한 이론적 논의의 장을 확장함과 더불어, 포함제와 등분제를 아우르는 분수 나눗셈의 통합 계산법 학습 지도 프로그램 개발에 국소 이론으로 사용될 수 있다.

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

  • 조경연
    • 한국산업정보학회논문지
    • /
    • 제18권6호
    • /
    • pp.31-37
    • /
    • 2013
  • 최근 그래픽 프로세서, 멀티미디어 프로세서, 음성처리 프로세서 등에서 부동소수점이 주로 사용된다. C, Java 등 고급언어에서는 단정도실수와 배정도실수를 사용하고 있다. 본 논문에서는 32 비트 곱셈기를 사용하여 배정도실수의 역수를 계산하는 알고리즘을 제안한다. 배정도 실수 가수를 상위 부분과 하위 부분으로 나누고, 상위 부분의 역수를 뉴턴-랍손 알고리즘으로 계산한다. 그리고 이를 초기값으로 하여 배정도실수의 역수를 계산한다. 제안한 알고리즘은 입력값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 유도하고, 여러 크기의 근사 역수 테이블에서 평균 곱셈 횟수를 계산한다.

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

  • 조경연
    • 한국산학기술학회논문지
    • /
    • 제15권5호
    • /
    • pp.3093-3099
    • /
    • 2014
  • 최근 그래픽 프로세서, 멀티미디어 프로세서, 음성처리 프로세서 등에서 부동소수점이 주로 사용된다. 한편 C, Java 등 고급언어에서는 단정도실수와 배정도실수를 사용하고 있다. 본 논문에서는 32비트 곱셈기를 사용하여 배정도실수의 역수를 계산하는 알고리즘을 제안한다. 배정도실수 가수를 상위 부분과 하위 부분으로 나누고, 상위 부분의 역수를 골드스미스 알고리즘으로 계산하고, 이를 초기값으로 하여 배정도실수의 역수를 계산하는 알고리즘을 제안한다. 제안한 알고리즘은 입력값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 유도하고, 여러 크기의 근사 역수 테이블에서 평균곱셈 횟수를 계산한다.

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

  • 조경연
    • 한국정보통신학회논문지
    • /
    • 제11권1호
    • /
    • pp.46-55
    • /
    • 2007
  • 다음은 부동소수점 역수 및 역제곱근 계산에 많이 사용하는 뉴톤-랍손 알고리즘은 일정한 횟수의 곱셈을 반복하여 계산한다. 본 논문에서는 뉴톤-랍손 알고리즘의 반복 과정의 오차를 예측하여 오차가 정해진 값보다 작아지는 시점까지 반복 연산하는 개선된 뉴톤-랍손 알고리즘을 제안한다. 본 논문에서 제안한 알고리즘은 입력 값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 유도하고, 여러 크기의 근사 테이블에서 단정도실수 및 배정도실수의 역수 및 역제곱근 계산에 필요한 평균 곱셈 횟수를 산출한다. 이들 평균 곱셈 횟수를 종래 알고리즘과 비교하여 본 논문에서 제안한 알고리즘의 우수성을 증명한다. 본 논문에서 제안한 알고리즘은 오차가 일정한 값보다 작아질 때까지만 반복 연산을 수행하므로 역수 및 역제곱근 계산기의 성능을 높일 수 있고 최적의 근사 테이블을 구성할 수 있다. 본 논문의 연구 결과는 디지털 신호처리, 컴퓨터 그라픽스, 멀티미디어, 과학 기술 연산 등 부동소수점 계산기가 사용되는 분야에서 폭 넓게 사용될 수 있다.

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

  • 임재훈
    • 한국초등수학교육학회지
    • /
    • 제22권4호
    • /
    • pp.385-403
    • /
    • 2018
  • 분수 나눗셈의 여러 맥락 중 등분제와 카테시안 곱의 역 맥락에서는 제수의 역수 곱하기 알고리즘이 자연스럽게 유도된다. 그러므로 제수의 역수 곱하기 알고리즘을 분수 나눗셈의 통합 알고리즘으로 지도하고자 할 때 특히 이슈가 되는 것은 포함제 맥락이다. 이 논문에서는 포함제 맥락에서 $1{\div}$(제수)를 매개로 하는 방법이 지닌 잠재력 및 그 기반을 분석하고, 이 방법을 제수의 역수 곱하기 알고리즘을 분수 나눗셈의 통합 알고리즘으로 지도하려 할 때 고려할 수 있는 한 대안으로 제안한다. 포함제 맥락에서 $1{\div}$(제수)를 매개로 하여 제수의 역수 곱하기 알고리즘을 유도하는 방법은 다음과 같은 특징을 지니고 있다. 첫째, 포함제 맥락에서 맥락과의 연결성을 유지한 채로 제수의 역수 곱하기 알고리즘을 유도할 수 있다. 둘째, 다른 맥락들에서와 마찬가지로, 제수와 1의 곱셈적 관계에 주목한다. 셋째, 다른 맥락들에서와 마찬가지로, 제수와 1의 곱셈적 관계를 1/제수의 분모을 징검다리로 삼는 추론과 제수의 분자를 징검다리로 삼는 두 가지 추론으로 파악한다. 이러한 특징은 이 방법이 제수의 역수 곱하기 알고리즘을 분수 나눗셈의 공통 구조를 담고 있는 통합 알고리즘으로 다루는 데 기여할 수 있음을 시사한다. 한편, 이 방법은 양분수의 이중적 의미와 배의 합성을 그 기반으로 한다. 분수 나눗셈의 통합적 이해를 지향하는 교재 개발 및 수업 연구에서는 이 기반의 형성에 유의할 필요가 있다.

  • PDF

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

  • 김성기;조경연
    • 정보처리학회논문지A
    • /
    • 제12A권2호
    • /
    • pp.95-102
    • /
    • 2005
  • 부동소수점 나눗셈에서 많이 사용하는 뉴톤-랍손 부동소수점 역수 알고리즘은 일정한 횟수의 곱셈을 반복하여 역수를 계산한다. 본 논문에서는 오차가 정해진 값보다 작아질 때까지 곱셈을 반복해서 역수를 계산하는 가변 시간 뉴톤-랍손 부동소수점 역수 알고리즘을 제안한다. 'F'의 역수 계산은 초기값 $'X_0=\frac{1}{F}{\pm}e_0'$에 대하여, $'X_{i+1}=X=X_i*(2-e_r-F*X_i),\;i\in\{0,\;1,\;2,...n-1\}'$을 반복한다. 중간 곱셈 견과는 소수점 이하 p비트 미만을 절삭하며, 절삭 오차는 $'e_r=2^{-p}'$보다 작다. p는 단정도실수에서 27, 배정도실수에서 57이다. $'X_i=\frac{1}{F}+e_i{'}$라 하면 $'X_{i+1}=\frac{1}{F}-e_{i+1},\;e_{i+1}이 된다. $'\mid(2-e_r-F*X_i)-1\mid<2^{\frac{-p+2}{2}}{'}이면, $'e_{i+1}<4e_r{'}$이 부동산소수점으로 표현 가능한 최소값보다 작이지며, $'X_{i+1}\fallingdotseq\frac{1}{F}'$이다. 본 논문에서 제안한 알고리즘은 입력 값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 유도하고, 여러 크기의 근사 역수 테이블$(X_0=\frac{1}{F}{\pm}e_0)$에서 단정도실수 및 배정도실수의 역수 계산에 필요한 평균 곱셈 횟수를 계산한다. 이들 평균 곱셈 횟수를 종래 알고리즘과 비교하여 본 논문에서 제안한 알고리즘의 우수성을 증명한다. 본 논문에서 제안한 알고리즘은 오차가 일정한 값보다 작아질 때까지만 반복 연산을 수행하므로 역수 계산기의 성능을 높일 수 있다. 또한 최적의 근사 역수 테이블을 구성할 수 있다. 본 논문의 연구 결과는 디지털 신호처리, 컴퓨터 그라픽스, 멀티미디어, 과학 기술 연산 등 부동소수점 계산기가 사용되는 분야에서 폭 넓게 사용될 수 있다.

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

  • 김성기;조경연
    • 정보처리학회논문지A
    • /
    • 제12A권5호
    • /
    • pp.413-420
    • /
    • 2005
  • 부동소수점 제곱근 계산에 많이 사용하는 뉴톤-랍손 부동소수점 역수 제곱근 알고리즘은 일정한 횟수의 곱셈을 반복하여 역수 제곱근을 계산한다. 본 논문에서는 뉴톤-랍손 역수 제곱근 알고리즘의 반복 과정의 오차를 예측하여 오차가 정해진 값보다 작아지는 시점까지 반복 연산하는 알고리즘을 제안한다. `F`의 역수 제곱근 계산은 초기값 '$X_0={\frac{1}{\sqrt{F}}}{\pm}e_0$'에 대하여, '$X_{i+1}=\frac{{X_i}(3-e_r-{FX_i}^2)}{2}$, $i\in{0,1,2,{\ldots}n-1}$'을 반복한다. 중간 곱셈 결과는 소수점 이하 p 비트 미만을 절삭하며, 절삭 오차는 '$e_r=2^{-p}$' 보다 작다. p는 단정도실수에서 28, 배정도실수에서 58이다. '$X_i={\frac{1}{\sqrt{F}}}{\pm}e_i$'라고 하면 '$X_{i+1}={\frac{1}{\sqrt{F}}}-e_{i+1}$, $e_{i+1}{<}{\frac{3{\sqrt{F}}{{e_i}^2}}{2}}{\mp}{\frac{{Fe_i}^3}{2}}+2e_r$이 된다. '$|{\frac{\sqrt{3-e_r-{FX_i}^2}}{2}}-1|<2^{\frac{\sqrt{-p}{2}}}$'이면,'$e_{i+1}<8e_r$이 부동소수점으로 표현 가능한 최소값보다 작아지며, '$X_{i+1}\fallingdotseq{\frac{1}{\sqrt{F}}}$'이다. 본 논문에서 제안한 알고리즘은 입력 값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 도출하고, 여러 크기의 근사 역수 제곱근 테이블($X_0={\frac{1}{\sqrt{F}}}{\pm}e_0$)에서 단정도실수 및 배정도실수의 역수 제곱근 계산에 필요한 평균 곱셈 횟수를 계산한다 이들 평균 곱셈 횟수를 종래 알고리즘과 비교하여 본 논문에서 제안한 알고리즘의 우수성을 증명한다. 본 논문에서 제안한 알고리즘은 오차가 일정한 값보다 작아질 때까지만 반복하므로 역수 제곱근 계산기의 성능을 높일 수 있다. 또한 최적의 근사 역수 제곱근 테이블을 구성할 수 있다. 본 논문의 연구 결과는 디지털 신호처리, 컴퓨터 그라픽스, 멀티미디어, 과학 기술 연산 등 부동소수점 계산기가 사용되는 분야에서 폭 넓게 사용될 수 있다.

개선된 역수연산에서의 멀티 쉬프팅 알고리즘 (Modified Multi-bit Shifting Algorithm in Multiplication Inversion Problems)

  • 장인주;유형선
    • 한국전자거래학회지
    • /
    • 제11권2호
    • /
    • pp.1-11
    • /
    • 2006
  • 본 논문에서는 멀티 쉬프팅 기법을 이용한 효율적인 유한체의 역수 연산 알고리즘을 제안하고 있다. 연산 알고리즘의 효율성은 사용하는 기저에 따라 영향이 있음이 많은 선행 연구를 통해 알려져 왔으며, 보편적으로 다항식 기저와 최적 다항식 기저를 사용하여 연구하였다. 본 연구에서는 몽고메리 알고리즘에 바탕을 둔 멀티비트 쉬프팅 기법을 수정하고 구현하였다. 역수 연산을 수행하기 위해 본 연구에서 사용한 기약 다항식타입은 AOP와 3항식 이며, 수행 결과 26%까지의 성능향상을 보였다. 본 논문에서 제안한 알고리즘은 구현이 쉽고, 다양한 분야에서 응용이 가능하다.

  • PDF

개선된 역수 알고리즘을 사용한 정수 나눗셈기 (The Integer Number Divider Using Improved Reciprocal Algorithm)

  • 송홍복;박창수;조경연
    • 한국정보통신학회논문지
    • /
    • 제12권7호
    • /
    • pp.1218-1226
    • /
    • 2008
  • 반도체 집적 기술의 발달과 컴퓨터에서 멀티미디어 기능의 사용이 많아지면서 보다 많은 기능들이 하드웨어로 구현되기를 원하는 요구가 증가되고 있다. 그래서 현재 사용되는 대부분의 32 비트 마이크로프로세서는 정수 곱셈기를 하드웨어로 구현하고 있다. 그러나 나눗셈기는 기존의 알고리즘인 SRT 알고리즘의 방식이 하드웨어 구현상의 복잡도와 느린 동작 속도로 인해 특정 마이크로프로세서에 한해서만 하드웨어로 구현되고 있다. 본 논문에서는 'w bit $\times$ w bit = 2w bit' 곱셈기를 사용하여 $\frac{N}{D}$ 정수 나눗셈을 수행하는 알고리즘을 제안한다. 즉, 제수 D 의 역수를 구하고 이를 피제수 N 에 곱해서 정수 나눗셈을 수행한다. 본 논문에서는 제수 D 가 '$D=0.d{\times}2^L$, 0.5<0.d<1.0'일 때, '$0.d{\times}1.g=1+e$, $e<2^{-w}$'가 되는 '$\frac{1}{D}$'의 근사 값 '$1.g{\times}2^{-L}$'을 가칭 상역수라고 정의하고, 상역수를 구하는 알고리즘을 제안하고, 이렇게 구한 상역수 '$1.g{\times}2^{-L}$'을 피제수 N에 곱하여 $\frac{N}{D}$ 정수 나눗셈을 수행한다. 제안한 알고리즘은 정확한 역수를 계산하기 때문에 추가적인 보정이 요구되지 않는다. 본 논문에서 제안하는 알고리즘은 곱셈기만을 사용하므로 마이크로프로세서를 구현할 때 나눗셈을 위한 추가적인 하드웨어가 필요 없다. 그리고 기존 알고리즘인 SRT 방식에 비해 빠른 동작속도를 가지며, 워드 단위로 연산을 수행하기 때문에 기존의 나눗셈 알고리즘보다 컴파일러 작성에도 적합하다. 따라서, 본 논문의 연구 결과는 마이크로프로세서 및 하드웨어 크기에 제한적인 SOC(System on Chip) 구현 등에 폭넓게 사용될 수 있다.