Lecture 1 - Introduction to Computer Architecture
Lecture 2 - Quantitative Principles of Computer Design
Lecture 3 - Instruction Set Principles-Part 1
Lecture 4 - Instruction Set Principles-Part 2
Lecture 5 - Instruction Set Principles-Part 3
Lecture 6 - Cache Memory Hierarchy - Part 1
Lecture 7 - Cache Memory Hierarchy - Part 2
Lecture 8 - Cache Memory Hierarchy - Part 3
Lecture 9 - Cache Memory Hierarchy - Part 4
Lecture 10 - Main Memory Design - Part 1
Lecture 11 - Main Memory Design - Part 2
Lecture 12 - Main Memory Design - Part 3
Lecture 13 - Fundamentals of Pipelining - Part 1
Lecture 14 - Fundamentals of Pipelining - Part 2
Lecture 15 - Fundamentals of Pipelining - Part 3
Lecture 16 - Fundamentals of Pipelining - Part 4
Lecture 17 - Fundamentals of Pipelining - Part 5
Lecture 18 - Scalar to Superscalar pipeline
Lecture 19 - Instruction Dependencies
Lecture 20 - Compiler optimizations for Exposing ILP
Lecture 21 - Advanced Branch Prediction Techniques - Part 1
Lecture 22 - Advanced Branch Prediction Techniques - Part 2
Lecture 23 - Superscalar Organization
Lecture 24 - Register Renaming
Lecture 25 - Tomasulo Algorithm
Lecture 26 - Dynamic Execution Core
Lecture 27 - Multi threading
Lecture 28 - Multicore Processor Architecture
Lecture 29 - Cache Coherence
Lecture 30 - Cache Coherence Protocol Design
Lecture 31 - Synchronization
Lecture 32 - Memory Consistency - Part 1
Lecture 33 - Memory Consistency - Part 2