CS 450 Computer Architecture


Watch a video introduction to this course on YouTube.

Objectives

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.

Intended Audience

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.

Related Courses

Prerequisites: (CS245 or SE112/212) and (CS350, ECE354, GENE/MTE 241 or SE 350); Computer Science students only.

Antirequisite: ECE 429.

References

Computer Architecture: A Quantitative Approach, 5th ed., by J. Hennessy and D. Patterson, Morgan Kaufmann, 2011. Course notes required.

Schedule

3 hours of lectures per week.

Notes

  1. The course mark is based mainly on assignments, individual projects, and the final examination.

Outline

Fundamentals of Computer Design (5 hours)

The quantitative principles of computer design with an emphasis on performance and cost tradeoffs.

Instruction Set Design (6 hours)

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.

Basic Processor Implementation Techniques (12 hours)

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.

Memory Hierarchy Design (6 hours)

The principle of locality, caches, main memory, virtual memory and protection issues.

Input/Output (4 hours)

Predicting system performance. Types of I/O devices. Bus structures. Interfacing to an operating system.

Multiprocessor Architectures (3 hours)

Flynn classification. SIMD computers, MIMD computers. Computer networks.