zoukankan      html  css  js  c++  java
  • 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小时

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

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

    参考资料

  • 相关阅读:
    【JZOJ3852】【NOIP2014八校联考第2场第2试9.28】单词接龙(words)
    【JZOJ3853】【NOIP2014八校联考第2场第2试9.28】帮助Bsny(help)
    【JZOJ3854】【NOIP2014八校联考第2场第2试9.28】分组(group)
    【JZOJ4934】【NOIP2017GDKOI模拟1.12】a
    【JZOJ4935】【NOIP2017GDKOI模拟1.12】b
    【JZOJ4925】【GDOI2017模拟12.18】稻草人
    【JZOJ4930】【NOIP2017提高组模拟12.18】C
    【JZOJ4929】【NOIP2017提高组模拟12.18】B
    如何重新加载Spring Boot上的更改,而无需重新启动服务器?
    什么是JavaConfig及其优点?
  • 原文地址:https://www.cnblogs.com/fyhtvxq/p/7861580.html
Copyright © 2011-2022 走看看