DRAM與內(nèi)存基礎(chǔ)概念_第1頁
DRAM與內(nèi)存基礎(chǔ)概念_第2頁
DRAM與內(nèi)存基礎(chǔ)概念_第3頁
DRAM與內(nèi)存基礎(chǔ)概念_第4頁
DRAM與內(nèi)存基礎(chǔ)概念_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、SDRAM與內(nèi)存基礎(chǔ)概念一、SDRAM內(nèi)存模組與基本結(jié)構(gòu)我們平時看到的SDRAM都是以模組形式出現(xiàn),為什么要做成這種形式呢?這首先要接觸到兩個概念:物理Bank與芯片位寬。PC133時代的168pin SDRAM DIMM1、物理Bank傳統(tǒng)內(nèi)存系統(tǒng)為了保證CPU的正常工作,必須一次傳輸完CPU在一個傳輸周期內(nèi)所需要的數(shù)據(jù)。而CPU在一個傳輸周期能接受的數(shù)據(jù)容量就是CPU數(shù)據(jù)總線的位寬,單位是bit(位)。當(dāng)時控制內(nèi)存與CPU之間數(shù)據(jù)交換的北橋芯片也因此將內(nèi)存總線的數(shù)據(jù)位寬等同于CPU數(shù)據(jù)總線的位寬,而這個位寬就稱之為物理Bank(Physical Bank,下文簡稱P-Bank)的位寬。所以

2、,那時的內(nèi)存必須要組織成P-Bank來與CPU打交道。資格稍老的玩家應(yīng)該還記得Pentium剛上市時,需要兩條72pin的SIMM才能啟動,因為一條72pin -SIMM只能提供32bit的位寬,不能滿足Pentium的64bit數(shù)據(jù)總線的需要。直到168pin-SDRAM DIMM上市后,才可以使用一條內(nèi)存開機。下面將通過芯片位寬的講述來進一步解釋P-Bank的概念。不過要強調(diào)一點,P-Bank是SDRAM及以前傳統(tǒng)內(nèi)存家族的特有概念,在RDRAM中將以通道(Channel)取代,而對于像Intel E7500那樣的并發(fā)式多通道DDR系統(tǒng),傳統(tǒng)的P-Bank概念也不適用。2、芯片位寬上文已經(jīng)

3、講到SDRAM內(nèi)存系統(tǒng)必須要組成一個P-Bank的位寬,才能使CPU正常工作,那么這個P-Bank位寬怎么得到呢?這就涉及到了內(nèi)存芯片的結(jié)構(gòu)。每個內(nèi)存芯片也有自己的位寬,即每個傳輸周期能提供的數(shù)據(jù)量。理論上,完全可以做出一個位寬為64bit的芯片來滿足P-Bank的需要,但這對技術(shù)的要求很高,在成本和實用性方面也都處于劣勢。所以芯片的位寬一般都較小。臺式機市場所用的SDRAM芯片位寬最高也就是16bit,常見的則是8bit。這樣,為了組成P-Bank所需的位寬,就需要多顆芯片并聯(lián)工作。對于16bit芯片,需要4顆(416bit=64bit)。對于8bit芯片,則就需要8顆了。以上就是芯片位寬、

4、芯片數(shù)量與P-Bank的關(guān)系。P-Bank其實就是一組內(nèi)存芯片的集合,這個集合的容量不限,但這個集合的總位寬必須與CPU數(shù)據(jù)位寬相符。隨著計算機應(yīng)用的發(fā)展,一個系統(tǒng)只有一個P-Bank已經(jīng)不能滿足容量的需要。所以,芯片組開始可以支持多個P-Bank,一次選擇一個P-Bank工作,這就有了芯片組支持多少(物理)Bank的說法。而在Intel的定義中,則稱P-Bank為行(Row),比如845G芯片組支持4個行,也就是說它支持4個P-Bank。另外,在一些文檔中,也把P-Bank稱為Rank(列)?;氐介_頭的話題,DIMM是SDRAM集合形式的最終體現(xiàn),每個DIMM至少包含一個P-Bank的芯片集

5、合。在目前的DIMM標(biāo)準(zhǔn)中,每個模組最多可以包含兩個P-Bank的內(nèi)存芯片集合,雖然理論上完全可以在一個DIMM上支持多個P-Bank,比如SDRAM DIMM就有4個芯片選擇信號(Chip Select,簡稱片選或CS),理論上可以控制4個P-Bank的芯片集合。只是由于某種原因而沒有這么去做。比如設(shè)計難度、制造成本、芯片組的配合等。至于DIMM的面數(shù)與P-Bank數(shù)量的關(guān)系,在2001年2月的專題中已經(jīng)明確了,面數(shù)P-Bank數(shù),只有在知道芯片位寬的情況下,才能確定P-Bank的數(shù)量,大度256MB內(nèi)存就是明顯一例,而這種情況在Registered模組中非常普遍。有關(guān)內(nèi)存模組的設(shè)計,將在后

6、面的相關(guān)章節(jié)中繼續(xù)探討。二、SDRAM內(nèi)存芯片的內(nèi)部結(jié)構(gòu)1、邏輯Bank與芯片位寬講完SDRAM的外在形式,就該深入了解SDRAM的內(nèi)部結(jié)構(gòu)了。這里主要的概念就是邏輯Bank。簡單地說,SDRAM的內(nèi)部是一個存儲陣列。因為如果是管道式存儲(就如排隊買票),就很難做到隨機訪問了。陣列就如同表格一樣,將數(shù)據(jù)“填”進去,你可以它想象成一張表格。和表格的檢索原理一樣,先指定一個行(Row),再指定一個列(Column),我們就可以準(zhǔn)確地找到所需要的單元格,這就是內(nèi)存芯片尋址的基本原理。對于內(nèi)存,這個單元格可稱為存儲單元,那么這個表格(存儲陣列)叫什么呢?它就是邏輯Bank(Logical Bank,下

7、文簡稱L-Bank)。由于技術(shù)、成本等原因,不可能只做一個全容量的L-Bank,而且最重要的是,由于SDRAM的工作原理限制,單一的L-Bank將會造成非常嚴(yán)重的尋址沖突,大幅降低內(nèi)存效率(在后文中將詳細(xì)講述)。所以人們在SDRAM內(nèi)部分割成多個L-Bank,較早以前是兩個,目前基本都是4個,這也是SDRAM規(guī)范中的最高L-Bank數(shù)量。到了RDRAM則最多達到了32個,在最新DDR-的標(biāo)準(zhǔn)中,L-Bank的數(shù)量也提高到了8個。這樣,在進行尋址時就要先確定是哪個L-Bank,然后再在這個選定的L-Bank中選擇相應(yīng)的行與列進行尋址??梢妼?nèi)存的訪問,一次只能是一個L-Bank工作,而每次與北橋

8、交換的數(shù)據(jù)就是L-Bank存儲陣列中一個“存儲單元”的容量。在某些廠商的表述中,將L-Bank中的存儲單元稱為Word(此處代表位的集合而不是字節(jié)的集合)。L-Bank存儲陣列示意圖從前文可知,SDRAM內(nèi)存芯片一次傳輸率的數(shù)據(jù)量就是芯片位寬,那么這個存儲單元的容量就是芯片的位寬(也是L-Bank的位寬),但要注意,這種關(guān)系也僅對SDRAM有效,原因?qū)⒃谙挛闹姓f明。2、內(nèi)存芯片的容量現(xiàn)在我們應(yīng)該清楚內(nèi)存芯片的基本組織結(jié)構(gòu)了。那么內(nèi)存的容量怎么計算呢?顯然,內(nèi)存芯片的容量就是所有L-Bank中的存儲單元的容量總合。計算有多少個存儲單元和計算表格中的單元數(shù)量的方法一樣:存儲單元數(shù)量=行數(shù)列數(shù)(得到

9、一個L-Bank的存儲單元數(shù)量)L-Bank的數(shù)量在很多內(nèi)存產(chǎn)品介紹文檔中,都會用MW的方式來表示芯片的容量(或者說是芯片的規(guī)格/組織結(jié)構(gòu))。M是該芯片中存儲單元的總數(shù),單位是兆(英文簡寫M,精確值是,而不是),W代表每個存儲單元的容量,也就是SDRAM芯片的位寬(Width),單位是bit。計算出來的芯片容量也是以bit為單位,但用戶可以采用除以8的方法換算為字節(jié)(Byte)。比如8M8,這是一個8bit位寬芯片,有8M個存儲單元,總?cè)萘渴?4Mbit(8MB)。不過,MW是最簡單的表示方法。下圖則是某公司對自己內(nèi)存芯片的容量表示方法,這可以說是最正規(guī)的形式之一。業(yè)界正規(guī)的內(nèi)存芯片容量表示方

10、法我們可以計算一下,結(jié)果可以發(fā)現(xiàn)這三個規(guī)格的容量都是128Mbits,只是由于位寬的變化引起了存儲單元的數(shù)量變化。從這個例子就也可以看出,在相同的總?cè)萘肯?,位寬可以采用多種不同的設(shè)計。3、與芯片位寬相關(guān)的DIMM設(shè)計為什么在相同的總?cè)萘肯?,位寬會有多種不同的設(shè)計呢?這主要是為了滿足不同領(lǐng)域的需要?,F(xiàn)在大家已經(jīng)知道P-Bank的位寬是固定的,也就是說當(dāng)芯片位寬確定下來后,一個P-Bank中芯片的個數(shù)也就自然確定了,而前文講過P-Bank對芯片集合的位寬有要求,對芯片集合的容量則沒有任何限制。高位寬的芯片可以讓DIMM的設(shè)計簡單一些(因為所用的芯片少),但在芯片容量相同時,這種DIMM的容量就肯定

11、比不上采用低位寬芯片的模組,因為后者在一個P-Bank中可以容納更多的芯片。比如上文中那個內(nèi)存芯片容量標(biāo)識圖,容量都是128Mbit,合16MB。如果DIMM采用雙P-Bank+16bit芯片設(shè)計,那么只能容納8顆芯片,計128MB。但如果采用4bit位寬芯片,則可容納32顆芯片,計512MB。DIMM容量前后相差出4倍,可見芯片位寬對DIMM設(shè)計的重要性。因此,8bit位寬芯片是桌面臺式機上容量與成本之間平衡性較好的選擇,所以在市場上也最為普及,而高于16bit位寬的芯片一般用在需要更大位寬的場合,如顯卡等,至于4bit位寬芯片很明顯非常適用于大容量內(nèi)存應(yīng)用領(lǐng)域,基本不會在標(biāo)準(zhǔn)的Unbuff

12、ered 模組設(shè)計中出現(xiàn)。三、SDRAM的引腳與封裝內(nèi)存芯片要想工作,必須要與內(nèi)存控制器有所聯(lián)系,同時對于一個電氣元件,電源供應(yīng)也是必不可少的,而且數(shù)據(jù)的傳輸要有一個時鐘作為觸發(fā)參考。因此,SDRAM在封裝時就要留出相應(yīng)的引腳以供使用。電源與時鐘的引腳就不必多說了,現(xiàn)在我們可以想象一下,至少應(yīng)該有哪些控制引腳呢?我們從內(nèi)存尋址的步驟縷下來就基本明白了,從中我們也就能了解內(nèi)存工作的大體情況。這里需要說明的是,與DIMM一樣,SDRAM有著自己的業(yè)界設(shè)計規(guī)范,在一個容量標(biāo)準(zhǔn)下,SDRAM的引腳/信號標(biāo)準(zhǔn)不能只考慮一種位寬的設(shè)計,而是要顧及多種位寬,然后盡量給出一個通用的標(biāo)準(zhǔn),小位寬的芯片也許會空出

13、一些引腳,但高位寬的芯片可能就全部用上了。不過容量不同時,設(shè)計標(biāo)準(zhǔn)也會有所不同,一般的容量越小的芯片所需要的引腳也就越小。1、首先,我們知道內(nèi)存控制器要先確定一個P-Bank的芯片集合,然后才對這集合中的芯片進行尋址操作。因此要有一個片選的信號,它一次選擇一個P-Bank的芯片集(根據(jù)位寬的不同,數(shù)量也不同)。被選中的芯片將同時接收或讀取數(shù)據(jù),所以要有一個片選信號。2、接下來是對所有被選中的芯片進行統(tǒng)一的L-Bank的尋址,目前SDRAM中L-Bank的數(shù)量最高為4個,所以需要兩個L-Bank地址信號(22=4)。3、最后就是對被選中的芯片進行統(tǒng)一的行/列(存儲單元)尋址。地址線數(shù)量要根據(jù)芯片

14、的組織結(jié)構(gòu)分別設(shè)計了。但在相同容量下,行數(shù)不變,只有列數(shù)會根據(jù)位寬的而變化,位寬越大,列數(shù)越少,因為所需的存儲單元減少了。4、找到了存儲單元后,被選中的芯片就要進行統(tǒng)一的數(shù)據(jù)傳輸,那么肯定要有與位寬相同數(shù)量的數(shù)據(jù)I/O通道才行,所以肯定要有相應(yīng)數(shù)量的數(shù)據(jù)線引腳?,F(xiàn)在我們就基本知道了內(nèi)存芯片的一些信號引腳,下圖就是一個簡單的SDRAM示意圖,大家可以詳細(xì)看看。圖注:128Mbit芯片不同位寬的引腳圖(NC代表未使用,-表示與內(nèi)側(cè)位寬設(shè)計相同)根據(jù)SDRAM的官方規(guī)范,臺式機上所用的SDRAM在不同容量下的各種位寬封裝標(biāo)準(zhǔn)如下:四、SDRAM的內(nèi)部基本操作與工作時序上文我們已經(jīng)了解了SDRAM所用

15、到的基本信號線路,下面就看看它們在SDRAM芯片內(nèi)部是怎么“布置”的,并從這里開始深入了解內(nèi)存的基本操作與過程,在這一節(jié)中我們將接觸到有天書之稱的時序圖,但不要害怕,根據(jù)文中的指導(dǎo)慢慢理解,您肯定可以看懂它。首先,我們先認(rèn)識一下SDRAM的內(nèi)部結(jié)構(gòu),然后再開始具體的講述。128Mbit(32M4)SDRAM內(nèi)部結(jié)構(gòu)圖1、芯片初始化可能很多人都想象不到,在SDRAM芯片內(nèi)部還有一個邏輯控制單元,并且有一個模式寄存器為其提供控制參數(shù)。因此,每次開機時SDRAM都要先對這個控制邏輯核心進行初始化。有關(guān)預(yù)充電和刷新的含義在下文有講述,關(guān)鍵的階段就在于模式寄存器(MR,Mode Register)的設(shè)置

16、,簡稱MRS(MR Set),這一工作由北橋芯片在BIOS的控制下進行,寄存器的信息由地址線來提供。SDRAM在開機時的初始化過程SDRAM模式寄存器所控制的操作參數(shù):地址線提供不同的0/1信號來獲得不同的參數(shù)。在設(shè)置到MR之后,就開始了進入正常的工作狀態(tài),圖中相關(guān)參數(shù)將結(jié)合下文具體講述2、行有效初始化完成后,要想對一個L-Bank中的陣列進行尋址,首先就要確定行(Row),使之處于活動狀態(tài)(Active),然后再確定列。雖然之前要進行片選和L-Bank的定址,但它們與行有效可以同時進行。行有效時序圖從圖中可以看出,在CS#、L-Bank定址的同時,RAS(Row Address Strobe

17、,行地址選通脈沖)也處于有效狀態(tài)。此時An地址線則發(fā)送具體的行地址。如圖中是A0-A11,共有12個地址線,由于是二進制表示法,所以共有4096個行(212=4096),A0-A11的不同數(shù)值就確定了具體的行地址。由于行有效的同時也是相應(yīng)L-Bank有效,所以行有效也可稱為L-Bank有效。3、列讀寫行地址確定之后,就要對列地址進行尋址了。但是,地址線仍然是行地址所用的A0-A11(本例)。沒錯,在SDRAM中,行地址與列地址線是共用的。不過,讀/寫的命令是怎么發(fā)出的呢?其實沒有一個信號是發(fā)送讀或?qū)懙拿鞔_命令的,而是通過芯片的可寫狀態(tài)的控制來達到讀/寫的目的。顯然WE#信號就是一個關(guān)鍵。WE#

18、無效時,當(dāng)然就是讀取命令。SDRAM基本操作命令, 通過各種控制/地址信號的組合來完成(H代表高電平,L代表低電平,X表示高低電平均沒有影響)。此表中,除了自刷新命令外,所有命令都是默認(rèn)CKE有效。對于自刷新命令,下文有詳解列尋址信號與讀寫命令是同時發(fā)出的。雖然地址線與行尋址共用,但CAS(Column Address Strobe,列地址選通脈沖)信號則可以區(qū)分開行與列尋址的不同,配合A0-A9,A11(本例)來確定具體的列地址。讀寫操作示意圖,讀取命令與列地址一塊發(fā)出(當(dāng)WE#為低電平是即為寫命令)然而,在發(fā)送列讀寫命令時必須要與行有效命令有一個間隔,這個間隔被定義為tRCD,即RAS t

19、o CAS Delay(RAS至CAS延遲),大家也可以理解為行選通周期,這應(yīng)該是根據(jù)芯片存儲陣列電子元件響應(yīng)時間(從一種狀態(tài)到另一種狀態(tài)變化的過程)所制定的延遲。tRCD是SDRAM的一個重要時序參數(shù),可以通過主板BIOS經(jīng)過北橋芯片進行調(diào)整,但不能超過廠商的預(yù)定范圍。廣義的tRCD以時鐘周期(tCK,Clock Time)數(shù)為單位,比如tRCD=2,就代表延遲周期為兩個時鐘周期,具體到確切的時間,則要根據(jù)時鐘頻率而定,對于PC100 SDRAM,tRCD=2,代表20ns的延遲,對于PC133則為15ns。tRCD=3的時序圖4、數(shù)據(jù)輸出(讀)在選定列地址后,就已經(jīng)確定了具體的存儲單元,剩

20、下的事情就是數(shù)據(jù)通過數(shù)據(jù)I/O通道(DQ)輸出到內(nèi)存總線上了。但是在CAS發(fā)出之后,仍要經(jīng)過一定的時間才能有數(shù)據(jù)輸出,從CAS與讀取命令發(fā)出到第一筆數(shù)據(jù)輸出的這段時間,被定義為CL(CAS Latency,CAS潛伏期)。由于CL只在讀取時出現(xiàn),所以CL又被稱為讀取潛伏期(RL,Read Latency)。CL的單位與tRCD一樣,為時鐘周期數(shù),具體耗時由時鐘頻率決定。不過,CAS并不是在經(jīng)過CL周期之后才送達存儲單元。實際上CAS與RAS一樣是瞬間到達的,但CAS的響應(yīng)時間要更快一些。為什么呢?假設(shè)芯片位寬為n個bit,列數(shù)為c,那么一個行地址要選通nc個存儲體,而一個列地址只需選通n個存儲

21、體。但存儲體中晶體管的反應(yīng)時間仍會造成數(shù)據(jù)不可能與CAS在同一上升沿觸發(fā),肯定要延后至少一個時鐘周期。由于芯片體積的原因,存儲單元中的電容容量很小,所以信號要經(jīng)過放大來保證其有效的識別性,這個放大/驅(qū)動工作由S-AMP負(fù)責(zé),一個存儲體對應(yīng)一個S-AMP通道。但它要有一個準(zhǔn)備時間才能保證信號的發(fā)送強度(事前還要進行電壓比較以進行邏輯電平的判斷),因此從數(shù)據(jù)I/O總線上有數(shù)據(jù)輸出之前的一個時鐘上升沿開始,數(shù)據(jù)即已傳向S-AMP,也就是說此時數(shù)據(jù)已經(jīng)被觸發(fā),經(jīng)過一定的驅(qū)動時間最終傳向數(shù)據(jù)I/O總線進行輸出,這段時間我們稱之為tAC(Access Time from CLK,時鐘觸發(fā)后的訪問時間)。t

22、AC的單位是ns,對于不同的頻率各有不同的明確規(guī)定,但必須要小于一個時鐘周期,否則會因訪問時過長而使效率降低。比如PC133的時鐘周期為7.5ns,tAC則是5.4ns。需要強調(diào)的是,每個數(shù)據(jù)在讀取時都有tAC,包括在連續(xù)讀取中,只是在進行第一個數(shù)據(jù)傳輸?shù)耐瑫r就開始了第二個數(shù)據(jù)的tAC。CL=2與tAC示意圖CL的數(shù)值不能超出芯片的設(shè)計規(guī)范,否則會導(dǎo)致內(nèi)存的不穩(wěn)定,甚至開不了機(超頻的玩家應(yīng)該有體會),而且它也不能在數(shù)據(jù)讀取前臨時更改。CL周期在開機初始化過程中的MRS階段進行設(shè)置,在BIOS中一般都允許用戶對其調(diào)整,然后BIOS控制北橋芯片在開機時通過A4-A6地址線對MR中CL寄存器的信息

23、進行更改。不過,從存儲體的結(jié)構(gòu)圖上可以看出,原本邏輯狀態(tài)為1的電容在讀取操作后,會因放電而變?yōu)檫壿?。所以,以前的DRAM為了在關(guān)閉當(dāng)前行時保證數(shù)據(jù)的可靠性,要對存儲體中原有的信息進行重寫,這個任務(wù)由數(shù)據(jù)所經(jīng)過的刷新放大器來完成,它根據(jù)邏輯電平狀態(tài),將數(shù)據(jù)進行重寫(邏輯0時就不重寫),由于這個操作與數(shù)據(jù)的輸出是同步進行互不沖突,所以不會產(chǎn)生新的重寫延遲。后來通過技術(shù)的改良,刷新放大器被取消,其功能由S-AMP取代,因為在讀取時它會保持?jǐn)?shù)據(jù)的邏輯狀態(tài),起到了一個Cache的作用,再次讀取時由它直接發(fā)送即可,不用再進行新的尋址輸出,此時數(shù)據(jù)重寫操作則可在預(yù)充電階段完成。5、數(shù)據(jù)輸入(寫)數(shù)據(jù)寫入的

24、操作也是在tRCD之后進行,但此時沒有了CL(記住,CL只出現(xiàn)在讀取操作中),行尋址與列尋址的時序圖和上文一樣,只是在列尋址時,WE#為有效狀態(tài)。數(shù)據(jù)寫入的時序圖從圖中可見,由于數(shù)據(jù)信號由控制端發(fā)出,輸入時芯片無需做任何調(diào)校,只需直接傳到數(shù)據(jù)輸入寄存器中,然后再由寫入驅(qū)動器進行對存儲電容的充電操作,因此數(shù)據(jù)可以與CAS同時發(fā)送,也就是說寫入延遲為0。不過,數(shù)據(jù)并不是即時地寫入存儲電容,因為選通三極管(就如讀取時一樣)與電容的充電必須要有一段時間,所以數(shù)據(jù)的真正寫入需要一定的周期。為了保證數(shù)據(jù)的可靠寫入,都會留出足夠的寫入/校正時間(tWR,Write Recovery Time),這個操作也被

25、稱作寫回(Write Back)。tWR至少占用一個時鐘周期或再多一點(時鐘頻率越高,tWR占用周期越多),有關(guān)它的影響將在下文進一步講述。6、突發(fā)長度突發(fā)(Burst)是指在同一行中相鄰的存儲單元連續(xù)進行數(shù)據(jù)傳輸?shù)姆绞?,連續(xù)傳輸所涉及到存儲單元(列)的數(shù)量就是突發(fā)長度(Burst Lengths,簡稱BL)。在目前,由于內(nèi)存控制器一次讀/寫P-Bank位寬的數(shù)據(jù),也就是8個字節(jié),但是在現(xiàn)實中小于8個字節(jié)的數(shù)據(jù)很少見,所以一般都要經(jīng)過多個周期進行數(shù)據(jù)的傳輸。上文講到的讀/寫操作,都是一次對一個存儲單元進行尋址,如果要連續(xù)讀/寫就還要對當(dāng)前存儲單元的下一個單元進行尋址,也就是要不斷的發(fā)送列地址與

26、讀/寫命令(行地址不變,所以不用再對行尋址)。雖然由于讀/寫延遲相同可以讓數(shù)據(jù)的傳輸在I/O端是連續(xù)的,但它占用了大量的內(nèi)存控制資源,在數(shù)據(jù)進行連續(xù)傳輸時無法輸入新的命令,效率很低(早期的FPE/EDO內(nèi)存就是以這種方式進行連續(xù)的數(shù)據(jù)傳輸)。為此,人們開發(fā)了突發(fā)傳輸技術(shù),只要指定起始列地址與突發(fā)長度,內(nèi)存就會依次地自動對后面相應(yīng)數(shù)量的存儲單元進行讀/寫操作而不再需要控制器連續(xù)地提供列地址。這樣,除了第一筆數(shù)據(jù)的傳輸需要若干個周期(主要是之前的延遲,一般的是tRCD+CL)外,其后每個數(shù)據(jù)只需一個周期的即可獲得。在很多北橋芯片的介紹中都有類似于X-1-1-1的字樣,就是指這個意思,其中的X代表就

27、代表第一筆數(shù)據(jù)所用的周期數(shù)。非突發(fā)連續(xù)讀取模式:不采用突發(fā)傳輸而是依次單獨尋址,此時可等效于BL=1。雖然可以讓數(shù)據(jù)是連續(xù)的傳輸,但每次都要發(fā)送列地址與命令信息,控制資源占用極大突發(fā)連續(xù)讀取模式:只要指定起始列地址與突發(fā)長度,尋址與數(shù)據(jù)的讀取自動進行,而只要控制好兩段突發(fā)讀取命令的間隔周期(與BL相同)即可做到連續(xù)的突發(fā)傳輸至于BL的數(shù)值,也是不能隨便設(shè)或在數(shù)據(jù)進行傳輸前臨時決定。在上文講到的初始化過程中的MRS階段就要對BL進行設(shè)置。目前可用的選項是1、2、4、8、全頁(Full Page),常見的設(shè)定是4和8。順便說一下,BL能否更改與北橋芯片的設(shè)計有很大關(guān)系,不是每個北橋都能像調(diào)整CL那

28、樣來調(diào)整BL。某些芯片組的BL是定死而不可改的,比如Intel芯片組的BL基本都為4,所以在相應(yīng)的主板BIOS中也就不會有BL的設(shè)置選項。而由于目前的SDRAM系統(tǒng)的數(shù)據(jù)傳輸是以64bit/周期進行,所以在一些BIOS也把BL用QWord(4字,即64bit)來表示。如4QWord就是BL=4。另外,在MRS階段除了要設(shè)定BL數(shù)值之外,還要具體確定讀/寫操作的模式以及突發(fā)傳輸?shù)哪J健M话l(fā)讀/突發(fā)寫,表示讀與寫操作都是突發(fā)傳輸?shù)?,每次讀/寫操作持續(xù)BL所設(shè)定的長度,這也是常規(guī)的設(shè)定。突發(fā)讀/單一寫,表示讀操作是突發(fā)傳輸,寫操作則只是一個個單獨進行。突發(fā)傳輸模式代表著突發(fā)周期內(nèi)所涉及到的存儲單元的

29、傳輸順序。順序傳輸是指從起始單元開始順序讀取。假如BL=4,起始單元編號是n,順序就是n、n+1、n+2、n+3。交錯傳輸就是打亂正常的順序進行數(shù)據(jù)傳輸(比如第一個進行傳輸?shù)膯卧莕,而第二個進行傳輸?shù)膯卧莕+2而不是n+1),至于交錯的規(guī)則在SDRAM規(guī)范中有詳細(xì)的定義表,但在這此出于必要性與篇幅的考慮就不列出了。7、預(yù)充電由于SDRAM的尋址具體獨占性,所以在進行完讀寫操作后,如果要對同一L-Bank的另一行進行尋址,就要將原來有效(工作)的行關(guān)閉,重新發(fā)送行/列地址。L-Bank關(guān)閉現(xiàn)有工作行,準(zhǔn)備打開新行的操作就是預(yù)充電(Precharge)。預(yù)充電可以通過命令控制,也可以通過輔助設(shè)

30、定讓芯片在每次讀寫操作之后自動進行預(yù)充電。實際上,預(yù)充電是一種對工作行中所有存儲體進行數(shù)據(jù)重寫,并對行地址進行復(fù)位,同時釋放S-AMP(重新加入比較電壓,一般是電容電壓的1/2,以幫助判斷讀取數(shù)據(jù)的邏輯電平,因為S-AMP是通過一個參考電壓與存儲體位線電壓的比較來判斷邏輯值的),以準(zhǔn)備新行的工作。具體而言,就是將S-AMP中的數(shù)據(jù)回寫,即使是沒有工作過的存儲體也會因行選通而使存儲電容受到干擾,所以也需要S-AMP進行讀后重寫。此時,電容的電量(或者說其產(chǎn)生的電壓)將是判斷邏輯狀態(tài)的依據(jù)(讀取時也需要),為此要設(shè)定一個臨界值,一般為電容電量的1/2,超過它的為邏輯1,進行重寫,否則為邏輯0,不進

31、行重寫(等于放電)。為此,現(xiàn)在基本都將電容的另一端接入一個指定的電壓(即1/2電容電壓),而不是接地,以幫助重寫時的比較與判斷?,F(xiàn)在我們再回過頭看看讀寫操作時的命令時序圖,從中可以發(fā)現(xiàn)地址線A10控制著是否進行在讀寫之后當(dāng)前L-Bank自動進行預(yù)充電,這就是上文所說的“輔助設(shè)定”。而在單獨的預(yù)充電命令中,A10則控制著是對指定的L-Bank還是所有的L-Bank(當(dāng)有多個L-Bank處于有效/活動狀態(tài)時)進行預(yù)充電,前者需要提供L-Bank的地址,后者只需將A10信號置于高電平。在發(fā)出預(yù)充電命令之后,要經(jīng)過一段時間才能允許發(fā)送RAS行有效命令打開新的工作行,這個間隔被稱為tRP(Prechar

32、ge command Period,預(yù)充電有效周期)。和tRCD、CL一樣,tRP的單位也是時鐘周期數(shù),具體值視時鐘頻率而定。讀取時預(yù)充電時序圖:圖中設(shè)定:CL=2、BL=4、tRP=2。自動預(yù)充電時的開始時間與此圖一樣,只是沒有了單獨的預(yù)充電命令,并在發(fā)出讀取命令時,A10地址線要設(shè)為高電平(允許自動預(yù)充電)??梢娍刂坪妙A(yù)充電啟動時間很重要,它可以在讀取操作結(jié)束后立刻進入新行的尋址,保證運行效率。8、刷新之所以稱為DRAM,就是因為它要不斷進行刷新(Refresh)才能保留住數(shù)據(jù),因此它是DRAM最重要的操作。刷新操作與預(yù)充電中重寫的操作一樣,都是用S-AMP先讀再寫。但為什么有預(yù)充電操作還

33、要進行刷新呢?因為預(yù)充電是對一個或所有L-Bank中的工作行操作,并且是不定期的,而刷新則是有固定的周期,依次對所有行進行操作,以保留那些久久沒經(jīng)歷重寫的存儲體中的數(shù)據(jù)。但與所有L-Bank預(yù)充電不同的是,這里的行是指所有L-Bank中地址相同的行,而預(yù)充電中各L-Bank中的工作行地址并不是一定是相同的。那么要隔多長時間重復(fù)一次刷新呢?目前公認(rèn)的標(biāo)準(zhǔn)是,存儲體中電容的數(shù)據(jù)有效保存期上限是64ms(毫秒,1/1000秒),也就是說每一行刷新的循環(huán)周期是64ms。這樣刷新速度就是:行數(shù)量/64ms。我們在看內(nèi)存規(guī)格時,經(jīng)常會看到4096 Refresh Cycles/64ms或8192 Refr

34、esh Cycles/64ms的標(biāo)識,這里的4096與8192就代表這個芯片中每個L-Bank的行數(shù)。刷新命令一次對一行有效,發(fā)送間隔也是隨總行數(shù)而變化,4096行時為15.625s(微秒,1/1000毫秒),8192行時就為7.8125s。刷新操作分為兩種:自動刷新(Auto Refresh,簡稱AR)與自刷新(Self Refresh,簡稱SR)。不論是何種刷新方式,都不需要外部提供行地址信息,因為這是一個內(nèi)部的自動操作。對于AR, SDRAM內(nèi)部有一個行地址生成器(也稱刷新計數(shù)器)用來自動的依次生成行地址。由于刷新是針對一行中的所有存儲體進行,所以無需列尋址,或者說CAS在RAS之前有效

35、。所以,AR又稱CBR(CAS Before RAS,列提前于行定位)式刷新。由于刷新涉及到所有L-Bank,因此在刷新過程中,所有L-Bank都停止工作,而每次刷新所占用的時間為9個時鐘周期(PC133標(biāo)準(zhǔn)),之后就可進入正常的工作狀態(tài),也就是說在這9 個時鐘期間內(nèi),所有工作指令只能等待而無法執(zhí)行。64ms之后則再次對同一行進行刷新,如此周而復(fù)始進行循環(huán)刷新。顯然,刷新操作肯定會對SDRAM的性能造成影響,但這是沒辦法的事情,也是DRAM相對于SRAM(靜態(tài)內(nèi)存,無需刷新仍能保留數(shù)據(jù))取得成本優(yōu)勢的同時所付出的代價。SR則主要用于休眠模式低功耗狀態(tài)下的數(shù)據(jù)保存,這方面最著名的應(yīng)用就是STR(

36、Suspend to RAM,休眠掛起于內(nèi)存)。在發(fā)出AR命令時,將CKE置于無效狀態(tài),就進入了SR模式,此時不再依靠系統(tǒng)時鐘工作,而是根據(jù)內(nèi)部的時鐘進行刷新操作。在SR期間除了CKE之外的所有外部信號都是無效的(無需外部提供刷新指令),只有重新使CKE有效才能退出自刷新模式并進入正常操作狀態(tài)。9、數(shù)據(jù)掩碼在講述讀/寫操作時,我們談到了突發(fā)長度。如果BL=4,那么也就是說一次就傳送464bit的數(shù)據(jù)。但是,如果其中的第二筆數(shù)據(jù)是不需要的,怎么辦?還都傳輸嗎?為了屏蔽不需要的數(shù)據(jù),人們采用了數(shù)據(jù)掩碼(Data I/O Mask,簡稱DQM)技術(shù)。通過DQM,內(nèi)存可以控制I/O端口取消哪些輸出或輸

37、入的數(shù)據(jù)。這里需要強調(diào)的是,在讀取時,被屏蔽的數(shù)據(jù)仍然會從存儲體傳出,只是在“掩碼邏輯單元”處被屏蔽。DQM由北橋控制,為了精確屏蔽一個P-Bank位寬中的每個字節(jié),每個DIMM有8個DQM信號線,每個信號針對一個字節(jié)。這樣,對于4bit位寬芯片,兩個芯片共用一個DQM信號線,對于8bit位寬芯片,一個芯片占用一個DQM信號,而對于16bit位寬芯片,則需要兩個DQM引腳。SDRAM官方規(guī)定,在讀取時DQM發(fā)出兩個時鐘周期后生效,而在寫入時,DQM與寫入命令一樣是立即成效。讀取時數(shù)據(jù)掩碼操作,DQM在兩個周期后生效,突發(fā)周期的第二筆數(shù)據(jù)被取消寫入時數(shù)據(jù)掩碼操作,DQM立即生效,突發(fā)周期的第二筆

38、數(shù)據(jù)被取消有關(guān)內(nèi)存內(nèi)部的基本操作就到此結(jié)束,其實還有很多內(nèi)存的操作沒有描述,但都不是很重要了,限于篇幅與必要性,我們不在此介紹,有興趣的讀者可以自行查看相關(guān)資料。五、倉庫物語貨物基地(主板)連接著物資(數(shù)據(jù))的供求方?;氐呢浳镎{(diào)度廠房(北橋芯片)掌管著若干個用于臨時供貨/生產(chǎn)與存儲的倉庫基地(P-Bank),它們通常隸屬于某一倉儲集團(DIMM),這種基地與調(diào)度廠房之間必須由64條傳送帶聯(lián)系著(P-Bank位寬),每條傳送帶一次只能運送一個標(biāo)準(zhǔn)的貨物(1bit數(shù)據(jù)),而且一次至少要傳送64個標(biāo)準(zhǔn)貨物,這是它們之間的約定,倉庫基地必須滿足。上圖就是這樣的一個倉庫基地(P-Bank),它由4個大

39、倉庫(內(nèi)存芯片)組成,它們的規(guī)模都相當(dāng)大,每個大倉庫為基地提供16條傳送帶(芯片位寬為16bit),總共加起來剛好就是64條。每個大倉庫里都有四個規(guī)模和結(jié)構(gòu)相同的子倉庫(L-Bank),它們都被統(tǒng)一編了號。而子倉庫中有很多層(行),每層里又有很多的儲藏間(列),每個儲藏間可以放置16個標(biāo)準(zhǔn)貨物,雖然子倉庫的規(guī)模很大,但每一層和每一個房間也都編好了號,而且每一層都有一個搬運工在值班。 為了與外界聯(lián)系方便,倉儲集團與調(diào)度室設(shè)置了專線電話,和一個國家一樣,每個倉庫基地有一個區(qū)號(片選),另外還有四個子倉庫號碼(L-Bank地址),是所有大倉庫共享的,一個號碼對應(yīng)所有大倉庫中編號相同的子倉庫。而專線電話的數(shù)量也是四個,這樣可保證與某個子倉庫通話時不會妨礙給其他子倉庫打電話。在子倉庫的每層則設(shè)立分機給搬運工使用。子倉庫的樓下就是傳送帶,找到貨物把它扔到上面。但每個大倉庫只有一個傳送帶,也就是說同一時間內(nèi)只能有一個子倉庫在工作。每個子倉庫都有一個自己的生產(chǎn)車間(讀出放大器)負(fù)責(zé)指定貨物的生產(chǎn),并且每個大倉庫都有一個外運站(數(shù)據(jù)輸出寄存器)和寄存托運處(數(shù)據(jù)輸入寄存器與寫入驅(qū)動器)與傳送帶相連,前者負(fù)責(zé)貨物的輸出中轉(zhuǎn),后者負(fù)責(zé)所接受貨物并寄存然后幫助搬運工運送到指定儲藏間。那么它是如何與調(diào)度廠房協(xié)同工作的呢?1、需求方有貨物請求了,這個請求發(fā)送到調(diào)度廠房,調(diào)度人員開根據(jù)貨

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論