内存時序

内存時序

内存條參數
内存時序是描述内存條性能的一種參數,一般存儲在内存條的SPD中。[1]可通過參數手動設置。
    中文名:内存時序 外文名:Memory timings或RAM timings 别名: 公司:英瑞 來源:内存條

參數簡介

存取時序

上面的表格展示的是一次普通的DRAM存儲周期。首先,行地址信息會被送到DRAM中,經曆了tRCD這段時間之後,行地址已經進行了“選通”。由于現今的存儲器一般是SDRAM,我們可以一次多多個列提取信息,而每一次讀取需要tCAS(R)這麼多的時間。當列操作結束時,DRAM需要tRP這麼多的時間進行預充電,以便為下一次存取操作做準備。而一般來說,tRAS>tRCD+tCAS+2,這是因為需要留足夠的時間給存取的數據去“流動”。經過這樣的了解,我們可以通俗的理解這幾個參數:

tCAS:列尋址所需要的時鐘周期(周期的數量表示延遲的長短)

tRCD:行尋址和列尋址時鐘周期的差值

tRP:在下一個存儲周期到來前,預充電需要的時鐘周期

tRAS:對某行的數據進行存儲時,從操作開始到尋址結束需要的總時間周期

BIOS參數手動設置

一、内存延遲時序“CL-tRCD-tRP-tRAS”的設置

首先,需要在BIOS中打開手動設置,在BIOS設置中找到“DRAMTimingSelectable”,BIOS設置中可能出現的其他描述有:AutomaticConfiguration、DRAMAuto、TimingSelectable、TimingConfiguringBySPD等,将其值設為“Manual”(視BIOS的不同可能的選項有:On/Off或Enable/Disable),如果要調整内存時序,應該先打開手動設置,之後會自動出現詳細的時序參數列表:

CommandPerClock(CPC)

可選的設置:Auto,Enable(1T),Disable(2T)。

CommandPerClock(CPC:指令比率,也有翻譯為:首命令延遲),一般還被描述為DRAMCommandRate、CMDRate等。由于DDR内存的尋址,先要進行P-Bank的選擇(通過DIMM上CS片選信号進行),然後才是L-Bank/行激活與列地址的選擇。這個參數的含義就是指在P-Bank選擇完之後多少時間可以發出具體的尋址的L-Bank/行激活命令,單位是時鐘周期。

顯然,也是越短越好。但當随着主闆上内存模組的增多,控制芯片組的負載也随之增加,過短的命令間隔可能會影響穩定性。因此當你的内存插得很多而出現不太穩定的時間,才需要将此參數調長。大部分主闆都會自動設置這個參數。

該參數的默認值為Disable(2T),如果玩家的内存質量很好,則可以将其設置為Enable(1T)。

CASLatencyControl(tCL)

可選的設置:Auto,1,1.5,2,2.5,3,3.5,4,4.5。

一般我們在查閱内存的時序參數時,如“3-4-4-8”這一類的數字序列,上述數字序列分别對應的參數是“CL-tRCD-tRP-tRAS”。這個3就是第1個參數,即CL參數。

CASLatencyControl(也被描述為tCL、CL、CASLatencyTime、CASTimingDelay),CASlatency是“内存讀寫操作前列地址控制器的潛伏時間”。CAS控制從接受一個指令到執行指令之間的時間。因為CAS主要控制十六進制的地址,或者說是内存矩陣中的列地址,所以它是最為重要的參數,在穩定的前提下應該盡可能設低。

内存是根據行和列尋址的,當請求觸發後,最初是tRP(RowPrecharge),預充電後,内存才真正開始初始化RAS。一旦tRAS激活後,RAS(RowAddressStrobe)開始進行需要數據的尋址。首先是行地址,然後行列轉換tRCD(RAStoCASDelay),接着通過CAS(ColumnAddressStrobe)訪問所需數據的精确十六進制地址。期間從CAS開始到CAS結束就是CAS延遲。所以CAS是找到數據的最後一個步驟,也是内存參數中最重要的。

這個參數控制内存接收到一條數據讀取指令後要等待多少個時鐘周期才實際執行該指令。同時該參數也決定了在一次内存突發傳送過程中完成第一部分傳送所需要的時鐘周期數。這個參數越小,則内存的速度越快。必須注意部分内存不能運行在較低的延遲,可能會丢失數據,因此在提醒大家把CAS延遲設為2或2.5的同時,如果不穩定就隻有進一步提高它了。而且提高延遲能使内存運行在更高的頻率,所以需要對内存超頻時,應該試着提高CAS延遲。

該參數對内存性能的影響最大,在保證系統穩定性的前提下,CAS值越低,則會導緻更快的内存讀寫操作。CL值為2為會獲得最佳的性能,而CL值為3可以提高系統的穩定性。注意,WinbondBH-5/6芯片可能無法設為3。

RAStoCASDelay(tRCD)

可選的設置:Auto,0,1,2,3,4,5,6,7。

該值就是“3-4-4-8”内存時序參數中的第2個參數,即第1個4。RAStoCASDelay(也被描述為:tRCD、ActivetoCMD),表示"行尋址到列尋址延遲時間",數值越小,性能越好。對内存進行讀、寫或刷新操作時,需要在這兩種脈沖信号之間插入延遲時鐘周期。在JEDEC規範中,它是排在第二的參數,降低此延時,可以提高系統性能。建議該值設置為3或2,但如果該值設置太低,同樣會導緻系統不穩定。該值為4時,系統将處于最穩定的狀态,而該值為5,則太保守。

如果你的内存的超頻性能不佳,則可将此值設為内存的默認值或嘗試提高tRCD值。

MinRASActiveTiming(tRAS)

可選的設置:Auto,00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15。

該值就是該值就是“3-4-4-8”内存時序參數中的最後一個參數,即8。MinRASActiveTime(也被描述為:tRAS、ActivetoPrechargeDelay、RowActiveTime、PrechargeWaitState、RowActiveDelay、RowPrechargeDelay、RASActiveTime),表示“内存行有效至預充電的最短周期”,調整這個參數需要結合具體情況而定,一般我們最好設在5-10之間。這個參數要根據實際情況而定,并不是說越大或越小就越好。

如果tRAS的周期太長,系統會因為無謂的等待而降低性能。降低tRAS周期,則會導緻已被激活的行地址會更早的進入非激活狀态。如果tRAS的周期太短,則可能因缺乏足夠的時間而無法完成數據的突發傳輸,這樣會引發丢失數據或損壞數據。該值一般設定為CASlatency+tRCD+2個時鐘周期。如果你的CASlatency的值為2,tRCD的值為3,則最佳的tRAS值應該設置為7個時鐘周期。為提高系統性能,應盡可能降低tRAS的值,但如果發生内存錯誤或系統死機,則應該增大tRAS的值。

如果使用DFI的主闆,則tRAS值建議使用00,或者5-10之間的值。

RowPrechargeTiming(tRP)

可選的設置:Auto,0,1,2,3,4,5,6,7。

該值就是“3-4-4-8”内存時序參數中的第3個參數,即第2個4。RowPrechargeTiming(也被描述為:tRP、RASPrecharge、Prechargetoactive),表示"内存行地址控制器預充電時間",預充電參數越小則内存讀寫速度就越快。

tRP用來設定在另一行能被激活之前,RAS需要的充電時間。tRP參數設置太長會導緻所有的行激活延遲過長,設為2可以減少預充電時間,從而更快地激活下一行。然而,想要把tRP設為2對大多數内存都是個很高的要求,可能會造成行激活之前的數據丢失,内存控制器不能順利地完成讀寫操作。對于桌面計算機來說,推薦預充電參數的值設定為2個時鐘周期,這是最佳的設置。如果比此值低,則會因為每次激活相鄰緊接着的bank将需要1個時鐘周期,這将影響DDR内存的讀寫性能,從而降低性能。隻有在tRP值為2而出現系統不穩定的情況下,将此值設定為3個時鐘周期。

如果使用DFI的主闆,則tRP值建議2-5之間的值。值為2将獲取最高的性能,該值為4将在超頻時獲取最佳的穩定性,同樣的而該值為5,則太保守。大部分内存都無法使用2的值,需要超頻才可以達到該參數。

RowCycleTime(tRC)

可選的設置:Auto,7-22,步幅值1。

RowCycleTime(tRC、RC),表示“SDRAM行周期時間”,它是包括行單元預充電到激活在内的整個過程所需要的最小的時鐘周期數。

其計算公式是:rowcycletime(tRC)=minimumrowactivetime(tRAS)+rowprechargetime(tRP)。因此,設置該參數之前,你應該明白你的tRAS值和tRP值是多少。如果tRC的時間過長,會因在完成整個時鐘周期後激活新的地址而等待無謂的延時,而降低性能。然後一旦該值設置過小,在被激活的行單元被充分充電之前,新的周期就可以被初始化。

在這種情況下,仍會導緻數據丢失和損壞。因此,最好根據tRC=tRAS+tRP進行設置,如果你的内存模塊的tRAS值是7個時鐘周期,而tRP的值為4個時鐘周期,則理想的tRC的值應當設置為11個時鐘周期。

RowRefreshCycleTime(tRFC)

可選的設置:Auto,9-24,步幅值1。

RowRefreshCycleTime(tRFC、RFC),表示“SDRAM行刷新周期時間”,它是行單元刷新所需要的時鐘周期數。該值也表示向相同的bank中的另一個行單元兩次發送刷新指令(即:REF指令)之間的時間間隔。tRFC值越小越好,它比tRC的值要稍高一些。

如果使用DFI的主闆,通常tRFC的值不能達到9,而10為最佳設置,17-19是内存超頻建議值。建議從17開始依次遞減來測試該值。大多數穩定值為tRC加上2-4個時鐘周期。

RowtoRowDelay(RAStoRASdelay)(tRRD)

可選的設置:Auto,0-7,每級以1的步幅遞增。

RowtoRowDelay,也被稱為RAStoRASdelay(tRRD),表示"行單元到行單元的延時"。該值也表示向相同的bank中的同一個行單元兩次發送激活指令(即:REF指令)之間的時間間隔。tRRD值越小越好。

延遲越低,表示下一個bank能更快地被激活,進行讀寫操作。然而,由于需要一定量的數據,太短的延遲會引起連續數據膨脹。于桌面計算機來說,推薦tRRD值設定為2個時鐘周期,這是最佳的設置,此時的數據膨脹可以忽視。隻有在tRRD值為2而出現系統不穩定的情況下,将此值設定為3個時鐘周期。

如果使用DFI的主闆,則tRRD值為00是最佳性能參數,4超頻内存時能達到最高的頻率。通常2是最合适的值,00看上去很奇怪,但有人也能穩定運行在00-260MHz。

WriteRecoveryTime(tWR)

可選的設置:Auto,2,3。

WriteRecoveryTime(tWD),表示“寫恢複延時”。該值說明在一個激活的bank中完成有效的寫操作及預充電前,必須等待多少個時鐘周期。這段必須的時鐘周期用來确保在預充電發生前,寫緩沖中的數據可以被寫進内存單元中。同樣的,過低的tWD雖然提高了系統性能,但可能導緻數據還未被正确寫入到内存單元中,就發生了預充電操作,會導緻數據的丢失及損壞。

如果你使用的是DDR200和266的内存,建議将tWR值設為2;如果使用DDR333或DDR400,則将tWD值設為3。如果使用DFI的主闆,則tWR值建議為2。

WritetoReadDelay(tWTR)

可選的設置:Auto,1,2。

WritetoReadDelay(tWTR),表示“讀到寫延時”。三星公司稱其為“TCDLR(lastdataintoreadcommand)”,即最後的數據進入讀指令。它設定向DDR内存模塊中的同一個單元中,在最後一次有效的寫操作和下一次讀操作之間必須等待的時鐘周期。

tWTR值為2在高時鐘頻率的情況下,降低了讀性能,但提高了系統穩定性。這種情況下,也使得内存芯片運行于高速度下。換句話說,增加tWTR值,可以讓内容模塊運行于比其默認速度更快的速度下。如果使用DDR266或DDR333,則将tWTR值設為1;如果使用DDR400,則也可試着将tWTR的值設為1,如果系統不穩定,則改為2。

RefreshPeriod(tREF)

可選的設置:Auto,0032-4708,其步進值非固定。

RefreshPeriod(tREF),表示“刷新周期”。它指内存模塊的刷新周期。

先請看不同的參數在相同的内存下所對應的刷新周期(單位:微秒,即:一百萬分之一秒)。?号在這裡表示該刷新周期尚無對應的準确數據。

1552=100mhz(?.?s)

2064=133mhz(?.?s)

2592=166mhz(?.?s)

3120=200mhz(?.?s)

---------------------

3632=100mhz(?.?s)

4128=133mhz(?.?s)

4672=166mhz(?.?s)

0064=200mhz(?.?s)

---------------------

0776=100mhz(?.?s)

1032=133mhz(?.?s)

1296=166mhz(?.?s)

1560=200mhz(?.?s)

---------------------

1816=100mhz(?.?s)

2064=133mhz(?.?s)

2336=166mhz(?.?s)

0032=200mhz(?.?s)

---------------------

0388=100mhz(15.6us)

0516=133mhz(15.6us)

0648=166mhz(15.6us)

0780=200mhz(15.6us)

---------------------

0908=100mhz(7.8us)

1032=133mhz(7.8us)

1168=166mhz(7.8us)

0016=200mhz(7.8us)

---------------------

1536=100mhz(3.9us)

2048=133mhz(3.9us)

2560=166mhz(3.9us)

3072=200mhz(3.9us)

---------------------

3684=100mhz(1.95us)

4196=133mhz(1.95us)

4708=166mhz(1.95us)

0128=200mhz(1.95us)

如果采用Auto選項,主闆BIOS将會查詢内存上的一個很小的、名為“SPD”(SerialPresenceDetect)的芯片。SPD存儲了内存條的各種相關工作參數等信息,系統會自動根據SPD中的數據中最保守的設置來确定内存的運行參數。如過要追求最優的性能,則需手動設置刷新周期的參數。一般說來,15.6us适用于基于128兆位内存芯片的内存(即單顆容量為16MB的内存),而7.8us适用于基于256兆位内存芯片的内存(即單顆容量為32MB的内存)。注意,如果tREF刷新周期設置不當,将會導緻内存單元丢失其數據。

另外根據其他的資料顯示,内存存儲每一個bit,都需要定期的刷新來充電。不及時充電會導緻數據的丢失。DRAM實際上就是電容器,最小的存儲單位是bit。陣列中的每個bit都能被随機地訪問。但如果不充電,數據隻能保存很短的時間。因此我們必須每隔15.6us就刷新一行。每次刷新時數據就被重寫一次。正是這個原因DRAM也被稱為非永久性存儲器。一般通過同步的RAS-only的刷新方法(行刷新),每行每行的依次刷新。早期的EDO内存每刷新一行耗費15.6us的時間。因此一個2Kb的内存每列的刷新時間為15.6?sx2048行=32ms。

如果使用DFI的主闆,tREF和tRAS一樣,不是一個精确的數值。通常15.6us和3.9us都能穩定運行,1.95us會降低内存帶寬。很多玩家發現,如果内存質量優良,當tREF刷新周期設置為3120=200mhz(?.?s)時,會得到最佳的性能/穩定性比。

WriteCAS#Latency(tWCL)

可選的設置:Auto,1-8

WriteCASLatency(tWCL),表示“寫指令到行地址控制器延時”。SDRAM内存是随機訪問的,這意味着内存控制器可以把數據寫入任意的物理地址,大多數情況下,數據通常寫入距離當前列地址最近的頁面。tWCL表示寫入的延遲,除了DDRII,一般可以設為1T,這個參數和大家熟悉的tCL(CAS-Latency)是相對的,tCL表示讀的延遲。

DRAMBankInterleave

可選的設置:Enable,Disable

DRAMBankInterleave,表示“DRAMBank交錯”。這個設置用來控制是否啟用内存交錯式(interleave)模式。Interleave模式允許内存bank改變刷新和訪問周期。一個bank在刷新的同時另一個bank可能正在訪問。最近的實驗表明,由于所有的内存bank的刷新周期都是交叉排列的,這樣會産生一種流水線效應。

雖然interleave模式隻有在不同bank提出連續的的尋址請求時才會起作用,如果處于同一bank,數據處理時和不開啟interleave一樣。CPU必須等待第一個數據處理結束和内存bank的刷新,這樣才能發送另一個地址。所有的内存都支持interleave模式,在可能的情況下我們建議打開此項功能。

對于DFI主闆來說,任何情況下該設置都應該是Enable,可以增大内存的帶寬。Disable對将減少内存的帶寬,但使系統更加穩定。

DQSSkewControl

可選的設置:Auto,IncreaseSkew,DecreaseSkew

DQSSkewControl,表示“DQS時間差控制”。穩定的電壓可以使内存達到更高的頻率,電壓浮動會引起較大的時間差(skew),加強控制力可以減少skew,但相應的DQS(數據控制信号)上升和下降的邊緣會出現電壓過高或過低。一個額外的問題是高頻信号會引起追蹤延遲。DDR内存的解決方法是通過簡單數據選通脈沖來增加時鐘推進。

DDRII引進了更先進的技術:雙向的微分I/O緩存器來組成DQS。微分表示用一個簡單脈沖信号和一個參考點來測量信号,而并非信号之間相互比較。理論上提升和下降信号應該是完全對成的,但事實并非如此。時鐘和數據的失諧就産生了DQ-DQSskew。

如下圖所示。

對于DFI主闆來說,建議設置為IncreaseSkew可以提升性能,而DecreaseSkew在犧牲一定性能的情況下,可以增加穩定性。

DQSSkewValue

可選的設置:Auto,0-255,步進值為1。

當我們開啟了DQSskewcontrol後,該選項用來設定增加或減少的數值。這個參數對系統的影響并不很敏感。對于DFI主闆來說,開啟"IncreaseSkew"選項後,可以将該值設為50-255之間的值。值越大,表示速度越快。

DRAMDriveStrength

可選的設置:Auto,1-8,步進值為1。

DRAMDriveStrength(也被稱為:drivingstrength),表示“DRAM驅動強度”。這個參數用來控制内存數據總線的信号強度,數值越高代表信号強度越高,增加信号強度可以提高超頻的穩定性。但是并非信号強度高就一定好,三星的TCCD内存芯片在低強度信号下性能更佳。

如果設為Auto,系統通常會設定為一個較低的值。對使用TCCD的芯片而言,表現會好一些。但是其他的内存芯片就并非如此了,根據在DFINF4主闆上調試和測試的結果,1、3、5、7都是性能較弱的參數,其中1是最弱的。2、4、6、8是正常的設置,8提供了最強的信号強度。TCCD建議參數為3、5或7,其他芯片的内存建議設為6或8。

DFI用戶建議設置:TCCD建議參數為3、5、7,其他芯片的内存建議設為6或8。

DRAMDataDriveStrength

可選的設置:Auto,1-4,步進值為1。

DRAMDataDriveStrength表示“DRAM數據驅動強度”。這個參數決定内存數據總線的信号強度,數值越高代表信号強度越高。它主要用于處理高負荷的内存讀取時,增加DRAM的駕馭能力。因此,如果你的系統内存的讀取負荷很高,則應将該值設置為高(Hi/High)。它有助于對内存數據總線超頻。但如果你并沒有超頻,提升内存數據線的信号強度,可以提高超頻後速度的穩定性。此外,提升内存數據總線的信号強度并不能增強SDRAMDIMM的性能。因此,除非你内存有很高的讀取負荷或試圖超頻DIMM,建議設置DRAMDataDriveStrength的值為低(Lo/Low)。

要處理大負荷的數據流時,需要提高内存的駕馭能力,你可以設為Hi或者High。超頻時,調高此項參數可以提高穩定性。此外,這個參數對内存性能幾乎沒什麼影響。所以,除非超頻,一般用戶建議設為Lo/Low。

DFI用戶建議設置:普通用戶建議使用level1或3,如果開啟了CPC,可能任何高于1的參數都會不穩定。部分用戶開啟CPC後能運行在3。更多的人關閉CPC後2-4都能夠穩定運行。當然最理想的參數是開啟CPC後設為level4。

StrengthMaxAsyncLatency

可選的設置:Auto,0-15,步進值為1。

StrengthMaxAsyncLatency暫時還沒能找到任何關于此項參數的說明,不知道其功能。感覺網友的經驗,在進行Everest的LatencyTest時,可以看出一些差别。在我的BH-6上,參數從8ns到7ns在LatencyTest的測試結果中有1ns的區别。從7ns調低6ns後,測試結果又減少了2ns。

DFI主闆建議設置:BIOS中的默認值為7ns,建議大家在5-10之間調節。6ns對内存的要求就比較高了,建議使用BH-5和UTT芯片的用戶可以嘗試一下,但對TCCD不适用。7ns的要求低一些,UTT和BH-5設為7n比較适合超頻。8ns對UTT和BH-5就是小菜一碟,8ns時TCCD通常能穩定運行在DDR600,如果想超頻到DDR640就必須設為9ns甚至更高了。

ReadPreambleTime

可選的設置:Auto,2.0-9.5,步進值為0.5。

ReadPreambleTime這個參數表示DQS(數據控制信号)返回後,DQS又被開啟時的時間間隔。Samsung早期的顯存資料顯示,這個參數是用以提升性能的。DQS信号是雙向的,無論從圖形控制器到DDRSGRAM還是從DDRSGRAM到圖形控制器都起作用。

DFI主闆建議設置:BIOS中的該值設置為Auto時,實際上此時執行的是默認值5.0。建議大家在4.0-7.0之間調節,該值越小越好。

IdleCycleLimit

可選的設置:Auto,0-256,無固定步進值。

IdleCycleLimit這個參數表示“空閑周期限制”。這個參數指定強制關閉一個也打開的内存頁面之前的memclock數值,也就是讀取一個内存頁面之前,強制對該頁面進行重充電操作所允許的最大時間。

DFI主闆建議設置:BIOS中的該值設置為Auto時,實際上此時執行的是默認值256。質量好的内存可以嘗試16-32,華邦(WINBOND)BH-5顆粒的産品能穩定運行在16。IdleCycleLimit值越低越好。

DynamicCounter

可選的設置:Auto,Enable,Disable。

DynamicCounter這個參數表示“動态計數器”。這個參數指定開啟還是關閉動态空閑周期計數器。如果選擇開啟(Enable),則會每次進入内存頁表(PageTable)就強制根據頁面沖突和頁面錯誤(conflict/pagemiss:PC/PM)之間通信量的比率而動态調整IdleCycleLimit的值。這個參數和前一個IdleCycleLimit是密切相關的,啟用後會屏蔽掉當前的IdleCycleLimit,并且根據沖突的發生來動态調節。

DFI主闆建議設置:BIOS中的該值設置為Auto和關閉和一樣的。打開該設置可能會提升性能,而關閉該設置,可以使系統的更穩定。

R/WQueueBypass

可選的設置:Auto,2x,4x,8x,16x。

R/WQueueBypass表示“讀/寫隊列忽略”。這個參數指定在優化器被重寫及DCI(設備控制接口:DeviceControlInterface)最後一次的操作被選定前,忽略操作DCI的讀/寫隊列的時間。這個參數和前一個IdleCycleLimit是相類似,隻是優化器影響内存中的讀/寫隊列。

DFI主闆建議設置:BIOS中的該值默認為16x。如果你的系統穩定,則保留該值。但如果不穩定,或者要超頻,就隻有降低到8x甚至更低的4x或2x。該值越大,則說明系統性能越強,該值越小,則會是系統越穩定。

BypassMax

可選的設置:Auto,0x-7x,步進值為1。

BypassMax表示“最大忽略時間”。這個參數表示優化器選擇否決之前,最後進入DCQ(DependenceChainQueue)的可以被優化器忽略的時間。仔細研究後,我覺得這個參數會影響内存到CPU内存控制器的連接。

DFI主闆建議設置:BIOS中的該值默認為7x。建議4x或7x,兩者都提供了很好的性能及穩定性。32ByteGranulation

可選的設置:Auto,Disable(8burst),Enable(4burst)。

32ByteGranulation表示"32位顆粒化"。當該參數設置為關閉(Disable)時,就可以選擇突發計數器,并在32位的數據存取的情況下,最優化數據總線帶寬。因此該參數關閉後可以達到最佳性能的目的。

DFI主闆建議設置:絕大多數情況下,建議選擇Disable(8burst)選項。開啟Enable(4burst)可以使系統更穩定一些。

上一篇:順祝商祺

下一篇:風清氣正

相關詞條

相關搜索

其它詞條