Chapter 4: Memory Architecture and Performance
After the CPU, the memory is often the hardware component that is limiting the overall program performance. In this chapter, we begin by learning about modern memory architectures, their inherent weaknesses, and the ways to counter or at least hide these weaknesses. For many programs, the performance is entirely dependent on whether the programmer takes advantage of the hardware features designed to improve memory performance, and this chapter teaches the necessary skills.
In this chapter, we're going to cover the following main topics:
- Overview of the memory subsystem
- Performance of memory accesses
- Access patterns and impact on algorithms and data structure design
- Memory bandwidth and latency