2014年3月20日 星期四

Memory Speed的計算

最近為了Memory speed搞得很混亂,這裡稍微整理一下相關的計算。
透過RW的SPD,列出Memory整塊256 Bytes的內容,根據Annex K: Serial Presence Detect (SPD) for DDR3 SDRAM Modules SPD Revision 1.0.pdf介紹,需要用到Byte 0x09、0x0A、0x0B、0x0C、0x22的位置來計算Memory speed,如畫面中紅色框框的位置。

以下分別是個位置的說明:
Byte 0x09

Byte 0x0A與Byte 0x0B

Byte 0x0C

看完以上位置的敘述,是否會計算Memory speed呢?相信一定很多人都還是搞不清楚如何計算出相關數據,以下就列出計算Memory speed的公式。

tXX = tXX(MTB) * MTB + tXX(FTB) * FTB
以上公式如何得出的,這裡就不介紹了,以上述公式推演出我們所需的公式,如下
tCKmin = tCKmin(MTB) * MTB + tCKmin(FTB) * FTB

照RW的內容,我們來計算這條Memory的speed,如下:
tCKmin(MTB) = 0x0C (Byte0x0C)
MTB = 0x01/0x08 = 0.125 (ns) (Byte0x0A/0x0B)
tCKmin(FTB) = 0x00 (Byte0x022)
FTB = 5/2 = 0.0025(ns) (Byte0x09)
tCKmin = 0x0C*0.125(ns) + 0x00*0.0025(ns) = 1.5(ns)
Data rate = 2/1.5(ns) = 1333 (MB/s)
I/O bus Clock = 1/1.5(ns) = 667 (MHz)

以下整理常見DDR3 Memory的規格:
tCKmin
(MTB units)
Byte12
MTB(ns)
Byte10/Byte11
tCKmin Offset
(FTB units)
Byte 34
FTB (ns)
Byte9
tCKmin Result (ns)
Data rate (MB/s)
I/O bus Clock (MHz)
20
0x14
0.125
0
0
0.001
20*0.125+(0*0.001) = 12.5
DD3 – 800
1/(12.5*10-9)
2/(12.5*10-9)
400MHz clock
15
0x0xF
0.125
0
0
0.001
15*0.125+(0*0.001) = 1.875
DD3 – 1066
1/(1.875 *10-9)
2/(1.875*10-9)
533MHz clock
12
0x0C
0.125
0
0
0.001
12*0.125+(0*0.001) = 1.5
DD3 – 1333
1/(1.5*10-9)
2/(1.5*10-9)
667MHz clock
10
0x0A
0.125
0
0
0.001
10*0.125+(0*0.001) = 1.25
DD3 – 1600
1/(1.25*10-9)
2/(1.25*10-9)
800MHz clock
9
0x09
0.125
-54
0xCA
0.001
9*0.125+(-54*0.001) = 1.071
DD3 – 1866
1/(1.071*10-9)
2/(1.071*10-9)
933MHz clock
8
0x08
0.125
-62
0xC2
0.001
8*0.125+(-62*0.001) = 0.938
DD3 – 2133
1/(0.938*10-9)
2/(0.938*10-9)
1067MHz clock

沒有留言:

張貼留言