2018-2019-1 20165330 《信息安全系统设计基础》第五周学习总结
学习目标
- 了解常见的存储技术(RAM、ROM、磁盘、固态硬盘等)
- 理解局部性原理
- 理解缓存思想
- 理解局部性原理和缓存思想在存储层次结构中的应用
- 高速缓存的原理和应用
学习内容
存储技术
- 随机访问存储器
- 静态RAM (SRAM):SRAM将每个位存储在一个双稳态的(bitable)存储器单元里。用来作为高速缓存存储器,既可以在CPU芯片上,也可以在片下
- 动态RAM(DRAM):DRAM将每个位存储为对一个电容的充电,用来作为主存以及图形系统的帧缓冲区。
- 快页模式DRAM(FPM DRAM):异步控制信号,允许对同一行连续的访问可以直接从行缓冲区得到服务。
- 扩展数据输出DRAM(EDO DRAM):异步控制信号,允许单独的CAS信号在时间上的更紧密一点。
- 同步DRAM(SDRAM):同步的控制信号,比异步的快。
- 双倍数据速率同步DRAM(DDR SDRAM):使用两个时钟沿作为控制信号,使DRAM速度翻倍。
- 视频RAM(VRAM):用在图形系统的帧缓冲区中。
- 访问主存
- 读事务:从主存传送数据到 CPU。
- 写事务:从CPU传送数据到主存
- 磁盘存储:保存大量数据的存储设备
- 构造
- 磁盘容量:一个磁盘上可以记录的最大位数称为它的最大容量
- 决定容量的因素:记录密度 磁道密度 面密度
- 存储:以扇区大小的块来读写数据
- 扇区的访问时间:寻道时间、旋转时间、传送时间
- 逻辑磁盘块:一个B个扇区大小的的逻辑块的序列,编号为0-(B-1)
- 构造
- 第三种存储技术——固态硬盘
- 由一个SSD包由一个或多个闪存芯片和闪存翻译层组成
- 随机访问时间比旋转磁盘要快,能耗更低,更结实,但容易磨损
局部性
- 局部性原理
- 含义:引用最近引用过的数据项。这种局部性原理对硬件和软件系统的设计和性能都有着极大的影响。
- 包括:时间局部性和空间局部性
- 一般而言,具有良好局部性的程序要比局部性差的程序运行的更快。
- 对程序数据引用的局部性
- 步长:是评价局部性的指标,即如果在连续的数组中,每隔k个元素进行访问,就叫做步长为k的引用模式
- 一般而言,随着步长的增加,空间局部性下降
- 取指令的局部性
- 循环体里的指令是按照连续的存储器顺序执行的
- 循环有良好的空间局部性,因为循环体会被执行多次,所以它也有良好的时间局部性
- 对于循环来说,循环体越小,循环的次数越多,局部性越好
存储器层次结构
- 存储器层次结构
- 缓存
- 高速缓存的过程
- 层次结构中的每一层都缓存来自较低一层的数据对象
- 缓存命中:当程序需要第k+1层的某个数据对象d时,它会首先在第k层寻找,如果d刚好在第k层,那么程序就会从第k层直接读取d
- 缓存不命中:当程序需要第k+1层的某个数据对象d时,它会首先在第k层寻找,在第k层没有缓存数据对象d
- 分有:冷缓存、冲突不命中、容量不命中
高速缓存存储器
- 定义
- 高速缓存组:包含E个高速缓存行
- 高速缓存行:由B = 2^b字节的数据块组成
- 有效位:指明这个行是否包含有意义的信息
- 标记位:唯一地标识存储在这个高速缓存行中的块,t = m -(b+s)
- 层次结构
- 参数
- 三种高速缓存
- 直接映射高速缓存:每个组只有一行(E = 1)的高速缓存
- 组相联高速缓存:每个组都保存有多于一个的高速缓存行(I<E<C/B)
- 全相联高速缓存
- 处理写不命中
- 写分配---通常写回对应
- 非写分配---通常直写对应
- 对程序性能的影响
- 注重内循环
- 以步长为1来读数据
- 尽可能使用存储器中读入的数据对象
ch04课下测试错题总结
Y86-64中()指令没有访存操作.
A .
rrmovl
B .
irmovq
C .
rmmovq
D .
pushq
E .
jXX
F .
ret
正确答案:A B E
解析:rrmovl是寄存器-寄存器传送,irmovq是立即数-寄存器传送,不需要访存。书上P270对jXX访存的标注是空白的,所以jXX没有访存操作。