《深入理解计算机系统》第六章
6.1存储技术
1.随机访问存储器:
(1)静态RAM(SRAM): 静态比动态的更快,静态用来作为高速缓存存储器,既可以在Cpu芯片上,也可以在线下
(2)动态RAM(DRAM):主要用来作为主存以及图形系统的帧缓冲区。
(3)传统的DRAM:DRAM的芯片中的单元被分成d个超单元,每个超单元都由w个DRAM单元组成。一个d*w的DRAM总共存储了dw位的信息。超单元被组织成一个r行c列的长方形阵列,这里rc = d。信息通过引脚的外部连接器流入和流出芯片。
(4)存储器模块:DRAM芯片包装在存储器模块中,它是插到主版的扩展槽上的。
(5)增强的DRAM:快页模式DRAM;扩展数据输出DRAM;同步DRAM;双倍数据数率同步DRAM;Rambus Dram;视频Dram
(6)非易失性存储器ROM:即使在关电后,也仍然保存着它们的信息。
a.PROM:只能被编程一次。
b.可擦可写编程ROM(EPROM):被擦除和重写的次数可以达到10^3次
c.电子可擦除PROM(EEPROM):能够被编程的次数可以达到10^3次。
d.闪存:基于EEPROM。基于此的磁盘驱动器称为固态硬盘 存储在ROM设备中的程序通常称为固件;当一个计算机系统通电之后,它会运行存储在ROM中的固件
(7)访问主存的步骤:
a.总线事务;
b.读事务从主存传送数据到CPU;
c.写事务从CPU传送数据到主存。
2.磁盘存储
(1)磁盘构造
a.磁盘是保存大量数据的存储设备;但读取速度慢
b.每个表面是由一组称为磁道的同心圆组成,每个磁道被划为一个扇区,每个扇区包含等量的数据位。扇区之间由一些间隙分隔开来,这些间隙不存储数据位,间隙存储用来标示扇区的格式化位。
c.磁盘是由一个或多个叠放在一起的盘片组成,它们被封装在一个密封的包装里,通常称为磁盘驱动器/磁盘
(2)磁盘容量的决定因素:记录密度,磁道密度,面密度
(3)磁盘操作:对扇区的访问时间有三个组成部分:
a.寻道时间:移动传动臂的时间;
b.旋转时间;
c.传送时间:一个扇区的传送时间依赖于旋转速度和每条磁道的扇区的数量。
6.2局部性
1.局部性原理:一个编写良好的计算机程序常常具有良好的局部性。他们倾向于引用邻近于其他最近引用过的数据项的数据项,或者最近引用过的数据项本身。这种倾向性被称为局部性原理。
2.局部性不同形式:时间局部性和空间局部性
(1)时间局部性:如果被访问过的存储器地址在较短时间内被再次访问,则程序具有良好的时间局部性。在一定的时间内,重复访问同一个地址的次数越多,时间局部性越好。换句话说,对同一个地址的两次访问间隔时间越短,时间局部性越好。
(2)空间局部性:如果程序访问某个存储器地址后,又在较短时间内访问临近的存储器地址,则程序具有良好的空间局部性。两次访问的地址越接近,空间局部性越好。
6.3存储器层次结构
1.中心思想:存储器层次结构的中心思想是:对于每个k,位于k层的更快更小的存储设备作为位于(k+1)层的更大更慢的存储设备的缓存。
2.本质:每一层存储设备都是较低一层的缓存。
3.缓存命中:当程序需要第(k+1)层的数据对象d的时候,首先会在第k层找d;如果d刚好缓存在第k层,那么就叫做缓存命中;反之,不命中
6.4高速缓存存储器
高速缓存确定一个请求是否命中,然后抽取出被请求的字的过程:
a.组选择:从w的地址中抽取组索引
b.行匹配:对于直接映射高速缓存,行匹配是容易而且快的
c.字匹配:块偏移提供的是这个字的第一个字节是从哪里开始的
参考资料
《深入理解计算机系统(第二版)》