Advanced Computer Architecture (Fall 2021)
ECE6100/ECE4100/CS4290/CS6290 B

Course Staff

  • Instructor: Prof. Cong (Callie) Hao ​​

  • Teaching Assistant(s):

    • TBD​

Course Overview

  • This course is a study of the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems

  • Topics may include:

    • Instruction set design

    • Processor micro-architecture and pipelining

    • Cache and virtual memory organizations

    • In-order and out-of-order superscalar architectures

    • VLIW machines

    • Vector supercomputers and GPU basic

    • Multithreaded architectures

    • Symmetric multiprocessors

    • Memory models and synchronization

    • Modern domain-specific accelerators, languages, and compilers

    • FPGA basic

Prerequisites

  • Undergraduate computer architecture course that covers basic computer organization: instruction sets, basic caching, pipelining, etc. (CS2200 or ECE3057). It may be beneficial to refresh your knowledge on these topics before taking this course. The course has a significant project component that heavily relies on C/C++ programming. You need to be familiar with C/C++ and Linux.

Course Material

  • There is no required textbook for this course, but we strongly recommend Computer Architecture: A Quantitative Approach by John Hennessy and David Patterson, 5th Edition, Morgan Kauffman, 2012. 

  • Recommended readings will be provided later.

Grading

  • Labs: 35%  

    • Lab 1: 5%

    • Lab 2: 10%

    • Lab 3: 10%

    • Lab 4: 10%

  • Homework: 4% 

    • HW 1: 2%

    • HW 2: 2%

  • Exams: 60%

    • Midterm I: 20%

    • Midterm II: 20%

    • Final: 20%

  • Participation: 1%

Course Schedule

  • 12:30 pm - 1:45 pm, Tuesday & Thursday

  • Klaus 2447

Calendar