信息安全系统设计基础第六周学习总结
学习目标:
1. 了解常见的存储技术(RAM、ROM、磁盘、固态硬盘等)
2. 理解局部性原理
3. 理解缓存思想
4. 理解局部性原理和缓存思想在存储层次结构中的应用
5. 高速缓存的原理和应用
学习任务:
1. 阅读教材,完成课后练习(书中有参考答案)
重点:6.2 6.3 6.4 6.8 6.9 6.10 6.11 6.12 6.13
2. 考核:练习题把数据变换一下
3. 实验:需要动手的到实验楼中练习一下
存储器层次结构
6.1存储技术
随机访问存储器(RAM):
-
分为静态(SRAM)和动态(DRAM)。静态比动态快,也更贵。SRAM用来做高速缓存存储器。DRAM用来作为主存以及图形系统的帧缓冲区。
-
SRAM将每个位存储在一个双稳态的存储器单元里。这个电路可以无限期地保持在两个不同的电压配置或状态之一。只要有电,它就会永远地保持它的值。即使有干扰,当干扰消除时,电路就会恢复到稳定值。
-
DRAM将每个位存储为对一个电容的充电。对干扰非常敏感。DRAM在10~100毫秒时间内失去电荷,计算机的时钟周期是以纳秒来衡量,存储器系统会周期性地通过读出,然后重写来刷新存储器的每一位。
-
传统的DRAM:DRAM中按行列组织超单元存储信息。存储控制器通过两个引脚,分别发送行地址、列地址,读取超单元内容。DRAM芯片上有内部行缓冲区,收到行地址,就把一行内容拷贝到缓冲区,在通过列地址,读取指定超单元的内容。
-
增强的DRAM:快页模式DRAM、扩展数据输出DRAM、同步DRAM、双倍数据速率同步DRAM、Rambus DRAM、视频DRAM。
-
非易失性存储器:ROM,断电后信息不丢失。PROM只能编程一次。可擦可写编程ROM(EPROM)、电子可擦除ROM(EEPROM)。闪存基于EEPROM,为大量电子设备提供非易失性存储。固态硬盘是基于闪存的磁盘驱动器。
-
访问主存:每次CPU和主存之间的数据传送通过总线事务来完成。总线式一组并行的导线,能携带地址、数据和控制信号。I/O桥将系统总线的电子信号翻译成存储器总线的电子信号。地址A的内容被加载到寄存器%eax,寄存器%eax的内容写到地址A,分别为读事务、写事务。
-
-
磁盘由盘片构成,表面覆盖着磁性记录材料。磁盘由一个或多个叠放的盘片组成,密封包装。
-
磁盘容量:记录密度、磁道密度、面密度。
-
-
磁盘操作:寻道时间,移动传动臂所需的时间,通常为3~9ms;旋转时间,定位到期望的磁道后,驱动器等待目标扇区的第一个位旋转到读写头下;传送时间,驱动器开始读或写该扇区的内容。
-
连接到I/O设备:通用串行总线(USB);图形卡;主机总线适配器
-
访问磁盘:
-
-
固态硬盘:SSD包插到I/O总线上。一个SSD包由一个或多个闪存芯片和闪存翻译层组成,代替传统旋转磁盘中的机械驱动器。固态硬盘由半导体存储器构成,没有移动部件,因而随机访问时间比旋转磁盘要快,能耗更低,同时也更结实。但是易磨损。
-
不同的存储技术有不同的价格和性能折中。
6.2局部性
-
局部性:计算机的局部性,指他们倾向于引用邻近于其他最近引用过的数据项的数据项,或者最近引用过的数据项本身。时间局部性和空间局部性。现代计算机系统的各个层次都利用了局部性。
6.3存储器层级结构
-
缓存:对于每个k,位于k层的更快更小的存储设备作为位于k+1层更大更慢的存储设备的缓存。
-
缓存命中,当程序需要第k+1层的某个数据对象d时,它首先在当前存储在第k层的一个块中查找d。如果d刚好缓存在第k层中,那就是缓存命中。
-
缓存不命中:如上,如果第k层中没有缓存数据对象k,那就是缓存不命中。分类:强制性不命中/冷不命中;冲突不命中;容量不命中。
6.4高速缓存存储器
由于CUP与主存之间逐渐增大的差距,系统设计者在CPU、寄存器文件和主存之间插入晓得SRAM高速缓存存储器。
l 高速缓存的大小C=S*E*B
l 根据E(每个组的高速缓存行数)高速缓存分类:E=1,直接映射高速缓存;书P411-P15相熟了工作方式。1<E<C/B,称为E路组相联高速缓存。
l 高速缓存参数的性能影响:
不命中率
命中率
命中时间
不命中处罚
高速缓存大小的影响:较大会提高命中率,但是会降低命中时间。
快大小的影响:较大块能利用程序中可能存在的空间局部性,但块越大就意味着高速缓存行数越小,会损坏时间局部性。
相联度的影响:较高的相联度(E较大)降低了高速缓存由于冲突不命中出现抖动的可能。但是成本很高。
写策略的影响
6.5编写高速缓存友好的代码
l 让最常见的情况运行的快。在每个循环内部缓存不命中数量最小。