Notes U-2 EC2303 - Computer - Architecture - and - Organization - Lecture - Notes - Unit - 2
Notes U-2 EC2303 - Computer - Architecture - and - Organization - Lecture - Notes - Unit - 2
Fixed Point Arithmetic, Addition, Subtraction, Multiplication and Division, Combinational and Sequential ALUs, Carry
look ahead adder, Robertson algorithm, booth's algorithm, non-restoring division algorithm, Floating Point Arithmetic,
Coprocessor, Pipeline Processing, Pipeline Design, Modified booth's Algorithm.
Anna University | B.E Electronics and Communication Engineering | Semester V | Lecture Notes
UNIT II : DATA PATH DESIGN EC2303 - Computer Architecture and Organization
UNIT – II
DATA PATH DESIGN
Multiplication
Signed Multiplication
The easiest way to deal with signed numbers is to first convert the multiplier and multiplicand to positive
numbers and then remember the original sign. It turns out that the last algorithm will work with signed
numbers provided that when we do the shifting steps we extend the sign of the product.
The way we have done multiplication so far consisted of repeatedly scanning the multiplier, adding the
multiplicand (or zeros) and shifting the result accumulated.
Observation:
if we could reduce the number of times we have to add the multiplicand that would make the all process
faster.
Let say we want to do:
Booth’s Algorithm
Observation: If besides addition we also use subtraction, we can reduce the number of consecutives additions
and therefore we can make the multiplication faster.
This requires to ―
recode‖ the multiplier in such a way that the number of consecutive 1s in the multiplier
(indeed the number of consecutive additions we should have done) are reduced.
The key to Booth‘s algorithm is to scan the multiplier and classify group of bits into the beginning, the middle
and the end of a run of 1s
If the initial content of A is an-1…a0 then i-th multiply step, the low-order bit of register A is
ai and step (i) in the multiplication algorithm becomes:
1. If ai=0 and ai-1=0, then add 0 to P
2. If ai=0 and ai-1=1, then add B to P
3. If ai=1 and ai-1=0, then subtract B from P
4. If ai=1 and ai-1=1, then add 0 to P
(For the first step when i=0, then add 0 to P)
Division
Negative numbers: Even more difficult There are better techniques, we won‘t look at them