KR19990071129A - 부스 곱셈기의 부분곱 처리장치 - Google Patents

부스 곱셈기의 부분곱 처리장치 Download PDF

Info

Publication number
KR19990071129A
KR19990071129A KR1019980006395A KR19980006395A KR19990071129A KR 19990071129 A KR19990071129 A KR 19990071129A KR 1019980006395 A KR1019980006395 A KR 1019980006395A KR 19980006395 A KR19980006395 A KR 19980006395A KR 19990071129 A KR19990071129 A KR 19990071129A
Authority
KR
South Korea
Prior art keywords
multiplier
partial product
sign
booth
partial
Prior art date
Application number
KR1019980006395A
Other languages
English (en)
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 KR1019980006395A priority Critical patent/KR19990071129A/ko
Publication of KR19990071129A publication Critical patent/KR19990071129A/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
    • 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/527Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel
    • G06F7/5272Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel with row wise addition of partial products
    • G06F7/5275Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other 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

본 발명은 부스(Booth) 알고니즘을 사용하는 곱셈기에서 생성되는 부분곱들의 덧셈을 효율적으로 수행해주는 부호벡터 개념을 이용한 부스 곱셈기의 부분곱 처리장치에 관한 것으로서, 피승수와 승수를 받아 부스 알고니즘을 수행하여 비트신호와 승수곱 선택신호를 출력하는 부스 인코더부의 비트신호와 승수곱 선택신호를 받아 부분곱을 처리하는 부스 곱셈기의 부분곱 처리장치에 있어서, 상기 피승수를 받아 부분곱을 생성하는 복수개의 승수곱으로 구성되는 승수곱 생성기와, 상기 부호비트의 신호를 받아 부호벡터를 생성하여 부호발생기법에 적용하는 부호벡터 생성 로직부와, 그리고 상기 승수곱 생성기의 각 승수곱에 대한 부분곱과 상기 부호비트와 승수곱 선택신호를 선택신호군으로하여 부분곱을 출력하는 복수개의 멀티플렉서를 포함하여 구성됨을 특징으로 한다.

Description

부스 곱셈기의 부분곱 처리장치
본 발명은 부스(Booth) 알고니즘을 사용하는 곱셈기에서 생성되는 부분곱들의 덧셈을 효율적으로 수행해주는 부호벡터 개념을 이용한 부분곱 처리구조에 관한 것으로, 특히 기존의 부호발생기법에 부호벡터 개념을 접목시켜 부분곱을 가산하는 CSA(Carry Save Adder) 트리구조에서 배선의 규칙성을 가져오고 하드웨어 복잡도를 감소시키는데 적당한 부스 곱셈기의 부분곱 처리장치에 관한 것이다.
일반적으로 그래픽이나 멀티미디어 프로세서 혹은 마이크로 프로세서내에서 수행되는 연산 중 가장 큰 비중을 차지하며, 프로세서의 성능에 큰 영향을 미치는 기능이 곱셈 연산이다.
상기 프로세서들이 가지는 곱셈은 단순한 n×n비트 곱셈뿐만 아니라 두 개의 복소수를 곱하는 기능인 컴플렉스 멀티피케이션(Complex multiplication), 두 벡터의 도트(Dot), 크로스 프로덕트(Cross product)를 구하는 기능, 두 벡터의 내적을 구하는 곱셈 등의 다양한 기능을 나타내고 있다.
그리고 피승수(A)와 승수(B)의 곱셈은 A와 B의 i자리(i=1,2,3,…,n)와의 곱을 결정하는 일련의 n개의 간단한 곱셈으로 분해된다. B의 i번째까지 곱셈을 한 중간 결과를 부분곱이라고 한다. 부분곱은 자리이동과 덧셈의 반복으로 축차적으로 구하여진다.
이하, 첨부된 도면을 참고하여 일반적인 부스 곱셈기를 설명하면 다음과 같다.
도 1은 일반적인 부스 곱셈기를 나타낸 구성 블록도이다.
도 1에 도시한 바와 같이 입력되는 피승수(A)와 승수(B)에 대하여 부스 알고니즘을 수행하여 부분곱을 출력하는 부스 인코더부(11)와, 상기 부스 인코더부(11)의 부분곱과 피승부(A)에 대하여 압축 알고니즘을 수행하여 두 개의 데이터로 압축하여 출력하는 부분곱 생성기(12)와, 상기 부분곱 생성기(12)로부터 압축된 데이터를 부호발생기법에 의해 부호벡터 개념을 접목시켜 부분곱을 가산하여 출력하는 CSA(Carry Save Adder) 트리부(13)와, 상기 CSA 트리부(13)에서 가산된 부분곱을 받아 자리올림을 예견하는 자리올림 선회 제어(Carry Look-ahead)부(14)와, 상기 자리올림 선회 제어부(14)의 데이터를 받아 가산하여 곱(P)을 출력하는 가산부(15)를 포함하여 구성된다.
여기서 상기 승수(A)와 피승수(B) 그리고 가산부(15)에 입력되는 라인에 데이터의 래치를 위한 래치부(16a,16b,16c)가 각각 구성된다.
도 2는 종래 기술의 부스 곱셈기의 부분곱 처리장치를 나타낸 블록도이다.
도 2에 도시한 바와 같이, 도 1의 부스 곱셈기의 부스 인코더부(11)에서 생성된 신호들에 의해 부분곱 생성기(12)에서 부분곱(PPj)을 얻는다.
한편, 종래 기술의 부스 곱셈기의 부분곱 처리장치는 승수곱 생성기(21)와 복수개의 멜티플렉서(22)들로 구성된다.
그리고 상기 승수곱 생성기(21)는 복수개의 승수곱(21a,21b,21c,21d,21e)으로 구성된다.
즉, 승수곱 생성기(21)는 리코딩 크기(부스 알고니즘에서 한 번에 관찰하는 승수의 비트수)가 3인 경우에 복수개의 승수곱(21a,21b,21c,21d,21e)과 같은 형태로 부분곱(PPj)을 만든다.
한편, 승수곱 생성기(21)의 승수곱(21d,21e)에서는 부스 인코더부(11)에서 출력되는 부호비트(SIGNj)가 음(-)인 경우에는 음(-)의 부분곱을 얻기 위하여 양(+)의 부분곱을 비트 반전한 후에 1을 가산한다.
이를 구현하기 위해 증가기(Incrementer)(도면에는 도시하지 않음)가 승수곱 생성기(21)에 포함되게 된다.
그리고 승수곱 생성기(21)에서 생성된 승수곱을 입력으로 하고 부스 인코더부(11)에서 출력되는 부호비트(SIGNj)와 승수곱 선택신호(SELj)를 선택신호군으로 하는 멀티플렉서(22)를 통해 부분곱(PPj)이 생성된다.
한편, 생성된 부분곱(PPj)들은 CSA 트리부(13)의 입력으로 들어가는데, 2의 보수 숫자 체계로 인해 도 3a의 부호확장기법에서와 같은 부호확장을 시켜서 덧셈이 행해지도록 한다.
또한, 도 3b의 부호발생기법는 부호의 확장없이 같은 비트수를 가진 부분곱들의 2의 보수 덧셈을 용이하게 해준다.
그러나 상기와 같은 종래 기술의 부스 곱셈기의 부분곱 처리장치에 있어서 다음과 같은 문제점이 있었다.
즉, 부호확장에 의해 CSA 트리부로 들어가는 부분곱의 비트수가 증가하여 칩면적의 증가를 가져오며, 속도면에서도 느리게 된다. 또한 음(-)의 부분곱을 얻기 위해 추가적인 증가기가 필요하게 되어 속도의 저하가 일어난다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로 부스 알고니즘을 사용하는 곱셈기에서 생성되는 부분곱들의 덧셈을 효율적으로 수행해주는 부호발생기법에 부호벡터 개념을 접목시켜 부분곱을 가산하는 CSA 트리구조에서 배선의 규칙성에 의해 칩면적을 증가를 방지하고 하드웨어 복잡도를 감소시키어 속도를 빠르게 하도록 한 부스 곱셈기의 부분곱 처리장치를 제공하는데 그 목적이 있다.
도 1은 일반적인 부스 곱셈기를 나타낸 구성 블록도
도 2는 종래 기술의 부스 곱셈기의 부분곱 처리장치를 나타낸 블록도
도 3a는 종래 기술에 적용된 보호확장기법을 나타낸 도면
도 3b는 본 발명에 적용된 부호발생기법을 나타낸 도면
도 4는 본 발명에 의한 부스 곱셈기의 부분곱 처리장치를 나타낸 블록도
도 5는 본 발명에 의해 생성된 부호벡터와 부분곱들의 보여주는 도면
도면의 주요부분에 대한 부호의 설명
31 : 승수곱 생성기 32 : 부호벡터 생성 로직부
33 : 멀티플렉서
상기와 같은 목적을 달성하기 위한 본 발명에 의한 부스 곱셈기의 부분곱 처리장치는 피승수와 승수를 받아 부스 알고니즘을 수행하여 비트신호와 승수곱 선택신호를 출력하는 부스 인코더부의 비트신호와 승수곱 선택신호를 받아 부분곱을 처리하는 부스 곱셈기의 부분곱 처리장치에 있어서, 상기 피승수를 받아 부분곱을 생성하는 복수개의 승수곱으로 구성되는 승수곱 생성기와, 상기 부호비트의 신호를 받아 부호벡터를 생성하여 부호발생기법에 적용하는 부호벡터 생성 로직부와, 그리고 상기 승수곱 생성기의 각 승수곱에 대한 부분곱과 상기 부호비트와 승수곱 선택신호를 선택신호군으로하여 부분곱을 출력하는 복수개의 멀티플렉서를 포함하여 구성됨을 특징으로 한다.
이하, 첨부된 도면을 참고하여 본 발명에 의한 부스 곱셈기의 부분곱 처리장치를 상세히 설명하면 다음과 같다.
도 4는 본 발명에 의한 부스 곱셈기의 부분곱 처리장치를 나타낸 구성 블록도이다.
도 4에 도시한 바와 같이, n비트의 피승수(A) 및 승수(B)에 대하여 부스 알고니즘을 수행하여 비트신호(SIGNj)와 승수곱 선택신호(SELj)를 출력하는 부스 인코더부(도면에는 도시하지 않음)의 비트신호와 승수곱 선택신호를 받아 부분곱을 처리하는 부스 곱셈기의 부분곱 처리장치에 있어서, 상기 피승수(A)를 받아 부분곱을 생성하는 복수개의 승수곱(31a,31b,31c,31d,31e)으로 구성되는 승수곱 생성기(31)와, 상기 부호비트의 신호를 받아 부호벡터를 생성하여 부호발생기법에 적용하는 부호벡터 생성 로직부(32)와, 상기 승수곱 생성기(31)의 각 승수곱에 대한 부분곱과 부호비트(SIGNj) 및 승수곱 선택신호(SELj)를 선택신호군으로하여 부분곱(PPj)을 출력하는 복수개의 멀티플렉서(33)으로 구성된다.
현편, 상기 승수곱 생성기(31)는 리코딩 크기가 3인 경우에 복수개의 승수곱(31a,31b,31c,31d,31e) 등으로 구성된다.
여기서 상기 부호베터 생성 로직부(32)의 Sj는 부스 인코더의 부호비트이고, 부호벡터는 리코딩 크기(부스 알고니즘에서 한 번에 관찰하는 승수의 비트수)가 3인 경우를 나타내고, 첫 번째와 두 번째에 나오있는 10는 부호발생기법 적용을 위해 첨가한 것이다.
종래 기술에서 도 3b의 부호발생기법은 부호의 확장없이 같은 비트수를 가진 부부곱들의 2의 보수 덧셈을 용이하게 해주는 기법으로, 본 발명에서는 부호발생기법을 적용하기 위해 도 4의 승수곱 생성기(31)에서와 같이 부호벡터를 생성하는 부호벡터 생성 로직부(32)를 구성한다.
또한, 음(-)의 부분곱을 얻기위해 행해지는 1을 가산하는 과정이 생략되고 단지 양(+)의 부분곱을 비트반전시키고, 1 가산과정은 부호벡터 생성 로직부(32)를 사용하여 부호벡터를 한 번에 처리한다.
즉, 도 1의 부스 인코더부(11)에서 생성되는 각 부호비트들을 각 부분곱(PP*j)의 LSB 위치에 놓고 도 3의 부호발생기법에서의 1 가산을 부호벡터 생성 로직부(32)에서 처럼 얹어 놓음으로써 부호벡터 생성 로직부(32)의 부호벡터를 완성한다.
상기와 같이 만들어진 부분곱들과 부호벡터 생성 로직부(32)의 부호벡터는 도 1의 CSA 트리부(13)의 입력으로 들어가고, 도 5에서와 같이 부호벡터와 부분곱들의 배열을 통해 덧셈이 행해진다.
이상에서 설명한 바와같이 본 발명에 의한 부스 곱셈기의 부분곱 처리장치에 있어서 부호발생기법과 부호벡터 개념의 사용으로 인하여 부스 곱셈기에서의 부분곱 특히 음의 부분곱 효과적으로 생성시킴에 따라 칩 면적의 감소와 아울러 속도를 향상시킬 수 있는 효과가 있다.

Claims (2)

  1. 피승수와 승수를 받아 부스 알고니즘을 수행하여 비트신호와 승수곱 선택신호를 출력하는 부스 인코더부의 비트신호와 승수곱 선택신호를 받아 부분곱을 처리하는 부스 곱셈기의 부분곱 처리장치에 있어서,
    상기 피승수를 받아 부분곱을 생성하는 복수개의 승수곱으로 구성되는 승수곱 생성기와,
    상기 부호비트의 신호를 받아 부호벡터를 생성하여 부호발생기법에 적용하는 부호벡터 생성 로직부와, 그리고
    상기 승수곱 생성기의 각 승수곱에 대한 부분곱과 상기 부호비트와 승수곱 선택신호를 선택신호군으로하여 부분곱을 출력하는 복수개의 멀티플렉서를 포함하여 구성됨을 특징으로 하는 부스 곱셈기의 부분곱 처리장치.
  2. 제 1 항에 있어서,
    상기 부호벡터 생성 로직부의 부호벡터에 의한 음의 부분곱 생성시 1의 가산과정을 효율적으로 처리함을 특징으로 하는 부스 곱셈기의 부분곱 처리장치.
KR1019980006395A 1998-02-27 1998-02-27 부스 곱셈기의 부분곱 처리장치 KR19990071129A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980006395A KR19990071129A (ko) 1998-02-27 1998-02-27 부스 곱셈기의 부분곱 처리장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980006395A KR19990071129A (ko) 1998-02-27 1998-02-27 부스 곱셈기의 부분곱 처리장치

Publications (1)

Publication Number Publication Date
KR19990071129A true KR19990071129A (ko) 1999-09-15

Family

ID=65894108

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980006395A KR19990071129A (ko) 1998-02-27 1998-02-27 부스 곱셈기의 부분곱 처리장치

Country Status (1)

Country Link
KR (1) KR19990071129A (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 연세대학교 산학협력단 부스 알고리즘 인코더 및 곱셈기

Similar Documents

Publication Publication Date Title
KR100264961B1 (ko) 비트 길이가 다른 다중수를 지원하는 병렬 승산기
US4354249A (en) Processing unit for multiplying two mathematical quantities including at least one complex multiplier
Srinivas et al. New realization of low area and high-performance Wallace tree multipliers using booth recoding unit
Ulman et al. Highly parallel, fast scaling of numbers in nonredundant residue arithmetic
EP0670061B1 (en) Enhanced fast multiplier
JP3660075B2 (ja) 除算装置
KR19990071129A (ko) 부스 곱셈기의 부분곱 처리장치
JPH08314697A (ja) 符号付き/符号なし数兼用乗算器
KR0147942B1 (ko) 승산기에서의 부스 레코딩회로
JPS58129653A (ja) 乗算方式
Murali et al. An optimized implementation of vedic multiplier using barrel shifter in FPGA technology
Thomas et al. Comparison of Vedic Multiplier with Conventional Array and Wallace Tree Multiplier
RU2797164C1 (ru) Конвейерный умножитель по модулю
KR19980084342A (ko) 2 사이클 파이프라인 방식으로 부동 소수점 데이터를 곱셈 처리하는 방법 및 장치
KR100386979B1 (ko) 갈로아체상에서 비트 직렬 승산기의 병렬화 방법 및 이를이용한 직병렬 승산기
JPH10333885A (ja) 乗算回路
KR0136484B1 (ko) 이진 보수 발생을 위한 병렬 곱셈기
KR950010451B1 (ko) 그룹 트리구조 알고리즘(GTSM ; Group Tree Structure Method)을 적용한 고속 승산기
JP2608090B2 (ja) 高基数非回復型除算装置
KR0141879B1 (ko) 파이프라인을 이용한 수정형 부스승산기
KR19990003926A (ko) 곱셈기의 면적 감소와 고속 동작을 위한 부분곱 생성과 부분곱 가산 트리를 구현하는 방법
KR0136486B1 (ko) 변형 부스 곱셈기
JPH1011418A (ja) 積和演算装置
Ravi et al. Pipelined C2 MOS register high speed modified Booth multiplier
JP3130797B2 (ja) 積和演算処理方法およびその装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application