To provide students with an appreciation of modern computer design and its relation to system architecture, compiler technology and operating system functionality. Emphasis is placed on design based on the measurement of performance and its dependency on parallelism, efficiency, latency and resource utilization.
CS 450 is a course for CS major students and is normally completed in a student's fourth year. This course will be of interest to students who may participate in selecting computer hardware, or working with logic designers to specify application specific processors in the future.
Prerequisites: (CS 245 and CS 251) or CS 354 or (ECE 222 and SE 112); Computer Science students only.
Antirequisite: ECE 427, 429.
Computer Architecture: A Quantitative Approach, 3rd ed., by J. Hennessy and D. Patterson, Morgan Kaufmann, 2003. Course notes required.
3 hours of lectures per week. Normally available in Winter.
The quantitative principles of computer design with an emphasis on performance and cost tradeoffs.
Classification of instruction set architectures: operand storage, memory addressing and the role of high-level languages and compilers. Case studies and measurement of instruction use.
The processor datapath, control unit, and interrupts. Pipelining: hazards, dynamic scheduling. Vector processors: basic vector architecture, vector length and stride, compiler technology for vector machines.
The principle of locality, caches, main memory, virtual memory and protection issues.
Predicting system performance. Types of I/O devices. Bus structures. Interfacing to an operating system.
Flynn classification. SIMD computers, MIMD computers. Computer networks.

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