# 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小时

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

参考资料

posted @ 2017-11-19 17:17  短爪爪爪  阅读(200)  评论(0编辑  收藏  举报