20155218 《信息安全系统设计基础》第十三周学习总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20155218 《信息安全系统设计基础》第十三周学习总结相关的知识,希望对你有一定的参考价值。

20155218 《信息安全系统设计基础》第十三周学习总结

详细总结本章要点:

  1. 存储器系统是一个层级结构(具有不同容量,成本和访问时间的存储设备)。
  2. 随机访问存储器(RAM):
  • 静态RAM:
    SRAM将每个位存储在一个双稳态(由于此特性,SRAM只要有电,就会永远保持它的值)的存储器单元里。
  • 动态RAM:DRAM将每个位存储为对一个电容的充电
  • 总结:只要有电,SRAM就会保持不变且不需要刷新。SRAM的存取比DRAM快,对光和电噪声的干扰不敏感,但价格高,功耗大。
  • 传统的DRAM:DRAM芯片中的单元被分为d个超单元,咩歌超单元都由w个DRAM单元组成。一个d*w的DRAM总共存储了dw位信息;DRAM组成二维列阵而不是线性数组的一个原因是降低芯片上地址引脚的数量;DRAM芯片封装在内存模块中。
  • 增强的DRAM:快页模式、拓展数据输出、同步DRAM、双倍数据速率同步DRAM、视频RAM。
  1. 非易失性存储器:DRAM 、SRAM会因为断电丢失它们的信息。ROM(虽然ROM中有的类型就可以读也可以写,但整体上都被称为只读存储器),并以它们能够重新编程(写)的次数和对它们重新编程所用的机制来区分;
  2. ROM分类:
  • PROM:只能被编写一次;
  • EPROM能够被擦除和重新编写的次数的数量级可以达到1000次;
  • 闪存;
  1. 访问主存:数据流通过总线的共享电子电路在处理器和DRAM主存之间传输;
  • 读事务:主存----->CPU
  • 写事务:CPU------>主存
  1. 磁盘存储:
  • 磁盘由盘片构成(一个或多个叠放在一起的盘片组成),每个盘片有两面或者称为表面,表面覆盖着磁性材料。每个表面是由一组称为磁道的同心圆组成。
    技术分享图片
  • 磁盘容量
  • 磁盘操作:磁盘用读/写头来读写存储在磁性表面的位,在任何时刻,所有的读/写头都位于同一个柱面。
  • 磁盘以扇区大小的块来读写数据。对扇区的访问时间主要分为:寻道时间、旋转时间、传送时间。
  • 逻辑磁盘块
  • 链接I/O设备
  • 访问磁盘:CPU使用一种称为内存映射I/O的技术来向I/O设备发送命令。
  1. 固态硬盘:SSD是一种基于闪存的存储技术,由一个或多个闪存芯片和闪存翻译层组成。读SSD比写要快,随机读和写的性能差别由底层闪存基本属性决定的。
  • 随机写很慢的原因:1.擦除块需要相对较长的时间。2.如果写操作试图修改一个包含已经有数据的的页p,那么这个块中所有带有用数据的页都必须被复制到一个新(擦除过的)块,然后才能进行对页p的写。
  1. 局部性
  • 局部性原理:良好的程序倾向于引用临近于其他最近引用过的数据项的数据项,或者最近引用过的数据项本身。
  • 局部性分为时间局部性和空间局部性;
  • 对程序数据引用的局部性
  • 取指令的局部性
  • 评价局部性的原则:1.重复引用相同变量的程序具有良好的时间局部性;2.对于具有步长为k的引用模式的程序,步长越小,空间局部性越好。具有步长为1的引用模式的程序有很好的空间局部性。在内存中以大步长跳来跳去的程序空间局部性会很差。3.对于取指令来说,循环有好的时间和控件局部性。循环体越小,循环迭代次数越多,局部性越好。
  1. 存储器层次结构
    技术分享图片
  2. 存储器层次结构中的缓存
  • 存储器层次结构的中心思想是,层次结构中的每一层都缓存来自较低一层的数据对象,依次类推,直到最小的缓存---CPU寄存器组。
  • 数据以块大小为传送单位在第k层和k+1层之间来回传递。
  • 缓存命中:当程序所需要第k+1层的某个数据对象d时,它首先在当前存储的第k层的一个块中查找d,如果刚好d缓存在第k层,则缓存命中。这样就会比直接从k+1层读取速度更快,体现了局部性的优点;
  • 缓存不命中 :与缓存命中相反,因此就存在一个替换的过程,决定替换哪个块是由替换策略来决定的,在操作系统的课上,老师讲过LRU,FIFO等;
  • 缓存不命中的种类:1.一个空的缓存被称为冷缓存,此类命中称为强制不命中或冷不命中;2.限制性的防治策略会引起一种不命中,称为冲突不命中;
  1. 高速缓存存储器
  • 高速缓存存储器组织结构:一般而言,可以用元组(S,E,B,m)来描述。高速缓存的大小(容量)C指的是所有块的大小的和。C=SxExB;
    技术分享图片
  1. 直接映射高速缓存
  • 高速缓存确定一个请求是否命中,然后抽取出被请求的字的过程:(1)组选择(2)行匹配(3)字抽取
  1. 运行中的直接映射高速缓存
  • 标记位和索引位连起来唯一地标识了内存中的每个块;
  • 映射到同一个高速缓存组的块由标志位唯一地标识;
  • 抖动:高速缓存反复地加载和驱逐相同的高速缓存块的组;
  1. 组相关高速缓存
    :每个组都保存有多于一个的高速缓存行。一个1<E<C/B的高速缓存通常称为E路组相联高速缓存
  • 相联高速缓存中行比配的一个重要思想就是组中的任何一行都可以包含任何映射到这个组的内存块,所以高速缓存必须搜索组中的一个行,寻找一个有效的行,其标记与地址中的标记相匹配;
  1. 全相联高速缓存:是由一个包含所有高速缓存行的组(即E=C/B)组成的。
  2. 有关写的问题:
  • 直写:方法简单,但是会引起总线流量;
  • 写回:尽可能的推迟更新,只有当替换算法要驱逐这个更新过的块时,才把它写到接近着的第一层中。能显著的减少总线流量,但缺点是增加了复杂性
  • 如何处理写不命中:写分配/非写分配
  1. 衡量高速缓存性能的指标:
  • 不命中率:不命中数/引用数量
  • 命中率:1-不命中率
  • 命中时间:从高速缓存传送一个字到CPU所需的时间,
  • 不命中处罚
  1. 优化高速缓存的定性折中考虑:
  • 高速缓存大小的影响;
  • 块大小的影响;
  • 相联度的影响;
  • 写策略的影响;
  1. 高速缓存行、组和块有什么区别:
  • 块是一个固定大小的信息包,在高速缓存和下一层高速缓存之间来回传递;
  • 行是高速缓存中的一个容器,存储快以及其他信息。
  • 组是一个或多个行的集合。直接映射高速缓存中的组只由一行组成。组相联和全相联高速缓存中的组是由多个行组成。
  1. 编写高速缓存友好的代码:
  • 对局部变量的反复引用是好的,因为编译器能够将它们缓存在寄存器文件(时间局部性)。
  • 步长为1的引用模式是好的,因为存储器层次结构中所有层次上的缓存都是将数据存储为连续的块(空间局部性)。
  1. 高速缓存对程序性能的影响
  • 存储器山:读带宽(一个程序从存储系统中读数据的速率)的时间和空间局部性的二维函数。

    完成这一章所有习题

  • 6.1:技术分享图片
  • 6.2:8.192G
  • 6.3:10.008ms
  • 6.4:在最好的情况下,只需要找到第一个扇区然后旋转两圈,time=seek+avg +max=20ms;
    在最坏的情况下,time=2000*(seek+avg)=16s;
  • 6.7:这个题目很简单,只需要将数组a中元素按循环的层次来就好了即a[i][j][k];
  • 6.8:1>2>3,原理与6.7类似;
  • 6.9:技术分享图片
  • 6.10:消除了冲突不命中,命中率为四分之三;
  • 6.18:512个读,256个不命中;不命中率为50%;
  • 6.23:当x=0.5时,磁盘的容量最大;
  • 6.24:T=5.51;
  • 6.25:最好的情况是都在同一个磁盘上且相连,T=35.5ms;最坏情况是275.5s
  • 6.26:
  • 6.27:与6.25相似;
  • 技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片











以上是关于20155218 《信息安全系统设计基础》第十三周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

20175306《信息安全系统设计基础》第十三周学习总结

20155304 《信息安全系统设计基础》第十三周学习总结

20145311 《信息安全系统设计基础》第十三周学习总结

2017-2018-1 20155235 《信息安全系统设计基础》第十三周学习总结

20155311《信息安全系统设计基础》第十三周学习总结

20155317 《信息安全系统设计基础》第十三周周学习总结