1 DIGITAL ARITHMETIC Milo(cid:20)s D. Ercegovac Computer Science Department University of California Los Angeles and Tom(cid:19)as Lang Department of Electrical and Computer Engineering University of California at Irvine Viewgraphs Copyright c 2003 by the authors (cid:13) Copyright c 2004 by Elsevier Science (USA) (cid:13) Digital Arithmetic - Ercegovac/Lang 2003 1 { Introduction 2 ABOUT THE BOOK 1. Overview [Chapter 1] 2. Two-Operand Addition [Chapter 2] 3. Multi-operand Addition [Chapter 3] 4. Multiplication [Chapter 4] 5. Division by Digit Recurrence [Chapter 5] 6. Square Root by Digit Recurrence [Chapter 6] 7. Reciprocal, Division, Reciprocal Square RToot, and Inverse Square Root by Iterative Approximation [Chapter 7] 8. Floating-point Representation, Algorithms, and Implementations [Chapter 8] 9. Digit-Serial Arithmetic [Chapter 9] 10. Function Evaluation [Chapter 10] 11. CORDIC Algorithm and Implementations [Chapter 11] Digital Arithmetic - Ercegovac/Lang 2003 1 { Introduction 3 Chapter 1: Review of the Basic Number Representations and Arithmetic Algorithms General-purpose processors (cid:15) 3 Main use: numerical computations 3 Address calculations - basic operations - (cid:12)xed point and (cid:13)oating point - IEEE standard - vector processors Special-purpose (application-speci(cid:12)c) processors (cid:15) - for numerically intensive applications - single computation or classes of computations Digital Arithmetic - Ercegovac/Lang 2003 1 { Introduction 4 Application-speci(cid:12)c processor Areas of application: (cid:15) - signal processing - embedded systems - matrix computations - graphics, vision, multi-media - cryptography and security - robotics, instrumentation; others? Features: (cid:15) - better use of technology - improvement in speed, area, power - (cid:13)exibility in * implementation; decomposition into modules * number systems and data formats; algorithms Need good design tools; di(cid:14)cult to change; FPGAs? (cid:15) Digital Arithmetic - Ercegovac/Lang 2003 1 { Introduction 5 GENERAL-PURPOSE VS. APPLICATION-SPECIFIC Flexibility (cid:15) Matching speci(cid:12)c applications (cid:15) Use of VLSI and special technology (cid:15) Use of hardware-level parallel processing (cid:15) Lower software overhead (cid:15) Digital Arithmetic - Ercegovac/Lang 2003 1 { Introduction 6 ARITHMETIC PROCESSORS: USER’S VIEW AP = (operands, operation, results, conditions, singularities) Numerical operands and results speci(cid:12)ed by (cid:15) { Set of numerical values x N ((cid:12)nite and ordered set) 2 { Range V x V min max (cid:20) (cid:20) { Precision { Number representation system (NRS) Set of operations: addition, subtraction, multiplication, division, ... (cid:15) Conditions: values of the results { zero, negative, etc. (cid:15) Singularities: Illegal results { over(cid:13)ow, under(cid:13)ow, Nan, etc. (cid:15) Digital Arithmetic - Ercegovac/Lang 2003 1 { Introduction 7 LEVELS OF DESCRIPTION AND IMPLEMENTATION Numerical computations (applications) (cid:15) Algorithms (cid:15) Arithmetic operations (cid:15) Operations Operands-Result Algorithm Numerical function Numbers Numerical Algorithm # # Number System Arithmetic design # # # Digit-vector function Digit vector Digit-vector Algorithm # # Digit Coding RTL design # # # Bit-vector function Bit vector Bit-vector Algorithm # Logic Design Digital Arithmetic - Ercegovac/Lang 2003 1 { Introduction 8 NUMBER REPRESENTATION SYSTEMS value: x N = NRS = X V : digit vector 2 ) ) 2 Digit Vector (cid:15) X = (x ; : : : ; x ; : : : ; x ) a i b { indexing: Leftward Zero Origin (LZ) (integers) X = (x ; x ; : : : ; x ) n 1 n 2 0 (cid:0) (cid:0) Rightward One Origin (RO) (fractions) X = (x ; x ; : : : ; x ) 1 2 n { Digit set D - set of values for digit x (usually consecutive integers) i i Digital Arithmetic - Ercegovac/Lang 2003 1 { Introduction 9 NUMBER REPRESENTATION (cont.) Number of (unambiguously) representable numbers (cid:15) N (cid:5) D i j j (cid:20) j j Number representation system (cid:15) F : N V ! Choose NRS to (cid:15) { allow e(cid:14)cient computation(s) { suitable interface with other systems Di(cid:11)erent implementation-performance constraints (cid:15) = variety of NRS ) Digital Arithmetic - Ercegovac/Lang 2003 1 { Introduction 10 SOME CHARACTERISTICS OF NRS a) Range: (cid:12)nite set of digit-vector values b) Unambiguity: two numbers should not have same representation If x N; y N; x = y then F(x) = F(y) 2 2 6 6 c) Nonredundant/redundant Redundant: F 1(X) = F 1(Y ) (cid:0) (cid:0) Digital Arithmetic - Ercegovac/Lang 2003 1 { Introduction
Description: