ECE4700J (VE470) Computer Architecture 

Course Overview

This course serves as an alternative to VE450, and can be enrolled as a capstone (so-called MDE) course. Otherwise, it will be counted as an upper level elective course. The course is intended to offer students a solid and deep understanding of how modern computers are designed along with numerous tradeoffs in implementations, including the CPU, memory and their interactions, multi-threading and parallel computing. It will provide students opportunities to gain hands-on experiences of using popular computer architecture simulators (e.g. Gem5) and design frameworks (e.g. Chisel or HLS). Emerging architectures such as domain specific architectures (DSA), Process-in-Memory (PIM) or AI accelerators will also be introduced in the end.


Computer Architecture: A Quantitative Approach, by John L. Hennessy and David A. Patterson, published by Morgan-Kaufmann publishers, November 2017. ISBN: 9780128119051.

Course Prerequisite(s)

VE370 & VE280


4 Credits

Course Objectives

  • To teach students fundamental design tradeoffs of the modern computer architectures;
  • To teach advanced computer architecture concepts such as Multiprocessors, Superscalar, GPUs and advanced caches;
  • To give students an exposure to state-of-the-art computer architecture simulators through hands-on assignments and/or a project that will help understand the tradeoffs;
  • To offer student hands-on experiences of implementing or optimizing major portions of a substantial processor with either Verilog or High-level design approaches;
  • To introduce students the most recent computer architecture advances such as Domain specific architectures (DSA) and AI accelerators;
  • To provide experiences of executing a project as a team from concept to finish effectively and professionally, and to offer opportunities to present ideas to the public.


Summer 2022, 2023