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
n2
0
n 1
 Value is: val  i0 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
 xn1 , xn2 ,..., x0    xn1 2n1   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 xn1  1 then
n 1
 xi 2
i 0
 M  y where M  2n
n 1
 M   xi 2i   y
i 0
2
n 1

n2
 xi 2
i 0
i
  y (note : decrease of n)
Which leads to:
 xn1 2
CSE 246
i
n 1

n2
 xi 2
i 0
21
i
Next time
 Talk about redundant numbers
CSE 246
22