6.1存储技术
6.1.1随机访问存储器
1.SRAM(静态RAM)
特点:更快,更贵。它将每个为存储在一个双稳态的存储器单元里,可以无限期地保存在两个不同的电压配置或状态之一。只要有电,它就会永远保存它的值。
用途:作为高速缓存存储器,既可以在CPU芯片上,也可以在其之下。
2.DRAM(动态RAM)
特点:它将每个位存储为对一个电容充电。它必须周期性地通过读出,然后重写来刷新存储器的每一位。它对干扰相对敏感。
用途:主存及图形系统的帧缓冲区
6.1.2磁盘存储
2.磁盘容量
记录密度:(位/英寸)磁道一英寸的段中可以放入的位数
磁道密度:(道/英寸)从盘片中心出发半径上一英寸的段内可以有的磁道数
面密度:(为/平方英寸)记录密度*磁道密度
磁盘容量 = (字节数/扇区) * (平均扇区数/磁道)*(磁道数/表面)*(表面数/盘片)*(盘片数/磁盘)
3.磁盘操作
访问时间=寻道时间+旋转时间+传送时间
旋转时间:最大旋转延迟=(1/旋转速率)*(60sec*1000ms/sec)
平均旋转延迟=(1/2) * 最大旋转延迟
传送时间:平均传送时间=(1/旋转速率)*(60sec*1000ms/sec)*(1/平均扇区数/磁道)
6.2局部性
良好的时间局部性:重复引用同一个变量
良好的空间局部性:一个连续向量中,每隔k个元素进行访问,被称为步长为k的引用模式。
步长越小,空间局部性越好。
取指令的良好时空局部性:循环。循环体越小,循环迭代次数越多,局部性越好。
6.3存储器层次结构
6.3.1存储器层次结构中的缓存
存储器层次结构中心思想:本层的存储设备作为下一层更大更慢设备的缓存。
1.缓存命中:当程序需要下一层的某个数据对象d时,他会先在当前层的一个块中寻找d。如果d刚好在当前层中,那么就发生了缓存命中。
6.4高速缓存存储器
早期计算机系统存储层次三层:CPU寄存器、DRAM主存储器、磁盘存储
CPU和主存之间的速度差距在不断增大。
6.4.1通用的高速缓存存储器结构
假设一个计算机系统,每个存储器地址有m位,形成M=2^m个不同地址。然后,被组织成:
S=2^s个高速缓存组
每个组包含E个高速缓存行
每行由B=2^b字节的数据块组成。一个有效位指明信息,t=m-(b+s)个标记位标识此行中的块。
高速缓存容量C=S*E*B
高速缓存块:一个固定大小的信息包,在高速缓存和主存之间来回传送
高速缓存行:高速缓存中存储块以及其他信息的容器
高速缓存组:一个或多个行的集合
-------------------------------------------------------------------------------------------------------------------------------------
参考资料:《深入理解计算机系统》(第2版)