KR950015180B1 - High speed adder - Google Patents
High speed adder Download PDFInfo
- Publication number
- KR950015180B1 KR950015180B1 KR1019930016984A KR930016984A KR950015180B1 KR 950015180 B1 KR950015180 B1 KR 950015180B1 KR 1019930016984 A KR1019930016984 A KR 1019930016984A KR 930016984 A KR930016984 A KR 930016984A KR 950015180 B1 KR950015180 B1 KR 950015180B1
- Authority
- KR
- South Korea
- Prior art keywords
- carry
- adder
- addition
- adders
- result
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
내용 없음.No content.
Description
제1도는 종래의 일예에 따른 4비트 전가산기를 설명하는 도면.1 is a diagram for explaining a 4-bit full adder according to a conventional example.
제2도는 일반적인 전가산기 회로에서 캐리전파에 소요되는 게이트 단계의 수를 설명하는 도면.2 is a diagram illustrating the number of gate steps required for carry propagation in a general full adder circuit.
제3도는 일반적으로 룩어헤드 캐리발생기를 가진 4비트 전가산기(이하, 캐리 룩어헤드 가산기라 함)를 설명하는 도면.3 illustrates a 4-bit full adder (hereafter referred to as a carry lookahead adder) with a lookahead carry generator.
제4도는 제3도에 도시된 룩어헤드 캐리발생기의 논리도.4 is a logic diagram of the lookahead carry generator shown in FIG.
제5도는 본 발명에 따른 고속연산형 가산기를 설명하는 도면.5 is a diagram for explaining a fast computing type adder according to the present invention.
제6도는 제5도에 도시된 캐리"1" 가산기와 캐리"0" 가산기의 구성을 나타낸 도면이다.FIG. 6 is a diagram showing the configuration of a carry " 1 " adder and a carry " 0 " adder shown in FIG.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
50 : 가산기 51,54 : 캐리 "1" 가산기50: adder 51,54: carry " 1 " adder
52,55 : 캐리 "0" 가산기 53,56 : 멀티플렉서52,55 Carry "0" adder 53,56: Multiplexer
60,71 : 배타화 논리게이트 62,73 : AND 게이트60,71: exclusive logic gate 62,73: AND gate
72 : 인버터 74 : OR 게이트72: inverter 74: OR gate
본 발명은 고속연산형 가산기에 관한 것으로, 특히 가산을 위한 다수의 입력변수의 비트를 소정의 비트군으로 분할하여 동일에 각각 가산하면서 하위비트군에 대한 가산결과(즉, 캐리 발생 유ㆍ무신호)를 이용하여 상위 비트군에 대한 캐리발생 유ㆍ무의 경우에 다른 가산결과를 선택함으로써 병렬가산처리기 고속으로 이루어지도록 한 고속연산형 가산기에 관한 것이다.The present invention relates to a fast computation type adder, and in particular, adds to the lower bit group by dividing the bits of a plurality of input variables for addition into predetermined bit groups and adding them to the same, respectively (i.e., carry generation existence / no signal). The present invention relates to a fast computing type adder which achieves a high speed of the parallel addition processor by selecting different addition results in the case of carrying or not carrying a higher bit group using a).
주지된 바와 같이, 가산기는 데이터 연산기능을 갖춘 컴퓨터와 같은 데이터처리시스템이라든지 영상신호의 처리에 적용되는 영상신호처리시스템에서 가장 기본적인 연산장치로서 채용되는 바, 점차 데이터처리 속도의 고속화 추세를 고려하여 고속연산이 가능한 가산기가 필수적으로 요구된다.As is well known, the adder is adopted as the most basic computing device in a data processing system such as a computer with a data processing function or a video signal processing system applied to the processing of video signals. An adder capable of high speed operation is required.
제1도는 종래의 일예에 따른 4비트 전가산기를 설명하는 도면으로서, 이 4비트 전가산기는 4비트의 가수(加數)와 4비트의 피가수를 가산하는 4비트 구성으로서, 직렬종속접속된 4개의 전가산기(10,12,14,16)를 갖추어 구성된다.FIG. 1 is a diagram illustrating a 4-bit full adder according to a conventional example. The 4-bit full adder is a 4-bit configuration that adds 4 bits of mantissa and 4 bits of an addend. Four full adders (10, 12, 14, 16).
이러한 구성의 4비트 전가산기에 따르면, 가산치(S4)는 입력 (a4,b4)이 그 가산기(16)로 입력되는 즉시 얻어지게 되지만, 입력캐리(C4)는 전단의 캐리(C3)가 그의 정상상태의 값을 얻을 때까지는 그의 최종 정상 상태의 값으로 정착되지 않게 되고, 그와 유사하게 캐리(C3)는 캐리(C2)를 기다려야 하며, 이리하여 캐리(C1)까지 내려가게 된다. 따라서, 캐리가 모든 단계를 통하여 전파된 후에만 최종출력(S4)과 캐리(C5)가 최종 정상상태의 값으로 정착하게 된다.According to the 4-bit full adder of this configuration, the addition value S4 is obtained as soon as the inputs a4 and b4 are inputted to the adder 16, whereas the input carry C4 has a front carry C3 thereof. Until the steady state value is obtained, it is not settled at its final steady state value, and similarly, the carry C3 has to wait for the carry C2, thus descending to the carry C1. Therefore, the final output S4 and the carry C5 settle to the final steady state values only after the carry propagates through all the steps.
이와 같이 캐리가 전파하는 데에 관련된 게이트 단계의 수에 대하여 제2도에 도시된 전가산기 회로를 참조하여 설명하면, 그 일반적인 전가산기는 합해져야 할 2개의 입력변수(Ai,Bi)를 논리배타화 처리하는 배타화 OR 게이트(20) 및, 상기 2개의 입력변수(Ai,Bi)를 AND 처리하는 AND 게이트(22)로 이루어진 반가산기와 ; 상기 배타화 OR 게이트(20)의 결과(Pi)와 선행의 캐리(Ci)를 배타화 OR 처리하여 가산치(Si)를 발생하는 배타화 논리게이트(24) 및, 상기 배타화 논리게이트(20)의 출력(Pi)과 선행의 캐리(Ci)를 AND 처리하는 AND 게이트(26)로 이루어진 반가산기 및 ; 상기 AND 게이트(22)의 출력과 상기 AND 게이트(26)의 출력을 OR 처리하여 캐리(Ci+1)를 출력하는 OR 게이트(28)로 구성되는 바, 여기서 상기 Ai, Bi로 표시된 2개의 입력변수는 합해져야 할 2개의 유의비트를 나타내고, 상기 제3의 입력 Ci는 이전의 하위 유의위치(有意位置 : significant position)로부터 올라온 캐리를 나타낸다.As described above with reference to the full adder circuit shown in FIG. 2 for the number of gate steps involved in the carry propagation, the general full adder logically excludes two input variables Ai and Bi to be summed. A half-adder consisting of an exclusive OR gate 20 for processing and an AND gate 22 for AND processing the two input variables Ai and Bi; An exclusion logic gate 24 that generates an additive value Si by performing an exclusive OR operation on the result Pi of the exclusion OR gate 20 and the preceding carry Ci, and the exclusion logic gate 20. A half-adder consisting of an AND gate 26 for ANDing the output Pi of ") and the preceding carry Ci; OR gate 28 for outputting carry (Ci + 1) by OR-processing the output of the AND gate 22 and the output of the AND gate 26, wherein the two inputs denoted Ai and Bi are shown. The variable represents two significant bits to be summed, and the third input Ci represents a carry raised from the previous lower significant position.
상기한 구성에서 상기 배타화 논리게이트(20)의 출력(Pi)과 AND 게이트(22)의 출력(Gi)은 그들의 각 게이트를 통하여 전파된 후 그들의 정상상태의 값으로 정착하는 바, 상기 Pi와 Gi는 모든 전가산기에 대해 공통적이며 입력 피가수(예컨대, Ai)와 가수 (예컨대, Bi)의 비트에 의해서만 결정된다.In the above configuration, the output Pi of the exclusiveization logic gate 20 and the output Gi of the AND gate 22 are propagated through their respective gates and then settle to their steady-state values. Gi is common to all full adders and is determined only by the bits of the input figma (eg Ai) and the mantissa (eg Bi).
그리고, 상기 입력캐리(Ci)로부터 출력캐리(C(i+1))에 이르는 신호는 AND 게이트와 OR 게이트를 통하여 전파하는데, 이들은 2개의 게이트 단계를 구성하게 된다. 다시 말해서, 예를 들어 병렬가산기에 4개의 전가산기가 있다면, 출력캐리 C5는 C1에서 C5까지 2×4=8 단계의 게이트를 갖게 되므로, 그 가산기의 전체 전파시간은 하나의 반가산기에다 8개의 게이트 단계를 합한 것에 대한 전파시간이 된다. 따라서, 예컨대 N비트의 병렬가산기는 캐리를 완전히 전송하기 위해 그 2N개의 게이트단계를 거치도록 설계된다. 즉, 캐리의 전파시간은 2개의 수를 병렬 덧셈하는 속도에 대한 제한인자(制限因子)가 되는 것이다.The signal from the input carry Ci to the output carry C (i + 1) propagates through the AND gate and the OR gate, which constitute two gate stages. In other words, for example, if the parallel adder has four full adders, the output carry C5 will have a gate of 2 × 4 = 8 steps from C1 to C5, so the total propagation time of the adder is one half adder and eight gates. It is the propagation time for the sum of the steps. Thus, for example, an N-bit parallel adder is designed to go through its 2N gate steps to fully carry a carry. That is, the propagation time of the carry becomes a limiting factor for the speed of adding two numbers in parallel.
이와 같이 병렬가산기 또는 임의의 조합회로는 항상 그의 출력단자에 어떠한 값을 갖게 되지만, 신호가 입력에서부터 출력으로까지 연결된 게이트를 통하여 전파하는데 충분한 시간이 주어지지 않는다면 그 출력은 정당하지 못할 것이다. 그리고, 모든 다른 산술적 동작이 연속적인 덧셈으로써 구현되므로, 덧셈과 정중소비되는 시간은 매우 심각한 것이 된다.Thus a parallel adder or any combination circuit will always have some value at its output, but the output will not be justified unless it has enough time to propagate through the gate connected from the input to the output. And since all other arithmetic operations are implemented by successive additions, the time spent addition and mediation is very serious.
그에 따라, 캐리전파시간의 단축을 위해 현재에는 룩어헤드(look-ahead) 캐리의 원리가 널리 사용되고 있는 바, 그 룩어헤드 캐리의 원리를 상기 제2도에 도시된 전가산기를 경우로 설명하면, 먼저 2개의 새로운 2치변수(binary variable)를 정의할 경우 상기 Pi=AiBi, 상기 Gi=AiBi로 각각 정의되고, 그 출력의 합과 캐리는 Si=PiCi, (i+1)=Gi+PiCi로 각각 정의된다.Accordingly, the principle of the look-ahead carry is widely used to shorten the carry propagation time. Now, the principle of the look-ahead carry will be described with the full adder shown in FIG. If you first define two new binary variables, Pi = Ai Bi, where Gi = AiBi, respectively, and the sum and carry of the outputs are Si = Pi Ci, (i + 1) = Gi + PiCi, respectively
여기서, 상기 Gi는 캐리생성(carry generate)이라고 하여 상기 Ai와 Bi가 다같이 1일 때는 입력캐리에 관계없이 출력캐리를 만들고, 상기 Pi는 Ci에서 C(i+1)로의 캐리의 전파와 관련된 항이므로 캐리전파(carry propagate)라고 한다.Here, Gi is called carry generate, and when Ai and Bi are both 1, an output carry is generated regardless of an input carry, and Pi is related to propagation of a carry from Ci to C (i + 1). Since it is a term, it is called a carry propagate.
그리고, 제4도에 나타낸 일반적인 룩어헤드 캐리발생기에서의 각 단계의 캐리출력에 대한 부울(Boole)함수를 써서 각 Ci에 대해 앞서의 식들로부터 그의 값을 대입하게 되면 각 출력캐리는,Then, using the Boole function for the carry output of each stage in the general look-ahead carry generator shown in FIG. 4 and substituting its values from the previous equations for each Ci, each output carry is:
C2=G1+P1C1,C2 = G1 + P1C1,
C3=G2+P2C2=G2+P2(G1+P1C1)=G2+P2G1+P2P1C1,C3 = G2 + P2C2 = G2 + P2 (G1 + P1C1) = G2 + P2G1 + P2P1C1,
C4=G3+P3C3=G3+P3G2+P3P2G1+P3P2P1C1,C4 = G3 + P3C3 = G3 + P3G2 + P3P2G1 + P3P2P1C1,
C5=G4+P4G3=P4P3G2+P4P3P2G1+P4P3P2P1C1C5 = G4 + P4G3 = P4P3G2 + P4P3P2G1 + P4P3P2P1C1
로 구해지게 되고, 각 출력캐리에 대한 부울함수의 적의 합(sum of products) 형식으로 표시되어 있기 때문에 각 함수는 오어게이트(또는 2단계의 NAND)가 뒤따르게 되는 앤드게이트의 한개 단계로 구현가능하다.Each function can be implemented as a single stage of an AND gate followed by an orgate (or two-level NAND) because it is expressed in the form of sum of products of the Boolean function for each output carry. Do.
이와 같은 룩어헤드 캐리발생기를 갖는 4비트의 병렬가산기(캐리 룩어헤드 가산기)의 구성을 제3도에 도시하였는 바, 그 제3도에 도시된 캐리 룩어헤드 가산기는, 각 가수와 피가수에 대해 캐리생성변수(P1,P2,P3,P4)와 캐리전파변수(G1,G2,G3,G4)의 생성에 배타화 논리게이트(XOR : 31,33,35,37)와 AND 게이트(32,34,36,38)가 제공되고, 각 캐리생성변수(Pi)와 캐리전파변수(Gi) 및 캐리입력(C1)을 기초로 최종캐리(C5)를 생성하는 룩어헤드 캐리발생기(40)와, 이 룩어헤드 캐리발생기(40)의 출력(C2,C3,C4)에 접속되어 가산결과(S1,S2,S3,S4)를 얻기 위해 일단에 캐리생성변수(P1,P2,P3,P4)가 입력되는 배타화 논리게이트(39,41,43,45)가 갖추어진다.The configuration of a 4-bit parallel adder (carry lookahead adder) having such a lookahead carry generator is shown in FIG. 3. The carry lookahead adder shown in FIG. 3 carries a carry for each mantissa and the singer. Exclusive logic gates (XOR: 31, 33, 35, 37) and AND gates (32, 34, 14) for generating generation variables (P1, P2, P3, P4) and carry propagation variables (G1, G2, G3, G4). 36, 38, a lookahead carry generator 40 for generating a final carry C5 based on each carry generation variable Pi, a carry propagation variable Gi, and a carry input C1, Exclusively connected to the outputs C2, C3 and C4 of the head carry generator 40 and carrying the carry generation variables P1, P2, P3 and P4 at one end to obtain the addition results S1, S2, S3 and S4. The logic logic gates 39, 41, 43, 45 are provided.
이와 같은 캐리 룩어헤드 가산기에 의하면, 각 합의 출력은 2개의 Exclusive-OR 게이트를 필요로 하는 바, 첫 Exclusive-OR의 출력은 변수 Pi를 생성하고, AND 게이트는 변수 Gi를 발생시킨다. 이와 같이, 모든 P와 G들은 2개의 게이트 단계에서 발생된다. 그리고, 캐리는 룩어헤드 캐리발생기(40)를 통하여 전파되고, 제2의 Exclusive-OR 게이트에 대한 입력으로써 인가된다. 따라서, 그 P와 G의 신호가 그들의 정상상태의 값으로 정착된 후 모든 출력캐리가 게이트의 2개의 단계를 지연하고서 발생되므로, S2에서 S4까지의 출력은 같은 전파지연시간을 갖게 된다.According to such a carry lookahead adder, the output of each summation requires two Exclusive-OR gates, the output of the first Exclusive-OR generates a variable Pi, and the AND gate generates a variable Gi. As such, all P and G are generated in two gate steps. The carry then propagates through the lookahead carry generator 40 and is applied as an input to the second Exclusive-OR gate. Therefore, after the P and G signals have settled to their steady state values, all output carry is generated by delaying the two stages of the gate, so that the outputs from S2 to S4 have the same propagation delay time.
그에 따라 상술한 캐리 룩어헤드 가산기에 의하면, 캐리의 발생여부를 미리 관측하기 때문에 다른 가산기에 비해 연산속도는 빠르지만, 작은 비트수의 수를 가산하는 경우와 큰 비트 수를 가산하는 경우를 비교하면 큼 비트수의 수를 가산하는 경우에 더 많은 게이트단계와 연산시간이 소요된다는 불리함이 있다.Therefore, according to the carry lookahead adder described above, since the occurrence of carry is observed in advance, the operation speed is faster than other adders. However, when the number of small bits is added to the case of adding a large number of bits, In the case of adding a larger number of bits, there is a disadvantage that more gate steps and operation time are required.
본 발명은 상기한 종래 기능을 감안하여 이루어진 것이로, 가산될 복수의 입력변수의 복수비트군을 n개의 비트군으로 분할하여 동시에 연산시키면서 하위비트군의 연산이 진행되는 중에 상위비트군에 대해서는 캐리의 유ㆍ무의 경우에 대한 연산을 동시에 연산하고 하위비트군의 연산결과에 따라 미리 계산된 상위비트군의 계산결과를 출력함으로써 고속연산을 실현하도록 된 고속연산형 가산기를 제공함에 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made in view of the above-described conventional functions, and the upper bit group is carried while the lower bit group is being operated while the plurality of bit groups of the plurality of input variables to be added are divided into n bit groups and operated simultaneously. It is an object of the present invention to provide a fast operation type adder which realizes high speed operation by simultaneously calculating the operation for the presence / absence of the same and outputting the calculation result of the upper bit group calculated in advance according to the operation result of the lower bit group. .
상기한 목적을 달성하기 위해 본 발명에 따르면, 가산된 복수의 입력변수의 복수비티군으로부터 분할된 제1비트군에 대한 가산을 수행하여 가산결과 및 그 가산결과에 따른 캐리발생 유ㆍ무에 대한 신호를 출력하는 제1가산수단과, 그 제1가산수단에서의 가산동작과 동시에 상기 분할된 복수비트군중의 제2비트군에 대해 캐리발생 유ㆍ무의 경우에 대한 연산을 각각 수행하는 복수의 가산기로 구성된 제2가산수단, 상기 제1가산수단으로부터 캐리발생 유ㆍ무에 대한 신호를 기초로 상기제2가산수단을 구성하는 복수의 가산기의 가산결과를 선택출력함과 더불어 현재 출력되는 가산결과에 따른 캐리발생 유ㆍ무에 대한 신호를 출력하는 멀티플렉서, 상기 제1가산수단과, 상기 제2가산수단에서의 가산동작과 동시에 상기 분할된 복수비트군중의 제2비트군에 대해 캐리발생 유ㆍ무의 경우에 대한 연산을 각각 수행하는 복수의 가산기로 구성된 제3가산수단 및, 상기 멀티플렉서로부터 제공되는 캐리발생 유ㆍ무에 대한 신호를 기초로 상기 제3가산수단을 구성하는 복수의 가산기의 가산결과를 선택출력하는 멀티플렉서를 구비하여 구성된 고속연산형 가산기가 제공된다.In order to achieve the above object, according to the present invention, an addition result is performed on a first bit group divided from a plurality of bit groups of a plurality of input variables, and the result of the addition and whether or not there is a carry occurrence according to the addition result are obtained. A plurality of operations for carrying out a calculation on the case of whether or not there is a carry generation on the first addition means for outputting a signal and at the same time as the addition operation in the first addition means; A second addition means composed of an adder, an addition result of the plurality of adders constituting the second addition means on the basis of a signal of the presence or absence of carry generation from the first addition means, and an addition result currently output A multiplexer for outputting a signal for whether or not a carry occurs according to the first and second bits in the divided plurality of bit groups simultaneously with the addition operation in the first adding means and the second adding means. A third adding means composed of a plurality of adders each performing an operation on the case of having a carry generation with or without a carry, and the third adding means based on a signal of having or without a carry generation provided from the multiplexer. There is provided a fast computing type adder comprising a multiplexer for selectively outputting the addition result of a plurality of adders.
본 발명의 바람직한 예에 다르면, 상기 제2가산수단과 상기 제3가산수단을 이루는 복수의 가산기는 각각 일단이 하이레벨로 설정돈 캐리 "1" 가산기와 각각 일단이 로우레벨로 설정된 캐리 "0" 가산기로 구성되어 할당된 비트열을 동시에 연산하도록 구성된다.According to a preferred embodiment of the present invention, the plurality of adders constituting the second adding means and the third adding means each have a carry " 1 " adder set to a high level and a carry " 0 " It is configured with an adder and configured to simultaneously compute the assigned bit string.
상기와 같이 구성된 본 발명에 따른 고속연산형 가산기에 의하면, 가산될 복수의 입력변수의 복수비트군을 n개의 비트군으로 분할하고서 하위비트열의 가산결과(즉, 캐리발생 유ㆍ무신호)를 이용하여 상위 비트군에 대한 가산결과를 선택(즉, 캐리가 발생한 경우의 가산결과 및 캐리가 발생하지 않은 경우의 가산결과 중에서 선택)함으로써 병렬가산처리가 고속으로 이루어지게 되므로 연산속도가 더욱 향상된다.According to the fast computing type adder according to the present invention configured as described above, a plurality of bit groups of a plurality of input variables to be added are divided into n bit groups, and the addition result of the lower bit string is used (that is, whether a carry generation is present or not). By selecting the addition result for the upper bit group (that is, selecting from the addition result when the carry occurs and the addition result when the carry does not occur), the parallel addition process is performed at a high speed, so that the operation speed is further improved.
이하, 본 발명에 대해 첨부도면을 참조하여 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
제5도는 본 발명에 따른 고속연산형 가산장치의 구성을 나타낸 도면으로서, 50은 각각 소정비트수(예컨대, 22비트)로 이루어진 복수의 입력변수(예컨대, A, B)의 제1비트군(예컨대, 0~7비트)을 가산하여 가산결과(S1)를 출력시킴과 더불어 그 가산결과에 따른 캐리발생 유ㆍ무에 대한 신호(C1)를 로우 또는 하이레벨로 하여 후술하는 멀티플렉서(53)로 인가하는 제1가산기이고, 51과 52는 상기 제1가산기(50)에서 제1비트군에 대한 가산동작이 행해질 때 상기 입력변수(A,B)의 제2비트군(예컨대, 8~14비트)에 대하여 캐리가 발생한 경우 및 캐리가 발생하지 않은 경우에 대한 연산을 각각 수행하는 제2가산수단을 구성하는 가산기이다.FIG. 5 is a diagram showing the configuration of the fast computing adder according to the present invention, where 50 is the first group of bits of a plurality of input variables (for example, A and B) each having a predetermined number of bits (for example, 22 bits). For example, 0 to 7 bits are added to output the addition result S1, and the multiplexer 53, which will be described later, sets the signal C1 for the presence or absence of the carry generation according to the addition result to a low or high level. 51 and 52 denote second bit groups (eg, 8 to 14 bits) of the input variables A and B when an addition operation is performed on the first bit group in the first adder 50. Is an adder constituting the second adding means for performing arithmetic operations on the case where the carry occurs and the case where the carry does not occur.
여기서, 상기 가산기(51,52)중의 하나(본 발명에서는 가산기(51)의 가산기는 캐리 "1" 가산기로서, 그 가산기(51)의 일입력단에는 하이레벨로 기설정된 캐리발생신호(Ci)가 입력되고 다른 두개의 입력단에는 상기 복수의 입력변수(예컨대, A,B)의 제2비트군(예컨대, 8~14비트)의 신호가 입력되어 캐리발생의 경우에 대한 가산처리동작을 수행하게 된다. 그리고, 상기 가산기(52)는 캐리 "0" 가산기로서, 그 가산기(52)의 일입력단에는 로우레벨로 기설정된 캐리발생신호(Ci)가 입력되고 다른 두개의 입력단에는 상기 복수의 입력변수(예컨대, A,B)의 제2비트군(예컨대, 8~14비트)의 신호가 입력되어 캐리가 발생되지 않은 경우에 대한 가산처리동작을 수행하게 된다.Here, one of the adders 51 and 52 (in the present invention, the adder of the adder 51 is a carry " 1 " adder, and a carry generation signal Ci preset at a high level is applied to one input terminal of the adder 51. The second input group (for example, 8 to 14 bits) of the plurality of input variables (for example, A and B) is input to two other input terminals to perform an addition processing operation for the case of carry generation. The adder 52 is a carry " 0 " adder, and a carry generation signal Ci predetermined at a low level is input to one input terminal of the adder 52, and the plurality of input variables (2) to the other two input terminals. For example, a signal of a second bit group (eg, 8 to 14 bits) of A and B is input to perform an addition processing operation for a case in which no carry occurs.
53은 상기 제1가산기(50)로부터의 캐리발생 유ㆍ무에 대한 신호(예컨대, 캐리발생시에는 하이레벨의 신호(C1)가 출력되는 반면 캐리가 발생되지 않는 경우에는 로우레벨의 신호(C1)가 출력됨)를 기초로 상기 제2가산수단을 구성하는 복수의 가산기(51,52)의 가산결과를 선택출력함과 더불어 현재 가산기(51,52)에서 출력되는 가산결과에 따른 캐리발생 유ㆍ무에 대한 신호(C2)를 후술하는 멀티플렉서(56)로 인가하는 멀티플렉서로서, 그 멀티플렉서(53)는 상기 제1가산기(50)로부터의 신호(C1)가 하이레벨일 경우에는 상기 가산기(51)의 출력신호 제2비트군에 대한 가산결과(S2)로서 출력시키는 반면에 상기 제1가산기(50)로부터의 신호(C1)가 로우레벨일 경우에는 상기 가산기(52)의 출력신호를 제2비트군에 대한 가산결과(S2)로서 출력시킨다.Reference numeral 53 denotes a signal for the presence or absence of a carry generation from the first adder 50 (for example, when a carry occurs, a high level signal C1 is output, but a low level signal C1 when no carry is generated). Outputting results of the plurality of adders 51 and 52 constituting the second adding means, and carry-out according to the addition result currently output from the adders 51 and 52. A multiplexer for applying a non-signal signal C2 to the multiplexer 56, which will be described later, wherein the multiplexer 53 is the adder 51 when the signal C1 from the first adder 50 is at a high level. Is output as the addition result S2 to the second group of output signals, whereas when the signal C1 from the first adder 50 is at a low level, the output signal of the adder 52 is output to the second bit. It outputs as addition result S2 about a group.
또, 54와 55는 상기 제2가산수단의 가산기(51,52)와 유사한 구성을 가지고서 상기 제1가산기(50) 및 제2가산수단의 가산기(51,52)에서 가산동작이 행해질 때 상기 입력변수(A,B)의 제3비트군(예컨대, 15~21비트)에 대하여 캐리가 발생한 경우 및 캐리가 발생하지 않은 경우에 대한 연산을 각각 수행하는 제3가산수단을 구성하는 가산기이다.Further, 54 and 55 have a configuration similar to the adders 51 and 52 of the second adding means, so that the input when the addition operation is performed in the first adder 50 and the adders 51 and 52 of the second adding means. And an adder constituting third addition means for performing arithmetic operation on the case where the carry occurs and the case where the carry does not occur, for the third group of bits (eg, 15 to 21 bits) of the variables A and B.
여기서, 상기 가산지(54,55)중의 하나(본 발명에서는 가산기(54))의 가산기는 캐리 "1" 가산기로서, 그 가산기(54)의 일입력단에는 하이레벨로 기설정된 캐리발생신호(Ci)가 입력되고 다른 두개의 입력단에는 상기 복수의 입력변수(예컨대, A,B)의 제3비트군(예컨대, 15~21비트)의 신호가 입력되어 캐리발생의 경우에 대한 가산처리동작을 수행하게 된다. 그리고, 상기 가산기(55)는 캐리 "0" 가산기로서, 그 가산기(55)의 일입력단에는 로우레벨로 기설정된 캐리발생신호(Ci)가 입력되고 다른 두개의 입력단에는 상기 복수의 입력변수(예컨대, A,B)의 제3비트군(예컨대, 15~21비트)의 신호가 입려고디어 캐리가 발생되지 않은 경우에 대한 가산처리동작을 수행하게 된다.Here, the adder of one of the adders 54 and 55 (in the present invention, adder 54) is a carry " 1 " adder, and the carry generation signal Ci preset at a high level at one input of the adder 54. ) Is input to the other two input terminals, and a signal of the third bit group (for example, 15 to 21 bits) of the plurality of input variables (for example, A and B) is input to perform an add processing operation in the case of carry generation. Done. The adder 55 is a carry " 0 " adder, and a carry generation signal Ci, which is set at a low level, is input to one input terminal of the adder 55, and the plurality of input variables (e.g. The third bit group (for example, 15 to 21 bits) of A, B is added to perform an add processing operation for a case in which no carry occurs.
그리고, 참조부호 56은 상기 멀티플렉서(53)로부터 제공되는 캐리발생 유ㆍ무에 대한 신호(C2)를 선택신호로하여 상기 제3가산수단을 구성하는 복수의 가산기(54,55)의 가산결과를 선택출력하는 멀티플렉서이다.Reference numeral 56 denotes an addition result of the plurality of adders 54 and 55 constituting the third adding means, using the signal C2 with or without carry generation provided from the multiplexer 53 as a selection signal. Selective output multiplexer.
여기서, 상기 멀티플렉서(56)는 상기 멀티플렉서(53)로부터의 신호(C2)가 하이레벨일 경우에는 상기 가산기(54)의 출력신호를 제3비트군에 대한 가산결과(S3)로서 출력시키는 반면에 상기 멀티플렉서(53)로부터의 신호(C1)가 로우 레벨일 경우에은 상기 가산기(55)의 출력신호를 제3비트군에 대한 가산결과(S3)로서 출력시킨다.Here, the multiplexer 56 outputs the output signal of the adder 54 as an addition result S3 for the third group of bits when the signal C2 from the multiplexer 53 is at a high level. When the signal C1 from the multiplexer 53 is at the low level, the output signal of the adder 55 is output as an addition result S3 for the third bit group.
한편, 상기 가산기(52,55)는 입력캐리(Ci)를 "로우(0)"로 하게 되면 제6a도에 나타낸 바와 같이, 배타화 논리게이트의 특성상 가산될 복수의 입력변수(Ai,Bi)의 가산치(Pi)를 결과치(Si)로서 출력하는 배타화 논리게이트(60)와, 상기 복수의 입력변수(Ai,Bi)를 AND 처리함에 따라 발생된 결과(Gi)를 캐리(C(i+1))로서 출력하는 AND 게이트(62)로 구성될 수 있다.On the other hand, the adders 52 and 55, if the input carry Ci is " low ", as shown in FIG. 6A, a plurality of input variables Ai and Bi to be added due to the characteristics of the exclusion logic gate. Carry the exclusion logic gate 60 which outputs the addition value Pi as the result value Si and the result Gi generated by ANDing the plurality of input variables Ai and Bi. +1)) and the AND gate 62 to output.
또한, 상기 가산기(51,54)는 입력캐리(Ci)를 "하이(1)"로 하게 되면 제6b도에 나타낸 바와 같이, 가산될 복수의 입력변수(Ai,Bi)의 가산치(Pi)를 얻는 배타화 논리게이트(71)와, 그 배타화 논리게이트(71)의 출력을 반전시켜 최종적인 결과치(Si)를 얻는 인버터(72), 상기 복수의 입력변수(Ai, Bi)를 AND 처리하는 AND 게이트(73) 및, 그 AND 게이트(73)에 의한 AND 처리결과(Gi)와 상기 배타화 논리게이트(71)의 출력 (Pi)을 OR 처리하여 캐리(C(i+1))를 생성하는 OR 게이트(74)로 구성될 수 있다.In addition, the adders 51 and 54, when the input carry Ci is " high 1 ", add value Pi of the plurality of input variables Ai and Bi to be added, as shown in FIG. AND processing of the exclusion logic gate 71 which obtains?, The inverter 72 which inverts the output of the exclusion logic gate 71 to obtain a final result value Si, and the plurality of input variables Ai and Bi. The AND gate 73 and the AND processing result Gi by the AND gate 73 and the output Pi of the exclusion logic gate 71 are ORed to carry C (i + 1). OR gate 74 to generate.
상기와 같이 구성딘 본 발명에 따르면, 각각 복수의 비트군으로 형성된 입력변수(A,B)의 비트군중에서 예컨대 최하위비트군에 대해서는 제1가산기(50)에서,예컨대 중간레벨의 비트군에 대해서는 제2가산수단(51,52)에서, 예컨대 최상위비트군에 대해서는 제3가산수단(54,55)에서 동시에 가산동작을 수행하는 바, 상기 제2가산수단(51,52)에서는 상기 제1가산기(50)에서의 가산결과에 대하여 캐리가 발생되었을 경우 및 캐리가 발생되지 않았을 경우에 대한 가산동작을 수행하게 되고, 상기 제3가산수단(54,55)에서는 상기 제2가산수단(51,52)에서의 가산결과에 대하여 캐리가 발생되었을 경우 및 캐리가 발생되지 않았을 경우에 대한 가산동작을 수행하게 된다. 그에 따라, 멀티플렉서(53)는 상기 제1가산기(50)의 가산결과(S1)에 다른 캐리발생 유ㆍ무신호(C1)를 기초로 상기 제2가산수단(51,52)내의 해당 가산기에서 미리 계산된 가산결과(S2)를 출력시키게됨과 더불어 그 가산결과(S2)에 따른 캐리발생 유ㆍ무선신호(C2)를 후단의 멀티프렉서(56)로 인가하게 되고, 그 멀티플렉서(56)는 그 캐리발생 유ㆍ무신호(C2)를 기초로 상기 제3가산수단(54,55)내의 해당 가산기에서 미리 계산된 가산결과(S3)를 출력시키게 되므로, 최종캐리의 발생을 대기하여 최종의 정상치를 결정하는 종래의 가산방식에 비해 연산속도가 대폭 향상된다.According to the present invention constructed as described above, among the bit groups of the input variables A and B each formed of a plurality of bit groups, for example, the first adder 50 for the least significant bit group, for example, for the bit group of the intermediate level. In the second adding means (51, 52), for example, the addition operation is performed simultaneously by the third adding means (54, 55) for the most significant bit group. In the second adding means (51, 52), the first adder ( The addition operation is performed for the case where the carry is generated or when no carry is generated with respect to the addition result in step 50). In the third adding means 54, 55, the second adding means 51, 52 performs the addition operation. The addition operation is performed for the case where the carry occurs and the case where the carry does not occur. Accordingly, the multiplexer 53 advances in advance in the corresponding adder in the second adding means 51, 52 based on the carry-on / non-signal C1 that is different from the addition result S1 of the first adder 50. The calculated addition result S2 is outputted, and the carry generation wired / wireless signal C2 according to the addition result S2 is applied to the rear multiplexer 56, and the multiplexer 56 receives the multiplexer 56. Based on the carry generation presence / absence signal C2, the addition result S3 calculated in advance in the corresponding adder in the third adding means 54, 55 is outputted. Compared with the conventional addition method to determine the operation speed is significantly improved.
다시 말해서, 예를 들어 22비트로 각각 형성된 입력변수(A,B)를 가산하는 경우 제1가산기(50)에 8비트(예컨대, 0~7비트), 제2가산수단(51,52)에서 7비트(예컨대, 8~14비트) 및 제3가산수단(54,55)에서 7비트(예컨대, 15~21비트)를 연산하도록 비트군을 할당하면, 병렬처리기법을 이용하여 제1가산기(50)와 제2가산수단의 가산기(51,52) 및 제3가산수단의 가산기(54,55)가 동시에 할당된 비트군에 대한 가산을 개시하게 된다. 그에 따라, 상기 제1가산기(50)에서 최하위비트군에 대한 가산동작에 따른 가산결과(S1)가 구해질 때 상기 제2가산수단의 가산기(51,52)에서는 중간레벨의 비트군에 대한 캐리발생시 및 캐리비발생시의 값(S2)이 구해지게 되고, 상기 제3가산수단의 가산기(54,55)에서는 최상위비트군에 대한 캐리발생시 및 캐리비발생시의 값(S3)이 구해지게 된다.In other words, in the case of adding the input variables A and B respectively formed with 22 bits, for example, 8 bits (for example, 0 to 7 bits) to the first adder 50 and 7 to the second adding means 51 and 52. When a bit group is allocated to calculate 7 bits (for example, 15 to 21 bits) in the bits (for example, 8 to 14 bits) and the third adding means (54, 55), the first adder (50) is used using a parallel processing technique. ) And the adders 51 and 52 of the second adding means and the adders 54 and 55 of the third adding means simultaneously start adding to the assigned bit group. Accordingly, when the addition result S1 according to the addition operation for the least significant bit group is obtained in the first adder 50, the adders 51 and 52 of the second adding means carry carry on the bit group of the intermediate level. The value S2 at the time of occurrence and the carry ratio is calculated | required, and the value S3 at the time of carry generation and the carry ratio for the most significant bit group is calculated by the adders 54 and 55 of the said 3rd addition means.
이와 같은 상태에서, 상기 제1가산기(50)에서의 가산결과(S1)에 따른 캐리의 발생 유ㆍ무를 의미하는 하이레벨 또는 로우레벨의 신호(C1)가 선택신호로서 멀티프렉서(53)에 인가되는 바, 그 멀티플렉서(53)는 상기 신호(C1)가 캐리발생을 의미하는 신호이면 상기 가산기(51)에서 미리 계산된 가산결과(S2)가 출력되도록 하는 반면에 캐리비발생을 의미하는 신호이면 상기 가산기(52)에서 미리 계산된 가산결과(S2)가 출력되도록 한다. 그리고, 현재 선택출력되는 가산기(51 또는 52)에서의 가산결과(S2)에 따른 캐리발생 유ㆍ무를 의미하는 하이레벨 또는 로우레벨의 신호(C2)가 상기 멀티플렉서(53)를 통해 선택신호로서 후단의 멀티 플렉서(56)로 인가된다. 그에 따라, 상기 멀티플렉서(56)는 상기 신호(C2)가 캐리발생을 의미하는 신호이면 상기 가산기(54)에서 미리 계산된 최종 정상치로서의 가산결과(S3)가 출력되도록 하는 반면에 캐리비발생을 의미하는 신호이면 상기 가산기(55)에서 미리 계산된 최종 정상치로서의 가산결과(S3)가 출력되도록 한다.In this state, a high level or low level signal C1 indicating whether or not a carry is generated according to the addition result S1 in the first adder 50 is supplied to the multiplexer 53 as a selection signal. When the signal C1 is a signal indicating a carry generation, the multiplexer 53 outputs an addition result S2 calculated in advance by the adder 51, while a signal indicating a carry ratio occurs. In this case, the addition result S2 calculated in advance in the adder 52 is output. In addition, a signal C2 having a high level or a low level indicating whether or not a carry occurs according to the addition result S2 in the adder 51 or 52 currently selected and output is selected as a selection signal through the multiplexer 53. Is applied to the multiplexer 56. Accordingly, the multiplexer 56 outputs the addition result S3 as the final normal value calculated in advance in the adder 54 when the signal C2 is a signal representing the carry generation, while the carry multiple generation 56 indicates the carry ratio. If it is a signal, the adder 55 outputs the addition result S3 as the final normal value calculated in advance.
이와 같이 구성되어 동작하는 본 발명의 고속연산형 가산기는 일반적인 캐리 룩어헤드 가산기가 22비트로 된 복수의 입력변수를 가산하는 경우에 44단계의 게이트를 거치게 되어 21ns의 지연시간이 소요됨에 비해 16게이트단계를 거쳐 11ns의 지연시간만이 소요됨을 알 수 있었고, 또 본 발명에 다른 고속연산형 가산기를 이용하여 승산기를 구현한 경우에 캐리 룩어헤드 기법만을 사용한 종래의 가산기에 의한 승산기의 속도(40MHZ)에 비해 1.5배의 속도(61MHZ)로 연산결과를 얻을 수 있었다.The fast arithmetic adder of the present invention configured and operated as described above has a gate of 44 steps when a general carry look-ahead adder adds a plurality of 22-bit input variables. It can be seen that only 11ns of delay time is required, and in the case of implementing the multiplier using another fast computing type adder according to the present invention, the speed of the multiplier (40MHZ) by the conventional adder using only the carry lookahead technique is used. Computational results were obtained at a speed of 1.5 times (61 MHz).
이상에서 설명한 바와 같은 본 발명에 의하면, 하위비트 가산기의 캐리를 상위비트의 캐리 유ㆍ무를 고려한 가산기의 출력을 선택하는 선택신호로서 사용하여 상위비트에 관한 가산결과를 즉시 선택출력하게 되므로, 연산속도가 상당히 고속화될 뿐만 아니라 그로 인해 컴퓨터 등의 연산기능이라든지 연상신호 처리장치에서의 연산기능이 가일층 고속화될 수 있다.According to the present invention as described above, since the carry of the lower bit adder is used as a selection signal for selecting the output of the adder taking into account whether or not the carry of the upper bit is carried out, the addition result related to the upper bit is immediately selected and outputted. Not only is significantly faster, but also the computing function of the computer or the associative signal processing apparatus can be further increased.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930016984A KR950015180B1 (en) | 1993-08-30 | 1993-08-30 | High speed adder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930016984A KR950015180B1 (en) | 1993-08-30 | 1993-08-30 | High speed adder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950006588A KR950006588A (en) | 1995-03-21 |
KR950015180B1 true KR950015180B1 (en) | 1995-12-23 |
Family
ID=19362265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019930016984A Expired - Fee Related KR950015180B1 (en) | 1993-08-30 | 1993-08-30 | High speed adder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR950015180B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100339245B1 (en) * | 1998-12-22 | 2002-07-18 | 박종섭 | Adder |
-
1993
- 1993-08-30 KR KR1019930016984A patent/KR950015180B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR950006588A (en) | 1995-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3244506B2 (en) | Small multiplier | |
US9146707B2 (en) | Generating a fast 3x multiplicand term for radix-8 booth multiplication | |
EP0613082B1 (en) | 4:2 adder and multiplier circuit employing the same | |
JPH0479013B2 (en) | ||
KR100254913B1 (en) | Zero detect for binary difference | |
JP2002108606A (en) | Sticky bit generating circuit and multiplier | |
US5367477A (en) | Method and apparatus for performing parallel zero detection in a data processing system | |
Timarchi et al. | Arithmetic circuits of redundant SUT-RNS | |
US5177703A (en) | Division circuit using higher radices | |
JPH08212058A (en) | Addition overflow detection circuit | |
JPH0651953A (en) | Adder | |
KR950015180B1 (en) | High speed adder | |
EP1296223A2 (en) | Adder incrementer circuit | |
US5150319A (en) | Circuitry for rounding in a floating point multiplier | |
US5781465A (en) | Method and apparatus for fast carry generation detection and comparison | |
US6795842B2 (en) | Method and apparatus for comparing two binary numbers with a power-of-two threshold | |
JPH0464091B2 (en) | ||
US5327368A (en) | Chunky binary multiplier and method of operation | |
US5798958A (en) | Zero detect for binary sum | |
Awasthi et al. | Hybrid signed digit arithmetic in efficient computing: A comparative approach to performance assay | |
GB2226165A (en) | Parallel carry generation adder | |
US7240085B2 (en) | Faster shift value calculation using modified carry-lookahead adder | |
JP3286793B2 (en) | Circuit and method for determining carry-out | |
KR100206116B1 (en) | Method and circuit for computing the remainder | |
JP2606339B2 (en) | Multiplier |
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 |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
G160 | Decision to publish patent application | ||
PG1605 | Publication of application before grant of patent |
St.27 status event code: A-2-2-Q10-Q13-nap-PG1605 |
|
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 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
FPAY | Annual fee payment |
Payment date: 19991130 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
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: 20001224 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
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: 20001224 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |