ECE 252B: Computer Arithmetic

      


Behrooz Parhami: 2008/06/03  ||  E-mail: parhami at ece.ucsb.edu  ||  Other contact info at: Bottom of this page

Go up to: B. Parhami's course syllabi or his home page

Link to  history and previous offerings of ECE 252B
ECE 252B: Spring Quarter 2008 offering

This area is reserved for important course announcements: 2008/05/30: Presentations for Parts V and VI have now been updated for spring 2008 in the textbook's website. Except for grade stats for HW4 and the final exam, to be posted as they become available, all information on this page is now final and will not be further updated.

2008/05/25: HW4 (last one for the course) has been posted below. Please also see the posted notes on homework solutions.

2008/05/19: Updated presentations for part IV of the text have been posted.

2008/05/11: HW3 has been posted below. The midterm exam grades have a mean of 62 and a median of 65. The grade list is as follows -- 39 42 45 47 48 57 58 62 62 67 68 69 70 73 74 76 81 86

2008/04/22: HW2 has been posted below. Updated presentation for part III of the textbook will be posted by April 30.

0008/04/07: HW1 and a preliminary list of research topics have been posted below. Updated presentation for part I of the textbook is now available on the book's website.

2008/03/20: Welcome to the ECE 252B website for spring 2008. During the quarter, you will need to consult two websites associated with the course. This website is the "course website." There is also a website for our textbook, where downloadable presentations and information on discovered errors can be found. You can reach the latter website by clicking on the textbook link under "References" below.

Course:   

ECE 252B – Computer Arithmetic, University of California, Santa Barbara, Spring 2007, Enrollment Code 10736

Catalog entry:   

252B. Computer Arithmetic. (4) PARHAMI. Prerequisites: ECE 152A-B. Lecture, 4 hours. Standard and unconventional number representations. Design of fast two-operand and multioperand adders. High-speed multiplication and division algorithms. Floating-point numbers, algorithms, and errors. Hardware algorithms for function evaluation. Pipelined, digit-serial and fault-tolerant arithmetic processors.

Instructor:   

Behrooz Parhami, Room 5155 HFH (Engineering I), Phone  805-893-3211, parhami at ece.ucsb.edu

Meetings:   

TR 12:00-1:30, Room 1431 Phelps Hall

Consultation:   

Open office hours, held in Room 5155 HFH (Engineering I) – T 9:00-10:30, R 10:00-11:30

Motivation:   

Computer arithmetic is a subfield of digital computer organization. It deals with the hardware realization of arithmetic functions to support various computer architectures as well as with arithmetic algorithms for firmware/software implementation. A major thrust of digital computer arithmetic is the design of hardware algorithms and circuits to enhance the speed of various numeric operations. Thus much of what is presented in this course complements the architectural and algorithmic speedup techniques covered as part of the advanced computer architecture (ECE 254A/B/C) sequence.

Prerequisites:   

Familiarity with logic design and switching theory as well as fundamentals of digital system design (ECE 152A and ECE 152B or equivalents).

References:   

Required textbook (expected at the UCSB bookstore in late March 2008)

Parhami, B., Computer Arithmetic: Algorithms and Hardware Designs, Oxford, 2000 (click on the title of the textbook to access its website). The Bookstore has been instructed to order the 4th or a later printing of the book which has all known typos and other errors corrected and contains some additional material. If you buy a used copy of the third or earlier printing, please make sure you correct the errors using the errata provided in the book's website (accessible via the link above). The price at the Bookstore is $125.00 for new books and $93.75 for used copies.

Other useful books, not required   

Deschamps/Bioul/Sutter, Synthesis of Arithmetic Circuits: . . . , 2006 (TK7895.A65D47).

Ercegovac/Lang, Digital Arithmetic, Morgan Kaufmann, 2004.

Swartzlander, Computer Arithmetic, vols. 1-2, IEEE Computer Soc. Press (QA76.6.C633).

Koren, Computer Arithmetic Algorithms, 2nd ed., A K Peters, 2002.

Omondi, Computer Arithmetic Systems: . . . , Prentice-Hall, 1994 (QA76.9.C62O46).

Ercegovac/Lang, Division and Square Root:  . . . , Kluwer, 1994 (QA76.9.C62E73).  

Oklobdzija, High-Performance System Design, IEEE Press, 1999 (TK7871.99.M44037).

Waser/Flynn, Intro. to Arithmetic for Digital Systems Designers (TK7895.A65W37.1982).

Knuth, The Art of Computer Programming: Seminumerical Algorithms (QA76.6.K64 vol 2).

Hwang, Computer Arithmetic: Principles, Architecture, and Design (TK7888.3.H9).

Kulisch/Miranker, Computer Arithmetic in Theory and Practice (QA162.K84).

Research Sources

Proc. Symp. Computer Arithmetic (1969, 72, 75 78, and odd years since 1981).

IEEE Trans. Computers, particularly special issues on computer arithmetic (8/70, 6/73, 7/77, 4/83, 8/90, 8/92, 8/94, 7/98, 7/00, 3/05, 8/08?).

Electronic Resources at UCSB

http://www.library.ucsb.edu/eresources/databases/ (electronic journals, collections, etc.)
http://www.library.ucsb.edu/subjects/engineering/ece.html (research guide in ECE)

Evaluation:   

Students will be evaluated based on the following three components with the given weights:

   

20% -- Homework (see the course calendar for general requirements and schedule).

   

30% -- Closed-book midterm exam (see the course calendar for date and coverage).

   

50% -- Open-book final exam (see the course calendar for date, time, and coverage)

Research:

An optional research paper may be substituted for the final exam. A student interested in this option, will review a subfield of computer arithmetic or do original research on a selected topic. A list of research topics is provided below; however, please feel free to propose your own topic for approval. A publishable report earns an “A” for the course, regardless of homework and midterm grades. See the “deadlines” column in course calendar for schedule and due dates.

Calendar:

Course lectures, homework assignments, and exams have been scheduled as follows. This schedule will be strictly observed. Textbook chapters are specified for lectures and exams. It is a good idea to look over the specified material before each lecture if possible.  

Day & Date

Chap

Lecture Topic

Deadlines and Notes

Tues. 4/1

1-2

Numbers and signed values

This is a serious lecture -- Really!

Thur. 4/3

3-4

Redundant and residue representations

 

Tues. 4/8

5

Basic addition and counting

HW#1 posted (chapters 1-7)

Thur. 4/10

6

Carry-lookahead adders

Research topic defined

Tues. 4/15

7

Variations in fast adders

 

Thur. 4/17

8

Multioperand addition 

HW#1 due

Tues. 4/22

9

Basic multiplication schemes

HW#2 posted (chapters 8-11)

Thur. 4/24

10

High-radix multipliers

 

Tues. 4/29

11

Tree and array multipliers

Preliminary references due

Thur. 5/1

12

Variations in multipliers

HW#2 due

Tues. 5/6

1-11 Midterm exam: closed book (12-2 PM) Held in class; note extended time

Thur. 5/8

13

Basic division schemes

 

Tues. 5/13

14

High-radix division

HW#3 posted (chapters 12-16)

Thur. 5/15

15

Variations in dividers

Paper title and references due

Tues. 5/20

16

Division by convergence

 

Thur. 5/22

17-18

Floating-point numbers and operations HW#3 due

Tues. 5/27

19-20

Errors, precision, and certifiability

HW#4 posted (chapters 17-22)

Thur. 5/29

21

Square-rooting methods

Paper abstract and outline due

Tues. 6/3

22

CORDIC algorithms

 
Thur. 6/5

23-24

Other topics in function evaluation HW#4 due
Mon. 6/9 1-24 Final exam: open book (12-3 PM) Held in class, Complete paper due

Homework: General Requirements

Solutions should be brought to class on the due date and handed in before the lecture begins.

Late homework will not be accepted, so plan to start work on your assignments early.

Use a cover page that includes your name, course and assignment number for your solutions.

Staple the sheets and write your name on top of every sheet in case sheets are separated.

Although some cooperation is permitted, direct copying will have severe consequences.    

ECE 252B s2008, Homework #1: Number Systems and Addition (chaps. 1-7, due Thur. April 17)

Do the following problem from the textbook or listed below: 1.I [20 pts.], 3.9a [15 pts.], 5.3 [10 pts.], 5.8 [15 pts.], 6.3 [15 pts.], 7.7 [25 pts]

Problem 1.I (Fixed-radix positional number systems) Let Nk,r be an integer whose representation in radix r consists of k digits of 1, that is, Nk,r = (1 1 . . . 1)r, where the number of 1 digits is k. (a) Show the 2k-bit radix-2 representation of the square of Nk,2. (b) Prove that except for N1,10, no Ni,10 is a perfect square. (c) Show that Ni,10 divides Nj,10 iff i divides j.

ECE 252B s2008, Homework #2: Multioperand Addition and Multiplication (chaps. 8-11, due Thur. May 1)

Do the following problem from the textbook: 8.7 [15 pts.], 8.12 [20 pts.], 9.9a [10 pts.], 9.12 [20 pts.], 10.1 [15 pts.], 11.10 [20 pts]

ECE 252B s2008, Homework #3: Multiplication and Division (chaps. 12-16, due Thur. May 22)

Do the following problem from the textbook: 12.13 [15 pts.], 12.15 [15 pts.], 13.5a [10 pts.], 13.12a [15 pts.], 14.8 [20 pts.], 15.5 [10 pts], 16.12 [15 pts.]

ECE 252B s2008, Homework #4: Floating-Point and Function Evaluation (chaps. 17-22, due Thur. June 5)

Do the following problem from the textbook: 17.7 [15 pts.], 18.6bc [15 pts.], 19.7 [20 pts.], 20.2 [10 pts.], 21.2b [20 pts.], 22.2c [20 pts.]

ECE 252B s2008, Notes on homework solutions and other topics

For HW2, Problem 12.13c, the suggested substitutions (essentially the same as for the Baugh-Wooley method) applied to the simplified bit-matrix of part b yields the following in columns 4-6 (column 7 is ignored because the square is always positive, and columns 0-3 do not change). Column 4: x3, x2x1', x3x0'. Column 5: x2x1, x3x1'. Column 6: x3, x3x2'. The required circuit consists of a 3-bit CSA and a 4-bit adder (or, equivalently, a 4-bit CSA and a 3-bit adder). Ignore the last sentence in the solution handout, as it is incorrect.

For HW2, Problem 13.12, the term 1 + 2^(-36) and the associated shift-add step are not needed, given 32 bits of precision.

ECE 252B s2008, Possible Research Topics

1. Mod-(2a + 1) Number Representations and Arithmetic

2. A Survey of Hardware Multipliers in Microprocessors

3. Radix-16 SRT Division in Intel's New Penryn Processors

4. Augmenting FPGAs for Faster Arithmetic Operations

5. Cube Roots: Hardware Algorithms and Applications

6. Accurate Summation of Sets of Floating-Point Numbers

7. Function Evaluation by Piecewise Linear Approximation

8. Smaller Lookup Tables via Nonuniform Segmentation

9. Arithmetic in the European Logarithmic Microprocessor

10. Arithmetic in IBM's Blue Gene/L Parallel Supercomputer

ECE 252B s2008, Midterm Exam Preparation

Textbook sections that are not required for the closed-book midterm exam: 3.5, 3.4, 3.6, 4.4, 4.5, 4.6, 6.3, 7.2, 10.5 (some of these may be included in the final exam, which will be open-book)

ECE 252B s2008, Final Exam Preparation

The final exam will include Chapters 1-24, emphasizing the topics covered after the midterm. The following sections are excluded: 3.5 (pp. 45-48), 3.6, 4.4, 4.5, 4.6, 7.2, 10.5, 15.4, 15.6, 19.4, 19.5, 19.6, 20.2, 21.4, 21.6, 22.6, 23.4, 24.4-24.6. All other sections are included, even if they were not discussed in class.   

Return to: Top of this page  ||  Go up to: B. Parhami's course syllabi or his home page


Dr. Behrooz Parhami, Professor Office phone: +1 805 893 3211
Dept. Electrical & Computer Engineering Departmental fax: +1 805 893 3262
University of California, Santa Barbara Office: Rm 5155 Harold Frank Hall
Santa Barbara, CA  93106-9560  USA Deliveries: Rm 4155 Harold Frank Hall
http://www.ece.ucsb.edu/~parhami/ E-mail: parhami at ece.ucsb.edu