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

教材学习内容总结

  • 存储技术
  • 局部性
  • 存储器层次结构
  • 高速存储存储器
  • 编写高速存储友好的代码
  • 综合:高速缓存对程序性能的影响

PWD实验

实验内容

  • 编写PWD代码

实验过程

遇到的问题:碰到用sprintf将报错信息放进字符串中时,出现编译错误,将第二项修改成单纯的int类型或者单纯的字符串类型就可以了

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

  • 问题1:存储器山是什么?
  • 问题1解决方案:存储器山是一种综合研究存储器层次结构的工具。它反映了存储器层次结构中不同层次的带宽。也反映了具有不同的时间局部性与空间局部性的程序的性能。通过分析存储器山的数据,还可以看出存储器系统的部分硬件参数。
  • 问题2:对高速存储器的理解?
  • 问题2解决方案:
  • 层次结构:CPU寄存器、DRAM主存储器和磁盘存储。
  • 分类:直接映射高速缓存、组相联高速缓存等
  • 1.直接映射高速缓存:每个组只有一行的高速缓存。
  • 高速缓存确定一个请求是否命中,然后抽取出被请求的字的过程,分为三步:组选择、行匹配、字抽取
  • 组选择:高速缓存从w的地址中间抽取出s个组索引位
  • 组索引位:一个对应于一个组号的无符号整数。
  • 行匹配:判断缓存命中的两个充分必要条件:该行设置了有效位;高速缓存行中的标记和w的地址中的标记相匹配
  • 字选择:确定所需要的字在块中是从哪里开始的。
  • 2.组相联高速缓存
  • 组选择:与直接映射高速缓存中的组选择一样,组索引位标识组。
  • 行匹配和字选择:把每个组看做一个小的相关联存储器,是一个(key,value)对的数组,以key为输入,返回对应数组中的value值。高速缓存必须搜索组中的每一行,寻找有效的行其标记与地址中的相匹配。

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

代码托管

结对及互评

本周结对学习情况

- [20155308](博客链接)

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

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

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

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

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

参考资料

原文地址:https://www.cnblogs.com/protectmonarch/p/7861611.html