我们现在的工作、生活、学习离不开电脑、手机或其他智能设备的存在,而这些智能设备也离不开内存的存在。它伴随着DIY硬件走过了多年历程。从286时代的30pin SIMM内存、486时代的72pin SIMM 内存,到Pentium时代的EDO DRAM内存、PII时代的SDRAM内存,到P4时代的DDR内存和目前9X5平台的DDR2内存。到如今的DDR4内存,DDR5内存。内存从规格、技术、总线带宽等不断更新换代,其目的在于提高内存的带宽,以满足CPU不断攀升的带宽要求、避免成为高速CPU运算的瓶颈。我们一起来看看内存的发展史吧。
在286主板发布之前,内存一直都是被固化在主板上,并且容量只有几十KB,在当时的系统及软件环境中,这样的容量是能满足软件运行处理的需要的。但是随着286硬件平台的出现,程序对硬件提出了更高的要求,为了提高速度并扩大容量,内存必须以独立的封装形式出现,才有了我们如今常说的内存条出现。
在286主板刚推出的时候,内存条采用了30针的SIMM接口(单列直插式内存模块),必须是由8 片数据位和1 片校验位组成1 个bank,正因如此,我们见到的30pin SIMM一般是四条一起使用。它可以提供总计24个地址比特。对于8位数据宽度,则奇偶校验和非奇偶校验模块的绝对最大容量为16 MB。
随着CPU技术的发展,30针的SIMM接口已经无法满足需求,其较低的内存带宽已经成为亟待解决的瓶颈,在30针的SIMM接口上发展出了72针的SIMM接口,内存单条容量一般为512KB ~2MB,而且仅要求两条同时使用,采用12个地址线,可以提供总计24个地址比特,两个芯片Rank,以及32位数据输出,绝对最大容量为128 MB。
伴随着科学技术的发展,单列直插式内存模块SIMM已经不能满足CPU发展的需要了,因此诞生了SDRAM(同步动态随机存取内存),这也是如今我们内存常见的封装形式,SDRAM从发展到现在已经经历了五代,分别是:第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM,第五代,DDR4 SDRAM。
SDRAM是多Bank结构,例如在一个具有两个Bank的SDRAM的模组中,其中一个Bank在进行预充电期间,另一个Bank却马上可以被读取,这样当进行一次读取后,又马上去读取已经预充电Bank的数据时,就无需等待而是可以直接读取了,这也就大大提高了存储器的访问速度。
虽然SDRAM在基本的原理上比如基本存储的结构都是基本一样的,但是在整个内存架构的组织上是不同的,而且在存储单元的控制上也是有着相当大的区别的。因为异步DRAM同处理器和芯片的时钟并没有什么关系,所以芯片组只能按照DRAM内存的时序要求“被动”的操作DRAM控制引脚。SDRAM因为要同CPU和芯片组共享时钟,所以芯片组可以主动地在每个时钟的上升沿发给引脚控制命令。
从理论上说,SDRAM与CPU频率同步,共享一个时钟周期。SDRAM内含两个交错的存储阵列,当CPU从一个存储阵列访问数据的同时,另一个已准备好读写数据,通过两个存储阵列的紧密切换,读取效率得到成倍提高。目前,最新的SDRAM的存储速度已高达5纳秒。