Revised April 28, 2010

CS 251: Computer Organization and Design

General Description

CS 251 has the goals to

Logistics

Intended for students in Computer Science, normally at the 2B level, although the term may vary. Students in the Digital Hardware option should take ECE 222 or 223 in place of CS 251. Normally available in Fall, Winter and Spring.

Related courses (see calendar for official details)

Predecessors: CS 136, 138, 145 (before Fall 2011), or 146 (imperative programming and the basic memory model).
Friends: Taking CS 241 along with CS 251 works well.
Successors: CS 350, CS 370, CS 450. Through CS 350 and 370, many CS upper-year courses.
Conflicts: Courses that explore the basics of computer hardware.
Typical Reference(s)

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

Required preparation

Students should have the following at the start of the course.

Learning objectives

By the end of the course, students should have the ability to do the following.

Typical syllabus

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 (informally).

Data Representation and Manipulation (6 hours)

Signed and unsigned integer representations. Addition and subtraction. Using (informal) finite-state machines to control datapaths. Multiplication. IEEE floating-point representation.

Basic Processor Design (5 hours)

Basic processor datapaths. Processor design using single-cycle control.

Pipelining (5 hours)

Pipelined datapaths. Data hazards. Branch hazards. Load-use hazards.

Input/Output (3 hours)

Buses and bus arbitration. Storage (disks). Interrupts. Point-to-point (routed) networks. Networks and clusters.

Memory Hierarchies (3 hours)

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

Multiprocessing (3 hours)

Multi-processor systems and core processors. Synchronization and locking. Cache consistency.


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: Wednesday, 15-Feb-2012 10:35:57 EST


Menu:ShowHide