Title: CSE 246: Computer Arithmetic Algorithms and Hardware Design
1CSE 246 Computer Arithmetic Algorithms and
Hardware Design
Fall 2006 Lecture 1 Introduction and Numbers
- Instructor
- Prof. Chung-Kuan Cheng
2Agenda
- Administration
- Motivation
- Lecture 1 Numbers
3Administration
- 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
4Administration
- No classes on the following days
- Tu 10/17 BIBE
- Tu 10/24 EPEP
- Tu 11/7 ICCAD
5Administration
- Grading
- Homework 20
- Midterm 35
- Project
- Report 25
- Presentation 20
- Midterm Thursday, 10/2/06
6Administration
- 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
7Agenda
- Administration
- Motivation
- Lecture 1 Numbers
8Motivation
- 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
9Motivation
- Should a new business focus on building market or
new technology? - New technology a market will be built around new
technology
10Topics
- 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
11Other Topics
- Potential focus on the following topics
- Power reduction
- Interconnect
- FPGAs
12Goals/Background
- Why do you want to take this class? What would
you like to learn? - Fulfill course requirement
- Hardware
- Software
- Work
- Research
- Curiosity
13Agenda
- Administration
- Motivation
- Lecture 1 Numbers
14Numbers
- 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
15Numbers
- 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)
16Numbers
- Summation of positional numbers
- Given
- Value is (where y is the base)
- For example
- Consider
4 -2 1
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 -2 -1 4 5 2 3
-
- Note that position systems provide a complete
range of numbers (e.g. 2 to 5)
17Numbers (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
18Numbers
- Avoid Division (Montgomory System)
- Simplify Mod operation
- mod r-1, mod r1
Example 29110 mod 9 291 mod 9 12 mod 9
3 29110 mod 11 2-91mod 11 -6 mod 11 5
19Signed Numbers
- Biased numbers
- Signed Bit
- Complementary representation
- Positive number x (mod p)
- Negative number (M-x) (mod p)
- (Note mod p is added implicitly)
- Ones complement Twos complement
0 0 0 1 0 1
1 0 1 1 -1 -0
0 0 0 1 0 1
1 0 1 1 -2 -1
M2n-1
M2n
Flip each bit
Flip each bit 1
- Twos complement can be used for subtraction
20Signed Numbers
- Twos complement subtraction
- (M-xM-y) mod M M-(xy)
- Twos complement conversion
- Positive number
- To negative
21Signed Numbers
Proof as follows Which leads to
Example
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 2 3 -4 -3 -2 -1
22Next time
- Talk about redundant numbers