Next: Division (割り算) Up: Fixed-Point Arithmetic (固定小数点) Previous: Addition and Subtraction (足し算・引き算)

Multiplication (掛け算)

 x3 x2 x1 x0 Multiplicand y3 y2 y1 y0 Multiplier (xy0)4 (xy0)3 (xy0)2 (xy0)1 (xy0)0 pp0 (xy1)4 (xy1)3 (xy1)2 (xy1)1 (xy1)0 pp1 (xy2)4 (xy2)3 (xy2)2 (xy2)1 (xy2)0 pp2 (xy3)4 (xy3)3 (xy3)2 (xy3)1 (xy3)0 pp3 p7 p6 p5 p4 p3 p2 p1 p0

Unsigned array multiplier (3-bit)

• each box is a 1-bit full adder: coutpout = xy+pin+cin
• an m-bit multiplier requires m2 full adders
• propagation delay is about 4m gates

Signed multiplication

• in 2's complement representation, an m-bit number has a value

• multiplication is the same as for unsigned numbers except that the last partial product is subtracted instead of added

2's complement series parallel multiplier (4-bit)

Operation (refer to Figure 4.2)
1.
clear the accumulator
2.
add the product of x and y0
3.
shift accumulator and y registers right by 1 bit
4.
repeat 2-3 if y3 is not in the rightmost position
5.
subtract the product of x and y3

Example

 6 0 1 1 0 1 0 1 1 pp0 (subtract=0) 0 0 1 1 0 add/shift (accum.) 0 0 0 1 1 0 pp1 (subtract=0) 0 0 1 1 0 add/shift (accum.) 0 0 1 0 0 1 0 pp2 (subtract=0) 0 0 0 0 0 add/shift (accum.) 0 0 0 1 0 0 1 0 pp3 (subtract=1) 1 1 0 1 0 add (accum.) 1 1 1 0 0 0 1 0

Next: Division (割り算) Up: Fixed-Point Arithmetic (固定小数点) Previous: Addition and Subtraction (足し算・引き算)
David Asano
2001-05-29