ECE
252B: Computer Arithmetic
Behrooz
Parhami: 2007/06/19
|| E-mail: parhami@ece.ucsb.edu ||
Problems:
webadmin@ece.ucsb.edu
Other
contact info at: Bottom
of this page || Go up to: B.
Parhami's course syllabi or his
home page
On
June 19, 2007, Professor Parhami's UCSB ECE website moved to a new location. For
an up-to-date version of this page, visit it at the new address:
http://www.ece.ucsb.edu/~parhami/ece_252b.htm
Background
and history of ECE 252B
Professor
Parhami took over the teaching of ECE 252B from the late Dr. James Howard in the
winter quarter of 1989. By covering sequential machines, computer arithmetic,
and advanced microprocessor-based design, the graduate course sequence ECE
252A/B/C was meant to provide the students with a firm foundation in the
theories and techniques of advanced digital design. During the first few
offerings of ECE 252B, Professor Parhami gradually modified the content to
increase both its coverage and research orientation (ECE 252A and 252C
later underwent similar transformations by Professor Kwang-Ting Cheng and
Professor Parhami,
respectively). In 2000, based on a decade of experience in teaching this course,
Professor Parhami published a graduate-level textbook (Oxford University Press), which
is being used at many universities worldwide. The link Computer
Arithmetic: Algorithms and Hardware Designs takes you to the book's Web
page which contains brief and complete tables of contents, presentation
material, and a list of known errors.
ECE 252B: Spring Quarter 2007 offering
This area is reserved for important course
announcements: The textbook's website now has updated
presentations for all material covered in class (Parts I-VI). This course page
is now final and will not be further updated during this quarter
Course: |
ECE
252B – Computer Arithmetic, University of California, Santa Barbara,
Spring 2007, Enrollment Code 53470. |
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. (F)
|
Instructor: |
Behrooz
Parhami, Room 5155 HFH (Engineering I), Phone
805-893-3211, parhami@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 2:00-3: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 2007)
Parhami,
B., Computer Arithmetic: Algorithms
and Hardware Designs, Oxford, 2000. 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 Web page
(accessible via the link above).
Other
useful
books,
not required
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).
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/3 |
1-2 |
Numbers
and signed values |
Homework:
general requirements |
Thur.
4/5 |
3-4 |
Redundant and residue
representations |
|
Tues.
4/10 |
5 |
Basic addition and counting |
HW#1
posted (chapters 1-7) |
Thur.
4/12 |
6 |
Carry-lookahead adders |
Research
topic defined |
Tues.
4/17 |
7 |
Variations in fast adders |
|
Thur.
4/19 |
8 |
Multioperand
addition |
HW#1 due |
Tues.
4/24 |
9 |
Basic
multiplication schemes |
HW#2 posted (chapters
8-11) |
Thur.
4/26 |
10 |
High-radix multipliers |
|
Tues.
5/1 |
11 |
Tree and array multipliers |
Preliminary references due |
Thur.
5/3 |
12 |
Variations in multipliers |
HW#2 due |
Tues.
5/8 |
1-11 |
Midterm
exam: closed book (12-2 PM) |
Held in class; note
extended time |
Thur.
5/10 |
13 |
Basic
division schemes |
|
Tues.
5/15 |
14 |
High-radix
division |
HW#3 posted (chapters
12-16) |
Thur.
5/17 |
15 |
Variations in dividers |
Paper title and references due |
Tues.
5/22 |
16 |
Division by convergence |
|
Thur.
5/24 |
17-18 |
Floating-point
numbers and operations |
HW#3 due |
Tues.
5/29 |
19-20 |
Errors, precision, and certifiability |
HW#4 posted
(chapters 17-22) |
Thur.
5/31 |
21 |
Square-rooting
methods |
Paper abstract and outline due |
Tues.
6/5 |
22 |
CORDIC algorithms |
|
Thur. 6/7 |
23-24 |
Other
topics in function evaluation |
HW#4 due |
Mon. 6/11 |
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 s2007, Homework #1: Number Systems and Addition (chaps. 1-7, due Thur.
April 19)
Do the following problems from the textbook or defined below: 1.5
(15 pts.), 2.A (15 pts.), 5.11 (25 pts.), 6.1 (10 pts.), 6.8 (20 pts.), 7.16 (15
pts.)
Problem 2.A Biased number representation: Consider radix-2
fractional numbers in the range [–1, 1), represented with a bias of 1. (a)
Develop an addition algorithm for such biased numbers. (b) Show that sign change
for such numbers is identical to 2’s complementation. (c) Use the results of
parts a and b to design an adder/subtractor for such numbers.
ECE
252B s2007, Homework #2: Multioperand Addition and Multiplication (chaps. 8-11, due Thur. May 3)
Do the following problems from the textbook or defined below: 8.4
(20 pts.), 9.1 (5 pts.), 9.6 (15 pts.), 10.6 (30 pts.), 11.5 (20 pts.), 11.17 (10
pts.)
ECE
252B s2007, Homework #3: Multiplication and Division (chaps. 12-16, due Thur.
May 24)
Do the following problems from the textbook or defined below:
12.14
(15 pts.), 13.6b (15 pts.), 13.12a (15 pts.), 14.14 (25 pts.), 15.12abc (15 pts.), 16.4 (15
pts.)
ECE
252B s2007, Homework #4: Floating-Point and Function Evaluation (chap. 17-22, due Thur. June 7)
Do the following problems from the textbook or defined below: 17.2 (15 pts.),
17.14 (20 pts.), 18.18 (15 pts.), 19.2 (15 pts.), 21.15 (15 pts.), 22.4c (20
pts.)
ECE 252B s2007, Notes
on homework solutions and other topics
None at this time.
ECE
252B s2007, Possible
Research Topics
List of topics will be posted here if some students indicate
interest in the research option in lieu of final exam.
ECE 252B s2007, Midterm
Exam Preparation
Textbook
sections
that are not required for the closed-book midterm exam: 3.5, 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 s2007,
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.1-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
|