Invited Book Chapter in Computing Handbook, Third Edition. Computer Science and Software Engineering, CRC Press, April 2014.
Yoongu Kim, Onur Mutlu
Carnegie Mellon University
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Basic Concepts and Metrics. . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Two Components of the Memory System . . . . . . . . . . . . . . . . . . . 3
1.2 Memory Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Managing the Memory Hierarchy . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 Virtual vs. Physical Address Spaces . . . . . . . . . . . . . . . . . . . 8
1.3.2 Virtual Memory System . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Basic Design Considerations. . . . . . . . . . . . . . . . . . . . . . . 12
1.4.2 Logical Organization . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.3 Management Policies. . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.4 Managing Multiple Caches . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.5 Specialized Caches for Virtual Memory. . . . . . . . . . . . . . . . . . 18
1.5 Main Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5.1 DRAM Organization. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.2 Bank Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.5.3 Memory Request Scheduling. . . . . . . . . . . . . . . . . . . . . . . . 21
1.5.4 Refresh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.6 Current and Future Research Issues . . . . . . . . . . . . . . . . . . . . 22
1.6.1 Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.6.2 Main Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.7 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
FULL PAPER: pdf