《深入理解计算机系统》
存储器层次结构
存储系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。
CPU寄存器保存着最常用的数据。
靠近CPU的小的、快速的高速缓存存储器(cache memory)作为存储在相对慢速的主存储器(main memory,主存)中数据和指令子集的缓冲区域。
主存存放存储在较大的慢速磁盘上的数据。
磁盘常常作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的缓冲区域。
CPU和主存之间作为缓冲区域的高速缓存存储器对应用程序性能的影响最大。
1.随机访问存储器RAM
只读存储器(Read Only Memory,ROM)所存数据通常是装入整机前写入的,整机工作过程中只能读出,不像随机存储器能快速方便地改写存储内容。ROM所存数据稳定 ,断电后所存数据也不会改变,并且结构较简单,使用方便,因而常用于存储各种固定程序和数据。
可用于计算机启动用的BIOS芯片。
RAM一般用作内存,ROM一般作为固件,用来存放一些硬件的驱动程序。
随机访问存储器(random-access memory,RAM)分为静态和动态两类。静态RAM(SRAM)比动态RAM(DRAM)更快,但也更贵。
SRAM用来作为高速缓存存储器,可以在CPU芯片上,也可以不在CPU芯片上。
DRAM用来作为主存以及图形系统的帧缓冲区。
一个桌面系统的SRAM不会超过几兆字节,但DRAM却有几百或几千兆字节。
SRAM
SRAM将每个位存储在一个双稳态的存储单元里。只要有电,电路会保存在两个稳态中的一个。从而保持它的值。
DRAM
DRAM将每个位存储为对电容的充电。
2.非易失存储器
如果断电,DRAM和SRAM会丢失信息,它们是易失的(volatile)。非易失存储器(non-volatile memory)即使断电仍保存信息。
3.磁盘存储
磁盘是保存大量数据的存储设备,数量级达到几十到几百千兆字节,而基于RAM的存储器只有几百或几千兆字节。但从磁盘上读信息需要几毫秒,比从DRAM读慢了10万倍,比从SRAM读慢了100万倍。