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

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

教材学习内容总结

存储器模块
  • 一个64MB的内存,有8个64Mbit的DRAM芯片,每个DRAM芯片由8M*8构成。八个芯片编号为0-7. 每个超单元存储一个字节。
磁盘
  • 磁盘由一些盘片构成,盘片的正反面都能存储数据,每个盘片分成许多的磁道,每个磁道分成一些扇区。
  • 磁盘构造:盘片,表面,主轴,RPM,磁道,扇区,柱面
  • 访问磁盘:CPU使用一种存储器映射I/O技术来向I/O设备发出命令,在使用存储器映射I/O的系统中,地址空间中有一块地址是为与I/O设备通信保留的,称为I/O端口

因此磁盘的容量 = 盘片数量 * 2 * 磁道数 * 每磁道扇区数 * 每扇区大小。
通常一个扇区为512B。

高速缓存存储器
通用的高速缓存存储器结构
  • 高速缓存结构可以用元组(S,E,B,m)描述
  • C是高速缓存的大小:C=SEB
  • m:每个存储器地址有m位,形成M=2^m个不同的地址
  • S:这个数组中有S=2^s个高速缓存组
  • E:每个组包含E个高速缓存行
  • B:每个行是由一个B=2^b字节的数据块组成的
直接映射高速缓存
  • 高速缓存确认一个请求是否命中,然后抽取出被请求的字的过程,分为组选择、行匹配、字抽取三步
组相连高速缓存
  • 依旧分为组选择,行匹配,字抽取三步
  • 放松了每个组只有一行这个限制
全相联高速缓存
  • 是由一个包含所有高速缓存行的组所组成的
局部性两种形式

时间局部性(temporal locality)和空间局部性(spatial locality)。在一个具有良好时间局部性的程序中,被引用过一次的存储器位置很可能在不远的将来再被多次引用;在一个具有良好空间局部性的程序中,如果一个存储器位置被引用了一次,那么程序很可能在不远的将来引用附近的一个存储器位置。

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

  • 问题一:存储器层次结构为什么要分这些层次,计算机如何管理这些层次?

  • 解决:设置多个存储器并且使他们并行工作。本质:增添瓶颈部件数目,使它们并行工作,从而减缓固定瓶颈。采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。

  • 问题二:在看家庭作业6.37时,sum怎么计算?

  • 解决:
    C= 4 * 2^10 = 2^12

B= 16 => b = 4

S = C/(BE) = 256 => s = 8

同时可以容纳 256 组, 每组4个Int

假设元素为a[i][j]

①因为N=64,然后元素类型是Int即4个字节, C / (N * 4) = 2^(12 - 6 - 2) = 2^4 = 16

i % 16 = 元素缓存所在的S的索引(从0开始计数)0<=i<16,16<= i < 32, 32<=i<48, 48<=i<64 ,
所在的索引是一一对应的也即: 当访问a[16][0] 的时候, 会导致a[0][0] conflict miss

②当N=60, 然后元素的类型Int 是4字节, C / (N*4) = (无法整除)
再加4个元素, 刚好可以整除

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

代码托管

上周考试错题总结

结对及互评

点评模板:

- 博客中值得学习的或问题:
- 
- 代码中值得学习的或问题:
- 

本周结对学习情况

- [20155225](博客链接)
- 结对照片
- 结对学习内容
   - 学习书本第六章内容
   - 讨论pwd命令实现

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

  • 本周主要学习的是存储器层次结构,正直操作系统课也上到存储管理,相当于巩固了知识点。且本周的学习重点都为概念性的知识,也都较好理解。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 15篇 400小时
第一周 20/20 1/ 12/12
第二周 42/62 1/2 8/20
第三周 62/124 1/3 14/34
第四周 61/185 1/4 10/44
第五周 / 2/6 13/57
第六周 / 2/8 17/74
第七周 / 2/10 15/89
第八周 / 2/12 12/101
第九周 / 2/14 10/111
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

  • 计划学习时间:12小时

  • 实际学习时间:10小时

  • 改进情况:本周学习的内容较少,所以时间上画的不多

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

参考资料

posted @ 2017-11-19 20:32  Fer_佳  阅读(125)  评论(0编辑  收藏  举报