深入理解计算机系统(第3版) 第六章 存储器层次结构

1.存储器系统

存储器系统(memory system)是一个具有不同容量、成本和访问时间的存储设备的层次结构。

CPU寄存器保存着最常用的数据。

靠近CPU的小的、快速的高速缓存寄存器(cache memory)作为一部分存储在相对慢速的主存储器(main memory)中数据和指令的缓冲区域。

主存储器存储在容量较大的、慢速磁盘上的数据,而这些磁盘常常又作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的缓冲区域。

作为一个程序员,需要连接存储器层次结构,因为它对应用程序的性能有着巨大的影响。如果你的程序需要的数据是存储在CPU寄存器中的,那么在指令的执行期间,在0个周期内就能访问到它们。如果存储在高速缓存中,需要4~75个周期。如果存储在主存中,需要上百个周期。而如果存储在磁盘上,需要大约几千万个周期。

 

2.随机访问存储器

随机访问存储器(random access memory,RAM)分为两类:静态的和动态的。静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多。

SRAM用来作为高速缓存存储器,既可以在CPU芯片上,也可以在片下。

DRAM用来作为主存以及图形系统的帧缓冲区。

一个典型的桌面系统的SRAM不会超过几兆字节,但是DRAM却有几百兆或几千兆字节。

 

3.非易失性存储器

如果断电,DRAM和SRAM会丢失它们的信息,从这个意义上说,它们是易失的(volatile)。另一方面,非易失性存储器(nonvolatile memory)即使是在关电后,仍然保存着它们的信息。

现在有很多种非易失性存储器。由于历史原因,虽然ROM中有的类型既可以读也可以写,但是它们整体上都被称为只读存储器(read only memory,ROM)。ROM是以它们能够被重编程(写)的次数和对它们进行重编程所用的机制来区分的。

 

4.磁盘存储

磁盘是广为应用的保存大量数据的存储设备,存储数据的数量级可以达到几百到几千兆字节,而基于RAM的存储器只能有几百或几千兆字节。不过,从磁盘上读取信息的时间为毫秒级,比从DRAM读慢了10万倍,比从SRAM读慢了100万倍。

 

5.固态硬盘

固态硬盘(solid state disk,SSD)是一种基于闪存的存储技术,在某些情况下是传统旋转磁盘的极有吸引力的替代产品。

读SSD比写要快。

SSD优点:由半导体存储器构成,没有移动的部件,因而随机访问时间比旋转磁盘要快,能耗更低,同时也更结实。

SSD缺点:反复写后,闪存块会磨损,所以SSD也容易磨损,同时价格相对旋转磁盘要贵。

 

6.各种存储器的访问时间趋势

深入理解计算机系统(第3版) 第六章 存储器层次结构_第1张图片

 

7.存储器的层次结构

深入理解计算机系统(第3版) 第六章 存储器层次结构_第2张图片

深入理解计算机系统(第3版) 第六章 存储器层次结构_第3张图片

 

8.高速缓存存储器

早期计算机系统的存储器层次结构只有三层:CPU寄存器、DRAM主存储器(内存)和磁盘存储。

不过,由于CPU和主存之间逐渐增大的差距,系统设计者被迫在CPU寄存器文件和主存之间插入了一个小的SRAM高速缓存存储器,称为L1高速缓存(一级缓存),如下图,

(L1高速缓存的访问速度几乎和寄存器一样快,大约4个时钟周期)

深入理解计算机系统(第3版) 第六章 存储器层次结构_第4张图片

随着CPU和主存之间的性能差距不断增大,系统设计者在L1高速缓存和主存之间又插入了一个更大的高速缓存,称为L2高速缓存,可以在大约10个时钟周期内访问到它。

有些现代系统,还包括有一个更大的高速缓存,称为L3高速缓存,在存储器存储结构中,它位于L2高速缓存和主存之间,可以在大约50个时钟周期访问到它。

虽然安排上有相当多的变化,但是通用原则是一样的。

 

第六章小结

深入理解计算机系统(第3版) 第六章 存储器层次结构_第5张图片

深入理解计算机系统(第3版) 第六章 存储器层次结构_第6张图片

你可能感兴趣的:(system)