KR19980702882A - 시프트 수단을 이용한 지수 회로 및 사용 방법 - Google Patents

시프트 수단을 이용한 지수 회로 및 사용 방법 Download PDF

Info

Publication number
KR19980702882A
KR19980702882A KR1019970706290A KR19970706290A KR19980702882A KR 19980702882 A KR19980702882 A KR 19980702882A KR 1019970706290 A KR1019970706290 A KR 1019970706290A KR 19970706290 A KR19970706290 A KR 19970706290A KR 19980702882 A KR19980702882 A KR 19980702882A
Authority
KR
South Korea
Prior art keywords
value
output
circuit
exponential
signal
Prior art date
Application number
KR1019970706290A
Other languages
English (en)
Other versions
KR100284799B1 (ko
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 안쏘니제이.살리,주니어
Publication of KR19980702882A publication Critical patent/KR19980702882A/ko
Application granted granted Critical
Publication of KR100284799B1 publication Critical patent/KR100284799B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • 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/556Logarithmic or exponential functions
    • 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/552Powers or roots, e.g. Pythagorean sums

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)

Abstract

지수 신호 xg를 계산하는 회로 및 방법을 제공한다. 회로는 입력 신호 x의 로그를 나타내는 2진 워드로 입력 신호를 변환하는 대수 변환기(4)를 포함한다. 제1 시프트 레지스터(8)는 제1 중간값을 발생하기 위해 비트 형태로 2진 워드를 시프트 하고; 제2 시프트 레지스터(28)는 제2 중간값을 발생하기 위해 비트 형태로 2진 워드를 시프트 한다. 시프트 레지스터는 멀티플렉서를 사용하여 수행될 수 있다. 시프트 동작은 2승의 인수로 중간값을 곱하는 것과 같다. 제1 중간값은 결합값을 발생하기 위해 제2 중간값으로 더하거나 뺀다. 역대수(34)는 결합값을 지수 신호로 변환한다.

Description

시프트 수단을 이용한 지수 회로 및 사용 방법
〈관련발명〉
본 발명은 본 발명과 동일한 양수인에게 양도된 다음 발명들과 관련이 있다.
(1) 1994년 1월 3일에 출원번호 제 08/176,601 호로 출원된 Neural Network Utilizing Logarithmic Function and Method of Using Same.
(2) 1995년 1월 31일에 출원번호 제 08/403,158 호로 출원된 Logarithm / Inverse-Logarithm Converter Utilizing Second-Order Term and Method of Using Same.
(3) 1995년 3월 13일에 출원번호 제 08/403,158 호로 출원된 Computer Processor Utilizing Logarithmic Convertion and Method of Use Thereof.
상기 관련 발명들의 주제는 본 발명의 공개와 더불어 언급된 것에 의해 통합된다.
지수값 xg을 계산하는 것은 디지탈 컴퓨터에서는 통상적인 작업이 되어가고 있다. 지수값은 비선형 제어, 디지탈 신호 처리, 시뮬레이션, 및 암호처리와 같은 광범위한 컴퓨터 응용분야에 사용된다. 그러나 지수값을 계산하는 종래 기술은 여러 가지 단점이 있다.
지수값을 계산하는데 보통 사용되는 하나의 접근 방법은 2진 곱셈 회로를 컴퓨터에 구성하는 것이다. 사실은, 최신의 많은 마이크로프로세서는 그들의 코어 로직(core logic)내에 일 이상의 곱셈기를 포함한다. 일반적으로, 곱셈기들은 한 번에 두 개의 연산수를 곱할 수 있다. 지수값 xg을 계산하기 위하여, 입력 x는 곱셈기의 양쪽 입력에 공급된다. 차례로, 곱셈기는 x2의 출력을 발생한다. x9과 같은 더높은 승수의 지수값을 원한다면, 곱셈기의 출력은 곱셈기의 하나 또는 양측으로 피드백되고, 곱셈 피드백 싸이클은 원하는 지수값이 계산될 때까지 반복된다.
이러한 방법은 여러 가지 결점이 있다. 먼저, 종래 2진 곱셈 회로는 집적회로내에 비교적 대량의 공간을 필요로 한다. 게다가, 그들은 일반적으로 느리며, 어떤경우에는 하나의 곱셈을 완료시키기 위해 많은 클록 싸이클을 필요로 하고, 가산기와 같이 다른 산수 회로와 비교할 때 많은 전력을 소모한다. 이런 방법의 또 다른 한계는 2 이상의 멱을 가진 지수값을 계산하기 위하여 부가적인 곱셈 싸이클을 필요로한다. 예를 들어, x16의 지수값 계산은 단일 곱셈 회로를 사용하는 최소한 네 개의 곱셈 싸이클이 필요한다. 결과적으로, 이러한 계산은 컴퓨터의 처리량을 극적으로 감소시킨다.
지수값을 계산하는 또다른 공지된 방법은 아날로그 입력값으로부터 지수값을 결정하는 아날로그 회로를 제공하는 것이다. 일반적으로, 지수 역시 하나의 아날로그 신호로서 이 신호는 컴퓨터에 의해 사용되기 전에 아날로그-디지탈 변환기에 의해 2진 워드로 변환되어야 한다. 비록 아날로그 지수 회로는 상기 설명된 2진 워드를 반복하여 곱하는 것보다 지수값을 계산하는 데 보통 더 적은 시간이 필요하지만, 일반적으로 비싸고 컴퓨터에 설치하기가 어렵다.
필수적으로, 지수값을 계산하기 위한 장치가 필요하며, 이 장치는 실질적으로 적은 시간에 지수값을 계산하고, 집적회로상에 공간과 전력이 작아야 하고, 상기 설명된 종래 기술보다 디지탈 컴퓨터에 더욱 경제적으로 합체되어야 한다.
본 발명은 일반적인 전자 회로에 관한 것으로서, 특히 입력 신호에 응답하여 지수 신호를 발생하는 회로에 관한 것이다.
본 발명은 첨부된 청구범위에 상세하게 설명된다. 그러나, 발명의 다른 태양은 첨부된 도면과 함께 발명의 상세 설명을 참조하여 더욱 명백하게 이해될 것이다:
도 1은 본 발명의 일 실시예에 따른 지수 회로의 블록도.
도 2는 본 발명의 다른 실시예에 따른 지수 함수의 불록도.
도 3은 도 2의 지수 회로에 사용될 수 있는 지수 코드의 예를 설명한 표.
도 4는 도 2의 지수 회로에 사용될 수 있는 지수 코드의 예를 설명한 두 번째 표.
도 5는 본 발명의 또 다른 실시예에 따른 지수 회로의 블록도.
도 6은 본 발명의 바람직한 실시예에 따른 지수 회로의 블록도.
도 7은 도 6의 지수 회로에 사용될 수 있는 지수 코드의 예를 설명한 표.
도 8은 다수의 계산 성분을 포함한 지수 회로의 블록도.
도 9는 본 발명의 실시예에 따른 지수 회로를 포함하는 컴퓨터 시스템의 블록도.
도 10은 입력 신호로부터 지수 신호를 발생하는 방법에 관한 흐름도.
도 11은 입력 과정에서 발생되는 다수의 지수 신호를 포함한 항을 발생하는 방법에 관한 흐름도.
본 발명의 장점은 높은 데이터 처리율을 가진 지수 회로를 제공한다는 것이다. 본 발명의 다른 장점은 실질적으로 집적 회로상에서 적은 전력과 공간을 필요로 하는 지수 회로를 제공하는 것이다. 본 발명의 또 다른 장점은 단일 칩상에 마이크로프로세서 코어(core) 또는 다른 디지털 로직을 합체하기가 쉽고 실행시키는데 경제적인 지수 회로를 제공하는 것이다.
일반적으로, 본 발명은 입력 신호로부터의 지수 신호를 계산하는 회로를 제공한다. 이것은 입력 신호로부터 2진 로그값을 발생시키기 위해 대수 변환기를 사용하여 이루어 진다. 그리고 시프트 레지스터는 중간값을 발생하기 위해 2진 로그값의 비트를 시프트한다. 시프트 동작은 2제곱 인수에 의해 2진 로그값을 곱한 것과 같다. 중간값은 저장된 값과 더해지고, 지수 신호는 더해진 값에서 역대수 변환을 수행하여 발생한다.
도 1 은 본 발명의 실시예에 따른 지수 회로(40)의 블록도를 설명한다. 지수 회로(40)는 로그 회로(4), 계산항(9), 및 역대수회로(34)를 포함한다. 계산항(9)은 시프트 레지스터(8), P/I 유니트(12), 가산 회로(24), 레지스터(28), 및 제어 유니트(16)를 포함한다. 로그 회로(4)는 입력(2)의 입력 신호를 수신하고 각 입력 신호를 다수의 비트를 가진 2진 로그값(6)으로 변환한다. 2진 로그값(6)을 수신하면서, 시프트 레지스터(8)는 중간값(10)을 발생시키기 위해 입력에서 산술적 시프트를 수행한다. 시프트의 거리는 제어 유니트(16)에 의해 발생된 시프트 신호(18)에 의해 결정된다. 중간값(10)을 수신한 후, P/I 유니트(12)는 버스(14)로 중간값(10)을 넘기거나 중간값(10)을 변환시켜 변환된 값을 버스(14)로 넘긴다. P/I 유니트(12)의 기능은 제어 유니트(16)에 의해 제공된 재어 신호(20)에 의해 결정된다. 가산 회로(24)는 피드백 경로(30)를 통해 수신된 저장된 값, 버스(14)상에 공급된 값, 및 출력(26)에서 결합된 값을 발생시키기 위한 캐리 비트(22)를 더한다. 더해진 값은 레지스터(28)에 저장된다. 레지스터(28)는 버스(32)에서 더해진 값 그리고 피드백 경로(30)상에서는 저장된 값으로서 역대수 회로(34)로 제공한다. 역대수 회로(34)는 더해진 값의 역대수를 취하여 츨력(36)에서 지수 신호를 발생시킨다.
로그 회로(4)는 입력 신호의 로그를 표시하는 2진 값으로 입력 신호를 변환시는 어떤 수단이 될 수 있다. 예를 들어, 로그 회로는 로그 변환 기능을 가진 증폭기 및 증폭기의 출력을 2진 워드로 변환시키는 아날로그-디지털 변환기를 포함하는 아날로그 회로가 될 수 있다. 이러한 예에서는, 입력 신호는 증폭기의 다이나믹한 범위에서 연속적으로 변하는 전류 또는 전압일 수 있다. 그러나, 바람직한 실시예에서는, 로그 회로(4)는 상기 관련 발명 제2 호에서 설명된 대수 변환기를 포함한다. 이 대수 변환기는 IEEE 규격 32 비트 부동점 값을 표시하는 입력 신호를 수신하고, 8 비트 정수부와 23 비트 소수부를 가진 2진 로그값을 발생시키기 위하여 2차 다항식을 실행한다. 각 입력 신호의 부호 비트는 역대수회로(34)로 직접 패스되어(도시되지 않음)여기서 대응 지수 신호와 재결합하고, 그 신호는 IEEE 규격 32 비트 부동점 값에 의해 표현된다.
역대수회로(34)는 2진 워드의 입력으로서 수신되는 어떤 수단일 수 있고 2진 워드의 역대수 출력으로서 발생한다. 그러나, 바람직한 실시예에서는, 역대수회로(34)는 상기 관련 발명 제2 호에 설명된 역대수 변환기를 포함한다. 이 역대수 변환기는 더해진 값의 소수 및 정수부를 수신하고, 차례로 IEEE 32비트 부동점 값에 의해 표현된 지수 신호를 발생시킨다. 이러한 역대수 변환기는 부동점 지수 신호를 각각의 부호 비트와 재결합시키는 수단(도시되지 않음)을 포함한다.
바람직한 실시예에서, 로그 회로(4), 계산항(9), 및 역대수회로(34)는 신호 적분 회로에서 수행된다. 그러나, 해당 기술에 익숙한 사람은 로그 회로(4) 또는 역대수회로(34)가 여러 가지 다른 방식으로 수행될 수 있으며 본 발명의 지침에 따른다는 것을 이해하게 될 것이다. 예를 들어, 두 회로는 마이크로프로세와 같은 일반 목적의 프로세서상에서 돌아가는 소프트웨어처럼 수행될 수도 있고 또는 독립 아날로그 회로처럼 수행될 수도 있다. 게다가, 통상의 기술자는 로그 및 역대수 변환기가 모든 수에 기초한다는 것을 인식할 것이다.
시프트 레지스터(8)는 비트 방식으로 수신되는 값을 시프트하는데 사용된다. 시프트 동작은 2진 로그값(6)을 2차 인수로 곱하거나 나누는 것과 같다. 시프트된 결과는 중간값(10)이다. 본 발명의 실시예가 어떤 값이 시프트되는 비트 거리상에서 어떠한 제한이 없더라도, 바람직한 실시예는 시프트 레지스터(8)가 0에서 3 비트 범위내에서 2진 로그값을 일 비트 거리로 시프트시킬 수 있다는 것을 보여준다. 각 2진 로그값(6)이 시프트되는 거리는 제어 유니트(16)에 의해 제공된 시프트 신호(18)에 의해 결정된다. 2진 로그값(6)의 비트를 최상위 비트(MSB)로 시프트 하여(전형적으로 왼쪽으로), 시프트 레지스터(8)는 2차 인수에 의해 곱해진 중간값(10)을 만들어낸다. 반대로, 2진 로그값(6)의 비트를 최하위 비트(LSB)값으로 시프트 하여(전형적으로 오른쪽으로), 시프트 레지스터(8)는 2차 인수에 의해 나누어진 중간값(10)을 만든다. 시프트 레지스터(8)가 값을 왼쪽으로 시프트 시키면, 지수 회로(40)는 x2, x4와 같은 정수 지수를 가진 지수 신호를 만들고, 여기서 x는 입력 신호이며, 반대로 오른쪽으로 시프트 되는 동안은 x1/2, x1/4와 같은 분수형 지수를 가진 지수 신호를 만들어 낸다.
P/I 유니트(12)는 제어 유니트(16)로부터의 제어 신호(12)에 응답하여 중간값(10)을 반전 시킨다. P/I 유니트(12)가 중간값(10)을 반전 시키고 반전된 값에 캐리 비트(22)를 대응시켜, 제어 유니트(16)는 두 개의 보수 형태로 중간값(10)을 변환시키고, 가산 회로(24)가 저장된 값으로부터 버스(14)상에서 사용되는 변환된 중간값을 빼도록 한다.
가산 회로(24)와 레지스터(28)는 연속적인 중간값이 축적되도록 상호 작용한다. 게다가, 레지스터(28)는 계수값과 같은 값으로 프리로드될 수 있다. 가산기 회로(24)는 레지스터(28)에 연속적으로 저장된 결합된 값을 발생하기 위하여 버스(14)와 피드백 경로(30)상에서 수신하는 값을 더한다. 결합된 값은 가산 회로(24)의 두 입력에 제공된 값의 합이다. 피드백 경로(30)에 제공된 저장값은 레지스터(28)의 내용물이다.
제어 유니트(16)는 전형적으로 다수의 지수 코드를 저장하고(도시되지 않음), 여기에서 각 지수 코드는 입력 신호에 대응한다. 각 입력 신호가 지수 회로(40)에 의해 수신되어, 제어 유니트(16)는 입력 신호에 대응하는 시프트 신호(18), 제어 신호(20), 및 캐리 비트(22)를 발생하기 위해 대응 지수 코드를 디코드시킨다. 그러나, 본 발명의 다른 버전에서는, 지수 코드를 저장하는 분할 메모리 또는 지수 코드나 회로에 연결된 마이크로프로세서같은 호스트 프로세서처럼 제어 유니트(16)에 연결되고 지수 회로(40)에서 분리되어 있는 코드를 발생하는 수단에 의해 지수 코드가 제공된다.
동작에 있어서, 지수 회로(40)는 연속적인 입력 신호로부터 계산된 다수의 지수 신호를 포함하는 단일 입력 신호 또는 간격에 대한 지수 신호를 계산할 수 있다. 두가지 경우에 있어서, 단일 입력 신호로부터 지수 신호를 계산하는 것은 일 이상의 덧셈 주기가 필요하다. 이것은 덧셈 주기가 실행되는 동안 2진 로그값(6)을 저장하고 각 주기동안 P/I 유니트(12)에 저장된 2진 로그값을 제공하는 부가적인 저장 수단(도시되지 않음)을 필요로 한다. 이러한 저장 수단은 로그 회로(4) 또는 시프트 레지스터(8)에 구성될 수 있다.
지수 회로(40)의 동작은 지수 신호(x7)를 계산하는 예를 고려하여 설명할 수 있다. x7의 계산은 두 개의 덧셈 주기가 필요하다. 각 주기동안, 시프트 레지스터(8)는 상이한 중간값(10)을 제공한다.
첫 번째 덧셈 주기동안, 입력 신호(x)는 로그 회로(4)에 의해 2진 로그값(6)으로 변환되고 부가 저장 수단과 시프트 레지스터(8)로 제공된다. 제어 유니트는 시프트 신호(18)를 발생시켜 시프트 레지스터(8)가 3비트 차이인 2진 로그값(6)을 시프트 하여 2진 로그값(6)의 8배인 중간값(10)을 발생시킨다. 또한 제어 유니트(16)는 제어 신호(20)를 발생시켜 중간값(10)이 그대로 P/I 유니트(12)를 통과하여 버스(14)를 통해 가산 회로(24)로 패스된다. 가산 회로(24)는 피드백 경로(30)에 의해 제공된 값인 레지스터(28)에 저장된 값에 중간값(10)을 더한다. 처음에, 저장값은 제로 또는 계수값으로 설정될 수 있다. 레지스터(28)의 내용는 가산 회로(24)의 출력(26)에 제공된 결합값으로 갱신된다.
두 번째 덧셈 주기동안, 제어 유니트(16)는 캐리 비트(22)와 시프트 신호(18)를 발생시켜 시프트 레지스터(8)는 그것을 시프트 하지 않고 저장된 2진 로그값을 통과시킨다. 또한 제어 유니트(16)는 제어 신호(20)를 발생하여 P/I 유니트(12)는 중간값(10)을 반전시킨다. 반전 결과, 사실상 가산 회로(24)는 2진 로그값(6)의 7배인 마지막 결합값을 만들기 위해 피드백 경로(30)에 제공된 저장값으로부터 중간값(10)을 뺀다. 마지막 결합값은 레지스터(28)에 저장되고 버스(32)로 역대수회로(34)에 제공된다. 역대수회로(34)는 저장값을 역대수 변환 시켜 지수 신호 x7를 만든다.
도 2 는 본 발명의 다른 실시예에 따른 지수 회로(100)의 블록도를 설명한다. 지수 회로(100)는 일 이상의 지수 신호를 포함하는 항을 계산하는 도 1 에 도시된 지수 회로(40)와 같은 기능을 수행한다. 그러나, 지수 회로(100)는 부가 시프트 레지스터를 포함하고, 도 1 의 지수 회로(40)보다 적은 부가 주기를 요구한다. 지수 회로(100)는 로그 회로(4), 계산 성분(99), 및 역대수회로(34)를 포함한다. 계산 성분(99)은 P/I 유니트(72), P/Z 유니트(60), 제1 시프트 레지스터(56), 제2 시프트 레지스터(68), 제1 멀티플렉서(64), 제2 멀티플렉서(76), 가산 회로(80), 디멀티플렉서(84), 제1 레지스터(94), 제2 레지스터(90), 및 제어 유니트(104)를 포함한다.
로그 회로(4)는 그 입력(2)에서 일 이상의 입력 신호를 수신하고 다수의 비트를 가진 2진 로그값으로 각 입력 신호를 변환한다. 2진 로그값은 버스(54)에 의해 제1 시프트 레지스터(56)와 제2 시프트 레지스터(68)로 공급된다. 2진 로그값을 수신하면서, 제1 시프트 레지스터(56)는 버스(58)상에서 제1 중간값을 발생하기 위해 값의 산술적인 이동을 수행한다. 시프트 간격은 제어 유니트(104)에 의해 발생된 제1시프트 신호(106)에 의해 결정된다. 제2 시프트 레지스터(68)는 버스(70)에서 제2 중간값을 발생하기 위해 제2 로그값으로 산술적 이동을 수행한다. 제2 시프트 레지스터(68)는 버스(70)에서 제2 중간값을 발생하기 위해 2진 로그값으로 산술적 이동을 수행한다. 시프트 간격은 제어 유니트(104)에 의해 발생된 제2 시프트 신호(108)에 의해 결정된다. 제1 시프트 레지스터(56)와 제2 시프트 레지스터(68)는 오른쪽 또는 왼쪽으로 2진 로그값을 시프트한다.
버스(70)에서 입력을 수신한 후, P/I 유니트(72)는 버스(74)로 제2 중간값을 패스하거나 중간값을 반전시킨 후 버스(74)로 반전된 값을 패스시킨다. P/I 유니트(72)의 기능은 제어 유니트(104)에 의해 공급된 제2 제어 신호(120)에 의해 결정된다. P/Z 유니트(60)는 제어 유니트(104)에 의해 공급된 제1 제어 신호(110)값에 의해 제1 중간값 또는 제로를 버스(62)로 패스시킨다.
제1 멀티플렉서(64)는 버스(62), 피드백 버스(96), 또는 제2 레지스터(90)의 출력(92)으로 출력(66)을 연결한다. 제1 멀티플렉서(64)의 출력(66)은 제어 유니트(104)에 의해 제공된 제1 먹스 신호(112)에 의해 결정된다. 제2 멀티플렉서(76)는 버스(74) 또는 제2 레지스터(90)의 출력(92)으로 출력(78)을 연결한다. 제2 멀티플렉서(76)의 출력(78)은 제어 유니트(104)에 의해 제공된 제2 먹스 신호(116)에 의해 결정된다.
가산 회로(80)는 제1 및 제2 멀티플렉서(64)의 출력(66 및 78)을 합산한다. 디멀티플렉서(84)는 디먹스 신호(118)값에 의해 제2 레지스터(90) 또는 제1 레지스터(94)로 가산회로(80)의 출력(82)를 공급한다. 제1 레지스터(94)가 합산된 내용을 피드백 버스(96)나 출력(98)으로 공급할 때, 제2 레지스터는 내용을 출력(92)으로 합체된 값을 공급한다. 역대수회로(34)는 합의 역대수를 취하여 출력(36)으로 일 이상의 지수 신호를 나타내는 항을 발생한다.
전형적으로 제어 유니트(104)는 다수의 지수 코드를 저장하고(도시되지 않음), 여기에서 각각 지수 코드는 입력 신호에 대응한다. 각 입력 신호가 지수 회로(100)에 의해 수신됨에 따라, 제어 유니트(104)는 제1 및 제2 제어 신호(110,120); 제1 및 제2 시프트 신호(106, 108); 제1 및 제2 먹스 신호(112, 116), 디먹스 신호(118), 및 캐리 비트(114)를 발생하기 위해 대응 코드를 디코드한다. 그러나, 본 발명의 다른 버전에서, 지수 코드는, 지수 코드를 저장하는 분리 메모리 또는 회로에 연결된 마이크로프로세서같은 호스트 프로세서처럼, 제어 유니트(104)에 연결되어 있고 지수 회로(100)로부터 분리되어 있는 코드를 발생하는 수단에 의해 제공된다.
동작에 있어서, 지수 회로(100)는 단일 입력 신호용 지수값 또는 일련의 입력 신호로부터 계산된 다수의 지수 신호를 포함하는 항을 계산할 수 있다. 양 경유에 있어서, 단일 입력 시호로부터 지수 신호를 계산하는 것은 바람직한 실기예에서 하나의 부가 싸이클을 필요로 한다. 그러나, 다수의 지수값을 포함하는 항을 계산하는 것은 모든 입력 신호에 두 개의 부가 싸이클을 필요로 한다. 이것은 다음과 같이 설명된다. 입력 신호가 수신될 때, 제1 부가 싸이클의 결과는 결합값으로서 제2 레지스터(90)에 저장된다. 이것은 제1 및 제2 먹스 신호(112)를 요구하는 제어 유니트(104)에 의해 이루어 지므로 P/I 유니트(72) 및 P/Z 유니트(60)의 출력은 가산 회로(80)에 제공된다. 게다가, 제어 유니트(104)는 제2 레지스터(90)를 선택하기 위해 디먹스 신호(118)를 요구한다.
제2 싸이클 동안에는, 저장값 및 결합값은 각각 피드백 버스(96)와 출력(92)을 통해 가산회로(80)의 입력에 제공된다. 그후 제2 부가 싸이클에 의해 생성된 합은 제1 레지스터(94)에 저장된 값을 갱신한다. 제2 싸이클은 제1 및 제2 먹스 신호(112,116)를 요구하는 제어 유니트(104)에 의해 수행되므로 출력(92)과 피드백(96)은 가산회로(80)에 입력으로 제공된다. 그후 제어 유니트(104)는 제1 레지스터(94)를 선택하기 위해 디먹스 신호(118)를 요구하여 싸이클의 결과는 제1 레지스터(94)에 장착된다.
동작에서, 제1 레지스터(94)에 저장값은, 전형적으로, 흐름내에서 선 입력 신호로부터 발생된 중간값의 합이다. 그러나 처음에 저장된 값은 상수 로그인 계수값일 수도 있다. 또한 제1 및 제2 레지스터(94, 90)는 제로로 미리 설정될 수 있다.
도 3은 지수 회로(100)에 사용될 수 있는 지수 코드의 예를 설명하는 표이다. 표는 본 발명의 바람직한 실시예에서 사용되는 대응 제어 및 시프트 신호와 코드가 리스트되어 있다. 또한 그 표는 가산 회로(114)의 동작과 각 지수 코드에 대응하는 캐리 비트(114)의 값을 설명한다. 표의 각 열은 지수 코드중 하나에 대응하는 캐리 비트와 신호값을 나타낸다.
예로서, 제1열에서는, 지수 코드 0 는 x-1가 지수 회로(100)에 의해 발생되는 것을 나타낸다. 입력 신호에 대한 지수 코드가 0이라면, 제2 중간값은 2진 로그값과 같게되고, 제1 중간값은 제로로 설정되고, 결합값은 제1 중간값으로부터 제2 중간값을 감산하여 생성된다.
제2열에서, 지수 코드 1는 x1의 발생을 나타낸다. 지수 코드가 입력 신호에 대하여 1이면, 제2 중간값은 2진 로그값과 같게되고, 제1 중간값은 제로로 설정되고, 결합값은 제1 중간값에 제2 중간값을 더하여 생성된다.
제3열에서, 지수 코드 10 는 x2가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 10이면, 지수 코드는 x2가 생성됨을 나타내고, 제2 중간값은 2진 로그값을 왼쪽으로 일 비트 거리만큼 시프트 시켜 발생되고, 제1 중간값은 제로로 설정되고, 결합값은 제2 중간값을 제1 중간값에 더하여 생성된다.
제4열에서, 지수 코드 11 는 x3가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 11이면, 제2 중간값은 2진 로그값을 왼쪽으로 일 비트 거리만큼 시프트 시켜 발생되고, 제1 중간값은 2진 로그값과 같게되고, 결합값은 제2 중간값을 제1 중간값에 더하여 생성된다.
제5열에서, 지수 코드 100 는 x4가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 100이면, 제2 중간값은 2진 로그값을 왼쪽으로 2 비트 거리만큼 시프트 시켜 발생되고, 제1 중간값은 제로로 설정되고, 결합값은 제2 중간값을 제1 중간값에 더하여 생성된다.
제6열에서, 지수 코드 101 는 x5가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 101이면, 제2 중간값은 2진 로그값을 왼쪽으로 2 비트 거리만큼 시프트 시켜 발생되고, 제1 중간값은 2진 로그값과 같게 되고, 결합값은 제2 중간값을 제1 중간값에 더하여 생성된다.
제7열에서, 지수 코드 110은 x6가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 110이면, 제2 중간값은 2진 로그값을 왼쪽으로 2 비트 거리만큼 시프트 시켜 발생되고, 제1 중간값은 2진 로그값을 왼쪽으로 일 비트 거리만큼 시프트 시켜 발생되고, 결합값은 제2 중간값을 제1 중간값에 더하여 생성된다.
제8 열에서, 지수 코드 111 는 x7가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 111이면, 제2 중간값은 2진 로그값과 같게 되고, 제1 중간값은 2진 로그값을 왼쪽으로 3 비트 거리만큼 시프트 시켜 발생되고, 결합값은 제2 중간값을 제1 중간값에서 감산하여 생성된다.
도 4는 도 2 의 지수 회로와 함께 사용할 수 있는 지수 코드의 다른 예를 설명하는 제1 표이다. 표에는 코드와 그 대응하는 제어 및 시프트 신호가 리스트되어 있다. 또한 표는 가산 회로(80)의 동작과 각각의 지수 코드에 대응하는 캐리 비트(114)의 값을 설명한다. 테이블의 각 열은 지수 코드중 하나에 대응하는 신호값과 캐리 비트를 표시한다.
예를 들어, 제1열에서, 지수 코드 0 는 x-1가 지수 회로(100)에 의해 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 0이면, 제2 중간값은 2진 로그값과 같게 되고, 제1 중간값은 제로로 설정되고, 결합값은 제2 중간값을 제1 중간값으로부터 감산하여 생성된다.
제2열에서, 지수 코드 1 는 x-1/2가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 1이면, 제2 중간값은 2진 로그값을 일 비트 오른쪽으로 시프트 시켜 발생되고, 제1 중간값은 2진 로그값으로 설정되고, 결합값은 제1 중간값을 제2 중간값으로부터 감산하여 생성된다.
제3열에서, 지수 코드 10 는 x1/2가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 10이면, 제2 중간값은 일 비트 오른쪽으로 시프트되고, 제1 중간값은 제로로 설정되고, 결합값은 제2 중간값을 제1 중간값에 더하여 생성된다.
제4열에서, 지수 코드 11 는 x1가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 11이면, 제2 중간값은 2진 로그값과 같게 되고, 제1 중간값은 제로로 설정되고, 결합값은 제2 중간값을 제1 중간값에 더하여 생성된다.
제5열에서, 지수 코드 100 는 x2가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 100이면, 지수 코드는 x2가 생성됨을 나타내고, 제2 중간값은 2진 로그값을 왼쪽으로 일 비트 거리만큼 시프트시켜 발생하고, 제1 중간값은 제로로 설정되고, 결합값은 제2 중간값을 제1 중간값에 더하여 생성된다.
제6열에서, 지수 코드 101 는 x3가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 101이면, 제2 중간값은 2진 로그값을 일 비트만큼 왼쪽으로 시프트시켜 발생되고, 제1 중간값은 2진 로그값과 같게 되고, 결합값은 제2 중간값을 제1 중간값에 더하여 생성된다.
제7열에서, 지수 코드 110 는 x4가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 110이면, 제2 중간값은 2진 로그값을 왼쪽으로 2비트 거리만큼 시프트 시켜발생되고, 제1 중간값은 제로로 설정되고, 결합값은 제2 중간값을 제1 중간값에 더하여 생성된다.
제8열에서, 지수 코드 111 는 x5가 생성됨을 나타낸다. 지수 코드가 입력 신호에 대하여 111이면, 제2 중간값은 2진 로그값을 왼쪽으로 2비트 거리만큼 시프트시켜 발생되고, 제1 중간값은 2진 로그값과 같게되고, 결합값은 제2 중간값을 제1 중간값에 더하여 생성된다.
도 5는 본 발명의 또다른 실시예에 따른 지수 회로(192)의 블록도를 설명한다. 지수 회로(192)는 일 이상의 지수 신호를 포함하는 항을 계산함에 있어서 도 2 에 도시된 지수 회로(100)와 같은 기능을 수행한다. 그러나, 지수 회로(192)는 제2 가산 회로(166)를 포함하고, 입력 신호당 오직 하나의 부가 싸이클을 필요로 한다.도 5 의 지수 회로(192)가 도 2 의 지수 회로(100)보다 더 빠르더라도, 그것은 집적 회로로서 수행될 때 더 많은 공간을 소비한다.
지수 회로(192)는 로그 회로(4), 계산 성분(191), 및 역대수회로(34)를 포함한다. 계산 성분(191)은 P/I 유니트(160), P/Z 유니트(150), 제1 시프트 레지스터(146), 제2 시프트 레지스터(156), 제1 가산회로(154), 제2 가산 회로(166), 레지스터(170), 및 제어 유니트(180)를 포함한다.
로그 회로(4)는 입력(2)에서 일 이상의 입력 신호를 수신하고 각 입력 신호를 다수 비트를 가진 2진 로그값으로 변환한다. 2진 로그값은 제1 시프트 레지스터(146)와 제2 시프트 레지스터(156)로 버스(144)에 의해 공급된다. 2진 로그값을 수신하면서, 제1 시프트 레지스터(146)는 버스(148)상에서 제1 중간값을 발생하기 위하여 입력에서 산술적 시프트를 수행한다. 시프트의 거리는 제어 유니트(180)에 의해 발생되는 제1 시프트 신호(182)에 의해 결정된다. 제2 시프트 레지스터(156)는 버스(144)상에서 수신하는 입력에서 산술적 시프트를 수행하여 버스(158)상에서 제2 중간값을 발생한다. 시프트의 거리는 제어 유니트(180)에 의하여 발생되는 제2 시프트 신호(189)에 의해 결정된다.
버스(158)에서 입력을 수신한 후, P/I 유니트는 버스(162)로 2진 로그값을 패스하거나 2진 로그값으로 반전시키고, 반전된 값을 버스(162)로 패스한다. P/I 유니트(160)의 기능은 제어 유니트(180)에 의해 공급된 제2 제어 신호(188)에 의해 결정된다. P/Z 유니트(150)는 제어 유니트(180)에 의해 공급된 제1 제어 신호(184)의 값에 따라 2진 로그값이나 제로를 버스(152)로 패스한다.
제1 가산회로(154)는 버스(152,162)에 공급되는 P/Z 유니트(150)와 P/I 유니트(160)의 출력을 합산한다. 제1 가산 회로(154)의 출력(164)은 제2 가산 회로(166)에 공급된다. 제2 가산 회로(166)는 또한 피드백 버스(172)에서 레지스터(170)의 출력을 수신하고 출력(168)에서 레지스터(170)로 공급되는 합산 결과를 발생한다. 역대수회로(34)는 출력(174)에서 레지스터(170)에 의해 공급된 합을 역대수 변환시켜 일 이상의 지수 신호를 표시하는 항을 출력(36)으로 발생시킨다.
제어 유니트(180)는 전형적으로 다수의 지수 코드를 저장하고(도시되지 않음), 각 지수 코드는 입력 신호에 대응한다. 각 입력 신호가 지수 회로(192)에 의해 수신되면, 제어 유니트(180)는 대응 코드를 디코드시켜 제1 및 제2 제어 신호(184,188); 제1 및 제2 시프트 신호(182,189), 및 캐리 비트(186)를 발생시킨다.
동작에서, 지수 회로(192)는 일련의 입력 신호로부터 계산된 다수의 지수 신호를 포함하는 단일 입력 신호나 항에 대한 지수 신호를 계산할 수 있다. 다른 경우에는, 단일 입력 신호로부터 지수 신호를 계산하는 것은 단지 하나의 부가 싸이클만을 필요로 한다.
도 6은 본 발명의 바람직한 실시예에 따른 지수 회로의 블록도를 설명한다. 바람직한 지수 회로(218)는 도 2와 5에 도시된 지수 회로(100)와 같은 기능을 수행하고 일 이상의 지수 신호를 포함하는 항을 계산한다. 게다가, 도 5에 도시된 지수 회로(192)와 같이, 바람직한 실시예의 지수 회로(218)는 입력 신호당 오직 하나의 부가 싸이클을 필요로 한다. 그러나, 도 5의 지수 회로(192)와는 반대로, 바람직한 지수 회로(218)는 시프트 레지스터 대신 멀티플렉서를 사용하고 도 5 의 지수 회로(192)보다 더 적은 전력과 실리콘 공간을 필요로 한다.
지수 회로(218)는 로그 회로(4), 계산 성분(217), 및 역대수회로(34)를 포함한다. 계산 성분(217)는 제1 멀티플렉서(199), 제2 멀티플렉서(203), 제3 멀티플렉서(210), 제1 가산 회로(208), 제2 가산 회로(212), 레지스터(214), 및 제어 유니트(201)를 포함한다.
로그 회로(4)는 입력(2)에서 일 이상의 입력 신호를 수신하고 각 입력을 다수의 비트를 가진 2진 로그값으로 변환한다. 2진 로그값은 버스(190)에 의해 제1 멀티플렉서(199)와 제2 멀티플렉서(203)로 공급된다. 각 멀티플렉서는 네 개의 입력중 하나로부터 선택된다. 제1 및 제2 멀티플렉서는 모두 패스 입력(193a-b) 및 제로 입력(194a-b)에 제공된다. 게다가, 제1 멀티플렉서(199)는 1비트 좌측 시프트 입력(195)과 1비트 우측 시프트 입력(196)을 수신하고; 그동안 제1 멀티플렉서(203)는 반전된 입력(197)과 2비트 좌측 시프트 입력(198)을 수신한다. 제1 및 제2 멀티플렉서(199,203)로의 입력은 각각 제1 먹스 신호(200)와 제2 먹스 신호(202)에 따라 결정된다.
제1 및 제2 멀티플렉서(199,203)로의 다양한 입력은 2진 로그값의 상이한 비트 조각으로 구성된다. 예를들면, 패스 입력(193a-b)은 간단한 2진 로그값이고, 제로 입력(194a-b)은 제로로 설정된 모든 비트를 가진 2진 워드이다. 한편, 1비트 좌측 시프트 입력(195)은 일비트 좌측으로 시프트된 2진 로그값을 효과적으로 제공한다. 이것은 버스(192)의 최우측 n-1비트를 멀티플렉서 입력의 최좌측 n-1비트로 연결하여 이루어 진다. 여기서 n은 2진 로그값의 비트수이다. 제로는 멀티플렉서 입력의 최하위 비트(최우측 비트)에 공급된다. 2비트 좌측 시프트 입력(198)은 좌로 2비트 시프트된 2진 로그값을 효과적으로 제공한다. 이것은 버스(192)의 최우측 n-2비트를 멀티플렉서 입력의 최좌측 n-2비트에 연결하여 이루어진다. 제로는 멀티플렉서 입력의 두 최상위 비트에 제공된다. 1비트 우측 시프트 입력(196)은 우측으로 일비트 시프트되는 2진 로그값을 효과적으로 제공한다. 이것은 버스(192)의 최좌측 n-1비트 를 멀티 플렉서 입력의 최우측 n-1비트로 연결하여 이루어진다. 제로는 멀티 플렉서 입력의 최상위 비트(최좌측 비트)에 제공된다. 반전된 입력(197)은 2진 로그값의 비트를 반전시켜서 만들어진다. 이것은 2진 로그값의 1-보수 형태를 제공한다.
제1 가산 회로(208)은 제1 및, 제2 멜티플렉서(199, 203)의 출력을 합산한다. 제1 가산기(154)는 캐리 비트(206)과 가산기 인에이블 신호(205)에 응답한다. 제1 가산기(208)의 출력은 제3 멜티플렉서(210)으로 공급된다. 제3 멜티플렉서(210)은 제어 유니트(201)에 의해서 발생된 제3 먹스 신호(204)에 따라서 제1 멜티플렉서(199), 제2 멜티플렉서(203), 또는 제3 가산 회로(208)의 출력을 선택한다.
제2 가산기(212)는 제3 멜티플렉서(210)의 출력과 피드백 경로(216)에 제공되는 저장값을 합산한다. 제2 가산 회로(212)의 출력은 레지스터(14)에 저장된다. 처음에, 레지스터(214)는 계수값 또는 제로와 같은 값으로 먼저 로드될 수 있다. 레지스터(214)의 출력은 피드백 경로(216)과 역대수 변환기(34)로 제공된다. 역대수회로(34)는 레지스터(214)에 의해서 제공된 합에서 역대수 변환을 수행하여 출력(36)의 일 이상의 신호를 나타내는 항을 발생한다.
제어 유니트(201)은 전형적으로 다수의 지수 코드를 저장하고(도시되지 않음), 여기서 각 지수 코드는 입력 신호에 대응한다. 각 입력 신호가 지수 회로(218)에 의해서 수신되면, 제어 유니트(201)은 제1, 제2 및 제3 먹스 신호(200, 202, 및 204) ; 가산기 인에이불 신호(205) ; 및 캐리 비트(206)을 발생하기 위하여 대응 코드를 디코드 시킨다. 그러나, 본 발명의 또 다른 버전에서는, 지수 코드는 회로(218)에 연결된 마이크로프로세서와 같은 호스트 프로세서 또는 지수 코드를 저장하는 분리 메모리와 같이 제어 유니트(201)에 연결되고, 지수 회로(218)로부터 분리된 코드를 발생하는 수단에 의해서 제공된다.
동작에 있어서, 지수 회로(218)은 일련의 입력 신호로부터 계산된 다수의 지수 신호를 포함하는 항, 또는 단일 입력 신호에 대한 지수 신호를 계산할 수 있다. 다른 경우에는 단일 입력 신호로부터 지수 신호를 계산하는 것은 오직 단일 가산 싸이클을 필요로 한다.
본 발명의 일 실시예에서, 지수 회로(40, 100, 192, 또는 218)는 일반적인 형태가 다음과 같은 수학식 1으로 표시되는 항을 실행하는데 사용될 수 있다 :
y = w * x1 g1* x2 g2. . . xn gn
여기서 xi는 입력(2)에서 수신된 입력 신호를 나타내고 함수 xi =fi(zj)를 만들 수 있다. 여기서 지수 i 및 j 는 정수이고; y는 지수 회로의 출력(36)을 나타내고; w 는 계수값을 나타내고; g1, . . .,gn 은 항에 대한 지수를 나타내고; n은 입력수이다.
도 7은 도 6의 지수 회로와 함께 사용될 수 있는 지수 코드의 에를 설명하는 표이다. 표는 본 발명의 바람직한 실시예에 사용되는 코드와 대응 먹스 신호를 나타낸다. 또한 표는 각 지수 코드에 응답하여 발생되는 가산기 인에이블 신호(205)와 캐리 비트(206)의 값을 설명한다. 표의 각 열은 지수 코드중 하나에 대응하는 신호값과 캐리 비트를 나타낸다.
예를들어, 제1열에서, 지수 코드 0 는 x-1가 지수 회로(218)에 의해 발생된다는 것을 나타낸다. 만약 입력 신호에 대한 지수 코드가 0 이면, 제1 먹스 신호(200)는 무시할 수 있고, 제2 먹스 신호(202)는 반전된 입력(197)을 선택하도록 설정되고, 가산기 인에이블 신호는 제로로 설정되고, 제1 가산기(208)를 디스에이블시키고, 제3 먹스 신호(204)는 제2 멀티플렉서(203)의 출력을 선택하도록 설정하고, 및 캐리 비트(206)는 하나로 설정된다. 효과적으로는, 2진 로그값의 2의 보수 형태는 제2 가산기 회로(212)에 의해 발생된다.
제2열에서, 지수 코드 1 는 x-1/2가 발생된다는 것을 나타낸다. 만약 입력 신호에 대한 지수 코드가 1 이면, 제1 먹스 신호(200)는 1비트 우측 시프트 입력(196)을 선택하도록 설정되고, 제2 먹스 신호(202)는 반전된 입력(197)을 선택하도록 설정되고, 가산기 인에이블 신호(205)는 하나로 설정되고, 제1 가산기(208)를 인에이블시키고, 제3 먹스 신호(204)는 제1 가산기(208) 선택하도록 설정하고, 및 캐리 비트(206)는 제1 가산기(208)에 대하여는 하나로 설정되고 제2 가산기(212)에 대하여는 제로로 설정된다.
제3열에서, 지수 코드 10 는 x1/2가 발생된다는 것을 나타낸다. 만약 입력 신호에 대한 지수 코드가 10 이면, 제1 먹스 신호(200)는 1비트 우측 시프트 입력(196)을 선택하기 위해 설정되고, 제2 먹스 신호(202)는 무시할 수 있고, 가산기 인에이블 신호(205)는 제로로 설정되고, 제3 먹스 신호(204)는 제1 멀티플렉서(199)의 출력을 선택하도록 설정하고, 및 캐리 비트(206)는 제로로 설정된다.
제4열에서, 지수 코드 11 는 x1가 발생된다는 것을 나타낸다. 만약 입력 신호에 대한 지수 코드가 11 이면, 제1 먹스 신호(200)는 패스 입력(193a)을 선택하도록 설정되고, 제2 먹스 신호(202)는 무시할 수 있으며, 가산기 인에이블 신호(205)는 제로로 설정되고, 제3 먹스 신호(204)는 제1 멀티플렉서(199)의 출력을 선택하도록 설정되고, 및 캐리 비트(206)는 제로로 설정된다.
제5열에서, 지수 코드 100 는 x2가 발생된다는 것을 나타낸다. 만약 입력 신호에 대한 지수 코드가 100 이면, 제1 먹스 신호(200)는 1비트 촤측 시프트 입력(195)으로 설정되고, 제2 먹스 신호(202)는 무시하며, 가산기 인에이블 신호(205)는 제로로 설정되고, 제3 먹스 신호(204)는 제1 멀티플렉서(199)의 출력을 선택하도록 설정하고, 및 캐리 비트(206)는 제로로 설정된다.
제6열에서, 지수 코드 101 는 x3가 발생된다는 것을 나타낸다. 만약 입력 신호에 대한 지수 코드가 101 이면, 제1 먹스 신호(200)는 1비트 촤측 시프트 입력(195)을 선택하도록 설정되고, 제2 먹스 신호(202)는 패스 입력(193a)을 선택하도록 설정되고, 가산기 인에이블 신호(205)는 하나로 설정되고, 제1 가산기(208)를 인에이블 시키고, 제3 먹스 신호(204)는 제1 가산기(208)의 출력을 선택하도록 설정되고, 및 캐리 비트(206)는 제로로 설정된다.
제7열에서, 지수 코드 110 는 x4가 발생된다는 것을 나타낸다. 만약 입력 신호에 대한 지수 코드가 110 이면, 제1 먹스 신호(200)는 무시되고, 제2 먹스 신호(202)는 2비트 촤측 시프트 입력(198)을 선택하도록 설정되고, 가산기 인에이블 신호(205)는 제로로 설정되고, 제3 먹스 신호(204)는 제2 멀티플렉서(203)의 출력을 선택하도록 설정하고, 캐리 비트(206)는 제로로 설정된다.
제8열에서, 지수 코드 111는 x5가 발생된다는 것을 나타낸다. 만약 입력 신호에 대한 지수 코드가 111이면, 제1 먹스 신호(200)는 패스 입력(193a)을 선택하도록 설정되고, 제2 먹스 신호(202)는 2비트 좌측 시프트 입력(198)을 선택하도록 설정되고, 가산기 인에이블 신호(205)는 하나로 설정되고, 제3 먹스 신호(204)는 제1 가산기(208)의 출력을 선택하도록 설정하고, 및 캐리 비트(206)는 제로로 설정된다.
지수 코드는 또한 x0가 발생되는지를 나타내기 위해 제공된다. 비록 그런 코드가 도 7 에 도시되어 있지 않더라도, 1000과 같은 부가적인 지수 코드를 제공하여 쉽게 실행될 수 있으며, 제1 먹스 신호(200)가 제로 입력(194b)을 선택하도록 디코드될 때, 가산기 인에이블 신호(205)는 제로로 되고, 제3 먹스 신호는 제1 멀티플렉서(199)의 출력을 선택하게 되고, 캐리 비트는 제로로 된다. 제2 먹스 신호(202)는 무시된다.
도 8은 다수의 계산 성분을 포함하는 지수 회로의 블록도를 설명한다. 본 발명의 다른 실시예처럼, 도 8의 지수 회로는 일 이상의 지수 신호를 포함하는 항을 계산한다. 지수 회로의 실시예는 대수 변환기(220), 다수의 계산 성분(223) 및 역 대수 변환기(226)을 포함한다. 대수 변환기(220)은 그 입력으로 일 이상의 입력 신호를 수신하고 다수의 비트를 가진 2진 로그값으로 각 입력 신호를 변환한다. 2진 로그값은 버스(222)에 의해서 다수의 계산 성분 각각으로 공급된다. 계산 성분의 출력은 버스(224)를 통해서 역대수 변환기(226)으로 패스된다. 역대수 변환기(226)은 다수의 계산 성분(223)에 의해서 발생된 출력에서 역대수 변환을 수행하여 출력(36)에서 일 이상의 지수 신호를 나타내는 항을 발생한다.
다수의 계산 성분은 제1, 2, 5 및 6 도에 표시된 계산 성분(9, 99, 191, 217)을 포함할 수 있다.
도 1, 2, 5, 6 및 8에 도시된 본 발명의 지수 회로와 여러 가지 실시예는 집적 회로로 실행되는 것이 바람직하다. 그러나 해당 분야의 통상의 지식을 가진 자는 소프트웨어를 실행하는 마이크로프로세서와 같은 프로그래머블 로직 어레이 또는 다른 디지털 로직 장치가 본 발명의 지수 회로에 관한 여러 가지 실시예에 의해서 실행되는 기능을 사용할 수 있다는 것을 인식하게 될 것이다.
도 9는 본 발명의 실시예를 확인하는 지수 회로를 포함한 컴퓨터 시스템의 불록도를 설명한다. 컴퓨터 시스템(230)은 메모리(232), 프로세서(236), 및 지수 회로(239)를 포함한다. 메모리(232)는 프로세서(236)에 의해서 사용되는 프로그램과 데이터를 저장한다. 동작에서, 프로세서(236)은 버스(234)를 사용하는 메모리(232)로부터 프로그램 명령을 패치한다. 프로그램 명령을 수행한 결과, 프로세서(236)은 입력 신호를 지수 회로(239)로 전송하고 지수 회로(239)의 출력으로부터 최소한 하나의 지수값을 사실상 검색한다. 프로세서(236)와 지수 회로(239)사이의 모든 통신은 버스(238)에서 발생한다. 지수 회로(239)는 도 1, 2, 5, 및 6 에서 각각 도시된 지수 회로(40, 100, 192 또는 218)중 어느것을 포함할 수 있다.
도 10은 입력 신호로부터 지수 신호를 발생하는 방법에 관한 흐름도를 설명한다. 이 방법은 입력 신호 x를 가지고 지수 신호 xg를 발생하는 지수 회로에서 사용될 수 있다.
박스(240)에서, 다수 비트를 가진 2진 로그값은 입력 신호상에서 대수 변환을 수행하여 발생된다.
박스(242)에서, 2진 로그값의 다수 비트는 시프트 되어 중간값을 발생한다. 시프트 동작은 2승의 계수에 의해 2진 로그값을 곱한 것과 같다.
다음 박스(244)에서는, 중간값은 저장값과 산술적으로 결합되어 결합값을 발생한다. 두 값은 중간값을 저장값에 더하거나 저장값으로부터 중간값을 감산하여 결합될 수 있다.
박스(246)에서, 저장값은 결합값과 같다. 결정 박스(248)에서, 입력 신호가 소정 지수의 멱으로 올라갔는지를 결정하기 위해 채크된다. 소정 지수는 지수 g 이고 지수 회로의 제어 유니트에 저장된 지수 코드에 기초한다. 만약 입력 신호가 소정 지수로 상승된다면, 방법은 박스(250)로 진행한다. 그렇지 않다면, 방법은 박스(242)로 복귀한다.
박스(250)에서는, 지수 신호 xg는 결합값에서 역대수 변환을 수행하여 발생된다.
도 11 는 일련의 입력 신호로부터 발생된 다수의 지수 신호를 포함하는 항을 발생하는 방법에 관한 흐름도를 설명한다. 이 방법은 다수의 지수 신호 xi gi를 가진 항을 발생하기 위해 일련의 입력 xi을 가진 지수 회로에서 사용될 수 있다. 여기서 i는 정수이다.
박스(260)에서, 일련의 입력중 제1 입력이 수신된다. 차례로, 박스(262)에서, 다수 비트를 가진 2진 로그값은 제1 입력에서 대수 변환을 수행하여 발생된다.
박스(264)에서는, 지수 코드는 제1 시프트 신호와 제2 시프트 신호를 발생하기 위해 디코드된다. 박스(266)에서, 제1 시프트 신호는 2진 로그값에 적용되어 제1 중간값을 발생한다. 제1 중간값은 2진 로그값의 다수 비트를 시프트하거나, 제1 중간값을 2진 로그값과 같게 하여 발생될 수 있다.
박스(268)에서는, 제2 시프트 신호가 2진 로그값에 적용되어 제2 중간값을 발생한다. 제2 중간값은 2진 로그값의 다수 비트를 시프트 하거나; 제2 중간값을 2진 로그값과 같게 하거나; 또는 제2 중간값을 제로로 설정하여 발생될 수 있다.
박스(270)에서는, 제1 중간값은 제2 중간값과 산술적으로 결합되어 결합값을 발생한다. 결합값은 제1 중간값을 제2 중간값에 더하거나, 제2 중간값으로부터 제1 중간값을 감산하여 발생된다. 결합값은 저장값에 더해져 합을 발생한다.
결정 박스(272)에서, 모든 입력이 수신되었는지를 결정하기 위해 채크된다. 만약 수신되었으면, 방법은 박스(276)로 진행한다. 그렇지 않으면, 박스(274)로 진행한다.
박스(274)에서, 다음 입력은 일련의 입력 신호로부터 수신된다. 그러면, 제1 입력은 다음 입력과 같게되고 저장값은 합과 같게된다. 그러면 방법은 박스(262)로 복귀한다.
마지막으로, 박스(276)에서, 합에서 역대수 변환을 수행하여 항이 발생된다.
요약하면, 본 발명은 2진 로그값의 두배의 멱을 얻기 위하여 최소한 하나의 시프트 레지스터를 사용하는 지수 회로를 제공한다. 이것은 회로의 데이터 출력률을 현저히 증가시킨다.
또한, 본 발명은 가산 회로를 사용하는 지수 회로를 제공하여 지수에 의해 요구되는 전력과 공간을 줄인다.
본 발명의 다른 장점은 모든 디지털 회로를 사용하는 지수 회로를 제공하는 것으로서, 마이크로프로세서 코어 또는 다른 디지털 로직을 단일 칩상에 집적시키는데 경제적이고 쉽게 할 수 있다.
본 발명의 특별한 실시예가 도시되어 설명되었지만, 해당 분야에 지식을 가진 자는 본 발명이 여러 가지 방식으로 수정될 수 있고 상기 바람직한 형태보다 많은 실시예가 설정될 수 있다는 것을 명백히 알 수 있을 것이다.
따라서, 본 발명의 진정한 개념과 범위내에 본 발명의 모든 수정안이 포함될 수 있다는 것을 명백히 하기 위해 청구범위를 첨부한다.

Claims (10)

  1. 입력과 출력을 갖고 있고, 입력에서의 입력 신호 수신에 응답하여 출력에서 지수 신호를 발생하는 지수 회로에 있어서,
    다수 비트를 가진 2진 로그값을 발생하기 위해 입력 신호에서 로그 변환을 수행하는 대수 변환기;
    중간값을 출력으로 발생하기 위해 2진 로그값을 수신하고 n-비트(여기서 n은 정수) 거리 만큼 다수의 비트를 시프트시키는 시프트 수단;
    결합값을 발생하기 위해 중간값과 저장값을 산술적으로 결합하는 수단; 및
    지수 신호를 발생하기 위해 결합값에서 역대수 변환을 수행하고, 회로의 출력에서 지수 신호를 발생하는 역대수 변환기
    를 포함하는 것을 특징으로 하는 지수 회로.
  2. 제1 항에 있어서,
    2진 로그값을 저장하는 수단; 및
    시프트 수단에 동작적으로 결합되어, 시프트 수단에 지수 코드를 인가하는 제어 유니트를 포함하고,
    상기 시프트 수단은
    저장된 2진 로그값에 응답하여 일련의 중간값을 발생하고, 지수 코드에 따라 비트 거리 만큼 각각의 일련의 중간값의 다수 비트를 시프트하고,
    상기 결합 수단은
    결합값을 발생하기 위해 일련의 중간값과 저장값을 합하는 가산기 회로
    를 포함하는 것을 틀징으로 하는 지수 회로.
  3. 제2 항에 있어서, 제어 유니트는 일련의 중간값중 최소한 하나가 가산 회로에 의해 수신되기 전에 일련의 중간값중 최소한 하나를 부호 표시된 2의 보수형태로 변환하고, 일련의 중간값중 최소한 하나를 반전시키고 대응 캐리 비트를 가산기 회로로 제공하여 변환을 수행하는 것을 특징으로 하는 지수 회로.
  4. 제1 항에 있어서, 시프트 수단은 시프트 레지스터를 포함하는 것을 특징으로 하는 지수 회로.
  5. 제1 항에 있어서, 시프트 수단은 멀티플렉서를 포함하는 것을 특징으로 하는 지수 회로.
  6. 일련의 입력 신호를 수신하고 다수의 지수 신호를 포함하는 항을 출력으로 발생하는 지수 회로로서, 각각의 지수 신호는 입력 신호중 하나에 대응하는 지수 회로에 있어서:
    다수 비트를 가지고 입력 신호중 하나에 대응하는 일련의 각 2진 로그값들을 발생하기 위해 일련의 입력 신호에서 대수 변환을 수행하는 대수 변환기;
    일련의 2진 로그값에 응답하고, 일련의 제1 중간값을 출력으로 발생하고, 각각의 2진 로그값을 수신하고, 제1 중간값을 발생하기 위해 n-비트(여기서 n은 정수) 거리만큼 다수의 비트를 시프트시키는 제1 시프트 레지스터;
    일련의 2진 로그값에 응답하고, 일련의 제2 중간값을 출력으로 발생하고, 각각의 2진 로그값을 수신하고, 제2 중간값을 발생하기 위해 n-비트(여기서 n은 정수) 거리만큼 다수의 비트를 시프트시키는 제2 시프트 레지스터;
    대응 지수 코드에 따라 비트 거리만큼 각각 일련의 2진 로그값의 다수 비트를 시프트시키는 제1 시프트 레지스터와 제2 시프트 레지스터에 동작적으로 연결되고, 각각 일련의 입력 신호중 하나에 대응하는 다수의 지수 코드를 저장하고, 제1 시프트 레지스터와 제2 시프트 레지스터에 다수의 지수 코드를 인가하는 제어 유니트;
    합을 발생하기 위해 일련의 제1 중간값과 일련의 제2 중간값을 산술적으로 결합하는 수단; 및
    항을 발생하기 위해 합에서 역대수 변환을 수행하고, 지수 회로의 출력에서 항을 제공하는 역대수 변환기
    를 포함하는 것을 특징으로 하는 지수 회로.
  7. 제6 항에 있어서, 결합 수단은:
    합을 출력으로서 제공하는 제1 레지스터;
    결합값을 출력으로서 제공하는 제2 레지스터;
    제1 레지스터의 출력 또는 제1 시프프 레지스터의 출력중의 하나를 출력으로 제공하는 제1 멀티플렉서;
    제2 레지스터의 출력 또는 제2 시프트 레지스터의 출력중의 하나를 출력으로 제공하는 제2 멀티플렉서;
    제1 멀티플렉서의 출력에 응답하는 제1 입력과 제2 멀티플렉서의 출력에 응답하는 제2 입력을 가지고, 출력을 발생시키는 가산기 회로; 및
    제1 레지스터 또는 제2 레지스터로 가산기 회로의 출력을 제공하는 디멀티플렉싱 수단을 포함하고;
    제1 멀티플렉서와 제2 멀티플렉서는 제어 유니트로부터의 먹스(mux) 신호에 응답하고, 상기 디멀티플렉싱 수단은 제어 유니트로부터의 디먹스 신호에 응답하고,
    제어 유니트는 제1 시프트 레지스터의 출력과 제2 레지스터의 출력이 가산기 회로에 제공되도록 제1 부가 싸이클동안 먹스 신호를 발생하고(assert),
    제어 유니트는 가산기 회로의 출력이 제2 레지스터에 제공되도록 제1 부가 사이클 동안 디-먹스 신호를 발생하고(assert),
    제어 유니트는 제1 레지스터의 출력과 제2 레지스터의 출력이 가산기 회로에 제공되도록 제2 부가 싸이클동안 먹스 신호를 발생하고(assert),
    제어 유니트는 가산기 회로의 출력이 제1 레지스터에 제공되도록 제2 부가 싸이클동안 디먹스신호를 발생하는(assert)
    것을 특징으로 하는 지수 회로.
  8. 제6 항에 있어서, 결합 수단은:
    합을 출력으로서 제공하는 제1 레지스터;
    제1 시프트 레지스터의 출력에 응답하는 제1 입력과 제2 시프트 레지스터의 출력에 응답하는 제2 입력을 가지고, 출력을 발생시키며, 일련의 입럭신호중 동일한 하나에 대응하여 일련의 제1 중간값중 하나와 일련의 제2 중간값중 하나를 수신함에 따라 결합값을 발생하는 제1 가산기 회로; 및
    제1 가산기 회로의 출력에 응답하는 제2 입력과 제1 레지스터의 출력에 응답하는 제2 입력을 가지고, 합을 출력시키고, 합을 제2 레지스터에 제공하고, 제1 가산기 회로로부터 결합값을 수신함에 따라 합을 발생시키는 제2 가산기 회로
    를 포함하는 것을 특징으로 하는 지수 회로.
  9. a. 프로그램을 저장하는 메모리; 및
    b. 입력과 출력을 가지고, 입력에서의 입력 신호 수신에 응답하여 출력에서 지수 신호를 발생하는 지수 회로로서,
    b-1. 다수의 비트를 가진 2진 로그값을 발생하기 위하여 입력 신호상에서 대수 변환을 수행하는 대수 변환기와;
    b-2. 출력으로서 중간값을 발생하기 위해 정수인 n-비트 거리 만큼 다수 비트를 시프트하고 2진 로그값을 수신하는 시프트 레지스터와;
    b-3. 결합값을 발생하기 위해 중간값과 저장값을 산술적으로 결합하는 수단과,
    b-4. 지수 신호를 발생하기 위해 결합값에서 역대수 변환을 수행하고, 지수 회로의 출력에서 지수 신호를 제공하는 역대수 변환기
    를 포함하는 지수 회로; 및
    c. 메모리와 지수 회로의 입력 및 출력에 동작적으로 연결되고, 메모리로부터 프로그램을 검색하고 프로그램을 수행하며, 프로그램 수행 결과, 지수 회로의 입력으로 입력 신호를 전송하고 후속하여 지수 회로의 출력으로부터 지수 신호를 검색하는 프로세서
    를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  10. 입력 신호 x를 가진 지수 회로에서, 지수 신호 xg를 발생하는 방법에 있어서:
    (a) 입력 신호상에서 대수 변환을 수행하여 다수 비트를 가진 2진 로그값을 발생하는 단계;
    (b) 중간값을 발생하기 위해 2진 로그값의 다수 비트를 시프트하는 단계;
    (c) (i) 결합값을 발생하기 위해 중간값을 저장값에 가산하고; 및
    (ii) 결합값을 발생하기 위해 저장값으로부터 중간값을 감산하는
    그룹으로부터 선택되는, 산술적으로 중간값과 저장값을 결합하는 단계; 및
    (d) 결합값에서 역대수 변환을 수행하여 지수 신호를 발생하는 단계
    를 포함하는 것을 특징으로 하는 지수 신호 발생 방법.
KR1019970706290A 1995-03-10 1996-01-29 시프트 수단을 이용한 지수 회로 및 사용 방법 KR100284799B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/401515 1995-03-10
US08/401,515 US5553012A (en) 1995-03-10 1995-03-10 Exponentiation circuit utilizing shift means and method of using same
PCT/US1996/000955 WO1996028774A1 (en) 1995-03-10 1996-01-29 Exponentiation circuit utilizing shift means and method of using same

Publications (2)

Publication Number Publication Date
KR19980702882A true KR19980702882A (ko) 1998-08-05
KR100284799B1 KR100284799B1 (ko) 2001-03-15

Family

ID=23588078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970706290A KR100284799B1 (ko) 1995-03-10 1996-01-29 시프트 수단을 이용한 지수 회로 및 사용 방법

Country Status (7)

Country Link
US (2) US5553012A (ko)
JP (1) JPH10510383A (ko)
KR (1) KR100284799B1 (ko)
AU (1) AU4766496A (ko)
DE (1) DE19681213T1 (ko)
GB (1) GB2314649A (ko)
WO (1) WO1996028774A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2135857A1 (en) * 1994-01-03 1995-07-04 Shay-Ping Thomas Wang Neural network utilizing logarithmic function and method of using same
US5696986A (en) * 1995-03-13 1997-12-09 Motorola, Inc. Computer processor utilizing logarithmic conversion and method of use thereof
US5675822A (en) * 1995-04-07 1997-10-07 Motorola Inc. Method and apparatus for a digital signal processor having a multiplierless computation block
US5721696A (en) * 1995-08-28 1998-02-24 Motorola Inc. Method and system for performing an FIR filtering operation
US5953015A (en) * 1996-11-15 1999-09-14 Samsung Electronics Co., Ltd. Determining the level of detail for texture mapping in computer graphics
US6038265A (en) * 1997-04-21 2000-03-14 Motorola, Inc. Apparatus for amplifying a signal using digital pulse width modulators
US6249857B1 (en) 1997-10-20 2001-06-19 Motorola, Inc. Apparatus using a multiple instruction register logarithm based processor
CA2243761C (en) * 1998-07-21 2009-10-06 Certicom Corp. Timing attack resistant cryptographic system
US6128638A (en) * 1998-07-23 2000-10-03 Silicon Graphics, Inc. Method and apparatus for calculating X to the Exponent of Y
US6567832B1 (en) * 1999-03-15 2003-05-20 Matsushita Electric Industrial Co., Ltd. Device, method, and storage medium for exponentiation and elliptic curve exponentiation
US6804502B2 (en) 2001-10-10 2004-10-12 Peregrine Semiconductor Corporation Switch circuit and method of switching radio frequency signals
JP3640643B2 (ja) 2002-01-18 2005-04-20 沖電気工業株式会社 べき数エンコーダ回路及びマスク回路
US20060015549A1 (en) * 2004-07-13 2006-01-19 Chren William A Method and apparatus for generation of gaussian deviates
US20060106905A1 (en) * 2004-11-17 2006-05-18 Chren William A Jr Method for reducing memory size in logarithmic number system arithmetic units
USRE48965E1 (en) 2005-07-11 2022-03-08 Psemi Corporation Method and apparatus improving gate oxide reliability by controlling accumulated charge
US7910993B2 (en) 2005-07-11 2011-03-22 Peregrine Semiconductor Corporation Method and apparatus for use in improving linearity of MOSFET's using an accumulated charge sink
US20080076371A1 (en) 2005-07-11 2008-03-27 Alexander Dribinsky Circuit and method for controlling charge injection in radio frequency switches
US9653601B2 (en) 2005-07-11 2017-05-16 Peregrine Semiconductor Corporation Method and apparatus for use in improving linearity of MOSFETs using an accumulated charge sink-harmonic wrinkle reduction
US7890891B2 (en) 2005-07-11 2011-02-15 Peregrine Semiconductor Corporation Method and apparatus improving gate oxide reliability by controlling accumulated charge
US7756226B2 (en) * 2006-07-17 2010-07-13 Samsung Electronics Co., Ltd. Method and system for converting logarithmic values into linear values in digital logic
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
CN101510148B (zh) * 2009-04-02 2014-10-29 北京中星微电子有限公司 一种指数运算方法和装置
US8510361B2 (en) * 2010-05-28 2013-08-13 George Massenburg Variable exponent averaging detector and dynamic range controller
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8817976B2 (en) * 2011-06-24 2014-08-26 Gregory Scott Callen Reversible cipher
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10345372B2 (en) 2015-04-22 2019-07-09 ASCO Power Technologies L.P. Devices and methods for surge protection device monitoring
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
KR101845229B1 (ko) 2018-02-13 2018-04-04 주식회사 우진엔텍 전자회로의 입력신호 제어용 곱셈 연산기 장치
US11838403B2 (en) * 2019-04-12 2023-12-05 Board Of Regents, The University Of Texas System Method and apparatus for an ultra low power VLSI implementation of the 128-bit AES algorithm using a novel approach to the shiftrow transformation

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3551663A (en) * 1965-04-15 1970-12-29 Gen Electric Multiplication apparatus in a data processing system with a variable length multiplier
US3436533A (en) * 1965-11-29 1969-04-01 Us Navy Digital log computer
US3632996A (en) * 1970-05-14 1972-01-04 Nasa Digital quasi-exponential function generator
US3748451A (en) * 1970-08-21 1973-07-24 Control Data Corp General purpose matrix processor with convolution capabilities
US3967100A (en) * 1973-11-12 1976-06-29 Naonobu Shimomura Digital function generator utilizing cascade accumulation
US3922536A (en) * 1974-05-31 1975-11-25 Rca Corp Multionomial processor system
PL106470B1 (pl) * 1977-02-01 1979-12-31 Inst Maszyn Matematycznych Uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycznych
JPS6051733B2 (ja) * 1977-11-19 1985-11-15 日本電気株式会社 指数関数演算装置
JPS59218550A (ja) * 1983-05-27 1984-12-08 Ando Electric Co Ltd デイジタル信号の対数変換回路
US4555768A (en) * 1983-06-07 1985-11-26 Rca Corporation Digital signal processing system employing logarithms to multiply and divide
US4626825A (en) * 1985-07-02 1986-12-02 Vlsi Technology, Inc. Logarithmic conversion apparatus
EP0218971A3 (de) * 1985-09-30 1990-04-11 Siemens Aktiengesellschaft Arbeitsverfahren zur Lösung der Gleichungen des Typs z = k x1 y1 op x2 y2 op ... op xn ym
GB8611124D0 (en) * 1986-05-07 1986-06-11 Gec Avionics Accumulating recursive computation
EP0314809B1 (en) * 1987-05-14 1993-07-21 Fujitsu Limited Vector processor for processing recurrent equations at a high speed
FI894021A (fi) * 1988-08-31 1990-03-01 Fujitsu Ltd Neuronstruktur.
US5073867A (en) * 1989-06-12 1991-12-17 Westinghouse Electric Corp. Digital neural network processing elements
US5184317A (en) * 1989-06-14 1993-02-02 Pickett Lester C Method and apparatus for generating mathematical functions
US5042001A (en) * 1989-10-02 1991-08-20 Cyrix Corporation Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier
US5177702A (en) * 1990-07-19 1993-01-05 Motorola, Inc. Device and method for evaluating exponentials
US5343254A (en) * 1991-04-25 1994-08-30 Olympus Optical Co., Ltd. Image signal processing device capable of suppressing nonuniformity of illumination
US5278945A (en) * 1992-01-10 1994-01-11 American Neuralogical, Inc. Neural processor apparatus
EP0628183B1 (de) * 1992-02-29 1998-07-15 Bernd HÖFFLINGER Schaltungsanordnung zum digitalen multiplizieren von integer-zahlen

Also Published As

Publication number Publication date
GB9718193D0 (en) 1997-11-05
DE19681213T1 (de) 1998-02-26
WO1996028774A1 (en) 1996-09-19
KR100284799B1 (ko) 2001-03-15
AU4766496A (en) 1996-10-02
US5726924A (en) 1998-03-10
US5553012A (en) 1996-09-03
GB2314649A (en) 1998-01-07
JPH10510383A (ja) 1998-10-06

Similar Documents

Publication Publication Date Title
KR100284799B1 (ko) 시프트 수단을 이용한 지수 회로 및 사용 방법
US4841467A (en) Architecture to implement floating point multiply/accumulate operations
US6144977A (en) Circuit and method of converting a floating point number to a programmable fixed point number
US5280439A (en) Apparatus for determining booth recoder input control signals
JPH0612229A (ja) 乗累算回路
US5993051A (en) Combined leading one and leading zero anticipator
KR20040063143A (ko) 오퍼랜드 가산 방법 및 회로 장치 및 컴퓨터 구현형 장치
US5111421A (en) System for performing addition and subtraction of signed magnitude floating point binary numbers
KR100203468B1 (ko) 부동소수점수를 위한 산술연산장치
US8370415B2 (en) Overflow detection and clamping with parallel operand processing for fixed-point multipliers
JPH02112023A (ja) 基数16除算器
US6728739B1 (en) Data calculating device and method for processing data in data block form
JPH03171324A (ja) オペランドの平方根を計算する回路及び方法
JP2012528391A (ja) 飽和を伴う整数乗算および乗算加算演算
US5260889A (en) Computation of sticky-bit in parallel with partial products in a floating point multiplier unit
JPH07234778A (ja) 演算回路
KR100290906B1 (ko) 부동소수점곱셈기에서반올림과덧셈을동시에수행하는장치및방법
US4823300A (en) Performing binary multiplication using minimal path algorithm
JP2645422B2 (ja) 浮動小数点演算処理装置
JPH02205923A (ja) 演算プロセッサ
EP1014260B1 (en) Sticky bit value predicting circuit
JP2508286B2 (ja) 平方根演算装置
JPH0251732A (ja) 浮動小数点演算器
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JPH0414173A (ja) 固定小数点演算器

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20101129

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee