KR0136488B1 - 병렬 곱셈기 - Google Patents

병렬 곱셈기 Download PDF

Info

Publication number
KR0136488B1
KR0136488B1 KR1019940024601A KR19940024601A KR0136488B1 KR 0136488 B1 KR0136488 B1 KR 0136488B1 KR 1019940024601 A KR1019940024601 A KR 1019940024601A KR 19940024601 A KR19940024601 A KR 19940024601A KR 0136488 B1 KR0136488 B1 KR 0136488B1
Authority
KR
South Korea
Prior art keywords
booth
weight
multiplier
decoding means
signal
Prior art date
Application number
KR1019940024601A
Other languages
English (en)
Other versions
KR960011672A (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 KR1019940024601A priority Critical patent/KR0136488B1/ko
Publication of KR960011672A publication Critical patent/KR960011672A/ko
Application granted granted Critical
Publication of KR0136488B1 publication Critical patent/KR0136488B1/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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5306Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
    • G06F7/5312Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products using carry save adders
    • 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters

Landscapes

  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 데이터를 고속 처리하는 병렬 곱셈기에 있어서, 다수의 부스 인코딩 수단(20 내지 23); 다수의 부스 디코딩 수단(24 내지 27); 2단 구조의 다수의 전가산 수단(FA1 내지 FA9); 최종 가산 수단(28)을 포함하여 구성되어, 다수의 부스 디코더 각각의 출력을 가산 연산하는 가산기의 수를 감소시켜 데이터 처리 속도를 향상시키고, 가산기의 수를 감소시킴으로써 소자의 크기를 감소시키는 특유의 효과가 있는 병렬 곱셈기에 관한 것이다.

Description

병렬 곱셈기
제1도는 종래 기술에 따른 부스 곱셈기 구성도.
제2도는 본 발명의 일실시예에 따른 병렬 곱셈기 구성도.
제3도는 부스 인코더의 상세 회로도.
제4a도 내지 제4c도는 부스 디코더의 상세 구성도.
* 도면의 주요부분에 대한 부호의 설명
1 내지 4, FA1 내지 FA18 : 가산기 10 내지 13, 20 내지 23 : 부스 인코더
14 내지 17, 24 내지 27 : 부스 디코더 18 : 캐리 록 어헤드 가산기
28 : 캐리 증분 가산기 30 : NOR 게이트
31, 32 : OR 게이트 33 : 멀티플렉서
34 : 버퍼 40 : 병렬 증분 2의 보수기
41 : 쉬프트 선택기 42 : 증분신호 발생기
43, 44 : 조건 증분기
본 발명은 병렬 곱셈기(parallel multiplier)에 관한 것으로, 특히, 개량된 부스 알고리즘(modified booth algorithm) 및 비트 분할 덧셈(bit partitioning addition)을 이용하여 신호를 고속으로 연산하는 병렬 곱셈기에 관한 것이다.
일반적으로, 곱셈기는 디지털 칼라-스페이스 변환기(digital colorspace converter) 뿐 아니라 디지털 신호 처리에 필수적이다. 특히, 디지털 신호 처리(DSP : Digital Signal Processing; 이하 DSP라 칭함) 분야에서는 곱셈기의 속도가 전체 DSP의 속도를 좌우하기 때문에, 특히, 고속 연산이 가능한 곱셈기가 절실히 요구되어 왔다.
종래의 병렬 곱셈기인 부스 곱셈기를 첨부된 도면 제1도를 참조하여 설명하면 다음과 같다.
먼저, 제1도는 부스 곱셈기 구성도로서, 도면에 도시된 바와 같이 8비트의 승수(B[7:0])와 8비트의 피승수(A[7:0]) 곱하여 그 결과값(M[14:0])를 출력하는 부스 곱셈기는 간단하게는 상기 승수(B[7:0])를 데이터 패스(data pass) 신호(X1), 1비트 왼쪽 쉬프트(left shift) 신호(X2), 2의 보수(two's complement) 신호(twc) 등의 부스 코드(X1, X2, twc)로 인코딩(encoding)하는 제1부스 인코더(10) 내지 제4부스 인코더(13); 피승수(A[7:0])를 입력받아 상기 각각의 부스 코드에 따라 데이터 패스, 2의 보수, 왼쪽 쉬프트 등의 연산을 각각 하는 제1부스 디코더(decoder, 14) 내지 제4부스 디코더(17); 상기 제1부스 디코더(14) 내지 제4부스 디코더(17) 중에서 제2부스 디코더(15)는 제1부스 디코더(14)에 비해서, 제3부스 디코더(16)는 제2부스 디코더(15)에 비해서, 제4부스 디코더(17)는 제3부스 디코더(16)에 비해서 각각 2비트(2 2)씩 웨이트를 더 크게 가지는 출력값을 가지며, 제1부스 디코더(14)와 제2부스 디코더(15) 출력값을 각각의 한 비트씩 입력받아 반가산하는 다수의 반가산기(1); 상기 다수의 반가산기(1)의 출력값과 제3부스 디코더(16)의 출력값 각각의 한 비트씩 입력받아 전가산하는 다수의 제1전가산기(2); 상기 다수의 제1전가산기(2)의 출력값과 제4부스 디코더(17)의 출력값 각각의 한 비트씩 입력받아 전가산하는 다수의 제2전가산기(3); 상기 다수의 제3전가산기(3)의 출력값과 하나의 웨이트 차이를 갖는 하단의 캐리출력을 입력받아 전가산하는 다수의 제3전가산기(4); 상기 제3전가산기(4)의 출력값을 입력받는 올림수 예견 가산기(carry look-ahead adder; 이하 캐리 록 어헤드 가산기라 칭함, 18)를 구비한다. 이때, 상기 캐리 록 어헤드 가산기(18)는 각 비트에서 가산 연산을 하는데 필요한 캐리를 미리 계산하여 상기 제3전가산기(4) 각각의 캐리로 입력함으로써 전체적인 가산 연산의 속도를 빠르게 하며, 캐리 록 어헤드 가산기(18)의 입력 비트수가 많아지면 모든 비트에서 필요로 하는 캐리를 한꺼번에 미리 계산하는 것은 하드웨어가 복잡해지며, 이에 따라 임계 경로(criticle path)가 길어지는 문제점이 있으므로 일반적으로 도면에 도시된 바와 같이 4비트 단위로 분리하여 디자인한다. 여기서, 상기 캐리 록 어헤드 가산기는 공지의 사항이므로 상세한 설명은 피하기로 한다.
부스 곱셈기에 대하여 좀더 자세하게 살펴보자.
피승수(A[7:0]) 승수(B[7:0]) 곱(M[14:0])을 얻기 위하여 먼저, 제1부스 인코더(10) 내지 제4부스 디코더(13)는 승수(B[7:0])를 1비트씩 중첩시키며 3비트씩 입력받아 부스 인코딩 한다. 이렇게 하여 인코딩 한 결과인 데이터 패스 신호, 1비트 왼쪽 쉬프트 신호, 2의 보수 신호에 따라 피승수(A[7:0])를 연산하는 제1부스 디코더(14) 내지 제4부스 디코더(17)에 의하여 각각의 부분곱을 얻고 이들을 다수의 가산기(1 내지 4, 18)를 이용하여 합하여 최종 출력값 M[14:0]을 얻는다.
다음 표1은 부스 인코더(10 내지 13)에 입력되는 승수(B[7:0])에 따라 인코딩된 출력값인 데이터 패스 신호(X1), 1비트 왼쪽 쉬프트 신호(X2), 2의 보수 신호(twc)를 각각 나타낸 도표로서, 도표에 도시된 바와 같이 데이터 패스 신호(X1)는 피승수(A[7:0])에 1은 곱하라는 의미이며, 1비트 왼쪽 쉬프트 신호(X2)는 피승수(A[7:0])에 2를 곱하라는 의미이다. 또한, 2의 보수 신호(twc)는 피승수(A[7:0])에 -1을 곱하라는 의미를 가짐으로써, 그 출력값 M[14:0]이 정의된다. 이때, 승수(B[7:0])의 값을 3비트씩 읽어서 표1에 도시된 바와 같이 부스 인코딩시 중요한 점은 최하위 비트 아래에 '0'를 두고 1비트씩 오버랩 시켜 읽어들이는 것이다. 즉, (B7, B6, B5), (B5, B4, B3), (B3, B2, B1), (B1, B0, '0')이 차례로 제4부스 인코더(13) 내지 제1부스 인코더(10)로 입력시켜야 한다.
참고적으로, M=A*(-99)에 대해서 살펴보자.
먼저 승수(B[7:0])인 -99, 즉 [10011101]를 최상위부터 3비트씩 분할된 100, 011, 110, 010을 각각 부스 인코딩 하면 부스 인코더(10 내지 13)는 각각 -2, 2, -1, 1을 출력한다. 즉, M=A+2 (-A)+2 (2A)+2 (-2A)=-99A 라는 출력을 얻게 된다. 더 이상의 자세한 내용은 공지이므로 설명을 피하기로 한다.
그러나, 상기와 같이 이루어지는 종래의 부스 곱셈기는 최종 출력값을 얻기 위하여 수직으로 4단의 가산기단을 거쳐야 하기 때문에 데이터 처리 속도를 감소시키며, 또한, 많은 수의 반가산기나 전가산기를 구비함으로써 소자의 크기가 커지는 문제점을 초래했다.
따라서, 상기 문제점을 해결하기 위해서 안출된 본 발명은, 다수의 부스 디코더 각각의 출력을 가산 연산하는 가산기단의 수를 감소시켜 데이터 처리 속도를 향상시키고, 소자의 크기를 감소시키는 병렬 곱셈기를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위하여 본 발명은, 데이터를 고속 처리하는 병렬 곱셈기에 있어서, 승수를 최상위 비트부터 1비트씩 중첩시키며 3비트씩 분할한 데이터를 각각 차례로 입력받아 데이터 패스 신호, 1비트 왼쪽 쉬프트 신호, 2의 보수 신호 등의 부스 코드로 각각 인코딩하는 다수의 부스 인코딩 수단; 피승수를 각각 입력받고, 상기 다수의 인코딩 수단으로부터 발생되는 부스 코드에 따라 데이터 패스, 2의 보수, 1비트 왼쪽 쉬프트 연산값을 각각 웨이트 별로 출력하는 다수의 부스 디코딩 수단; 상기 다수의 부스 디코딩 수단 중에서 가장 낮은 웨이트를 가지는 디코딩 수단 내지 세 번째 낮은 웨이트를 가지는 디코딩 수단의 출력값을 각각 웨이트별로 입력받아 전가산하는 다수의 전가산 수단; 상기 다수의 부스 디코딩 수단 중에서 네 번째로 낮은 웨이트 이상의 웨이트를 가지는 적어도 하나의 부스 디코딩 수단의 출력값과 해당 부스 디코딩 수단 보다 한단계 낮은 웨이트를 가지는 부스 디코딩 수단의 출력값을 각각 전가산한 전가산 수단의 출력값을 웨이트 별로 입력받아 전가산하는 다른 다수의 전가산 수단; 다수의 부스 디코딩 수단 중에서 최상의 웨이트를 가지는 부스 디코딩 수단의 출력값 및 한단계 전단의 다수의 전가산 수단의 출력값을 웨이트 별로 전가산하는 다수의 전가산 수단의 출력값과, 상기 다수의 부스 디코딩 수단 및 다수의 전가산 수단의 출력값 중에서 매칭되지 못한 출력값을 웨이트 별로 입력받아 발생되는 캐리를 함께 가산하여 최종 승수와 피승수의 곱셈값을 출력하는 가산 수단을 포함하여 구성되는 것을 특징으로 한다.
이하, 첨부된 도면 제2도 내지 제4도를 참조하여 본 발명의 일실시예에 따른 병렬 곱셈기에 대하여 상세히 설명하면 다음과 같다.
먼저, 도면 제2도는 본 발명의 일실시예에 따른 병렬 곱셈기 구성도로서, 도면에 도시된 바와 같이 8비트의 승수(B[7:0])와 8비트의 피승수(A[7:0])를 곱하여 그 결과값(M[14:0])을 출력하는 병렬 곱셈기는 4개의 구성요소, 즉, 상기 승수(B[7:0])를 1비트 중첩시키며 3비트씩 분할한 데이타((B7, B6, B5), (B5, B4, B3), (B3, B2, B1), (B1, B0, '0'))를 각각 차례로 입력받아 데이터 패스 신호(X1), 1비트 왼쪽 쉬프트 신호(X2), 2의 보수 신호(twc) 등의 부스 코드로 각각 인코딩하는 제4부스 인코더(23) 내지 제1부스 인코더(20); 피승수(A[7:0])를 입력받아 상기 제1부스 인코더(20)로부터 발생되는 부스 코드(X1, X2, twc)에 따라 데이터 패스, 2의 보수, 1비트 왼쪽 쉬프트 연산값을 출력하되, 최하위 2비트를 최종 출력값으로 출력하는 제1부스 디코더(24); 피승수(A[7:0])를 입력받아 상기 제2부스 인코더(21)로부터 발생되는 부스 코드(X1, X2, twc)에 따라 데이터 패스, 2의보수, 1비트 왼쪽 쉬프트 연산값을 출력하되, 그 출력값은 각각 상기 제1부스 디코더(24)의 출력값보다 2비트(2 )씩 더 큰 웨이트를 가지는 제2부스 디코더(25); 피승수(A[7:0])를 입력받아 상기 제3부스 인코더(22)로부터 발생되는 부스 코드(X1, X2, twc)에 따라 데이터 패스, 2의 보수, 1비트 왼쪽 쉬프트 연산값을 출력하되, 그 출력값은 각각 상기 제2부스 디코더(25)의 출력값보다 2비트(2 )씩 더 큰 웨이트를 가지는 제3부스 디코더(26); 피승수(A[7:0])를 입력 받아 상기 제4부스 인코더(23)로부터 발생되는 부스 코드(X1, X2, twc)에 따라 데이터 패스, 2의 보수, 1비트 왼쪽 쉬프트 연산값을 출력하되, 그 출력값은 각각 상기 제3부스 디코더(26)의 출력값보다 2비트(2 )씩 더 큰 웨이트를 가지는 제4부스 디코더(27); 상기 제1부스 디코더(24) 출력값 중 제3비트, 제4비트와 제2부스 디코더(25) 출력값 중 최하위 2비트를 제외한 제1부스 디코더(24) 내지 제3부스 디코더(26)의 출력값 각각을 웨이트 별로 전가산하되, 각각의 웨이트 별 출력값 중에서 매칭(matching) 되지 않는 제3부스 디코더(26)의 최상위 4비트 및 제2부스 디코더(25)의 최상위 2비트는 제1부스 디코더(24) 및 제2부스 디코더(25)의 최상위 비트 출력값을 전가산하는 제1전가산기(FA1, 최하위 웨이트를 가짐) 내지 제9전가산기(FA9, 최상위 웨이트를 가짐); 상기 9개의 전가산기(FA1 내지 FA9) 중 제1전가산기(FA1)의 출력값과 제2전가산기(FA2)의 합산 출력값을 제외한 나머지 출력값과 제4부스 디코더(27)의 출력값을 웨이트 별로 각각 입력 받아 전가산하되, 각각의 웨이트 별 출력값 중에서 매칭되지 않는 상기 제4부스 디코더(27)의 최상위 2비트 출력값은 제9전가산기(FA9)의 출력값을 웨이트 별로 입력받아 전가산하는 제10전가산기(FA10) 내지 제18전가산기(FA18); 상기 제10전가산기(FA10) 내지 제18전가산기(FA18) 각각의 출력값 및 상기 제1부스 디코더(24), 제2부스 디코더(25), 제1전가산기(FA1), 제2전가산기(FA2) 등의 출력값 중에서 제외된 출력값을 웨이트 별로 입력받되, 매칭되지 않는 입력단은 '0'를 입력받아 캐리 증분 가산하여 최종 출력값을 출력하는 캐리 증분 가산기(Carry Increment Adder, 28)를 포함하여 구성된다. 이때, 상기 부스 인코더(20 내지 23) 및 부스 디코더(24 내지 27)의 입·출력 관계는 종래와 동일하다. 또한, 상기 캐리 증분 가산기(28)은 공지의 구성이므로 상세한 설명은 피하기로 한다.
한편, 제3도는 상기 부스 인코더(20 내지 23)의 상세 회로도로서, 도면에 도시된 바와 같이 부스 인코더(20 내지 23)는 승수(B[7:0])로부터 분할 입력된 입력 데이터(y, y, y; 이때, y를 최하위 입력 데이터, y를 중위 입력 데이터, y를 최상위 입력 데이터라 각각 칭하기로 한다) 중 최하위 입력 데이터(y)와 중위 입력 데이터(y)를 배타적 논리합하여 데이터 패스 신호(X1)를 출력하는 XOR 게이트(30); 최상위 입력 데이터(b)의 반전값과 중위 입력 데이터(b)를 논리합하여 반전시키는 하나의 NOR 게이트(31); 중위 입력 데이터(b)의 반전값과 최상위 입력 데이터(b)를 논리합 하여 반전시키는 다른 하나의 NOR 게이트(32); 최하위 입력 데이터(b)를 스위칭(switching) 신호로 하여 상기 두 NOR 게이트(31, 32)의 출력 중에서 하나를 선택하여 1비트 왼쪽 쉬프트 신호로 출력하는 멀티플렉서(multiplexer, 33); 최상위 입력 데이터를 2의 보수 신호로 출력하는 버퍼(buffer, 34)등을 구비한다.
그리고, 제4a도는 상기 부스 디코더(24 내지 27)의 블록도로서, 도면에 도시된 바와 같이 부스 디코더(24 내지 27)는 각각의 부스 인코더(20 내지 23)로부터 발생되는 보수 신호에 따라 피승수(A[7:0])의 2의 보수를 출력하는 병렬 증분 2의 보수기(parallel increment 2's complementer, 40)와 데이터 패스 신호(X1) 및 1비트 왼쪽 쉬프트 신호(X2)에 따라 피승수(A[7:0])를 쉬프트 시켜 9비트의 쉬프트값을 출력하는 쉬프터 선택기(shif selecter, 41)로 구성된다.
이때, 상기 병렬 증분2의 보수기(40) 및 쉬프트 선택기(41)를 상세하게 살펴보면 다음과 같다.
먼저, 제4b도는 상기 병렬 증분 2의 보수기(40)의 상세 블록도로서, 도면에 도시된 바와 같이 병렬 증분 2의 보수기(40)는 부스 코드 중 2의 보수 신호에 따라 피승수(A[7:0])를 입력받아 제1증분 신호 및 제2증분 신호를 발생시키는 증분 신호 발생기(increment signal generator, 42); 상기 제1증분 신호와 최상위 4비트 피승수(A[7:4]), 제2증분 신호와 최하의 4비트 피승수(A[3:0])를 각각 입력받아 최상위 4비트 피승수(A[7:4]), 최하의 4비트 피승수(A[3:0]) 각각의 2의 보수값(A'[7:4], A'[3:0])을 각각 출력하는 2개의 조건 증분기(conditional incrementor, 43, 44)로 구성된다. 이의 자세한 설명은 공지의 사항이므로 피하기로 한다.
그리고, 제4c도는 상기 쉬프트 선택기(41)의 상세 회로도로서, 도면에 도시된 바와 같이 데이터 패스 신호(X1)가 입력되면 입력 데이터(t7 내지 t0)를 그대로 출력하되, 최상위 출력값(t8')은 최상위 입력데이타(t7)와 동일하게 출력함으로써 9비트의 출력값을 출력하며, 1비트 왼쪽 쉬프트 신호(X2)가 입력되면 입력 데이터(t1 내지 t7, '0')를 왼쪽으로 1비트 쉬프트 시켜 9개의 출력단에 출력하게 된다. 이것 역시 공지의 구성이므로 상세한 설명은 피하기로 한다.
참고적으로, 상기와 같이 이루어 지는 병렬 곱셈기의 동작을 승수(B[7:0])가 [0110 1001]이고, 피승수(A[7:0])가 ]1001 0101]인 경우를 일예로 간단하게 설명하면 다음과 같다.
먼저, 제1부스 인코더(20) 내지 제4부스 인코더(23)에 각각 010, 001, 101, 110이 차례로 입력되어 각각 100, 011, 101, 010의 부스 코드(X1, X2, twc의 순서로 구성)로 출력한다. 그리고, 상기 각각의 부스 코드에 따라 제1부스 디코더(24) 내지 제4부스 디코더(27)의 출력이 각각 1 1001 0101, 0 1101 0110, 0 0110 1011, 1 0010 1010이 되며, 제1전가산기(FA1) 내지 제18전가산기(FA18)의 출력값이 각각 11, 01, 01, 10, 10, 11, 10, 01, 01, 01, 01, 01, 11, 01, 11, 01, 01, 10이 된다. 따라서, 캐리 증분 가산기(28)의 입력단 중 최상위 입력단으로부터 최하위 입력단 까지 00, 1011, 1011, 1010, 1001, 1101, 0110이 입력되어 캐리 증분 가산되고, 상기 제1부스 디코더(24)의 출력값 중 최하위 2비트가 최종값의 최하위 2비트 값으로 출력된다. 즉, 최종적으로 [101 0100 0001 1101]이 출력된다.
따라서, [0110 1001]× [1001 0101]= [101 0100 0001 1101]이 성립한다. 즉, 105 × -107 = -11235이 성립하는 것이다.
한편, 상기 본 발명의 일실시예 따른 병렬 곱셈기는 승수·피승수가 각각 8비트인 경우이며, 그 이상의 비트수를 가지는 승수·피승수를 가지는 병렬 곱셈기는 부스 인코더의 갯수 보다 2개 더 적은수의 전가산기 스테이지(stage)를 구비하는데 반하여, 인코더의 갯수와 동일항 갯수의 가산기를 구비하는 종래의 부스 곱셈기보다 데이터를 더 빠르게 처리할 수 있게 된다.
상기와 같이 이루어 지는 본 발명은 다수의 부스 디코더 각각의 출력을 가산 연산하는 가산기의 수를 감소시켜 데이터 처리속도를 향상시키고, 가산기의 수를 감소시킴으로써 소자의 크기를 감소시키는 특유의 효과가 있다.

Claims (4)

  1. 데이터를 고속 처리하는 병렬 곱셈기에 있어서, 승수(B[7:0])를 최상위 비트부터 1비트씩 중첩시키며 3비트씩 분할한 데이터((B7, B6, B5), (B5, B4, B3), (B3, B2, B1), (B1, B0, '0'))를 각각 차례로 입력받아 데이터 패스 신호(X1), 1비트 왼쪽 쉬프트 신호(X2), 2의 보수 신호(twc) 등의 부스 코드로 각각 인코딩하는 다수의 부스 인코딩 수단(20 내지 23); 피승수(A[7:0])를 각각 입력받고, 상기 다수의 인코딩 수단(20 내지 23)으로부터 발생되는 부스 코드(X1, X2, twc)에 따라 데이터 패스, 2의 보수, 1비트 왼쪽 쉬프트 연산값을 각각 웨이트 별로 출력하는 다수의 부스 디코딩 수단(24 내지 27); 상기 다수의 부스 디코딩 수단(24 내지 27) 중에서 가장 낮은 웨이트를 가지는 디코딩 수단(24) 내지 세 번째 낮은 웨이트를 가지는 디코딩 수단(26)의 출력값을 각각 웨이트별로 입력받아 전가산하는 다수의 전가산 수단(FA1 내지 FA9); 상기 다수의 부스 디코딩 수단(24 내지 27) 중에서 네 번째로 낮은 웨이트 이상의 웨이트를 가지는 적어도 하나의 부스 디코딩 수단(27)의 출력값과 해당 부스 디코딩 수단(27) 보다 한단계 낮은 웨이트를 가지는 부스 디코딩 수단(24 내지 26)의 출력값을 각각 전가산한 전가산 수단(FA1 내지 FA9)의 출력값을 웨이트 별로 입력받아 전가산하는 다른 다수의 전가산 수단(FA10 내지 FA18); 다수의 부스 디코딩 수단(24 내지 27)중에서 최상의 웨이트를 가지는 부스 디코딩 수단(27)의 출력값 및 한단계 전단의 다수의 전가산 수단(FA1 내지 FA9)의 출력값을 웨이트 별로 전가산하는 다수의 전가산 수단(FA10 내지 FA18)의 출력값과, 상기 다수의 부스 디코딩 수단(24 내지 27) 및 다수의 전가산 수단(FA1 내지 FA18)의 출력값 중에서 매칭되지 못한 출력값을 웨이트 별로 입력받아 발생되는 캐리를 함께 가산하여 최종 승수와 피승수의 곱셈값을 출력하는 가산 수단(28)를 포함하여 구성되는 것을 특징으로 하는 병렬 곱셈기.
  2. 제1항에 있어서, 상기 가산 수단(28)은 캐리 증분 가산기인 것을 특징으로 하는 병렬 곱셈기.
  3. 제1항에 있어서, 상기 부스 인코딩 수단(20 내지 23)은 승수(B[7:0])로부터 3비트씩 분할 입력된 입력 데이터(y0, y1, y2) 중 최하위 입력 데이터(y0)와 중위 입력 데이터(y1)를 배타적 논리합하여 데이터 패스 신호(X1)를 출력하는 XOR 게이트(30); 최상위 입력 데이터(b2)의 반전값과 중위 입력 데이터(b1)를 논리합 하여 반전시키는 하나의 NOR 게이트(31); 중위 입력 데이터(b1)의 반전값과 최상위 입력 데이터(b2)를 논리합 하여 반전시키는 다른 하나의 NOR 게이트(32); 최하위 입력 데이터(b0)를 스위칭 신호로 하여 상기 NOR 게이트(31, 32)의 출력 중에서 하나를 선택하여 1비트 왼쪽 쉬프트 신호로 출력하는 멀티플렉서(33); 최상위 입력 데이터를 2의 보수 신호로 출력하는 버퍼(34)를 구비하는 것을 특징으로 하는 병렬 곱셈기.
  4. 제1항에 있어서, 상기 부스 디코딩 수단(24 내지 27)은 상기 각각의 부스 인코딩 수단(20 내지 23)으로부터 발생되는 2의 보수 신호에 따라 피승수(A[7:0])의 2의 보수를 출력하는 병렬 증분 2의 보수 수단(40); 상기 각각의 부스 인코딩 수단(20 내지 23)으로부터 발생되는 데이터 패스 신호(X1) 및 1비트 왼쪽 쉬프트 신호(X2)에 따라 피승수(A[7:0])를 쉬프트 시켜 그 쉬프트값을 출력하는 쉬프트 선택수단(41)을 구비하는 것을 특징으로 하는 병렬 곱셈기.
KR1019940024601A 1994-09-28 1994-09-28 병렬 곱셈기 KR0136488B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940024601A KR0136488B1 (ko) 1994-09-28 1994-09-28 병렬 곱셈기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940024601A KR0136488B1 (ko) 1994-09-28 1994-09-28 병렬 곱셈기

Publications (2)

Publication Number Publication Date
KR960011672A KR960011672A (ko) 1996-04-20
KR0136488B1 true KR0136488B1 (ko) 1999-05-15

Family

ID=19393818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940024601A KR0136488B1 (ko) 1994-09-28 1994-09-28 병렬 곱셈기

Country Status (1)

Country Link
KR (1) KR0136488B1 (ko)

Also Published As

Publication number Publication date
KR960011672A (ko) 1996-04-20

Similar Documents

Publication Publication Date Title
US5262976A (en) Plural-bit recoding multiplier
Phatak et al. Hybrid signed-digit number systems: A unified framework for redundant number representations with bounded carry propagation chains
US4623982A (en) Conditional carry techniques for digital processors
EP0158530A2 (en) Nonrestoring divider
KR20010014992A (ko) 고차 기수 제산기 및 그 방법
US4495593A (en) Multiple bit encoding technique for combinational multipliers
US4878192A (en) Arithmetic processor and divider using redundant signed digit arithmetic
US5726926A (en) Shifter for shifting floating point number utilizing arithmetic operation of redundant binary number, and adder containing the same
US4879677A (en) Parallel adder circuit with sign bit decoder for multiplier
US5862068A (en) Arithmetic circuit for calculating a square-root of a sum of squares
EP0428942B1 (en) Plural-bit recoding multiplier
US5497343A (en) Reducing the number of carry-look-ahead adder stages in high-speed arithmetic units, structure and method
KR100627993B1 (ko) 3입력 분할 가산기
US4866655A (en) Arithmetic processor and divider using redundant signed digit
KR100290906B1 (ko) 부동소수점곱셈기에서반올림과덧셈을동시에수행하는장치및방법
JPH0312738B2 (ko)
KR0136488B1 (ko) 병렬 곱셈기
KR100329914B1 (ko) 제산장치
US4866657A (en) Adder circuitry utilizing redundant signed digit operands
JPH0448255B2 (ko)
US5883825A (en) Reduction of partial product arrays using pre-propagate set-up
Mohan et al. Implementation of Quaternary Signed Adder System
Stouraitis et al. Hybrid signed digit logarithmic number system processor
RU2753184C1 (ru) Параметризуемый однотактный умножитель двоичных чисел с фиксированной точкой в прямом и дополнительном коде
RU205198U1 (ru) Параметризуемый однотактный умножитель двоичных чисел с фиксированной точкой в прямом и дополнительном коде

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: 20041230

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee