KR100242467B1 - Parallel add comparator - Google Patents
Parallel add comparator Download PDFInfo
- Publication number
- KR100242467B1 KR100242467B1 KR1019960071393A KR19960071393A KR100242467B1 KR 100242467 B1 KR100242467 B1 KR 100242467B1 KR 1019960071393 A KR1019960071393 A KR 1019960071393A KR 19960071393 A KR19960071393 A KR 19960071393A KR 100242467 B1 KR100242467 B1 KR 100242467B1
- Authority
- KR
- South Korea
- Prior art keywords
- addition
- comparison
- bits
- operators
- acs
- Prior art date
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/02—Comparing digital values
Abstract
1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION
병렬 가산 비교기Parallel addition comparator
2. 발명이 해결하고자 하는 기술적 과제2. Technical problem to be solved by the invention
ACS 연산의 처리시 순차적으로 가산 및 비교 연산을 수행하는데 따르는 처리 속도의 저하를 방지하기 위하여 가산 및 비교 연산을 병렬로 처리할 수 있는 병렬 처리 구조의 필요성이 증대되었다.The need for a parallel processing structure that can process add and compare operations in parallel has been increased in order to prevent a decrease in processing speed caused by sequentially performing addition and comparison operations when processing ACS operations.
3. 발명의 해결 방법의 요지3. Summary of the Solution of the Invention
가산과 동시에 비교를 수행하는 중앙 교점(meet-in-the-middle) 방식으로 처리함으로써 동시에 두가지 연산을 수행한다.The two operations are performed at the same time by processing in a mean-in-the-middle manner, which performs the addition and the comparison at the same time.
4. 발명의 중요한 용도4. Important uses of the invention
가산 및 비교 선택(ACS) 연산 시스템Addition and comparison selection (ACS) calculation system
Description
본 발명은 순차적으로 이루어지는 가산 및 비교 선택(ACS:Add Compare Select, 이하 ACS라 함)을 동시에 처리하는 병렬 가산 비교기에 관한 것이다.The present invention relates to a parallel addition comparator that simultaneously processes sequentially adding and comparison selection (ACS).
종래의 ACS연산은 가산 및 비교 그리고 선택 연산이 순차적으로 이루어진다. 즉, 비교하고자 하는 두 수에 대한 가산이 이루어진 후 이를 비교하여 큰 수 혹은 작은 수를 선택하는 연산이 순차적으로 이루어지게 된다. 상기와 같이 ACS 연산은 순차적으로 처리하는 것이 일반적인 방법이지만 ACS 연산의 처리 속도가 중요한 경우에는 이에 소모되는 시간이 최단경로, 즉 임계경로(critical path)가 되어 처리시간에 따른 전체 시스템의 성능에 큰 영향을 미치게 된다.In the conventional ACS operation, addition, comparison, and selection operations are sequentially performed. That is, after the addition is made to the two numbers to be compared, the operation of selecting a large number or a small number by comparing them is sequentially performed. As mentioned above, it is common to process ACS operations sequentially, but when the processing speed of ACS operations is important, the time consumed by them becomes the shortest path, that is, the critical path, which greatly affects the performance of the entire system according to the processing time. Will be affected.
다시 말하면, 상기와 같이 순차적으로 가산 및 비교 연산을 수행하는데 따르는 처리 속도의 저하를 방지하여 가산 및 비교 연산을 병렬로 처리할 수 있는 병렬 처리 구조의 필요성이 증대되었다.In other words, the necessity of a parallel processing structure capable of processing the addition and comparison operations in parallel by preventing the degradation of the processing speed in performing the addition and comparison operations sequentially as described above has increased.
따라서, 상기 필요에 부응하기 위하여 인출된 본 발명은, LSB(Least Significant Bit)에서부터 MSB(Most Significant Bit)방향으로 가산 연산을 수행하고, MSB에서 LSB방향으로 비교연산을 수행하여 가산과 동시에 비교를 수행하는 중앙 교점(meet-in-the-middle)방식으로 처리함으로써 동시에 두 가지 연산(가산 및 비교)을 수행하는 병렬 가산 비교기를 제공하는데 그 목적이 있다.Therefore, in order to meet the above needs, the present invention performs an addition operation in the least significant bit (LSB) to the most significant bit (MSB) direction, and performs a comparison operation in the LSB direction in the MSB to simultaneously perform the addition and comparison. Its purpose is to provide a parallel add comparator that performs two operations (addition and comparison) at the same time by processing in a mete-in-the-middle manner.
제1도는 서로 다른 비트의 가산기 구조도.1 is an adder structure diagram of different bits.
제2도는 순차적인 가산 및 비교선택 연산기 구조도.2 is a structural diagram of a sequential addition and comparison selection operator.
제3도는 본 발명의 일실시예에 따른 병렬 가산 비교기의 블록 구성도.3 is a block diagram of a parallel addition comparator according to an embodiment of the present invention.
제4도는 본 발명의 다른 일실시예에 따른 저전력형 병렬 가산 비교기의 구성 예시도.4 is a diagram illustrating a configuration of a low power parallel add comparator according to another embodiment of the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
31,32 : 전가산기 트리 33,34 : 비교기31,32: full adder tree 33,34: comparator
35,36 : 반가산기 트리 37 : 선택 로직35,36: half-adder tree 37: selection logic
상기 목적을 달성하기 위하여 본 발명은, 가산 및 비교 선택(ACS:Add Compare Select, 이하 ACS라 함)을 동시에 병렬 처리하기 위한 병렬 가산 비교기에 있어서, ACS 연산을 위해 입력되는 제1 및 제2 연산자에 대한 임의 비트수만큼의 하위 비트에 대한 가산 동작을 수행하기 위한 제1 가산 수단; ACS 연산을 위해 입력되는 제3 및 제4연산자에 대한 상기 하위 비트에 대한 가산 동작을 수행하기 위한 제2가산 수단; 상기 제1 및 제2 가산 수단의 가산 동작과 공시에, 상기 제1 및 제3연산자의 상기 하위 비트를 제외한 나머지 상위 비트에 대한 비교 동작을 수행하여 제1 비교 결과 신호를 출력하기 위한 제1 비교 수단; 상기 제1 가산 수단으로부터 출력되는 캐리 신호를 입력받아 상기 제1 연산자의 상기 나머지 상위 비트와 가산 동작을 수행하기 위한 제3 가산 수단; 상기 제2 가산수단으로부터 출력되는 캐리 신호를 입력받아 상기 제3 연산자의 상기 나머지 상위 비트와 가산 동작을 수행하기 위한 제4 가산 수단; 상기 제3 및 제4 가산 수단의 가산 동작과 동시에, 상기 제1 및 제2 가산 수단으로부터 각각 출력되는 합 신호를 입력받아 서로 비교 동작하여 제2 비교 결과 신호를 출력하기 위한 제2 비교 수단; 및 상기 제1 및 제2 비교 결과 신호에 응답하여 상기 제1 및 제2연산자에 대한 가산 결과와 상기 제3 및 제4 연산자에 대한 가산 결과 중 하나를 선택하여 최종 가산 결과로 출력하는 선택 수단을 포함하여 이루어지고, 상기 제1비교 수단은, 상기 제1 및 제3연산자의 나머지 상위 비트에 대한 비교 결과에 응답하여 상기 제1 및 제3 연산자의 나머지 상위 비트의 차가 2 이상일 때 상기 제2 비교 수단의 비교 동작을 디스에이블시키는 제어 신호를 출력하는 것을 특징으로 한다.In order to achieve the above object, the present invention provides a parallel add comparator for simultaneously processing add and compare selection (ACS), which is input for an ACS operation. First adding means for performing an adding operation on the lower bits by an arbitrary number of bits for the second bit; Second addition means for performing an addition operation on the lower bits for the third and fourth operators inputted for an ACS operation; A first comparison for outputting a first comparison result signal by performing a comparison operation on the remaining higher bits except for the lower bits of the first and third operators in addition and disclosure of the first and second addition means; Way; Third adding means for receiving a carry signal output from the first adding means and performing an addition operation with the remaining upper bits of the first operator; Fourth adding means for receiving a carry signal output from the second adding means and performing an addition operation with the remaining upper bits of the third operator; Second comparing means for receiving the sum signals output from the first and second adding means, respectively, and comparing them with each other to output a second comparison result signal simultaneously with the adding operation of the third and fourth adding means; And selecting means for selecting one of the addition result for the first and second operators and the addition result for the third and fourth operators in response to the first and second comparison result signals and outputting the final addition result. And the first comparing means comprises: comparing the second when the difference between the remaining upper bits of the first and third operators is two or more in response to a comparison result of the remaining upper bits of the first and third operators. And outputting a control signal for disabling the comparison operation of the means.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention. do.
일반적으로, ACS 연산은 비터비 디코더와 같이 동적 알고리즘을 사용하는 시스템에서 빈번히 사용된다. 일예로, 새로운 값(비터비 디코더의 경우 경로 메트릭값:path metric)을 계산하기 위해서 새로운 값(비터비 디코더의 경우 브랜치 메트릭값:branch metric)과의 가산을 통해 가산 결과를 비교하여 그 중 하나를 선택하기 위해 ACS연산이 많이 사용된다.In general, ACS operations are frequently used in systems that use dynamic algorithms, such as Viterbi decoders. For example, in order to calculate a new value (path metric for Viterbi decoder), the result of the addition is compared with the new value (branch metric for Viterbi decoder) and one of them is added. ACS operation is used a lot to select.
이와 일반적으로 제1도에 도시된 바와 같이, 각각의 가산기(10,12)에서 가산을 수행한 후 비교기(14)에서 그 가산 결과를 서로 비교하여 선택 로직(16)에서 비교 결과 중 하나를 선택하는 순차적인 방식으로 ACS 연산이 이루어진다.In general, as shown in FIG. 1, after the addition is performed in each of the adders 10 and 12, the comparison results are compared with each other in the comparator 14, and the selection logic 16 selects one of the comparison results. ACS operation is performed in a sequential manner.
여기서, 동적 알고리즘에서 사용되는 ACS 연산의 경우 제1도에 도시된 바와 같이 사용되는 두 수의 크기(7비트, 3비트)가 서로 다르다. 예를 들어, 비터비 디코더의 경우 경로 메트릭은 7비트 혹은 8비트로, 가산되는 브랜치 메트릭은 3비트 혹은 4비트로 구성된다.Here, in the case of the ACS operation used in the dynamic algorithm, two numbers of sizes (7 bits and 3 bits) used as shown in FIG. 1 are different from each other. For example, in the case of the Viterbi decoder, the path metric consists of 7 bits or 8 bits, and the added branch metric consists of 3 bits or 4 bits.
제2도는 서로 다른 비트의 두 수에 대한 가산 동작을 수행하는 가산기의 내부 블록도로서, 즉 LSB쪽에서부터 트리구조로 연결되는 전가산기(FA : Full Adder) 혹은 반가산기(HA : Half Adder)를 통해 S(Sum)와 CO(Carry Out)를 계산해서 MSB 방향으로 캐리를 전달하도록 구성된다. 그러면, MSB 방향의 전가산기 혹은 반가산기는 이를 전달받아 똑같은 연산을 수행함으로써 가산 연산이 수행되게 된다.2 is an internal block diagram of an adder that performs addition operations for two different numbers of bits, that is, through a full adder (FA) or a half adder (HA) connected from a LSB side to a tree structure. S (Sum) and CO (Carry Out) are calculated to carry carry in the MSB direction. Then, the full adder or the half adder in the MSB direction receives the same and performs the same operation to perform the add operation.
그리고, 제1도의 비교기(14)에서는 가산기(10,12)로부터 출력되는 가산 결과에 대해 MSB로부터 LSB 방향으로 값이 큰 지, 작은 지를 비교함으로써 비교 연산을 수행한다.In the comparator 14 of FIG. 1, a comparison operation is performed by comparing whether the value is large or small in the direction of the MSB to the LSB with respect to the addition result output from the adders 10 and 12. FIG.
즉, MSB를 비교하여 한 수가‘1’이고 다른 수가‘0’인 경우 두 수의 비교는 이루어진다. 만일 MSB에서 이미 비교가 되었다면 LSB에서의 비교는 의미가 없게 된다.That is, if one number is '1' and the other number is '0' by comparing MSBs, the two numbers are compared. If a comparison has already been made in the MSB, the comparison in the LSB is meaningless.
제3도는 본 발명의 일실시예에 따른 병렬 가산 비교기의 블록 구성도이다.3 is a block diagram of a parallel add comparator according to an embodiment of the present invention.
도면에 도시한 바와 같이, 본 발명의 병렬 가산 비교기는 ACS 연산을 위해 입력되는 두 수에 대한 하위 3비트의 가산 동작을 각각 수행하는 전가산기 트리(31,32), 상기 두 수의 상위 4비트를 서로 비교하여 선택 시그널 하이(select_signal_high)를 출력하는 비교기(33), 상기 전가산기 트리(31,32)로부터 출력되는 캐리 신호를 입력받아 상기 두 수에 대한 나머지 상위 4비트의 가산 동작을 각각 수행하는 반가산기 트리(35,36), 상기 두 수의 하위 3비트를 서로 비교하여 선택 시그널 로우(select_signal_low)를 출력하는 비교기(34) 및 상기 선택 시그널 하이(select_signal_high) 신호 및 시그널 로우(select_signal_low) 신호에 응답하여 최종적으로 가산 결과를 선택하는 선택 로직(37)을 포함하여, 가산하는 시간동안 가산과 동시에 비교연산을 병렬로 수행한다.As shown in the figure, the parallel add comparator of the present invention is a full adder tree (31, 32) for performing the addition operation of the lower three bits for two numbers input for ACS operation, respectively, the upper four bits of the two numbers. Are compared with each other and the comparator 33 for outputting the select signal high (select_signal_high) and the carry signals output from the full adder trees 31 and 32 are input to perform the addition operation of the remaining upper 4 bits for the two numbers, respectively. A half-adder tree (35, 36), a comparator (34) for outputting a select signal low (select_signal_low) by comparing the lower three bits of the two numbers, and the select signal high (select_signal_high) signal and the signal low (select_signal_low) signal. A selection logic 37 which finally selects the addition result in response is included, so that the comparison operation is performed in parallel with the addition during the addition time.
상기와 같이 구성되는 제3도의 병렬 가산 비교기의 동작을 아래에 설명한다.The operation of the parallel addition comparator of FIG. 3 configured as described above will be described below.
먼저, 가산 동작을 위한 두 수의 LSB 3비트는 전가산기 트리(FA tree)(31,32)에서 가산되고, 그와 동시에 비교기(33)에서 두 수의 MSB 4비트에 대한 비교 동작이 이루어진다. 상기 비교 동작의 결과에 응답하여 비교기(33)로부터 선택 시그널 하이(select_signal_high)가 출력된다. 상기 전가산기 트리(31,32)에서 각각 생성된 캐리 신호는 다시 반가산기 트리(half adder tree)(35,36)의 캐리 입력으로 전달되어 두 수의 MSB 4비트와 함께 나머지 가산을 수행한다. 그리고, 이와 동시에 비교기(34)에서 두 수의 LSB 3비트에 대한 비교 연산을 수행하고, 그 결과에 따라 선택 시그널 로우(select_signal_low)를 생성한다.First, two LSB 3-bits for the addition operation are added in the FA tree 31, 32, and at the same time, a comparison operation is performed for the two MSB 4-bits in the comparator 33. In response to the result of the comparison operation, a select signal high (select_signal_high) is output from the comparator 33. The carry signals generated in the full adder trees 31 and 32, respectively, are passed back to the carry inputs of the half adder tree 35 and 36 to perform the remaining addition with two numbers of MSB 4 bits. At the same time, the comparator 34 performs a comparison operation on two bits of LSB 3 bits, and generates a select signal low (select_signal_low) according to the result.
마지막으로, 상기 생성된 선택 시그널 하이(select_signal_high)와 선택 시그널 로우(select_signal_low)를 이용하여 선택로직(37)에서 가산 결과를 최종 선택함으로써 가산하는 시간동안 가산과 동시에 비교연산을 수행할 수 있다.Lastly, by performing the final selection of the addition result in the selection logic 37 by using the generated selection signal high (select_signal_high) and the selection signal low (select_signal_low), the comparison operation may be performed simultaneously with the addition during the addition time.
한편, 상기 제3도의 MSB 4비트에 대한 비교기(33)에서 두 수의 상위 4비트를 비교하여 그 차가 2이상이면 LSB 3비트에 대한 비교는 의미가 없게 된다. 따라서, 제4도와 같이 MSB 4비트에 대한 비교 결과에 따라 상기 비교기(33)에서 비교기(34)에서의 LSB 3비트에 대한 비교 동작을 제어하기 위한 비교 인에이블 시그널(enable_signal)을 출력하고, 상기 비교기(34)에서는 멀티플렉서(MUX)를 구비하여 비교 인에이블 시그널(enable_signal)에 따라 비교 동작을 수행함으로써, 필요없는 전력소모를 줄일 수 있다.On the other hand, the comparator 33 for the MSB 4 bits of FIG. 3 compares the two upper 4 bits, and if the difference is two or more, the comparison for the LSB 3 bits becomes meaningless. Accordingly, as shown in FIG. 4, the comparator 33 outputs a compare enable signal enable_signal for controlling the comparison operation for the LSB 3 bits in the comparator 34 according to the comparison result for the MSB 4 bits. The comparator 34 includes a multiplexer MUX to perform a comparison operation according to the comparison enable signal enable_signal, thereby reducing unnecessary power consumption.
그리고, 본 발명의 병렬 가산 비교기는 비터비 디코더와 같이 ACS연산을 필요로 하는 알고리즘에 적용되며 또한 동적 알고리즘을 사용하는 다른 시스템에 활용 가능하다.In addition, the parallel addition comparator of the present invention is applied to an algorithm requiring ACS operation, such as a Viterbi decoder, and can be utilized in other systems using dynamic algorithms.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주위하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical idea of the present invention has been described in detail according to the above preferred embodiment, it should be noted that the above embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.
상기와 같은 본 발명에서는 전술한 바와 같이, 가산 연산을 수행하는 시간동안 비교연산을 동시에 수행함으로써 고성능 시스템의 구성에 적합한 ACS설계를 가능하게 한다. 이는 가산 연산의 수행 시간을 2단계로 나누어 생각함으로써 하드웨어의 연산 효율을 높인 것이다.As described above, in the present invention as described above, by performing the comparison operation at the same time during the addition operation to enable the ACS design suitable for the configuration of the high-performance system. This increases the computational efficiency of hardware by dividing the execution time of the addition operation into two stages.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960071393A KR100242467B1 (en) | 1996-12-24 | 1996-12-24 | Parallel add comparator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960071393A KR100242467B1 (en) | 1996-12-24 | 1996-12-24 | Parallel add comparator |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980052405A KR19980052405A (en) | 1998-09-25 |
KR100242467B1 true KR100242467B1 (en) | 2000-02-01 |
Family
ID=19490675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960071393A KR100242467B1 (en) | 1996-12-24 | 1996-12-24 | Parallel add comparator |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100242467B1 (en) |
-
1996
- 1996-12-24 KR KR1019960071393A patent/KR100242467B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19980052405A (en) | 1998-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5987490A (en) | Mac processor with efficient Viterbi ACS operation and automatic traceback store | |
US5542074A (en) | Parallel processor system with highly flexible local control capability, including selective inversion of instruction signal and control of bit shift amount | |
US4578750A (en) | Code determination using half-adder based operand comparator | |
US5508950A (en) | Circuit and method for detecting if a sum of two multibit numbers equals a third multibit constant number prior to availability of the sum | |
JP3487903B2 (en) | Arithmetic device and arithmetic method | |
US5440504A (en) | Arithmetic apparatus for digital signal processor | |
US5978822A (en) | Circuit for rotating, left shifting, or right shifting bits | |
JPS61239327A (en) | Overflow detecting system | |
US5721809A (en) | Maximum value selector | |
US4831570A (en) | Method of and circuit for generating bit-order modified binary signals | |
US4648059A (en) | N-bit magnitude comparator | |
US5764550A (en) | Arithmetic logic unit with improved critical path performance | |
US20030033499A1 (en) | Method and system for circular addressing with efficient memory usage | |
KR100242467B1 (en) | Parallel add comparator | |
US5270962A (en) | Multiply and divide circuit | |
US6209012B1 (en) | System and method using mode bits to support multiple coding standards | |
US5719802A (en) | Adder circuit incorporating byte boundaries | |
US5635858A (en) | Zero-stopping incrementers | |
JP2928680B2 (en) | Compound condition processing method | |
US6044063A (en) | Unsigned integer comparator | |
Abbaszadeh et al. | VLSI implementation of a maximum-likelihood decoder for the Golay (24, 12) code | |
US20040249873A1 (en) | Ultra fast comparator and method therefor | |
US7302460B1 (en) | Arrangement of 3-input LUT's to implement 4:2 compressors for multiple operand arithmetic | |
JPH05108345A (en) | Branch instruction processor | |
JPH04227336A (en) | Decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20051021 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |