- 1. The Calculator Model of Computing
- 2. The File-Clerk Model of Computing
- 3. The Register File
- 4. RAM: When Registers Alone Won’t Cut It
- 5. A Closer Look at the Code Stream: The Program
- 6. A Closer Look at Memory Accesses: Register vs. Immediate
- 1. Opcodes and Machine Language
- 2. The Programming Model and the ISA
- 3. The Clock
- 4. Branch Instructions
- 5. Excursus: Booting Up
- 1. The Lifecycle of an Instruction
- 2. Basic Instruction Flow
- 3. Pipelining Explained
- 4. Applying the Analogy
- A Non-Pipelined Processor
- A Pipelined Processor
- Shrink the clock
- Shrinking Program Execution Time
- The Speedup from Pipelining
- Program Execution Time and Completion Rate
- The Relationship Between Completion Rate and Program Execution Time
- Instruction Throughput and Pipeline Stalls
- Instruction Throughput
- Maximum theorical instruction throughput
- Average instruction thoughput
- Pipeline Stalls
- Instruction Latency and Pipeline Stalls
- Limits to Pipelining
- Clock Period and Completion Rate
- The Cost of Pipelining
- 0. Super Escalar Execution - Intro
- 1. Superscalar Computing and IPC (Instruction Per Cycle)
- 2. Expanding Superscalar Processing with Execution Units
- 6. Microarchitecture and the ISA
- 9. Challenges to Pipelining and Superscalar Design
- 1. The Original Pentium
- 10. The Intel P6 Microarchitecture: The Pentium Pro
-
- 27. CISC, RISC, and Instruction Set Translation [cool! explanation about ISA, CISC and RISC]
- 30. Summary: The P6 Microarchitecture in Historical Context
- 31. The Pentium Pro
- 32. The Pentium II
- 33. The Pentium III
- 34. Conclusion
- 1. A Brief History of PowerPC
- 2. The PowerPC 601
- 3. The PowerPC 603 and 603e
- 4. The PowerPC 604
- The 604's Pipeline and Back End
- The 604's Front End and Instruction Window
- The Issue Phase: The 604's Reservation Stations
- The Four Rules of Instruction Dispatch
- The in-order dispatch rule
- The issue buffer/execution unit availability rule
- The completion buffer availability rule
- The rename register availability rule The Completion Phase: The 604's Reorder Buffer
- Summary: The 604 in Historical Context
- 5. The PowerPC 604e
- 6. The PowerPC 750 (aka the G3)
- 7. The PowerPC 7400 (aka the G4)
- 8. Conclusion
- 1. The Pentium 4’s Speed Addiction
- 2. The General Approaches and Design Philosophies of the Pentium 4 and G4e
- 3. An Overview of the G4e’s Architecture and Pipeline
- 4. Stages 1 and 2: Instruction Fetch
- 5. Stage 3: Decode/Dispatch
- 6. Stage 4: Issue
- 7. Stage 5: Execute
- 8. Stages 6 and 7: Complete and Write-Back
- 9. Branch Prediction on the G4e and Pentium 4
- 10. An Overview of the Pentium 4’s Architecture
- 11. Expanding the Instruction Window
- 12. The Trace Cache
- 13. Shortening Instruction Execution Time
- 14. The Trace Cache’s Operation
- 15. An Overview of the Pentium 4’s Pipeline
- 16. Stages 1 and 2: Trace Cache Next Instruction Pointer
- 17. Stages 3 and 4: Trace Cache Fetch
- 18. Stage 5: Drive
- 19. Stages 6 Through 8: Allocate and Rename (ROB)
- 20. Stage 9: Queue
- 21. Stages 10 Through 12: Schedule
- 22. Stages 13 and 14: Issue
- 23. Stages 15 and 16: Register Files
- 24. Stage 17: Execute
- 25. Stage 18: Flags
- 26. Stage 19: Branch Check
- 27. Stage 20: Drive
- 28. Stages 21 and Onward: Complete and Commit
- 29. The Pentium 4’s Instruction Window
- 30. Summary.
- 1. Intel’s IA-64 and AMD’s x86-64
- 2. Why 64 Bits?
- 3. What Is 64-Bit Computing?
- 4. Current 64-Bit Applications
- 5. The 64-Bit Alternative: x86-64
- 6. Conclusion
- 1. Caching Basics
- 6. Locality of Reference
- 11. Cache Organization: Blocks and Block Frames
- 12. Tag RAM
- 13. Fully Associative Mapping
- 14. Direct Mapping
- 15. N-Way Set Associative Mapping
- 21. Temporal and Spatial Locality Revisited: Replacement/Eviction Policies and Block Sizes
- 22. Types of Replacement/Eviction Policies
- 24. Write Policies: Write-Through vs. Write-Back
- 25. Conclusions