CSE 246: Computer Arithmetic Algorithms and Hardware Design Instructor: Prof. Chung-Kuan Cheng
Download
Report
Transcript CSE 246: Computer Arithmetic Algorithms and Hardware Design Instructor: Prof. Chung-Kuan Cheng
CSE 246: Computer Arithmetic
Algorithms and Hardware Design
Fall 2006
Lecture 1: Introduction and
Numbers
Instructor:
Prof. Chung-Kuan Cheng
Agenda
Administration
Motivation
Lecture 1: Numbers
CSE 246
2
Administration
Textbook: Computer Arithmetic Algorithms and Hardware
Designs, Behrooz Parhami, Oxford
Recommended: Art of Computer Programming, Volume 2,
Seminumerical Algorithms (3rd Edition), Donald E. Knuth
Numerical Computing with IEEE Floating Point Arithmetic,
Michael L. Overton, SIAM
Computer Arithmetic Algorithms, Israel Koren, A K Peters,
Natick, Massachusetts
Digital Arithmetic, Milos D. Ercegovac and Tomas Lang,
Morgan Kaufmann
CMOS VLSI Design, Neil H.E. Weste and David Harris,
Addison Wesley
Principles and Practices of Interconnection Networks,
William James Dally and Brian Towles, Morgan Kaufmann
In addition: set of papers to read
CSE 246
3
Administration
No classes on the following days
Tu 10/17 BIBE
Tu 10/24 EPEP
Tu 11/7 ICCAD
CSE 246
4
Administration
Grading:
Homework – 20%
Midterm – 35%
Project
Report – 25%
Presentation – 20%
Midterm: Thursday, 10/2/06
CSE 246
5
Administration
Potential project samples:
Interconnect and switch modules
Data path components using FPGAs, nano
technologies
Low power logic styles
Reconfigurable blocks
Low power data path components
Low power/reliable coding systems
CSE 246
6
Agenda
Administration
Motivation
Lecture 1: Numbers
CSE 246
7
Motivation
Why do we care about arithmetic
algorithms and hardware design?
Classic problems – well defined
Advancements will have a huge impact
Solutions will be widely used
New paradigms
Interconnect effects: clock, control, bus,
signal
Low power designs
Wider bit width
Reliability centric designs
FPGAs and nano technologies
CSE 246
8
Motivation
Should a new business focus on building
market or new technology?
New technology: a market will be built
around new technology
CSE 246
9
Topics
Numbers
Binary numbers, negative numbers,
redundant numbers, residual numbers
Addition/Subtraction
Prefix adders (zero deficiency)
Multiplication/Division
Floating point operations
Functions: (sqrt),log, exp, CORDIC
Optimization, analysis, fault tolerance
CSE 246
10
Other Topics
Potential focus on the following topics:
Power reduction
Interconnect
FPGAs
CSE 246
11
Goals/Background
Why do you want to take this class?
What would you like to learn?
CSE 246
Fulfill course requirement
Hardware
Software
Work
Research
Curiosity
12
Agenda
Administration
Motivation
Lecture 1: Numbers
CSE 246
13
Numbers
Special Symbols
Symbols used to represent a value
Roman Numerals
1=I
100 = C
5=V
500 = D
10 = X
1000 = M
50 = L
For example: 2004 = MMIV
CSE 246
14
Numbers
Position Symbols
The value depends on the position of the
number
For example:
125 = 100 + 20 + 5
One 100, Two 10s, and Five 1s
Another example:
1 hour, 3 minutes
Positional systems includes radixes:
2, -2, 2, 2j (imaginary)
CSE 246
15
Numbers
Summation of positional numbers
Given: x , x ,..., x
n 1
n2
0
n 1
Value is: val i0 xi y i (where y is the base)
For example:
Consider x {0,1} , y 2
CSE 246
4 -2
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
-2
-1
4
5
2
3
111 : 1 (2)2 1 (2)1 1 (2)0 3
Note that position systems
provide a complete range of
numbers (e.g. –2 to 5)
16
Numbers (Radix Conversion)
(xk-1, …, x0 . X-1, … , x-l)r=(XK-1, …, X0 . X-1, …, X-L)R
Repeatedly divide the integer by (R)r
Repeatedly multiply the fraction by
(R)r
Example
(201.31)10=(13001.123)5
CSE 246
17
Numbers
Avoid Division (Montgomory System)
Simplify Mod operation
mod r-1, mod r+1
Example:
29110 mod 9 = 2+9+1 mod 9 = 12 mod 9 = 3
29110 mod 11 = 2-9+1mod 11 = -6 mod 11 = 5
CSE 246
18
Signed Numbers
Biased numbers
Signed Bit
Complementary representation
Positive number:
x (mod p)
Negative number:
(M-x) (mod p)
(Note: mod p is added implicitly)
One’s complement
0
0
0
1
0
1
1
1
0
1
-1
-0
Two’s complement
M=2n-1
0
0
0
1
0
1
Flip each
bit
1
1
0
1
-2
-1
M=2n
Flip each bit + 1
Two’s complement can be used for subtraction
CSE 246
19
Signed Numbers
Two’s complement subtraction:
(M-x+M-y) mod M = M-(x+y)
Two’s complement conversion:
Positive number: 0,0,0, x , x ,..., x
To negative:
CSE 246
1, 1, 1, x
k 1
k 1
20
k 2
0
, xk 2 ,..., x0 0,0,0,...,0,1
Signed Numbers
Two’s complement
n 2
xn1 , xn2 ,..., x0 xn1 2n1 xi 2i
i 0
Example:
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
2
3
-4
-3
-2
-1
Proof as follows:
if xn1 1 then
n 1
xi 2
i 0
M y where M 2n
n 1
M xi 2i y
i 0
2
n 1
n2
xi 2
i 0
i
y (note : decrease of n)
Which leads to:
xn1 2
CSE 246
i
n 1
n2
xi 2
i 0
21
i
Next time
Talk about redundant numbers
CSE 246
22