KR19990054337A - Exponential computing device - Google Patents

Exponential computing device Download PDF

Info

Publication number
KR19990054337A
KR19990054337A KR1019970074148A KR19970074148A KR19990054337A KR 19990054337 A KR19990054337 A KR 19990054337A KR 1019970074148 A KR1019970074148 A KR 1019970074148A KR 19970074148 A KR19970074148 A KR 19970074148A KR 19990054337 A KR19990054337 A KR 19990054337A
Authority
KR
South Korea
Prior art keywords
value
multiplier
exponent
register
output
Prior art date
Application number
KR1019970074148A
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 KR1019970074148A priority Critical patent/KR19990054337A/en
Publication of KR19990054337A publication Critical patent/KR19990054337A/en

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

가.청구범위에 기재된 발명이 속한 기술분야A. Description of the Related Art

지수연산을 수행하는 디지털 회로에 관한 것이다.To a digital circuit for performing an exponential operation.

나.발명이 해결하려고 하는 기술적 과제B. Technical Problems to be Solved by the Invention

회로의 구현이 간단하며 연산처리 속도가 빠른 지수연산 장치를 제공한다.The present invention provides an exponential arithmetic unit having a simple circuit implementation and a high processing speed.

다.발명의 해결방법의 요지C. The point of the solution of the invention

지수연산을 수행하는 장치에 있어서, 초기 지수연산값과 밑수의 값을 저장하는 레지스터와, 지수의 2진 비트수 만큼의 레지스터로 구성되어 상기 지수의 2진 비트값을 저장하며 한 사이클마다 왼쪽으로 쉬프트하여 상기 2진 비트값의 맨 왼쪽 비트값을 출력시키는 쉬프트 레지스터와, 밑수와 지수연산값을 두 입력으로 받아서 곱셈을 수행하여 출력하는 제1곱셈기와, 밑수의 값과 상기 제1곱셈기로부터 출력되는 지수연산값을 입력받아 곱셈을 수행하여 출력하는 제2곱셈기와, 상기 쉬프트 레지스터로부터 출력되는 값에 따라 상기 제1곱셈기와 제2곱셈기의 출력값을 선택적으로 출력시키는 멀티플렉서를 포함하여 구성됨을 특징으로 한다.An apparatus for performing an exponentiation operation, comprising: a register for storing an initial exponent value and a base value; a register for storing a binary bit value of the exponent; A shift register for shifting and outputting the leftmost bit value of the binary bit value, a first multiplier for receiving the base and exponent operation values as inputs and performing multiplication and output, And a multiplexer for selectively outputting output values of the first multiplier and the second multiplier according to a value output from the shift register, do.

라.발명의 중요한 용도D. Important Uses of the Invention

지수연산을 수행하기 위해 사용한다.Used to perform exponentiation.

Description

지수연산 장치Exponential computing device

본 발명은 디지털 회로에 관한 것으로, 특히 지수연산을 수행하는 디지털 회로에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital circuit, and more particularly, to a digital circuit performing an exponential operation.

통상적으로 디지털 회로에서 XY 연산 즉, 지수연산을 수행하는 회로를 구성할 때 가장 간단한 방법은 1개의 곱셈기(Multiplier)를 사용하여 밑수 X 를 지수 Y 수만큼 반복하여 곱하는 방법이다.Typically in digital circuits X Y The simplest method for constructing a circuit that performs an operation, that is, an exponential operation, is to use a multiplier, X Index Y Number of times.

그런데 상기한 방법은 회로의 구현이 간단하기는 하지만 연산결과를 얻기위해 Y 번의 클럭 사이클이 필요하게 되어 속도가 많이 늦어지게 되는 문제점이 있었다.However, although the above-described method is simple to implement the circuit, Y The number of clock cycles is required and the speed becomes slow.

또한 상기한 속도의 지연을 해결하기 위해 여러개의 곱셈기를 사용할 수 도 있는데 이때에는 연산수행 속도는 향상되지만 회로가 복잡하게 되는 문제점이 있었다.In addition, a plurality of multipliers can be used to solve the above-mentioned delay in speed. In this case, although the speed of operation is improved, there is a problem that the circuit becomes complicated.

상술한 바와 같이 종래에는 지수연산을 수행함에 있어서 한 개의 곱셈기를 사용하는 경우 회로의 구현은 간단하지만 연산속도가 늦는 문제점이 있으며 여러개의 곱셈기를 사용하는 경우 연산속도는 증가하지만 회로가 복잡해지는 문제점이 있었다.As described above, conventionally, when one multiplier is used in performing the exponential operation, the implementation of the circuit is simple but the operation speed is slow. In the case of using multiple multipliers, the operation speed increases but the circuit becomes complicated there was.

따라서 본 발명의 목적은 회로의 구현이 간단하고 연산속도도 증가시킬 수 있는 지수연산을 수행하는 디지털 회로를 제공함에 있다.It is therefore an object of the present invention to provide a digital circuit which performs an exponential operation which can simplify the implementation of the circuit and increase the operation speed.

도 1은 본 발명의 실시 예에 따른 지수연산 장치의 회로도,1 is a circuit diagram of an exponent computing apparatus according to an embodiment of the present invention;

도 2는 본 발명의 실시 예에 따른 지수연산 장치의 동작제어 흐름도,FIG. 2 is a flow chart of operation control of an exponent operating apparatus according to an embodiment of the present invention,

도 3은 본 발명의 실시 예에 따른 지수연산 수행 결과 예시도.3 is a diagram illustrating an example of an exponential operation result according to an embodiment of the present invention.

상술한 목적을 달성하기 위한 본 발명은 지수연산을 수행하는 장치에 있어서, 초기 지수연산값과 밑수의 값을 저장하는 레지스터(Register)와, 지수의 2진 비트수 만큼의 레지스터로 구성되어 상기 지수의 2진 비트값을 저장하며 한 사이클마다 왼쪽으로 쉬프트하여 상기 2진 비트값의 맨 왼쪽 비트값을 출력시키는 쉬프트 레지스터(Shift Register)와, 밑수와 지수연산값을 두 입력으로 받아서 곱셈을 수행하여 출력하는 제1곱셈기(Multiplier)와, 밑수의 값과 상기 제1곱셈기로부터 출력되는 지수연산값을 입력받아 곱셈을 수행하여 출력하는 제2곱셈기와, 상기 쉬프트 레지스터로부터 출력되는 값에 따라 상기 제1곱셈기와 제2곱셈기의 출력값을 선택적으로 출력시키는 멀티플렉서(Multiplexer)를 포함하여 구성됨을 특징으로 한다.According to an aspect of the present invention, there is provided an apparatus for performing an exponentiation operation, the apparatus comprising: a register for storing an initial exponent value and a base value; A shift register for storing a binary bit value of the binary bit value and shifting leftward every cycle to output the leftmost bit value of the binary bit value and a multiplier for receiving the base value and the exponent value in two inputs, A second multiplier for receiving a base value and an exponent operation value output from the first multiplier, performing a multiplication and outputting a base value, and a second multiplier for outputting a result of the first multiplier according to a value output from the shift register, And a multiplexer for selectively outputting output values of the multiplier and the second multiplier.

이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명 및 첨부 도면에서 구체적인 처리 흐름과 같은 많은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들없이 본 발명이 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진자에게 자명할 것이다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Many specific details, such as the specific process flow in the following description and the accompanying drawings, are set forth in order to provide a more thorough understanding of the present invention. It will be apparent to those skilled in the art that the present invention may be practiced without these specific details. And a detailed description of known functions and configurations that may unnecessarily obscure the gist of the present invention will be omitted

도 1은 본 발명의 실시 예에 따른 지수연산 장치의 회로도를 도시한 것이다. 상기 도 1을 참조하면 제1레지스터(100)에는 밑수가 저장되어 제1곱셈기(102)로 인가된다. 제2레지스터(104)에는 초기값으로 "1"이 저장되어 있으며 지수연산이 수행됨에 따라 증가되는 지수연산값이 저장되어 제2곱셈기(106)로 인가된다. 제2곱셈기(106)는 상기 제2레지스터(104)에 저장되는 지수연산값을 두 입력으로 받아들여서 상기 두 입력값을 곱한 후에 출력시킨다. 제1곱셈기(102)는 상기 제2곱셈기(106)의 출력값과 상기 제1레지스터(100)에 저장된 밑수의 값을 두 입력으로 받아들여서 곱셈을 수행하여 상기 수행결과를 출력시킨다. 쉬프트 레지스터(108)는 지수값을 2진 비트값으로 저장하고 있으며 한 클럭 사이클마다 상기 2진 비트값의 맨 왼쪽 비트값을 한 비트씩 출력시키고 왼쪽으로 쉬프트된다. 멀티플렉서(110)는 상기 제1곱셈기(102)와 제2곱셈기(106)로부터의 출력을 받아들여서 상기 쉬프트 레지스터(108)의 출력값에 따라 상기 두 개의 값중 하나를 선택하여 제2레지스터(104)로 출력시킨다.1 shows a circuit diagram of an exponent computing apparatus according to an embodiment of the present invention. Referring to FIG. 1, a base register is stored in a first register 100 and applied to a first multiplier 102. In the second register 104, "1" is stored as an initial value, and an exponent operation value that is increased as the exponent operation is performed is stored and applied to the second multiplier 106. The second multiplier 106 receives the exponent value stored in the second register 104 as two inputs, multiplies the two input values, and outputs the result. The first multiplier 102 receives the output value of the second multiplier 106 and the base value stored in the first register 100 as two inputs, performs multiplication, and outputs the result of the multiplication. The shift register 108 stores the exponent value as a binary bit value and outputs the leftmost bit value of the binary bit value one bit at a time in each clock cycle and is shifted to the left. The multiplexer 110 receives the output from the first multiplier 102 and the second multiplier 106 and selects one of the two values according to the output value of the shift register 108 and outputs the selected value to the second register 104 .

도 2는 본 발명의 실시 예에 따른 상기 지수연산 장치의 동작과정을 나타낸 처리 흐름도를 도시한 것이다. 상기 도 2를 참조하여 본 발명의 실시 예를 상세히 설명한다.2 is a flowchart illustrating an operation of the exponentiation apparatus according to an embodiment of the present invention. An embodiment of the present invention will be described in detail with reference to FIG.

먼저 상기 도 2의 이론적 배경을 잠깐 살펴보기로 한다. 밑수를 X 지수를 Y 라 하고 지수연산값 E=XY 라하면 지수연산값 E 를 구하려고 하는 경우 Y 를 2진수로 표시하여 보면 아래와 같다.First, the theoretical background of FIG. 2 will be briefly described. Underground X Index Y And the exponent value E = X Y , The exponent value E If you want to save Y As a binary number.

Y = yn-12n-1+yn-22n-2+⃛+y121+y020 Y = y n-1 2 n-1 + y n-2 2 n-2 + ⃛ + y 1 2 1 + y 0 2 0

Y n-k 회 쉬프트 라이트(shift-right) 한 것을 Y(k) 라 하면 Y 를 아래와 같이 나타낼 수 있다. Y To nk When a shift-right Y (k) If you say Y Can be expressed as follows.

Y(n)=YY (n) = Y

=yn-12n-1+yn-22n-2+⃛+y121+y020 = y n-1 2 n-1 + y n-2 2 n-2 + ⃛ + y 1 2 1 + y 0 2 0

=2(yn-12n-2+yn-22n-3+⃛+y120)+y0 = 2 (y n-1 2 n-2 + y n-2 2 n-3 + ⃛ + y 1 2 0 ) + y 0

=2Y(n-1)+y0 = 2Y (n-1) + y 0

여기서 위의 식을 일반식으로 나타내면 아래와 같이 나타낼 수 있다.Here, the above equation can be expressed as a general expression.

Y(i)=2Y(i-1)+yn-i, 1≤i≤nY (i) = 2Y (i-1) + y ni , 1? I? N

위의 식에서 단, Y(0)=0 으로 한다. 따라서 승산값 E 는 아래와 같이 나타낼 수 있다.In the above equation, Y (0) = 0 . Therefore, E Can be expressed as follows.

E(i)=XY(i) =X2Y(i-1)+yn-1 =[XY(i-1) ]2Xyn-i E (i) = X Y (i) = X 2Y (i-1) + y n-1 = [X Y (i-1) ] 2 X y ni

위의 식에서 yn-i 는 0 혹은 1이므로 E(i) 는 아래와 같은 일반항으로 나타낼 수 있다.In the above equation y ni Is either 0 or 1 E (i) Can be represented by the following general term.

E(i)=[E(i-1)]2, (yn-i=0 인 경우) E (i) = [E (i-1) ] 2 , (y ni = 0 )

E(i)=[E(i-1)]2X, (yn-i=1 인 경우) E (i) = [E (i-1) ] 2 X, (y ni = 1 )

따라서 지수연산값 E 가 지수값 Y 의 2진 비트수 만큼의 사이클동안에 구해질 수 있다. 상기 도 2는 위의 식을 이용하여 지수연산값 E=XY 을 구하기 위한 상기 도 1의 지수연산 장치의 동작 흐름을 도시한 것이다. 설명의 편의상 본 발명의 실시 예에서는 X 는 "3", Y 는 "5"인 경우의 지수연산값을 구하는 과정을 예를 들어 설명하기로 한다.Therefore, E Exponent value Y Lt; RTI ID = 0.0 > number of bits. ≪ / RTI > FIG. 2 is a graph showing an exponent value E = X Y The operation of the exponent calculation apparatus of FIG. 1 is shown. For convenience of explanation, in the embodiment of the present invention X Quot; 3 "," Y Quot; is " 5 ".

먼저 XY 값을 구하기 위해 제1레지스터(100)에는 밑수 X 값 즉, "3"이 저장되고 쉬프트 레지스터(108)에는 지수 Y 의 2진 비트값 즉, 101(2) 이 저장된다. 이어 지수연산 동작이 수행되면 도 2의 (200)단계에서 지수연산값 E 에는 1이 저장되고, (202)단계에서 i 에는 초기값으로 "1"이 저장된다. 상기 i 는 쉬프트 레지스터(108)에 저장된 지수 Y 의 2진 비트값이 왼쪽으로 쉬프트되는 횟수 즉, 한 수행 사이클을 나타내며 전술한 수식에서 보여진 것처럼 "1"보다는 크거나 같고 지수 Y 의 2진 비트수 n 즉, "3"보다는 작거나 같다. 이어 (204)단계에서 i n 보다 작은지 여부가 검사된다. 상기에서 n 은 지수 Y 의 비트수이므로 "3"이 된다. 이때 만일 i n 보다 작거나 같으면 (206)단계에서 지수연산값 E 에는 E×E 의 값 즉, 1×1 의 값이 저장된다. 그리고 (208)단계에서 i 에는 이전 i 값보다 "1"이 증가된 값이 저장된다. 이어 (210)단계에서 Y 의 2진 비트값 즉, 111(2) 의 맨 왼쪽 비트값이 "1"인지 여부가 검사된다. 이때 만일 Y 의 2진 비트값의 맨 왼쪽 비트값이 "1"인 경우에는 지수연산값 E 에는 E×X 값 즉, 1×3 의 값 즉, 3이 저장되고, (214)단계에서 Y 의 2진 비트값은 왼쪽으로 한 비트씩 쉬프트된다. 즉, 한 비트 왼쪽으로 쉬프트된 Y 의 2진 비트값은 110(2) 이 된다.first X Y In order to obtain the value, the first register (100) X Value " 3 " is stored and the shift register 108 stores an exponent Y ≪ / RTI > that is, 101 (2) Is stored. If the exponent calculation operation is performed, the exponent value E 1 is stored in step 202, and in step 202, i Quot; 1 " is stored as an initial value. remind i Is stored in the shift register 108 Y Represents the number of shifts to the left of the binary bit value, i.e., one cycle, and is greater than or equal to " 1 " as shown in the above- Y The number of bits in binary n That is, less than or equal to "3". In step 204, i end n Is checked. In the above, n An index Y Quot; 3 ". At this time, i end n (206), the exponent value E There E × E I.e., 1 x 1 Is stored. Then, in step (208) i The old i Quot; 1 " is stored. In step 210, Y ≪ / RTI > that is, 111 (2) Quot; 1 " is checked. At this time, Y Quot; 1 ", the exponent value E There E × X That is, 1 x 3 That is, 3 is stored, and in step 214, Y Are shifted left by one bit. That is, one bit shifted left Y The binary bit value of 110 (2) .

이와 달리 상기 (210)단계에서 Y 의 2진 비트값의 맨 왼쪽 비트값이 "1"이 아니면 지수연산값 E 는 변화되지 않고, 바로 상기 (214)단계로 진행하여 전술한 바와 같이 Y 의 2진 비트값만 한 비트 왼쪽으로 쉬프트된다. 그리고 다시 상기 (204)단계로 돌아가서 i 값이 n 값보다 커지기 전까지 상기 (204)∼(214)단계를 반복 수행한다. 그리고 i 값이 n 값보다 커지면 즉, i 값이 "4"가 되면 상기 지수연산 루프를 빠져 나오게 된다. 상기 도 2의 과정을 통해 밑수 X 의 값이 "3"이고 지수 Y 의 값이 "5"인 경우 지수연산값 E 가 구해진 결과를 도 3으로 도시하였다.Alternatively, in step 210 Y Quot; 1 " is not " 1 ", the exponent value E The process proceeds directly to step (214), and as described above Y Is shifted left by one bit. Then, the process returns to step (204) i The value is n (204) to (214) are repeated until the value becomes larger than the predetermined value. And i The value is n If it is greater than the value, i When the value becomes " 4 ", it exits the exponentiation loop. Through the process of FIG. 2, X Is " 3 " Y Quot; 5 ", the exponent value E The result obtained is shown in Fig.

따라서 지수 Y 의 2진 비트수 만큼의 사이클만 상기 루프를 수행하면 지수연산값 E 를 얻을 수 있게된다.Therefore, Y When the above loop is performed only for the number of cycles corresponding to the number of binary bits of the exponentiation value E .

상술한 바와 같이 본 발명은 지수연산을 수행함에 있어 두 개의 곱셈기를 사용하여 지수의 2진 비트수 만큼의 사이클만 수행하면 지수연산값을 얻을 수 있기 때문에 회로의 구성도 간단해지고 연산수행 속도도 빨라지는 이점이 있다.As described above, according to the present invention, since the exponent calculation value can be obtained by performing only the number of cycles corresponding to the number of binary bits of the exponent using two multipliers in performing the exponent operation, the configuration of the circuit is simplified, Is advantageous.

Claims (1)

지수연산을 수행하는 장치에 있어서,An apparatus for performing exponentiation, 초기 지수연산값을 저장하는 제1레지스터와,A first register for storing an initial exponentiation value, 밑수의 값을 저장하는 제2레지스터와,A second register for storing a value of a base, 지수의 2진 비트수 만큼의 레지스터로 구성되어 상기 지수의 2진 비트값을 저장하며 한 사이클마다 쉬프트하여 상기 2진 비트값의 한 비트값을 출력시키는 쉬프트 레지스터와,A shift register which is composed of registers corresponding to the number of binary bits of the exponent, stores a binary bit value of the exponent, shifts every cycle, and outputs a bit value of the binary bit value; 상기 제1레지스터에 저장된 상기 지수연산값을 두 입력으로 받아서 곱셈을 수행하여 출력하는 제1곱셈기와,A first multiplier for receiving the exponential operation value stored in the first register as two inputs, performing multiplication and outputting the result, 상기 제2레지스터로부터 출력되는 상기 밑수의 값과 상기 제1곱셈기로부터 출력되는 지수연산값을 입력받아 곱셈을 수행하여 출력하는 제2곱셈기와,A second multiplier for receiving a base value output from the second register and an exponential operation value output from the first multiplier, 상기 쉬프트 레지스터로부터 출력되는 값에 따라 상기 제1곱셈기와 제2곱셈기의 출력값을 선택적으로 출력시키는 멀티플렉서로 구성됨을 특징으로 하는 두 개의 곱셈기를 구비한 지수연산 장치.And a multiplexer for selectively outputting output values of the first multiplier and the second multiplier according to a value output from the shift register.
KR1019970074148A 1997-12-26 1997-12-26 Exponential computing device KR19990054337A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970074148A KR19990054337A (en) 1997-12-26 1997-12-26 Exponential computing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970074148A KR19990054337A (en) 1997-12-26 1997-12-26 Exponential computing device

Publications (1)

Publication Number Publication Date
KR19990054337A true KR19990054337A (en) 1999-07-15

Family

ID=66099545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970074148A KR19990054337A (en) 1997-12-26 1997-12-26 Exponential computing device

Country Status (1)

Country Link
KR (1) KR19990054337A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100385233B1 (en) * 2000-03-14 2003-05-23 삼성전자주식회사 Exponent unit for data processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100385233B1 (en) * 2000-03-14 2003-05-23 삼성전자주식회사 Exponent unit for data processing system

Similar Documents

Publication Publication Date Title
US6438570B1 (en) FPGA implemented bit-serial multiplier and infinite impulse response
US6609143B1 (en) Method and apparatus for arithmetic operation
US20050097153A1 (en) Pseudorandom number generator
US6532273B1 (en) Efficient polyphase decimation filter
US6167420A (en) Multiplication method and multiplication circuit
JPH0818550A (en) Code sequence generator
US7680872B2 (en) Canonical signed digit (CSD) coefficient multiplier with optimization
US5268857A (en) Device and method for approximating the square root of a number
US7945610B2 (en) Convolution operation circuit
KR100712864B1 (en) System for varying the dynamic range of cofficients in a digital filter
KR19990054337A (en) Exponential computing device
KR970077987A (en) Digital filter
KR100229851B1 (en) Multiplier and digital filters
KR100241070B1 (en) Left-shifting an integer operand and providing a clamped integer result
US6731670B1 (en) Method and circuit for generating spreading codes
US6725360B1 (en) Selectively processing different size data in multiplier and ALU paths in parallel
US6373316B1 (en) Digital cosine and sine multiplication circuits
CN102214082B (en) Zoom device for residue number system
KR100900790B1 (en) Method and Apparatus for arithmetic of configurable processor
US6470369B1 (en) Euclid mutual division arithmetic circuit and processing circuit
KR20000009759A (en) Modular multiplier
KR0150364B1 (en) B.r.m. device using look-up table and masking circuit
RU2237274C2 (en) Device for dividing number in modular code on base of scale of notation
GB2345562A (en) Digital signal processor for performing fixed-point and/or integer arithmetic
US20070239811A1 (en) Multiplication by one from a set of constants using simple circuitry

Legal Events

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