即便从软件角度,抛开地址译码器讨论内存颗粒中指定位置处的地址(DDR中的指定位置的电容)也是没有意义的。晶体管没有绝对地址,就如同地理测量中测定位置前需要确定坐标系一样,同一个位置在不同的坐标系中的地址描述可以是完全不同的。
所以,我们不能指着内存条上的某个芯片问,这颗存储颗粒的地址范围是多少,它和内存控制器的参数以及主控的编址策略有关,比如访问粒度, interleave方式,访问通道数等因素都有关系。在确定这些参数前,讨论一个存储单元的地址是没有意义的,下图用一个例子说明原理。
通过对地址线重新排序,逻辑地址从A2A2A0变为A1A0A2,不改变地址译码器的结构,右侧存储颗粒上会产生完全不同的存储单元的编址,从顺序访问变成了interleave模式,在这两种地址策略下,这些编址都是对的。
无论哪种地址解码方式,寻址都有某种程度的对称性,这是很自然的,三个地址线随便交换,一定在一组置换群中,具有某种对称性。