This course is about the implementation of instruction set architectures. Our goal is to expose the students to the design and implementation details of realistic general-purpose processors. We will bring up hardware and software technology trends and the tradeoffs an architect must make in building modern processors. We will also discuss a selection of research from computer architecture conferences. We expect the students to write a research review and deliver an oral presentation. What the students get out of this course depends on how much effort they put in doing assignments and thinking about the various issues we raise in the classroom.


We expect students to have: (1) knowledge of one modern ISA, (2) some experience with assembly language programming (e.g., COMP2300 or ENGN2219), and (3) some experience with C/C++ and the Linux environment.


Most lectures will be based on the material in the textbooks. I will use slides in the class. I expect students to read the applicable sections in the book after the lecture. I will post the slides in advance. Please participate in the class discussions.

Updated:    01 Nov 2021 / Responsible Officer:    Director, School of Computing / Page Contact:    Shoaib Akram