KR0172308B1 - 변형 부스 곱셈기 - Google Patents

변형 부스 곱셈기 Download PDF

Info

Publication number
KR0172308B1
KR0172308B1 KR1019950062109A KR19950062109A KR0172308B1 KR 0172308 B1 KR0172308 B1 KR 0172308B1 KR 1019950062109 A KR1019950062109 A KR 1019950062109A KR 19950062109 A KR19950062109 A KR 19950062109A KR 0172308 B1 KR0172308 B1 KR 0172308B1
Authority
KR
South Korea
Prior art keywords
output
signals
adder
multiplier
bit
Prior art date
Application number
KR1019950062109A
Other languages
English (en)
Other versions
KR970049451A (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 KR1019950062109A priority Critical patent/KR0172308B1/ko
Publication of KR970049451A publication Critical patent/KR970049451A/ko
Application granted granted Critical
Publication of KR0172308B1 publication Critical patent/KR0172308B1/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/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5332Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by skipping over strings of zeroes or ones, e.g. using the Booth Algorithm
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 DSP(Digital Signal Processor)나 코프로세서(Coprocessor)에 필수적으로 사용되는 변형 부스 곱셈기(Modified Booth Multiplier)에 관한 것이다.
본 발명은 기존의 부스 곱셈기를 구성하는 2보수기와 콘디션널 쉬프터 및 제로기 대신에 비교적 간단한 구조인 2보수기와 멀티플렉서를 사용하여 설계 면적을 줄이고 처리 속도를 향상시킨다.

Description

변형 부스 곱셈기
제1도는 종래의 변형 부스 곱셈기의 구성도.
제2도는 본 발명에 의한 변형 부스 곱셈기의 구성도.
제3도는 제2도의 연산부의 세부 구성도.
* 도면의 주요부분에 대한 부호의 설명
20 : 2보수기 21,22,23,24 : 3비트 부스 인코더
31,32,33,34,61,62,63,64,65,66,67,68,69 : 멀티플렉서
41,42,43,44 : 연산부 50 : 가산부
51,52 : 가산 어레이 53 : 2입력 가산기
71,72,73,74,75,76,77,78,79 : 앤드 게이트
본 발명은 DSP(Digital Signal Processor)나 코프로세서(Coprocessor)에 필수적으로 사용되는 변형 부스 곱셈기(Modified Booth Multiplier)에 관한 것으로, 특히 멀티플렉서를 이용하는 변형 부스 곱셈기에 관한 것이다.
종래의 변형 부스 곱셈기는 제1도에 도시한 바와 같이 피승수(Y)를 2보수로 만들 것인지, 쉬프트시킬 것인지, 또는 '0'으로 만들 것인지를 결정하는 4개의 3비트 부스 인코더(1,2,3,4), 4개의 콘디션널 2보수기(Conditional 2's Complimentor)(5,7, 9,11) , 4개의 콘디션널 쉬프터(Conditional Shifter) 및 제로(Zero)기(6,8,10,12), 2개의 가산 어레이(Adder Array)(13,14), 및 가산기(15)로 구성된다.
일반적으로 빠른 처리 속도를 요구하는 곱셈기로 변형 부스 곱셈기가 사용되는데, 그 원리는 다음과 같다.
2보수로 표현된 어떤 수(X)는 일반적으로 다음 식 1로 표현할 수 있다.
위의 식 1은 다시 아래 식2와 같이 표현할 수 있다.
여기서 N은 0, 2, 4, …, m-1 이다.
만약 m-1이 2의 배수가 아니면 2의 배수가 되도록 확장시킨다.
위의 식2의 ( -xi+12 + xi+ xi-1)항을 이용하여 아래 표 1과 같은 3부스 인코더 테이블을 만들 수 있다.
피승수를 Y라 하면 X * Y는 일반적으로 다음과 같이 식3으로 표현할 수 있다.
3비트 부스 인코더(1,2,3,4)에서 피승수(Y)를 2보수시킬 것인지, 쉬프트시킬 것인지, 또는 '0'으로 만들 것인지 결정하여 뒤에 있는 콘디션널 2보수기(5,7,9,11)와 콘디션널 쉬프터 및 제로기(6,8,10,12)를 통해 피승수(Y)를 위의 표1의 사인 디지트 번호(Sign Digit Number)에 맞도록 연산 처리한다.
또한 피승수(Y)를 8비트라고 가정하면 콘디션널 쉬프터 및 제로기(6,8,10,12)로 부터 출력되는 9비트의 새로 연산된 4개의 수(Y')를 얻게된다. 이것을 두단의 가산 어레이(13,14)를 통해 2개로 줄이고 최종적으로 2입력 가산기(15)를 통해 가산하여 곱셈값을 얻게 된다.
그러나 종래의 변형 부스 곱셈기는 콘디션널 2보수기와 콘디션널 쉬프터 및 제로기를 4개 사용해야 하므로 회로가 복잡해지고 면적이 커지며 처리 속도가 느린 문제점이 있었다.
상기 문제점을 개선하기 위해 안출된 본 발명은 하나의 2보수기와 멀티플렉서로 구현하여 전체 칩 면적을 줄이고 속도를 향상시키기 위한 변형 부스 곱셈기를 제공함에 그 목적이 있다.
상기 목적을 달성하기 위해 본 발명은 승수와 '0'을 3비트로 나누어 피승수를 2보수로 만들 것인지, 쉬프트시킬 것인지, 또는 '0'으로 만들 것인지 결정하는 다수의 3비트 부스 인코더, 피승수를 2보수로 만들어 피승수 2보수를 출력하는 2보수기, 상기 다수의 3비트 부스 인코더로 부터 각각 출력되는 2보수 신호에 따라 상기 피승수와 상기 2보수기로 부터 출력되는 피승수 2보수 중에서 하나를 선택하는 다수의 제1멀티플렉서, 상기 다수의 제1멀티플렉서로 부터 각각 출력되는 신호를 상기 다수의 3비트 부스 인코더로 부터 각각 출력되는 쉬프트 신호와 제로신호에 따라 연산하여 출력하는 다수의 연산부, 및 상기 다수의 연산부로 부터 각각 출력되는 신호들을 가산하여 최종 곱셈값을 출력하는 가산부를 포함하여 구성되는 것을 특징으로 한다.
이하 첨부한 도면을 참조하여 본 발명의 일실시예를 상세히 설명한다.
제2도는 본 발명에 의한 변형 부스 곱셈기의 구성도이다.
본 발명에 의한 변형 부스 곱셈기는 제2도에 도시한 바와 같이 다수의 3비트 부스 인코더(21,22,23,34), 2보수기(20), 다수의 멀티플렉서(31,32,33,34), 다수의 연산부(41,42,43,44), 및 가산부(50)로 구성된다.
3비트 부스 인코더(21,22,23,24)는 승수(X)와 '0'을 3비트로 나누어 피승수(Y)를 2보수로 만들 것인지, 쉬프트시킬 것인지, 또는 '0'으로 만들것인지 결정하는 것으로, 승수(X)가 8비트인 경우 4개로 이루어진다.
즉, 3비트 부스 인코더(21,22,23,24)는 8비트의 승수(X)를 각각 '0, x(0), x(1)', 'x(1), x(2), x(3)', 'x(3), x(4), x(5)', 및 'x(5), x(6), x(7)'의 3비트로 4개로 나누어 피승수(Y)를 2보수로 만들 것인지, 쉬프트시킬 것인지, 또는 '0'으로 만들 것인지 결정한다.
2보수기(20)는 피승수(Y)를 2보수로 만들어 피승수 2보수(/Y)를 출력한다.
멀티플렉서(31,32,33,34)는 다수의 3비트 부스 인코더(21,22,23,24)로 부터 각각 출력되는 2보수 신호(twoc)에 따라 피승수(Y)와 2보수기(20)로 부터 출력되는 피승수 2보수(/Y) 중에서 하나를 선택하여 출력하는 것으로, 3비트 부스 인코더(21,22,23,24)와 동일하게 4개로 이루어진다.
연산부(41,42,43,44)는 다수의 멀티플렉서(31,32,33,34)로 부터 각각 출력되는 신호를 다수의 3비트 부스 인코더(21,22,23,24)로 부터 각각 출력되는 쉬프트 신호(Shift)와 제로신호(Zero)에 따라 연산하여 출력하는 것으로, 3비트 부스 인코더(21,22,23,24) 및 멀티플렉서(31,32,33,34)와 동일하게 4개로 이루어진다.
이때, 연산부(41,42,43,44)는 3비트 부스 인코더로 부터 출력되는 쉬프트 신호(Shift)에 따라 멀티플렉서로 부터 출력되는 신호와 '0'을 입력으로 하여 각각 쉬프트시키는 다수의 멀티플렉서(61,62,63,64,65,66,67,68,69), 및 3비트 부스 인코더로 부터 출력되는 제로신호(Zero)와 다수의 제2멀티플렉서(61,62,63,64,65,66,67,68,69)로 부터 각각 출력되는 신호를 논리곱하여 가산부(50)로 출력하는 다수의 앤드 게이트(71,72,73,74,75,76,77,78,79)로 구성된다.
여기서, 멀티플렉서(61,62,63,64,65,66,67,68,69)는 피승수(Y)가 8비트인 경우 9개로 이루어지고, 앤드 게이트(71,72,73,74,75,76,77,78,79)는 멀티플렉서(61,62,63,64,65,66,67,68,69)와 동일하게 9개로 이루어진다.
가산부(50)는 다수의 연산부(41,42,43,44)로 부터 각각 출력되는 신호들을 가산하여 최종 곱셈값을 출력하는 것으로, 4개의 연산부(41,42,43,44) 중에서 3개의 연산부(41,42,43)로 부터 각각 출력되는 신호들을 가산하여 2개의 신호를 출력하는 가산 어레이(Adder Array)(51), 4개의 연산부(41,42,43,44) 중에서 나머지 하나의 연산부(44)로 부터 출력되는 신호와 가산 어레이(51)로 부터 출력되는 2개의 신호들을 가산하여 2개의 신호를 출력하는 가산 어레이(52), 및 가산 어레이(52)로 부터 출력되는 2개의 신호들을 가산하여 최종 곱셈값을 출력하는 2입력 가산기(53)로 구성된다.
이와 같이 구성되는 본 발명에 의한 변형 부스 곱셈기의 동작을 승수(X)가 8비트인 경우를 예로들어 설명한다.
3비트 부스 인코더(21,22,23,24)에서는 8비트의 승수(X)를 각각 '0, x(0), x(1)', 'x(1), x(2), x(3)', 'x(3), x(4), x(5)', 및 'x(5), x(6), x(7)'의 3비트로 4개로 나눈후 피승수(Y)를 2보수로 만들 것인지 쉬프트시킬 것인지, 또는 '0'으로 만들 것인지를 결정하기 위해 2보수신호(twoc), 쉬프트신호(Shift), 및 제로신호(Zero)를 출력한다.
또한, 2보수기(20)에서는 입력되는 피승수(Y)를 2보수로 만들어 피승수 2보수(/Y)를 출력한다.
첫번째단의 멀티플렉서(31,32,33,34)에서는 해당하는 3비트 부스 인코더(21,22,23,24)에서 출력되는 2보수 신호(twoc)에 따라 입력되는 피승수(Y)와 2보수기(20)로 부터 출력되는 피승수 2보수(/Y) 중에서 하나를 선택하여 출력한다.
첫째단의 멀티플렉서(31,32,33,34)에서 출력되는 신호값은 각 8비트로 나뉘어져 두번째단의 멀티플렉서(61,62,63,64,65,66,67,68,69)에서 '0'과 함께 해당하는 3비트 부스 인코더(21,22,23,24)로 부터 출력되는 쉬프트 신호(Shift)에 따라 각각 쉬프트되거나 또는 그대로 출력된다.
두번째단의 멀티플렉서(61,62,63,64,65,66,67,68,69)에서 선택되어 출력되는 9개의 신호값은 앤드 게이트(71,72,73,74,75,76,77,78,79)에서 해당하는 3비트 부스 인코더(21,22,23,24)로 부터 출력되는 제로 신호(Zero)와 논리곱되어 9비트로 출력된다.
이때, 연산부(41,42,43,44)에서는 멀티플렉서(61,62,63,64,65,66,67,68,69)와 앤드 게이트(71,72,73,74,75,76,77,78,79)를 통해 각각 연산 처리가 되므로 각각 9비트의 신호를 출력하게 된다. 즉, 연산부(41,42,43,44)로 부터 출력되어 가산부(50)로 입력되는 신호는 4개의 9비트 신호가 된다.
연산부(41,42,43,44)로 부터 출력되는 4개의 9비트 값중에서 세개의 9비트 값은 가산 어레이(51)에서 가산되어 2개의 9비트 값으로 출력되고, 나머지 하나의 9비트 값은 가산 어레이(51)로 부터 출력되는 2개의 9비트 값과 가산 어레이(52)에서 가산되어 2개의 9비트 값으로 출력된다.
마지막으로 가산 어레이(52)로 부터 출력되는 2개의 9비트 값은 2입력 가산기(53)에서 가산되어 최종 곱셈 값으로 출력된다.
이상에서 설명한 바와 같이 본 발명은 기존의 부스 곱셈기를 구성하는 2보수기와 콘디션널 쉬프터 및 제로기 대신에 비교적 간단한 구조인 2보수기와 멀티플렉서를 사용하여 설계 면적을 줄이고 처리 속도를 향상시키는 효과를 가져온다.

Claims (8)

  1. 승수(X)와 '0'을 3비트로 나누어 피승수(Y)를 2보수로 만들 것인지, 쉬프트시킬 것인지, 또는 '0'으로 만들 것인지 결정하는 다수의 3비트 부스 인코더(21,22,23,24), 피승수(Y)를 2보수로 만들어 피승수 2보수(/Y)를 출력하는 2보수기(20), 상기 다수의 3비트 부스 인코더(21,22,23,24)로 부터 각각 출력되는 2보수 신호(twoc)에 따라 상기 피승수(Y)와 상기 2보수기(20)로 부터 출력되는 피승수 2보수(/Y) 중에서 하나를 선택하는 다수의 제1멀티플렉서(31,32,33,34), 상기 다수의 제1멀티플렉서(31,32,33,34)로 부터 각각 출력되는 신호를 상기 다수의 3비트 부스 인코더(21,22,23,24)로 부터 각각 출력되는 쉬프트 신호(Shift)와 제로신호(Zero)에 따라 연산하여 출력하는 다수의 연산부(41,42,43,44), 및 상기 다수의 연산부(41,42,43,44)로 부터 각각 출력되는 신호들을 가산하여 최종 곱셈값을 출력하는 가산부(50)를 포함하여 구성되는 것을 특징으로 하는 변형 부스 곱셈기.
  2. 제1항에 있어서, 상기 3비트 부스 인코더는 승수(X)가 8비트인 경우 4개로 이루어지는 것을 특징으로 하는 변형 부스 곱셈기.
  3. 제2항에 있어서, 상기 제1멀티플렉서는 4개로 이루어지는 것을 특징으로 하는 변형 부스 곱셈기.
  4. 제3항에 있어서, 상기 연산부는 4개로 이루어지는 것을 특징으로 하는 변형 부스 곱셈기.
  5. 제4항에 있어서, 상기 연산부는 상기 3비트 부스 인코더로 부터 출력되는 쉬프트 신호(Shift)에 따라 상기 제1멀티플렉서로 부터 출력되는 신호와 '0'을 입력으로 하여 각각 쉬프트시키는 다수의 제2멀티플렉서(61,62,63,64,65,66,67,68,69), 및 상기 3비트 부스 인코더로 부터 출력되는 제로신호(Zero)와 다수의 제2멀티플렉서(61,62,63,64,65,66,67,68,69)로 부터 각각 출력되는 신호를 논리곱하여 상기 가산부(50)로 출력하는 다수의 앤드 게이트(71,72,73,74,75,76,77,78,79)를 포함하여 구성되는 것을 특징으로 하는 변형 부스 곱셈기.
  6. 제5항에 있어서, 상기 제2멀티플렉서는 피승수(Y)가 8비트인 경우 9개로 이루어지는 것을 특징으로 하는 변형 부스 곱셈기.
  7. 제6항에 있어서, 상기 앤드 게이트는 9개로 이루어지는 것을 특징으로 하는 변형 부스 곱셈기.
  8. 제4항에 있어서, 상기 가산부(50)는 상기 4개의 연산부(41,42,43,44)중에서 3개의 연산부(41,42,43)로 부터 각각 출력되는 신호들을 가산하여 2개의 신호를 출력하는 제1가산 어레이(Adder Array)(51), 상기 4개의 연산부(41,42,43,44) 중에서 나머지 하나의 연산부(44)로 부터 출력되는 신호와 상기 제1가산 어레이(51)로 부터 출력되는 2개의 신호들을 가산하여 2개의 신호를 출력하는 제2가산 어레이(52), 및 상기 제2가산 어레이(52)로 부터 출력되는 2개의 신호들을 가산하여 최종 곱셈값을 출력하는 2입력 가산기(53)를 포함하여 구성되는 것을 특징으로 하는 변형 부스 곱셈기.
KR1019950062109A 1995-12-28 1995-12-28 변형 부스 곱셈기 KR0172308B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950062109A KR0172308B1 (ko) 1995-12-28 1995-12-28 변형 부스 곱셈기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950062109A KR0172308B1 (ko) 1995-12-28 1995-12-28 변형 부스 곱셈기

Publications (2)

Publication Number Publication Date
KR970049451A KR970049451A (ko) 1997-07-29
KR0172308B1 true KR0172308B1 (ko) 1999-03-30

Family

ID=19446116

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950062109A KR0172308B1 (ko) 1995-12-28 1995-12-28 변형 부스 곱셈기

Country Status (1)

Country Link
KR (1) KR0172308B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150125098A (ko) * 2014-04-29 2015-11-09 연세대학교 산학협력단 부스 알고리즘 인코더 및 곱셈기

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150125098A (ko) * 2014-04-29 2015-11-09 연세대학교 산학협력단 부스 알고리즘 인코더 및 곱셈기

Also Published As

Publication number Publication date
KR970049451A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
EP0239899B1 (en) Multiplier array circuit
US5790446A (en) Floating point multiplier with reduced critical paths using delay matching techniques
KR940002479B1 (ko) 고속 디지탈 병렬승산기(multiplier)
EP0574018B1 (en) Accumulating multiplication circuit executing a double precision multiplication at a high speed
US6609143B1 (en) Method and apparatus for arithmetic operation
JPH02196328A (ja) 浮動小数点演算装置
KR960002061A (ko) 부동소수점수를 위한 산술연산장치
GB2373883A (en) Logic circuit for performing binary addition or subtraction
US5862068A (en) Arithmetic circuit for calculating a square-root of a sum of squares
US4823300A (en) Performing binary multiplication using minimal path algorithm
KR100627993B1 (ko) 3입력 분할 가산기
KR0172308B1 (ko) 변형 부스 곱셈기
KR100290906B1 (ko) 부동소수점곱셈기에서반올림과덧셈을동시에수행하는장치및방법
KR100513160B1 (ko) 감소된 면적을 갖는 캐리 예측 가산기
US5206826A (en) Floating-point division cell
US5883825A (en) Reduction of partial product arrays using pre-propagate set-up
KR19980032055A (ko) 제산장치
GB2226165A (en) Parallel carry generation adder
JPH0822451A (ja) 演算器およびマイクロプロセッサ
JP2606326B2 (ja) 乗算器
JP3077880B2 (ja) スティッキービット検出回路
KR0136486B1 (ko) 변형 부스 곱셈기
JPH11282651A (ja) 並列乗算器
US6546410B1 (en) High-speed hexadecimal adding method and system
KR0170729B1 (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: 20050923

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee