Online Resources
Preface
About the Author
Chapter 0: Reader’s and Instructor’s Guide
0.1. Outline of the Book
0.2. A Roadmap for Readers and Instructors
0.3. Why Study Computer Organization and Architecture?
0.4. Internet and Web Resources
1. Chapter 1: Introduction
1.1. Organization and Architecture
1.2. Structure and Function
1.3. Key Terms and Review Questions
2. Chapter 2: Computer Evolution and Performance
2.1. A Brief History of Computers
2.2. Designing for Performance
2.3. Multicore, MICs, and GPGPUs
2.4. The Evolution of the Intel x86 Architecture
2.5. Embedded Systems and the ARM
2.8. Key Terms, Review Questions, and Problems
3. Chapter 3: A Top-Level View of Computer Function and Interconnection
3.5. Point-To-Point Interconnect
3.8. Key Terms, Review Questions, and Problems
4. Chapter 4: Cache Memory
4.1. Computer Memory System Overview
4.2. Cache Memory Principles
4.3. Elements of Cache Design
4.4. Pentium 4 Cache Organization
4.5. ARM Cache Organization
4.7. Key Terms, Review Questions, and Problems
5. Chapter 5: Internal Memory
5.1. Semiconductor Main Memory
5.3. Advanced DRAM Organization
5.5. Key Terms, Review Questions, and Problems
6. Chapter 6: External Memory
6.3. Solid State Drives
6.7. Key Terms, Review Questions, and Problems
7. Chapter 7: Input/Output
7.5. Direct Memory Access
7.6. I/O Channels and Processors
7.7. The External Interface: Thunderbolt and Infiniband
7.8. IBM zEnterprise 196 I/O Structure
7.10. Key Terms, Review Questions, and Problems
8. Chapter 8: Operating System Support
8.1. Operating System Overview
8.4. Pentium Memory Management
8.5. ARM Memory Management
8.7. Key Terms, Review Questions, and Problems
9. Chapter 9: Number Systems
9.1. The Decimal System
9.2. Positional Number Systems
9.3. The Binary System
9.4. Converting Between Binary and Decimal
9.7. Key Terms and Problems
10. Chapter 10: Computer Arithmetic
10.1. The Arithmetic and Logic Unit
10.4. Floating-Point Representation
10.5. Floating-Point Arithmetic
10.7. Key Terms, Review Questions, and Problems
11. Chapter 11: Digital Logic
11.5. Programmable Logic Devices
11.7. Key Terms and Problems
12. Chapter 12: Instruction Sets: Characteristics and Functions
12.1. Machine Instruction Characteristics
12.2. Types of Operands
12.3. Intel x86 and ARM Data Types
12.4. Types of Operations
12.5. Intel x86 and ARM Operation Types
12.7. Key Terms, Review Questions, and Problems
13. Chapter 13: Instruction Sets: Addressing Modes and Formats
13.2. x86 and ARM Addressing Modes
13.4. x86 and ARM Instruction Formats
13.7. Key Terms, Review Questions, and Problems
14. Chapter 14: Processor Structure and Function
14.5. The x86 Processor Family
14.6. The ARM Processor
14.8. Key Terms, Review Questions, and Problems
15. Chapter 15: Reduced Instruction Set Computers
15.1. Instruction Execution Characteristics
15.2. The Use of a Large Register File
15.3. Compiler-Based Register Optimization
15.4. Reduced Instruction Set Architecture
15.8. RISC Versus CISC Controversy
15.10. Key Terms, Review Questions, and Problems
16. Chapter 16: Instruction-Level Parallelism and Superscalar Processors
16.6. Key Terms, Review Questions, and Problems
17. Chapter 17: Parallel Processing
17.1. Multiple Processor Organizations
17.3. Cache Coherence and the MESI Protocol
17.4. Multithreading and Chip Multiprocessors
17.6. Nonuniform Memory Access
17.9. Key Terms, Review Questions, and Problems
18. Chapter 18: Multicore Computers
18.1. Hardware Performance Issues
18.2. Software Performance Issues
18.4. Intel x86 Multicore Organization
18.6. IBM zEnterprise 196 Mainframe
18.8. Key Terms, Review Questions, and Problems
Appendix A: Projects for Teaching Computer Organization and Architecture
Appendix B: Assembly Language and Related Topics
19. Chapter 19: Control Unit Operation
19.2. Control of the Processor
19.5. Key Terms, Review Questions, and Problems
20. Chapter 20: Microprogrammed Control
20.6. Key Terms, Review Questions, and Problems
Glossary
References
Index