KR19980701802A - 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법 - Google Patents

로그/역로그 변환기, 계산 장치 및 로그값 발생 방법 Download PDF

Info

Publication number
KR19980701802A
KR19980701802A KR1019970705199A KR19970705199A KR19980701802A KR 19980701802 A KR19980701802 A KR 19980701802A KR 1019970705199 A KR1019970705199 A KR 1019970705199A KR 19970705199 A KR19970705199 A KR 19970705199A KR 19980701802 A KR19980701802 A KR 19980701802A
Authority
KR
South Korea
Prior art keywords
log
value
term
parameters
memory
Prior art date
Application number
KR1019970705199A
Other languages
English (en)
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 KR19980701802A publication Critical patent/KR19980701802A/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
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/035Reduction of table size
    • G06F1/0356Reduction of table size by using two or more smaller tables, e.g. addressed by parts of the argument
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/50Conversion to or from non-linear codes, e.g. companding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2101/00Indexing scheme relating to the type of digital function generated
    • G06F2101/10Logarithmic or exponential functions

Landscapes

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

Abstract

본 발명은 로그 또는 역로그 함수를 구현하기 위해 사용될 수도 있는 변환기에 관한 것이다. 이 변환기는 메모리(20), 승산기(22) 및 두 개의 가산기(24, 26)를 구비한다. 메모리(20)는 입력 값들의 영역에 걸쳐 로그 또는 역로그 함수를 추정하기 위해 최소 제곱 방법을 사용하여 도출되는 다수의 파라미터 및 이차 항들을 저장한다. 본 발명은 또한 그들 파라미터 및 이차 항들을 계산하기 위한 방법에 관한 것이다.

Description

로그/역로그 변환기, 계산 장치 및 로그값 발생 방법
관련 발명
본 발명은 본 출원인에게 양도된 다음과 같은 발명들과 관련이 있다.
(1) 1995년 1월 31일에 출원된 로그/역로그 변환기 및 그의 사용 방법(Logarithm/Inverse-Logarithm Converter and Method of Using Same)이란 명칭의 미국 특허원 제08/381,368호.
(2) 1995년 1월 31일에 출원된 트렁케이티드 테일러 시리즈를 이용하는 로그/역로그 변환기 및 그의 사용 방법(Logarithm/Inverse-Logarithm Converter Utilizing Truncated Tayler Series and Method of Use thereof)이란 명칭의 미국 특허원 제08/381,167호.
(3) 1995년 2월 22일에 출원된 선형 보간을 이용하는 로그/역로그 변환기 및 그의 사용 방법(Logarithm/Inverse-Logarithm Converter Utilizing Linear Interpolation and Method of Using Same)이란 명칭의 미국 특허원 제08/391,880호.
(4) 1994년 1월 3일에 출원된 로그 함수를 이용하는 신경망 및 그의 사용 방법(Neural Network Utilizing a Logarithm Function and Method of Using Same)이란 명칭의 미국 특허원 제08/176,601호.
(5) 1995년 3월 13일에 출원된 로그 변환을 이용하는 컴퓨터 프로세서 및 그의 사용 방법(Computer Processor Utilizing a Logarithmic Conversion and Method of Use thereof)이란 명칭의 미국 특허원 제08/403,158호.
이들 관련 발명들의 주제는 본 명세서에 참고로 인용된다.
본 발명은 일반적으로 계산 회로에 관한 것으로서, 특히 입력 값에 대해 로그 또는 역로그 변환을 수행하는데 사용될 수도 있는 계산 회로에 관한 것이다.
발명의 배 경
로그 변환기는 로그 함수를 구현하는데 사용되는 장치로서 이것은 휴대용 계산기 및 스프레드 시트 소프트웨어 프로그램에서 가장 흔하게 볼 수 있다. 초월 함수라 불리우는 수학적 함수류에 속하는 로그 함수는 다양한 분야, 예를 들어 데이터 통신, 제어 시스템, 화학적 프로세스 및 컴퓨터 시뮬레이션에서 중요하다. 로그 함수는 y=logb(x)로 간략화된다. 여기서, x는 0 보다 큰 수일 수도 있고, b는 기수(base number) 시스템이며, y는 로그 값으로서 입력 값 x에 대응한다.
역로그 변환기는 역로그 함수를 구현하는데 사용되는 장치이다. 기본적으로, 역로그 함수는 로그 함수의 역이다. 역이 의미하는 것은 다음의 설명으로부터 설명된다. 로그 함수는 입력 값의 영역 내에 있는 입력 값 x를 로그 값들의 범위에 속하는 유한 로그 값으로 변환한다. 기본적으로, 로그 함수는 입력 값 영역의 입력 값들과 로그 값 범위의 로그 값들간의 일대일 대응을 설정한다. 이같은 대응은 x->y에 의해 심볼적으로 표현된다. 역로그 함수는 y->x에 의해 표현되는 로그 값들과 입력 값들간의 역 대응을 설정한다. 역로그 함수는 y=logb -1(x)로 간략화된다. 여기서, x는 입력 값이고, b는 기수 시스템이며, y는 역로그 값으로서 입력 값 x에 대응하는 것으로서 0 보다 큰 수일 수도 있다. 로그 함수와 마찬가지로, 역로그 함수는 다양한 분야에서 중요하다.
로그 및 역로그 값을 계산하는 두 기법이 현재 흔하게 사용되고 있다. 이들 두 기법은 로그 또는 역로그 값을 계산하는데 있어 유사하게 사용되므로, 간결성을 위해 이하의 설명에서는 로그 값을 계산하기 위한 기법의 사용에 초점을 맞추겠다. 이 로그 값을 계산하는 기법은 역로그 값의 계산에서도 마찬가지로 사용될 수 있음을 알 것이다.
제1의 기법은 모든 가능한 입력 값에 대해 룩업 테이블에 대응하는 로그 값을 저장하는 것으로서, 이 기법은 로그 값이 비교적 신속하게 계산될 수 있게 하며 제한적인 정확도를 필요로 하고 작은 도메인의 입력 값을 가지는 응용에서 실용적이다. 그러나, 많은 응용에서 이 기법은 비실용적인데 그 이유는 룩업 테이블의 저장을 위해 너무 큰 메모리 공간이 필요하기 때문이다. 예를 들어, 23-비트 가수(mantissa)를 가진 IEEE 표준 32-비트 부동 소수점 수를 사용하는 디지털 시스템에서, 그러한 룩업 테이블이 모든 가능한 가수 값에 대해 하나씩 223의 로그 값들을 저장하는데 필요하게 될 것이다. 이 개수의 로그 값을 저장하는데 필요한 컴퓨터 메모리는 불가능한 것은 아니나 그의 구성을 위해서는 너무나도 고가로 될 것이다.
로그 값의 계산을 위한 제2의 기법은 멱급수를 계산하여 로그 함수를 근사화하는 것이다. 로그 함수를 근사화하는 멱급수의 일 예로서 다음의 수학식 1이 있다.
y = Log(1 + x) = x - x2/2 + x3/3 - x4/4 + ...
이 예에서, 로그 함수는 자연 로그로서 알려진 특정 형태의 로그 함수로서 이것은 과학 및 공학 분야에서 널리 이용된다. 수학식 1의 변수는 다음과 같이 정의된다. y는 로그 값을 나타내고, x는 도메인 -1≤x<1의 입력 값을 나타낸다. 멱급수를 사용하여 로그 함수를 근사화하는 기법에 의해 로그 값이 고도의 정확도로 계산될 수 있게 한다고 할 지라도, 많은 수의 컴퓨터 조작이 필요하게 되어 실행을 위해 비교적 장시간이 필요케 된다. 달리 말해서, 이 기법은 일반적으로 느리고 컴퓨터의 치리량에 부정적인 영향을 끼친다.
요약컨대, 로그 또는 역로그 함수를 신속하게 수행함으로써 컴퓨터가 더욱 많은 처리량으로 동작할 수 있게 하는 변환기가 필요하다. 이러한 변환기는 또한 변환을 수행하는데 필요한 메모리공간의 양을 감소시켜야만 하고, 고도의 정확도를 가진 로그 또는 역로그 값을 발생해야만 한다.
도 1은 본 발명의 바람직한 실시예에 따른 로그/역로그 변환기를 도시한 도면이다.
도 2는 로그 함수의 그래프를 도시한 도면이다.
도 3은 역로그 함수의 그래프를 도시한 도면이다.
도 4는 도 1에 도시된 로그/역로그 변환기를 사용하는 방법의 흐름도를 도시한 도면이다.
도 5는 도 1의 변환기와 연관하여 사용되는 파라미터 및 이차 항들을 계산하고 저장하는 방법의 흐름도를 도시한 도면이다.
도 6은 본 발명의 일 실시예를 도입한 계산장치의 일 실시예를 도시한 도면이다.
도 7은 본 발명의 일 실시예를 도입한 계산장치의 다른 실시예를 도시한 도면이다.
본 발명의 한가지 장점은 변환기의 구성을 변경하지 않고서도 컴퓨터, 프로세서 또는 회로에서 로그 또는 역로그 변환을 수행하는데 사용될 수 있는 변환기를 제공하는 것이다. 본 발명의 또다른 장점은 고도의 정확도를 가진 로그 및 역로그 값을 계산하는 변환기를 제공하는 것이다. 실제, 본 발명의 특정 장점은 IEEE 표준 32-비트 부동 소수점 수의 로그 및 역로그 값을 계산할 수 있는 변환기를 제공하는 것으로서, 여기서 로그 및 역로그 값의 IEEE 32-비트 부동 소수점 표현은 가수내의 에러의 한 개 LSB(최하위 비트) 보다 작다. 본 발명의 또다른 장점은 메모리 공간이 상당히 감소되고 전력 소모가 거의 없는 집적 회로로 효과적으로 구현될 수 있는 변환기를 제공하는 것이다. 본 발명의 또다른 장점은 변환기를 사용하여 로그 또는 역로그 값을 생성하는 방법을 제공하는 것이다.
본 발명은 특히 청구 범위에서 지적되나, 본 발명의 다른 특징들은 첨부된 도면을 참조한 다음의 설명을 참조함으로써 가장 잘 이해될 것이다.
일반적으로, 본 발명은 로그 또는 역로그 함수를 계산하는 변환기를 제공한다. 변환기는 메모리 및 산술 수단을 구비한다. 메모리는 다수의 파라미터 및 이차 항을 저장하며, 여기서 그들 파라미터 및 항은 최소 제곱법을 사용하여 입력 값의 도메인에 걸쳐서 로그 또는 역로그 함수를 추정함으로써 계산된다. 산술 수단은 입력 값과 메모리에 저장된 파라미터들 및 이차 항들 중의 임의의 것들에 대해 산술 연산을 수행함으로써 파라미터 및 항에 의존하여 로그 또는 역로그 값을 발생한다.
변환기는 로그 또는 역로그 함수나, 다른 세트의 파라미터 쌍 및 이차 항들을 메모리에 로딩함으로써 다른 기수(base number) 시스템 또는 도메인의 입력 값을 가진 함수를 수행하기 위해 용이하게 재구성될 수 있다.
도 1은 본 발명의 바람직한 실시예에 따른 로그/역로그 변환기를 도시한 것이다. 변환기는 메모리(20), 승산기(22), 제1 가산기(24) 및 제2 가산기(26)를 구비한다. 메모리(20)는 이차 룩업 테이블(32)의 다수의 이차 항과 다수의 파라미터 쌍을 저장한다. 이들 파라미터 쌍 및 이차 항들은 최소 제곱법을 사용하여 입력 값의 구간에 걸쳐서 로그 또는 역로그 함수를 추정한다. 각 파라미터 쌍은 제로차 룩업 테이블(28)에 저장된 제로차 파라미터와 일차 룩업 테이블(30)에 저장된 일차 파라미터를 가진다.
변환기는 다음과 같이 동작한다. 입력 값(34)은 제로차 및 일차 룩업 테이블(28, 30)로부터 대응하는 파라미터 쌍을 검색하는데 사용되는 어드레스(36)를 제공한다. 바람직한 실시예에서, 입력 값(34)은 〔22:0〕으로 표시된 23-비트 길이의 이진 값이며, 입력 값(24)의 최상위 9-비트〔22:14〕는 어드레스(36)로서 메모리(20)에 제공된다. 또한, 제로차 및 일차 파라미터(42, 44)는 입력 값에 대응하는 메모리(20)내의 공통 어드레스에 위치된다.
항 어드레스는 또한 입력 값(34)으로부터 도출된다. 항 어드레스는 이차 룩업 테이블(32)로부터 이차 항(46)을 검색하는데 사용된다. 본 발명의 일 실시예에서, 입력 값(34)은 상위 부분과 하위 부분을 가진 이진 값이고, 이차 항(46)은 상위 부분으로부터의 제1 비트 슬라이스(bit slice)와 이것에 연결된 하위 부분으로부터의 제2 비트 슬라이스를 사용하여 메모리(20)로부터 검색될 수 있다.
바람직한 것은 입력 값(34)이 23-비트〔22:0〕의 길이를 가지며 여기서 상위 부분은 최상위 9-비트〔22:14〕를 포함하고 하위 부분은 잔여 14-비트〔13:0〕을 포함한다는 것이다. 항 어드레스(38)는 9-비트 값으로서, 이것은 상위 부분의 최상위 4-비트와 이것에 연결된 하위 부분의 최상위 5-비트, 즉, 입력 값(34)의 〔22:19〕〔13:9〕를 포함한다.
메모리(20)는 입력 값(34)에 대응하는 제로차 파라미터(42), 일차 파라미터(44) 및 이차 항(26)을 출력으로서 제공한다. 바람직한 실시예에서, 제로차 파라미터(42)는 24-비트 이진 값이고, 일차 파라미터(44)는 15-비트 값이며, 이차 항(46)은 9-비트 값이다. 512개 파라미터 쌍과 512개 이차 항은 메모리(20)에 저장된다.
승산기(22)는 일차 파라미터(44)와 비트 슬라이스(40)를 곱하여 비례 항을 생성한다. 비트 슬라이스(40)가 전체 입력 값(34)을 포함한다고 할 지라도, 바람직한 실시예에서는 그것이 입력 값(34)의 14개의 최하위 비트를 포함한다. 제1 가산기(24)는 비례 항과 이차 항(46)을 합산하여 제1 합을 생성한다. 제2 가산기(26)는 제1 합과 제로차 파라미터(42)를 합산하여 출력 값(48)을 생성한다. 출력 값(48)은 23-비트의 길이를 갖는 것이 바람직하다.
본 발명의 일 실시예에서, 변환기는 집적 회로로 구현된다. 그러나, 당업자라면, 프로그램가능 로직 어레이, 주문형 반도체(ASIC), 기타 다른 디지털 로직 디바이스 또는 프로세서 예를 들어 마이크로프로세서에서 운영되는 소프트웨어가 또한 변환기의 구현에 사용될 수도 있음을 알 것이다.
도 2는 입력 값들의 도메인에 걸친 로그 함수(50)의 그래프이다. 입력 값들은 x축을 따라 주어지며, 로그 값은 y축을 따라 주어진다. 입력 값들의 도메인은 1 내지 2이며, 로그 값들의 범위는 0 내지 1이다. 도메인내의 수개 구간들은 입력 값들 1.1, 1.2, 1.3, 1.4 및 1.5에서 수직 점선들로 표시된다. 각 구간은 그 수직 점선들 간의 데이터 점들을 포함한다. 로그 함수(50)는 2의 기수 시스템을 사용한다.
도 3은 입력 값들의 도메인에 걸친 역로그 함수(52)의 그래프이다. 입력 값들은 x축을 따라 주어지며, 역로그 값은 y축을 따라 주어진다. 입력 값들의 도메인은 0 내지 1이며, 역로그 값들의 범위는 1 내지 2이다. 도메인내의 구간들은 입력 값들 0.1, 0.2, 0.3 및 0.4에서 수직 점선들로 표시된다. 도시된 예에서, 각 구간은 그 수직 점선들 간의 데이터 점들을 포함한다. 역로그 함수(52)는 2의 기수 시스템을 사용한다.
당업자라면, 변환기가 어떤 로그 또는 역로그 함수를 계산하는데 사용되나, 바람직한 실시예에서 그 변환기가 도 2의 로그 함수 및 도 3의 역로그 함수를 계산함을 알 것이다.
IEEE 표준 32-비트 부동 소수점 수는 도 1의 변환기를 사용하여 로그 또는 역로그로 용이하게 변환될 수도 있다. IEEE 부동 소수점 수들에 의해 표현된 값들은 하나의 사인 비트, 23-비트 가수 및 8-비트 지수를 가진다. 가수만이 입력 값(34)으로서 변환기에 제공된다. 사인 비트 및 지수는 변환기를 우회하고 차후 출력 값(48)과 조합된다. 필수적으로, 변환기는 y = log2(1.M) 또는 log2 -1을 계산한다. 여기서 y는 출력 값을 나타내고 M은 가수를 나타낸다. 부동 소수점 수의 지수는 2의 기수 값 2e이다. 여기서, e는 지수를 나타낸다. 부동 소수점 수에 대응하는 로그 또는 역로그 값은 출력 값(48)과 가수 변환 후의 지수를 합산함으로써 발생된다. 이같은 합산 결과, j-비트 소수 부분 및 k-비트 정수 부분을 가진 고정 소수점 수 포맷으로 표현된 값이 발생된다. 정수 j 및 k는 변환기의 원하는 정확도에 따라 변할 수 있다.
도 4는 도 1에 도시된 로그/역로그 변환기를 사용하는 방법의 흐름도이다. 이 방법은 로그 값 또는 역로그 값의 발생에 사용될 수 있다. 박스(60)에서, 다수의 파라미터 및 다수의 이차 항들은 메모리(20)에 저장된다. 파라미터들은 최소 제곱법을 사용하여 로그 또는 역로그 함수를 추정함으로써 계산된다. 박스(62)에서, 입력 값(34)이 수신된다. 다음, 박스(64)에서, 입력 값에 대응하는 파라미터 및 이차 항(46)이 메모리(20)로부터 검색된다.
박스(66)에서, 산술 연산이 검색된 파라미터, 이차 항(46) 및 입력 값(34)에 대해 수행되어 출력 값(48)이 생성된다. 검색된 파라미터는 제로차 파라미터(42) 및 일차 파라미터(44)를 포함하고 산술 연산이 다음과 같이 수행된다. 먼저, 일차 파라미터(44)와 입력 값(34)이 곱해져 비례 항이 생성된다. 본 발명의 바람직한 실시예에서, 일차 파라미터(44)와 입력 값(34)의 비트 슬라이스가 곱해진다. 다음, 비례 항과 이차 항(46)이 합산되어 제1 합이 생성된다. 마지막으로, 제1 합과 제로차 파라미터가 합산되어 출력 값(48)이 생성된다.
도 5는 도 1의 변환기와 관련하여 사용된 파라미터 및 이차 항을 계산하고 저장하는 방법의 흐름도이다. 이 방법은 로그 또는 역로그 함수에 대해 사용될 수 있다. 박스(68)에서, 입력 값들의 도메인이 함수에 대해 선택된다. 박스(70)에서, 이 도메인은 다수의 구간으로 분할된다. 박스(71)에서, 함수가 다수의 파라미터 및 이차 항을 가진 이차 항 다항식으로 입력 값들의 도메인에 걸쳐서 근사화된다. 다음, 박스(72)에서, 구간에 대한 파라미터들이 최소 제곱법의 사용에 의해 계산된다. 박스(74)에서, 그 구간내의 각각의 가능한 입력 값에 대한 이차 항이 계산되어, 이에 의해 그 구간에 대한 하나 이상의 이차 항들이 생성된다. 다음, 박스(76)에서, 그 구간에 대한 파라미터 및 이차 항이 메모리(20)에 저장된다. 판정 박스(76)에서, 파라미터 및 이차 항을 어떤 부가의 구간에 대해 계산할 것인 지의 판단을 위해 검사한다. 만일에 그러하다면 절차가 박스(72)로 복귀되고, 그러하지 않다면 절차가 종료된다.
본 발명의 바람직한 실시예에서, 로그 및 역로그 함수는 다음과 같은 수학식 2의 형태를 가진 이차 다항식으로 근사화된다.
y = b0+ b1x + b2x2
여기서, y는 로그 또는 역로그 값이고, b0는 제로차 파라미터를 나타내고, b1은 일차 파라미터를 나타내며, b2는 이차 파라미터를 나타내고, x는 입력 값을 나타내고, b2x 2는 이차 항을 나타낸다.
입력 값들의 도메인은 제각기 214개의 데이터 점을 포함하는 512개의 구간으로 분할된다. 각 구간에 대해, 파라미터 b0, b1및 b2는 그들 데이터 점에 대해 이차 회귀(regression)를 사용하여 계산된다. 제로차 및 일차 파라미터를 따라 이차 파라미터를 저장하는 것이 아니라 그 대신에 선택된 수의 이차 항들이 저장된다. 저장되는 이차 항들은 입력 값들의 도메인에 걸쳐 이차 항의 분산을 관찰함으로써 경험적으로 결정된다. 이렇게 하면, 이차 항의 생성을 위해 부가적인 승산기 및 제곱 수단이 필요 없게 된다. 또한, 이것에 의해, 여러 다른 입력 값에서 동일한 값을 가진 이차 항들이 메모리내의 공통 어드레스에 있을 수 있게 된다.
도 6은 본 발명의 일 실시예가 합체된 계산 장치의 일 실시예를 도시한 것이다. 이 계산 장치는 로그/역로그 값(106)을 이용하는 컴퓨터 연산을 실행하는 처리 유닛(102), 컴퓨터 연산을 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 메모리(100), 처리 유닛(102)와 컴퓨터 메모리(100)를 연결하는 버스(101) 및 입력 값(104)을 수신하는 변환기(108)를 구비한다.
변환기(108)는 도 1에 도시된 변환기를 포함할 수도 있다. 도시된 예에서, 변환기(108)는 메모리(112)와 그 것에 동작 가능하게 결합된 산술 수단(110)을 포함한다. 산술 수단은 처리 유닛(102)로부터 입력 값(104)을 수신하고 메모리(112)에 저장된 파라미터에 따라 로그 값 또는 역로그 값을 발생한다.
도 7은 본 발명의 일 실시에가 합체된 계산 장치의 다른 실시예를 도시한 것이다. 이 계산 장치는 로그/역로그 값(106)을 이용하는 컴퓨터 연산을 실행하는 처리 유닛(102), 컴퓨터 연산을 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 메모리(100), 처리 유닛(102)와 컴퓨터 메모리(100)를 연결하는 버스(101) 및 입력 값(104)을 수신하는 변환기(120)를 구비한다.
변환기(120)는 도 1에 도시된 변환기를 포함할 수도 있다. 도시된 예에서, 변환기(120)는 메모리(124)와 그 것에 동작 가능하게 결합된 산술 수단(122)을 포함한다. 산술 수단(122)은 입력 값(104)을 수신하고 메모리(124)에 저장된 파라미터에 따라 로그 값 또는 역로그 값을 발생한다.
이와 같이 로그 또는 역로그 함수의 계산에 사용될 수도 있는 변환기의 개념 및 바람직한 실시예가 개시되었다. 이같이 개시된 바와 같은 변환기의 실시예는 이차 다항식을 이용하여 함수를 근사화하기 때문에 두 개의 가산기, 단일의 승산기 및 메모리 크기가 상당히 감소될 수 있게 하는 룩업 테이블을 사용하여 로그 또는 역로그 변환을 수행할 수 있다. 이러한 변환기는 데이터 처리량 및 계산 정확도가 개선되게 하면서도 반도체 칩이던 컴퓨터 프로그램이던 간에 상관없이 구현 비용 및 복잡성이 상당히 감소될 수 있게 한다.
본 발명의 여러 실시예를 입력 값을 출력 값으로 처리하는 면에서 설명하였으나, 본 발명은 입력 값의 입력 신호 표현을 출력 값의 출력 신호 표현으로 처리하는 회로 및 이들 회로에 의해 구현되는 방법을 포함하는 것으로서 해석되어야 한다.
본 발명의 특정 실시예들을 도시하고 설명하였으나, 그 개시된 발명이 수많은 방식으로 변형되어 상기 특별하게 개시한 바람직한 형태가 아닌 다른 수많은 실시예로 될 수 있음이 당업자에게는 자명할 것이다.
따라서, 본 발명의 진정한 사상 및 범주에 속하는 본 발명의 모든 변형들을 특허청구범위에 의해 포괄하고자 한다.

Claims (10)

  1. 로그 변환기에 있어서,
    최소 제곱법을 사용하여 입력 값들의 도메인에 걸쳐 로그 함수를 추정함으로써 계산되는 다수의 파라미터 및 다수의 이차 항을 저장하는 것으로서, 입력 값에 대응하는 파라미터들 및 이차 항을 출력으로서 제공하는 메모리와;
    상기 메모리에 동작적으로 결합되어, 상기 입력 값과 파라미터들 및 이차 항에 대해 산술 연산을 수행함으로써 로그 값을 발생하는 산술 수단
    을 구비하는 로그 변환기.
  2. 제1항에 있어서, 상기 로그 함수는 이차 다항식으로 추정되는 로그 변환기.
  3. 제2항에 있어서, 상기 다수의 파라미터들은 제로차 파라미터 및 일차 파라미터를 포함하고, 상기 산술 수단은
    상기 일차 파라미터와 상기 입력 값을 승산하여 비례 항을 생성하는 승산기와;
    상기 비례 항과 상기 이차 항을 합산하여 제1 합을 생성하는 제1 가산기와;
    상기 제1 합과 상기 제로차 파라미터를 합산하여 상기 로그 값을 생성하는 제2 가산기
    를 구비하는 로그 변환기.
  4. 제2항에 있어서, 상기 다수의 파라미터들은 제로차 파라미터 및 일차 파라미터를 포함하고, 상기 산술 수단은
    상기 일차 파라미터와 상기 입력 값의 비트 슬라이스(bit slice)를 승산하여 비례 항을 생성하는 승산기와;
    상기 비례 항과 상기 이차 항을 합산하여 제1 합을 생성하는 제1 가산기와;
    상기 제1 합과 상기 제로차 파라미터를 합산하여 상기 로그 값을 생성하는 제2 가산기
    를 구비하는 로그 변환기.
  5. 제1항에 있어서, 상기 다수의 파라미터들 및 이차 항을 상기 메모리로부터 검색하는데 사용되는 다수의 비트를 가진 이진 값인 로그 변환기.
  6. 제1항에 있어서,
    상기 입력 값은 상위 부분과 하위 부분을 가진 이진 값이고, 상기 이차 항은 상기 하위 부분으로부터의 제2 비트 슬라이스에 연결된 사용하여 상기 상위 부분으로부터의 제1 비트 슬라이스를 상기 메모리로부터 검색될 수 있는 로그 변환기.
  7. 로그 값을 발생하기 위한 방법에 있어서,
    입력 값을 수신하는 단계와;
    상기 입력 값에 대응하며, 최소 제곱법을 사용하여 로그 함수를 추정함으로써 계산되는 다수의 파라미터 및 이차 항을 메모리로부터 검색하는 단계와;
    상기 다수의 파라미터, 상기 이차 항 및 상기 입력 값에 대해 산술 연산을 수행하여 상기 로그 값을 생성하는 단계
    를 포함하는 로그 값 발생 방법.
  8. 입력 값에 대응하는 로그 값을 발생하기 위한 로그 변환기에 있어서,
    다수의 이차 항과, 최소 제곱법을 사용하여 입력 값들의 구간에 걸쳐 로그 함수를 추정함으로써 각각 계산되는 다수의 파라미터 쌍을 저장하는 것으로서, 상기 입력 값에 대응하며, 제로차 파라미터 및 일차 파라미터를 갖는 파라미터 쌍 및 이차 항을 출력으로서 제공하는 메모리와;
    상기 일차 파라미터와 상기 입력 값의 비트 슬라이스를 승산하여 비례 항을 생성하는 승산기와;
    상기 비례 항과 상기 이차 항을 합산하여 제1 합을 생성하는 제1 가산기와;
    상기 제1 합과 상기 제로차 파라미터를 합산하여 상기 로그 값을 생성하는 제2 가산기
    를 구비하는 로그 변환기.
  9. 계산 장치에 있어서,
    로그 값을 이용하는 컴퓨터 연산을 실행하는 처리 유닛와;
    상기 컴퓨터 연산을 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 메모리와;
    상기 처리 유닛과 상기 컴퓨터 메모리를 연결하는 버스와;
    입력 값을 수신하는 로그 변환기
    를 구비하며, 상기 로그 변환기는
    최소 제곱법을 사용하여 입력 값들의 도메인에 걸쳐 로그 함수를 추정함으로써 계산되는 다수의 파라미터 및 다수의 이차 항을 저장하는 것으로서, 상기 입력 값에 대응하는 파라미터들 및 이차 항을 출력으로서 제공하는 메모리와;
    상기 메모리에 동작적으로 결합되어, 상기 입력 값과 파라미터들 및 이차 항에 대해 산술 연산을 수행함으로써 상기 로그 값을 발생하는 산술 수단
    을 구비하는 계산 장치.
  10. 입력 값에 대응하는 역로그 값을 발생하기 위한 역로그 변환기에 있어서,
    다수의 이차 항과, 최소 제곱법을 사용하여 입력 값들의 구간에 걸쳐 역로그 함수를 추정함으로써 각각 계산되는 다수의 파라미터 쌍을 저장하는 것으로서, 상기 입력 값에 대응하며 제로차 파라미터 및 일차 파라미터를 갖는 파라미터 쌍 및 이차 항을 출력으로서 제공하는 메모리와;
    상기 일차 파라미터와 상기 입력 값의 비트 슬라이스를 승산하여 비례 항을 생성하는 승산기와;
    상기 비례 항과 상기 이차 항을 합산하여 제1 합을 생성하는 제1 가산기와;
    상기 제1 합과 상기 제로차 파라미터를 합산하여 상기 역로그 값을 생성하는 제2 가산기
    을 구비하는 역로그 변환기.
KR1019970705199A 1995-01-31 1996-01-03 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법 KR19980701802A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8/382467 1995-01-31
US08/382,467 US5703801A (en) 1995-01-31 1995-01-31 Logarithm/inverse-logarithm converter utilizing second-order term and method of using same

Publications (1)

Publication Number Publication Date
KR19980701802A true KR19980701802A (ko) 1998-06-25

Family

ID=23509078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970705199A KR19980701802A (ko) 1995-01-31 1996-01-03 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법

Country Status (7)

Country Link
US (1) US5703801A (ko)
EP (1) EP0807285A4 (ko)
JP (1) JP2001510596A (ko)
KR (1) KR19980701802A (ko)
CN (1) CN1173930A (ko)
AU (1) AU4694596A (ko)
WO (1) WO1996024094A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642305A (en) * 1995-01-31 1997-06-24 Motorola, Inc. Logarithm/inverse-logarithm converter and method of using same
US5963460A (en) * 1996-12-17 1999-10-05 Metaflow Technologies, Inc. Apparatus for computing transcendental functions quickly
US6032168A (en) * 1997-08-15 2000-02-29 Motorola, Inc. Computer system to perform a filter operation using a logarithm and inverse-logarithm converter and methods thereof
US5951629A (en) * 1997-09-15 1999-09-14 Motorola, Inc. Method and apparatus for log conversion with scaling
US6249857B1 (en) * 1997-10-20 2001-06-19 Motorola, Inc. Apparatus using a multiple instruction register logarithm based processor
US6289367B1 (en) * 1998-11-16 2001-09-11 Texas Instruments Incorporated Digital signal processing circuits, systems, and method implementing approximations for logarithm and inverse logarithm
JP2001296992A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp 対数演算装置および対数演算方法
US7284027B2 (en) 2000-05-15 2007-10-16 Qsigma, Inc. Method and apparatus for high speed calculation of non-linear functions and networks using non-linear function calculations for digital signal processing
US6707865B2 (en) * 2001-07-16 2004-03-16 Qualcomm Incorporated Digital voltage gain amplifier for zero IF architecture
US20030086486A1 (en) * 2001-07-31 2003-05-08 Graziano Michael J. Method and system for determining maximum power backoff using frequency domain geometric signal to noise ratio
US7113491B2 (en) * 2001-07-31 2006-09-26 Conexant, Inc. Method and system for varying an echo canceller filter length based on data rate
US20030101206A1 (en) * 2001-07-31 2003-05-29 Graziano Michael J. Method and system for estimating a base-2 logarithm of a number
US20030099286A1 (en) * 2001-07-31 2003-05-29 Graziano Michael J. Method and system for shaping transmitted power spectral density according to line conditions
DE10163350A1 (de) 2001-12-21 2003-07-17 Rohde & Schwarz Verfahren und Vorrichtung zum Erzeugen eines Ausgangssignals als mathematische Funktion eines Eingangssignals
US7266576B2 (en) * 2002-12-24 2007-09-04 Lockheed Martin Corporation Circuits and methods for implementing approximations to logarithms
US7457838B2 (en) * 2003-12-03 2008-11-25 Marvell World Trade Ltd. Methods and apparatus for performing calculations using reduced-width data
US8108184B2 (en) * 2004-01-15 2012-01-31 Bruce Fardanesh Methods and systems for power systems analysis: a non-iterative state solver/estimator for power systems operation and control
CN100340940C (zh) * 2004-04-02 2007-10-03 明基电通股份有限公司 对数转换方法及其装置
US20060015549A1 (en) * 2004-07-13 2006-01-19 Chren William A Method and apparatus for generation of gaussian deviates
US7606850B2 (en) * 2005-03-30 2009-10-20 Lockheed Martin Corporation Method and apparatus for providing a base-2 logarithm approximation to a binary number
US8346831B1 (en) * 2006-07-25 2013-01-01 Vivante Corporation Systems and methods for computing mathematical functions
US9304739B1 (en) * 2006-12-11 2016-04-05 Nvidia Corporation Optimized 3D lighting computations using a logarithmic number system
CN102158196B (zh) * 2010-12-24 2013-08-14 南京大学 一种电信号正弦余弦变换电路和移相电路
US9411756B2 (en) 2012-06-18 2016-08-09 Blackberry Limited Function approximation circuitry
KR101624711B1 (ko) * 2013-12-24 2016-05-26 (주)에프씨아이 부동소수점 방식을 이용한 데이터 압축/복원 방법 및 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4555768A (en) * 1983-06-07 1985-11-26 Rca Corporation Digital signal processing system employing logarithms to multiply and divide
US4922212A (en) * 1989-06-05 1990-05-01 Novatel Communications, Ltd. Oscillator temperature compensating circuit using stored and calculated values
DE69130025T2 (de) * 1990-03-30 1999-03-25 Canon Kk Bildverarbeitungsverfahren und -gerät
US5301138A (en) * 1990-07-19 1994-04-05 Motorola, Inc. Device and method for evaluating logarithms
US5343254A (en) * 1991-04-25 1994-08-30 Olympus Optical Co., Ltd. Image signal processing device capable of suppressing nonuniformity of illumination
US5331582A (en) * 1991-12-16 1994-07-19 Pioneer Electronic Corporation Digital signal processor using a coefficient value corrected according to the shift of input data
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
EP0807285A4 (en) 1999-09-01
WO1996024094A1 (en) 1996-08-08
US5703801A (en) 1997-12-30
EP0807285A1 (en) 1997-11-19
JP2001510596A (ja) 2001-07-31
CN1173930A (zh) 1998-02-18
AU4694596A (en) 1996-08-21

Similar Documents

Publication Publication Date Title
KR19980701802A (ko) 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법
KR19980701803A (ko) 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법
US5941939A (en) Logarithm/inverse-logarithm converter and method of using same
US5600581A (en) Logarithm/inverse-logarithm converter utilizing linear interpolation and method of using same
US5726924A (en) Exponentiation circuit utilizing shift means and method of using same
EP0149248B1 (en) Method and apparatus for division using interpolation approximation
Ko et al. Design and application of faithfully rounded and truncated multipliers with combined deletion, reduction, truncation, and rounding
US5951629A (en) Method and apparatus for log conversion with scaling
JPH0635680A (ja) 対数を計算するディジタル回路及びコンピュータシステムを動作させる方法
JP2557193B2 (ja) 浮動小数点計算の実行方法及び浮動小数点ユニット
US5629884A (en) Log converter utilizing offset and method of use thereof
JP3551113B2 (ja) 除算器
JP4273071B2 (ja) 除算・開平演算器
US7366745B1 (en) High-speed function approximation
US5798957A (en) LNS-based computer processor and method of use thereof
Hass Synthesizing optimal fixed-point arithmetic for embedded signal processing
JP2645422B2 (ja) 浮動小数点演算処理装置
KR20010067226A (ko) 인터폴레이션 방법 및 장치
JP2508286B2 (ja) 平方根演算装置
EP4004710A1 (en) Matrix multiplication in hardware using modular math
JP2000010763A (ja) 除算回路
JP2023161967A (ja) 演算装置、演算方法及びプログラム
KR940008610B1 (ko) 고속 수렴 인자 결정 방법 및 프로세서
JPH0695855A (ja) 逆数発生回路及びこれを用いたディジタルシグナルプロセッサ
JPH06105421B2 (ja) 逆三角関数演算装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application