首页 > 代码库 > 计算机系统:第6章(存储器层次结构)
计算机系统:第6章(存储器层次结构)
参考材料:深入理解计算机系统,第六章
6.1.1 随机访问存储器RAM
1.静态RAM(SRAM)与动态RAM(DRAM)
首先。要有的基本概念:SRAM存储一个位的结构要六个晶体管,DRAM存储一个位的结构为一个电容(DRAM可达到较SRAM更高的密度)。因此SRAM比DRAM更加昂贵,带来的效果是访问更快。(一个桌面系统SRAM不超过几兆字节,DRAM可有几百到几千兆字节)
然后。一个高级点的概念。SRAM有稳定状态,DRAM(电容)有很多情况形成漏电使得DRAM需要每过一个周期时间就要通过“重新读出,再次写入”来刷新每一位。(也有些DRAM用纠错码如用38bit来编码32个位来解决这个问题)
最后。SRAM用来作为高速缓存,可以on-chip,也可以off-chip(可以和CPU坐在一个chip上,也可以和chip分开);DRAM用来做main memory和图形系统的帧缓冲区(估计就是“显卡”)。
2.传统DRAM的形象是怎样的?
w个DRAM单元(一个单元存储一个bit)形成一个supercell(如果DRAM芯片是一个矩阵,那么一个supercell就是一个矩阵元素)---》
d个supercell组成a*b的矩阵形式,形成一个DRAM芯片,这样这块芯片有a*b*w个bit(之所以d个supercell组成矩阵而不是线性数组的原因是为了降低芯片上地址引脚的数量。但是矩阵组织形式的缺点是要分2步发送地址:行+列,这增加了访问时间)---》
多块DRAM芯片包装在存储器模块(memory module)中,这个memory module是柴刀主板的扩展槽上的。---》
芯片通过叫做pin的外部连接器流入和流出芯片
3.如何访问主存
首先。明确计算机中是谁要访问主存?是CPU。而主存是存在于CPU之外的(off the chip)
然后,概括的讲访问主存的流程:数据流通过成为总线(bus)的共享电子电路在CPU和DRAM之间来来回回。
详细一点地说。
1)不同计算机系统对于总线有不同的设计,本书采用的是其中一种高级总线体系结构,具体结构见图6-6.因此,这里讲的CPU如何如何对main memory访问是基于这个总线体系结构的。
2)数据通过总线(此体系中有系统总线和存储器总线)在芯片之间(CPU--I/O桥--main memory)流动。
4.存储器层次结构中各层次的速度基本概念
最高层指的是CPU寄存器(顾名思义,应该是在chip上面),访问速度为一个时钟周期;
接下来是较小的(几兆)基于SRAM的高速缓存存储器,可以在几个2~4个时钟周期访问(ns级);
然后是较大的(几百兆~千兆)基于DRAM的主存,可以在10~10^2个时钟周期内访问;
接下来是容量很大的本地磁盘,访问时间是DRAM所需时间的10^3倍(如2500倍,ms级);
最后,是一层在远程服务器上的磁盘,需要通过网络来访问它们。