# 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)的内容。
- 磁盘存储
磁盘构造
磁盘是由一个或多个叠放在一起的盘片组成
磁盘结构:盘片、磁道、扇区、间隙、柱面;磁盘驱动器
-
磁盘容量=字节数 * 平均扇区数 * 磁道数 * 表面数* 盘片数
-
寻道时间(Tseek):移动传动臂到目标扇区所需的时间
通常3-9ms -
旋转时间(Trotation):驱动器等待目标扇区的第一个位旋转到读写头下
-
传送时间(Ttransfer):驱动器开始读写该扇区内容的时间
传送时间依赖于:旋转速度和每条磁道的扇区数目 -
6.2局部性
-
时间局部性
被引用过一次的存储器位置很可能在不远的将来再多次被引用
- 空间局部性
程序在不远的将来引用附近一个存储器位
-
存储器层次结构:
从高层往底层走,存储设备变得更慢、更便宜和更大
-
高速缓存存储器
-
影响高速缓存性能的参数有:高速缓存大小的影响、块大小的影响、相联度的影响、写策略的影响。
-
存储器山存储器系统的性能不是一个数字就能描述的。相反,它是一座时间和空间局部性的山,这座山的上升高度差别可以超过一个数量级。是要程序运行在山峰而不是低谷。
教材学习中的问题和解决过程
-
高速缓存行、组和块有什么区别?
-
块是一个固定大小的信息包,在高速缓存和主存(或下一层高速缓存)之间来回传递。
-
行是高速缓存中存储块以及其他信息(例如有效位和标记位)的容器
-
组是一个或多个行的集合。直接映射高速缓存中的组只由一行组成,组相联和全相联高速缓存中的组是由多个行组成的
在直接映射高速缓存中,组和行确实是等价的,不过,在相联高速缓存中,组和行是不一样的,这两个词不能互换使用。
- 习题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 -
为什么要用中间位来做索引?
-
如果高位做索引,那么一些连续的内存块就会映射到相同的高速缓存块。会导致使用效率很低。
详细的解释
代码托管
上周考试错题总结
无
结对及互评
点评模板:
暂无
本周结对学习情况
-
- 结对学习内容
- 共同学习课本第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小时
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)