記憶體重要參數詳解
重新花時間溫習一下memory的一些概念,找了一些之前儲存的文檔,介紹ddr的相關概念的。現已找不到原文連結。
時序
記憶體的時序參數一般簡寫為2/2/2/6-11/1T的格式,分别代表CAS/tRCD/tRP/tRAS/CMD的值。 2/2/2/6-11/1T中最後兩個時序參數,也就是tRAS和CMD(Command縮寫),是其中較複雜的時序參數。目前市場上對這兩個參數的認識有一些錯誤,因為部分記憶體廠商直接用它們來代表記憶體性能。
CMD Rate
Command Rate譯為“首指令延遲”,這個參數的含義是片選後多少時間可以發出具體的尋址的行激活指令,機關是時鐘周期。片選是指對行實體Bank的選擇(通過DIMM上CS片選信号進行)。如果系統指使用一條單面記憶體,那就不存在片選的問題了,因為此時隻有一個實體Bank。
用更通俗的說法,CMD Rate是一種晶片組意義上的延遲,它并不全由記憶體決定,是由晶片組把虛拟位址解釋為實體位址。不難估計,高密度大容量的系統記憶體的實體位址範圍更大,其CMD延遲肯定比隻有單條記憶體的系統大,即使是雙面單條。Intel對CMD這個問題就非常敏感,是以部分晶片組的記憶體通道被限制到四個Bank。這樣就可以比較放心地把CMD Rate限定在1T,而不理使用者最多能安裝多少容量的記憶體。
宣揚CMD Rate可以設為1T實際上多少也算是一種誤導性廣告,因為所有的無緩沖(unbuffered)記憶體都應具有1T的CMD Rate,最多支援四個Bank每條記憶體通道,當然也不排除晶片組的局限性。
tRAS
tRAS在記憶體規範的解釋是Active to Precharge Delay,行有效至行預充電時間。是指從收到一個請求後到初始化RAS(行位址選通脈沖)真正開始接受資料的間隔時間。這個參數看上去似乎很重要,其實不然。記憶體通路是一個動态的過程,有時記憶體非常繁忙,但也有相對空閑的時候,雖然記憶體通路是連續不斷的。tRAS指令是通路新資料的過程(例如打開一個新的程式),但發生的不多。
接下來幾個記憶體時序參數分别為CAS延遲,tRCD,以及tRP,這些參數又是如何影響系統性能的呢?
CAS
CAS意為列位址選通脈沖(Column Address Strobe 或者Column Address Select),CAS控制着從收到指令到執行指令的間隔時間,通常為2,2.5,3這個幾個時鐘周期。在整個記憶體矩陣中,因為CAS按列位址管理實體位址,是以在穩定的基礎上,這個非常重要的參數值越低越好。
過程是這樣的,在記憶體陣列中分為行和列,當指令請求到達記憶體後,首先被觸 發的是tRAS (Active to Precharge Delay),資料被請求後需預先充電,一旦tRAS被激活後,RAS才開始在一半的實體位址中尋址,行被標明後,tRCD初始化,最後才通過CAS找到精确的位址。整個過程也就是先行尋址再列尋址。從CAS開始到CAS結束就是現在講解的CAS延遲了。因為CAS是尋址的最後一個步驟,是以在記憶體參數中它是最重要的。
tRCD
根據标準tRCD是指RAS to CAS Delay(RAS至CAS延遲),對應于CAS,RAS是指Row Address Strobe,行位址選通脈沖。CAS和RAS共同決定了記憶體尋址。RAS(資料請求後首先被激發)和CAS(RAS完成後被激發)并不是連續的,存在着延遲。然而,這個參數對系統性能的影響并不大,因為程式存儲資料到記憶體中是一個持續的過程。在同個程式中一般都會在同一行中尋址,這種情況下就不存在行尋址到列尋址的延遲了。
tRP
tRP指RAS Precharge Time ,行預充電時間。也就是記憶體從結束一個行通路結束到重新開始的間隔時間。簡單而言,在依次經曆過tRAS, 然後 RAS, tRCD, 和CAS之後,需要結束目前的狀态然後重新開始新的循環,再從tRAS開始。這也是記憶體工作最基本的原理。如果你從事的任務需要大量的資料變化,例如視訊渲染,此時一個程式就需要使用很多的行來存儲,tRP的參數值越低表示在不同行切換的速度越快。
顆粒封裝技術
1、SIMM(Single Inline Memory Module,單内聯記憶體子產品)
記憶體條通過金手指與主機闆連接配接,記憶體條正反兩面都帶有金手指。金手指可以在兩面提供不同的信号,也可以提供相同的信号。SIMM就是一種兩側金手指都提供相同信号的記憶體結構,它多用于早期的FPM和EDD DRAM,最初一次隻能傳輸8bif資料,後來逐漸發展出16bit、32bit的SIMM模組,其中8bit和16bitSIMM使用30pin接口,32bit的則使用72pin接口。在記憶體發展進入SDRAM時代後,SIMM逐漸被DIMM技術取代。
2、DIMM
DIMM與SIMM相當類似,不同的隻是DIMM的金手指兩端不像SIMM那樣是互通的,它們各自獨立傳輸信号,是以可以滿足更多資料信号的傳送需要。同樣采用DIMM,SDRAM 的接口與DDR記憶體的接口也略有不同,SDRAM DIMM為168Pin DIMM結構,金手指每面為84Pin,金手指上有兩個卡口,用來避免插入插槽時,錯誤将記憶體反向插入而導緻燒毀;DDR DIMM則采用184Pin DIMM結構,金手指每面有92Pin,金手指上隻有一個卡口。卡口數量的不同,是二者最為明顯的差別。
DDR2 DIMM為240pin DIMM結構,金手指每面有120Pin,與DDR DIMM一樣金手指上也隻有一個卡口,但是卡口的位置與DDR DIMM稍微有一些不同,是以DDR記憶體是插不進DDR2 DIMM的,同理DDR2記憶體也是插不進DDR DIMM的,是以在一些同時具有DDR DIMM和DDR2 DIMM的主機闆上,不會出現将記憶體插錯插槽的問題。
3、RIMM
RIMM是Rambus公司生産的RDRAM記憶體所采用的接口類型,RIMM記憶體與DIMM的外型尺寸差不多,金手指同樣也是雙面的。RIMM有也184 Pin的針腳,在金手指的中間部分有兩個靠的很近的卡口。RIMM非ECC版有16位資料寬度,ECC版則都是18位寬。由于RDRAM記憶體較高的價格,此類記憶體在DIY市場很少見到,RIMM接口也就難得一見了。