信息安全系统设计基础第六周学习总结

学习目标:

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  让最常见的情况运行的快。在每个循环内部缓存不命中数量最小。

posted @ 2015-10-25 20:08  20135329李海空  阅读(153)  评论(1编辑  收藏  举报