Skip Navigation
York U: Redefine the PossibleHOME | Current Students | Faculty & Staff | Research | International
Search »FacultiesLibrariesCampus MapsYork U OrganizationDirectorySite Index
Future Students, Alumni & Visitors
Computer Architecture


This course presents the core concepts of computer architecture and design ideas embodied in many machines, and emphasises a quantitative approach to cost/performance tradeoffs. This course concentrates on uniprocessor systems. A few machines are studied to illustrate how these concepts are implemented; how various tradeoffs that exist among design choices are treated; and how good designs make efficient use of technology. Future trends in computer architecture are also discussed. Topics covered may include fundamentals of computer design; performance and cost; instruction set design and measurements of use; pipeline design techniques; memory-hierarchy design; Input-output subsystems;

Learning outcomes for the course:

Upon the completion of this course, the student should be able to

  1. Design cache, memory hierarchy, and virtual memory using different techniques to improve cost/performance ratio.
  2. Demonstrate how dynamic scheduling and speculative execution can improve the system performance and explain how it is implemented in modern processors.
  3. Evaluate different design alternatives and make quantitative/qualitative argument for one design over the other.
  4. Identity the different types of parallelism (data, instruction, thread, transaction) for a given application.
  5. Compare and evaluate different techniques (such as multithreading, multicore, or vector) to improve CPU performance.

Lecture Times

  • Section E: Tuesdays and Thursdays, 10:00am - 11:15pm, HNE 031
Last modified:
2018/08/31 12:59