KR20040036911A - 거듭제곱 올림회로 - Google Patents
거듭제곱 올림회로 Download PDFInfo
- Publication number
- KR20040036911A KR20040036911A KR10-2004-7002286A KR20047002286A KR20040036911A KR 20040036911 A KR20040036911 A KR 20040036911A KR 20047002286 A KR20047002286 A KR 20047002286A KR 20040036911 A KR20040036911 A KR 20040036911A
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- power
- binary digital
- generating
- circuit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims description 26
- 238000000605 extraction Methods 0.000 claims 8
- 230000003252 repetitive effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 108010074860 Factor Xa Proteins 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3852—Calculation with most significant digit first
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/552—Indexing scheme relating to groups G06F7/552 - G06F7/5525
- G06F2207/5523—Calculates a power, e.g. the square, of a number or a function, e.g. polynomials
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)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Logic Circuits (AREA)
- Power Sources (AREA)
- Fluid-Pressure Circuits (AREA)
- Rear-View Mirror Devices That Are Mounted On The Exterior Of The Vehicle (AREA)
- Illuminated Signs And Luminous Advertising (AREA)
- Transmitters (AREA)
Abstract
본 발명에 따른, 제곱기(squarer)(10)와 같은, 반복 거듭제곱 올림회로는 각각의 입력신호(Zn)를 상기 입력신호보다 바로 아래이거나 동일한 2의 거듭제곱인 제 1 부분(msb(Zn))과, 상기 각각의 입력신호와 상기 제 1 부분 사이의 차이에 해당하는 제 2 부분(Zn- msb(Zn))으로 세분할 수 있는 모듈(13, 14)을 구비한다. 출력신호의 제 1 구성요소는 입력 이진수 신호(X)의 인접한 비트들 사이에 0을 삽입함으로써 실행된 2의 제곱승의 합으로서 구해진다. 쉬프터 모듈(15)은 2의 거듭제곱인 수들에 대한 곱셈 연산을 실행하는 이동 연산(shift operation)을 통해 출력신호의 부가적인 구성요소를 생성한다. 회로는 전반적인 반복구성에 따라 동작하며 반복구성에서 단계의 수는 출력값(Y)이 계산되는 정밀도를 선택적으로 바꾸도록 선택적으로 제어될 수 있다.
Description
집적된 반도체 영역을 효율적으로 이용할 수 있는, 빠른 제곱기 회로는 신호의 디지털 처리를 위한 시스템 용도의 필수적인 블록을 구성한다.
예를 들어, 정보통신 산업에서 수치들의 제곱을 빨리 계산하는데 필요로 하는 많은 회로들(채널 추정기(channel estimator), 지연고정루프(delay locked loop 또는 DLL), 거듭제곱 검출기(power detectors), 등)이 있다.
이에 대한, 참조문헌으로는 1995년, 맥그라우 힐(McGraw-Hill) 출판사가 출간한 제이.지. 프로아키스(J.G. Proakis)의 "디지털 통신(Digital Communications)" 3판이 잘 알려진 책으로 유용하게 사용될 수 있다.
동일한 산업에서, 고차 거듭제곱 계산을 필요로 하는 애플리케이션들이 또한잘 알려져 있다: 예를 들어, 마이크로파 출력단에 의해 유도된 신호왜곡현상을 보상하는데 사용되는 소위 전치왜곡기(pre-distorter)가 그 경우이다.
앞서 고려된 모든 애플리케이션에서, 회로들은 심지어 작은 칩상에 많은 갯수들이 집적되기 위해 충분히 작아야만 한다.
속도 및 크기(점유면적) 이외에도, 고려되어야 할 또 다른 요인은 획득한 결과의 정밀도 또는 정확도이다. 다른 애플리케이션들은 거듭제곱 올림연산 결과의 단지 개괄적인 정확도만을 필요로하지 정확한 값의 완전무결한 결정을 필요로하지 않는다.
종래 기술의 거듭제곱 올림회로 방법은 주로 어레이 곱셈기 구성으로부터 도출된다: 예를 들어, 참조문헌 미국특허출원 제US-A-5 629 885호를 참조하라.
다른 모든 고려사항들에 무관하게, 상기 해결방법들은 다소 구성 및 연산에 있어 경직성으로 인해 제한된다. 특히, 상기 종래 기술의 해결방법들은 필요로 하는 정확도 또는 정밀도로 프로그램하기가 쉽지 않고, 예를 들어, 필요로 하는 정확도의 정도 및/또는 점유 면적과 실행시간(computing time)과 "교환"을 허용하지 않는다.
이에 대해, 적어도 일부 애플리케이션에서, 특히 빠른 거듭제곱 올림회로(예를 들어, 제곱기(squarer))는, 그의 상당히 큰 점유면적으로 인해, 실질적으로 광범위하게 사용되지 않고 있는 자원(resource)으로 나타나고 있는 점을 더욱 유의하여야 한다. 이는, 거듭제곱 올림회로의 기능을 빨리 실행하고 난 후에, 문제가 되는 거듭제곱 올림회로는 상기 거듭제곱 올림회로에 연관된 다른 회로들에 의하여더 천천히 실행되는 연산들의 처리가 완료되기를 기다려야 하도록(휴지시간의 증가를 초래하도록) 강요되기 때문이다.
본 발명은 거듭제곱 올림회로, 즉, 주어진 수를 나타내는 입력신호(X)로부터 시작하여, 입력데이터 항의 k번째 거듭제곱을 나타내는 신호 Y = Xk를 출력으로 생성하는 회로에 관한 것이다.
가장 일반적인 애플리케이션에서, k의 값은 2이고 회로는 제곱기 회로(squarer circuit)로 구성된다.
본 발명은, 첨부도면을 참조로, 순전히 비제한적인 예로써 기술된다:
도 1 및 도 2는 본 발명이 기초로 하는 이론적 원리를 기하학적 도형으로 예시한 것이다;
도 3은 본 발명에 따른 회로의 구조를 블록 다이어그램 형태로 도시한 것이다;
도 4는 도 3의 블록 다이어그램에 도시된 모듈 중 하나를 구현하기 위한 가능한 예를 도시한 것이다; 그리고
도 5는 도 3에 예시된 회로의 연산을 도시한 흐름도이다.
본 발명의 목적은 종래 기술의 해결방법의 내재적인 결점을 극복할 수 있는 거듭제곱 올림회로를 제공하는 것이다.
본 발명에 따르면 상기 목적은 다음의 청구의 범위에 구체적으로 개시된 특징들을 갖는 회로에 의하여 달성된다.
간략히, 본 발명에 따른 해결방법은, 단순화하고 계산부담을 줄일 목적으로, 거듭제곱 올림회로의 일부가 2의 거듭제곱인 숫자들로 실행된 연산들로부터 도출될 수 있다는 사실을 이용한다. 이 개념은, 자체적으로, 국제특허출원 제WO-A-00/33174호에 이미 사용되었으며, 상기 문헌에서 어떤 수의 제곱은 2의 거듭제곱에 해당하는 2개의 기준점(anchor points) 사이에서 실행된 함수 y=x2의 선형근사에 의하여 평가된다.
상기 공지된 해결방법에 대하여, 본 발명에 따른 회로는, 무엇보다도, 얻어지는 최종 결과가 정밀하도록 완전하게 프로그램가능한 이점을 제공한다. 특히, 정밀도는, 예를 들어, DSP(디지털 신호 처리기, Digital Signal Processor)에 의하여 외부적으로 제어될 될 수 있는 매개변수인 최대 반복 횟수를 간단히 바꿈으로써, 연산동안 변경될 수 있다.
이러한 이점은 동일 출원인에 의하여 동일자에 출원한 특허출원에 개시된 곱셈기 회로와 본 발명에 따른 해결방법에 의하여 공유된다.
본 발명에 따른 해결방법은 또한 종래 해결방법에 비하여 점유면적면에서 상당한 감소를 얻게 한다.
본 설명에 앞서, 도 1 및 도 2를 참조로, 본 발명에 따른 회로의 연산이 기초로 하는 (기하학적) 원리를 예시하는 것이 유용할 것 같다. 간단히 하기 위해, 예시는 제곱승 올림에 대하여 제공된다: 그럼에도 불구하고 동일한 개념들이 임의의 차수(k)의 거듭제곱에 적용되고 확장될 수 있음을 용이하게 알 수 있다.
X는 제곱이 계산되는 수(Y=X2)를 나타낸다고 가정한다.
일반적으로 디지털 신호처리회로에서 발생하는 바와 같이, 값(X)은 이진수신호로, 즉, "0" 또는 "1" 값을 취하는 비트열(a string of bit)로 나타내어 진다.
X는 임의의 양수이고, 가능한 부호 처리는, 자체적으로 알려진, 식별 회로들로 용이하게 실행될 수 있다고 또한 가정하자.
먼저 도 1을 참조하면, 값(Y=X2)은 도 1에 예시된 정사각형 면적을 나타낸다.
A는 X보다 바로 아래 또는 동일한 2의 거듭제곱을 구성하는, 즉, 이진수 A=msb(X)에 대하여 통상적인 표기에 따르고, 여기서 msb는 최상위 비트를 나타내는 수라고 가정한다.
도 1을 참조하면, 값(X2)은 아래의 값으로 근사될 수 있음을 쉽게 알 수 있다:
S1= A2+ 2·(X-A)·A.
근사값(S1)은
- 도 1의 좌측 하단에서 재생된 정사각형의 면적 A2,
- 우측 직사각형 하단의 면적 A·(X-A), 및
- 좌측 직사각형의 상단 면적 A·(X-A)에 각각 해당하는 면적인 제 1, 제 2 및 제 3 몫의 합과 일치한다.
이들 2 면적들은 서로 같고, 상기 식에서 인자 2가 있음을 말해준다.
우측 상단에서 빗금친 면적으로 도시된 정사각형(R')의 면적은 값이 곱(X-A)2과 동일한 근사 오차(approximation error)를 이룬다(도 1을 참조로, 상기 진술의 기하학적 의미를 쉽게 알 수 있다).
상기에서 이해된 동일한 기준을 적용하면, 상기 오차의 값(즉, 실제로 도 1에 표시된 정사각형(R')의 면적)은, 차례로, 아래의 곱의 형태로 근사될 수 있다:
S2= B2+ 2·(X-A-B)·B.
이 경우, 역시, 근사의 의미는, 도 2의 표현을 참조한, 기하학적 개념으로 쉽게 이해될 수 있다.
이 경우, 값 B는 (X-A) 또는 B = msb(X-A) 보다 작거나 동일한 2의 거듭제곱과 동일하다.
이 경우, 역시, 도 2의 우측 코너 상단에 도시된 정사각형(R")의 면적에 일치하는 나머지 오차가 있다.
그러나, 기술한 절차는 M번(M = log2(max(X)-1), 상기 식에서 max(X)는 X의 가능한 입력값의 분배 최대값을 나타냄) 반복될 수 있음을 쉽게 이해할 수 있으며, 이에 따라 아래 표현에 따른 거듭제곱 올림연산의 정확한 값을 얻는다.
X·Y = S1+ S2+ …+ SM
당연히, 도 1 및 도 2에 도시된 단계(및 연이은 후속 단계에서 도 1 및 도 2의 도식으로부터 명백한 형태로 개념적으로 도출가능한 단계(M)까지)는 가정될 수 있는 최상위 전체 반복기준에 해당한다. 실제로, M번 반복계산은 X의 몇몇 "임계"값에 대해서만 필수적인 반면에, 많은 다른 경우에서는 정확한 X2의 값을 얻기 위해 훨씬 더 작은 횟수의 단계로도 충분하다.
상술한 바와 같이, 본 발명에 따른 방법은 또한 2 보다 큰 거듭제곱 올림인자, 예를 들어 k=3에 적용될 수 있으며, 이 경우 도 1 및 도 2의 제곱(A2)은 입방체(cube) 형태를 취하고 직사각형의 면적((X-A)·A)은 평행육면체(parallelepiped)의 형태를 취한다.
본 발명은 임의의 수의 거듭제곱에 대한 올림이 한 세트의
2의 거듭제곱인 수들에 대한 거듭제곱 올림연산, 및
·ⅰ) 모두가 2의 거듭제곱이거나,
·ⅱ) 적어도 하나가 2의 거듭제곱(예를 들어, A·(X-A) 또는 B·(X-A-B) 곱)인
인자들의 곱 연산에 의하여 달성될 수 있다는 사실의 인식에 기초한다.
모든 이들 연산들은 단순한 조합논리(combinatory logic) 및/또는 이동 연산(shift operation)에 의하여 용이하게 수행될 수 있다.
도 3의 도식에서, 참조번호(10)는 본 발명에 따른 거듭제곱 올림회로 전체를 가리킨다.
거듭제곱으로 올림되기로 된 이진수 디지털 신호(X)(본 실시예의 경우에서는, 제곱승으로 올림함)가 11로 표시된 입력상에 인가된다.
참조번호(12)는 제 1 반복 제곱처리 단계동안 1로 표시된 위치에 있는 스위치를 나타낸다. 그런 후 스위치(12)는 최종 결과를 정제하는 후속하는 반복처리 단계동안 2로 표시된 위치로 이동된다.
참조번호(13)는, 연관된 덧셈노드(summation node)(14)와 함께, 각각의 입력신호 Zn를 Zn바로 아래이거나 동일한 2의 거듭제곱인 제 1 부분 msb(Zn)과, 상기 각각의 입력신호와 상술한 제 1 부분 사이의 차이에 해당하는 제 2 부분 Zn- msb(Zn)으로 세분하는 모듈을 나타낸다.
본 설명의 나머지 부분에서, 심볼(Z)은 신호(X)로부터 도출되는 신호들을 나타내는 반면에, 대신에 첨자(n)는 전반적인 반복제곱 처리단계를 나타낸다.
모듈(13)은 실질적으로 입력에 들어오는 이진수 열(binary string)의 최상위 비트를 추출하고 후속하는 비트들을 마스킹(masking)하는 (즉, 0으로 세팅하는) 상술한 제 1 신호부분을 결정한다.
가능한 해당 회로도가 도 4에 도시되어 있으며, 상기 도 4에서 참조부호 I 및 A는 각각 논리 인버터(logic inveters)와 AND 형태의 논리 게이트(logic gates)를 나타낸다. 최상위 비트에서 시작하는, 심볼(Xn, Xn-1, Xn-2, …및 An, An-1, An-2, …)은 모듈(13)의 입력신호와 출력신호의 비트들을 나타낸다.
덧셈노드(14)는 모듈(13)의 입력에 있는 신호(양의 부호) 및 출력에 있는 신호(음의 부호)를, 반대 부호로, 상기 덧셈노드의 입력에서 수신하고, 이에 따라 상술한 제 2 신호부분을 계산한다. msb(Zn)은 Zn바로 아래이거나 동일한 2의 거듭제곱이므로, 그 값은 "1"에서 하나의 비트를 포함하는 이진수 열로 표현된다. 따라서 차이 Zn- msb(Zn)는 기본 구조를 갖는 조합 네트워크로 결정될 수 있다.
참조번호(15)는, 도 1 및 도 2에 대해 앞서 만들어진 기하학적 예들을 참조로, 2·(X-A)·A 또는 2·(X-A-B)·B 곱으로서, 2·(Zn- msb(Zn))·msb(Zn) 형태의 곱을 계산하기 위해 모듈(13)의 출력신호와 덧셈노드(14)의 출력신호를 입력신호로서 수신하는 프로그램가능한 쉬프터 모듈(shifter module)을 나타낸다.
인자(A, B), 또는, 일반적으로 msb(Zn)는 2의 거듭제곱이므로, 문제가 되는 곱은 간단한 좌측 이동으로 실행될 수 있다.
모듈(15)의 출력에, 또 하나의 덧셈노드(16)가 있어 차례로 레지스터(register)(17)에 신호를 공급하고, 상기 레지스터(17)는, 대표적인 덧셈 및 누적 구성에 따라, 상기 레지스터(17)의 출력신호를 다시 상기 덧셈노드(16)로 이르게 하는 연결된 순환라인(171)을 갖는다.
참조번호(18)는 항 msb(Zn)2의 합, 즉, 제 1 부분의 경우에 2개 인자들(A2, B2, …)이 도 1 및 도 2의 좌측 하단 정사각형의 면적과 같은 항들의 합에 해당하는 출력신호(Y)가 구성요소를 계산하기로 되어있는 모듈을 나타낸다.
상기 정사각형들을 계산하기 위한 항들, 즉 2의 거듭제곱인 항들은 모듈(13)의 출력으로부터 얻을 수 있다.
그러나, 본 명세서에 예시된, 본 발명의 바람직한 실시예는 아래 속성의 인식을 토대로 한다.
또한 이 경우에서, 심볼(Xn, Xn-1, Xn-2, …, X0)은, 최상위 비트로부터 시작하는 순서로, 입력신호(X)의 비트를 나타내고, 동일한 방식으로, 심볼(Q2n, Q2n-1, …, Q0)은, 항상 최상위 비트로부터 시작하는 순서로, 비트들의 합(Q = A2+ B2+ …)을 나타낸다.
그러므로 아래의 관계는 참을 유지한다:
Q2i= Xi0 ≤i ≤n
Q2i+1= 00 ≤i < n.
이는 합(Q)의 계산은 인접한 X 비트들 사이에 0의 삽입을 단순히 나타냄을 의미한다.
이 사실은, 예를 들어, 수 7 (상기 수는 이진수 형태로 0111로 표현됨) 보다 작은 2의 거듭제곱(순서대로 4, 2, 및 1)의 제곱의 합은 42+ 22+ 12, 즉 21과 같다는 것을 유의하면 쉽게 알 수 있다. 이 합의 값은 이진수 형태로 0 (0) 1 (0) 1 (0) 1, 즉, 수 7을 표현하는 비트열(1000)의 마지막 3번째 자리들의 각 좌측에 0을 추가함으로써 얻은 비트열 0010101로 표현될 수 있다.
제곱들의 합에 대해 앞에서 상술한 것은 값(X)의 비트들 사이에 삽입된 0들의 수를 단순히 증가시키면 고차 거듭제곱의 합(예를 들어 세제곱 값 A3+ B3…)에또한 적용됨을 인식하게 될 것이다.
이 전제를 기초로, 모듈(18)의 실행은 당업자에게 용이하게 인식된다.
도 3의 도식을 참조하면, 참조번호(19)는 덧셈 및 누적 레지스터(17)의 출력신호와 모듈(18)의 출력신호를 입력에서 수신하고, 결과(Y)의 (실행되는 반복회수에 따라, 근사적이거나 정확한) 값을 생산하는 또 하나의 덧셈노드를 나타낸다.
산출된 해당 신호는 20으로 표시된 출력신호상에 있다.
도 3의 회로의 연산은 도 5의 흐름도와 도 3에 도시된 신호전파경로에 도시된 표시를 참조로 이해될 수 있다.
초기 연산단계에서(도 5의 도식에서 단계 100) 이진수 데이터 항(X)이 라인(12)상의 회로(10)의 입력에 들어온다. 스위치(12)는 1로 표시된 위치에 있으므로, 값(X)은 모듈(18)의 입력과 모듈(13)의 입력에 모두 제공된다.
모듈(18)은, 상술한 기준에 따라, 합(Q = A2+ B2+ …)을 계산한다(단계 102).
모듈(13)은 104로 표시된 제 1 반복단계에서 값 A = msb(X)를 계산하는 반면에, 106으로 표시된 제 1 반복단계에서, 쉬프터 모듈(15)은, 덧셈노드(14)의 출력신호를 또한 이용하여, 값 2·(X-A)·A을 결정한다. 그런 후 상기 값은 108로 표시된 단계에서 모듈(17)에 누적된다.
동시에, 110으로 표시된 단계에서, 덧셈노드(14)의 출력에 있는 인자(X-A) (상기 인자(X-A)는 나머지 오차, 즉, 도 1에서 정사각형(R') 측면을 말함)는, 순환라인(141)을 통해, 2로 표시된 위치로 이동된 스위치(13)를 향해 다시 전송된다.
따라서 반복계산처리의 후속 단계들이 시작된다.
n번째 반복에서, 상기 반복계산처리는, 모듈(13)을 향하는 입력으로서, 아래 신호의 사용을 대비해 둔다:
Zn= Zn-1- msb(Zn-1).
이 지점에서, 단계(104, 106, 및 108)들이 반복되며, 쉬프터 모듈(15)이 아래의 값을 결정하도록 한다:
Sn= 2·[Zn- msb(Zn)] + msb(Zn).
상기 값은 모듈(18)의 출력신호의 합을 고려하여 회로(17)에 누적된다.
라인(20)상에 있는 출력신호를 생성하기로 된 합은 112로 표시된 단계동안 모듈(19)에서 달성된다.
상술한 바와 같이, 반복계산처리에서 실행된 단계의 수는, 예를 들어 제어장치 또는 DSP와 같은 회로에 의하여, 또는 실행시간 조건하에서 회로(10) 밖으로부터 선택적으로 부과될 수 있다.
141로 표시된 순환라인상에 있는 신호를 감시하고, 신호가 0이 되자마자 반복을 중지하는 반복처리를 중지시키는 것도 또한 가능하며, 이는 출력상에 정확한 결과가 있음을 나타낸다. 이 해결방법은 회로에 의한 소비전력을 감소시키고 계산속도를 증가시키는 면에서 특히 이점이 있다.
최종 (정확한 또는 근사적인) 결과를 얻자마자, 회로(10)는 새로운입력값(X)의 공급하기, 스위치(12)를 다시 1로 표시된 위치로 가져오기 및 모듈(17)의 내용을 0으로 설정하기(zeroing)를 고려하여 재설정된다.
기술한 바와 같이, 결과를 정제하기 위한 반복 메카니즘은, 값이 인접한 비트들 사이에 0을 삽입하기 위한 상술한 메카니즘에 따른 모듈(18)에 의하여 결정되는, 합 Q = A2+ B2+ …을 포함하지 않음을 또한 알게 될 것이다.
이는, 계산 과정의 제 1 단계에서부터 합(Q)으로 표현되는 기여를 정하게 함에 따라, 최종 결과를 향해 수렴의 신속성 면에서 특히 이점이 있다.
본 출원인에 의해 처리된 실험 데이터는 본 발명에 따른 해결방법이 입력 데이터 항의 특징들에 무관하게, 감소된 반복 횟수로 특히 만족스러운 결과를 얻게 할 수 있다.
당연히, 본 발명의 원리를 바꾸지 않고도, 구현 세부사항과 실시예들이, 본 발명의 범위를 벗어남이 없이, 본 명세서에 설명되고 예시된 것에 대해 충분히 변경될 수 있다. 이는, 회로(10)의 입력에서, 예를 들어 본 명세서에서 기술된 하나 이상의 방법 단계를 허용하거나 우회하거나 뛰어넘을 수 있게 하는, 데이터 항(X)의 특별한 값을 인식할 수 있는 요소들이 있는 경우에 대해서도 또한 유효하다.
Claims (19)
- 이진수 디지털 신호(X)로부터 시작하여, 상기 이진수 디지털 신호(X)의 k번째 거듭제곱을 나타내는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로(10)로서,각각의 입력신호(Zn)를 상기 각각의 입력신호(Zn)보다 바로 아래이거나 동일한 2의 거듭제곱인 제 1 부분(msb(Zn))과, 상기 각각 입력신호와 상기 제 1 부분 사이의 차이에 해당하는 제 2 부분(Zn- msb(Zn))으로 세분할 수 있는 2의 거듭제곱을 추출하기 위한 추출모듈(13, 14),상기 각각의 입력신호로서 상기 이진수 디지털 신호(X)를 상기 추출모듈(13, 14)에 적용할 수 있는 입력모듈(12), 및상기 이진수 디지털 신호(X)로부터 도출된 적어도 하나의 신호상에 실행된 이동 연산(shift operation)에 의하여 적어도 상기 출력신호(Y)의 몫을 생성하기 위해 상기 추출모듈(13,14)과 함께 상호작동하는 쉬프트 모듈(15)을 구비하는 것을 특징으로 하는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로.
- 제 1 항에 있어서,상기 쉬프트 모듈(15)은 상기 이진수 디지털 신호의 제 2 부분(X-A)상에 작용하는 상기 이동 연산을 실행하는 것을 특징으로 하는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로.
- 제 1 항 또는 제 2 항에 있어서,상기 거듭제곱 올림회로는상기 이진수 디지털 신호(X)의 인접한 비트들 사이에 0을 삽입함으로써 적어도 각각의 상기 출력신호(Y)의 몫을 생성하기 위한 회로모듈(18)을 구비하는 것을 특징으로 하는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로.
- 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,상기 거듭제곱 올림회로는상기 이진수 디지털 신호(X)의 상기 제 1 부분(A)의 거듭제곱, 및상기 이진수 디지털 신호(X)의 상기 제 1 부분(A)과 상기 제 2 부분(X-A)의 곱(A·(X-A))에 각각 해당하는 신호(18, 17)에 대한 몫의 합으로서 상기 출력신호(Y)를 생성하기 위한 덧셈노드(19)를 구비하는 것을 특징으로 하는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로.
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,상기 입력모듈(12)은, 한 세트의 연속 단계를 포함하는 전체적인 반복구성에 따라, 상기 반복구성의 바로 전단계에서 생성된 상술한 제 2 부분을, 상기 반복구성의 또 다른 단계에 사용되는 각각의 새로운 입력신호(Zn)로서, 상기 추출모듈(13,14)의 입력으로 복귀시키기 위한 복귀경로(141)에 연결되어 있고,상기 쉬프터 모듈(15)은 상기 반복구성의 후속 단계에서 상기 쉬프터 모듈(19)에 의하여 생성된 상기 출력신호(Y)의 새로운 몫들을 누적하기 위한 누적소자(17)에 연결되어 있는 것을 특징으로 하는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로.
- 제 4 항 또는 제 5 항에 있어서,각각의 상기 반복구성 단계에서, 상기 쉬프터 모듈(15)은 상기 누적소자(17)에 누적되는 상기 출력신호(Y)의 몫을 생성하고, 상기 누적되는 몫은 상기 이진수 디지털 신호(X)로부터 도출된 신호(Zn)로부터 얻어지는 것을 특징으로 하는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로.
- 제 6 항에 있어서,상기 누적되는 출력신호(Y)의 몫은 상기 이진수 디지털 신호(X)로부터 시작하는 상기 적어도 하나의 추출모듈(13, 14)에 의하여 생성된 제 1 신호부분(msb(Zn))과 제 2 신호부분(Zn- msb(Zn))의 곱(msb(Zn)·(Zn- msb(Zn))으로부터 시작하여 얻어지는 것을 특징으로 하는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로.
- 제 5 항 내지 제 7 항 중 어느 한 항에 있어서,상기 반복구성의 단계의 수를 선택적으로 제어하기 위한 제어회로를 특징으로 하는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로.
- 제 8 항에 있어서,상기 제어회로는 상귀 복귀경로(141)상에 있는 신호에 민감하고 상기 반복구성의 바로 전단계에서 생성된 상술한 제 2 부분이 0의 값에 이르게 되면 반복구성을 중단할 수 있는 것을 특징으로 하는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로.
- 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,상기 추출모듈은상기 각각의 입력신호(Zn)를 수신하고 이로부터 각각의 출력신호(msb(Zn))로서 상기 각각의 입력신호보다 바로 아래이거나 동일한 2의 거듭제곱인 상기 제 1 신호부분을 결정하는 추출유닛(13), 및상기 각각의 입력신호(Zn)와 상기 각각의 출력신호(msb(Zn))를 반대 부호로 수신하고 이로부터 상기 제 2 신호부분(Zn- msb(Zn))을 결정하는 덧셈유닛(14)을 구비하는 것을 특징으로 하는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로.
- 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,상기 거듭제곱은 상기 이진수 디지털 신호(X)의 2차 거듭제곱인 것을 특징으로 하는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로.
- 이진수 디지털 신호(X)로부터 시작하여, 상기 이진수 디지털 신호(X)의 k번째 거듭제곱을 나타내는 출력신호(Y)를 생성하기 위한 거듭제곱 올림회로(10)로서,상기 이진수 디지털 신호(X)의 인접한 비트들 사이에 k개의 0을 삽입함으로써 적어도 각각의 상기 출력신호(Y)의 몫을 생성하기 위한 모듈(18)을 구비하는 것을 특징으로 하는 상기 출력신호(Y)의 몫을 생성하기 위한 거듭제곱 올림회로.
- 이진수 디지털 신호(X)로부터 시작하여, 상기 이진수 디지털 신호(X)의 k번째 거듭제곱을 나타내는 출력신호(Y)를 생성하기 위한 방법으로서,각각의 입력신호(Zn)을 나타내는 상기 이진수 디지털 신호(X)로부터 상기 각각의 입력신호(Zn)보다 바로 아래이거나 동일한 2의 거듭제곱인 제 1 부분(msb(Zn))과, 상기 각각 입력신호와 상기 제 1 부분 사이의 차이에 해당하는 제 2 부분(Zn- msb(Zn))을 추출하는 단계,상기 이진수 디지털 신호(X)로부터 추출된 적어도 하나의 신호상에 실행된 이동 연산(shift operation)에 의하여 적어도 하나의 상기 출력신호(Y)의 몫을 생성하는 단계를 특징으로 하는 출력신호(Y)를 생성하기 위한 방법.
- 제 13 항에 있어서,상기 이진수 디지털 신호(X)의 제 2 부분(X-A)상에 작용하는 이동 연산에 의하여 상기 적어도 하나의 출력신호(Y)의 몫을 생성하는 단계를 특징으로 하는 출력신호(Y)를 생성하기 위한 방법.
- 제 13 항 또는 제 14 항에 있어서,상기 이진수 디지털 신호(X)의 인접한 비트들 사이에 0을 삽입함으로써 상기 적어도 하나의 출력신호(Y)의 몫을 생성하는 단계를 특징으로 하는 출력신호(Y)를 생성하기 위한 방법.
- 제 13 항 내지 제 15 항 중 어느 한 항에 있어서,상기 이진수 디지털 신호(X)의 상기 제 1 부분(A)의 거듭제곱, 및상기 이진수 디지털 신호(X)의 상기 제 1 부분(A)과 상기 제 2 부분(X-A)의 곱(A·(X-A))에 각각 해당하는 신호(18, 17)에 대한 몫의 합으로 상기 출력신호(Y)를 생성하는 단계를 특징으로 하는 출력신호(Y)를 생성하기 위한 방법.
- 제 13 항 내지 제 15 항 중 어느 한 항에 있어서,상기 반복구성의 바로 전 추출단계에서 생성된 상기 제 2 부분을, 상기 반복구성의 또 다른 단계에 사용되는 각각의 새로운 입력신호(Zn)로서, 다시 복귀시키는 단계,상기 각각의 새로운 입력신호(Zn)로부터 상기 각각의 입력신호(Zn)보다 바로 아래이거나 동일한 2의 거듭제곱인 새로운 제 1 부분(msb(Zn))과, 상기 각각 새로운 입력신호와 상기 새로운 제 1 부분 사이의 차이에 해당하는 새로운 제 2 부분(Zn- msb(Zn))을 추출하는 단계,상기 이진수 디지털 신호(X)로부터 추출된 적어도 하나의 상기 각각의 새로운 입력신호상에 실행된 이동 연산에 의하여 상기 출력신호(Y)의 몫을 생성하는 단계, 및상기 반복구성의 후속 단계에서 상기 출력신호(Y)의 몫을 누적하는 단계를 포함하는 반복구성을 특징으로 하는 출력신호(Y)를 생성하기 위한 방법.
- 제 17 항에 있어서,상기 반복구성의 단계의 수를 선택적으로 제어하는 단계를 특징으로 하는 출력신호(Y)를 생성하기 위한 방법.
- 이진수 디지털 신호(X)로부터 시작하여, 상기 이진수 디지털 신호(X)의 k번째 거듭제곱을 나타내는 출력신호(Y)를 생성하기 위한 방법으로서,상기 이진수 디지털 신호(X)의 인접한 비트들 사이에 k개의 0을 삽입함으로써 적어도 하나의 상기 출력신호(Y)의 몫을 생성하는 단계를 특징으로 하는 출력신호(Y)를 생성하기 위한 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ITTO2001A000818 | 2001-08-17 | ||
IT2001TO000818A ITTO20010818A1 (it) | 2001-08-17 | 2001-08-17 | Circuito per elevare a potenza. |
PCT/IT2002/000539 WO2003017085A2 (en) | 2001-08-17 | 2002-08-14 | Power raising circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20040036911A true KR20040036911A (ko) | 2004-05-03 |
Family
ID=11459154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2004-7002286A Withdrawn KR20040036911A (ko) | 2001-08-17 | 2002-08-14 | 거듭제곱 올림회로 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20040181566A1 (ko) |
EP (1) | EP1423785A2 (ko) |
JP (1) | JP2005500614A (ko) |
KR (1) | KR20040036911A (ko) |
CN (1) | CN1543600A (ko) |
CA (1) | CA2457201A1 (ko) |
IT (1) | ITTO20010818A1 (ko) |
WO (1) | WO2003017085A2 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11144316B1 (en) | 2018-04-17 | 2021-10-12 | Ali Tasdighi Far | Current-mode mixed-signal SRAM based compute-in-memory for low power machine learning |
US11016732B1 (en) | 2018-04-17 | 2021-05-25 | Ali Tasdighi Far | Approximate nonlinear digital data conversion for small size multiply-accumulate in artificial intelligence |
US10884705B1 (en) | 2018-04-17 | 2021-01-05 | Ali Tasdighi Far | Approximate mixed-mode square-accumulate for small area machine learning |
US11610104B1 (en) | 2019-12-30 | 2023-03-21 | Ali Tasdighi Far | Asynchronous analog accelerator for fully connected artificial neural networks |
US11615256B1 (en) | 2019-12-30 | 2023-03-28 | Ali Tasdighi Far | Hybrid accumulation method in multiply-accumulate for machine learning |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3780278A (en) * | 1971-03-10 | 1973-12-18 | Du Pont | Binary squaring circuit |
JPS60175142A (ja) * | 1984-02-20 | 1985-09-09 | Fujitsu Ltd | デイジタル演算回路 |
FR2712410B1 (fr) * | 1993-11-08 | 1996-02-09 | Sgs Thomson Microelectronics | Circuit élévateur au carré de nombres binaires. |
US6223198B1 (en) * | 1998-08-14 | 2001-04-24 | Advanced Micro Devices, Inc. | Method and apparatus for multi-function arithmetic |
US6301598B1 (en) * | 1998-12-09 | 2001-10-09 | Lsi Logic Corporation | Method and apparatus for estimating a square of a number |
-
2001
- 2001-08-17 IT IT2001TO000818A patent/ITTO20010818A1/it unknown
-
2002
- 2002-08-14 CA CA002457201A patent/CA2457201A1/en not_active Abandoned
- 2002-08-14 CN CNA028161173A patent/CN1543600A/zh active Pending
- 2002-08-14 WO PCT/IT2002/000539 patent/WO2003017085A2/en not_active Application Discontinuation
- 2002-08-14 US US10/487,106 patent/US20040181566A1/en not_active Abandoned
- 2002-08-14 EP EP02775203A patent/EP1423785A2/en not_active Withdrawn
- 2002-08-14 JP JP2003521929A patent/JP2005500614A/ja active Pending
- 2002-08-14 KR KR10-2004-7002286A patent/KR20040036911A/ko not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CA2457201A1 (en) | 2003-02-27 |
WO2003017085A3 (en) | 2004-04-08 |
WO2003017085A2 (en) | 2003-02-27 |
JP2005500614A (ja) | 2005-01-06 |
ITTO20010818A0 (it) | 2001-08-17 |
US20040181566A1 (en) | 2004-09-16 |
CN1543600A (zh) | 2004-11-03 |
ITTO20010818A1 (it) | 2003-02-17 |
EP1423785A2 (en) | 2004-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4193118A (en) | Low pass digital averaging filter | |
EP0136834A2 (en) | A digital circuit performing an arithmetic operation with an overflow | |
KR20040036911A (ko) | 거듭제곱 올림회로 | |
US5177703A (en) | Division circuit using higher radices | |
KR20040036910A (ko) | 곱셈기 회로 | |
CN111198673B (zh) | 字长调整方法、装置、设备及存储介质 | |
CN114201140B (zh) | 指数函数处理单元、方法和神经网络芯片 | |
WO2018131059A1 (ja) | ニューラルネットワーク回路 | |
KR100204564B1 (ko) | 업/다운 계수기를 이용한 고속 상관기 | |
CN114281304A (zh) | 随机计算方法、电路、芯片及设备 | |
KR100319643B1 (ko) | 직교가변확산계수 코드 발생회로 | |
EP1452959A1 (en) | RANDOM NUMBER STRING OUTPUT APPARATUS&comma; RANDOM NUMBER STRING OUTPUT METHOD&comma; PROGRAM&comma; AND INFORMATION RECORDING MEDIUM | |
RU2756408C1 (ru) | Вычислительное устройство | |
RU2739338C1 (ru) | Вычислительное устройство | |
US4748581A (en) | Digital root extraction circuit | |
RU2799035C1 (ru) | Конвейерный сумматор по модулю | |
RU2299460C1 (ru) | Умножитель на два по модулю | |
RU2823911C1 (ru) | Конвейерный накапливающий сумматор по произвольным модулям | |
KR100564765B1 (ko) | 유한체 다항식 나눗셈 장치 및 그 방법 | |
KR20000009759A (ko) | 모듈러 곱셈기 | |
CN1235414A (zh) | 供滤波器中系数应用的多端口寄存器堆 | |
SU518781A1 (ru) | Вычислительное устройство цифровой интегрирующей структуры | |
KR100216587B1 (ko) | 움직임 추정기의 연산장치 | |
KR940007927B1 (ko) | 디지탈 필터의 곱셈회로 | |
RU2081508C1 (ru) | Рекурсивный цифровой фильтр |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20040216 Patent event code: PA01051R01D Comment text: International Patent Application |
|
N231 | Notification of change of applicant | ||
PN2301 | Change of applicant |
Patent event date: 20040311 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |