KR20070014888A - 제곱근 계산 장치 및 방법 - Google Patents
제곱근 계산 장치 및 방법 Download PDFInfo
- Publication number
- KR20070014888A KR20070014888A KR1020050069881A KR20050069881A KR20070014888A KR 20070014888 A KR20070014888 A KR 20070014888A KR 1020050069881 A KR1020050069881 A KR 1020050069881A KR 20050069881 A KR20050069881 A KR 20050069881A KR 20070014888 A KR20070014888 A KR 20070014888A
- Authority
- KR
- South Korea
- Prior art keywords
- square root
- value
- linear
- integer
- approximator
- 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/552—Powers or roots, e.g. Pythagorean sums
- G06F7/5525—Roots or inverse roots of single operands
-
- 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/52—Multiplying; Dividing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 제곱근 계산 장치 및 방법에 관한 것으로, 특히 부동 소숫점(fixed point)을 사용하는 입력 신호에 대한 제곱근(square root)을 산출하는 장치 및 방법에 관한 것이다.
본 발명의 실시 예에 따른 제곱근 계산 장치는 입력되는 데이터에 대한 제곱근을 산출하는 제곱근 장치에 있어서, 임의의 입력 값을 수신하고, 짝수의 정수값(m)을 수신하여 선형 근사 방법에 의해서 제곱근을 연산하여 출력하는 제1 선형 제곱근 근사기와, 임의의 입력 값을 수신하고, 홀수의 정수값(m)을 수신하여 선형 근사 방법에 의해서 제곱근을 연산하여 출력하는 제2 선형 제곱근 근사기와, 임의의 입력 값을 수신하여 임의의 정수값(m)을 검출한 후, 상기 제1 선형 제곱근 근사기와 제2 선형 제곱근 근사기로 각각 출력하는 정수값 검출부와, 상기 정수값 검출부에서 출력된 값이 짝수 또는 홀수인지에 따라 상기 선형 제곱근 근사기의 값이 각각 출력될 수 있도록 제어하는 제어부와, 상기 제어부의 제어하에, 상기 선형 제곱근 근사기들의 값 중 하나를 출력하는 먹스(MUX)를 포함함을 특징으로 한다.
제곱근, 정수, 오차, 소수점
Description
도 1은 본 발명의 실시 예에 따른 제곱근 계산 장치의 블록 구성도,
도 2는 본 발명에 따른 제곱근 계산 방식을 설명하기 위한 도,
도 3은 본 발명의 실시 예에 따른 m 값 검출 장치의 블록 구성도,
도 4는 본 발명의 실시 예에 따른 제곱근 계산 장치의 제어 흐름도,
도 5a는 본 발명의 실시 예에 따라 m 이 짝수인 경우, 선형적 근사화된 제곱근 계산 장치의 블록 구성도,
도 5b는 본 발명의 실시 예에 따라 m이 홀수인 경우, 선형적 근사화된 제곱근 계산 장치의 블록 구성도,
도 6은 본 발명의 다른 실시 예에 따른 제곱근 계산 장치의 블록 구성도,
도 7은 본 발명의 실시 예에 따른 제곱근 계산 방식과 실제 제곱근과의 차이를 도시한 도,
도 8은 본 발명의 실시 예에 따른 제곱근 계산 방식과 실제 제곱근과의 정규화된 오차 제곱 그래프,
도 9는 본 발명의 실시 예에 따른 floor(z) 함수와 ceil(z)함수의 특성 곡선을 나타낸 도.
본 발명은 제곱근 계산 장치 및 방법에 관한 것으로, 특히 입력 신호에 대한 제곱근을 계산하는 장치 및 방법에 관한 것이다.
일반적으로 제곱근은 제곱하여 a가 되는 수를 a의 제곱근이라 한다. 실수 a와 자연수 n에 대하여 xn=a를 만족시키는 x가 존재할 때, 이것을 a의 n제곱근이라 하고, n=2일 경우를 제곱근이라고 한다. 양의 실수로서 a의 n제곱근이 되는 것을 √a로 나타낸다. √를 근호 또는 루트라 하며, 루트의 왼쪽 윗부분에 쓴 자연수 n을 근지수라고 한다. 제곱근의 경우는 근지수를 생략한다. 또한, a의 제곱근의 범위는 a>0 이면 절대값이 같은 양, 음의 두 수가 존재하며, 그 중 양인 것을 √a , 음인 것을 - √a 로 나타낸다. 즉, a 의 제곱근은 ±√a 이다. a=0이면 a의 제곱근은 0뿐이다. a<0일 때에는 a의 제곱근은 2 개 있지만, 모두 허수이다. 일반적으로 a≥0일 때 √a ≥0이므로, 임의의 실수 a에 대하여 하기 <수학식 1>과 같이 성립된다.
상기와 같은 제곱근을 계산하는 제곱근 계산 장치는 하드웨어 로직의 구현시, 대단히 넓은 범위에서 자주 사용되는 블록 중에 하나이다. 예를 들어, 상기 제곱근 계산 장치는 이동통신 시스템 뿐만 아니라 디지털 시스템에서 제곱근 연산이 필요한 경우, 이동 단말에서 수신 신호의 전력값으로부터 그 크기를 계산하고자 할 경우, 이동 단말에서 각종 분산값으로부터 표준편차 값을 계산하는 경우에 적용된다.
종래의 제곱근 계산 방식은 크게 두 가지로 구분된다. 첫 번째 제곱근 계산 방식은 참조 테이블(look-up table)을 사용하는 방식으로 입력 신호값 x의 범위를 결정하고, 그 범위 내에서의 x에 대한 제곱근을 상기 참조 테이블에 저장하여 출력하는 방식이다. 이와 같은 방식에서는 입력 신호값의 비트 수를 주소(address)로 하는 ROM(Read Only Memory) 테이블을 사용하며, 기 저장된 제곱근 값을 출력하는 방식을 사용한다.
그러나, 상기 참조 테이블을 사용하는 제곱근 계산 방식은 입력 신호값의 비트 수가 커질수록 제곱근 값을 저장하는 ROM 크기가 기하급수적으로 증가(exponential increase)하는 문제점이 있다. 즉, 입력 비트수가 1 비트 증가하면 ROM 크기는 두 배씩 증가한다. 예를 들어 입력 비트 수를 m 비트, 출력 비트 수를 n 비트라고 하면 제곱근을 저장하기 위한 메모리는 비트의 크기가 필요하다. 따라서, 입력 값의 범위가 큰 경우에는 상기 방식을 사용하기 어렵다.
두 번째 제곱근 계산 방식은 반복 연산(iteration)을 사용하여 제곱근을 계 산하는 방법이다. 즉, 입력 신호값 x와 출력 신호값 y 사이의 오차가 감소하도록 반복적으로 가감함으로써 y의 값이 실제 제곱근 값에 근접하도록 하는 방식이다.
그러나, 반복 연산을 사용하는 제곱근 계산 방식은 고속의 연산을 수행해야 하는 경우 적용하기 어렵다. 또한, 제곱근 계산시, 입력 신호값에 대하여 반복 연산을 수행하는 만큼 제곱근 값에 근접하는 값을 출력할 수 있으나 여러 번의 연산을 수행해야 하므로 전력 소모량이 증가되는 문제점이 있다.
따라서 본 발명의 목적은 제곱근의 근사값을 계산하는 제곱근 계산 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 별도의 메모리를 사용하지 않고 고속의 제곱근 계산을 수행할 수 있는 제곱근 계산 장치 및 방법을 제공함에 있다.
본 발명의 실시 예에 따른 제곱근 계산 장치는 입력되는 데이터에 대한 제곱근을 산출하는 제곱근 장치에 있어서, 임의의 입력 값을 수신하고, 짝수의 정수값(m)을 수신하여 선형 근사 방법에 의해서 제곱근을 연산하여 출력하는 제1 선형 제곱근 근사기와, 임의의 입력 값을 수신하고, 홀수의 정수값(m)을 수신하여 선형 근사 방법에 의해서 제곱근을 연산하여 출력하는 제2 선형 제곱근 근사기와, 임의의 입력 값을 수신하여 임의의 정수값(m)을 검출한 후, 상기 제1 선형 제곱근 근사기와 제2 선형 제곱근 근사기로 각각 출력하는 정수값 검출부와, 상기 정수값 검출부에서 출력된 값이 짝수 또는 홀수인지에 따라 상기 선형 제곱근 근사기의 값이 각 각 출력될 수 있도록 제어하는 제어부와, 상기 제어부의 제어하에, 상기 선형 제곱근 근사기들의 값 중 하나를 출력하는 먹스(MUX)를 포함함을 특징으로 한다.
하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 따른 제곱근 계산 장치는 도 1을 참조하여 설명한다. 입력 값 x가 입력되면, 제1 선형 제곱근 근사기(110), 제2 선형 제곱근 근사기(120), m값 검출부(140)로 입력된다.
상기 제1 선형 제곱근 근사기(110)와 제2 선형 제곱근 근사기(120)는 선형적 근사 방식에 의해서 제곱근을 계산한다. 입력 신호값 x 에 대한 제곱근을 구하기 위하여 먼저 x 보다 작거나 같은 a와 x 보다 큰 b를 구한다. 그러면, x의 제곱근은 단조 증가 함수이므로 도 2에 도시한 바와 같이 a의 제곱근과 b의 제곱근 사이에 존재하게 되며 하기 <수학식 2>와 같이 선형적 근사 방법에 의하여 계산이 가능하다.
본 발명에서는 상기 a, b의 값으로 2의 거듭 제곱값을 사용한다. 즉, 입력 신호 x 에 대한 제곱값을 구하기 위하여 을 만족하는 정수값 m 을 구한다(이때, m >= 0). 정수값 m은 도 3과 같은 m값 검출 장치(이하, 'm 값 검출부'라 칭함)를 통해서 검출된다.
상기 m 값 검출부(140)는 m 값을 검출한다. 상기 m 값 검출부(140)에서 검출된 m 값이 제1 선형 제곱근 근사기(110), 제2 선형 제곱근 근사기(120)에 입력된다.
상기 m 값 검출부(140)는 도 3을 참조하여 설명하면 다음과 같다. 입력값 x가 Non-zero MSB(non-zero MSB(Most Significant Bit)) 검출부(300)에 입력되면, 상기 Non-zero MSB 검출부(300)는 입력 x의 0 이 아닌 MSB 값을 검출하여 출력한 다. 상기 출력값은 a 값 검출부(310)와 Non-zero MSB 위치 검출부(320)로 분기된다.
반면에, 상기 Non-zero MSB 위치 검출부(320)에서는 m 을 출력한다. 즉, 상기 Non-zero MSB 위치 검출부(320)는 입력 x의 0이 아닌 MSB의 위치를 검출하여 m값을 출력한다.
즉, 정수값 m을 구하기 위해 입력 값 x를 이진수로 표현했을 때 0이 아닌 MSB만을 남기고 다른 자리의 비트는 모두 0으로 바꾸면 m을 얻을 수 있다. 예를 들어, x 를 '0b00010101'이라고 한다면 m 은 '0b00010000'이 된다.
그런데, 상기 <수학식 3>을 구현하게 되면 m이 홀수(odd)인 경우, 연산은 단순한 비트 이동 연산이 아니며 √2를 추가적으로 처리해야 하기 때문에 복잡하다. 따라서, 상기 <수학식 3>에서의 연산을 보다 간단하게 구현하기 위하여 m 이 홀수(odd)인 경우와 짝수(even)인 경우로 구분하여 계산하면 <수학식 4> 및 <수학식 5>와 같이 비트 이동 연산만을 포함하는 수학식으로 변경 가능하다. 하기 <수학식 4>에서 m은 2q로, <수학식 5>에서 m은 2q+1로 정의한다. 또한, q는 0 이상인 정수로 정의한다.
상기 제1 선형 제곱근 근사기(110)는 상기 <수학식 4>과 같은 연산을 수행하고, 상기 제2 선형 제곱근 근사기(120)는 상기 <수학식 5>와 같은 연산을 수행한다.
제어부(150)는 m값 검출부(140)에서 출력된 m값이 홀수인지 짝수인지를 판단하여 상기 m값이 짝수일 경우, 상기 제1 선형 제곱근 근사기(110)에서 연산된 값이 출력될 수 있도록 먹스(MUX)(130)를 제어한다.
또한, 제어부(150)는 m 값 검출부(140)에서 출력된 m값이 홀수일 경우, 상기 제2 선형 제곱근 근사기(120)에서 연산된 값이 출력될 수 있도록 먹스(130)를 제어한다.
상기 먹스(130)는 상기 제어부(150)의 제어 하에, 상기 제1 선형 제곱근 제어기(110) 또는 상기 제2 선형 제급근 제어기(120)에서 연산된 값을 출력한다.
상기와 같은 구성을 갖는 제곱근 계산 장치에서의 동작을 도 4의 순서도를 참조하여 다시 설명하기로 한다.
먼저, 401 단계에서, m값 검출부(140)는 m값을 검출하여 출력한다. 그러면, 제어부(150)는 402 단계에서 상기 m값 검출부(140)에서 검출된 m 값이 짝수인가를 판단한다. 만약, m 값이 짝수일 경우, 제어부(150)는 403 단계에서 상기 제1 선형 제곱근 근사기(110)에서 연산된 값이 출력될 수 있도록 먹스(MUX)(130)를 제어한다.
그러나, m 값이 홀수일 경우, 제어부(150)는 404 단계에서 상기 제2 선형 제곱근 근사기(120)에서 연산된 값이 출력될 수 있도록 먹스(130)를 제어한다.
한편, 상기 <수학식 4>과 <수학식 5>에서의 2- √2와 √2-1의 상수 연산은 복잡하다. 복잡한 연산을 간단하게 수행하기 위해서 도 5와 같은 제곱근 계산 장치를 제안한다.
우선, <수학식 4>과 <수학식 5>에서 √2-1를 c로, 2-√2를 d로 정의한다.
도 5a를 참조하면, 짝수인 m 값이 제2 오른쪽 이동기(제2 Right-Shift)(504)로 입력된다. 그러면, 상기 제2 오른쪽 이동기(504)는 입력된 m을 1 비트 만큼 오른쪽으로 이동한다. 즉, 입력된 m을 2로 나누어 q가 출력되도록 한다. 상기 출력된 q는 제1 오른쪽 이동기(제1 Right-Shift)(502)와 제1 왼쪽 이동기(제1 Left-Shift)(503)로 입력된다.
한편, 제1 곱셈기(501)는 입력 x 와 c를 곱한 후, 제1 오른쪽 이동기(502)로 출력한다. 상기 제1 오른쪽 이동기(502)는 상기 제2 오른쪽 이동기(504)에서 출력된 q와 상기 입력 x 와 c를 곱한 값이 입력되면 q 비트 만큼 오른쪽으로 이동한다. 즉, 으로 나누어 제1 덧셈기(505)로 출력한다.
그리고, d와 상기 제2 오른쪽 이동기(504)에서 출력된 q가 제1 왼쪽 이동기(503)로 입력되면, 상기 제1 왼쪽 이동기(503)는 q 비트 만큼 왼쪽으로 이동한다. 즉, d와 q에 을 곱하여 제1 덧셈기(505)로 출력한다. 따라서, 상기 제1 덧셈기(505)에서 m이 짝수일 경우의 S(x)값을 계산할 수 있다.
한편, 도 5b를 참조하면, 홀수인 m이 제4 오른쪽 이동기(514)로 입력되면, 상기 제4 오른쪽 이동기(514)는 1 비트 만큼 오른쪽으로 이동한다. 즉, 홀수인 m을 2로 나누어 q가 출력되도록 한다. 상기 출력된 q는 제3 오른쪽 이동기(512)와 제2 왼쪽 이동기(513)로 입력된다.
한편, 제2 곱셈기(511)는 입력 x 와 d를 곱한 후, 제3 오른쪽 이동기(502)로 출력한다. 상기 제3 오른쪽 이동기(502)는 상기 제4 오른쪽 이동기(514)에서 출력된 q와 상기 입력 x 와 d를 곱한 값이 입력되면 q+1 비트 만큼 오른쪽으로 이동한다. 즉, q와 입력 x 와 d를 곱한 값을 로 나누어 제2 덧셈기(515)로 출력한다.
그리고, c와 제4 오른쪽 이동기(514)에서 출력된 q가 제2 왼쪽 이동기(513)로 입력되면, 상기 제2 왼쪽 이동기(513)는 q+1 비트 만큼 왼쪽으로 이동한다. 즉, c와 q에 을 곱하여 제2 덧셈기(515)로 출력한다. 따라서, 상기 제2 덧셈기(515)에서 m이 홀수 일 경우 S(x)값을 계산할 수 있다.
도 5a 및 도 5 b와 같은 제곱근 계산 장치를 통해서 입력값 x와 곱셈을 수행하는 과정이 1 번 필요하며, 비트 이동 연산은 3 번 필요하며, 덧셈 연산은 1 번만 필요하여 단순한 로직에 의해 설계 가능하다.
한편, 본 발명의 다른 실시 예에 따른 제곱근 계산 장치는 도 6에 도시하였다. 도 6은 입력값 x의 유한 비트수를 13 비트로 가정한 경우의 제곱근 계산 장치를 나타낸 것이다. 입력 값 x의 유한 비트 13 비트가 제곱근 계산 장치에 입력되면, 제1 선형 제곱근 근사기(110), 제2 선형 제곱근 근사기(120), m 값 검출부(140)로 입력된다.
상기 m 값 검출부(140)는 도 3을 참조하여 설명한 m 값 검출 장치와 동일하다. 상기 m 값 검출부(140)에서 검출된 m 값이 제1 선형 제곱근 근사기(110), 제2 선형 제곱근 근사기(120)에 입력된다.
상기 제1 선형 제곱근 근사기(110)는 하기 <수학식 6>와 같은 연산을 수행하고, 상기 제2 선형 제곱근 근사기(120)는 하기 <수학식 7>과 같은 연산을 수행한다.
하기 <수학식 6>은 상기 <수학식 4>에서 √2-1를 c로, 2-√2를 d로 정의하고 유한 비트수를 갖도록 변형한 것이고, 정수만을 출력하도록 S(x)에 정수(Integer)를 취한 것이다. 또한, 하기 <수학식 7>은 상기 <수학식 5>에서 √2-1를 c로, 2-√2를 d로 정의하고, 유한 비트수를 갖도록 변형한 것이고, 정수만을 출력하도록 S(x)에 정수(Integer)를 취한 것이다.
도 6에서는 c와 d는 각각 , 과 같이 유효 비트수를 7 비트(010101, 1001010) 사용하도록 하였다. 또한, 도 6에서는 p=1을 사용한 경우를 나타낸 것이다. 또한, 상기 <수학식 6>, <수학식 7>에서 마지막 항으로 상수 p를 더하는 것은 실제 제곱근 값과 본 발명에서 제안한 제곱근 계산 방식과의 오차를 감소시키기 위하여 추가한 것이다. 또한, 상기 <수학식 6>, <수학식 7>에서 p의 값에 관계없이 입력 값이 0인 경우는 S(x) 또는 를 0으로 출력한다.
제어부(150)는 m값 검출부(140)에서 출력된 m값이 홀수인지 짝수인지를 판단하여 상기 m값이 짝수일 경우, 상기 제1 선형 제곱근 근사기(110)에서 <수학식 6>와 같이 연산된 7 비트의 값이 출력될 수 있도록 먹스(MUX)(130)를 제어한다.
또한, 제어부(150)는 m 값 검출부(140)에서 출력된 m값이 홀수일 경우, 상기 제2 선형 제곱근 근사기(120)에서 <수학식 7>과 같이 연산된 7 비트의 값이 출력될 수 있도록 먹스(130)를 제어한다.
상기 먹스(130)는 상기 제어부(150)의 제어 하에, 상기 제1 선형 제곱근 제어기(110) 또는 상기 제2 선형 제곱근 제어기(120)에서 연산된 값을 출력한다.
도 7은 도 6에 의한 제곱근 계산 방식과 실제 제곱근과의 차이를 도시한 것이다. 도 7은 <수학식 6>와 <수학식 7>에서 p=1로 설정한 경우인데, 두 계산 방식에서의 차이가 작음을 확인할 수 있다. 이를 좀더 정량화하기 위하여 하기 <수학식 8>과 같이 실제 제곱근 값과 본 발명의 제곱근 계산값의 정규화된 오차의 제곱(normalized squared error)을 정의한다.
도 8은 상기 <수학식 8>을 입력값 x에 대하여 도시한 것으로 p=0, p=1인 경우를 구분하여 나타내었다. 여기서, p=0은 소숫점 이하의 자리는 버리는 것이고, p=1은 소숫점 이하의 자리를 버린 후, 1을 더하는 것으로 정의한다. 도 8을 살펴보면, p=1인 경우가 p=0을 사용한 경우에 비해서 실제 제곱근 값에 더 가까운 것을 확인할 수 있다. 즉, p=1을 사용하는 것이 에러가 적기 때문에 보다 더 효율적이다. p=0 과 p=1인 경우의 의미는 도 9에서 나타낸 바와 같이 floor(S(x)) 일 때 p=0이며, ceil(S(x)) 일 때 p=1이 됨을 나타낸다.
추가적으로 상기 기술한 본 발명을 구현함에 있어 m 값이 짝수인 경우 제1 선형 제곱근 근사기(110)만 동작하면 되므로 제 2 선형 제곱근 근사기(120)는 동작하지 않도록 함으로써 전력 소모를 감소시킬 수 있다. 마찬가지로 m 값이 홀수인 경우 제2 선형 제곱근 근사기(120)만 동작하면 되므로 제 1 선형 제곱근 근사기(110)는 동작하지 않도록 함으로써 전력 소모를 감소시킬 수 있다.
도 7 및 도 8에서 기술한 바와 같이 본 발명에 의한 제곱근 계산 방식은 실제 제곱근과의 차이가 매우 작은 것을 확인할 수 있다. 따라서, 본 발명의 제곱근 계산 방식이 실제 제곱근의 근사값으로 충분히 사용 가능함을 알 수 있다. 또한, 본 발명에 의한 제곱근 계산 방식은 그 연산량이 곱셈 1회, 덧셈 1회 및 비트 이동 연산 3회로 계산이 가능하므로 하드웨어 복잡도가 낮아지며, 고속의 제곱근 계산이 가능하다. 아울러 별도의 저장 공간이 필요하지 않기 때문에 하드웨어로의 구현시 제곱근 연산이 필요한 경우에 적용 가능하다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 발명청구의 범위뿐 만 아니라 이 발명청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명 중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은, 제곱근의 근사값을 구할 수 있다.
또한, 본 발명은 연산량이 곱셈 1회, 덧셈 1회 및 비트 이동 연산 3회로 계산이 가능하기 때문에 하드웨어 복잡도가 낮아진다.
또한, 본 발명은 별도의 메모리를 사용하지 않고 고속의 제곱근 연산을 수행할 수 있다.
또한, 본 발명은 m 값이 짝수인 경우 제1 선형 제곱근 근사기만 동작하면 되므로 제 2 선형 제곱근 근사기는 동작하지 않도록 함으로써 전력 소모를 감소시킬 수 있다. 마찬가지로 m 값이 홀수인 경우 제2 선형 제곱근 근사기만 동작하면 되므 로 제 1 선형 제곱근 근사기는 동작하지 않도록 함으로써 전력 소모를 감소시킬 수 있는 효과가 있다.
Claims (18)
- 입력되는 데이터에 대한 제곱근을 산출하는 제곱근 장치에 있어서,임의의 입력 값을 수신하고, 짝수의 정수값(m)을 수신하여 선형 근사 방법에 의해서 제곱근을 연산하여 출력하는 제1 선형 제곱근 근사기와,임의의 입력 값을 수신하고, 홀수의 정수값(m)을 수신하여 선형 근사 방법에 의해서 제곱근을 연산하여 출력하는 제2 선형 제곱근 근사기와,임의의 입력 값을 수신하여 임의의 정수값(m)을 검출한 후, 상기 제1 선형 제곱근 근사기와 제2 선형 제곱근 근사기로 각각 출력하는 정수값 검출부와,상기 정수값 검출부에서 출력된 값이 짝수 또는 홀수인지에 따라 상기 선형 제곱근 근사기들의 값이 각각 출력될 수 있도록 제어하는 제어부와,상기 제어부의 제어하에, 상기 선형 제곱근 근사기들의 값 중 하나를 출력하는 먹스(MUX)를 포함함을 특징으로 하는 상기 장치.
- 제1항에 있어서,상기 제어부는 상기 m 값 검출부의 출력이 짝수일 경우, 상기 제1 선형 제곱근 근사기에서 연산된 값이 출력될 수 있도록 상기 먹스를 제어함을 특징으로 하는 상기 장치.
- 제1항에 있어서,상기 제어부는 상기 m 값 검출부의 출력이 홀수일 경우, 상기 제2 선형 제곱근 근사기에서 연산된 값이 출력될 수 있도록 상기 먹스를 제어함을 특징으로 하는 상기 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050069881A KR100943580B1 (ko) | 2005-07-29 | 2005-07-29 | 제곱근 계산 장치 및 방법 |
US11/495,632 US20070083587A1 (en) | 2005-07-29 | 2006-07-31 | Apparatus and method for calculating square root |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050069881A KR100943580B1 (ko) | 2005-07-29 | 2005-07-29 | 제곱근 계산 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070014888A true KR20070014888A (ko) | 2007-02-01 |
KR100943580B1 KR100943580B1 (ko) | 2010-02-23 |
Family
ID=37912070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050069881A KR100943580B1 (ko) | 2005-07-29 | 2005-07-29 | 제곱근 계산 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070083587A1 (ko) |
KR (1) | KR100943580B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017026775A1 (ko) * | 2015-08-10 | 2017-02-16 | 한국전력공사 | 혼합 제곱 연산 방법, 장치 및 이의 저장매체 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2528497B (en) * | 2014-07-24 | 2021-06-16 | Advanced Risc Mach Ltd | Apparatus And Method For Performing Floating-Point Square Root Operation |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4298951A (en) | 1979-11-30 | 1981-11-03 | Bunker Ramo Corporation | Nth Root processing apparatus |
US4700319A (en) * | 1985-06-06 | 1987-10-13 | The United States Of America As Represented By The Secretary Of The Air Force | Arithmetic pipeline for image processing |
US4949296A (en) * | 1988-05-18 | 1990-08-14 | Harris Corporation | Method and apparatus for computing square roots of binary numbers |
US5367702A (en) * | 1993-01-04 | 1994-11-22 | Texas Instruments Incorporated | System and method for approximating nonlinear functions |
US6321245B1 (en) * | 1997-04-02 | 2001-11-20 | International Business Machines Corporation | Method and system for performing fast division using non linear interpolation |
DE69835431T2 (de) * | 1997-06-03 | 2007-06-06 | Hitachi, Ltd. | Bildkodier-und-dekodierverfahren und-vorrichtung |
KR19990009212A (ko) * | 1997-07-08 | 1999-02-05 | 김영환 | 제곱근 근사화 방법 |
GB2333408A (en) * | 1998-01-17 | 1999-07-21 | Sharp Kk | Non-linear digital-to-analog converter |
JP2000260137A (ja) * | 1999-03-11 | 2000-09-22 | Fujitsu Ltd | 記憶装置 |
-
2005
- 2005-07-29 KR KR1020050069881A patent/KR100943580B1/ko not_active IP Right Cessation
-
2006
- 2006-07-31 US US11/495,632 patent/US20070083587A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017026775A1 (ko) * | 2015-08-10 | 2017-02-16 | 한국전력공사 | 혼합 제곱 연산 방법, 장치 및 이의 저장매체 |
Also Published As
Publication number | Publication date |
---|---|
KR100943580B1 (ko) | 2010-02-23 |
US20070083587A1 (en) | 2007-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6502118B1 (en) | Fast system and method for producing a logarithmic signal approximation with variable precision | |
EP2645199A1 (en) | Transcendental and non-linear functions using series expansion | |
JP2004005662A (ja) | 対数、逆対数、逆数の近似値を求めるための回路、システム、および方法 | |
US9798520B2 (en) | Division operation apparatus and method of the same | |
US8504954B1 (en) | Methodology for automatically generating series-approximated components | |
US10296290B2 (en) | Digital signal processor | |
CA2352846A1 (en) | Digital value processor | |
US20020032712A1 (en) | Exponential calculation device and decoding device | |
KR20150059082A (ko) | 풀 인-라인 비정규 서포트를 수반하는 높은 성능의 부동 소수점 덧셈기 | |
US20170017467A1 (en) | Integer/floating point divider and square root logic unit and associates methods | |
CN112651496A (zh) | 一种处理激活函数的硬件电路及芯片 | |
JP3493574B2 (ja) | 逆量子化装置及び逆量子化方法 | |
KR100241072B1 (ko) | 부동소수점 감산시 대량소거의 병렬예측 및 연산방법과 장치 | |
KR20160012916A (ko) | 부동 소수점 제곱근 연산 장치 및 방법 | |
KR100943580B1 (ko) | 제곱근 계산 장치 및 방법 | |
JP2004070947A (ja) | ヒストグラム計算システム、電子試験装置及びヒストグラム計算方法 | |
CN115857655B (zh) | Gpu的功耗控制方法、装置、设备、介质和程序产品 | |
JP4219926B2 (ja) | 電子回路中で乗算演算または除算演算を行う方法およびその装置 | |
US20070174378A1 (en) | Computation of logarithmic and exponential functions | |
US20140372493A1 (en) | System and method for accelerating evaluation of functions | |
US7644116B2 (en) | Digital implementation of fractional exponentiation | |
KR102281047B1 (ko) | 4개의 입력 내적 회로를 사용하는 삼각 함수 계산 | |
US20050223053A1 (en) | Static floating point arithmetic unit for embedded digital signals processing and control method thereof | |
CN110741552B (zh) | 用于界限检查的数据处理装置及其操作方法 | |
CN114691082A (zh) | 乘法器电路、芯片、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130130 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140128 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150129 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160128 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |