KR0141879B1 - 파이프라인을 이용한 수정형 부스승산기 - Google Patents
파이프라인을 이용한 수정형 부스승산기Info
- Publication number
- KR0141879B1 KR0141879B1 KR1019940015353A KR19940015353A KR0141879B1 KR 0141879 B1 KR0141879 B1 KR 0141879B1 KR 1019940015353 A KR1019940015353 A KR 1019940015353A KR 19940015353 A KR19940015353 A KR 19940015353A KR 0141879 B1 KR0141879 B1 KR 0141879B1
- Authority
- KR
- South Korea
- Prior art keywords
- adder
- partial product
- bits
- addition
- product row
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
본 파이프라인을 이용한 수정형 부스승산기는 최종 가산시 가산가능 비트수를 줄여줌으로써 승산속도를 좀더 향상시키기 위한 것이다. 이를 위하여 본 수정형 부스승산기는 부분곱 행중 m번째단 부분곱 행과 m-1번째단 부분곱 행간의 가산결과에 영향을 미치지 않는 소정의 하위비트의 데이터들을 가산하기 위한 제 1 가산기; m번째단 부분곱 행과 m-1번째단 부분곱 행간의 가산결과와 제 1 가산기의 가산결과 발생되는 캐리비트를 이용하여 가산하여 상기 최종 승산결과값의 상위비트에 해당되는 값으로 출력하기 위한 제 2 가산기; 제 1 가산기에서 출력되는 합의 값은 최종 승산결과값중 하위비트에 해당되는 값으로 직접 전송하고, m번째단 부분곱 행과 m-1번째단 부분곱 행간의 가산결과 및 제 1 가산기의 캐리비트를 제 2 가산기로 전송하는 파이프라인을 포함하도록 구성된다.
Description
제1도는 종래의 파이프라인을 이용한 수정형 부스승산기의 블럭도.
제2도는 본 발명에 따른 파이프라인을 이용한 수정형 부스승산기의 블럭도.
* 도면의 주요부분에 대한 부호의 설명
10:부분곱 행 생성부11, 12, 13, 15, 21, 23: 제1∼ 6가산기
14, 22:파이프라인
본 발명은 파이프라인(Pipe line)을 이용한 수정형 부스승산기(Modified Booth's Multiplier)에 관한 것으로, 특히 생성된 부분곱 행(Partial Product lines)에 대한 최종 가산처리시, 가산처리비트수를 줄여 주어 전체적인 승산속도를 향상시키기 위한 파이프라인을 이용한 수정형 부스승산기에 관한 것이다.
수정형 부스승산기는 기존의 부스승산기(Booth multiplier)의 처리속도를 좀더 개선한 것으로서, 승수의 처리비트 단위를 조정하여 지존의 부스승산기에 비해 부분곱 행의 수를 반(1/2)으로 줄여 승산속도를 보다 개선한 알고리즘이다. 이러한 수정형 부스승산기의 승산속도를 좀더 향상시키기 위해, 생성된 각각의 부분곱 행중 인접한 부분곱 행간의 가산을 수행하는 과정과 인접한 부분곱 행간의 가산 결과를 이용하여 최종 가산을 수행하는 과정사이에 파이프라인(Pipeline)방식을 적용하여, 파이프라인 전단에서 수행되는 부분곱 행을 생성하는 과정 및 인접한 부분곱 행간의 가산과정을 파이프라인 후단에서 수행되는 최종 가산 수행과정과 병렬로 처리되도록 하는 것이 제안된 바 있다.
제 1 도는 상술한 바와 같이 종전의 수정형 부스승산기에 파이프라인방식을 도입한 수정형 부스승산기로서, n비트의 승수(X) 및 피승수(Y)가 인가되면, 우선 부분곱 행 생성부(10)를 통해 부분곱 행을 생성한다. 여기서는 3개의 부분곱 행(P0, P1, P2)을 생성하는 경우를 예로 들었으므로, 부분곱 행 생성부(10)에서는 인가된 승수를 3부분으로 분류하고, 분류된 승수와 피승수의 승산에 의해 (n+1)비트로 표현되는 3개의 부분곱 행을 생성한다. 생성된 (P0)는 1번째단 부분곱 행의 값이고, (P1)은 2번째단 부분곱 행의 값이고, (P2)는 3번째단 부분곱 행의 값이다.
생성된 3개의 부분곱 행(P0, P1, P2)은 각각의 대응되는 가산기(11, 12, 13)로 전달된다. 즉, 1번째단 부분곱 행(P0)은 제 1 가산기 (11)로 인가되고, 2번째단 부분곱 행(P1)은 제 2 가산기(12)로 인가되고, 3번째단 부분곱 행(P2)은 제 3 가산기(13)로 인가된다.
제 1 가산기(11)는 다른 입력단으로 인가되는 2비트의 사인비트(Sign Bit)를 부분곱 행 생성부(10)로부터 인가되는 (P0)의 부분곱 행에 부가한 뒤 최하위 2비트의 합(SUM, 또는 S)과 캐리(CARRY, 또는 C)값은 파이프라인(14)으로 바로 전송하고, (n-1)비트의 부분곱 행의 데이터와 2비트의 사인비트가 부가된 (n+1)비트의 합(S)과 캐리(C)비트를 다음단의 제 2 가산기(12)로 전송한다.
제 2 가산기(12)는 부분곱 행 생성부(10)로 부터 인가되는 (n+1)비트의 (P1)부분곱 행과 제 1 가산기(11)로부터 인가되는 (n+1)비트의 합(S)값을 가산한 뒤, 제 1 가산기(12)에서와 같이 최하위 2비트의 합(S)과 캐리(C)비트는 파이프라인(14)으로 직접 전송하고, 나머지비트(n-1비트)에 2비트의 사인비트를 부가하여 얻어진 (n+1)비트의 합(S)과 캐리(C)를 다음단의 제 3 가산기(13)로 전송한다. 제 3 가산기(13)는 제 2 가산기(12)로부터 인가된 (n+1)비트의 합(S)과 부분곱 행 생성부(10)로 부터 인가되는 (P2)의 부분곱 행 및 1비트의 사인비트(Sign Bit)를 이용하여 (n+2)비트의 합(S)값 및 캐리(C)를 파이프라인(14)으로 전송한다.
파이프라인(14)은 제 1 가산기(11)로부터 인가된 (P0)부분곱 행의 최하위 2비트의 합(S) 및 캐리(C)와 제 2 가산기(12)로부터 인가된 (P1)부분곱 행의 최하위 2비트의 합(S) 및 캐리(C)와 제 3 가산기(13)로부터 인가된 (n+2)비트의 합(S) 및 캐리(C)를 제 4 가산기(15)로 동시에 인가한다. 이를 위해 파이프라인(14)에서는 제 1 가산기(11)와 제 2 가산기(12)로부터 전송된 최하위 2비트에 대한 데이터들이 제 3 가산기(13)의 결과값이 제공될 때까지 파이프라인(14)상에 대기상태로 머물게 된다. 제 4 가산기(15)는 파이프라인(14)으로 부터 인가된 (2n)비트의 값을 가산하여 (2n)비트의 합(S)값을 출력한다. 이 때 출력되는 합(S, SUM)값이 최종 승산결과값이 된다.
이와 같이 종전의 수정형 부스승산기에 파이프라인방식을 적용하여 제 4 가산기(15)에서 가산이 수행되는 동안 파이프라인(14) 전단에서 부분곱 행 생성 및 인접한 부분곱 행간의 가산과정이 수행되도록 하여 제 4 가산기(15)에서의 가산과정과 상술한 부분곱 행 생성 및 인접한 부분곱 행간의 가산과정이 병렬로 처리됨으로써, 전체적인 승산처리속도를 종전의 수정형 부스승산기에 비해 향상되도록 하였다. 그러나 제 4 가산기(15)의 최종 가산에서 (2n)비트를 더해주므로 인하여 승산속도의 향상이 어느 정도 제한되는 문제점이 있었다.
따라서 본 발명의 목적은 파이프라인을 사용하는 수정형 부스승산기에 있어서, 최종 가산시 가산가능 비트수를 줄여줌으로써 승산속도를 좀더 향상시키기 위한 수정형 부스승산기를 제공함에 있다.
상기 목적을 달성하기 위하여 본 발명의 장치는 인가되는 n비트의 승수와 n비트의 피승수를 승산하여 m개의 부분곱 행을 생성하고, 생성된 부분곱 행중 현재의 부분곱 행과 전단의 부분곱 행을 가산하고, 가산에 의해 발생된 모든 가산결과값을 재차 가산하여 최종 승산결과값으로 발생하는 수정형 부스승산기에 있어서: 부분곱 행중 m번째단 부분곱 행과 m-1번째단 부분곱 행간의 가산결과에 영향을 미치지 않는 소정의 하위비트의 데이터들을 가산하기 위한 제 1 가산기: m번째단 부분곱 행과 m-1번째단 부분곱 행간의 가산결과와 제 1 가산기의 가산결과 발생되는 캐리비트를 이용하여 가산하여 상기 최종 승산결과값의 상위비트에 해당되는 값으로 출력하기 위한 제 2 가산기: 제 1 가산기에서 출력되는 합의 값은 최종 승산결과값중 하위비트에 해당되는 값으로 직접 전송하고, m번째단 부분곱 행과 m-1번째단 부분곱 행간의 가산결과 및 제 1 가산기의 캐리비트를 제 2 가산기로 전송하는 파이프라인을 포함함을 특징으로 한다.
이어서 첨부된 제 2도를 참조하여 본 발명의 실시예에 대하여 상세하게 설명하기로 한다.
제 2 도는 본 발명에 따른 수정형 부스승산기로서, 파이프라인을 이용하여 n비트의 승수 및 피승수가 인가되면, 3개의 부분곱 행을 생성하고 인접한 부분곱 행간의 가산하는 과정을 하나의 처리과정으로 하고, 인접한 부분곱 행간의 가산처리결과를 최종 가산처리하는 과정을 다른 하나의 처리과정으로 하여 상술한 2처리과정을 병렬처리하도록 한 것으로, 특히 최종단의 부분곱 행과 최종단의 바로 전단의 부분곱 행간의 가산에 영향을 미치지 않는 소정의 하위비트를 파이프라인 전단에서 처리한 뒤, 최종 가산과정을 거치지 않고 출력하여, 파이프라인 후단에서 이루어지는 최종 가산처리시, 가산 가능한 비트를 줄여 주어 승산속도를 향상시키기 위한 것이다.
제 2 도에 도시된 요소들중 부분곱 행 생성부(10), 제 1 가산기(11), 제 2 가산기(12), 제 3 가산기(13)는 제1도에 도시된 것과 동일하므로 개략적으로 설명한다.
n비트의 승수 및 피승수가 인가되면, 부분곱 행 생성부(10)로 전송된다. 부분곱 행 생성부(10)는 인가되는 승수의 비트를 3부분으로 나눈 뒤 피승수와 승산하여 제 1도에서와 같이 (n+1)비트의 3개의 부분곱 행(P0, P1, P2)을 생성한다. 생성된 부분곱 행(P0, P1, P2)중 1번째 단 부분곱 행(P0)은 제 1 가산기(11)로 인가된다.
제 1 가산기(11)는 제 1 도에서와 같이 부분곱 행 생성기(10)로부터 인가된 1번째단의 부분곱 행(P0)에 2비트의 사인비트를 부가하여 출력한다. 출력된 비트중 최하위 2비트의 합(S) 및 캐리(C)는 제 5 가산기(12)로 인가되고, 최하위 2비트를 제외한 나머지 비트는 제 2 가산기(12)로 전송된다. 여기서 최하위 2비트는 2번째단의 부분곱 행에 영향을 미치지 않는 데이터이다.
제 2 가산기(12)는 부분곱 행 생성부(10)로 부터 출력된 2번째단의 부분곱 행(P1)과 제 1 가산기(11)로부터 전송된 (n+1)비트의 데이터를 가산한 뒤 2비트의 사인비트를 부가하여 출력한다. 제 2 가산기(12)로부터 출력된 비트중 최하위 2비트의 합(S) 및 캐리(C)는 제 5 가산기(21)로 전송되고, 최하위 2비트를 제외한 나머지 비트는 제1도에서와 같이 제 3 가산기(13)로 전송된다. 여기서 최하위 2비트는 3번째 단 부분곱 행에 영향을 미치지 않는 데이터이다.
제 3 가산기(13)는 부분곱 행 생성부(10)로 부터 출력된 3번째단 부분곱 행(P2)과 제 2 가산기(12)로부터 전송된 합(S) 및 캐리(C)를 가산한 뒤, 제1도에서와 같이 1비트의 사인비트를 부가하여 (n+2)비트의 데이터를 파이프라인(22)으로 전송한다.
제 5 가산기(21)는 제 1 가산기(11)로 부터 전송된 2비트의 합(S)및 캐리(C)와 제 2 가산기(12)로부터 전송된 2비트의 합(S) 및 캐리(C)를 가산한 4비트의 합(S)과 캐리(C)를 파이프라인(22)으로 전송한다.
파이프라인(22)은 제 5 가산기(21)로부터 전송된 데이터를 하위 4비트의 합값으로 바로 출력하고, 제 5 가산기(21)에서 출력되는 캐리(C)와 제 3 가산기(13)로부터 전송된 데이터는 제6가산기(23)로 전송한다. 제 6 가산기(23)는 파이프라인을 통해 전송된 제 5 가산기(21)의 캐리비트(C)와 제 3 가산기(13)의 캐리(C) 및 합(S)값을 이용하여 가산처리를 한다. 이 때 가산되는 비트는 (2n-4)비트가 된다. 따라서 제1도의 인접한 부분곱 행간의 모든 가산결과(즉, 현재 단의 부분곱 행과 전단의 부분곱 행간을 가산한 모든 결과)에 대하여 최종적으로 가산하는 제 4 가산기(15)에 비해 제 6 가산기(23)는 4비트가 적은 비트를 가산하게 된다.
상술한 바와 같이 본 발명은 파이프라인을 사용하는 수정형 부스승산기에 있어서, 전단의 부분곱 행들간의 가산처리결과중 최종단의 부분곱 행과 최종단의 바로 전단의 부분곱 행간의 가산에 영향을 미치지 않는 소정의 하위비트들의 가산을 파이프라인 전단에서 처리하여 전송하므로써, 파이프라인 후단에서 이루어지는 최종 가산시 가산가능비트수를 줄여 주어 가산을 간소화할 수 있는 효과가 있다.
Claims (1)
1. 인가되는 n비트의 승수와 n비트의 피승수를 승산하여 m개의 부분곱 행을 생성하고, 생성된 부분곱 행중 현재의 부분곱 행과 전단의 부분곱 행을 가산하고, 상기 가산에 의해 발생된 모든 가산결과값을 재차 가산하여 최종 승산결과값으로 발생하는 수정형 부스승산기에 있어서; 상기 부분곱 행중 m번째단 부분곱 행과 m-1번째단 부분곱 행간의 가산결과에 영향을 미치지 않는 소정의 하위비트의 데이터들을 가산하기 위한 제 1 가산기; 상기 m번째단 부분곱 행과 m-1번째단 부분곱 행간의 가산결과와 상기 제 1 가산기의 가산결과 발생되는 캐리비트를 이용하여 가산하여 상기 최종 승산결과값의 상위비트에 행당되는 값으로 출력하기 위한 제 2 가산기;
상기 제 1 가산기에서 출력되는 합의 값은 상기 최종 승산 결과값중 하위비트에 해당되는 값으로 직접 전송하고, 상기 m번째단 부분곱 행과 m-1번째단 부분곱 행간의 가산결과 및 상기 제 1 가산기의 상기 캐리비트를 상기 제 2 가산기로 전송하는 파이프라인을 포함함을 특징으로 하는 파이프라인을 이용한 수정형 부스승산기.
2. 제 1 항에 있어서 상기 수정형 부스승산기가 3개의 상기 부분곱 행을 생성하는 경우, 상기 제 1 가산기로 인가되는 소정의 하위비트의 데이터는 1번째단 부분곱 행의 최하위 2비트데이터와 2번째단 부분곱 행의 최하위 2비트의 데이터에 해당됨을 특징으로 하는 파이프라인을 이용한 수정형 부스승산기.
3. 제 2 항에 있어서, 상기 제 2 가산기는 (2n-4)비트의 가산을 수행함을 특징으로 하는 파이프라인을 이용한 수정형 부스승산기.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940015353A KR0141879B1 (ko) | 1994-06-30 | 1994-06-30 | 파이프라인을 이용한 수정형 부스승산기 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940015353A KR0141879B1 (ko) | 1994-06-30 | 1994-06-30 | 파이프라인을 이용한 수정형 부스승산기 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960001981A KR960001981A (ko) | 1996-01-26 |
KR0141879B1 true KR0141879B1 (ko) | 1998-07-01 |
Family
ID=66689179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940015353A KR0141879B1 (ko) | 1994-06-30 | 1994-06-30 | 파이프라인을 이용한 수정형 부스승산기 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0141879B1 (ko) |
-
1994
- 1994-06-30 KR KR1019940015353A patent/KR0141879B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR960001981A (ko) | 1996-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5426598A (en) | Adder and multiplier circuit employing the same | |
US4807175A (en) | Booth's multiplier | |
US5796645A (en) | Multiply accumulate computation unit | |
US4745570A (en) | Binary multibit multiplier | |
US4706211A (en) | Digital multiplying circuit | |
US6065033A (en) | Wallace-tree multipliers using half and full adders | |
US5103419A (en) | Circuit for calculating the sum of products of data | |
US5477479A (en) | Multiplying system having multi-stages for processing a digital signal based on the Booth's algorithm | |
KR0141879B1 (ko) | 파이프라인을 이용한 수정형 부스승산기 | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
JPS5856033A (ja) | 乗算回路 | |
US7266577B2 (en) | Modular multiplication apparatus, modular multiplication method, and modular exponentiation apparatus | |
JPH08314697A (ja) | 符号付き/符号なし数兼用乗算器 | |
US5485413A (en) | Multiplier utilizing the booth algorithm | |
US5914892A (en) | Structure and method of array multiplication | |
US6167422A (en) | Booth multiplication structure which selectively integrates the function of either of incrementing or negating with the function of booth multiplication | |
JPS58129653A (ja) | 乗算方式 | |
KR100265355B1 (ko) | 마이크로프로세서에서 2사이클 파이프라인방식으로 부동소수점 데이터를 곱셈 연산하는 장치 | |
US6004022A (en) | Product sum operation apparatus | |
CN116991359B (zh) | Booth乘法器、混合Booth乘法器及运算方法 | |
KR100386979B1 (ko) | 갈로아체상에서 비트 직렬 승산기의 병렬화 방법 및 이를이용한 직병렬 승산기 | |
KR0153963B1 (ko) | 수정형 부스승산기에 있어서 부분곱 행 생성회로 | |
SU1005035A1 (ru) | Устройство дл умножени | |
JP3130797B2 (ja) | 積和演算処理方法およびその装置 | |
KR19990071129A (ko) | 부스 곱셈기의 부분곱 처리장치 |
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: 20110302 Year of fee payment: 14 |
|
LAPS | Lapse due to unpaid annual fee |