KR20060088689A - Arithmetic and logic unit - Google Patents

Arithmetic and logic unit Download PDF

Info

Publication number
KR20060088689A
KR20060088689A KR1020050009613A KR20050009613A KR20060088689A KR 20060088689 A KR20060088689 A KR 20060088689A KR 1020050009613 A KR1020050009613 A KR 1020050009613A KR 20050009613 A KR20050009613 A KR 20050009613A KR 20060088689 A KR20060088689 A KR 20060088689A
Authority
KR
South Korea
Prior art keywords
value
result
multiplication result
outputting
multiplication
Prior art date
Application number
KR1020050009613A
Other languages
Korean (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 엘지전자 주식회사
Priority to KR1020050009613A priority Critical patent/KR20060088689A/en
Publication of KR20060088689A publication Critical patent/KR20060088689A/en

Links

Images

Classifications

    • 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/50Adding; Subtracting
    • 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/52Multiplying; Dividing
    • 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations

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)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 산술논리 연산 유닛에 관한 것으로 특히, 로그연산 결과값 및 지수연산 결과값을 저장하는 메모리를 추가함으로써 간단한 덧셈과 곱셈 연산이 가능하도록 하여 초월함수 연산을 단순화시킬 수 있도록 하는데 그 목적이 있다. 이러한 목적의 본 발명은 역수값을 출력하는 역수값 저장 테이블(110)과, 상기 역수값과 이전 곱셈결과를 곱하는 곱셈기(120)와, 상기 곱셈결과값을 저장하고 그 곱셈결과의 전체 또는 일부를 상기 역수값 출력을 위한 데이터로 제공하는 곱셈결과 저장 레지스터(130)와, 로그값을 저장하고 상기 곱셈결과값에 대응하는 로그값을 출력하는 로그값 저장 테이블(140)과, 상기 로그값과 이전 덧셈결과를 덧셈하는 덧셈기(150)와, 상기 덧셈결과값을 저장하고 그에 상응하는 로그연산 결과값을 출력하는 덧셈결과 저장 레지스터(160)를 포함하여 로그연산이 가능하도록 구성함을 특징으로 한다. The present invention relates to an arithmetic logic operation unit, and in particular, to add a memory for storing logarithmic and exponential calculation results, so that simple addition and multiplication operations can be performed to simplify transcendence operations. . The present invention for this purpose is a reciprocal value storage table 110 for outputting a reciprocal value, a multiplier 120 for multiplying the reciprocal value and a previous multiplication result, and stores the multiplication result value and all or part of the multiplication result A multiplication result storage register 130 for providing data for outputting the reciprocal value; a log value storage table 140 for storing a log value and outputting a log value corresponding to the multiplication result value; And an adder 150 for adding the addition result and an addition result storage register 160 for storing the addition result and outputting a log operation result corresponding thereto.

Description

산술연산 논리 유닛{ARITHMETIC AND LOGIC UNIT} Arithmetic logic unit {ARITHMETIC AND LOGIC UNIT}

도1은 본 발명의 실시 예에서 로그연산을 위한 산술연산 논리 유닛의 구성도. 1 is a block diagram of an arithmetic logic unit for logarithm operation in an embodiment of the present invention.

도2는 본 발명의 실시 예에서 지수연산을 위한 산술연산 논리 유닛의 구성도. 2 is a block diagram of an arithmetic operation logic unit for exponential operation in an embodiment of the present invention.

도3은 본 발명의 실시 예에서 초월함수 연산을 위한 산술연산 논리 유닛의 구성도. 3 is a block diagram of an arithmetic logic unit for transcendental function calculation in an embodiment of the present invention.

* 도면의 주요부분에 대한 부호 설명 * Explanation of symbols on the main parts of the drawings

110,210 : 역수값 저장 테이블 120,250,310 : 곱셈기 110,210: Inverse value storage table 120,250,310: Multiplier

130,260,320 : 곱셈결과 저장 레지스터 130,260,320: Multiplication result storage register

140 : 로그값 저장 테이블 150,220,330 : 덧셈기 140: log value storage table 150,220,330: adder

160,230,340 : 덧셈결과 저장 레지스터 160,230,340: Add result storage register

240 : 지수값 저장 테이블 350,370 : 멀티플렉서(MUX) 240: Exponential value storage table 350,370: Multiplexer (MUX)

360,380 : 연산값 저장 테이블 360,380: Operational value storage table

본 발명은 연산 로직에 관한 것으로 특히, 산술논리 연산 유닛에 관한 것이다. The present invention relates to arithmetic logic, and more particularly to arithmetic logic unit.

최근 에이직(ASIC) 기술의 발전 및 DSP 성능 향상에 따라 디지털 오디오 인코딩(encoding)/디코딩(decoding) 기기는 더욱 소형화되고 있다. Recently, with the development of ASIC technology and the improvement of DSP performance, digital audio encoding / decoding devices have become smaller.

통상적으로 디지털 오디오 알고리듬의 구현에는 초월함수 연산 과정을 필요로 하며, 초월함수 알고리즘은 연산량과 하드웨어 한계로 인해 간단한 테이블 검색 기법 등으로 구현되고 있다.In general, the implementation of digital audio algorithms requires transcendence operations, and transcendence algorithms are implemented by simple table lookup techniques due to computational complexity and hardware limitations.

초월함수는 대수함수 이외의 함수로서 덧셈, 뺄셈, 곱셈, 나눗셈, 거듭제곱 등의 연산을 통해서 다항식으로 변형이 되지 않는 함수 예를 들어, 삼각함수, 지수함수, 로그함수 등을 의미한다. Transcendental functions are functions other than algebraic functions, such as trigonometric, exponential, and logarithmic functions that cannot be transformed into polynomials through operations such as addition, subtraction, multiplication, division, and power.

대수함수는 덧셈, 뺄셈, 곱셈, 나눗셈, 거듭제곱 등의 연산을 통해 다항식으로 변형할 수 있는 함수로서, 예를 들어 다항함수, 유리함수, 무리함수 등이 포함된다. Algebra functions are functions that can be transformed into polynomials through operations such as addition, subtraction, multiplication, division, and power, and include, for example, polynomials, rational functions, and irrational functions.

그러나, 종래에는 실제 초월함수 연산에 비해 오차가 크며, 이러한 연산 오차는 실제 오디오 인코딩/디코딩 과정에서 원하지 않는 잡음이 삽입될 가능성이 크다. However, in the related art, an error is larger than that of an actual transcendental operation, and this operation error is likely to insert unwanted noise in the actual audio encoding / decoding process.

따라서, 연산량을 크게 증가시키지 않으면서도 초월함수 연산의 정확도를 향상시키는 방법이 요구되고 있다. Therefore, there is a need for a method of improving the accuracy of transcendental calculations without significantly increasing the amount of computation.

이에, 본 발명은 종래의 문제점을 개선하기 위하여 로그연산 결과값 및 지수 연산 결과값을 저장하는 메모리를 추가함으로써 간단한 덧셈과 곱셈 연산이 가능하도록 하여 초월함수 연산을 단순화시킬 수 있도록 창안한 산술논리 연산 유닛을 제공하는데 그 목적이 있다. Accordingly, the present invention provides an arithmetic logic operation that can simplify transcendence operations by enabling simple addition and multiplication operations by adding a memory for storing logarithmic and exponential results in order to improve the conventional problems. The purpose is to provide a unit.

특히, 본 발명은 오디오 알고리즘 등에 사용되는 지수 및 로그 연산을 빠르게 수행할 수 있도록 하는데 그 목적이 있다. In particular, it is an object of the present invention to be able to quickly perform exponential and logarithmic operations used in audio algorithms.

본 발명은 상기의 목적을 달성하기 위하여 이전 곱셈결과에 대한 역수값과 이전 곱셈결과를 곱하는 곱셈기와, 그 곱셈기의 결과값을 일시 저장하는 곱셈결과 저장 레지스터와, 역수값을 저장하여 상기 곱셈결과의 전체 또는 일부 연산값에 대한 역수값을 상기 곱셈기에 제공하는 역수값 저장 테이블과, 로그값을 저장하고 상기 곱셈결과 저장 레지스터에서 입력되는 곱셈결과값에 대응하는 로그값을 출력하는 로그값 저장 테이블과, 상기 로그값과 이전 덧셈결과를 덧셈하는 덧셈기와, 상기 덧셈결과값을 저장하고 그에 상응하는 로그연산 결과값을 출력하는 덧셈결과 저장 레지스터를 포함하여 로그연산이 가능하도록 구성함을 특징으로 한다. The present invention provides a multiplier for multiplying the inverse value for the previous multiplication result and the previous multiplication result, a multiplication result storage register for temporarily storing the result of the multiplier, and a reciprocal value for storing the multiplication result. A reciprocal value storage table for providing reciprocal values for all or part of the calculation values to the multiplier, a log value storage table for storing log values and outputting log values corresponding to multiplication result values input from the multiplication result storage register; And an adder for adding the log value and the previous addition result, and an addition result storage register for storing the addition result value and outputting a log operation result value corresponding thereto.

또한, 본 발명은 상기의 목적을 달성하기 위하여 이전 덧셈결과와 이전 덧셈결과에 대응하는 지수값을 덧셈하는 덧셈기와, 이 덧셈기의 덧셈결과를 일시 저장하는 덧셈결과 저장 레지스터와, 지수값을 저장하고 상기 덧셈결과에 대응하는 지수값을 출력하는 지수값 저장 테이블과, 역수값을 저장하고 상기 지수값에 대한 역수값을 출력하는 역수값 저장 테이블과, 상기 역수값과 이전 곱셈결과를 곱셈하는 곱셈기와, 상기 곱셈결과값을 저장하고 그에 상응하는 지수연산 결과값을 출력하는 곱셈결과 저장 레지스터를 포함하여 지수연산이 가능하도록 구성함을 특징으로 한다. The present invention also provides an adder for adding a previous addition result and an exponent value corresponding to the previous addition result, an addition result storage register for temporarily storing the addition result of the adder, and storing the exponent value. An exponent value storage table for outputting an exponent value corresponding to the addition result, an inverse value storage table for storing an inverse value and outputting an inverse value for the exponent value, a multiplier for multiplying the inverse value and a previous multiplication result; And a multiplication result storage register for storing the multiplication result value and outputting a corresponding exponential result value.

이하, 본 발명을 도면에 의거 상세히 설명하면 다음과 같다. Hereinafter, the present invention will be described in detail with reference to the drawings.

초월함수 연산 중 로그 연산은 아래의 [수학식 1]로 표현 가능하며 'c'의 로그값을 구할 경우 'a'의 로그값을 구할 수 있다The logarithm of the transcendental function can be expressed by the following [Equation 1]. When the log value of 'c' is obtained, the log value of 'a'

Figure 112005006343713-PAT00001
Figure 112005006343713-PAT00001

이때, 'c'값은 아래의 [수학식 2]와 같이 수열 'b'의 로그값 곱셈으로 표현할 수 있다.In this case, the 'c' value may be expressed as a log value multiplication of the sequence 'b' as shown in Equation 2 below.

Figure 112005006343713-PAT00002
Figure 112005006343713-PAT00002

만일, 역수행렬 'd'를 [수학식 3]~[수학식 4]와 같이 정의할 경우 [수학식 5]에서 'c'값에 역수행렬 'd'를 곱하여 얻은 결과 값은 기존 'c'값에 비해 '1'로 접근하게 된다. If inverse matrix 'd' is defined as [Equation 3] ~ [Equation 4], the result obtained by multiplying 'c' by the inverse matrix 'd' in [Equation 5] is 'c' The value is approached as '1'.

Figure 112005006343713-PAT00003
Figure 112005006343713-PAT00003

Figure 112005006343713-PAT00004
Figure 112005006343713-PAT00004

Figure 112005006343713-PAT00005
Figure 112005006343713-PAT00005

위 과정을 반복하면 [수학식 6]을 도출할 수 있다. 즉, 로그 연산은 k번의 덧셈 연산 및 곱셈 연산으로 구현이 가능하다.By repeating the above process, Equation 6 can be derived. That is, log operation can be implemented by k addition and multiplication operations.

Figure 112005006343713-PAT00006
Figure 112005006343713-PAT00006

상기의 과정으로 표현되는 로그 연산은 도1의 구성도에 도시한 산술연산 로직 유닛으로 구할 수 있다. The logarithm operation represented by the above process can be obtained by the arithmetic logic unit shown in the configuration diagram of FIG.

도1은 기존의 산술연산 로직 유닛의 구조에 역수값 저장 테이블(110)과 로그값 저장 테이블(140)이 추가된 구성이다. 1 is a configuration in which a reciprocal value storage table 110 and a log value storage table 140 are added to a structure of an existing arithmetic operation logic unit.

이때, 테이블(110)(140)의 주소는 곱셈 결과값이 저장되어 있는 곱셈결과 레지스터(130)의 전체 또는 일부만을 사용한다. In this case, the addresses of the tables 110 and 140 use only part or all of the multiplication result register 130 in which the multiplication result value is stored.

즉, 본 발명의 실시 예에서 로그연산을 위한 산술연산 로직 유닛은 도1의 구성도에 도시한 바와 같이, 역수값을 출력하는 역수값 저장 테이블(110)과, 상기 역수값과 이전 곱셈결과를 곱하는 곱셈기(120)와, 상기 곱셈결과값을 저장하고 그 곱셈결과의 전체 또는 일부를 상기 역수값 출력을 위한 데이터로 제공하는 곱셈결과 저장 레지스터(130)와, 로그값을 저장하고 상기 곱셈결과값에 대응하는 로그값을 출력하는 로그값 저장 테이블(140)과, 상기 로그값과 이전 덧셈결과를 덧셈하는 덧셈기(150)와, 상기 덧셈결과값을 저장하고 그에 상응하는 로그연산 결과값을 출력하는 덧셈결과 저장 레지스터(160)를 포함하여 로그연산이 가능하도록 구성한다. That is, according to an embodiment of the present invention, the arithmetic operation logic unit for log operation, as shown in the configuration diagram of Figure 1, the inverse value storage table 110 for outputting the inverse value, and the inverse value and the previous multiplication result A multiplier 120 for multiplying, a multiplication result storage register 130 for storing the multiplication result and providing all or a part of the multiplication result as data for outputting the inverse value, and a log value for storing the multiplication result A log value storage table 140 for outputting a log value corresponding to the data source, an adder 150 for adding the log value and the previous addition result, and storing the addition result value and outputting a corresponding log operation result value. The addition result storage register 160 is configured to enable log operation.

상기와 같이 구성한 도1의 동작을 설명하면 다음과 같다. Referring to the operation of Figure 1 configured as described above is as follows.

곱셈기(120)가 역수값 저장 테이블(110)에서 출력되는 역수값(

Figure 112005006343713-PAT00007
)과 이전 곱셈결과를 곱셈하여 곱셈결과 저장 레지스터(130)에 저장함에 따라 상기 곱셈결과 저장 레지스터(130)는 곱셈 결과값 '
Figure 112005006343713-PAT00008
'을 출력하고, 로그값 저장 테이블(140)이 상기 곱셈 결과값에 상응하는 로그값(
Figure 112005006343713-PAT00009
)을 덧셈기(150)에 출력하게 된다. The multiplier 120 outputs the inverse value (outputted from the inverse value storage table 110)
Figure 112005006343713-PAT00007
) Is multiplied by the previous multiplication result and stored in the multiplication result storage register 130, the multiplication result storage register 130 is a multiplication result value '
Figure 112005006343713-PAT00008
', And the log value storage table 140 stores the log value corresponding to the multiplication result value (
Figure 112005006343713-PAT00009
) Is output to the adder 150.

이에 따라, 덧셈기(150)가 로그값(

Figure 112005006343713-PAT00010
)과 이전 덧셈결과를 덧셈하여 덧셈결과 저장 레지스터(160)에 저장하고 이로부터 상기 덧셈결과 저장 레지스터(160)에서 로그연산 결과값(
Figure 112005006343713-PAT00011
)을 출력하게 된다. Accordingly, the adder 150 is a log value (
Figure 112005006343713-PAT00010
) And the previous addition result are added and stored in the addition result storage register 160, and the log operation result value in the addition result storage register 160 therefrom.
Figure 112005006343713-PAT00011
) Will be printed.

또한, 지수 연산은 로그 연산과 반대로 수행되며, 이를 위해 덧셈 결과값을 직접 메모리 주소로 사용하는 구조를 필요로 한다. In addition, exponential operation is performed as opposed to logarithmic operation, and for this purpose, a structure using an addition result as a memory address is required.

본 발명의 실시 예에서 지수 연산은 [수학식 7]과 같이 이루어진다. In an embodiment of the present invention, the exponential calculation is performed as in Equation 7 below.

Figure 112005006343713-PAT00012
Figure 112005006343713-PAT00012

도2는 본 발명의 실시 예에서 지수연산을 위한 산술연산 로직 유닛의 구성도를 도시한 것이다. 2 is a block diagram of an arithmetic operation logic unit for exponential operation in an embodiment of the present invention.

즉, 본 발명의 실시 예에서 지수연산을 위한 산술연산 로직 유닛은 도2의 구성도에 도시한 바와 같이, 이전 덧셈결과와 이전 덧셈결과에 대응하는 지수값을 덧셈하는 덧셈기(220)와, 이 덧셈기(220)의 덧셈결과를 일시 저장하는 덧셈결과 저장 레지스터(230)와, 지수값을 저장하고 상기 덧셈결과에 대응하는 지수값을 출력하는 지수값 저장 테이블(240)과, 역수값을 저장하고 상기 지수값에 대한 역수값을 출력하는 역수값 저장 테이블(210)과, 상기 역수값과 이전 곱셈결과를 곱셈하는 곱셈기(250)와, 상기 곱셈결과값을 저장하고 그에 상응하는 지수연산 결과값을 출력하는 곱셈결과 저장 레지스터(260)를 포함하여 지수연산이 가능하도록 구성한다. That is, in the embodiment of the present invention, the arithmetic operation logic unit for exponential operation includes an adder 220 for adding an exponent value corresponding to a previous addition result and a previous addition result, as shown in the configuration diagram of FIG. An addition result storage register 230 for temporarily storing the addition result of the adder 220, an exponent value storage table 240 for storing an exponent value and outputting an exponent value corresponding to the addition result, and an inverse value A reciprocal value storage table 210 for outputting a reciprocal value with respect to the exponent value, a multiplier 250 for multiplying the reciprocal value with a previous multiplication result, and storing the multiplication result value and corresponding exponential result value. The multiplication result storage register 260 is output to include an exponential operation.

상기와 같이 구성한 도2의 동작을 설명하면 다음과 같다. The operation of FIG. 2 configured as described above is as follows.

덧셈기(220)가 지수값 저장 테이블(240)에서 출력되는 지수값(

Figure 112005006343713-PAT00013
)과 이전 덧셈결과를 덧셈하여 덧셈결과 저장 레지스터(230)에 저장함에 따라 상기 덧셈결과 저장 레지스터(230)는 덧셈 결과값 '
Figure 112005006343713-PAT00014
'을 출력하고, 역수값 저장 테이블(210)이 상기 지수값(
Figure 112005006343713-PAT00015
)에 상응하는 역수값(
Figure 112005006343713-PAT00016
)을 곱셈기(250)에 출력하게 된다. The adder 220 outputs an exponent value that is output from the exponent value storage table 240.
Figure 112005006343713-PAT00013
) And the previous addition result are added and stored in the addition result storage register 230, the addition result storage register 230 adds the result value '
Figure 112005006343713-PAT00014
', And the reciprocal value storage table 210 displays the exponent value (
Figure 112005006343713-PAT00015
Reciprocal value ()
Figure 112005006343713-PAT00016
) Is output to the multiplier 250.

이에 따라, 곱셈기(250)가 역수값(

Figure 112005006343713-PAT00017
)과 이전 곱셈결과를 곱셈하여 곱셈결과 저장 레지스터(260)에 저장하고 이로부터 상기 곱셈결과 저장 레지스터(260)에서 지수연산 결과값(
Figure 112005006343713-PAT00018
)을 출력하게 된다. Accordingly, the multiplier 250 returns an inverse value (
Figure 112005006343713-PAT00017
) Is multiplied by the previous multiplication result and stored in the multiplication result storage register 260, and from this the exponential result value (in the multiplication result storage register 260).
Figure 112005006343713-PAT00018
) Will be printed.

한편, 본 발명의 실시 예에서 지수연산과 로그연산 및 두 연산을 응용한 나눗셈 연산을 수행할 수 있는 산술연산 로직 유닛은 도3의 구성도와 같이 구현할 수 있다. Meanwhile, in the embodiment of the present invention, an arithmetic logic unit capable of performing an exponential operation, a logarithm operation, and a division operation using two operations may be implemented as shown in FIG. 3.

즉, 도3의 산술연산 로직 유닛은 연산값 저장 테이블(360)의 출력값, DSP 입력값 및 곱셈 결과값이 입력되는 곱셈기(310)의 출력을 곱셈결과 저장 레지스터(320)의 입력단자에 연결하고, 상기 곱셈결과 저장 레지스터(320)의 출력을 멀티플렉서(MUX)(350)(370)의 일측단자에 공통 연결함과 아울러 곱셈기(310)의 일측입력단자에 연결하며, 상기 멀티플렉서(350)의 출력단자를 연산값 저장 테이블(360)의 입력단자에 연결하고, 연산값 저장 테이블(370)의 출력값, DSP 입력값 및 덧셈 결과값이 입력되는 덧셈기(330)의 출력을 덧셈결과 저장 레지스터(340)의 입력단자에 연결하며, 상기 덧셈결과 저장 레지스터(340)의 출력단자를 상기 덧셈기(330)의 타측입력단자에 연결함과 아울러 멀티플렉서(350)(370)의 타측입력단자에 연결하고, 상기 멀티플렉서(370)의 출력단자를 연산값 저장 테이블(380)의 입력단자에 연결하며, 상기 곱셈결과 저장 레지스터(320) 또는 덧셈결과 저장 레지스터(340)에서 최종 연산값이 출력되록 구성한다. That is, the arithmetic operation logic unit of FIG. 3 connects the output of the multiplier 310 into which the output value, the DSP input value, and the multiplication result value of the operation value storage table 360 are input, to the input terminal of the multiplication result storage register 320. In addition, the output of the multiplication result storage register 320 is commonly connected to one terminal of a multiplexer (MUX) 350, 370, and is connected to one input terminal of the multiplier 310, and the output of the multiplexer 350. The terminal is connected to an input terminal of the operation value storage table 360, and the output of the adder 330 to which the output value, the DSP input value, and the addition result value of the operation value storage table 370 are input is added to the result storage register 340. The output terminal of the addition result storage register 340 to the other input terminal of the adder 330 and the other input terminal of the multiplexers 350 and 370, and the multiplexer Output value of 370 is calculated Coupled to the input terminal of the table 380, and constitutes the final calculation value output from the doerok multiplication result storage register 320, or the addition result storage register 340.

따라서, 도3의 유닛은 로그연산 또는 지수연산에 따라 신호 흐름이 변경시키는데, 이를 설명하면 다음과 같다. Accordingly, the unit of FIG. 3 changes the signal flow in accordance with logarithmic or exponential operations.

우선, 로그연산의 경우 곱셈기(310), 곱셈결과 저장 레지스터(320), 멀티플렉서(350), 연산값 저장 테이블(360), 상기 곱셈기(310)로 연결되는 경로와, 상기 곱셈결과 저장 레지스터(320), 멀티플렉서(370), 연산값 저장 테이블(380), 덧셈기 (330), 덧셈결과 저장 레지스터(340)로 연결되는 경로를 통해 최종적으로 로그연산 결과값을 구하게 된다. 즉, 로그 연산의 경우 도1의 유닛과 동일한 동작을 수행하는 것이다. 여기서, 연산값 저장 테이블(360)은 곱셈결과값의 전체 또는 일부 연산값에 상응하는 역수값(

Figure 112005006343713-PAT00019
)을 출력하기 위한 메모리이고, 연산값 저장 테이블(380)은 로그값(
Figure 112005006343713-PAT00020
)을 출력하기 위한 메모리이다. First, in the log operation, a multiplier 310, a multiplication result storage register 320, a multiplexer 350, an operation value storage table 360, a path connected to the multiplier 310, and the multiplication result storage register 320 ), A log operation result is finally obtained through a path connected to the multiplexer 370, the operation value storage table 380, the adder 330, and the addition result storage register 340. That is, in the case of log operation, the same operation as that of the unit of FIG. 1 is performed. Here, the operation value storage table 360 is an inverse value corresponding to all or part of the operation result of the multiplication result (
Figure 112005006343713-PAT00019
) Is a memory for outputting, and the operation value storage table 380 is a log value (
Figure 112005006343713-PAT00020
) Is the memory for printing.

그리고, 지수연산의 경우 덧셈기(330), 더셈결과 저장 레지스터(340), 멀티플렉서(370), 연산값 저장 테이블(380), 상기 덧셈기(330)로 연결되는 경로와, 덧셈결과 저장 레지스터(340), 멀티플렉서(350), 연산값 저장 테이블(360), 곱셈기(310), 곱셈결과 저장 레지스터(320)로 연결되는 경로를 통해 최종적으로 지수연산 결과값을 구하게 된다. 즉, 지수연산의 경우 도2의 유닛과 동일한 동작을 수행하는 것이다. 여기서, 연산값 저장 테이블(360)은 곱셈기(250)에 역수값(

Figure 112005006343713-PAT00021
)을 출력하기 위한 메모리로 동작하고, 연산값 저장 테이블(380)은 지수값(
Figure 112005006343713-PAT00022
)을 출력하기 위한 메모리로 동작한다. In the exponential operation, the adder 330, the add result storage register 340, the multiplexer 370, the operation value storage table 380, the path connected to the adder 330, and the add result storage register 340. The result of the exponential calculation is finally obtained through a path connected to the multiplexer 350, the operation value storage table 360, the multiplier 310, and the multiplication result storage register 320. That is, in the case of exponential operation, the same operation as that of the unit of FIG. 2 is performed. Here, the operation value storage table 360 is an inverse value (
Figure 112005006343713-PAT00021
), And the operation value storage table 380 is an index value (
Figure 112005006343713-PAT00022
) Acts as a memory for outputting

상기에서 상세히 설명한 바와 같이 본 발명은 기존 산술연산 로직 유닛(ALU)에 로그연산 또는 지수연산의 결과값을 출력하는 메모리를 추가함으로써 초월함수 연산을 단순화시킬 수 있는 효과가 있다. As described in detail above, the present invention has the effect of simplifying the transcendental function by adding a memory for outputting a logarithmic or exponential result to the existing arithmetic logic unit (ALU).

특히, 본 발명은 초월함수 연산이 자주 발생하는 오디오 알고리즘 구현에 적용하는 경우 연산량 및 연산오차를 줄일 수 있으므로 알고리즘을 단순화시키는 것 은 물론 하드웨어 크기를 줄일 수 있다. 이로부터 본 발명은 오디오 알고리즘의 SNR(Signal-Noise Ratio)를 증가시켜 음질을 향상시킬 수 있다.In particular, when the present invention is applied to the implementation of the audio algorithm that transcend operation frequently occurs, it is possible to reduce the amount of computation and error, it is possible to simplify the algorithm as well as reduce the hardware size. From this, the present invention can improve the sound quality by increasing the signal-noise ratio (SNR) of the audio algorithm.

Claims (4)

이전 곱셈결과에 대한 역수값과 이전 곱셈결과를 곱하는 곱셈기와, A multiplier that multiplies the inverse of the previous multiplication result by the previous multiplication result, 그 곱셈기의 결과값을 일시 저장하는 곱셈결과 저장 레지스터와, A multiplication result storage register for temporarily storing the result of the multiplier; 역수값을 저장하여 상기 곱셈결과의 전체 또는 일부 연산값에 대한 역수값을 상기 곱셈기에 제공하는 역수값 저장 테이블과, A reciprocal value storage table for storing reciprocal values and providing reciprocal values for all or part of the multiplication result to the multiplier; 로그값을 저장하고 상기 곱셈결과 저장 레지스터에서 입력되는 곱셈결과값에 대응하는 로그값을 출력하는 로그값 저장 테이블과, A log value storage table for storing a log value and outputting a log value corresponding to a multiplication result value input from the multiplication result storage register; 상기 로그값과 이전 덧셈결과를 덧셈하는 덧셈기와, An adder for adding the log value and the previous addition result; 상기 덧셈결과값을 저장하고 그에 상응하는 로그연산 결과값을 출력하는 덧셈결과 저장 레지스터를 포함하여 로그연산이 가능하도록 구성함을 특징으로 하는 산술연산 로직 유닛. And an add result storage register for storing the add result and outputting a log operation result corresponding thereto. 이전 덧셈결과와 이전 덧셈결과에 대응하는 지수값을 덧셈하는 덧셈기와, An adder that adds an exponent value corresponding to a previous addition result and a previous addition result, 이 덧셈기의 덧셈결과를 일시 저장하는 덧셈결과 저장 레지스터와, An add result storage register for temporarily storing an add result of the adder; 지수값을 저장하고 상기 덧셈결과에 대응하는 지수값을 출력하는 지수값 저장 테이블과, An index value storage table for storing an index value and outputting an index value corresponding to the addition result; 역수값을 저장하고 상기 지수값에 대한 역수값을 출력하는 역수값 저장 테이블과, A reciprocal value storage table for storing reciprocal values and outputting reciprocal values for the exponent values; 상기 역수값과 이전 곱셈결과를 곱셈하는 곱셈기와, A multiplier for multiplying the reciprocal value by a previous multiplication result; 상기 곱셈결과값을 저장하고 그에 상응하는 지수연산 결과값을 출력하는 곱셈결과 저장 레지스터를 포함하여 지수연산이 가능하도록 구성함을 특징으로 하는 산술연산 로직 유닛. And a multiplication result storage register configured to store the multiplication result and output a corresponding exponent result. 역수값과 이전 곱셈결과를 곱셈하는 곱셈기와, A multiplier that multiplies the inverse of the previous multiplication result, 역수값을 상기 곱셈기에 출력하기 위한 제1 연산값 저장 테이블과, A first operation value storage table for outputting an inverse value to the multiplier; 상기 곱셈결과에 상응하는 연산값을 출력하는 곱셈결과 저장 레지스터와, A multiplication result storage register for outputting an operation value corresponding to the multiplication result; 이전 덧셈결과에 연산값(로그값 또는 지수값)을 덧셈하는 덧셈기와, An adder that adds an operation value (log value or exponent value) to the previous addition result, 연산값을 상기 덧셈기에 출력하기 위한 제2 연산값 저장 테이블과, A second operation value storage table for outputting an operation value to the adder; 상기 덧셈결과에 상응하는 연산값을 출력하는 덧셈결과 저장 레지스터와, An addition result storage register for outputting an operation value corresponding to the addition result; 상기 곱셈결과와 상기 덧셈결과 중 하나를 상기 제1 연산값 저장 테이블의 주소로 입력시키는 제1 멀티플렉서와, A first multiplexer for inputting one of the multiplication result and the addition result to an address of the first operation value storage table; 상기 곱셈결과와 상기 덧셈결과 중 하나를 상기 제2 연산값 저장 테이블의 주소로 입력시키는 제2 멀티플렉서를 포함하여 경로 선택에 따라 로그연산 또는 지수연산을 수행하도록 구성함을 특징으로 하는 산술연산 로직 유닛. An arithmetic logic unit configured to perform a logarithmic or exponential operation according to path selection, including a second multiplexer for inputting one of the multiplication result and the addition result to an address of the second operation value storage table . 제3항에 있어서, 제1,제2 멀티플렉서는 로그연산의 경우 곱셈결과를 선택하고, 지수연산의 경우 덧셈결과를 선택하도록 제어됨을 특징으로 하는 산술연산 로직 유닛. 4. The arithmetic logic unit of claim 3 wherein the first and second multiplexers are controlled to select a multiplication result for logarithm operation and an addition result for exponential operation.
KR1020050009613A 2005-02-02 2005-02-02 Arithmetic and logic unit KR20060088689A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050009613A KR20060088689A (en) 2005-02-02 2005-02-02 Arithmetic and logic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050009613A KR20060088689A (en) 2005-02-02 2005-02-02 Arithmetic and logic unit

Publications (1)

Publication Number Publication Date
KR20060088689A true KR20060088689A (en) 2006-08-07

Family

ID=37177036

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050009613A KR20060088689A (en) 2005-02-02 2005-02-02 Arithmetic and logic unit

Country Status (1)

Country Link
KR (1) KR20060088689A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958179B2 (en) 2006-12-06 2011-06-07 Electronics And Telecommunications Research Institute Arithmetic method and device of reconfigurable processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958179B2 (en) 2006-12-06 2011-06-07 Electronics And Telecommunications Research Institute Arithmetic method and device of reconfigurable processor

Similar Documents

Publication Publication Date Title
US9207910B2 (en) Digital signal processor having instruction set with an xK function using reduced look-up table
EP1365316A1 (en) Circuits, systems and methods implementing approximations for logarithms, inverse logarithms and reciprocal
EP3286635A1 (en) High performance division and root computation unit
JP4953978B2 (en) How to generate a display of calculation results linearly dependent on a square value
US20100198894A1 (en) Digital Signal Processor Having Instruction Set With An Exponential Function Using Reduced Look-Up Table
WO2013109532A1 (en) Algebraic processor
US9170776B2 (en) Digital signal processor having instruction set with a logarithm function using reduced look-up table
Norris et al. An approximate and iterative posit multiplier architecture for FPGAs
FR2849512A1 (en) MONTGOMERY MODULAR MULTIPLIER AND CORRESPONDING MULTIPLICATION METHOD
WO2011051769A2 (en) Method and system for determining a quotient value
Murillo et al. A suite of division algorithms for posit arithmetic
KR20060088689A (en) Arithmetic and logic unit
Itabashi et al. Efficient modular polynomial multiplier for NTT accelerator of Crystals-Kyber
KR20080050226A (en) Modular multiplication device and method for designing modular multiplication device
Lee et al. High quality MPEG-audio layer III algorithm for a 16-bit DSP
Chen et al. A high-performance deeply pipelined architecture for elementary transcendental function evaluation
Gopal et al. Fast and constant-time implementation of modular exponentiation
CN114201140A (en) Exponential function processing unit, method and neural network chip
JPH10503311A (en) Galois field polynomial multiply / divide circuit and digital signal processor incorporating the same
Sravya et al. Hardware posit numeration system primarily based on arithmetic operations
TWI472932B (en) Digital signal processing apparatus and processing method thereof
US20050177605A1 (en) Computation of logarithmic and exponential functions
US10353671B2 (en) Circuitry and method for performing division
US20090319589A1 (en) Using fractional exponents to reduce the computational complexity of numerical operations
Mohan et al. Scaling, base extension, sign detection and comparison in RNS

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination