随机存储器(随机访问存储器)
随机访问存储器(Random Access Memory,RAM)分为两种:静态的 和 动态的。
静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多。SRAM用来作为高速缓存存储器,既可以在CPU芯片上,也可以在片下。DRAM用来作为主存以及图形系统的帧缓冲区。一般计算机的SRAM不会超过几兆字节,但DRAM却有几百或几千兆字节。
1、静态RAM
SRAM将每个位存储在一个双稳态(bistable)的存储器单元里。每个单元是用一个六晶体管电路来实现的。这个电路有这样一个属性,它可以无限期地保持在两个不同的电压配置或状态之一。其他任何状态都是不稳定,从不稳定状态开始,电路会迅速地转移到两个稳定状态中的一个。这样的存储器单元类似下图中倒转的钟摆。
当钟摆倾斜到最左边或最右边时,它是稳定度。从其他任何位置,钟摆都会倒向一边。原则上钟摆在垂直的位置也可以保持平衡,但是这个状态是亚稳态的,最细微的扰动也能使它倒下,而且一旦倒下就不会再恢复到垂直状态。
由于SRAM存储器单元的双稳态特性,只要有电,它就会永远保持它的值。即使有干扰来扰动电压,当干扰消除时,电路就会恢复到稳定值。
2、动态RAM
DRAM将每个位存储为对一个电容的充电。这个电容非常小,通常只有大约30毫微微法拉(femtofarad)—— 30 * 10^-15法拉,一法拉是一个非常大的计量单位。DRAM存储器可以制造得非常密集——每个单元由一个电容和一个晶体管组成。但是与SRAM不同,DRAM存储器单元对干扰非常敏感。当电容的电压被扰乱之后,它就永远不会恢复了。暴露在光线下会导致电容电压改变。实际上数码照相机和摄像机中的传感器本质上就是DRAM单元的阵列。
很多原因都会导致漏电,使得DRAM单元在10~100毫秒内失去电荷。辛运的是,计算机运行的时钟周期是以纳秒来衡量的,所以相对而言这个保持时间是比较长的。内存系统必须周期性地通过“读出然后重写”来刷新内存每一位。有些系统也使用纠错码,其中计算机的字会被多编码几个位(如64位的字可能用72位来编码),这样电路可以发现并纠正一个字中任何单个的错误位。
SRAM和DRAM存储器的特性
SRAM和DRAM存储器的特性如上图所示。只要有供电,SRAM就会保持不变,与DRAM不同,它不需要刷新。SRAM的存取比DRAM快。SRAM对诸如光和电噪声这样的干扰不敏感。代价是SRAM单元比DRAM单元使用更多的晶体管,因而密集度低,且成本更高,功耗更大。
相关阅读
学习笔记:深入了解计算机系统