redundant binary 를 이용한 고성능 , 저전력의 변형된 booth 곱셈기

23
Redundant Binary 를 를를를 를를를 , 를를를를 를를를 Booth 를를를 를를를를를를 VADA Lab. 를 를 를

Upload: maris

Post on 05-Jan-2016

94 views

Category:

Documents


1 download

DESCRIPTION

Redundant Binary 를 이용한 고성능 , 저전력의 변형된 Booth 곱셈기. 성균관대학교 VADA Lab. 김 진 혁. 목 차. 연구의 중요성 연구배경 Modified Booth 곱셈기 Wallace Tree - 4:2 Compressor 제안된 Carry-Propogation-Free Adder 제안된 Basic Encoding Method (BEM) 제안된 Extended Encoding Method (EEM) 제안된 곱셈의 Block Diagram 실험결과 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

Redundant Binary 를 이용한 고성능 , 저전력의 변형된 Booth 곱셈기

성균관대학교VADA Lab.

김 진 혁

Page 2: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

목 차

연구의 중요성 연구배경 Modified Booth 곱셈기 Wallace Tree - 4:2 Compressor 제안된 Carry-Propogation-Free Adder 제안된 Basic Encoding Method (BEM) 제안된 Extended Encoding Method (EEM) 제안된 곱셈의 Block Diagram 실험결과 결론 및 향후계획

Page 3: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

연구의 중요성

곱셈은 덧셈과 함께 correlation, convolution, filtering, DFT(Discrete Fourier

Transform) 등과 같은 디지털 신호 처리에 있어서 가장 많이 사용되는 연산이다 .

최근 멀티미디어에 대한 관심이 높아지면서 MPEG 등과 같은 대규모 데이터들의 실시간 처리를 위해서는 DCT 등의 비선형 연산이 필요하다 .

이러한 비선형 함수의 계산은 곱셈과 덧셈을 반복적으로 수행함으로써 이루어지기 때문에 덧셈이나 곱셈이 전체 시스템에 많은 영향을 미친다 .

곱셈 연산은 기본적으로 덧셈 연산을 포함하고 있기 때문에 덧셈보다 수행속도가 느리므로 고속 , 저전력의 곱셈기가 전체 시스템의 성능을 높이기 위하여 매우 중요하다 .

Page 4: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

연구배경

곱셈기는 크게 두 부분의 기능 블럭으로 구성된다 .

현재 가장 많이 사용되는 곱셈기는 부분합들을 만들어 내는 인코더부분은 Booth 인코더를 , 부분합들을 더하는 adder array 에는 Wallace Tree 를 이용하는 곱셈기이다 .

본 논문에서는 2 의 보수가 아닌 Redundant Binary 표현 ( , 0, 1 ) 을 사용하여 새로운 Booth 인코더를 제안하였고 , 이를 Carry-Propagatio

n-Free Adder 를 사용하여 부분곱들을 더하는 새로운 곱셈기를 제안하였다 .

1

Page 5: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

Modified Booth 곱셈기

R ecoded D ig it O peration on X

0 : Add 0 to the partia l product

+1 : Add X to the partia l product

+2 : Sh ift le ft X one position and add it

to the partia l product

-1 : Add two’s com plem ent o f X to the

partia l product

-2 : Take two’s com plem ent o f X and

sh ift le ft one position

Y 2i+1 Y 2i Y 2I-1 R ecoded O peration D ig it on X

0 0 0 0 0X 0 0 1 +1 +1X 0 1 0 +1 +1X 0 1 1 +2 +2X 1 0 0 -2 -2X 1 0 1 -1 -1X 1 1 0 -1 -1X 1 1 1 0 0X

Multibit Recoding 을 사용하여 부분합의 갯수를 n/2 개로 줄여 고속의 곱셈을 가능하게 한다 . 피승수 (multiplicand) : X , 승수 (multiplier) : Y Recoded digit = Y2i-1 + Y2i -2Y2i+1 ( Y-1=0 )

< Generation and operation of recoded digit >

Page 6: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

Modified Booth 곱셈기 - 예

Example

10010101 = X

01101001 = Y

1111111110010101000000110101100000011010111100101010

1101010000011101 = P (- 11235)

(- 107)

(+ 105)Operation B its recoded

+ 1- 2- 1+ 2

010100101011

signextension

Page 7: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

Wallace Tree - 4:2 CompressorX 7Y 7

X 0

Y 0

..............

.............. : Zero: B it jum ping leve l: partia l p roduct: b it genera ted by

com pressor

1st stage

2nd stage

Two sum m ands tobe added

(a)

4*8 Partia l P roduct generators

8 4-2 com pressors

4*8 Partia l P roduct generators

8 4-2 com pressors

16-b it adder

11 4-2 com pressors

1st stage(b lock A )

1st stage(b lock B )

2nd stage(b lock C )

X3 , X2 , X1 , X0

X7 , X6 , X5 , X4

8

4

4Y

P 0P 15

(b)

Page 8: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

Carry-Propagation-Free Adder

Carry-Propagation-Free adder 는 carry propagation 의 발생없이 2 진 트리형태로 덧셈이 가능하기 때문에 고속 및 저전력을 실현할 수 있다 .

Carry-Propagation-Free adder 는 다음과 같은 2 단계로 구성된다– 첫번째 단계 : intermediate sum 과 intermediate carry 를 만드는 단계– 두번째 단계 : final sum 을 만드는 단계

첫번째 단계에서의 계산 법칙

TypeAugend digit

(xi)Addend digit

(yi)

Digits at the nextlower order position

(xi- 1 , yi- 1)

Intermediatecarry(ci)

Intermediatesum(si)

1

0 both arenonnegative

otherwise

1

1

1

10

0 0

1

1 1

both arenonnegative

otherwise

1

1

0

0

1 1

1 0

11

10

0 0

0 1

11

1 0

<1>

<2>

<3>

<4>

<5>

<6>

Page 9: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

Redundant binary 표현은 { , 0, 1 } 으로 구성된다 . 다음과 같이 하나의 digit 를 두 개의 bits 로 표현한다 .

곱셈 연산은 shift-and-add 알고리즘을 사용하기 때문에 덧셈기는 다음과 같이 세 부분으로 구성된다 .

제안된 Carry-Propagation-Free Adder

1

n-b it

n -b it

Remain adder Body adder P ass adder

augend

addend

RedundantB inary Value

Binary ValueS bit V bit

1

0

1

1

1

0

00

0

Page 10: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

제안된 Carry-Propagation-Free Adder 의회로도

Body adder Remain adder

Page 11: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

제안된 Basic Encoding Method (BEM)

Multibit Recoding 과 Booth 인코더를 위해서는 새로운 코딩이 필요하다 . 제안된 코딩은 양수와 음수로 나누어 진다 .

– 양수인 경우

여기에서 , ,

– 음수인 경우

여기에서 , ,

그러므로 , RB 으로 구성된 Y(n-bit) 는

여기에서 , ,

2

0

2n

i

iiyY }1,0{iy 01 ny

2

0

2n

i

iiyY }1,0{iy 01 ny

1

0

2n

i

iiyY }1,0{or {0,1} iy 01 ny

12

0

212212 2)2(

n

i

iiii yyy

Page 12: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

제안된 Basic Encoding Method (BEM) - 예

4-bit 코딩의 예

양 수 음 수

00000001001000110100010101100111

100001001100

0010101001101110

Page 13: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

제안된 Extended Encoding Method (EEM)

BEM 방법은 세 가지 digits({ , 0, 1 }) 를 사용하므로 면적 , 속도 그리고 전력 소비 면에서 단점을 가지고 있다 .

이러한 단점을 보안하기 위한 아래 식과 같은 새로운 Extended Encoding Method(EEM) 를 제안한다 .

EEM 은 Virtual MSB( ) 를 사용한 코딩 방식이다 .– 양수인 경우 ( )

, 여기에서

– 음수인 경우 ( )

, 여기에서

2

0

2n

i

iiyY

2

0

2n

i

iiyY

}1,0{iy

}1,0{iy

1

1ns

01 ns

11 ns

Page 14: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

제안된 Extended Encoding Method (EEM) - 예

4-bit 코딩의 예

양 수 음 수00000001001000110100010101100111

1001101010111100110111101111

Page 15: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

Conversion 알고리즘

2 의 보수의 제안된 EEM 으로의 변환은 다음과 같다 .– 양수인 경우 , 여기에서

– 음수인 경우

, 여기에서

8 bits 인 경우의 예

202202 ][][ SDnn yyyy

2022202 ][]][[ SDnn yyyy }1,0{iy

}1,0{iy

[ 0 0 1 1 1 0 1 0 ] 2 [ 0 0 1 1 1 0 1 0 ] SD2

[ 1 0 1 1 1 0 1 0 ] 2 [ 1 1 0 0 0 1 1 0 ] SD2

convert

convert

Page 16: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

Redundant Binary (RB) Booth 곱셈기 RB 를 사용하여 Booth 새로운 인코더를 제안한다 . Recoded Digit ( )= Y2i-1 + Y2i -2Y2i+1 ( Y-1=0)

Receded Digit ( )= - ( Y2i-1 + Y2i -2Y2i+1) ( Y-1=0) Recoded Digit 의 생성과 역할

인 경우 인 경우

y2i-1 y2i y2i+1 RecodedDigit

Operationon X

00001111

00110011

01010101

0+1+1+2-2-1-10

0X+1X+1X+2X-2X-1X-1X0X

y2i-1 y2i y2i+1 RecodedDigit

Operationon X

00001111

00110011

01010101

0-1-1-2+2+1+10

0X-1X-1X-2X+2X+1X+1X0X

01 ns

11 ns

01 ns 11 ns

Page 17: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

제안된 Encoder 의 회로도

Page 18: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

Redundant Binary (RB) Booth 곱셈기

Example

제안된 알고리즘의 장점– carry propagation 이 발생하지 않는다 .– Sign extension 부분이 필요하지 않다 .– 4:2 compressor 를 사용하지 않으면서도 시스템의 성능을 저하시키지 않는다 .– 부분합을 생성하는 과정에서 area, speed 그리고 power 를 최소화하였다 .

+

Multiplicand (X)

Multiplier (Y )

[ 0 1 1 0 1 1 0 1 ] SD2

[ 1 1 1 0 1 0 1 0 ] SD2

[ 0 1 1 0 1 1 0 1 0 ] SD2

[ 0 1 1 0 1 1 0 1 ] SD2

[ 0 1 1 0 1 1 0 1 ] SD2

[ 1 1 1 0 1 1 0 1 0 ] SD2

[ 0 0 1 1 0 1 1 1 0 1 1 0 0 0 1 0 ] SD2

RecodedDigit

Multibit

+2

+1

+1

- 2

1 0 0

1 0 1

1 0 1

0 1 1

(+109)

(- 106)

(- 11554)

Page 19: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

제안된 곱셈기의 Block Diagram

C onverter

P roduct

C onverter

B oothE nco-

der

C onv-erter

B oothS elector

C arry-P ropagation-Free Adder

X

Y

P

Page 20: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

실험결과 - Area

0

5000

10000

15000

20000

25000

gates

8 16 24 32

bits

AREA

BWPRBDW02_mult

MultiplierBits

DW02_mult BW PRB

8 633 1092 862

16 2760 5093 3955

24 6365 10760 9581

32 11647 20097 17151

Page 21: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

실험결과 - Delay

0

50

100

150

200

250

300

del

ay(n

s)

8 16 24 32

bits

DELAY

BWPRBDW02_mult

MultiplierBits

DW02_mult BW PRB

8 56.20 44.59 31.84

16 114.92 93.87 46.63

24 164.50 121.468 64.96

32 283.03 195.636 79.48

Page 22: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

실험결과 - Power Dissipation

0

1000

2000

3000

4000

5000

6000

7000

pow

er d

issi

pat

ion(

uw)

8 16 24 32

bits

POWER DISSIPATION

BWPRBDW02_mult

MultiplierBits

DW02_mult BW PRB

8 158.9884 177.8834 110.6359

16 1284.2 684.4495 527.8419

24 4226.9 1312.4484 1218.3944

32 6028.4 2278.5924 2149.9752

Page 23: Redundant Binary 를 이용한 고성능 ,  저전력의 변형된  Booth  곱셈기

결론 및 향후계획 본 논문에서는 Redundant Binary 를 사용하여 고성능 , 저전력의 Boot

h 곱셈 알고리즘을 제안하였다 .

제안된 곱셈기의 특징은 다음과 같다 .

– Booth 알고리즘을 사용하여 n/2 개의 부분곱을 생성하므로 고속의 연산을 가능하게 하였다 .

– Redundant Binary 수치계를 이용한 carry-propagation-free adder 를 사용하여 고속 , 저전력을 실현하였다 .

– 새로운 encoding 알고리즘을 제안하여 부분곱 생성과정에서 면적 , 속도 그리고 전력면에서 많은 이득을 얻을 수 있었다 .

– Redundant Binary 로 인하여 array 곱셈기보다는 면적의 증가가 있지만 , W

allace tree 를 이용한 Booth 곱셈기보다는 면적의 감소가 있었다 .

향후 제안된 곱셈기는 Digital Signal Processing(DSP) 분야에 매우 효과적으로 이용될 수 있을 것이다 .