Rujia Wang


We will be using Piazza/Blackboard to post detailed schedule/course notes.

CS 470 Computer Architecture(Fall 2019)

Lecture: M/W 11:25AM - 12:40PM


This is a new computer architecture course offered in the CS department. We will continue to explore the classical as well as the state-of-the-art computer architecture designs that help to build high performance, low power, high scalability, and high-reliability systems. As we are living in the post-Moore-law era, the technology scaling difficulties, as well as the emerging applications, bring us many challenges in designing low power and high-performance general purpose computing platforms. This course will cover several design challenges and introduce the trend in current computer architecture and system design.


You will study the challenges and designs in computer architecture in order to understand the basics, principles and precedents. Based on such understanding, you will:

  • learn how a modern computer works underneath,
  • evaluate tradeoffs of different designs and ideas,
  • implement a principled design (a simple microprocessor and pipeline),
  • learn to systematically debug increasingly complex systems,
  • develop novel, out-of-the-box designs.
Course Organization

Lectures on classical topics:

  1. Cache and memory hierarchy
  2. Pipeline, out of order execution and speculative execution
  3. SIMD and GPU
  4. Multi-core, multi-processor, coherance
  5. Network and interconnection

Lectures on the state-of-the-art topics:

  1. New memory technologies (NVMs, 3d stack memory, etc)
  2. Memory centric computing
  3. Accelerators for machine learning (GPU, TPU …)
  4. System security (side channel attacks, SGX, …)

Past Semesters

  • CS 350 : Computer Organization and Assembly Languages (Fall 2018).
  • CS 595 : Emerging Topics in Computer Architecture (Spring 2019).
Last updated on August 14, 2019