KR920010994B1 - 병렬승산기의 중간연산방식 및 그 회로 - Google Patents
병렬승산기의 중간연산방식 및 그 회로 Download PDFInfo
- Publication number
- KR920010994B1 KR920010994B1 KR1019900018612A KR900018612A KR920010994B1 KR 920010994 B1 KR920010994 B1 KR 920010994B1 KR 1019900018612 A KR1019900018612 A KR 1019900018612A KR 900018612 A KR900018612 A KR 900018612A KR 920010994 B1 KR920010994 B1 KR 920010994B1
- Authority
- KR
- South Korea
- Prior art keywords
- multiplier
- recoding
- bit
- bits
- intermediate result
- 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/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
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
내용 없음.
Description
제1도는 본 발명에 따른 병렬승산기의 중간연산회로의 1단을 보인 회로도.
제2도는 본 발명에 따른 병렬승산기의 중간연산방식을 설명하기 위한 피승수의 연산도표.
제3도는 본 발명에 따른 일실시예를 보인 병렬승산기의 중간연산회로도.
* 도면의 주요부분에 대한 부호의 설명
10,20,60 : 중간결과발생부 T11-T14 : 전송게이트
E1-E5 : 승수제어신호 I11-I13 : 인버터
PM1 : 피모스트랜지스터
본 발명은 병렬승산기의 중간연산에 관한 것으로, 특히 피승수에 곱하는 승수를 부스의 변형알고리즘(Modified Booth's Algorithm)을 이용하여 3비트를 1개의 재부호화승수로 변형시켜 이에따른 연산을 수행 시키므로써, 중간결과(Partial Product)를 간소화시켜 연산속도를 빨리하는 병렬승산기의 중간연산방식 및 그 결과발생회로에 관한 것이다.
일반적인 병렬승산에서는 승수의 갯수만큼의 중간결과가 발생된다. 이를 개선하여 부스(Booth's)의 알고리즘에 따른 수학식 y1'=y1-1,-y1를 이용한 재부호화승수(y1')로 2비트씩의 승수를 변형시킨 후, 이에따라 피승수를 연산하여 상기 재부호화승수의 갯수만큼의 중간결과가 발생되므로 연산속도를 증가시켰다.
본 발명은 이와같은 부스의 알고리즘을 이용하여 중간 결과수를 좀더 줄여 연산속도를 더 증가시키도록 하는 목적으로써, 이를 달성시키고자 승수의 3비트씩 재부호화승수로 변형시켜 중간결과의 발생수를 더욱 줄여서 좀더 빠른 연산수행을 하기 위한 병렬승산기의 중간연산방식 및 회로를 창안한 것으로, 이를 첨부한 도면을 참조해 상세히 설명하면 다음과 같다.
제1도는 본 발명에 따른 병렬승산기의 중간연산회로도로서, 이에 도시한 바와같이 피승수데이타입력단자(IN1), (IN2)를 전송게이트(T4), (T2)의 입력단자에 연결함과 아울러 각기 인버터(I2), (I1)를 통해서는 전송게이트(T3), (T1)의 입력단자에 연결하고, 상기 전송게이트(T1, T2, T3, T4)의 제어단자에 각기 승수의 3비트씩을 재부호화한 승수제어신호(E1, E2, E3, E4)단자를 각기 연결하며, 그 승수제어신호(E1-E4)를 오아게이트(OR1)를 통해 조합한 후 승수제어신호(E5)로 게이트에 인가받는 피모스트랜지스터(PM1)의 소오스를 전원(VDD)단자에 연결하고, 그의 드레인을 상기 전송게이트(T1-T4)의 출력단자와 공통으로 인버터(I3)를 통해서 중간연산결과 출력 (P")단자에 연결하여 한단의 병렬승산기의 중간연산회로를 구성하였다.
이와같이 구성한 본 발명의 작용 및 효과를 상세히 설명하면 다음과 같다.
먼저, 피승수에 곱하는 승수를 마이컴등에서 본 발명에 따른 배후호화승수(E1-E5)로 승수의 3비트씩을 연관지어 변환시킨 후, 이를 상기 제1도에 도시한 병렬승산기의 중간연산회로의 전송게이트(T1-T4) 및 피모스트랜지스터(PM1)에 제어신호를 적용하는데, 승수의 재부호화 방식은 부스의 알고리즘에 따라 다음식(1)을 만족하도록 설정한다.
예를들어, 피승수(x)"101001"에 승수(y)"110110"를 곱하게 되면, 일반적인 승산에서는 중간결과(P)가 승수(y)의 갯수(6개)만큼 발생되고, 2비트씩 재부호화시키는 방식에서는 재부호화승수(y')갯수만큼의 중간결과(P')가 나타나며, 본 발명에 따른 3비트씩 재부호화시켜 연산하면, 그 재부호화 승수(y") 갯수만큼의 중간결과(P")가 나타나게 된다. 즉, 상기 승수(y) "110110"를 본 발명에 따른 재부호화승수(y")로 계산하면 제 1 비트값 "0"이므로 y1="0", 제 1 비트전값은 없으므로 y1-1="0", 제 2비트값은 "1"이므로 y1+1="1"로 하여 y"=y1-1-y12y1+1을 계산하면, y1"=0+0-2*1=-2가 된다(여기서, i는 제 1 비트가 중심이므로 i=1).
마찬가지로, 제 3 비트를 중심(i=3)으로 하면, y3"=y2+y3-2y4=1+1-2*0=2
제 4 비트를 중심(i=5)으로 하면, y5'= y4+y5-2y4=1+1-2*1=-1이 된다.
즉, y1"=-2, Y3"=2, y5"=-1이 되어 재부호화승수(y")는 "-1, 2, -2"가 된다.
그런데, 재부호화승수(y")는 각기 {+1, -1, +2, -2,0}이 5가지 경우가 발생되고, 이에따라 피승수(x)와의 연산은 제2도에 도시한 본 발명의 재부호승수에 따른 피승수연산도표에 도시된 바와같이 재부호화승수 (y")가 "+1"일 경우는 피승수(x=D1, …, D6)를 그대로 전달하고, "-1"일 경우는 투스컴플리먼트(two's complement)처리로써, D1, -, D6의 보수(D1, …, D6)를 취한 후 "1"을 더하며, "+2"일 경우는 한 비트씩 쉬프트레프트(Left)시킨 후 LSB를 "0"로 하고, "-2"는 투스컴플리먼트 후 쉬프트레프트시키며, 상기 4가지 {-2, -1, 1, 2}의 경우가 아니면 "0"로서, 모두 "0"로 결과출력한다.
여기서 D7은 신호확장을 위한 비트로서, 본 발명과는 무관한 비트이다.
따라서, 다섯가지의 재부호화승수 {-2, -1, 0, +1, +2}에 따른 중간결과를 발생시키도록 제1도에 도시된 바와같은 회로를 다단으로 연결하여 이를 달성시키는데, 제3도는 본 발명에 따른 6×6비트의 병렬승산기의 중간연산회로의 일예를 보인 회로도로서, 이에 도시한 바와같이 제1도 병렬연산기의 중간결과발생회로를 6단 연결하여 6×6비트 병렬승산을 하도록 구성하였다. 즉, 제 1 블록(10)의 입력단자(IN1, IN2)에는 제로비트의 접지 및 제 1 비트의 D1을 입력하고, 제 2 블록(20)에서는 D1, D2를 입력한다. 즉, 각 블록(10-60)의 입력단자(IN1, IN2)에 각기 입력(0.D1), (D1, D2), (D2, D3), (D3, D4), (D4, D5), (D5, D6)을 인가시키 후 승수제어신호(E1-E5)에는 재부호화승수y"에 따라 저장시킨 데이타를 출력하게 된다. 앞에서 설명한 예에서 승수 "110110"에 따른 재부호화승수(y")는 {-1, 2, -2}이므로 제3도의 회로에 D1-D6의 피승수데이타를 입력시킨 후 상기 재부호승수 {-1, 2, -2}에 따라 승수제어신호(E4)를 먼저 고전위신호로 인가시키면 전송게이트(T14, T24-T64)가 턴온되어 제 1 중간결과출력(1P")은 상기 제2도의 표에서와 같이 "1, D1, D2, …D5"가 출력되고, 두번째 재부호화승수 "2"에 따라 승수제어신호(E3)를 고전위로 인가시키면, "0, Dl, …, D5"가 제2중간결과출력(2P")으로 나타나며, 다시 재부호화승수 "-1"따라 승수제어신호(E2)를 고전위로 인가시키면, "D1, D2, …, D6"가 제 3 중간결과 출력(3P")으로 나타난다. 이에따라 제1, 2, 3중간결과출력 (1P"), (2P"), (3P")을 각기 LSB를 제 1 비트, 제 3 비트, 제 5 비트가 되도록 하여 이를 합하여 되면 최종병렬승산(D1-D6) * ("110110")의 결과를 얻을 수 있게된다.
이와같이 각기 피승수의 비트수만큼의 제1도와 같은 회로를 다단으로 사용하여 각기 1비트가 순차적으로 중복되게 두입력으로 인가시킨 후 승수를 각기 1비트가 순차적으로 중복되게 3비트씩 재부호화시킨 재부호화승수(y")에 해당되는 재승수제어신호(E1-E5)를 각단에 재부호화승수를 하나씩 공통인가시켜 그 재부호화승수 갯수만큼의 중간결과(1P"-nP")를 발생시킨다.
이상에서 설명한 바와같이 본 발명은 병렬승산에 있어서, 승수의 3비트씩 부스의 알고리즘에 따라 변형시켜 이에따른 승수제어신호를 구산후 피승수를 각기 입력시키는 중간결과발생회로에 그 승수제어신호를 각단에 공통으로 순차적 인가시키면, 각단의 출력이 상기 재부호화승수 갯수만큼의 중간결과출력이 되므로, 중간결과출력수가 현저히 줄어들어 연산속도를 증가시킬 수 있는 효과가 있다.
Claims (2)
- 병렬승산기의 중간연산방식에 있어서, 피승수(x)에 곱하는 승수(y)를 부스의 알고리즘[y1"=y1-1+y1-2y1+1]에 따라 재부호화승수{+1, -1, +2, -2, 0}로 재부호화시킨 후, 상기 재부호화승수(+1), (-1), (-2), (-2)의 각 경우에 따라 상기 피승수(x)를, 변화없이 직접, 투스컴플리트먼트하여, 한비트씩 좌측으로 쉬프트시켜 최하위비트를 "0"로 하여 투스컴플리머트 후 좌측으로 한비트씩 쉬프트시켜서 각기 중간결과로 출력하도록 하고, 상기 재부호화승수{+1, -1, +2. -2}가 아닌 재부호화승수(0)이면, 상기 피승수(x)의 모든 비트를 제로("0")로 중간결과 출력하도록 하여 상기 승수(y)에 따라 발생되는 재부호화승수(y") 갯수만큼의 중간결과를 발생시키는 병렬승산기의 중간연산방식.
- 피승수(x)의 데이타(D1), (D1-1)를 각기 입력하는 입력단자(IN1), (IN2)를 각기 전송게이트(T14), (T12)의 입력단자에 연결함에 아울러 각기 인버터(I12), (I11)를 통해서 전송게이트(T13), (T11)의 입력단자에 연결하며, 승수(y)를 재부호화승수{-1, 1, 2, -2}로 재부호화하여 그에따라 발생되는 승수제어신호(E1-E4)의 단자를 상기 전송게이트(T11-T14)의 제어단자에 연결함과 아울러 오아게이트(OR1)를 통한 후 소오스에 전원(VDD)을 인가받는 피모스트랜지스터(PM1)의 게이트에 연결하고, 그 피모스트랜지스터(PM1)의 드레인과 상기 전송게이트(T11-T14)의 출력단자를 공통으로 인버터(l13)를 통해서 중간결과출력단자(P")에 연결하여 한단의 중간결과발생부(10)를 구성하고, 그 중간결과 발생부(10)와 동일구성의 중간결과발생부를 상기 피승수(x)의 비트수만큼 다단으로 구성하여 된 것을 특징으로 하는 병렬승산기의 중간연산회로.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019900018612A KR920010994B1 (ko) | 1990-11-16 | 1990-11-16 | 병렬승산기의 중간연산방식 및 그 회로 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019900018612A KR920010994B1 (ko) | 1990-11-16 | 1990-11-16 | 병렬승산기의 중간연산방식 및 그 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR920010419A KR920010419A (ko) | 1992-06-26 |
KR920010994B1 true KR920010994B1 (ko) | 1992-12-26 |
Family
ID=19306153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019900018612A KR920010994B1 (ko) | 1990-11-16 | 1990-11-16 | 병렬승산기의 중간연산방식 및 그 회로 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR920010994B1 (ko) |
-
1990
- 1990-11-16 KR KR1019900018612A patent/KR920010994B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR920010419A (ko) | 1992-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0316036B1 (en) | Digital multiplier circuit and a digital multiplier-accumulator circuit which preloads and accumulates subresults | |
US5095457A (en) | Digital multiplier employing CMOS transistors | |
US5473559A (en) | Hardware implemented multiplier | |
JPH0479013B2 (ko) | ||
US4864528A (en) | Arithmetic processor and multiplier using redundant signed digit arithmetic | |
US5070471A (en) | High speed multiplier which divides multiplying factor into parts and adds partial end products | |
US4878192A (en) | Arithmetic processor and divider using redundant signed digit arithmetic | |
JP3345894B2 (ja) | 浮動小数点乗算器 | |
US5016211A (en) | Neural network implementation of a binary adder | |
US20060294178A1 (en) | Carry-ripple adder | |
US5434810A (en) | Binary operator using block select look ahead system which serves as parallel adder/subtracter able to greatly reduce the number of elements of circuit with out sacrifice to high speed of computation | |
JPH0438009B2 (ko) | ||
US4709346A (en) | CMOS subtractor | |
US5027311A (en) | Carry select multiplexer | |
JPH0651953A (ja) | 加算器 | |
KR920010994B1 (ko) | 병렬승산기의 중간연산방식 및 그 회로 | |
US4704701A (en) | Conditional carry adder for a multibit digital computer | |
US6003059A (en) | Carry select adder using two level selectors | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
US4890127A (en) | Signed digit adder circuit | |
US5777918A (en) | Fast multiple operands adder/subtracter based on shifting | |
JP3663186B2 (ja) | 部分積生成回路および乗算器 | |
US6269387B1 (en) | Method and apparatus for 3-stage 32-bit adder/subtractor | |
Li et al. | A novel Josephson adder without carry propagation delay | |
RU2029435C1 (ru) | Комбинационный рекуррентный формирователь остатков |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20051118 Year of fee payment: 14 |
|
LAPS | Lapse due to unpaid annual fee |