学习计时:共5小时 读书: 代码: 作业: 博客: |
一、学习目标 |
1. 了解常见的存储技术(RAM、ROM、磁盘、固态硬盘等)
2. 理解局部性原理
3. 理解缓存思想
4. 理解局部性原理和缓存思想在存储层次结构中的应用
5. 高速缓存的原理和应用
|
第六章 存储器层次结构
·存储器系统是一个具有不同容量、成本和访问时间的存储设别的层次结构
6.1 存储技术
6.1.1 随机访问存储器
·随机访问储存器(RAM)分为两类:静态和动态。静态(SRAM)比动态(DRAM)更快,也更贵。
1.静态RAM
·SRAM将每个位储存在一个双稳态的存储器单元里。
·特点:无限期的保持在两个不同的电压配置或状态之一
2.动态RAM
·DRAM将每个位存储为对一个电容的充电。
3.传统的DRAM
·DRAM芯片中的单元被分为d个超单元,每个超单元都由w个DRAM单元组成
·一个d*w的DRAM总共存储dw位信息。
·超单元被组织成一个r行c列的长方形列阵,这里rc=d。
·每个超单元有形如(i,j)的地址,这里i表示行,j表示列
4.存储器模块
·DRAM芯片包装在存储器模块中,它是插到主板的扩展槽上的。
·常见的包装包括168个引脚的双列直插存储器模块,它以64位为快传送数据到存储控制器和从存储控制器传出数据,还包括72个引脚的单列直插存储器模块,它以32位为块传送数据。
5.增强的DRAM
·快页模式DRAM
·扩展数据输出DRAM
·同步DRAM
·双倍数据速率同步DRAM
·RambusDRAM
·视频DRAM
6.非易失性存储器
·只读存储器ROM
·PROM:可编程ROM
·可擦写可编程ROM
·闪存
7.访问主存
·数据流通过称为总线的共享电子电路在处理器和DRAM主存之间来来回回
·每次CPU和主存之间的数据传送都是通过一系列步骤来完成的,这些步骤被称为总线事务。
·读事务从主存传送数据到CPU;写事务从CPU传送数据到主存
·总线是一组并行的导线,能携带地址、数据和控制信号。
6.1.2 磁盘存储
1.磁盘构造
·磁盘是由盘片构成,每个盘片有两个表面或者称为表面,表面覆盖这磁性记录材料。
·每个表面是由一组称为磁道的同心圆组成,每个磁道被划为一个扇区,每个扇区包含等量的数据位。
·扇区之间由一些间隙分隔开来,这些间隙不存储数据位,间隙存储用来标示扇区的格式化位。
·磁盘是由一个或多个叠放在一起的盘片组成,它们被封装在一个密封的包装里,通常称为磁盘驱动器/磁盘
2.磁盘容量
·磁盘容量的技术因素:
·记录密度:磁道一英寸的段中可以放入的位数
·磁道密度:一英寸的段内可以有的磁道数
·面密度:记录密度和磁道密度的乘积
3.磁盘操作
·磁盘用读/写头来读写存储在磁性表面的位,而读写头连接到一个传动臂一端
·磁盘一扇区大小的块来读写数据,对扇区的访问时间有三个主要部分:
·寻道时间:移动传动臂的时间
·旋转时间:如图
·传送时间:一个扇区的传送时间依赖于旋转速度和每条磁道的扇区的数量。
3.逻辑磁盘块
4.连接到I/O设备
·I/O的三种不同类型的设备连接到总线:
·通用串行总线(USB)
·图形卡(适配器)
·主机总线适配器
5.访问磁盘
·CPU用一种称为存储器映射I/O的技术来向I/O设备发送指令
·直接存储器访问(DMA):设备可以自己执行读或写总线事务,而不需要CPU的干涉的过程,这种数据传送称为DMA传送。
6.1.3 固态硬盘
·固态硬盘(SSD)是一种基于闪存的储存技术
·一个SSD包由一个或多个闪存芯片和闪存翻译层组成,闪存芯片代替传统旋转磁盘中的机械驱动器,而闪存翻译是一个硬件/固件设备,扮演与磁盘控制器相同的角色,将对逻辑快的请求翻译成对底层物理设备的访问。
6.1.4 存储技术趋势
·不同的存储技术有不同的价格和性能折中
·不同存储技术的价格和性能属性以截然不同的速率变化着
·DRAM和磁盘的性能滞后于CPU的性能
6.2 局部性
·局部性的分类:
时间局部性 空间局部性
·有良好局部性的程序比局部性差的程序运行得更快
看书理解学习P402~P404
6.3 存储器层次结构
·存储技术:不同存储技术的访问时间差异很大。
·计算机软件:一个编写良好的程序倾向于展示良好的局部性
6.3.1 存储器层次结构中的缓存
·高速缓存:一个小而快速的存储设备,它作为存储在更大、也更慢的设备中的数据对象的缓冲区域
·存储器层次结构的中心思想:对于每个K,位于k层的更快更小的存储设备作为位于k+1层的更大更慢的存储设备的缓存。
1.缓存命中
·当程序需要第k+1层的某个数据对象d时,它首先在当前存储在第k层的一个块中查找d,如果d刚好在第k层,则就是缓存命中
2.缓存不命中
·如果第k层中没有没有缓存数据对象,就是缓存不命中。
3.缓存不命中的种类
·一个空的缓存有时称为冷缓存
6.3.2 存储器层次结构概念小结
6.4 高速缓存
·CPU和主存之间的SRAM高速缓存存储器
L1高速缓存
L2高速缓存
L3高速缓存
6.4.1 通用的高速存储器结构
6.4.2 直接映射高速缓存
·根据E(每个组的高速缓存行数)高速缓存被分为很多类。每个组只有一行的高速缓存称为直接映射高速缓存。
·高速缓存确定一个请求是否命中,然后抽取出被请求的字的过程,分为三步:1)组选择 2)行匹配 3)字抽取
1.直接映射高速缓存中的组选择
2.直接映射高速缓存的行匹配
3.直接映射高速缓存的字选择
4.直接映射高速缓存中不命中时的行替换
·用新取出的行替换当前的行
P412~P415 精读!!
6.4.3 组相联高速缓存
·每个组都保存有多于一个的高速缓存行。一个 1<E<C/B 的高速缓存通常称为E路组相联高速缓存。
1、组相联高速缓存中的组选择
·组索引位标识组
2、组相联高速缓存中的行匹配和字选择
·行匹配更复杂,必须检查多个行的标记位和有效位,字选择与前面一样。
3、组相联高速缓存中不命中时的行替换
·缓存不命中时,高速缓存从存储器中取出包含这个字的块,替换行时,如果没有空行,按照替换策略替换。 复杂的替换策略利用了局部性原理,以使在比较近的将来引用被替换的行的几率最小. 例:最不常使用LFU策略,最近最少使用LRU策略。
6.4.4 全相联高速缓存
·由一个包含所有高速缓存行的组组成的,即E=C/B。
1、全相联高速缓存中的组选择
·因为只有一个组,地址中没有组索引位,地址只被划分成了一个标记和一个块偏移。
2、全相联高速缓存中的行匹配和字选择
·与组相联高速缓存中的一样
学习总结:
本章主要讲了有关存储器的的重要知识,对理解学习和掌握存储器有很大帮组。前面1到3节讲了存储技术、局部性和存储器结构等知识,较为基础,最后一个高速缓存存储器是最重要的部分,对于一部分知识已经略知一二,但还需继续学习!
参考资料:
《深入理解计算机系统》