zoukankan      html  css  js  c++  java
  • # 2017-2018-1 20155232 《信息安全系统设计基础》第九周学习总结

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

    教材学习内容总结

    本周学习第6章:

    • 6.1存储技术

    随机访问存储器(RAM)

    • 静态RAM(SRAM)

    1.每位晶体管数:6

    2.相对访问时间短,存取快

    3.双稳态特性,持续

    5.相对花费高

    6.应用:高速缓存存储器

    • 动态RAM(DRAM)

    1.每位晶体管数:1

    2.相对访问时间长

    3.不持续,需要不断刷新

    4.对干扰非常敏感

    5.应用:主存,帧缓冲区

    • .传统的DRAM

    DRAM芯片中的单元被分成d个超单元,每个超单元由w个DRAM单元组成。每个超单元有形如(i,j)的地址。存储控制器将行地址和列地址分别发送到DRAM,返回超单元(i,j)的内容。

    • 磁盘存储

    磁盘构造

    磁盘是由一个或多个叠放在一起的盘片组成

    磁盘结构:盘片、磁道、扇区、间隙、柱面;磁盘驱动器
    image

    • 磁盘容量=字节数 * 平均扇区数 * 磁道数 * 表面数* 盘片数

    • 寻道时间(Tseek):移动传动臂到目标扇区所需的时间
      通常3-9ms

    • 旋转时间(Trotation):驱动器等待目标扇区的第一个位旋转到读写头下

    • 传送时间(Ttransfer):驱动器开始读写该扇区内容的时间
      传送时间依赖于:旋转速度和每条磁道的扇区数目

    • 6.2局部性

    • 时间局部性

    被引用过一次的存储器位置很可能在不远的将来再多次被引用

    • 空间局部性

    程序在不远的将来引用附近一个存储器位

    • 存储器层次结构:
      从高层往底层走,存储设备变得更慢、更便宜和更大
      image

    • 高速缓存存储器

    • 影响高速缓存性能的参数有:高速缓存大小的影响、块大小的影响、相联度的影响、写策略的影响。

    • 存储器山存储器系统的性能不是一个数字就能描述的。相反,它是一座时间和空间局部性的山,这座山的上升高度差别可以超过一个数量级。是要程序运行在山峰而不是低谷。

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

    • 高速缓存行、组和块有什么区别?

    • 块是一个固定大小的信息包,在高速缓存和主存(或下一层高速缓存)之间来回传递。

    • 行是高速缓存中存储块以及其他信息(例如有效位和标记位)的容器

    • 组是一个或多个行的集合。直接映射高速缓存中的组只由一行组成,组相联和全相联高速缓存中的组是由多个行组成的

    在直接映射高速缓存中,组和行确实是等价的,不过,在相联高速缓存中,组和行是不一样的,这两个词不能互换使用。

    • 习题6.2

    计算这样一个磁盘的容量。它有2个盘片,10 000个柱面,每条磁道平均有400个扇区,每个扇区平均有512个字节。

    磁盘容量 = (512/400)4001000022= 8 192 000 000 字节 = 8.192GB

    • 习题6.7

    改变下面函数中的循环顺序,使得它以步长为1的引用模式扫描三维数组a

    int sumarray3d(int a[N][N][N])
    {
        int i,j,k,sum=0;
        for(i=0;i<N;i++)
        {
            for(j =0;j<N;j++)
            {
                for(k=0;k<N;k++)
                {
                    sum+=a[k][i][j];
                }
            }
        }
        return sum;
    }
    
    • 解决
      只需要对三层嵌套循环体的顺序进行调整即可,从里到外的循环依次为:jik

    • 为什么要用中间位来做索引?

    • 如果高位做索引,那么一些连续的内存块就会映射到相同的高速缓存块。会导致使用效率很低。
      详细的解释

    代码托管

    上周考试错题总结

    结对及互评

    点评模板:

    暂无

    本周结对学习情况

    • 20155215

      • 结对学习内容
        • 共同学习课本第6章和实验楼内容
        • 分析课本中代码遇到的问题

    思考

    本次的内容是学习第六章,主要就概念类的内容,存储器是系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。作为一个程序员,需要理解存储器层次结构,因为他对应用程序的性能有着巨大的影响。所以,学习存储器结构更清楚的了解了存储器的分类,更深入了解了数据传送的过程。

    学习进度条

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第四周 12/12 1/1 20/20
    第五周 271/283 1/2 15/15
    第6周 276/283 2/3 18/18
    第7周 150/283 4/4 21/23
    第8周 294/283 4/4 24/27
    第9周 289/283 4/4 29/23

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

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

    • 计划学习时间:23小时

    • 实际学习时间:29小时

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

    参考资料

  • 相关阅读:
    CSS布局之浮动原理
    img中的alt和title的区别
    重绘+重排+项目优化
    事件冒泡、事件捕获和事件委托
    js数组方法总结
    flex布局
    冒泡排序
    函数节流和函数防抖
    从一个url地址最终到页面渲染完成,发生了什么
    如何让网站变灰
  • 原文地址:https://www.cnblogs.com/lsqsjsj/p/7860398.html
Copyright © 2011-2022 走看看