CPU在一个传输周期内能接受的数据容量,我们称之为CPU数据总线位宽(单位:bit),目前的CPU数据总线位宽基本上都是64bit。传统内存系统为了保证CPU的正常工作,必须一次传输完CPU在一个周期内所需要的数据,也就是一次要传输CPU位宽容量的数据(多通道模式下情况有所不同)。
控制内存与CPU之间数据交换的北桥芯片也因此将内存总线的数据位宽等同于CPU数据总线的位宽,而这个位宽就称之为物理Bank(Physical Bank,简称P-Bank)的位宽。所以,传统的内存系统必须要组成一个P-Bank的位宽,才能使CPU正常工作,那么这个P-Bank位宽怎么得到呢?
每个内存芯片也有自己的位宽,即每个传输周期能提供的数据量。理论上,完全可以做出一个位宽为CPU数据总线位宽的芯片来满足P-Bank的需要,但这对技术的要求很高,在成本和实用性方面也都处于劣势。所以芯片的位宽一般都较小。目前常见的SDRAM内存芯片位宽多为16bit/8bit,为了组成P-Bank所需的位宽,就需要多颗芯片并联工作。对于16bit内存芯片,需要4颗(4×16bit=64bit)。对于8bit芯片,则就需要8颗了。
P-Bank其实就是一组内存芯片的集合,这个集合的容量不限,但这个集合的总位宽必须与CPU数据位宽相符。每个DIMM至少包含一个P-Bank的芯片集合,但是内存面数≠P-Bank数,只有在知道芯片位宽的情况下,才能确定P-Bank的数量,并非流传的所谓单面内存是有一个P-Bank,双面内存是两个P-Bank。
明白了P-Bank的意义,再看下内存的工作大体情况:
1、内存控制器首先要确定一个P-Bank的芯片集合,然后才对这集合中的芯片进行寻址操作。因此有一个片选的信号,它一次选择一个P-Bank的芯片集(根据位宽的不同,芯片数量也不同)。被选中的芯片将同时接收或读取数据。
2、对所有被选中的芯片进行统一的L-Bank(逻辑Bank,请参考前文《DDR3深度评测》)的寻址。
3、接着就是对被选中的芯片进行统一的行/列(存储单元)寻址。
4、找到了存储单元后,被选中的芯片就要进行统一的数据传输。