第六章,存储器层次结构
存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。
局部性是计算机程序的一个基本属性。
存储器山:一种描绘某台机器上存储器层次结构的性能的方法。
6.1 存储技术
6.1.1 随机访问存储器(RAM)
分为两类:①静态(SRAM)
②动态(DRAM)
①SRAM将每个位存储在一个双稳态存储器单元里。它可以无限期地保存在两个不同的电压配置或状态之一。
②DRAM将每个位存储为对一个电容的充电。它对干扰非常敏感。
③传统的DRAM
④存储器模块 168引脚的双列直插存储器模块,64位;72引脚的单列直插存储器模块,32位。
⑤增强的DRAM(快页模式、扩展数据输出、双倍数据速率同步、同步、Rambus、视频)
⑥非易失性存储器
RAM断电即丢失他们的信息,他们是易失的,所以有ROM只读存储器。
⑦访问主页
数据流通过总线在处理器和DRAM主存之间来来回回,分为总线事物、读事物、写事物。
6.1.2 磁盘存储
磁盘是广为应用的保存大量数据的存储设备。
①磁盘构造
盘片构成,每个盘片分为两面或叫表面,覆盖着磁性记录材料。盘中央是一个可以旋转的主轴,它让盘片以固定的旋转速率旋转。
每个表面由磁道组成,我们通常说的磁盘是指磁盘驱动器整个装置。
②磁盘容量
一个磁盘上可以记录的最大位数
③磁盘操作
磁盘用读写头来读写存储在磁性表面的位。(寻道时间、旋转时间、传送时间)
③逻辑磁盘块
三元组:盘面、磁道、扇区
④连接到I/O设备
三个类型:通用串行总线
图形卡
主机总线适配器
⑤访问磁盘
⑥商用磁盘的剖析
6.1.3 固态硬盘(SSD)
SSD是一种基于闪存的存储技术。
一个SSD包括一个或多个闪存芯片和闪存翻译层。
SSD有着于旋转磁盘不同的性能特性。随机读和写的性能差别是底层闪存基本属性决定的。
6.1.4 存储技术趋势
SRAM比DRAM快一点,而DRAM比磁盘要快很多。
SSD位于DRAM和旋转磁盘之间。
DRAM和磁盘的性能滞后于CPU的性能。
6.2 局部性
一个编写良好的计算机程序常常具有良好的局部性。
时间局部性和空间局部性
6.2.1 对程序数据引用的局部性
步长为一的引用模式称为顺序引用模式。
6.2.2 取指令的局部性
当程序正在执行是,cup只从存储器中读出他的指令。
cup决不会重写或修改这些指令。
6.2.3 局部性小结
原则:重复引用同一个变量的程序有良好的时间局部性。
步长越小,空间局部性越好。
循环有好的时间和空间局部性。
6.3 存储器层次结构
存储技术
计算机软件
6.3.1 存储器层次结构中的缓存
使用高速缓存的过程称为缓存。
①缓存命中
②缓存不命中
③缓存不命中的种类
④缓存管理
6.3.2 存储器层次结构概念小结
利用时间局部性
利用空间局部性
6.4 高速缓存存储器
早起计算机系统只有三层:CPU寄存器、DRAM主存储器和磁盘存储。
6.4.1 通用的高速缓存存储器结构
高速缓存组 高速缓存行
6.4.2 直接映射高速缓存
每个组只有一行的高速缓存称为直接映射高速缓存。
①直接映射高速缓存中的组选择
②直接映射高速缓存中的行匹配
③直接映射高速缓存中的字选择
④直接映射高速缓存中的行替换
⑤综合:运行中的直接映射高速缓存
⑥直接映射高速缓存中的冲突不命中
6.4.3 组相联高速缓存
①组相联高速缓存中的组选择
②组相联高速缓存中的行匹配和字选择
③组相联高速缓存中的不命中时的行替换
6.4.4 全相联高速缓存
①全相联高速缓存中的组选择
②全相联高速缓存中的行匹配和字选择
6.4.5 有关写的问题
立即将w的高速缓存块写回到紧接着的低一层中称为直写。
两种方法:①写分配
②非写分配
6.4.6 一个真实的高速缓存层次结构的解剖
6.4.7 高速缓存参数的性能影响
不命中率
命中率
命中时间
不命中处罚
①高速缓存大小的影响
②块大小的影响
③相联度的影响
④写策略的影响
第六章参考资料
《深入理解计算机系统》
闫佳歆同学的博客