Skip to content

c4arl0s/ComputerSystemsAProgrammersPerspectiveContentIndex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

  1. 1. A tour of Computer System
  2. 2. Programs are translatedxd by other Programs into Different Forms
  3. 3. It pays to understand How Compilation System Works
  4. 4. Processors Read and Interpret instructions Stored in Memory
  5. Running the hello Program
  6. Caches Matters
  7. Storage Devices Form a Hiararchy
  8. The Operating System Manages the Hardware
  9. Systems Communicate with Other Systems Using Networks
  10. Important Themes
  11. Summary
  1. 1. 2.1 Information Storage
  2. 2.2 Integer Representations
  3. 2.3 Integer Arithmetic
  4. 2.4 Floating Point
  5. 2.5 Summary
  1. 1. 3.1 A Historical Perspective
  2. 2. 3.2 Program Encodings
  3. 3.3 Data Formats
  4. 3.4 Accessing Information
  5. 3.5 Arithmetic and Logical Operations
  6. 3.6 Control
  7. 3.7 Procedures
  8. 3.8 Array Allocation and Access
  9. 3.9 Heterogeneous Data Structures
  10. 3.10 Putting It Together: Understanding Pointers
  11. 3.11 Life in the Real World: Using the gdb Debugger
  12. 3.12 Out-of-Bounds Memory References and Buffer Overflow
  13. 3.13 x86-64: Extending IA32 to 64 Bits
  14. 3.13.2 An Overview of x86-64
  15. 3.13.3 Accessing Information
  16. 3.13.4 Control
  17. 3.13.5 Data Structures
  18. 3.13.6 Concluding Observations about x86-64
  19. 3.14 Machine-Level Representations of Floating-Point Programs
  20. 3.15 Summary
  1. 4.1 The Y86 Instruction Set Architecture
  2. 4.2 Logic Design and the Hardware Control Language HCL
  3. 4.3 Sequential Y86 Implementations
  4. 4.4 General Principles of Pipelining
  5. 4.5 Pipelined Y86 Implementations
  1. 5.1 Capabilities and Limitations of Optimizing Compilers
  2. 5.2 Expressing Program Performance
  3. 5.3 Program Example
  4. 5.4 Eliminating Loop Inefficiencies
  5. 5.5 Reducing Procedure Calls
  6. 5.6 Eliminating Unneeded Memory References
  7. 5.7 Understanding Modern Processors
  8. 5.8 Loop Unrolling
  9. 5.9 Enhancing Parallelism
  10. 5.10 Summary of Results for Optimizing Combining Code
  11. 5.11 Some Limiting Factors
  12. 5.12 Understanding Memory Performance
  13. 5.13 Life in the Real World: Performance Improvement Techniques
  14. 5.14 Identifying and Eliminating Performance Bottlenecks
  15. 5.15 Summary
  1. 1. 6.1 Storage Technologies
  2. 20. 6.2 Locality
  3. 24. 6.3 The Memory Hierarchy
  4. 31. 6.4 Cache Memories
  5. 54. 6.5 Writing Cache-friendly Code
  6. 55. 6.6 Putting It Together: The Impact of Caches on Program Performance
  7. 59. 6.7 Summary

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors