KR100235536B1 - A circuit for multiplier and divider - Google Patents
A circuit for multiplier and divider Download PDFInfo
- Publication number
- KR100235536B1 KR100235536B1 KR1019970007171A KR19970007171A KR100235536B1 KR 100235536 B1 KR100235536 B1 KR 100235536B1 KR 1019970007171 A KR1019970007171 A KR 1019970007171A KR 19970007171 A KR19970007171 A KR 19970007171A KR 100235536 B1 KR100235536 B1 KR 100235536B1
- Authority
- KR
- South Korea
- Prior art keywords
- accumulator
- output
- value
- adder
- shift
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
- G06F5/015—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
- G06F7/49973—Rounding towards negative infinity, e.g. truncation of two's complement numbers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/509—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
- G06F7/5095—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators word-serial, i.e. with an accumulator-register
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)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Abstract
본 발명은 전용의 곱셈기나 나눗셈기를 사용하지 않고 곱셈과 나눗셈의 연산을 행하는 회로에 관한 것이다. 이러한 본 발명은 종래 기술과 마찬가지로 각각이 N비트로 구현되는 젯수와 피승수의 입력을 위한 레지스터와, 상기 레지스터의 출력을 2의 보수화시키는 2의 보수화기와, 상기 레지스터의 출력 또는 2의 보수화기의 출력을 선택적으로 선택하는 선택기를 포함하여 이루어진다. 그러나 본 발명에 따른 연산회로는 종래의 연산회로에서 확인할 수 있는 피승수 또는 젯수를 2배로 확장하는 레지스터는 포함하지 않고 있다. 그러므로 본 발명은 종래 기술처럼 입력단 레지스터와 가산기의 비트수를 입력데이터 비트수의 2배로 늘리지 않아도 되므로, 입력데이터의 비트수와 동일한 비트수의 가산기를 이용하여 곱셈 및 나눗셈을 처리할 수 있으므로 이에 따른 하드웨어의 손실을 막는 것을 특징으로 한다. 이를 위해 또한 본 발명에 따른 연산회로에서는 2N비트의 누산기를 상위의 N비트로 이루어지는 상위누산기와 하위의 N비트로 이루어지는 하위누산기로 구분하여 제어하도록 하여 가산기가 2N비트의 연산동작을 행하지 않고 N비트의 연산동작을 수행할 수 있도록 한다. 따라서 본 발명은 기존의 구조에 비해 매우 적은 하드웨어로 동일한 성능의 곱셈 및 나눗셈 연산을 행하는 회로를 구현할 수 있다.The present invention relates to a circuit for performing multiplication and division operations without using a dedicated multiplier or divider. In the present invention, as in the prior art, a register for inputting a jet number and a multiplicand, each of which is implemented with N bits, a complement of 2 for complementing the output of the register by 2, and an output of the register or output of 2 of the register It includes a selector to selectively select. However, the calculation circuit according to the present invention does not include a register that doubles the multiplicand or jet number that can be found in the conventional calculation circuit. Therefore, the present invention does not need to increase the number of bits of the input register and the adder to twice the number of bits of the input data as in the prior art, so that multiplication and division can be performed using an adder having the same number of bits as the number of bits of the input data. It is characterized by preventing the loss of hardware. To this end, in the calculation circuit according to the present invention, the adder is operated by dividing the 2N bit accumulator into an upper accumulator composed of upper N bits and a lower accumulator composed of lower N bits, so that the adder does not perform an operation operation of 2 N bits. Allows you to perform an action. Accordingly, the present invention can implement a circuit that performs multiplication and division operations of the same performance with much less hardware than the conventional structure.
Description
본 발명은 곱셈 및 나눗셈 연산을 행하는 회로에 관한 것으로, 특히 전용의 곱셈기나 나눗셈기를 사용하지 않고 곱셈과 나눗셈의 연산을 효율적으로 행하는 회로에 관한 것이다.The present invention relates to a circuit for performing multiplication and division operations, and more particularly to a circuit for efficiently performing multiplication and division operations without using a dedicated multiplier or divider.
기술의 발전, 특히 반도체기술의 발전에 따라 각종 연산을 행하는 회로들이 점점 집적화되고 있는 추세에 있다. 이러한 회로의 대표적인 예로서 곱셈기(Multiplier) 및 나눗셈기(Divider)를 들 수 있다. 그러나 아직까지 이러한 곱셈기 및 나눗셈기를 VLSI(Very Large Scale Integration)칩으로 구현하는 경우 많은 다이(die)면적이 차지한다는 단점이 있으며, 이에 따라 가격이 상승하는 단점이 있다. 그러므로 다수의 곱셈기 및 나눗셈기를 필요로 하는 신호처리용 및 영상처리용의 칩(전용의 필터 칩, 어레이프로세서, 이미지프로세서 등)에 다수의 곱셈기 또는 나눗셈기를 집적시키기는 매우 곤란하다.In accordance with the development of technology, in particular, the development of semiconductor technology, circuits that perform various operations are increasingly being integrated. Representative examples of such a circuit include a multiplier and a divider. However, when implementing the multiplier and divider with a VLSI (Very Large Scale Integration) chip, there is a disadvantage in that a large die area is occupied, and thus the price increases. Therefore, it is very difficult to integrate multiple multipliers or dividers into chips for signal processing and image processing (dedicated filter chips, array processors, image processors, etc.) that require multiple multipliers and dividers.
도 1은 곱셈동작 및 나눗셈동작을 수행하는 종래 기술에 따른 회로의 구성을 보여주는 도면이다. 이러한 구성은 1988년 10월 미합중국 Fairfax에서 개최된 후 발행된 논문 IEEE Proc. "The 2nd Symposium on the Frontiers of Massively Parallel Computation"의 pp.419∼422에 제목 "The Design of a Bit-Serial Coprocessor to Perform Multiplication and Division on a Massively Parallel Architecture"하에 개시되어 있는 회로에 대한 것으로, Robert E. Morley 등에 의해 제안된 구성이다.1 is a view showing the configuration of a circuit according to the prior art for performing a multiplication operation and a division operation. This configuration was published in October 1988 at Fairfax, United States, and published in IEEE Proc. For a circuit disclosed under the heading `` The Design of a Bit-Serial Coprocessor to Perform Multiplication and Division on a Massively Parallel Architecture '' in pp. 419-422 of The 2nd Symposium on the Frontiers of Massively Parallel Computation. This is the configuration proposed by E. Morley et al.
도 1을 참조하면, 선택기(Multiplexer) 120과 제어로직(Control Logic) 118로는 곱셈(Multiplication)연산을 위한 피승수(Multiplicand)와 승수(Multiplier)가 각각 입력되고, 선택기(Multiplexer) 120과 부호로직(Sign Logic) 104로는 나눗셈(Division)연산을 위한 젯수(Divisor)와 피젯수(Dividend)가 각각 입력된다. 상기 제어로직 118 및 부호로직 104로 입력되는 승수와 피젯수는 비트시리얼(bit-serial)방식으로 입력된다.Referring to FIG. 1, a multiplicand and a multiplier for a multiplication operation are input to a multiplexer 120 and a
도 1에서 N비트의 MQ(Multiplicand-Quotient)레지스터 116은 선택기 120으로부터 입력되는 피승수와 젯수를 저장한다. 이 MQ레지스터 116의 출력은 N비트의 선택기 112를 거쳐 2N비트의 LS(Left Shift)레지스터 110으로 인가된다. 이때 곱셈연산을 위해 MQ레지스터 116에 저장된 피승수가 음수인 경우 이 피승수는 2의 보수화기(2's complementer) 114에 의해 보수화된 후 선택기 112를 거쳐 LS레지스터 110으로 인가된다. 반면에 나눗셈연산을 위해 상기 MQ레지스터 116에 저장된 젯수가 양수인 경우 이 젯수는 2의 보수화기(2's complementer) 114에 의해 보수화되어 음의 수로 바뀐 후 선택기 112를 거쳐 2N비트의 LS레지스터 110으로 인가된다. 상기 LS레지스터 110은 상기 선택기 112를 거쳐 인가되는 N비트의 피승수 또는 젯수를 2N비트로 확장시켜 2N비트의 전가산기(Full Adder) 108로 출력한다. 상기 전가산기 108은 LS레지스터 110의 출력과 2N비트의 누산기(Accumulator) 102의 출력을 전가산하고, 이 전가산 결과값은 누산기 102에 중간값으로 저장된다. 상기 전가산기 108의 가산동작은 곱셈연산의 경우에는 승수의 입력값이 '1'인 경우에만 이루어지며, 나눗셈연산의 경우에는 오버플로우(overflow)와 계산 중간값의 부호 등에 따라 다르게 수행된다. 덧셈연산 후 연산 결과값은 자릿수의 계산을 위해 선택기 106에 의해 시프트된다. 이러한 연산동작을 N번 반복하면 곱셈 결과는 누산기 102에 저장되며, 나눗셈 결과중 나머지(Remainder)는 누산기 102에 저장되고 몫(Quotient)은 MQ레지스터 116에 저장된다. 이때 나눗셈 결과, 즉 몫과 나머지를 보정하기 위해 오버플로우와 부호비트를 검사하여 조건에 따라 시프트라이트(shift right)를 행한다. 따라서 나눗셈은 N+1번 연산된 후 완료된다.In FIG. 1, the N-bit Multiplicand-Quotient (MQ) register 116 stores the multiplicand and jet number input from the selector 120. The output of this
이상에서 간략하게 살펴본 바와 같이 도 1에 도시된 곱셈 및 나눗셈연산을 행하는 종래 기술에 따른 회로는 하드웨어의 크기를 필요이상으로 크게 한다는 단점이 있다. 왜냐하면, N비트의 곱셈 및 나눗셈연산을 위해서는 2N비트로 확장하여 사용(LS레지스터, 전가산기)하기 때문이다. 그리고 종래 기술에 따른 회로는 N비트 데이터의 곱셈 및 나눗셈연산을 수행하기 위해서는 구체적으로, N비트 레지스터(MQ레지스터 116), 2N비트 레지스터(LS레지스터 110), 그리고 2N비트 가산기(전가산기 108)와 같은 많은 수의 하드웨어가 필수적으로 요구된다.As briefly described above, a circuit according to the related art for performing multiplication and division operations shown in FIG. 1 has a disadvantage in that the size of hardware is larger than necessary. This is because the multiplication and division operations of N bits are extended to 2 N bits (LS registers and full adders). In order to perform multiplication and division operations of N-bit data, a circuit according to the prior art may specifically include an N-bit register (MQ register 116), a 2N-bit register (LS register 110), and a 2N-bit adder (full adder 108). The same large number of hardware is required.
따라서 본 발명의 목적은 곱셈 및 나눗셈 연산동작을 수행하는 회로의 구성요소를 줄이는 데 있다.Accordingly, an object of the present invention is to reduce the components of a circuit that performs multiplication and division operations.
본 발명의 다른 목적은 곱셈 및 나눗셈을 위해 입력되는 데이터와 동일한 비트수를 갖는 하드웨어로 곱셈 및 나눗셈 연산동작을 수행하는 회로를 제공하는 데 있다.Another object of the present invention is to provide a circuit for performing a multiplication and division operation in hardware having the same number of bits as data input for multiplication and division.
본 발명의 또다른 목적은 전용의 곱셈기 및 나눗셈기를 사용하지 않고도 효율적으로 곱셈 및 나눗셈 연산동작을 수행하는 회로를 제공하는 데 있다.Another object of the present invention is to provide a circuit for efficiently performing multiplication and division operation without using a dedicated multiplier and divider.
이러한 목적들을 달성하기 위한 본 발명의 제1견지(aspect)에 따른 연산회로는 N비트의 피승수를 입력하기 위한 레지스터와, 상기 레지스터의 출력을 2의 보수화시키는 보수화기와, 연산의 초기에 N비트의 초기값을 저장하고 있으며 가산된 결과를 바로 시프트시켜 저장할 수 있는 상위누산기와 N비트의 승수를 저장하고 있으며 시프트기능을 갖는 하위누산기를 포함하는 누산기와, 상기 레지스터의 출력 또는 상기 보수화기의 출력과 상기 상위누산기의 출력을 가산하기 위한 가산기와, 상기 누산기에 저장되어 있는 값을 N번에 걸쳐 우측방향으로 시프트시키면서 이와 동시에 각 시프트시마다 상기 하위누산기의 최하위비트에 저장되어 있는 값에 따라 상기 상위누산기의 입력을 상기 가산기의 출력 또는 상위누산기의 출력값으로 선택적으로 제공하여 상기 레지스터의 출력과 상기 상위누산기의 출력의 결과값이 선택적으로 N-1번 누적하여 가산되도록 하고 이후에 상기 보수화기의 출력과 상기 상위누산기의 출력의 결과값이 선택적으로 1번 누적하여 가산되도록 제어하고, 최종적으로 상기 누산기의 값을 곱셈결과값으로 출력시키는 제어수단으로 이루어진다.An operation circuit according to the first aspect of the present invention for achieving these objects includes a register for inputting a multiplier of N bits, a complementer for complementing the output of the register by two, and an N bit at the beginning of the operation. An accumulator including an upper accumulator storing an initial value and shifting the added result and storing an N-bit multiplier, and a lower accumulator having a shift function; an output of the register or an output of the complementer; An adder for adding the output of the upper accumulator, and the upper accumulator according to the value stored in the least significant bit of the lower accumulator at each shift while shifting the value stored in the accumulator to the right through N times. By selectively providing the input of the output of the adder or the output value of the upper accumulator The result value of the output of the register and the output of the upper accumulator are selectively accumulated N-1 times, and then the result value of the output of the complementer and the output of the upper accumulator is selectively accumulated one time and added. And control means for finally outputting the value of the accumulator as a multiplication result value.
상기 제어수단은, N번의 누적가산시마다 상기 하위누산기의 최하위비트에 저장되어 있는 값을 검출하고 그 값에 따라 상기 상위누산기에 입력되는 값을 선택적으로 제공하는 것을 특징으로 한다. 즉, 상기 제어수단은 하위누산기의 최하위비트에 저장되어 있는 값이 "1"레벨인 경우에만 상기 상위누산기에 저장되어 있는 값과 상기 레지스터의 값을 상기 가산기로 가산하여 그 결과를 시프트라이트시켜 상기 상위누산기에 저장하며 동시에 하위누산기도 상기 상위누산기의 LSB를 입력받아 시프트라이트시킨다. "0"레벨인 경우에는 가산된 결과가 아닌 상기 상위누산기에 저장되어 있는 값을 시프트라이트시켜 상기 상위누산기에 저장하며 동시에 하위누산기도 시프트라이트시킨다.The control means detects a value stored in the least significant bit of the lower accumulator at every N cumulative additions and selectively provides a value input to the upper accumulator according to the value. That is, the control means adds the value stored in the upper accumulator and the value of the register to the adder and shifts the result only when the value stored in the least significant bit of the lower accumulator is? 1? Level. The upper accumulator is stored in the upper accumulator and the lower accumulator is shifted by receiving the LSB of the upper accumulator. In the case of the " 0 " level, the value stored in the upper accumulator is shifted and stored in the upper accumulator, not the added result, and the lower accumulator is also shifted.
본 발명의 제2견지에 따른 연산회로는 N비트의 젯수를 입력하기 위한 레지스터와, 상기 레지스터의 출력을 2의 보수화시키는 보수화기와, 연산의 초기에 N비트의 초기값을 저장하고 있으며 가산기의 결과를 바로 시프트시켜 저장할 수 있는 기능을 갖는 상위누산기와 N비트의 피젯수를 저장하고 있으며 시프트기능을 갖는 하위누산기를 포함하는 누산기와, 상기 보수화기의 출력과 상기 상위누산기의 출력을 가산하기 위한 가산기와, 상기 연산의 초기동작시 상기 누산기에 저장되어 있는 값들을 좌측방향으로 1번 시프트시키고, 이후에는 상기 누산기에 저장되어 있는 값을 N번에 걸쳐 좌측방향으로 시프트시키면서 이와 동시에 각 시프트시마다 상기 가산기의 최상위비트출력의 반전값에 따라 상기 상위누산기의 입력을 상기 가산기의 출력 또는 상기 상위누산기의 출력값중 선택적으로 제공하여 상기 보수화기의 출력과 상기 상위누산기의 출력의 결과값이 선택적으로 N번 누적가산되도록 제어하고, 상기 연산의 최종동작시 상기 상위누산기에 저장되어 있는 값을 우측방향으로 1번 시프트시키고, 최종적으로 상기 상위누산기의 값을 나눗셈의 나머지로 출력시키고 상기 하위누산기의 값을 나눗셈의 몫으로 출력시키는 제어수단으로 이루어진다.According to the second aspect of the present invention, an operation circuit includes a register for inputting N-bit jets, a complementer for complementing the output of the register by two, and an initial value of N bits at the beginning of the operation. An accumulator having an upper accumulator having a function of shifting and storing a bit number, and an accumulator including a lower accumulator having a shift function, and an adder for adding the output of the complementer and the output of the upper accumulator; And shifting the values stored in the accumulator once to the left in the initial operation of the operation, and then shifting the values stored in the accumulator to the left through N times and at the same time for each shift. The input of the upper accumulator according to the inversion value of the most significant bit output of By selectively providing the output value of the upper accumulator to control the result value of the output of the complementary accumulator and the output of the upper accumulator to be selectively added N times, and the value stored in the upper accumulator at the end of the operation is right. Shifting direction once, and finally controlling means for outputting the value of the upper accumulator as the remainder of the division and the value of the lower accumulator as the quotient of division.
상기 제어수단은, N번의 누적가산시마다 상기 가산기의 최상위비트 출력의 반전값을 검출하고 그 값에 따라 상기 상위누산기에 입력되는 값을 선택적으로 제공하는 것을 특징으로 한다. 즉, 상기 제어수단은, 상기 가산기의 최상위비트 출력의 반전값이 "1"레벨인 경우에는 상기 상위누산기에 저장되어 있는 값과 상기 보수화기의 출력값을 상기 가산기로 제공하여 그 결과값을 시프트레프트시켜 상기 상위누산기에 저장하며 동시에 하위누산기도 시프트레프트시킨다. 이때 상기 상위누산기의 시프트입력은 상기 하위누산기의 MSB이며 상기 하위누산기의 시프트입력은 상기 가산기의 출력값중 MSB의 반전된 값이다. "0"레벨인 경우에는 상기 상위누산기에 저장되어 있는 값을 시프트레프트시켜 다시 상기 상위누산기에 저장하며 동시에 하위누산기도 시프트레프트시킨다. 이때 상기 상위누산기의 시프트입력은 상기 하위누산기의 MSB이며 상기 하위누산기의 시프트입력은 상기 가산기의 출력값중 MSB의 반전된 값이다.The control means detects the inverted value of the most significant bit output of the adder every N cumulative additions and selectively provides a value input to the upper accumulator according to the value. That is, the control means, when the inverted value of the most significant bit output of the adder is at
본 발명의 제3견지에 따른 연산회로는 N비트의 피승수 또는 젯수를 입력하기 위한 레지스터와, 상기 레지스터의 출력을 2의 보수화시키는 보수화기와, 연산의 초기에 N비트의 초기값을 저장하고 있으며 가산기의 결과를 바로 시프트시켜 저장할 수 있는 상위누산기와 N비트의 승수 또는 피젯수를 저장하고 있으며 시프트기능을 갖는 하위누산기를 포함하는 누산기와, 상기 레지스터의 출력 또는 상기 보수화기의 출력과 상기 상위누산기의 출력을 가산하기 위한 가산기와, 상기 누산기에 저장되어 있는 값을 N번에 걸쳐 우측방향으로 시프트시키면서 이와 동시에 각 시프트시마다 상기 하위누산기의 최하위비트에 저장되어 있는 값에 따라 상기 상위누산기의 입력을 상기 가산기의 출력 또는 상기 상위누산기의 출력값중 선택적으로 제공하여 상기 레지스터의 출력과 상기 상위누산기의 출력의 결과값이 선택적으로 N-1번 누적하여 가산되도록 하고 이후에 상기 가산기에 의해 가산된 상기 보수화기의 출력과 상기 상위누산기의 출력의 결과값이 선택적으로 1번 누적하여 가산되도록 제어하는 제1제어수단과, 상기 연산의 초기동작시 상기 누산기에 저장되어 있는 값들을 좌측방향으로 1번 시프트시키고, 이후에는 상기 누산기에 저장되어 있는 값을 N번에 걸쳐 좌측방향으로 시프트시키면서 이와 동시에 각 시프트시마다 상기 가산기에 의한 상기 보수화기의 출력과 상기 상위누산기의 출력의 가산결과값의 최상위비트출력의 반전값에 따라 상기 상위누산기의 입력을 상기 가산기의 출력 또는 상기 상위누산기의 출력값중 선택적으로 제공하여 상기 가산기의 출력이 N번 누적가산되도록 제어하고, 상기 연산의 최종동작시 상기 상위누산기에 저장되어 있는 값을 우측방향으로 1번 시프트시키는 제2제어수단으로 이루어진다.According to a third aspect of the present invention, an operation circuit includes a register for inputting a multiplicand or jet number of N bits, a complementer for complementing two outputs of the register, and an initial value of N bits at the beginning of the operation. An accumulator including an upper accumulator capable of directly shifting and storing a result of and a lower accumulator having a shift function of N bits and having a shift function, an output of the register or an output of the complementer and an output of the upper accumulator An adder for adding an output and the input of the upper accumulator according to the value stored in the least significant bit of the lower accumulator during each shift while shifting the value stored in the accumulator to the right through N times. The register is provided by selectively providing an output of an adder or an output value of the upper accumulator. A result of the output of the data generator and the output of the upper accumulator are selectively accumulated N-1 times, and then the result of the output of the complementer and the output of the upper accumulator added by the adder is selectively 1 First control means for controlling to accumulate and accumulate times, and shifting the values stored in the accumulator once in the left direction during the initial operation of the calculation; The input of the upper accumulator or the upper output according to the inverted value of the output of the complementer by the adder and the most significant bit output of the result of the addition of the output of the upper accumulator at each shift during the shift in the direction; Selectively providing an output value of an accumulator to control the output of the adder to be accumulated N times; During the final operation of the mountain is made to the second control means to shift one time the value stored in the upper accumulator to the right.
도 1은 종래 기술에 따른 곱셈 및 나눗셈 연산회로의 구성을 보여주는 도면.1 is a view showing the configuration of a multiplication and division calculation circuit according to the prior art.
도 2는 본 발명에 따른 곱셈 및 나눗셈 연산회로의 구성을 보여주는 도면.2 is a diagram showing the configuration of a multiplication and division calculation circuit according to the present invention;
도 3 내지 도 7은 도 2에 도시된 연산회로에 의해 곱셈 연산동작이 수행됨을 보여주는 도면.3 to 7 are diagrams showing that a multiplication operation is performed by the calculation circuit shown in FIG.
도 8은 도 2에 도시된 연산회로에 의해 나눗셈 연산동작이 수행됨을 보여주는 도면.FIG. 8 is a diagram illustrating a division operation operation performed by the calculation circuit shown in FIG. 2. FIG.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의내려진 용어들로서 이는 사용자 또는 칩설계자의 의도 또는 관례 등에 따라 달라질 수 있으므로, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.DETAILED DESCRIPTION A detailed description of preferred embodiments of the present invention will now be described with reference to the accompanying drawings. In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. In addition, the terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of the user or chip designer, and the definitions should be made based on the contents throughout the present specification.
도 2는 본 발명에 따라 곱셈 및 나눗셈 연산을 행하는 회로의 구성을 보여주는 도면이다. 이 도면을 참조하면, 본 발명에 따른 연산회로는 도 1에 도시된 종래 기술에 따른 연산회로와 마찬가지로 각각이 N비트로 구현되는 젯수와 피승수의 입력을 위한 MQ레지스터 202와, MQ레지스터의 출력을 2의 보수화시키는 2의 보수화기 204와, 상기 MQ레지스터 202의 출력 또는 2의 보수화기 204의 출력을 선택적으로 선택하는 선택기 206을 포함하여 이루어진다. 그러나 본 발명에 따른 연산회로에는 종래 기술에 따른 연산회로에서 확인할 수 있는 피승수 또는 젯수를 2배로 확장하는 LS레지스터 110은 포함되어 있지 않음을 알 수 있다. 그러므로 본 발명은 종래 기술처럼 입력단 레지스터와 가산기의 비트수를 입력데이터 비트수의 2배로 늘리지 않아도 되므로, 입력데이터의 비트수와 동일한 비트수로 곱셈 및 나눗셈을 처리할 수 있으므로 이에 따른 하드웨어의 손실을 막는 것을 특징으로 한다. 이를 위해 또한 본 발명에 따른 연산회로에서는 2N비트의 누산기 220를 상위의 N비트로 이루어지는 상위누산기 220H와 하위의 N비트로 이루어지는 하위누산기 220L로 구분하여 제어하도록 하여 가산기 208이 2N비트의 연산동작을 행하지 않고 N비트의 연산동작을 수행할 수 있도록 한다.2 is a diagram showing the configuration of a circuit for performing multiplication and division operations in accordance with the present invention. Referring to this figure, the operation circuit according to the present invention, like the operation circuit according to the prior art shown in Fig. 1, the
도 2에서 N비트의 MQ레지스터 202는 곱셈연산을 위한 피승수와 나눗셈연산을 위한 젯수를 입력하며, N비트의 하위누산기 220L은 곱셈연산을 위한 승수와 나눗셈연산을 위한 피젯수를 입력한다. N비트의 2의 보수화기 204는 상기 MQ레지스터 202의 출력을 2의 보수화한다. N비트의 선택기 206은 제어로직 210이 제어하여 상기 MQ레지스터 202의 출력 또는 2의 보수화기 204의 출력을 선택적으로 입력하여 가산기 208로 인가한다. 가산기 208은 N비트로 이루어지며, 상기 선택기 206을 통해 입력되는 N비트의 데이터와 상위누산기 220H에 저장된 N비트의 데이터를 입력하여 가산하여 출력한다. 이 가산기 208의 가산출력은 조건부 선택기 212를 거쳐 상위누산기 220H로 인가된다. 2N비트의 누산기 220은 N비트의 상위누산기(ACC-H) 220H와 N비트의 하위누산기(ACC-L) 220L로 이루어지는데, 상위누산기 220H는 데이터를 시프트하면서 동시에 로드하는 레지스터이고 하위누산기 220L은 범용의 시프트레지스터이다. 이때 상위누산기 220H와 하위누산기 220L은 개별적으로 제어될 수 있으며 동시에 2N비트를 시프트할 때는 동시에 제어된다. 이러한 구조는 N비트의 데이터를 처리하는 시스템에서 2N비트를 처리하는 이중의 정밀(Double Precision)계산을 하는 경우 매우 유용하게 사용될 수 있다.In FIG. 2, the N-bit MQ register 202 inputs a multiplier for multiplication and a jet number for division, and the
조건부 선택기(Condition Multiplexer) 212는 음의최대값 검출부 216에 의해 검출된 값을 플립플롭(Flip Flop) 214를 통해 입력받는 제어로직(Control Logic) 210에 의해 제어를 받는다. 상기 조건부 선택기 212는 곱셈연산의 경우에는 누산기 220의 LSB의 값에 따라 제어되어 서로 다른 동작을 수행하며, 나눗셈연산의 경우에는 가산기 208의 가산출력값중 MSB값에 따라 제어되어 서로 다른 동작을 수행한다. 곱셈연산시 상기 조건부 선택기 212는 누산기 220의 LSB가 "1"인 경우에는 가산기 208에 의해 수행된 가산(덧셈)결과를 상위누산기 220H의 입력으로 하고, 누산기 220의 LSB가 "0"인 경우에는 상위누산기 220H로부터 입력된 값을 다시 그대로 통과시켜 돌려보낸다. 이와 동시에 상기 누산기 220은 시프트라이트한다. 나눗셈연산시 상기 조건부 선택기 212는 가산기 208의 출력값중 MSB의 반전된 값이 "0"인 경우에는 상위누산기 220H로부터 입력된 값을 다시 그대로 통과시켜 돌려보내며, 가산기 208의 출력값중 MSB의 반전된 값이 "1"인 경우에는 가산기 208의 가산출력을 상위누산기 220H의 입력으로 한다. 이와 동시에 상기 누산기 220은 시프트레프트한다. 시프트시 하위누산기 220L의 LSB로 입력되는 값은 가산기 208의 출력값중 MSB의 반전된 값이다. 이때 즉, 나눗셈연산시 가산기 208은 상위누산기 220H에 저장되어있는 값(피젯수)과 MQ레지스터 202에 저장되어 있는 값(젯수)이 2의 보수화기 204에 의해 보수화된 후 선택기 206을 거쳐 입력되는 값을 가산하는 동작을 수행하게 되는데, 실질적으로 이 동작을 뺄셈동작에 해당한다.The
도 3 내지 도 7은 본 발명에 따른 곱셈연산에 대한 구체적인 예들을 보여주는 도면이다. 하기에서 본 발명에 따른 곱셈연산 동작은 하기의 <표 1>에 나타낸 바와 같은 방식에 따라 수행되는 것을 특징으로 한다. 이 곱셈연산동작은 N비트 곱셈의 경우에 N-1번의 곱셈&시프트동작과 1번의 뺄셈&시프트동작을 수행함으로써 수행된다. 그러나 상기 도 3 내지 도 7에 도시된 예에서는 승수와 피승수가 각각 4비트인 경우를 예로하여 설명할 것이다. 그러므로 4비트 데이터들에 대한 곱셈연산 동작은 3번의 덧셈&시프트 연산동작과, 1번의 뺄셈&시프트 연산동작을 수행함으로써 달성된다.3 to 7 are diagrams showing specific examples of the multiplication operation according to the present invention. In the following, the multiplication operation according to the present invention is characterized in that it is performed in the manner as shown in Table 1 below. This multiplication operation is performed by performing N-1 multiplication & shift operations and 1 subtraction & shift operation in the case of N-bit multiplication. However, in the example illustrated in FIGS. 3 to 7, the multiplier and the multiplicand are each 4-bit, for example. Therefore, the multiplication operation on the 4-bit data is accomplished by performing three addition & shift operations and one subtraction & shift operation.
상기 <표 1>을 참조하면, 본 발명에 따른 곱셈연산 동작은 전술한 바와 같이 N-1번의 덧셈&시프트 연산과, 1번의 뺄셈&시프트 연산동작을 수행함으로써 수행된다.Referring to Table 1, a multiplication operation according to the present invention is performed by performing N-1 addition & shift operations and one subtraction & shift operation as described above.
상기 덧셈 연산시 피승수가 양수이고 승수의 LSB가 "0"인 경우와, 피승수가 음수이고 승수의 LSB가 "0"인 경우에는 덧셈연산을 행하지 않고 통과(Pass)동작을 행한다. 이와 달리 피승수가 양수이고 승수의 LSB가 "1"인 경우와, 피승수가 음수이고 승수의 LSB가 "1"경우에는 덧셈연산을 행한다. 상기에서 통과동작이란 조건부 선택기 212가 상위누산기 220H의 출력을 입력받아 그대로 다시 상위누산기 220H로 인가하는 동작을 말하며, 덧셈연산 동작이란 조건부 선택기 212가 가산기 208의 출력, 즉 가산기 208에 의해 선택기 206의 출력과 상위누산기 220H의 출력이 가산된 결과값을 입력받아 상위누산기 220H로 인가하는 동작을 말한다. 상기 덧셈연산과 동시에 행해지는 시프트 동작시 피승수가 양수인 경우에는 LSR을 취하고, 피승수가 음수인 경우에는 캐리(Carry)의 존재 유·무에 따라 LSR(Carry 유)을 취하거나 ASR(Carry 무)을 취한다.During the addition operation, if the multiplicand is positive and the LSB of the multiplier is negative and the multiplicand is negative and the LSB of the multiplier is negative, the pass operation is performed without addition operation. In contrast, the addition operation is performed when the multiplicand is positive and the LSB of the multiplier is negative and the multiplicand is negative and the LSB of the multiplier is # 1. In this case, the passing operation refers to an operation in which the
상기 뺄셈 연산시 피승수가 양수이고 승수의 LSB가 "0"인 경우와, 피승수가 음수이고 승수의 LSB가 "0"인 경우에는 덧셈연산을 행하지 않고 덧셈 연산과 마찬가지로 통과(Pass)동작을 행한다. 이와 달리 피승수가 양수이고 승수의 LSB가 "1"인 경우와, 피승수가 음수이고 승수의 LSB가 "1"경우에도 덧셈연산과 마찬가지로 뺄셈연산을 행한다. 상기에서 통과동작이란 조건부 선택기 212가 상위누산기 220H의 출력을 입력받아 그대로 다시 상위누산기 220H로 인가하는 동작을 말하며, 뺄셈연산 동작이란 조건부 선택기 212가 2의 보수화기 204를 거친 가산기 208의 출력, 즉 가산기 208에 의해 2의 보수화기 204를 거친 선택기 206의 출력과 상위누산기 220H의 출력이 가산된 결과값을 입력받아 상위누산기 220H로 인가하는 동작을 말한다. 상기 뺄셈연산과 동시에 행해지는 시프트라이트 동작시 피승수가 양수인 경우에는 ASR을 취하고, 피승수가 음수인 경우에는 LSR(10‥00×10‥00의 곱셈인 경우)을 취하거나 ASR(10‥00×10‥00의 곱셈을 제외한 기타의 경우)을 취한다.In the subtraction operation, if the multiplicand is positive and the LSB of the multiplier is negative, and the multiplicand is negative and the LSB of the multiplier is negative, the pass operation is performed in the same manner as the addition operation without performing the addition operation. Unlike the addition operation, the subtraction operation is performed similarly to the addition operation when the multiplier is positive and the LSB of the multiplier is negative and the LSB of the multiplier is negative and the multiplier is LS1. In this case, the passing operation refers to an operation in which the
상기 <표 1>에서 미설명한 참조부호 ASR은 덧셈 또는 뺄셈을 행하고 오른쪽 방향으로 시프트를 시킬 때 MSB에 이전의 MSB값을 인가하는 것을 나타낸다. 그리고 참조부호 LSR은 덧셈 또는 뺄셈을 행하고 오른쪽 방향으로 시프트를 시킬 때 MSB에 캐리(Carry)를 인가하는 것을 나타낸다.Reference numeral ASR, which is not described in Table 1, indicates that the previous MSB value is applied to the MSB when the addition or subtraction is performed and the shift to the right direction is performed. Reference numeral LSR indicates that Carry is applied to the MSB when the addition or subtraction is performed and the shift to the right direction is performed.
도 3은 도 2에 도시된 본 발명에 따른 연산회로에 의해 수행되는 곱셈연산의 일예를 보여주는 도면이다. 이 예는 승수와 피승수가 모두 음수인 경우, 즉 피승수가 "1000(-8)"이고 승수가 "1101(-3)"인 경우의 곱셈연산 동작을 보여주고 있다.3 is a diagram illustrating an example of a multiplication operation performed by an operation circuit according to the present invention shown in FIG. 2. This example shows the multiplication operation when both the multiplier and the multiplicand are negative, that is, the multiplicand is 1000 (-8) and the multiplier is 1101 (-3).
도 3의 (a)를 참조하면, 곱셈연산의 초기상태시 하위누산기(ACC-L) 220L에는 승수 "1101"이 저장되고, 상위누산기(ACC-H) 220H에는 "0"이 저장되며, MQ레지스터 202에는 피승수 "1000"이 저장된다. 이러한 초기상태 이후에는 (b)와 (c)에 도시된 바와 같은 1번의 덧셈&시프트동작, (d)와 (e)에 도시된 바와 같은 2번의 덧셈&시프트동작, (f)와 (g)에 도시된 바와 같은 3번의 덧셈&시프트동작, 그리고 (h)와 (i)에 도시된 바와 같은 1번의 뺄셈&시프트동작이 수행된다.Referring to (a) of FIG. 3, in the initial state of the multiplication operation, a multiplier "1101 저장 is stored in the lower accumulator (ACC-L) 220L," 0 "is stored in the upper accumulator (ACC-H) 220H, and MQ The
도 3의 (a)에서 피승수가 음수이고 승수의 LSB가 "1"이므로 덧셈동작을 행하여 (b)에 도시된 바와 같은 결과를 얻는다. 상기 덧셈결과에는 캐리(Carry)가 없으므로 ASR을 행하여 (c)에 도시된 바와 같은 결과를 얻는다. 다음에 도 3의 (c)에서 피승수가 음수이고 승수의 LSB가 "0"이므로 통과동작을 행하여 (d)에 도시된 바와 같은 결과를 얻는다. 상기 결과에는 캐리가 없으므로 ASR을 행하여 (e)에 도시된 바와 같은 결과를 얻는다. 그 다음에 도 3의 (e)에서 피승수가 음수이고 승수의 LSB가 "1"이므로 덧셈동작을 행하여 (f)에 도시된 바와 같은 결과를 얻는다. 상기 결과에는 캐리가 있으므로 LSR을 행하여 (g)에 도시된 바와 같은 결과를 얻는다. 그리고 마지막으로 도 3의 (g)에서 피승수가 음수이고 승수의 LSB가 "1"이므로 뺄셈동작을 행하여 (h)에 도시된 바와 같은 결과를 얻는다. 상기 뺄셈동작 후에 시프트동작은 100‥00×100‥00의 곱셈이 아니므로 ASR을 행하여 (i)에 도시된 바와 같은 결과를 얻는다.In FIG. 3 (a), the multiplicand is negative and the LSB of the multiplier is " 1 " Since there is no carry in the addition result, ASR is performed to obtain a result as shown in (c). Next, since the multiplicand is negative in FIG. 3C and the LSB of the multiplier is N0, a pass operation is performed to obtain a result as shown in (d). Since there is no carry in the result, ASR is performed to obtain a result as shown in (e). Then, in FIG. 3E, the multiplicand is negative and the LSB of the multiplier is "1", so the addition operation is performed to obtain a result as shown in (f). Since the result has a carry, LSR is performed to obtain a result as shown in (g). Finally, in FIG. 3 (g), the multiplicand is negative and the LSB of the multiplier is "1", so the subtraction operation is performed to obtain a result as shown in (h). After the subtraction operation, the shift operation is not a multiplication of 100? 00 × 100? 00, so ASR is performed to obtain a result as shown in (i).
도 3의 (i)를 참조하면 , 누산기 220에는 "11000"의 값, 즉 "1000(-8)"과 "1101(-3)"의 곱셈결과인 "00011000(+24)"가 저장됨을 알 수 있다.Referring to (i) of FIG. 3, it is understood that the
도 4는 도 2에 도시된 본 발명에 따른 연산회로에 의해 수행되는 곱셈연산의 일예를 보여주는 도면이다. 이 예는 승수가 양수이고 피승수가 음수인 경우, 즉 승수가 "0011(+3)"이고 피승수가 "1000(-8)"인 경우의 곱셈연산 동작을 보여주고 있다.4 is a diagram illustrating an example of a multiplication operation performed by the arithmetic circuit according to the present invention shown in FIG. 2. This example shows the multiplication operation when the multiplier is positive and the multiplicand is negative, that is, the multiplier is "0011 (+3) and the multiplicand is" 1000 (-8) ".
도 4의 (a)를 참조하면, 곱셈연산의 초기상태시 하위누산기(ACC-L) 220L에는 승수 "11"이 저장되고, 상위누산기(ACC-H) 220H에는 "0"이 저장되며, MQ레지스터 202에는 피승수 "1000"이 저장된다. 이러한 초기상태 이후에는 (b)와 (c)에 도시된 바와 같은 1번의 덧셈&시프트동작, (d)와 (e)에 도시된 바와 같은 2번의 덧셈&시프트동작, (f)와 (g)에 도시된 바와 같은 3번의 덧셈&시프트동작, 그리고 (h)와 (i)에 도시된 바와 같은 1번의 뺄셈&시프트동작이 수행된다.Referring to (a) of FIG. 4, in the initial state of the multiplication operation, a multiplier "11 에는 is stored in the lower accumulator (ACC-L) 220L, a" 0 에는 is stored in the upper accumulator (ACC-H) 220H, and MQ The
도 4의 (a)에서 피승수가 음수이고 승수의 LSB가 "1"이므로 덧셈동작을 행하여 (b)에 도시된 바와 같은 결과를 얻는다. 상기 덧셈결과에는 캐리(Carry)가 없으므로 ASR을 행하여 (c)에 도시된 바와 같은 결과를 얻는다. 다음에 도 4의 (c)에서 피승수가 음수이고 승수의 LSB가 "1"이므로 덧셈동작을 행하여 (d)에 도시된 바와 같은 결과를 얻는다. 상기 결과에는 캐리가 있으므로 LSR을 행하여 (e)에 도시된 바와 같은 결과를 얻는다. 그 다음에 도 4의 (e)에서 피승수가 음수이고 승수의 LSB가 "0"이므로 통과동작을 행하여 (f)에 도시된 바와 같은 결과를 얻는다. 상기 결과에는 캐리가 없으므로 ASR을 행하여 (g)에 도시된 바와 같은 결과를 얻는다. 그리고 마지막으로 도 4의 (g)에서 피승수가 음수이고 승수의 LSB가 "0"이므로 통과동작을 행하여 (h)에 도시된 바와 같은 결과를 얻는다. 상기 통과동작 후에 시프트동작은 100‥00×100‥00의 곱셈이 아니므로 ASR을 행하여 (i)에 도시된 바와 같은 결과를 얻는다.Since the multiplicand is negative in FIG. 4A and the LSB of the multiplier is 1 ', the addition operation is performed to obtain the result as shown in (b). Since there is no carry in the addition result, ASR is performed to obtain a result as shown in (c). Next, in FIG. 4C, the multiplicand is negative and the LSB of the multiplier is " 1 ", so the addition operation is performed to obtain a result as shown in (d). Since the result has a carry, LSR is performed to obtain a result as shown in (e). Then, in FIG. 4E, the multiplicand is negative and the LSB of the multiplier is N0, so that the pass operation is performed to obtain a result as shown in (f). Since there is no carry in the result, ASR is performed to obtain a result as shown in (g). Finally, in FIG. 4G, the multiplicand is negative and the LSB of the multiplier is N0, thereby performing a pass operation to obtain a result as shown in (h). Since the shift operation is not a multiplication of 100 ... 00 x 100 ... 00 after the passage operation, ASR is performed to obtain a result as shown in (i).
도 4의 (i)를 참조하면 , 누산기 220에는 "11101000"의 값, 즉 "1000(-8)"과 "0011(+3)"의 곱셈결과인 "11101000(-24)"가 저장됨을 알 수 있다.Referring to (i) of FIG. 4, it can be seen that the
도 5는 도 2에 도시된 본 발명에 따른 연산회로에 의해 수행되는 곱셈연산의 일예를 보여주는 도면이다. 이 예는 승수가 음수이고 피승수가 양수인 경우, 즉 승수가 "1101(-3)"이고 피승수가 "0111(+7)"인 경우의 곱셈연산 동작을 보여주고 있다.FIG. 5 is a diagram illustrating an example of a multiplication operation performed by the arithmetic circuit according to the present invention shown in FIG. 2. This example shows the multiplication operation when the multiplier is negative and the multiplicand is positive, that is, the multiplier is " 1101 (-3) " and the multiplicand is " 0111 (+7) ".
도 5의 (a)를 참조하면, 곱셈연산의 초기상태시 하위누산기(ACC-L) 220L에는 승수"1101"이 저장되고, 상위누산기(ACC-H) 220H에는 "0"이 저장되며, MQ레지스터 202에는 피승수 "111"이 저장된다. 이러한 초기상태 이후에는 (b)와 (c)에 도시된 바와 같은 1번의 덧셈&시프트동작, (d)와 (e)에 도시된 바와 같은 2번의 덧셈&시프트동작, (f)와 (g)에 도시된 바와 같은 3번의 덧셈&시프트동작, 그리고 (h)와 (i)에 도시된 바와 같은 1번의 뺄셈&시프트동작이 수행된다.Referring to FIG. 5A, a
도 5의 (a)에서 피승수가 양수이고 승수의 LSB는 "1"이므로 덧셈동작을 행하여 (b)에 도시된 바와 같은 결과를 얻는다. 덧셈동작 후에는 LSR을 행하여 (c)에 도시된 바와 같은 결과를 얻는다. 다음에 도 5의 (c)에서 피승수가 양수이고 승수의 LSB가 "0"이므로 통과동작을 행하여 (d)에 도시된 바와 같은 결과를 얻는다. 상기 통과동작 후에는 LSR을 행하여 (e)에 도시된 바와 같은 결과를 얻는다. 그 다음에 도 5의 (e)에서 피승수가 양수이고 승수의 LSB가 "1"이므로 덧셈동작을 행하여 (f)에 도시된 바와 같은 결과를 얻는다. 상기 덧셈동작 후에는 LSR을 행하여 (g)에 도시된 바와 같은 결과를 얻는다. 그리고 마지막으로 도 5의 (g)에서 피승수가 양수이고 승수의 LSB가 "1"이므로 뺄셈동작을 행하여 (h)에 도시된 바와 같은 결과를 얻는다. 상기 뺄셈동작 후에 시프트동작은 100‥00×100‥00의 곱셈이 아니므로 ASR을 행하여 (i)에 도시된 바와 같은 결과를 얻는다.In Fig. 5A, the multiplicand is positive and the LSB of the multiplier is "1", so the addition operation is performed to obtain the result as shown in (b). After the addition operation, LSR is performed to obtain the result as shown in (c). Next, since the multiplicand is positive in FIG. After the passage operation, LSR is performed to obtain the result as shown in (e). Then, in FIG. 5E, the multiplicand is positive and the LSB of the multiplier is # 1, so that the addition operation is performed to obtain a result as shown in (f). After the addition operation, LSR is performed to obtain the result as shown in (g). Finally, in FIG. 5 (g), the multiplicand is positive and the LSB of the multiplier is "1", so the subtraction operation is performed to obtain a result as shown in (h). After the subtraction operation, the shift operation is not a multiplication of 100? 00 × 100? 00, so ASR is performed to obtain a result as shown in (i).
도 5의 (i)를 참조하면 , 누산기 220에는 "11101011"의 값, 즉 "0111(+7)"과 "1101(-3)"의 곱셈결과인 "11101011(-21)"이 저장됨을 알 수 있다.Referring to (i) of FIG. 5, it is understood that the
도 6은 도 2에 도시된 본 발명에 따른 연산회로에 의해 수행되는 곱셈연산의 일예를 보여주는 도면이다. 이 예는 승수와 피승수가 모두 양수인 경우, 즉 승수가 "0011(+3)"이고 피승수가 "0111(+7)"인 경우의 곱셈연산 동작을 보여주고 있다.FIG. 6 is a diagram illustrating an example of a multiplication operation performed by the arithmetic circuit according to the present invention shown in FIG. 2. This example shows the multiplication operation when both the multiplier and the multiplicand are positive, i.e., the multiplier is " 0011 (+3) " and the multiplicand is " 0111 (+7) ".
도 6의 (a)를 참조하면, 곱셈연산의 초기상태시 하위누산기(ACC-L) 220L에는 승수 "11"이 저장되고, 상위누산기(ACC-H) 220H에는 "0"이 저장되며, MQ레지스터 202에는 피승수 "111"이 저장된다. 이러한 초기상태 이후에는 (b)와 (c)에 도시된 바와 같은 1번의 덧셈&시프트동작, (d)와 (e)에 도시된 바와 같은 2번의 덧셈&시프트동작, (f)와 (g)에 도시된 바와 같은 3번의 덧셈&시프트동작, 그리고 (h)와 (i)에 도시된 바와 같은 1번의 뺄셈&시프트동작이 수행된다.Referring to (a) of FIG. 6, in the initial state of the multiplication operation, a multiplier "11 에는 is stored in the lower accumulator (ACC-L) 220L, a" 0 에는 is stored in the upper accumulator (ACC-H) 220H, and MQ is stored. In the
도 6의 (a)에서 피승수가 양수이고 승수의 LSB가 "1"이므로 덧셈동작을 행하여 (b)에 도시된 바와 같은 결과를 얻는다. 덧셈동작 후에는 LSR을 행하여 (c)에 도시된 바와 같은 결과를 얻는다. 다음에 도 5의 (c)에서 피승수가 양수이고 승수의 LSB가 "1"이므로 덧셈동작을 행하여 (d)에 도시된 바와 같은 결과를 얻는다. 상기 덧셈동작 후에는 LSR을 행하여 (e)에 도시된 바와 같은 결과를 얻는다. 그 다음에 도 6의 (e)에서 피승수가 양수이고 승수의 LSB가 "0"이므로 통과동작을 행하여 (f)에 도시된 바와 같은 결과를 얻는다. 상기 통과동작 후에는 LSR을 행하여 (g)에 도시된 바와 같은 결과를 얻는다. 그리고 마지막으로 도 6의 (g)에서 피승수가 양수이고 승수의 LSB가 "0"이므로 통과동작을 행하여 (h)에 도시된 바와 같은 결과를 얻는다. 상기 통과동작 후에 시프트동작은 100‥00×100‥00의 곱셈이 아니므로 ASR을 행하여 (i)에 도시된 바와 같은 결과를 얻는다.Since the multiplicand is positive in FIG. 6A and the LSB of the multiplier is # 1, the addition operation is performed to obtain a result as shown in (b). After the addition operation, LSR is performed to obtain the result as shown in (c). Next, since the multiplicand is positive in FIG. 5C and the LSB of the multiplier is # 1, an addition operation is performed to obtain a result as shown in (d). After the addition operation, LSR is performed to obtain the result as shown in (e). Then, in Fig. 6E, the multiplicand is positive and the LSB of the multiplier is " 0 ", so that a pass operation is performed to obtain a result as shown in (f). After the passage operation, LSR is performed to obtain the result as shown in (g). Finally, in Fig. 6G, the multiplicand is positive and the LSB of the multiplier is " 0 ", so that a pass operation is performed to obtain a result as shown in (h). Since the shift operation is not a multiplication of 100 ... 00 x 100 ... 00 after the passage operation, ASR is performed to obtain a result as shown in (i).
도 6의 (i)를 참조하면 , 누산기 220에는 "10101"의 값, 즉 "0111(+7)"과 "0011(+3)"의 곱셈결과인 "00010101(+21)"이 저장됨을 알 수 있다.Referring to (i) of FIG. 6, it is understood that the
도 7은 도 2에 도시된 본 발명에 따른 연산회로에 의해 수행되는 곱셈연산의 일예를 보여주는 도면이다. 이 예는 승수와 피승수가 모두 음수인 경우, 즉 피승수가 "1000(-8)"이고 승수가 "1000(-8)"인 경우의 곱셈연산 동작을 보여주고 있다.FIG. 7 is a diagram illustrating an example of a multiplication operation performed by the arithmetic circuit according to the present invention shown in FIG. 2. This example shows the multiplication operation when both the multiplier and the multiplicand are negative, that is, the multiplicand is 1000 (-8) -8 and the multiplier is 1000 (-8) ".
도 7의 (a)를 참조하면, 곱셈연산의 초기상태시 하위누산기(ACC-L) 220L에는 승수 "1000"이 저장되고, 상위누산기(ACC-H) 220H에는 "0"이 저장되며, MQ레지스터 202에는 피승수 "1000"이 저장된다. 이러한 초기상태 이후에는 (b)와 (c)에 도시된 바와 같은1번의 덧셈&시프트동작, (d)와 (e)에 도시된 바와 같은 2번의 덧셈&시프트동작, (f)와 (g)에 도시된 바와 같은 3번의 덧셈&시프트동작, 그리고 (h)와 (i)에 도시된 바와 같은 1번의 뺄셈&시프트동작이 수행된다.Referring to FIG. 7A, a multiplier "1000 의 is stored in the lower accumulator (ACC-L) 220L in the initial state of the multiplication operation, and" 0 "is stored in the upper accumulator (ACC-H) 220H, and MQ is stored. The
도 7의 (a)에서 피승수가 음수이고 승수의 LSB가 ""이므로 통과동작을 행하여 (b)에 도시된 바와 같은 결과를 얻는다. 상기 통과동작의 결과에는 캐리(Carry)가 없으므로 ASR을 행하여 (c)에 도시된 바와 같은 결과를 얻는다. 다음에 도 7의 (c)에서 피승수가 음수이고 승수의 LSB가 "0"이므로 통과동작을 행하여 (d)에 도시된 바와 같은 결과를 얻는다. 상기 결과에는 캐리가 없으므로 ASR을 행하여 (e)에 도시된 바와 같은 결과를 얻는다. 그 다음에 도 7의 (e)에서 피승수가 음수이고 승수의 LSB가 "0"이므로 통과동작을 행하여 (f)에 도시된 바와 같은 결과를 얻는다. 상기 결과에는 캐리가 없으므로 ASR을 행하여 (g)에 도시된 바와 같은 결과를 얻는다. 그리고 마지막으로 도 7의 (g)에서 피승수가 음수이고 승수의 LSB가 "1"이므로 뺄셈동작을 행하여 (h)에 도시된 바와 같은 결과를 얻는다. 이때 시프트동작은 100‥00×100‥00의 곱셈이므로 LSR을 행하여 (i)에 도시된 바와 같은 결과를 얻는다.Since the multiplicand is negative in FIG. 7A and the LSB of the multiplier is N, a pass operation is performed to obtain a result as shown in (b). Since there is no carry in the result of the passing operation, ASR is performed to obtain a result as shown in (c). Next, since the multiplicand is negative in FIG. 7C and the LSB of the multiplier is N0, a pass operation is performed to obtain a result as shown in (d). Since there is no carry in the result, ASR is performed to obtain a result as shown in (e). Then, in FIG. 7E, the multiplicand is negative and the LSB of the multiplier is N0, so that the pass operation is performed to obtain a result as shown in (f). Since there is no carry in the result, ASR is performed to obtain a result as shown in (g). Finally, in Fig. 7G, the multiplicand is negative and the LSB of the multiplier is "1", so the subtraction operation is performed to obtain a result as shown in (h). At this time, since the shift operation is a multiplication of 100 ... 00 x 100 ... 00, LSR is performed to obtain a result as shown in (i).
도 7의 (i)를 참조하면 , 누산기 220에는 "1000000"의 값, 즉 "1000(-8)"과 "1000(-8)"의 곱셈결과인 "01000000(+64)"가 저장됨을 알 수 있다.Referring to (i) of FIG. 7, it is understood that the
한편, 본 발명에 따른 연산회로는 나눗셈 연산을 위해 젯수와 피젯수가 N비트인 경우, 1번의 부호비트 제거동작과, N번의 뺄셈&시프트동작, 그리고 초기에 부호비트를 제거한 것에 대한 1번의 보정동작을 수행한다. 그러므로 본 발명에 따른 연산회로는 양수데이터가 N비트일 경우 N+2번의 사이클을 거쳐 나눗셈 연산을 수행한다. 상기 나눗셈 연산동작은 젯수와 피젯수가 양수인 경우에 한하여 적용된다. 그러므로 젯수와 피젯수가 음수인 경우에는 이를 양수로 변환하여 나눗셈을 수행하고 젯수와 피젯수의 부호를 비교하여 몫과 나머지의 부호를 결정하게 된다. 상기에서 부호비트의 제거동작은 불필요한 부호비트를 제거하기 위해 시프트레프트를 하는 동작을 말하며, 뺄셈&시프트동작은 뺄셈을 수행한 후 시프트레프트하는 동작을 말하며, 보정동작은 초기에 행한 시프트레프트 동작에 대응하여 시프트라이트를 행하여 나머지의 자리수를 보정하는 동작을 말한다.On the other hand, in the calculation circuit according to the present invention, when the number of jets and the number of jets are N bits for the division operation, one code bit removal operation, N subtraction & shift operations, and one correction operation for initial removal of the code bits are performed. Do this. Therefore, the arithmetic circuit according to the present invention performs a division operation after N + 2 cycles when positive data is N bits. The division operation is applied only when the number of jets and the number of jets are positive. Therefore, when the number of jets and the number of jetts is negative, the division is performed by dividing it into a positive number, and the signs of the quotient and the remainder are determined by comparing the signs of the number of jets and the number of jetts. In the above description, the removal operation of the code bit refers to an operation of shift left to remove unnecessary code bits, and the subtraction & shift operation refers to an operation of shift left after performing subtraction, and the correction operation corresponds to an initial shift left operation. To perform the shift write to correct the remaining digits.
다시 도 2를 참조하면, 본 발명에 따른 연산회로에 의해 수행되는 뺄셈동작은 가산기 208이 상위누산기 220H에 저장된 값과, MQ레지스터 202에 저장된 값이 2의 보수화기 204에 의해 보수화된 후 선택기 206을 거쳐 입력되는 값과 가산함으로써 수행된다. 이 가산결과는 조건부 선택기 212를 거쳐 상위누산기 220H로 인가된다. 상기 시프트레프트 동작은 누산기 220에 저장되어 있는 값들을 좌측방향으로 1비트 시프트시키는 동작으로, 이때 하위누산기 220L의 LSB에 인가되는 시프트입력으로는 가산기 208에 의해 가산된 결과값중 MSB의 반전(inverting)값이 인가된다. 그리고 상기에서 시프트라이트 동작은 누산기 220의 전체에 걸쳐서 수행되는 것이 아니고 상위누산기 220H에 대해서만 수행되는 것임에 유의하여야 한다.Referring again to FIG. 2, the subtraction operation performed by the arithmetic circuit according to the present invention includes the
도 8은 본 발명에 따른 연산회로에 의해 수행되는 나눗셈 연산동작의 예를 보여주는 도면으로, 본 발명에 따른 연산회로는 피젯수 "0111(+7)"이고 젯수가 "0010(+2)"인 경우의 나눗셈 연산을 수행하는 예를 보여준다. 이 예에 따르면 젯수와 피젯수가 4비트이므로 1번의 부호비트 제거동작과, 4번의 뺄셈&시프트동작과, 1번의 보정동작이 수행된다. 도 8의 (a)는 나눗셈연산시 초기상태를 나타내는 것으로, 초기상태시 하위누산기 220L에는 피젯수 "111"이 저장되고, 상위누산기 220H에는 "0"이 저장되고, MQ레지스터 202에는 젯수 "10"이 저장된다. 도 8의 (b)는 부호비트를 제거하는 동작, 즉 초기상태의 값을 시프트레프트하는 동작을 나타낸다. 도 8의 (c) 내지 (j)는 뺄셈&시프트동작을 나타내는 것으로, (c)와 (d)는 첫 번째의 뺄셈&시프트동작, (e)와 (f) 두 번째의 뺄셈&시프트동작, (g)와 (h)는 세 번째의 뺄셈&시프트동작, 그리고 (i)와 (j)는 네 번째의 뺄셈&시프트동작을 나타낸다. 도 8의 (k)는 초기에 시프트레프트한 것에 대해 나머지의 자리수를 보정하는 동작, 즉 시프트라이트동작을 나타낸다.8 is a view showing an example of a division operation performed by the calculation circuit according to the present invention, wherein the calculation circuit according to the present invention has a pidget number of " 0111 (+7) " and a jet number of " 0010 (+2) " The following example shows how to perform a division operation. According to this example, since the number of jets and the number of jetts is 4 bits, one code bit removal operation, four subtraction & shift operations, and one correction operation are performed. 8 (a) shows an initial state at the time of division operation. In the initial state, a
도 8의 (a)는 나눗셈 연산시 초기상태를 나타낸다. 상기 초기상태시 상위누산기(ACC-H) 220H에는 "0"이 저장되고, 하위누산기(ACC-L) 220L에는 피젯수 "111"이 저장되며, MQ레지스터 202에는 젯수 "10"이 저장된다. 초기상태 후에는 도 8의 (b)에 도시된 바와 같은 부호비트를 제거하는 동작을 수행한다. 이 동작은 전술한 바와 같이 누산기 220에 저장되어 있는 데이터들을 좌측방향으로 1비트씩 시프트시킴(LSL)으로써 수행된다. 상기 부호비트를 제거한 후에는 뺄셈&시프트동작을 수행한다. 이때 이전의 값으로부터 젯수를 감산한 결과값이 양수인 경우에만 뺄셈동작이 수행되고, 그 감산결과값이 음수인 경우에는 뺄셈을 취하지 않고 통과동작을 대신하여 수행한다. 그리고 뺄셈동작 또는 통과동작을 수행한 다음의 시프트동작에 있어서 시프트입력은 전술한 바와 같이 가산기 208의 출력중 MSB의 반전값이 인가된다.8A illustrates an initial state in a division operation. In the initial state, # 0 is stored in the upper accumulator (ACC-H) 220H, the number of jets is stored in the lower accumulator (ACC-L) 220L, and the number of jets is stored in the
다음에, 도 8의 (b)에서 상위누산기 220H에 저장된 값 "0"은 젯수 "10"의 값보다 작으므로 뺄셈동작을 행하는 대신에 통과동작을 수행하여 도 8의 (c)에 도시된 바와 같은 결과값을 얻는다. 상기 통과동작을 수행한 후에는 시프트레프트 동작 LSL을 수행하여 도 8의 (d)에 도시된 바와 같은 결과를 얻는다. 이때 시프트입력으로는 전술한 바와 같이 가산기 208의 가산결과중 MSB의 반전값 "0"이 인가된다. 왜냐하면, 상기 가산기 208이 상위누산기 220H에 저장된 값 "0"과 선택기 206을 거쳐 인가되는 값 "1110(0010의 2의 보수화값)"을 가산하는 경우 가산결과값은 "1110"이고, 이 값의 MSB는 "1"이기 때문이다. 상기 시프트입력의 값은 위와 같은 절차에 따라 입력되는데, 시프트입력으로는 상위누산기 220H에 저장된 값에서 MQ레지스터 202에 저장된 값인 젯수를 감산하여 음수인 경우(즉, 통과동작을 수행하게 되는 경우)에는 "0"이 입력되고, 양수인 경우(즉, 뺄셈동작을 수행하게 되는 경우)에는 "1"이 입력된다는 성질이 있다.Next, since the value '0' stored in the
다음에, 도 8의 (d)에서 상위누산기 220H에 저장된 값 "1"은 젯수 "10"의 값보다 작으므로 뺄셈동작을 행하는 대신에 통과동작을 수행하여 도 8의 (e)에 도시된 바와 같은 결과값을 얻는다. 상기 통과동작을 수행한 후에는 시프트레프트 동작 LSL을 수행하여 도 8의 (f)에 도시된 바와 같은 결과를 얻는다. 이때 시프트입력으로는 뺄셈동작을 하지 않으므로 가산기 208의 가산결과중 MSB의 반전값인 "0"이 인가된다. 도 8의 (f)에서 상위누산기 220H에 저장된 값 "11"은 젯수 "10"의 값보다 크므로 뺄셈동작을 행하여 도 8의 (g)에 도시된 바와 같은 결과값을 얻는다. 상기 뺄셈동작을 수행한 후에는 시프트레프트 동작 LSL을 수행하여 도 8의 (h)에 도시된 바와 같은 결과를 얻는다. 이때 시프트입력으로는 뺄셈동작을 하였으므로 가산기 208의 가산결과중 MSB의 반전값인 "1"이 인가된다. 도 8의 (h)에서 상위누산기 220H에 저장된 값 "11"은 젯수 "10"의 값보다 크므로 뺄셈동작을 행하여 도 8의 (i)에 도시된 바와 같은 결과값을 얻는다. 상기 뺄셈동작을 수행한 후에는 시프트레프트 동작 LSL을 수행하여 도 8의 (j)에 도시된 바와 같은 결과를 얻는다. 이때 시프트입력으로는 뺄셈동작을 하였으므로 가산기 208의 가산결과중 MSB의 반전값인 "1"이 인가된다.Next, in FIG. 8D, the value '1' stored in the
그 다음에, 위에서 4번의 뺄셈&시프트동작을 수행한 후에는 초기에 부호비트의 제거를 위해 시프트레프를 행한 것에 대응하여 나머지의 자리수를 보정하는 동작을 수행한다. 이 보정동작은 전술한 바와 같이 상위누산기 220H에 대해서만 도 8의 (k)에 도시된 바와 같이 시프트라이트를 행한다. 왜냐하면, 나눗셈 연산에 따른 결과값중 나머지는 상위누산기 220H에 저장되고, 몫은 하위누산기 220L에 저장되기 때문이다. 즉, 도 8의 (k)를 참조하면, 하위누산기 220L에는 "0111(+7)"로부터 "0010(+2)"를 제산한 경우의 몫인 "0011(+3)"이 저장되고, 상위누산기 220H에는 그 나머지인 "0001(+1)"이 저장됨을 알 수 있다.Then, after performing the four subtraction & shift operations from above, an operation of correcting the remaining digits is performed in correspondence with the shift-lepping for initially removing the code bits. As described above, the correction operation is performed as described in (k) of FIG. 8 only for the
상술한 바와 같이 본 발명은 종래의 연산회로에서 확인할 수 있는 피승수 또는 젯수를 2배로 확장하는 LS레지스터는 포함하지 않고 있다. 그러므로 본 발명은 종래 기술처럼 입력단 레지스터와 가산기의 비트수를 입력데이터 비트수의 2배로 늘리지 않아도 되므로, 입력데이터의 비트수와 동일한 비트수로 곱셈 및 나눗셈을 처리할 수 있으므로 이에 따른 하드웨어의 손실을 막는 효과가 있다.As described above, the present invention does not include the LS register which doubles the multiplicand or jet number which can be confirmed by the conventional computing circuit. Therefore, the present invention does not need to increase the number of bits of the input register and the adder to twice the number of bits of the input data as in the prior art, so that the multiplication and division can be performed by the same number of bits of the input data. It has a blocking effect.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 않되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by the equivalents of the claims.
Claims (11)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019970007171A KR100235536B1 (en) | 1997-03-05 | 1997-03-05 | A circuit for multiplier and divider |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019970007171A KR100235536B1 (en) | 1997-03-05 | 1997-03-05 | A circuit for multiplier and divider |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR19980072382A KR19980072382A (en) | 1998-11-05 |
| KR100235536B1 true KR100235536B1 (en) | 1999-12-15 |
Family
ID=19498718
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1019970007171A Expired - Fee Related KR100235536B1 (en) | 1997-03-05 | 1997-03-05 | A circuit for multiplier and divider |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR100235536B1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7177000B2 (en) * | 2019-05-16 | 2022-11-22 | 日立Astemo株式会社 | Arithmetic device and method |
| CN113360131A (en) * | 2021-06-07 | 2021-09-07 | 东南大学 | Logarithm approximate multiplication accumulator for convolutional neural network accelerator |
| CN117521581B (en) * | 2024-01-08 | 2024-04-02 | 成都北中网芯科技有限公司 | Divider, application method thereof and division operation system |
-
1997
- 1997-03-05 KR KR1019970007171A patent/KR100235536B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| KR19980072382A (en) | 1998-11-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6735611B2 (en) | Arithmetic processor | |
| JP4955182B2 (en) | Integer calculation field range extension | |
| KR100291383B1 (en) | Module calculation device and method supporting command for processing digital signal | |
| EP1049025B1 (en) | Method and apparatus for arithmetic operations | |
| US5261001A (en) | Microcircuit for the implementation of RSA algorithm and ordinary and modular arithmetic, in particular exponentiation, with large operands | |
| US9372665B2 (en) | Method and apparatus for multiplying binary operands | |
| US6009450A (en) | Finite field inverse circuit | |
| EP0356153B1 (en) | Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction | |
| JPH01112332A (en) | Floating point unit combining multiplicative/arithmetic logic computation functions | |
| US5957996A (en) | Digital data comparator and microprocessor | |
| US5715186A (en) | Digital processing device with minimum and maximum search instructions | |
| US5357455A (en) | Floating point remainder generator for a math processor | |
| KR100235536B1 (en) | A circuit for multiplier and divider | |
| US6529929B2 (en) | Quantization device and method using prime number dividers | |
| US20030182343A1 (en) | Fast multiplication circuits | |
| US5867412A (en) | Modular multiplication device for information security | |
| US7607165B2 (en) | Method and apparatus for multiplication and/or modular reduction processing | |
| KR100481586B1 (en) | Apparatus for modular multiplication | |
| US6963895B1 (en) | Floating point pipeline method and circuit for fast inverse square root calculations | |
| KR100900790B1 (en) | Method and Apparatus for arithmetic of configurable processor | |
| US5239498A (en) | Methods and apparatus for improved quotient correction in nonrestoring division computation circuits | |
| JP3122622B2 (en) | Division device | |
| JPS63163674A (en) | Compound arithmetic circuit | |
| JP3068640B2 (en) | Computing device | |
| JPH01241622A (en) | Multiplying device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| FPAY | Annual fee payment |
Payment date: 20020926 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20030928 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20030928 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |