S. No. |
Date |
Lecture |
Slides |
References |
1 |
Week 1 [Sep 28 - Oct 5] |
Assembly language
programming |
|
Computer
Organisation and Architecture Chapter 3 |
2 |
Week 1 |
Processor Design |
Chapter 8 Only Part I |
|
3 |
Week 2 [Oct 5 - Oct 12] |
Pipelining |
Chapter 9 All four parts |
|
4. |
Week 3: Oct 12 to Oct 16 |
Review of pipelining and
motivation for OOO processors |
Slides:
Chapter 2 |
Chapter 2 [Advanced
Architecture book]: 1. Summary of in-order pipelining [YouTube] 2. Motivation for OOO pipelines [YouTube] Interaction between the architecture and OS [pdf] |
5. |
Week 4: Oct 20 to Oct 25 |
Slides:
Chapter 3 |
Chapter 2: 3. Register renaming and precise exceptions [YouTube] Chapter 3: 1. Fetch logic and predicting if an instruction is a branch or not. [YouTube] 2. Branch prediction [YouTube] |
|
6. |
Week 5: Oct 27 to Oct 30 |
Slides:
Chapter 4 |
3. Decode stage [YouTube] Chapter 4: 1. Instruction renaming [YouTube] |
|
7. |
Week 6 and 7: Nov 2-16 |
2. Wakeup, select, and
broadcast [YouTube] 3. Load store queue [YouTube] 4. Instruction commit [YouTube] |
||
8. |
Week 8: Nov 16-23 |
Slides:
Chapter 5 |
Chapter 5: 1. Aggressive Speculation [YouTube] 2. Replay schemes [YouTube] |
|
9. |
Week 9: Nov 23-30 |
Chapter 5: 3. Compiler based techniques [YouTube] |
||
10. |
Week 10: Dec 12-16 |
Chapter 7: Caches | Chapter 7: 1. Overview of caches [YouTube] 2. Cache optimizations and virtual memory [YouTube] |
|
11. |
Week 11: Dec 21-26 |
3. SRAM and CAM arrays [YouTube] 4. Cacti tool, Elmore delay [YouTube] 5. Advanced cache optimizations [YouTube] |
||
12. |
Week 12: Dec 28 - Jan 4 |
Chapter
9: Multicore systems |
Chapter 9: (Multiprocessor
Systems) Coherence, Consistency, and Memory Models 1. Parallel programming and hardware threads [YouTube] 2. Theoretical foundations: overview of coherence and consistency [YouTube] 3. Sequential consistency, PLSC, and coherence [YouTube] 4. Execution witnesses, access graphs, causal graphs [YouTube] 5. Cache coherence: snoopy and directory protocols [YouTube] 6. Advanced directory protocols and atomic operations [YouTube] 7. Memory models and data races [YouTube] |