信息安全系统设计基础 第7周学习笔记
2015-10-20 21:48
363 查看
存储器层次结构
一、存储技术1.三种常见的存储技术:RAM、ROM、磁盘。
2.随机访问存储器(RAM):有静态RAM(SRAM)和动态RAM(DRAM)。
① SRAM:每个数据位存储于一个“双稳态的存储单元”。 特点是:只要有电,就永远保存它的值,比较抗干扰。
② DRAM:一个DRAM芯片中所有单元(一个单元是一位),被分成d个超单元,每个超单元由w个单元构成。因此一个DRAM芯片能存储d*w位。 这d个超单元组织成一个r行c列的矩阵。因此每个超单元有一个地址(i,j),i是行号,j是列号。
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020205949786-1906443011.png)
3.非易失性存储器(ROM):有PROM、EPROM、E2PROM、FLASH。
4.磁盘存储
① 磁盘构造:
每个表面是由一组称为磁道(track)的同心圆组成;每个磁道被划分成一组扇区(sector);每个扇区包含相等数量的数据位(通常是512字节);这些数据编码在扇区上的磁性材料中。扇区之间由一些间隙(gap)分隔开,这些间隙中不存在数据位。间隙存储用来标识扇区的格式化位。
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020210545739-1565158565.png)
② 磁盘容量:由记录密度、磁道密度、面密度决定的。
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020211315192-1867291906.png)
即磁盘大小=扇区大小*每条磁道平均扇区数*每个面磁道的磁道数*每个盘片的面数*每个磁盘的盘数。
③ 访问时间:对扇区的访问时间有三个主要部分组成:寻道时间,旋转时间和传送时间。
a)寻道时间:为了读取某个目标扇区的内容,传动臂把读/写头首先定位到包含目标扇区的磁道上。所需时间即为寻道时间,约等于最大旋转时间。
b)旋转时间:定位到期望的磁道后,驱动器等待目标扇区的第一个位旋转到读/写头下。
最大旋转时间 = 1/最大旋转数率
平均旋转时间 = (1/2) * 最大旋转时间。
c)传送时间:平均传送时间 = (1/最大旋转数率) * (1/每磁道的平均扇区数)。
④ 逻辑磁盘块:在访问扇区时,通常只给出扇区的逻辑号,然后磁盘控制器会将逻辑号转换为相应的盘片上的相应磁道的相应扇区。
二、局部性
1.局部性有两种形式:时间局部性(temporal locality)和空间局部性(spatial locality)。在一个具有良好时间局部性的程序中,被引用过一次的存储器位置很可能在不远的将来再被多次引用;在一个具有良好空间局部性的程序中,如果一个存储器位置被引用了一次,那么程序很可能在不远的将来引用附近的一个存储器位置。
2.局部性基本原则:
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020212222583-1935962096.png)
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020212231630-299569248.png)
三、存储层次结构
1.存储层次结构:
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020212726411-523657596.png)
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020212916317-1059291420.png)
2.存储层次结构的中心思想:
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020212743411-1367860867.png)
四、高速缓存存储器
1.高速缓存存储器由来:
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020213028567-946802218.png)
2.(S、E、B、m):
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020213238880-623526373.png)
3.参数小结:
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020213257177-51225462.png)
4.每个组只有一行(E = 1)的高速缓存被称为直接映射高速缓存。
高速缓存确定一个请求是否命中,然后抽取出被请求的字的过程,分为三步:组选择,行匹配,字抽取。
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020213701208-1203247419.png)
![](http://images2015.cnblogs.com/blog/810675/201510/810675-20151020213712895-722521915.png)
如果把高速缓存看作一个关于组的一维数组,那么这些组索引就是一个到这个数组的索引。如果我们把块看作一个字节的数组,而字节偏移是这个数组的一个索引,而使用中间位做索引是为了提高缓存利用率。
五、参考资料:
1.深入理解计算机系统(第二版).pdf
2./article/4743460.html
七、遇到的问题
一开始对磁盘的概念很模糊,感觉很抽象,后来在网上查阅资料以及对书上磁盘结构图的仔细推敲,才理解了磁盘的结构。
相关文章推荐
- (原创)c#学习笔记04--流程控制03--分支03--switch语句
- 20151017的NOIP模拟赛
- GCD 学习总结
- 安装rackspace private cloud --3 Deployment host
- 33.Word Pattern
- Vim中的查找和替换
- Node之锚点
- 安装rackspace private cloud --2 overview
- JavaScript学习随记——数组二
- 深度优先遍历之边的分类
- 程序员既要写好代码,又要写好文档
- 面试题40:数组中只出现一次的数字
- iOS改变UIImageView的image时添加渐变
- srm 552
- eclipse或myeclipse常用配置和快捷键
- hp-unix 根盘镜像及镜像解除
- 引入内联函数的目的和作用
- think in UML(二)
- 前端开发梦中景象
- 从c到c++<四>