Title: ECE 8053 Introduction to Computer Arithmetic
1ECE 8053 Introduction to Computer Arithmetic
(Website http//www.ece.msstate.edu/classes/ece80
53/fall_2002/)
Course Text Content Part 1 Number
Representation Part 2 Addition/Subtraction Part
3 Multiplication Part 4 Division Part 5 Real
Arithmetic (Floating-Point) Part 6 Function
Evaluation Part 7 Implementation Topics
2Course Learning Objectives
Computer Arithmetic students will be able to
... 1. explain the relative merits of number
systems used by arithmetic circuits including
both fixed- and floating-point number systems 2.
demonstrate the use of key acceleration
algorithms and hardware for addition/subtraction,
multiplication, and division, plus certain
functions 3. distinguish between the relative
theoretical merits of the different acceleration
schemes
3Course Learning Objectives(Continued)
4. identify the implementation limitations
constraining the speed of acceleration
schemes 5. evaluate, design, and optimize
arithmetic circuits for low-power 6. evaluate,
design, and optimize arithmetic circuits for
precision
4Course Learning Objectives(Continued)
7. design, simulate, and evaluate an arithmetic
circuit using appropriate references including
current journal and conference literature 8.
write a paper compatible with journal format
standards on an arithmetic design 9. make a
professional presentation with strong technical
content and audience interaction
5Importance of Computer Arithmetic
1.7GHz Pentium has a clock cycle of 0.59 ns 1
integer addition lt 0.59 ns in execution stage of
P/L
Assume a 4-bit adder ripple carry, 0.2 ns gate
delay
STEP 1 1101 1110 11011
-Note added from right to left. Why?
6Ripple-carry Structure
STEP 2 Design a circuit
x3
y3
x2
y2
x1
y1
x0
y0
c4
c3
c3
c3
c00
z4
z3
z2
z1
z0
Each box is a full-adder Implement it
7Full Adder Implementation
xy
00
01
11
10
cin
0
0
1
0
1
1
1
0
1
0
xy
00
01
11
10
cin
0
0
0
1
0
1
0
1
1
1
8Adder Circuit Analysis
STEP 3 Analysis
Critical Path is 3 gates 3?412 (12)(0.2ns)2.4ns
2.4ns gt 0.59ns Must Use Faster Adder!!!!
9Roman Numeral System
Symbolic Digits
- RULES
- If symbol is repeated or lies to the right
of another higher-valued symbol, value is
additive - XX101020
- CXX1001010120
- If symbol is repeated or lies to the left of
a higher-valued symbol, value is subtractive - XXC - (1010) 100 80
- XLVIII -(10) 50 5 3 48
10Weighted Positional Number System
Example Arabic Number System (first used by
Chinese)
11Addition Paradigms
- right to left serial 1
147865
30921
178786
- right to left, parallel
147865
30921
177786
001000
178786
- random 461325 147865
30921 177786
001000 178786
12Binary Number System
- each xi?0,1 is a BInary digiT (BIT)
- magnitude of n is important
- sequence is a short-hand notation
- more precise definition is
- This is a radix-polynomial form
13Number System
- A Number System is defined if the following exist
- A digit set
- A radix or base value
- An addition operation
- A multiplication operation
- Example The binary number system
-
-
- Addition operator defined by addition table
- Multiplication operator defined by multiplication
table
14Number System Observations
- Cardinality of digit set (2) is equal to radix
value - Addition operator XOR, Multiplication is AND
- How many integers exist? Mathematically, there
are an infinite number, ? In computer, finite
due to register length
smallest representable number
largest representable number
range of representable numbers-inclusive
(-exclusive interval bounds
- When ALU produces a result gtXmax or ltXmin,
incorrect result occurs - ALU should produce an error signal
15Example
- Assume 4-bit registers, unsigned binary numbers
Answer in register is 00112310
Overflow
16Machine Representations
- Most familiar number systems are
- nonredundant every value is uniquely
represented by a radix polynomial - weighted sequence of weights determines the
value of the n-tuple formed from the digit
set - positional wi depends only on position i
- conventional number systemswhere ß is a
constant. These are fixed-radix systems.
17Example
Since octal is fixed-radix and positional,we can
rewrite this value using shorthand notation
Note the importance of the use of 0 to serve as
a coefficient of the weight value w282
18Fixed-Radix Systems
Register of length n can represent a number with
a fractional part and an integral part
k number of integral digits m number of
fractional digits nkm
radix point
A programmer can use an implied radix point in
any position
19Scaling Factors
Fixed point arithmetic can utilize scaling
factors to adjust radix point position
a scaling factor
no correction
must divide by a
must multiply by a
20Scaling Factor Example
21Unit in the Last Position (ulp)
- Given w0r-m and n, the position of the radix
point is determined
- Simpler to disregard position of the radix point
in fixed point by using ulp
Example
98.67510
1 ulp 1?10-30.001
1 ulp is the smallest amount a fixed point number
may increase or decrease