redundant binary 를 이용한 고성능 , 저전력의 변형된 booth 곱셈기
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 PresentationTRANSCRIPT
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 실험결과 결론 및 향후계획
연구의 중요성
곱셈은 덧셈과 함께 correlation, convolution, filtering, DFT(Discrete Fourier
Transform) 등과 같은 디지털 신호 처리에 있어서 가장 많이 사용되는 연산이다 .
최근 멀티미디어에 대한 관심이 높아지면서 MPEG 등과 같은 대규모 데이터들의 실시간 처리를 위해서는 DCT 등의 비선형 연산이 필요하다 .
이러한 비선형 함수의 계산은 곱셈과 덧셈을 반복적으로 수행함으로써 이루어지기 때문에 덧셈이나 곱셈이 전체 시스템에 많은 영향을 미친다 .
곱셈 연산은 기본적으로 덧셈 연산을 포함하고 있기 때문에 덧셈보다 수행속도가 느리므로 고속 , 저전력의 곱셈기가 전체 시스템의 성능을 높이기 위하여 매우 중요하다 .
연구배경
곱셈기는 크게 두 부분의 기능 블럭으로 구성된다 .
현재 가장 많이 사용되는 곱셈기는 부분합들을 만들어 내는 인코더부분은 Booth 인코더를 , 부분합들을 더하는 adder array 에는 Wallace Tree 를 이용하는 곱셈기이다 .
본 논문에서는 2 의 보수가 아닌 Redundant Binary 표현 ( , 0, 1 ) 을 사용하여 새로운 Booth 인코더를 제안하였고 , 이를 Carry-Propagatio
n-Free Adder 를 사용하여 부분곱들을 더하는 새로운 곱셈기를 제안하였다 .
1
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 >
Modified Booth 곱셈기 - 예
Example
10010101 = X
01101001 = Y
1111111110010101000000110101100000011010111100101010
1101010000011101 = P (- 11235)
(- 107)
(+ 105)Operation B its recoded
+ 1- 2- 1+ 2
010100101011
signextension
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)
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>
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
제안된 Carry-Propagation-Free Adder 의회로도
Body adder Remain adder
제안된 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
제안된 Basic Encoding Method (BEM) - 예
4-bit 코딩의 예
양 수 음 수
00000001001000110100010101100111
100001001100
0010101001101110
제안된 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
제안된 Extended Encoding Method (EEM) - 예
4-bit 코딩의 예
양 수 음 수00000001001000110100010101100111
1001101010111100110111101111
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
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
제안된 Encoder 의 회로도
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)
제안된 곱셈기의 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
실험결과 - 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
실험결과 - 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
실험결과 - 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
결론 및 향후계획 본 논문에서는 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) 분야에 매우 효과적으로 이용될 수 있을 것이다 .