| History and Introduction | 1 | Hennessy and Patterson (2002) | |
| Growth in Processor Performance, Price-Performance Design, CPU Performance Metrics, CPU Benchmarks Suites | 2 | Hennessy and Patterson (2002) | |
| I/O Performance, Performance Enhancement, Concluding: Quantitative Principles | 3 | Hennessy and Patterson (2002) | |
| ISA Taxonomy, Memory Addressing Modes, Types of Operands, Types of Operations | 4 | Hennessy and Patterson (2002) | |
| Instruction Set Encoding, MIPS Instruction Set | 5 | Hennessy and Patterson (2002) | |
| DSP Media Operations, ISA Performance Putting it all Together | 6 | Hennessy and Patterson (2002) | |
| Basics of Computer Hardware Design, Single Cycle Design: Data Path Design, Control Design | 7 | Hennessy and Patterson (1998) | |
| Example of Single Cycle Design, Multi Cycle Design: Datapath | 8 | Stallings (2003) | |
| Features of Multi Cycle Design, Multi Cycle Control Design, Introduction to Pipeline Datapath | 9 | Stallings (2003) | |
| Key Components of Pipeline Datapath, Performance Enhancement due to Pipeline, Hazards in Pipelined Datapath | 10 | Hennessy and Patterson (2002) | |
| Structural Hazards, Data Hazards, Control Hazards | 11 | do. | |
| Longer Pipelines - FP Instructions, Loop Level Parallelism, FP Loop Hazards | 12 | do. | |
| In-order Execution, Out-of-Order Execution, Scoreboard Technique | 13 | do. | |
| Tomasulo's Approach | 14 | do. | |
| Dynamic Branch Prediction, Branch Prediction Buffer | 15 | do. | |
| Correlating Branch Predictors, Tournament Predictor, High Performance Instruction Delivery | 16 | do. | |
| Superscalar Processors | 17 | do. | |
| Hardware-based Speculations, Speculating on the Outcome of Branches, Extension in the Tomasulo’s Hardware | 18 | do. | |
| Limitations of ILP | 19 | do. | |
| Software Approaches to Exploit ILP | 20 | do. | |
| Static Multiple Issue: VLIW Approach, Detecting and Enhancing Loop Level Parallelism | 21 | do. | |
| Eliminating Dependent Computations, Software Pipelining, Trace Scheduling, Superblocks | 22 | do. | |
| H/W Support at Compile Time | 23 | do. | |
| H/W Support at Compile Time (Cont.), Speculation Mechanism: H/W Vs. S/W | 24 | do. | |
| Storage Technologies, RAM and Enhanced DRAM, Disk Storage | 25 | do. | |
| Concept of Cache Memory, Principle of Locality, Cache Addressing Techniques, RAM vs. Cache Transaction | 26 | do. | |
| Cache Performance Metrics, Cache Designs, Addressing Techniques | 27 | do. | |
| Placement and Replacement Policies, Cache Write Strategy, Cache Performance Enhancement | 28 | do. | |
| Cache Performance, Reducing Miss Penalty | 29 | do. | |
| Classification of Cache Misses, Reducing Cache Miss Rate | 30 | do. | |
| Reducing Miss Penalty or Miss Rate using Parallelism, Reducing Hit Time | 31 | do. | |
| Main Memory Performance, Virtual Memory Performance | 32 | do. | |
| Virtual Memory Address Translation, Protection of Multiple Processes Sharing Memory | 33 | do. | |
| Parallel Processing, Parallel Processing Architectures | 34 | do. | |
| Multiprocessor Cache Coherence, Enforcing Coherence, Performance of Cache Coherence Schemes | 35 | do. | |
| Example of Invalidation Scheme, Coherence in Distributed Memory Architecture | 36 | do. | |
| Performance of Multiprocessors with: Symmetric Shared-Memory and Distributed Shared Memory | 37 | do. | |
| Disk Storage Systems, Interfacing Storage Devices | 38 | do. | |
| I/O Interconnect Trends, Bus-based Interconnect, Bus Standards | 39 | do. | |
| Redundant Array of Inexpensive Disks, I/O Benchmarks | 40 | do. | |
| A Simple Network, Network Topology, Internetworking | 41 | do. | |
| Switch Topologies, Clusters | 42 | do. | |
| Internetworks, Clusters | 43 | do. | |
| Case Studies | 44 | | |
| Review Lecture | 45 | | |