20155212 2017-2018-1 《信息安全系统设计》第9周学习总结

20155212 2017-2018-1 《信息安全系统设计》第9周学习总结

教材学习内容总结

Chapter 6

  • SRAM存储器的双稳态特性:只要有电,就能永远保持它的值,在干扰后也能迅速恢复
  • DRAM对干扰非常敏感,电容电压被扰乱后就永远不会恢复了。暴露在光线下会导致电容电压改变。摄像传感器本质上就是DRAM的阵列。
  • DRAM和SRAM存储器的特性对比:
    • 只要有供电SRAM就会保持不变,而DRAM由于很多原因导致的漏电,早10-100毫秒时间内失去电荷。
    • SRAM不需要刷新,DRAM由于会变化所以需要刷新
    • SRAM的存取比DRAM快
    • SRAM对光和电噪声干扰不敏感,而DRAM对这些干扰非常敏感
    • SRAM单元比DRAM单元使用更多的晶体管,因而密集度低,而且价格贵,功耗更大
  • DRAM中有d个超单元,每个超单元有w个DRAM单元。一个dw的DRAM总共存储了dw位信息。超单元是rc的阵列,rc=d。
  • 超单元(i, j)
    • i:RAS, 行访问选通脉冲
    • j:CAS,列访问选冲脉冲
  • 从DRAM中读取超单元(2, 1):
  • 将DRAM组织成二位数列而不是县型数组,降低了芯片上地址引脚的数量,但是必须分两步发送地址,增加了访问时间
  • 读一个内存模块的内容
  • 增强的DRAM
    • 快页模式:传统DRAM每次读取一行到缓冲区,读取一个就舍弃,而FPM支持连续访问
    • 扩展数据输出:FPM增强版,CAS信号时间间隔更短
    • 同步DRAM:SDRAM使用与驱动内存控制器相同的外部时钟信号的上沿来代替控制信号,使得其比异步的存储器更快地输出超单元内容。
    • 双倍数据速率同步:SDRAM的增强。
    • 视频RAM:用在如星系统的帧缓冲区中。思想与FPM DRAM类似。
  • VRAM与FPM DRAM区别:
    • VRAM的输出时通过依次对内部缓冲区的整个内容进行移位得到的
    • VRAM允许对内存并行地读和写。因此,系统可以在写下一次更新的新值(写)的同时,用镇缓冲区中的像素刷屏幕(读)
  • 非易失性存储器:如果断电,DRAM和SRAM会丢失他们的信息,因此说他们是易失的。由于历史原因,非易失性存储器中有的既可写又可读,但是整体上都被称为只读存储器(ROM)。ROM是以他们能够被重编程(写)的次数和对他们进行重编程所用的机制俩区分的。
    • 可编程ROM(PROM)只能被编程一次。
    • 可擦写可编程ROM(EPROM)
    • 闪存
  • CPU芯片上称为总线接口
  • 加载操作movq A, %rax的内存读事务
  • 磁盘存储数据的数量级可以达到几百到几千千兆节,而基于RAM的存储器只能有几百或几千兆字节。不过比DRAM慢了10万倍,比SRAM慢了100万倍
  • 磁盘构造
  • 磁盘容量
    • 决定的技术因素
      • 记录密度
      • 磁道密度
      • 面密度
    • 磁盘以扇区大小的块来读写数据。
    • 访问时间
      • 寻道时间:移动传动臂所需的时间
      • 驱动器等待目标扇区第一个位旋转到读/写头下所需的时间。最大是一圈1/RPM*(60s)/(1min),平均旋转时间是最大旋转时间的一半。
      • 传送时间:读取一个扇区的时间1/RPM x 1/(平均扇区数/磁道) x 60s/1min
    • 访问异常磁盘扇区中512字节的时间主要是寻道时间和旋转延迟。
    • 寻道时间和旋转延迟大致相等
    • 逻辑磁盘块:一个B个扇区大小的逻辑块序列。磁盘控制器维护者逻辑块号和时间(物理)磁盘扇区之间的映射关系。逻辑块号-->(盘面、磁道、扇区)三元组
  • 连接I/O设备:I/O总线
  • 存储技术思想:
    • 不同的存储技术有不同的价格和性能这种
    • 不同存储技术的价格和性能属性以截然不同的速率变化着
  • 局部性原理:一个便携良好的计算机程序常常倾向于引用邻近于其他最近引用过的数据项的数据项,或者最近引用过的数据项本身
  • 局部性
    • 时间局部性
    • 空间局部性
  • 有良好局部性的程序比局部性差的程序运行得更快
  • 局部性的应用:
    • 硬件:高速缓存存储器
    • 操作系统:
      • 虚拟地址空间
      • 用主存缓存磁盘文件系统中最近被使用的磁盘快
    • 应用:前段磁盘高速缓存
  • 对于循环体变量,要么有好的空间局部性,要么有好的时间局部性
  • 数据引用局部性:每隔k个元素进行访问,称为步长为k的引用模式
  • 代码区别与程序数据的一个重要属性是在运行是它是不能被修改的
  • 存储器层次结构
  • 存储器层次结构的中心思想:对于每个k,位于k层的更快更小的存储设备作为位于k+1层的更大更慢的存储设备的缓存。层次结构的每一层都缓存来自较低一层的数据对象
  • 以块大小为传送单元
  • 程序的局部性
    • 时间局部性:同一数据对象可能会被多次使用
    • 空间局部性:访问一个块中的多个对象
  • 高速缓存的通用组织
  • 高速缓存参数小结
  • 高速缓存存储器
    • 通用的高速缓存存储器
    • 直接映射高速缓存
    • 组相联高速缓存
    • 全相联高速缓存
  • 衡量高速缓存的性能
    • 不命中率
    • 命中率
    • 命中时间
    • 不命中处罚
  • 高速缓存成本和性能的折中考量
    • 高速缓存大小的影响:大缓存会提高命中率,但是增加了命中时间
    • 块大小的影响:充分利用空间局部性,提高命中率,但是会损害时间局部性更好的程序的命中率
    • 相联度的影响:较高的相联度降低了高速缓存由于冲突不命中出现抖动的可能性,但也增加了成本,也很难使速度变快
    • 写策略的影响
  • 确保代码高速缓存友好的基本方法
    • 让最常见的情况运行得快
    • 尽量减小每个循环内部的缓存不命中数量
  • 存储器山
  • 在程序中利用局部性
    • 将注意力集中在内循环上,大部分计算和内存访问都发生在这里
    • 通过按照数据对象存储在内存中的顺序,以步长为1来读数据,提高空间局部性
    • 一旦从存储器中读入了一个数据对象。尽可能多使用它,提高时间局部性

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

  • 异步与同步有什么区别?异步和多线程又有什么区别?
    • 同步就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。异步时,可以进行其他操作。
  • 磁盘缓存为什么不是越大越好?
    • 缓存过大的话会提高命中率,但是增加命中时间

代码托管

其他

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 96/96 1/1 15/15
第二周 30/126 1/2 21/36
第三周 30/156 1/3 21/57
第四周 10/156 1/4 20/77
第五周 23/189 3/7 20/97
第六周 201/390 3/10 18/115
第七周 0/390 2/12 20/135
第八周 0/390 3/15 22/157
第九周 284/674 3/18 25/182

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

  • 计划学习时间:20小时

  • 实际学习时间:25小时

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

原文地址:https://www.cnblogs.com/dky20155212/p/7862217.html