The course material is freely usable for educational and non-commercial research purpose, with due attribution. Any commercial use requires prior written permission from the author. If you are the owner of any of the content included (eg. images), and feel that it has been unfairly used, kindly let me know and I will either attribute it to you as you specify or take it off, depending on your request.

ACK: Many of the slides are adpated and modified versions of some of the excellent computer architecture courses taught by Joel Emer, Arvind, Yale Patt, John Kubiatowicz, Onur Mutlu, Krste Asanovic, Mattan Erez, Rajeev Balasubramonian, and Mainak Chaudhuri. The course material available here is not exhaustive as most of the lectures were based on the in-class/piazza discussions.
Week DateLecure #TopicMaterialsReadings
1
Jan. 7
Lecture 1
Introduction
1
Jan. 8
Lecture 2
Turing Lecture @ISCA-18
2
Jan. 14
Lecture 3
DRAM-organization:10K feet view
2
Jan. 15
Lecture 4
Cache-organization:10K feet view
3
Jan. 21
Lecture 5
Hardware Prefetching:10K feet view + Project ideas
3
Jan. 22
Lecture 5
Processor Core:10K feet view
4
Jan. 28
Lecture 6
Caches:I
4
Jan. 29
Lecture 7
Talk by Arthur Perais (Quantum Architect @Microsoft) on Value Prediction
5
Feb. 4
Lecture 8
Caches:II
5
Feb. 5
Lecture 9
Caches:III
6
Feb. 11
Lecture 10
Caches: IV
6
Feb. 12
Lecture 11
Project Presentations: Milestone I
6
Feb. 13
Lecture 12
Cache Replacement Policies
7
Feb. 19/20
Mid-term Week
8
Feb. 26
Lecture 13
Cache Tradeoffs
8
Feb. 27
Lecture 14
Cache coherence
9
March 5
Lecture 15
Caches + Virtual Memory
10
March 11
Lecture 16
DRAM Timing Constraints
10
March 12
Lecture 17
DRAM Scheduling
10
March 13
Lecture 18
Multicore Performance Metrics + Mid-term break
12
March 25
Lecture 19
Multithreading
13
April 1
Lecture 20
ISA
13
April 2
Lecture 21
Branch Prediction
14
April 8
Lecture 22
Superscalar Processors
14
April 9
Lecture 23
O3, speculative execution, Register Renaming
15
April 15 & 16
Lecture 22 & 23
Student Presentations