CS 251 Computer Organization and Design


Objectives

To introduce students to theoretical and practical concepts relevant to the structure and design of modern digital computers. The course covers computer architecture from gate-level logic through processor design to multiprocessor and network issues.

Intended Audience

CS 251 is a required course for most CS major academic plans and is normally taken in the 2A term.

Related Courses

Prerequisites: CS 134 or 136 or 145; Computer Science students only.

Corequisites: CS 241 is recommended.

Antirequisites: ECE 222, PHYS 353, SE 141.

Successors: CS 246, 350, 343, 450. Recommended for CS 452, 454.

References

Computer Organization and Design, 4th ed. by D. Patterson and J. Hennessy, Morgan Kaufmann, 2004. Course notes are required.

Schedule

3 hours of lectures per week. Normally available in Fall, Winter and Spring.

Notes

  1. Students in the CS/EEE program should replace this course with ECE 222.
  2. CS 251 is designed to be taken with CS 241. See the CS 241 description for more details.
  3. There are several assignments as well as a midterm and a final exam.

Outline

Introduction (2 hours)

Overview of computer organization. Measuring performance.

Digital Logic Design (6 hours)

Gates, truth tables, and logic equations. Combinational logic and basic components. PLAs and ROMs. Memory elements. Finite state machines.

Data Representation and Manipulation (6 hours)

Signed and unsigned numbers. Addition and subtraction. ALUs. Multiplication. Floating point representation.

Basic Processor Design (12 hours)

Datapaths.  Single-cycle control. Multi-cycle control. Microprogramming.

Pipelining (5 hours)

Pipelined datapaths. Data hazards. Branch hazards.

Memory Hierarchies (3 hours)

Caches: direct-mapped, fully-associative, set-associative. Virtual memory. Page tables and TLBs.

Multiprocessors (2 hours)

Single-bus networks. Cache consistency. Networks and clusters.


Campaign Waterloo

David R. Cheriton School of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1

Tel: 519-888-4567 x33293
Fax: 519-885-1208

Contact | Feedback: cs-uops@cs.uwaterloo.ca | David R. Cheriton School of Computer Science | Faculty of Mathematics


Valid HTML 4.01!Valid CSS! Last modified: Monday, 08-Jun-2009 10:23:56 EDT


Menu:ShowHide