DRAM内存 与SRAM的比较和加速方法 计算机组成原理
DRAM比SRAM慢的原因
- DRAM使用电容存储电荷的方式存储数据,必须进行周期性的刷新,这也是该结构被称为动态的原因。SRAM使用双稳态触发器存储比特。没有刷新的问题。
- DRAM的操作时序更为琐碎,需要分时传送行地址与列地址。而DRAM使用行结构的原因也是因为这种结构便于刷新。
- DRAM的结构组织更为复杂。涉及预充电命令打开或关闭某个bank,激活命令发送行地址并将行内容送入缓冲区。
为什么主存使用DRAM
- 便宜。DRAM每比特的硅面积远小于SRAM。
- 功耗低。SRAM每比特用6-8个晶体管,DRAM最少只需1个。在这个撞到功耗墙的时代,DRAM做主存更占优势。
速度差距在20-140倍,价格差距在25-100倍。
加速DRAM访存时间的技术
- 猝发传输技术。猝发传输是指CPU给定所需数据的首地址和数据的字长,由存储器一口气发送给CPU。原本每传输一个总线字长就要传输一次行、列选通信号。现在只需给定一次行、列选通信号即可传输多个字的数据。
- 缓存行数据。类似于cache的工作机理。DRAM是行组织的,包含4、8、16个字,当顺序访问DRAM时缓存技术很有优势。
- SDRAM。SDRAM指带有时钟的DRAM,使得DRAM与CPU的通信从异步通信转为同步通信(参考总线的同步通信与异步通信)。
- DDR。DDR即双倍数据传输率,在时钟的上升沿与下降沿都可以进行数据传输。
- 交叉地址访问。DRAM中包含多个bank,交叉地址访问技术就是挖掘多个bank之间的并行工作能力。
高位交叉方式—— 主存地址 = 模块号 + 块内地址 低位交叉方式—— 主存地址 = 块内地址 + 模块号
计算机组成原理常见的字位扩展就是高位交叉地址。将地址的高位连通译码器接 到内存片的片选信号。 低位扩展则是将模块号放在低位,这样就使得逻辑上顺序的数据放在物理上不同的bank上,这样可以通过流水线技术进行并行访问。
需要说明的是,以上的这些技术是有很强相关性的。比如缓存行数据与SDRAM都对猝发传输有很大支撑。
下一篇:
如何在Python中调用Matlab