存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。
作为一个程序员,你需要理解存储器层次结构,因为它对应用程序的性能有着巨大的影响。如果你的程序需要的数据是存储CPU寄存器中的,那么在指令的执行期间,在0个周期内就能访问到他们。如果存储在高速缓存中,需要4-75个周期。如果储存在主存中,需要上百个周期。而如果储存在磁盘上,需要大约几千万个周期!
因此,我们了解存储器系统可以优化我们的程序,让程序的数据项存储在存储区层次结构的顶层,或者善于访问邻近的数据项。
1.随机访问存储器(RAM)
RAM分为两种静态的与动态的,静态随机访问存储器(SRAM)一般的速度比动态随机访问存储器(DRAM)要快很多,相对来说SRAM比DRAM快十倍,抗干扰能力也强很多,但是造价也贵很多。
SRAM作用CPU里面的高速缓存,DRAM的芯片一般在内存模块中,SRAM通过内存控制器连接DRAM。中间连接的线路,我们成为总线,具体的如下图:
其中I/O桥包含一个内存控制器,负责系统总线与内存总线信号的转换,类似的I/O桥还含有通用串行总线、图形卡、主机总线适配器,这使得计算机外围设备的设计与计算机底层的CPU设计无关。
2.非易失性存储器
上述的随机访问存储器在断电后,就失去了数据存储的能力&#