标签:
了解存储器的层次结构可以帮助程序员更好地了解系统如何将数据在存储器层次中上下移动,从而可以将自己编写的程序的数据放于较高的层次上,使得CPU能够更快地访问它们。
随机访问存储器:
S(静态)RAM:其每个位存储在一个具有双稳态的bistable存储器单元里。该存储器单元的特性是只能稳定地保持在两个稳定状态中的任意一种,就像倒立的钟摆只有左边或者右边两种稳定状态一样,这种性质使得SRAM会从任意状态迅速地转移到两个稳定状态之一的状态。由于这种性质的存在,使这种存储器在有电的情况下会永久地保持它的值,如果存在电磁干扰,在电磁干扰消失后存储器电路会迅速地恢复到稳定状态。
D(动态)RAM:其每个位存储为对一个极小的电容的充电(30*10e-15F)。每个单元由一个电容和一个访问晶体管组成,所以电路可以做的非常小。但是DRAM对干扰非常敏感,在很多原因导致的漏电情况下,其电容会在10~100ms内失去电荷,但是由于现代计算机运行的周期是以ns来衡量的,系统对其周期性地重新刷写每一位。还有些系统会使用纠错码来纠正其中的错误位。
区别:由于只要有供电,SRAM不需要刷新,并且SRAM存取比SRAM快,对干扰不敏感,但是其使用更多的晶体管,密度低,功耗大,所以这两种存储器根据使用情况的不同应用于不同的位置。(SRAM应用于高速缓存存储器,DRAM应用于主存和帧缓冲区)
存储器模块数据的存取:
在存储器模块memory module中,数据并非存储在一块连续的区域里的,而是在每个存储单元中存储一个字节。取数据的过程大概如下,当需要一个存放在地址A处的一个64位双字时,存储器控制器将A转换为一个超单元supercell地址(i,j),将它发到存储器模块,存储器模块再将地址广播道每一个DRAM,每个DRAM相应时将自己的(i,j)处的字节取出,这时电路收集这些输出并将其组装成一个64位的双字返回给存储器控制模块。
时间局部性temporal locality:在一个时间局部性良好的程序里,被引用过一次的存储器的位置很可能在不远的将来再被多次引用。
空间局部性spatial locality:在一个具有良好空间局部性的程序里,如果一个存储器位置被引用了一次,那么程序很可能在不远的将来引用附近的一个存储器位置。
随机访问存储器、存储器模块数据的存取、局部性_15.09.15/2-第六章(6.2)
标签:
原文地址:http://www.cnblogs.com/xd-g/p/4912561.html