從DDR的訪存特性來說,對同一塊DDR,兩個訪存操作之間需要一些時間間隔,這里面包括CL (CAS時延), tRCD(RAS到CAS時延),tRP(預(yù)充電有效周期)等。
為了提高DDR的訪存速度,可以使用多通道(channel)技術(shù)。典型的臺式機(jī)和筆記本CPU很早就支持雙通道,現(xiàn)在還加入了三通道。如果數(shù)據(jù)分布在插在不同的通道上的內(nèi)存條上,內(nèi)存控制器可以不管上面這些延遲啊時序啊,同時讀取他們,速度可以翻倍甚至三倍(如果支持的通道數(shù)更多,則速度提高的更多)。高通的第一代ARM服務(wù)器SoC芯片使用了4個DDR控制器,即支持四通道。
但是由于程序的局限性,一個程序并不會把數(shù)據(jù)放到各個地方,從而落入另一個DIMM里,往往程序和數(shù)據(jù)都在一個DIMM里,加上CPU的Cache本身就會把數(shù)據(jù)幫你預(yù)取出來,這個多通道對速度的提高就不那么明顯了。
這時就要使用另外一種提高速度的方法了,就是讓同一塊內(nèi)存分布到不同的通道中去,這種技術(shù)叫做交織,Interleaving. 這樣無論Cache命中與否都可以同時存取,多通道的技術(shù)才能發(fā)揮更大的用處。