UCLA Computer Science Department: CS 252A
Arithmetic Algorithms and Processors
Winter 2008

Class: TT 10-12, MS 5225

Prof. Milos D. Ercegovac
4731-H Boelter Hall
825-5414
e-mail: milos@cs.ucla.edu
web page:
http://www.cs.ucla.edu/~milos
Office hours: TT2-3pm, or by appointment


Textbook: Digital Arithmetic by M. D. Ercegovac and T. Lang, Morgan and Kaufmann, 2004.
Lecture Viewgraphs:
http://www.cs.ucla.edu/digital_arithmetic
Related resources: Books, journals, conferences, Web sites, simulators
Grading: Self-study topic 20%, Midterm Exam 30%
Project: Presentation 10%, reviews and participation 5%, report 35%. Projects are peer reviewed.

Socrates: Arithmetic is a kind of knowledge in which the best natures should be trained, and which must not be given up.  From Plato's Republic.

This course presents a detailed study of the theory, specification and design of digital arithmetic algorithms and processors. The principal topics are listed below.  

1. Introduction

Highlights. Levels of description. Number systems: conventional, redundant, and residue. Structure of algorithms and complexity measures.

2. Two-Operand Addition

All about carries. Algorithms and implementations. Conventional binary representation: carry look-ahead, carry skip, switched ripple, conditional sum, carry select, parallel prefix, and variable time. Redundant adders: carry-save and signed-digit.

3. Multioperand Addition

Bit-arrays for signed and unsigned operands. Reduction approaches: by row and by column. Algorithms and implementations.

4. Multiplication

Algorithms and implementations. Sequential with recoding. Combinational with recoding. Bit-array reduction: by row and by column. Multiply-accumulate. Saturating and truncating multipliers. Squarers. Multipliers with constant operand.

5. Division
-Digit Recurrence Method

Algorithms, implementations and comparisons. Quotient conversion. Quotient-digit selection: theory and design.

6. Iterative Methods

Reciprocal, division, square root, and reciprocal square root: Newton-Raphson's method and multiplicative methods. Initial approximation.

7. Floating-point Arithmetic

Representation. IEEE FLPT Standard. Addition, multiplication and division: Algorithms and implementations. Rounding.

8. Digit-Serial Arithmetic

Digit-serial modes: LSDF and MSDF (online arithmetic). Algorithms and implementations for addition, multiplication, and division. Composite operations. Applications.

9. Function Evaluation and CORDIC Algorithm

Argument range reduction. Polynomial and rational function approximations. MSDF rational function evaluator. Linear convergence methods for logarithms, exponentials, trigonometric, and hyperbolic functions. CORDIC method.

Exercises

Solutions to selected exercises are at http://www.cs.ucla.edu/digital_arithmetic

Midterm Exam

Open: textbook. Closed: notes, solutions, papers, etc.

SELF-STUDY TOPIC: Each student will pick a topic during the second week in one of the nine areas covered in the course, study it, and prepare by the end of the fifth week  (i) a short paper explaining the topic, and (ii) develop a related algorithm, a  design and implementation, or a tool. Your topic paper should also include  a discussion of at least two papers in the literature dealing with the selected topic. Your project may be related to this effort. 
PROJECTS: Individual or team (2-3 students). Suggestions for projects will be discussed in class. In general, projects in areas such as graphics, computer vision, communications, signal processing, cryptography, embedded systems, and application-specific architectures are encouraged as long as they encompass non-trivial use of digital arithmetic.

Project Schedule (tentative)

Preliminary project reports - draft for class review 2/14: everyone reviews each project

Preliminary reviews: due 2/19; feedback to projects by 2/21

Project presentations: 3/11 and 3/13. Slides and final report draft due at the presentation.

Final  reviews: each of you will be assigned 2 projects to review; return your reviews to me by 3/15; feedback to projects by 3/17.

Final reports due Monday 3/19, 5pm.

 RESOURCES

Books on Digital Arithmetic

Division and Square Root: Digit-Recurrence Algorithms and Implementations, M. Ercegovac and T. Lang,
Kluwer Academic Publishers, 1994.

Seminumerical Algorithms, D.E. Knuth, Addison Wesley, 1997.

Computer Arithmetic Algorithms, I. Koren, Prentice Hall, Inc., 1993.

I-64 and Elementary Functions, P. Markstein, HP Press, 2002.

Elementary Functions, Algorithms and Implementations, J.M. Muller,  2nd. Editions, Birkhauser, 2005.

Computer Arithmetic Systems, A. Omondi, Prentice Hall, Inc., 1994.

Computer Arithmetic: Algorithms and Hardware Designs, B. Parhami, Oxford University Press, 2000.

Computer Number Systems & Arithmetic, N.R. Scott, Prentice Hall, Inc., 1985.

Computer Arithmetic, Vol. 1 and 2, E. E. Swartzlander (Editor), IEEE Computer Society Press, 1990.

Residue Arithmetic and Its Applications to Computer Technology, N.S. Szabo and R. I. Tanaka, McGraw-Hill, 1967.

Introduction to Arithmetic for Digital Systems Designers, S. Waser and M. Flynn, Holt, Rinehart, and Winston, 1982.

Conference proceedings

  • IEEE Symposium on Computer Arithmetic
  • Asilomar Conference on Circuits, Systems and Computers
  • IEEE Application-Specific Architectures and Processors
  • SPIE Conference on Algorithms and Implementations for Signal Processing
  • International Conference on Computer Design (ICCD)

Journals and magazines

  • IEEE Transactions on Computers
    (in particular, Special Issues on Computer Arithmetic)
  • IEEE Journal on Solid State Circuits
  • IEEE Transactions on VLSI
  • Journal of VLSI Signal Processing
  • IEE Proceedings: Digital Techniques
  • IEEE Micro

Related sites and resources on the Web
UCLA Digital Arithmetic and Reconfigurable Architectures Lab
                                                                               
Stanford Architecture and Arithmetic Group
Arithmetic Group, Ecole Normale Superieure, Lyon, France
J.M. Muller
          Advanced Computer Systems Engineering Laboratory V. G. Oklobdzija, UC Davis
IEEE Floating-Point Standard
W. Kahan, UC Berkeley
D. Hough
FLPT Instruction Set (Compaq Alpha)
Tools, libraries and simulators
          Open Source FLPT Operators D. Harris, Harvey Mudd Colllege
          Variable Precision FLPT Modules M. Leeser, Northeastern University
Computer Arithmetic Algorithms Simulator
I. Koren, University of Massachussetts, Amherst
Arithmetic Operations
A. Guyot, University of Grenoble, France
Multi Operand Reduction
D. Salce and M. Zobel, EE Department, UCLA
VHDL Libraries: adders with standard cells
R. Zimmerman, Synopsis
          Arithmetic Module Generator T. Aoki, Tohoku University

TOP