KR19980053016A - 파이프 라인 가산기 - Google Patents

파이프 라인 가산기 Download PDF

Info

Publication number
KR19980053016A
KR19980053016A KR1019960072052A KR19960072052A KR19980053016A KR 19980053016 A KR19980053016 A KR 19980053016A KR 1019960072052 A KR1019960072052 A KR 1019960072052A KR 19960072052 A KR19960072052 A KR 19960072052A KR 19980053016 A KR19980053016 A KR 19980053016A
Authority
KR
South Korea
Prior art keywords
adder
carry
sum
output
pipeline
Prior art date
Application number
KR1019960072052A
Other languages
English (en)
Other versions
KR100221315B1 (ko
Inventor
이수정
Original Assignee
배순훈
대우전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 배순훈, 대우전자 주식회사 filed Critical 배순훈
Priority to KR1019960072052A priority Critical patent/KR100221315B1/ko
Publication of KR19980053016A publication Critical patent/KR19980053016A/ko
Application granted granted Critical
Publication of KR100221315B1 publication Critical patent/KR100221315B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination

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

본 발명은 다수 피연산자 가산회로에 관한 것으로 더욱 자세하게는, 월리스 트리 마지막 스테이지에서 두개 출력을 최종 가산하는 병합 가산기를 파이프라인 구조로 제작하여 동작 사이클 주기가 감소된 파이프라인 가산기에 관한 것으로서, 제 1 클럭 기간에 제 1 비트 그룹(A[0:k-1],B[0:k-1])을 가산하여 제 1합(S[0:k-1])과 제 1 캐리(C[k])를 출력하는 제 1 가산부(60); 제 2 클럭 기간에 상기 제 1 캐리(C[k]) 및 제 2 비트 그룹(A[k:2k-1],B[k:2k-1])을 가산하여 제 2합(S[k:2k-1])과 제 2 캐리(C[2k])를 출력하는 제 2 가산부(61); 제 3 클럭 기간에 상기 제 2 캐리(C[2k]) 및 제 3 비트 그룹(A[2k:3k-1],B[2k:3k-1])을 가산하여 제 3 합(S[2k:3k-1])과 제 3 캐리(C[3k])를 출력하는 제 3 가산부(62); 및 제 4 클럭 기간에 상기 제 3 캐리 (C[3k])및 제 4 비트 그룹(A[3k:n-1],B[3k:n-1])을 가산하여 제 4 합(S[3k:n-1])과 제 4 캐리(C[n])를 출력하는 제 4 가산부(63)로 구성된 파이프라인 구조로서, 상위 스테이지의 지연 시간에 비해 상대적으로 큰 지연시간을 갖던 병합 가산기 자체의 내부회로를 파이프라인 구조화 하여, 모든 스테이지의 지연 시간이 거의 비슷해지므로써, 전체 파이프라인의 동작 주파수가 종전에 비해 증가하는 효과가 있다.

Description

파이프 라인 가산기
본 발명은 다수 피연산자 가산회로에 관한 것으로 더욱 자세하게는, 월리스 트리 마지막 스테이지에서 두개 출력을 최종 가산하는 병합 가산기를 파이프라인 구조로 제작하여 동작 사이클 주기가 감소된 파이프라인 가산기에 관한 것이다.
일반적으로, 고성능 컴퓨터의 연산 장치나 신호 처리 시스템 및 각종 특수 목적용 칩에서 필수적으로 사용되는 다수개의 피연산자를 더하는 가산회로(multioperand addition circuit)로는 월리스 트리(Wallace Tree)가 가장 널리 이용되고 있다.
여기서, '월리스 트리'는 C.S. Wallace가 1964년 IEEE지에 게재한 A Suggestion for a Fast Multiplier논문을 참조하여 설명하면, 다수비트 승산기에서 다수개의 부분곱행을 더하여 두 개의 출력선으로 감축시키는 가산 회로이다.
도 1a는 월리스 트리의 구조를 설명하기 위한 구조도로서, 두개의 9비트 피연산자를 비트끼리 곱셈연산하면, 9비트로 이루어진 9개의 부분곱들이 생성된다.
도 1a에서 보는 바와 같이 첫번째 단의 3개 가산기는 3입력 2출력 전가산기로, 가산기의 입력선은 9행 부분곱을 입력 받고, 다음 가산기로 합과 캐리를 출력하고, 마지막 단의 가산기는 2개 출력선(CARRY, SUM)을 출력한다.
도 1b는 수정형 월리스 트리를 설명하기 위한 구조도로서, 도 1a에서 월리스 트리의 기본 셀인 전가산기의 캐리 지연 대기 시간을 제거하여 성능을 개선한 트리 구조이다.
도 1b에서 보는 바와 같이, 전가산기의 캐리 출력(C)과 합 출력(S)의 지연 시간이 서로 다르므로 같은 지연시간을 갖는 출력을 모아서 처리한다. 이렇게 하므로써 수정형 월리스 트리는 기존의 월리스 트리보다 적은 게이트 지연시간을 갖는다. 그리고, 트리의 입력 비트수가 증가 할수록 게이터 지연시간이 더욱 감소한다.
이와 같이 월리스 트리는 반가산기나 전가산기 혹은 카운터를 이용하여 트리를 구성하여, 두 개이상의 피연산자를 최단시간에 연산할수 있다.
각종 응용 분야에 따라 처리하고자 하는 데이터가 많게 되면 상기에 보인 월리스 트리를 파이프라인화 하여 병렬처리를 하기도 한다.
한편, 파이프라인 처리는 데이터 처리의 고속화 방식의 하나로서, 시스템의 효율을 높이기 위하여 둘 이상의 프로세서가 서로 다른 부분을 병렬 처리하여 앞의 프로세서에 의하여 산출된 결과가 다음 프로세서의 입력으로 이용될 수 있도록 한다. 즉, 파이프라인 끝에서 연속적으로 입력한 데이터를 파이프라인 중의 각 스테이지에서 순차 처리를 하고, 다른 끝에서 연속 출력을 얻는 방법을 가르며, 데이터 처리를 가능한 범위에서 세분화하여 그들을 각 스테이지에 할당하므로써 물리적으로는 1개의 파이프라인상에서 스테이지 수만큼 병렬 처리가 실행되는 것이다.
도 2는 일반적인 파이프라인 프로세싱을 설명하기 위한 파이프라인 구조도로서, 각 스테이지는 조합 회로로 구성되고, 각 스테이지에서 연산한 중간 결과 데이터는 인터페이스 래치를 통해 다음 스테이지로 전송되는데, 이때 래치들은 동일한 클럭에 동기되어 동작하여야만 병목현상을 막을 수 있다.
따라서, 각 스테이지중 가장 긴 지연 시간을 갖는 스테이지에 의해 파이프라인 클럭 주기가 하기 수학식과 같이 결정된다.
[수학식 1]
상기 수학식에서는 각 스테이지의 지연 시간이며,은 각 인터페이스 래치의 지연 시간으로, 가장 긴 스테이지 지연 시간과 인터페이스 래치의 지연 시간을 합한 시간이 파이프라인의 클럭 주기로 결정되어 지고, 각 인터페이스 래치는 클럭 주기에 동기되는 것이다.
방대한 데이터를 가산해야하는 경우에 상기에 설명한 월리스 트리(캐리 지연이 없는 수정형 월리스 트리)를 파이프라인으로 제작하면, 고속 병렬 처리가 가능하여 다양한 분야에서 응용되고 있다.
그 일례로서, 본 발명자에 의해 제안된 가산기 구조가 있으며, 이것은 움직임 추정시 절대에러값을 구하는 과정에 필요한 가산과정에서 월리스 트리를 적용한 파이프라인을 통해 고속 가산을 수행하였다.
도 1에서 본 바와같이 월리스 트리는 2개의 출력선을 가지므로 최후의 합값을 구하기 위해서는 두 출력값을 일반 가산기로 구해야만 하며, 바로 이 점이 월리스 트리를 적용한 파이프라인에서 문제가 되는 부분이다.
여기서, 월리스 트리의 특성을 이해하는 도움이 되고저, 4개 데이터를 2개 데이터로 출력하는 월리스 트리의 동작을 도 3 및 도 4를 참조하여 설명하겠다.
도 3은 4개의 데이터를 가산하여 2개의 데이터로 출력하는 월리스 트리의 특성을 설명하기 위한 비트맵도이고, 도 4는 도 3의 월리스 트리를 전가산기로 구현한 가산기 구조이다.
도 3에서 보는 바와 같이, 월리스 트리에서는 4개의 데이터를 입력받아 동일한 위치의 비트끼리 묶어서 가산하여 합(SUM)과 캐리(CARRY)를 발생하고, 발생된 합(SUM)에 해당하는 비트들과 캐리(CARRY)에 해당하는 비트들을 하나의 데이터로 간주하여 2개의 데이터를 출력한다. 따라서, 캐리 프로퍼케이션이 발생되지 않도록 하고 있다.
즉, 4개의 데이터 A, B, C, D 는 8비트로 구성되어 있으며, 동일한 비트 위치끼리 가산을 수행하는데, A, B, C의 각 비트 3개씩 그룹을 지어 가산한다. 그 결과 각 그룹의 합(SUM)은 동일한 비트 위치, 캐리(CARRY)는 상위 1비트 위치에 해당하는 웨이트가 되어서, 나머지 D의 각 비트와 동일한 웨이트의 비트끼리 다시 3개씩 그룹을 지어 가산한다. 그 결과 각 그룹의 합(SUM)은 동일한 비트 위치, 캐리(CARRY)는 상위 1비트 위치에 해당하는 웨이트가 되어서, 2개의 데이터 X와 Y는 윌리스 트리의 출력쌍을 형성한다.
이때, 출력된 2개의 데이터 X와 Y의 최고 9비트까지 발생되고 있으나, 그 응용에 따라 가산된 2개의 데이터 값이 그다지 크지 않는 경우에는, 최상위 비트(캐리)는 고려하지 않아도 상관 없다.
도 4를 참조하면, 도 3에서 보인 4개의 입력 데이터중 3개 데이터 A, B, C의 동일한 웨이트를 갖는 비트가 8개의 제 1 가산부(41)를 통해 가산된다. 상기 제 1 전가산기(41)로부터 출력된 합과 캐리 및 나머지 입력 데이터에서 동일한 웨이트를 갖는 비트가 7개의 제 2 가산부(42)를 통해 가산되어 2개의 데이터 X,Y가 출력된다.
월리스 트리를 적용한 파이프라인 가산기 구조를 도 3에 도시하였으며, 이렇게 파이프라인으로 제작하려할 때 가장 중요한 요소는 이미 설명한 바와 같이 파이프라인 클럭 주기를 맞추어주는 것이다. 도 3에서 마지막 스테이지를 제외한 모든 스테이지는 월리스 트리로 이루어져 있으므로 거의 동일한 처리 시간을 갖는다.
그러나, 마지막 스테이지의 병합 가산기에서는 두 출력값을 더하는데 캐리 지연을 수반하기 때문에 가장 큰 지연 시간을 갖고, 이에 따라 전체 시스템의 동작 주파수는 병합 가산기의 지연 시간에의해 결정되어 진다.
월리스 트리를 적용한 파이프라인 가산기에서는 최종 스테이지에서 상위 스테이지의 월리스 트리로부터 출력된 2개의 데이터를 가산하여 최종값을 구해야한다.
이 때, 상위 스테이지 즉, 월리스 트리에서는 캐리 전파 시간이 발생되지 않는다. 그러나, 마지막 스테이지에서는 캐리 전파가 발생되기 때문에, 상위 스테이지의 지연시간에 비해 상당히 큰 지연 시간을 갖게 되어 전체 파이프라인 클럭 주파수가 마지막 스테이지의 지연시간으로 결정된다.
따라서, 상위 스테이지들에서는 마지막 스테이지 지연시간에서 현 스테이지 지연시간의 차에 해당하는 여분의 처리 시간이 남아 도는 문제점이 있었다.
이에 본 발명은 상기와 같은 종래의 문제점을 해소하기 위하여 안출된 것으로, 파이프라인 마지막 스테이지에서 올림수 지연을 갖는 병합 가산기의 지연 시간을 나머지 스테이지의 지연시간에 비해 적거나 동일하게 분할하여, 병합 가산기 자체가 그 만큼의 스테이지를 갖는 파이프라인 프로세싱을 하여 전체 동작 주파수가 증가되므로써 성능이 향상된 파이프라인 가산기를 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 파이프라인 가산기는, 클럭 주파수 f에 따라 월리스 트리로 구성된 파이프라인 프로세싱을 통해서 마지막 월리스 트리로부터 출력된 2개 이진 데이터를 최종 합산하여 1개 데이터를 출력하기 위한 병합 가산기에 있어서,
제 1 클럭 기간에 입력 데이터(n비트로 구성된 데이터)의 최하위 비트를 포함한 다수개의 비트로 이루어진 제 1 비트 그룹(A[0:k-1],B[0:k-1])을 가산하여 제 1합(S[0:k-1])과 제 1 올림수(C[k])를 출력하는 제 1 가산부; 제 2 클럭 기간에 상기 제 1 올림수(C[k]) 및 제 2 비트 그룹(A[k:2k-1],B[k:2k-1])을 가산하여 제 2합(S[k:2k-1])과 제 2 올림수(C[2k])를 출력하는 제 2 가산부 ; 제 3 클럭 기간에 상기 제 2 올림수(C[2k]) 및 제 3 비트 그룹(A[2k:3k-1],B[2k:3k-1])을 가산하여 제 3 합(S[2k:3k-1])과 제 3 올림수(C[3k])를 출력하는 제 3 가산부; 및 제 4 클럭 기간에 상기 제 3 올림수 (C[3k])및 제 4 비트 그룹(A[3k:4k-1],B[3k:4k-1])을 가산하여 제 4 합(S[3k:4k-1])과 제 4 올림수(C[4k])를 출력하는 제 4 가산부를 포함하여 구성되는 것을 특징으로 한다.
이와 같이 상위 스테이지의 지연 시간에 비해 상대적으로 큰 지연시간을 갖던 병합 가산기 자체의 내부회로를 파이프라인 구조화 하여, 모든 스테이지의 지연 시간이 거의 비슷해지므로써, 전체 파이프라인의 동작 주파수가 종전에 비해 증가함은 물론, 병렬 처리해야하는 로드가 많을 수록 더 좋은 성능을 향상을 기대할 수 있게 된다.
도 1은 일반적인 월리스 트리의 개념을 설명하기 위한 월리스 트리 구조도로서,
도 1a는 기본형 월리스 트리 구조도,
도 1b는 수정형 월리스 트리 구조도,
도 2는 일반적인 파이프라인 프로세싱을 설명하기위한 파이프라인 구조도,
도 3은 4개 데이터를 2개 데이터로 출력하는 월리스 트리 동작을 설명하기 위한 비트맵도,
도 4는 도 3의 월리스 트리를 전가산기로 구현한 4입력 2출력 월리스 가산기에 대한 블럭도,
도 5는 파이프라인 최종 스테이지의 병합 가산기로 사용될 수 있는 가산기들을 보인 블록도로서,
도 5a는 8비트 리플 가산기에 대한 블록도,
도 5b는 8비트 캐리 선택 가산기에 대한 블록도,
도 5c는 8비트 캐리 예견 가산기에 대한 블록도,
도 6은 본 발명에 따라 병합 가산기의 동작을 세분화하여 파이프라인 구조를 갖는 병합 가산기로 구성한 블록도이다.
* 도면의 주요부분에 대한 부호의 설명 *
60 : 제 1 가산부 61 : 제 2 가산부
62 : 제 3 가산부 63 : 제 4 가산부
L1∼L5 : 래치부
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
우선, 파이프라인의 최종스테이지에서 월리스 트리로부터 출력된 2개 데이터를 가산하는 일반 가산기를 도 5를 참조하여 살펴보고자 한다.
도 5는 파이프라인 최종 스테이지의 병합 가산기로 사용될 수 있는 가산기들을 보인 블록도로서, 도 5a는 8비트 리플 가산기에 대한 블록도, 도 5b는 8비트 캐리 선택 가산기에 대한 블록도, 도 5c는 8비트 캐리 예견 가산기에 대한 블록도이다.
도 5a를 참조하면, 8비트 리플 가산기는 8 개의 2진 병렬 전가기(FA0∼FA7)를 사용하여 입력 신호 X0∼X7와 Y0∼Y7의 모든 비트들을 동시에 가산한다. 최초 전가산 기(FA0)로부터의 출력 캐리(COUT = C1)는 바로 다음 상위 전가산기(FA2)의 입력 캐리(CIN = C1)가 되고, 각각의 캐리와 합은 상기 수학식 2에 의해서 구할 수 있다.
[수학식 2]
상기 리플 가산기는 발생된 캐리를 다음 상위 전가산기(다음 상위 비트)에 전파하는 데 걸리는 시간(캐리 전파 지연)이 매우 크다는 단점을 갖고 있다.
즉, 입력 신호 X7과 Y7는 입력과 동시에 가산과정을 수행할 준비가 되어있는데 반해, 캐리 C7은 캐리 C6이 전파될 때까지 설정되지 못하고 이러한 이유로 C6은 C5를 기다리고 C5는 C4를 기다리게 되므로, 상기 C0로부터 C1, C2,… , C6단계를 거쳐 C7이 얻어져야만 리플 캐리 가산 장치가 정상적이고 오류없는 합 S0∼7과 캐리 C8을 출력하게 된다.
도 5b를 참조하면, 상기 8 비트 캐리 선택 가산기 제 1 가산부(10)와 제 2 가산부(12), 제 3 가산부(14), 멀티플렉서(16: multiplexer) 및 최종 캐리 출력 선택부(18)로 구성된다.
우선, 상기 8 비트 캐리 선택 가산기가 8 비트의 입력 신호 X0∼X7과 Y0∼Y7그리고 최초 외부 입력 신호 C0를 입력받아 가산한다고 가정하자.
상기 제 1 가산부(10)는 하위 4비트 입력 신호 X0∼X3과 Y0∼Y3, 그리고 최초 외부 입력 신호 C0를 입력받아 가산한 후, 합 S0∼S3과 전파 캐리 C4를 출력한다.여기서, 상기 전파 캐리 C4는 상기 멀티플렉서(16)의 선택 신호(selection signal: SEL)로 입력된다.
상기 제 2 가산부(12)는 상기 전파 캐리 C4가 0일 경우의 합 S4∼S7과 전파 캐리 (C8)0를 출력한다. 즉, 상기 제 2 가산부(14)는 상위 4비트 입력 신호 X4∼X7과 Y4∼Y7및 전파 캐리 0을 입력받아 가산한 후, 합 S4∼S7과 전파 캐리 C8를 출력한다. 여기서, 상기 합 S4∼S7은 상기 멀티플렉서(16)의 입력 신호로 출력되고 상기 전파 캐리 (C8)0는 상기 최종 캐리 선택부(18)로 출력된다.
상기 제 3 가산부(14)는 상기 전파 캐리 C4가 1일 경우의 합 S4∼S7과 전파 캐리 (C8)1를 출력한다. 즉, 상기 제 3 가산부(14)는 상위 4비트 입력 신호 X4∼X7과 Y4∼Y7및 전파 캐리 1을 입력받아 가산한 후, 합 S4∼S7과 전파 캐리 C8를 출력한다. 여기서, 상기 합 S4∼S7은 상기 멀티플렉서(16)의 입력 신호로 출력되고 상기 전파 캐리 (C8)1는 상기 최종 캐리 선택부(18)로 출력된다.
상기 멀티플렉서(16)는 상기 선택 신호 C4에 따라 상기 제 2 가산부(12)로부터의 합 S4∼S7과 상기 제 3 가산부(14)로부터의 합 S4∼S7을 선택하여 출력시킨다. 상기 최종 캐리 출력 선택부(18)는 상기 전파 캐리 C4와(C8)0및 (C8)1를 입력받아 상기 전파 캐리 (C8)0와(C8)1를 선택하여 출력시킨다.
즉, 상기 최종 캐리 C8를 논리식으로 전개해보면 다음 수학식 3과 같다.
[수학식 3]
상기 캐리 선택 가산기는 캐리 선택을 위해 사용되는 여분의 가산부(redundant adder)와 멀티플렉서 및 최종 캐리 선택부로 인한 신호 지연을 갖고 있다는 단점이 있다.
도 5c를 참조하면, 8 비트 캐리 예견 가산기는 캐리 생성 신호(carry generate: Gi) 발생부(20)와, 캐리 전파 신호(carry propagate: Pi) 발생부(22), 캐리 발생부(24) 및 가산부(26)로 구성된다.
상기 캐리 생성 신호 발생부(20)는 논리곱 게이트로 구성되며, 상기 입력 신호 Xi와 Yi가 둘다 1 인 경우, 상기 캐리 입력 Ci에 상관 없이 캐리 출력 Ci+1을 1 로 만든다.
상기 캐리 전파 신호 발생부(22)는 배타논리합 게이트로 구성되며, 상기 입력 신호 Xi와 Yi중 하나만 1 인 경우, 캐리 입력 Ci에 상관 없이 캐리 출력Ci+1을 1 로 만든다.
상기 캐리 발생부(24)는 상기 캐리 생성 신호 Gi와 캐리 전파 신호 Pi및 최초 외부 캐리 C0를 입력받아 예견 캐리 Ci+1를 발생시켜 상기 가산부(26)로 출력시킨다.
상기 가산부(8)는 상기 캐리 전파 신호 Pi와 예견 캐리 Ci를 더하여 합 Si를 출력시킨다.
상기 캐리 전파 신호와 예견 캐리로 정의되는 합 Si를 논리식으로 전개해 보면 다음 수학식 4와 같다.
[수학식 4]
그리고, 상기 캐리 생성 신호 Gi와 상기 캐리 전파 신호 Pi를 논리식으로 전개해 보면 다음 수학식 5과 같다.
[수학식 5]
그리고, 상기 캐리 발생 신호와 캐리 전파 신호로 정의되는 예견 캐리 Ci+1를 논리식으로 전개해 보면 다음 수학식 6과 같다.
[수학식 6]
상기 예견 캐리 논리식에 따라, 예견 캐리 C1∼C4를 구해보면 다음 수학식 7∼10과 같다.
[수학식 7]
[수학식 8]
[수학식 9]
[수학식 10]
상기 수학식에서 살펴본 바와 같이, 예견 캐리 출력 Ci+1는 캐리 입력 Ci에 상관없이 입력 신호 Xi와 Yi그리고 최초 외부 캐리 C0에 의해 미리 발생시킬 수 있으므로, 캐리 예견 가산기는 캐리 전파 지연을 감소시켜 가산 속도를 향상시킨다. 그러나, 예견 캐리 C1∼C4는 2 level의 NAND 게이트로 표현 되었지만 예견 캐리의 가중치(weight : C0= 20, C1= 21, C2= 22, … , C2n= 2n)가 계속 증가할 경우, 예견 캐리는 더 이상 2 level의 NAND 게이트로 표현될 수 없다.
즉, 캐리 전파 지연을 가장 효과적으로 제거되긴 하지만, 예견 캐리의 가중치가 증가함에 따라 상기 예견 캐리 발생 로직의 복잡도도 증가하여 구성 하드웨어가 증가되므로, 최종 결과를 얻기 까지 소요되는 임계 경로가 길어진다.
한편, 월리스 트리의 임계 경로는 도 4에서 보는 것과 같이 제 1 전가산기와 제 2 전가산기를 통과하는 경로이며, 이상에서 살펴본 종래의 일반 가산기의 임계경로는 도 5에서 보는 바와 같이, 캐리 발생부나 캐리 전파부가 추가되거나, 캐리 예견부가 추가되므로, 월리스 트리의 임계 경로에 비해 상당히 큰 임계 경로를 갖게 되고, 그 만큼 긴 지연 시간을 갖게 된다.
따라서, 본 발명은 가장 긴 지연 시간을 갖는 최종 스테이지를 세분화 하여 각 스테이지의 지연 시간의 균형을 맞추고, 동작 주파수를 빠르게 하는 것이다.
도 6은 본 발명에 따라 병합 가산기의 동작을 세분화하여 파이프라인 구조를 갖는 가산기를 구성한 블록도이다.
도 6에서 보는 바와같이, 파이프라인 가산기의 입력은 8비트로 구성된 2개의 데이터 X[0:7],Y[0:7]이며, 입력 데이터를 2비트씩 나누어서 데이터 비트 A[0:1],B[0:1]는 제 1 비트 그룹, 데이터 비트 A[2:3],B[2:3]는 제 2 비트 그룹, 데이터 비트 A[4:5],B[4:5] 는 제 3 비트 그룹 , 데이터 비트 A[6:7],B[6:7]는 제 4 비트 그룹으로 가정한다.
파이프라인 가산기는 제 1 내지 제 4 가산기(60∼63)와 제 1 내지 제 5 래치부(L1∼L5)로 구성되어 있다.
상기 제 1 래치부(L1)는 입력되는 두개의 데이터의 모든 비트 그룹(A[0:7], B[0:7])을 래치하고, 상기 제 1 가산기(60)는 입력 데이터 제 1 비트 그룹(A[0:1],B[0:1])을 가산하여 제 1합(S[0:1])과 제 1 캐리(C[2])를 출력한다.
상기 제 2 래치부(L2)는 상기 제 1 가산부(60)로부터 출력된 제 1합(S[0:1])과 제 1 캐리(C[2]) 및 제 2 내지 제 4 비트 그룹(A[2:7],B[2:7])을 래치한다.
상기 제 2 가산부(71)는 상기 제 1 캐리(C[2]) 및 제 2 비트 그룹(A[2:3],B[2:3])을 가산하여 제 2합(S[2:3])과 제 2 캐리(C[4])를 출력한다.
상기 제 3 래치부(L3)는 상기 제 1 가산부(60)로부터 출력된 제 1 합(S[0:1])과, 상기 제 2 가산부(71)로부터 출력된 제 2 합(S[2:3]), 제 2 캐리(C[4]) 및 제 3 내지 제 4 비트 그룹(A[4:7],B[4:7])을 래치한다.
상기 제 3 가산부(62)는 상기 제 2 캐리(C[4]) 및 제 3 비트 그룹(A[4:5],B[4:5])을 가산하여 제 3 합(S[4:5])과 제 3 캐리(C[5])를 출력한다.
상기 제 4 래치부(L4)는 상기 제 1 가산부(60)로부터 출력된 제 1 합(S[0:1])과 상기 제 2 가산부(61)로부터 출력된 제 2합(S[2:3]) 상기 제 3 가산부(62)로 부터 출력된 제 3 합(S[4:5]), 제 3 캐리(C[6]) 및 제 4 비트 그룹(A[6:7],B[6:7])을 래치한다.
상기 제 4 가산부(63)는 상기 제 3 캐리 (C[6])및 제 4 비트 그룹(A[6:7],B[6:7])을 가산하여 제 4 합(S[6:7])과 제 4 캐리(C[8])를 출력한다.
상기 제 5 래치(L5)는 상기 제 1 가산부(60)로부터 출력된 제 1 합(S[0:1])과 상기 제 2 가산부(61)로부터 출력된 제 2 합(S[2:3]) ,상기 제 3 가산부(62)로부터 출력된 제 3 합(S[4:5]), 상기 제 4 가산부(63)로부터 출력된 제 4 합(S[6:7]) 을 래치한다.
이어서, 본 실시예의 작용 및 효과를 자세히 설명하기로 한다.
본 발명의 파이프라인 가산기는 이진 입력 데이터 A[0:7], B[0:7]를 가산하는 데 있어서, 제 1 클럭 동안에, 제 1 가산기(60)를 통해 제 1 합 S[0:1]과 제 1 캐리C[2]를 계산하고, 제 2 클럭 동안에, 제 2 가산기(61)를 통해 제 2 합S[2:3]과 제 2 캐리C[4]를 계산하고, 제 3 클럭 동안에, 제 3 가산기(62)를 통해 제 3 합S[4:5]과 제 3 캐리C[6]를 계산하고, 제 4 클럭 동안에 제 4 가산기(63)를 통해 제 4합S[6:7]과 제 4캐리C[8]를 계산한다. 즉, 제 5 클럭 동안 두 입력 데이터의 최종 합값 S[0:7]이 계산되어 진다.
본 발명을 요약하면, 다수개의 데이터를 병렬처리하기 위해 월리스 트리를 적용하여 파이프라인 구조로 제작할 경우, 최종 스테이지에서는 2개의 출력 데이터를 합산하여 1개의 결과 값을 구해야만 한다. 이때 최종단에서는 필연적으로 캐리 프로퍼케이션이 발생되는 병합 가산기를 사용하기 때문에, 최종 스테이지가 상대적으로 가장 긴 지연 시간을 갖게 되며, 이 긴 지연 시간에 의해 전체 파이프라인 클럭 주파수가 결정되어졌다.
따라서, 이 병합 가산기의 긴 지연 시간을 세분화하여 즉, 병합 가산기 내부회로 자체를 몇 개의 스테이지로 구분하여 파이프라인 처리하므로써, 전체 파이프라인 클럭 주파수는 상대적으로 빠른 주파수를 갖고 처리 속도가 향상되는 효과가 있는 것이다.
물론, 스테이지 수가 증가됨에 따라 최초 입력 데이터에 대한 출력값이 나오기 까지 걸리는 초기 지연 시간은 증가되지만, 빠른 클럭 주파수로 인해 처리 속도가 향상되고, 또한 데이터량이 상당히 많을 경우에는 보다 높은 효율을 기대할 수 있다.
이와 같이 상위 스테이지의 지연 시간에 비해 상대적으로 큰 지연시간을 갖던 병합 가산기 자체의 내부회로를 파이프라인 구조화 하여, 모든 스테이지의 지연 시간이 거의 비슷해지므로써, 전체 파이프라인의 동작 주파수가 종전에 비해 증가함은 물론, 병렬 처리해야하는 로드가 많을 수록 더 좋은 성능을 향상을 기대할 수 있게 된다.

Claims (3)

  1. 클럭 주파수 f에 따라 월리스 트리로 구성된 파이프라인 프로세싱을 통해서 마지막 월리스 트리로부터 출력된 2개 이진 데이터를 최종 합산하여 1개 데이터를 출력하기 위한 병합 가산기에 있어서,
    제 1 클럭 기간에 입력 데이터(n비트로 구성된 데이터)의 최하위 비트를 포함한 다수개의 비트로 이루어진 제 1 비트 그룹(A[0:k-1],B[0:k-1])을 가산하여 제 1합(S[0:k-1])과 제 1 캐리(C[k])를 출력하는 제 1 가산부(60);
    제 2 클럭 기간에 상기 제 1 캐리(C[k]) 및 제 2 비트 그룹(A[k:2k-1],B[k:2k-1])을 가산하여 제 2합(S[k:2k-1])과 제 2 캐리(C[2k])를 출력하는 제 2 가산부(61);
    제 3 클럭 기간에 상기 제 2 캐리(C[2k]) 및 제 3 비트 그룹(A[2k:3k-1],B[2k:3k-1])을 가산하여 제 3 합(S[2k:3k-1])과 제 3 캐리(C[3k])를 출력하는 제 3 가산부(62); 및
    제 4 클럭 기간에 상기 제 3 캐리 (C[3k])및 제 4 비트 그룹(A[3k:n-1],B[3k:n-1])을 가산하여 제 4 합(S[3k:n-1])과 제 4 캐리(C[n])를 출력하는 제 4 가산부(63)를 포함하여 구성되는 것을 특징으로 하는 파이프라인 가산기.
  2. 제 1 항에 있어서, 입력되는 두개의 데이터의 모든 비트 그룹(A[0:n], B[0:n])을 래치하는 제 1 래치부(L1)와,
    상기 제 1 가산부(60)로부터 출력된 제 1합(S[0:k-1])과 제 1 캐리(C[k]) 및 제 2 내지 제 4 비트 그룹(A[k:n],B[k:n])을 래치하는 제 2 래치부(L2);
    상기 제 1 가산부(60)로부터 출력된 제 1 합(S[0:k-1])과, 상기 제 2 가산부(61)로부터 출력된 제 2 합(S[k:2k-1]), 제 2 캐리(C[2k]) 및 제 3 내지 제 4 비트 그룹(A[2k:3k-1],B[2k:3k-1])을 래치하는 제 3 래치부(L3);
    상기 제 1 가산부(60)로부터 출력된 제 1 합(S[0:k-1])과 상기 제 2 가산부(61)로부터 출력된 제 2합(S[k:2k-1]) 상기 제 3 가산부(62)로 부터 출력된 제 3 합(S[2k:3k-1]), 제 3 캐리(C[3k]) 및 제 4 비트 그룹(A[3k:n-1],B[3k:n-1])을 래치하는 제 4 래치부(L4);
    상기 제 1 가산부(60)로부터 출력된 제 1 합(S[0:k-1])과 상기 제 2 가산부(61)로부터 출력된 제 2 합(S[k:2k-1]) ,상기 제 3 가산부(62)로부터 출력된 제 3 합(S[2k:3k-1]), 상기 제 4 가산부(63)로부터 출력된 제 4 합(S[3k:n]) 을 래치하는 제 5 래치부(L5)가 더 추가되는 것을 특징으로 하는 파이프라인 가산기.
  3. 제 1 항에 있어서, 상기 제 1 내지 제 4 가산부(60∼63)는 적어도 1비트 이상 다수개의 비트를 가산하는 전가산기들로 구성되는 것을 특징으로 하는 파이프라인 가산기.
KR1019960072052A 1996-12-26 1996-12-26 파이프 라인 가산기 KR100221315B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960072052A KR100221315B1 (ko) 1996-12-26 1996-12-26 파이프 라인 가산기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960072052A KR100221315B1 (ko) 1996-12-26 1996-12-26 파이프 라인 가산기

Publications (2)

Publication Number Publication Date
KR19980053016A true KR19980053016A (ko) 1998-09-25
KR100221315B1 KR100221315B1 (ko) 1999-09-15

Family

ID=19490927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960072052A KR100221315B1 (ko) 1996-12-26 1996-12-26 파이프 라인 가산기

Country Status (1)

Country Link
KR (1) KR100221315B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100412475B1 (ko) * 2000-08-01 2003-12-31 학교법인 인하학원 데이타 정렬회로 및 이를 이용한 자기타이밍 웨이브파이프라인 가산기

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100412475B1 (ko) * 2000-08-01 2003-12-31 학교법인 인하학원 데이타 정렬회로 및 이를 이용한 자기타이밍 웨이브파이프라인 가산기

Also Published As

Publication number Publication date
KR100221315B1 (ko) 1999-09-15

Similar Documents

Publication Publication Date Title
Wang et al. Adder based residue to binary number converters for (2/sup n/-1, 2/sup n/, 2/sup n/+ 1)
JP5273866B2 (ja) 乗算器/アキュムレータ・ユニット
US6205458B1 (en) Adder and multiplier circuits employing logic gates having discrete, weighted inputs and methods of performing combinatorial operations therewith
US4525797A (en) N-bit carry select adder circuit having only one full adder per bit
US9146707B2 (en) Generating a fast 3x multiplicand term for radix-8 booth multiplication
JPH0215088B2 (ko)
US4864529A (en) Fast multiplier architecture
Olivieri Design of synchronous and asynchronous variable-latency pipelined multipliers
JP2007234004A (ja) ブース乗算の装置および方法
Soniya A review of different type of multipliers and multiplier-accumulator unit
Akila et al. Implementation of high speed Vedic multiplier using modified adder
Seidel et al. Binary multiplication radix-32 and radix-256
Yagain et al. Design of high-speed adders for efficient digital design blocks
JPH05197741A (ja) インターリーブド乗算器累算器
US7024445B2 (en) Method and apparatus for use in booth-encoded multiplication
Unwala et al. Superpipelined adder designs
Timarchi et al. New Design of RNS Subtractor for modulo 2 n+ 1
Christilda et al. Area and delay optimized two step binary adder using carry substitution algorithm for FIR filter
KR19980053016A (ko) 파이프 라인 가산기
Pathan et al. An optimised 3× 3 shift and add multiplier on FPGA
Pawar et al. Review on multiply-accumulate unit
Fried Algorithms for power consumption reduction and speed enhancement in high-performance parallel multipliers
Awasthi et al. Hybrid signed digit arithmetic in efficient computing: A comparative approach to performance assay
US20060242219A1 (en) Asynchronous multiplier
KR950010451B1 (ko) 그룹 트리구조 알고리즘(GTSM ; Group Tree Structure Method)을 적용한 고속 승산기

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120604

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130603

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee