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

参考老师提供的教材内容导读

教材学习内容总结

  • 随机访问存储器(RAM)分为两类:静态和动态的
  1. 静态RAM(SRAM):快,作为高速缓存存储器。(几百几千兆)

动态RAM(DRAM):作为主存,图形系统的帧缓冲区。(<=几兆)

2.静态RAM:具有双稳定状态,它可以无期限地保持在两个不同的电压配置(状态)其中的一个。也可以保持在亚稳定状态,但这个状态易被干扰。由于它具有双稳定性,所以即使有干扰,当干扰消除时,它能很快地恢复到稳定值。

动态RAM
DRAM芯片封装在内存模块中,将每个位存储为对一个电容充电。对干扰非常敏感,电容的电压被干扰之后就永远不会恢复了。

  • 非易失性存储器:非易失性的意思断电后不会丢失信息。SRAM、DRAM都是易失性存储器。
  • ROM:只读存储器(read-only memory)它有的类型既能读也能写,历史原因这样称呼它。

ROM分类:(依据能被重新编程、写的次数和 编程所用的机制)

PROM:只能被编程一次。

可擦写可编程ROM(EPROM):被编程105次

  • 闪存:基于EEPROM,为大量的电子设备提供快速持久的非易失性存储。

  • 固件:存储在ROM设备中的程序。

总线

  • 总线是一组并行的导线,能够携带地址,数据和控制信号。

1.系统总线——连接CPU和I/O桥

2.存储器总线——连接I/O桥和主存

3.I/O总线:I/O桥将系统总线的电子信号翻译成存储器总线的电子信号,也将系统总线和存储器总线连接到I/O总线

  • CPU与主存之间的数据传送:通过总线的共享电子电路在处理器和DRAM主存来回往返。

  • 总线事务:读事务(主存传送数据到CPU,即cpu从主存读)、写事务(CPU传送到主存)

  • 磁盘是由盘片构成的,每个盘片有两面或者称为表面,每个表面由一组成为磁道的同心圆组成

  • 磁盘容量由记录密度、磁道密度、面密度决定

  • 对扇区的访问时间有三个主要部分:寻道时间、旋转时间、传送时间

  • 逻辑磁盘块:内存可以看成字节数组、磁盘可以看成块数组

  • I/O总线连接了CPU,主存和I/O设备

  • 磁盘是由盘片构成的,每个盘片有两面或者称为表面,每个表面由一组成为磁道的同心圆组成

  • 磁盘容量由记录密度、磁道密度、面密度决定

  • 对扇区的访问时间有三个主要部分:寻道时间、旋转时间、传送时间

  • 逻辑磁盘块:内存可以看成字节数组、磁盘可以看成块数组

  • I/O总线连接了CPU,主存和I/O设备

  • 局部性原理:程序倾向于引用邻近最近引用过的数据项或者就是数据项本身。

  • 时间局部性:存储器位置多次被引用。

  • 空间局部性:存储器位置附近的位置在不远的将来被引用。

  • 步长为k的引用模式:一个连续变量中,每隔k个元素进行访问,就被称为步长为k的引用模式,一般来说,随着步长增加,空间局部性下降

  • 取指令的局部性

  • 对于取指令来说,循环有好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好

  • 存储器层次结构:

  • 存储器层次结构中的缓存

    高速缓存:下一层(对它本身来说更大更慢的设备)的缓冲区域。使用高速缓存的过程叫做缓存。

  • 存储器结构层次的中心思想:每层存储设备都是下一层的“缓存”。

  • 从高层往底层走,存储设备变得更慢、更便宜、更大
    层次结构中的每一层都缓存来自较低一层的数据对象

  • 在任何时刻,第k层的缓存包含第k+1层块的一个子集的拷贝。数据总是以块大小为传送单元在第k层和第k+1层之间来回拷贝的
    缓存不命中时,第k层缓存会从第k+1层缓存中取出包含d的那个块。如果第k层缓存已满,就可能会覆盖现存的一个块

  • 替换(覆盖、驱逐)策略

随机替换策略-随机牺牲一个块
最近最少被使用替换策略LRU-牺牲最后被访问的时间距离现在最远的块

  • 缓存命中:程序需要K+1层的数据对象d,并且d刚好在K层的一个块中。

  • 缓存不命中:与缓存命中相反

  1. 强制性不命中:上一层缓存是空的导致的不命中。

  2. 冲突不命中:缓存够大,由于严格的放置策略会使K+1层不同对象映射到K层同一个块引起的不命中。

  3. 容量不命中:缓存不够大引起的不命中。

  • 高速缓存是一个有S个高速缓存组的数组,每个数组包含E个高速缓存行,每个行包含一个有效位,一些标记位t,一个数据块B。
  • 标记位t=m-(b+s)唯一地标识存储在这个高速缓存行中的块,有效位指明这个行是否包含有意义的信息。
  • 高速缓存的结构将m个地址划分成了t个标记位、s个组索引位和b个块偏移位
  • 高速缓存的大小C = S * E * B
  • 高速缓存确定一个请求是否命中,然后抽取出被请求的字的过程,分为三步

1、组选择

2、行匹配

3、字抽取

  • 一个1 < E < C/B的告诉缓存通常称为E路组相联高速缓存
  • 一个全相联高速缓存是由一个包含所有高速缓存行的组(E = C/B)组成的

教材学习中的问题和解决过程

  • 问题1:磁盘和内存有什么关系

  • 问题1解决方案:他们的共同点是都是数组,区别是磁盘是块数组,内存是字节数组

代码调试中的问题和解决过程

  • 问题1:在编译运行时出现提示权限不够

  • 问题1解决方案:后来发现在命令前加上sudo,给予root权限就可以了

  • 问题2:其他问题在上一篇博客里

代码托管

结对及互评

本周结对学习情况

  • 结对学习内容

    • 第六章

其他(感悟、思考等,可选)

本周学习的内容主要与系统的存储管理相关,实践内容相对较少,但是实验和pwd的实现难度较大,其中有许多函数没有用过,需要自己学习,但感觉受益匪浅。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 200小时
第一周 5/5 1/1 15/15
第二周 1/2 23/38
第三周 206/327 1/3 28/66
第四周 206/327 1/4 10/77
第五周 285/568 1/5 20/97 主要学习了汇编及反汇编的相关知识
第六周 160/683 3/8 20/107
第七周 / 2/10 20/127 第四章学习内容和第二次实验
第八周 2/12 22/149 第十一章、第十二章
第九周 408/ 2582 3/15 21/170 第六章内容、第三次实验、课后pwd的实现
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

参考资料

posted on 2017-11-19 11:59  20155320罗佳琪  阅读(178)  评论(0编辑  收藏  举报