![存儲器及接口設(shè)計(jì)_第1頁](http://file4.renrendoc.com/view/27bb6b5399ca5e2c61f28bd9a7507309/27bb6b5399ca5e2c61f28bd9a75073091.gif)
![存儲器及接口設(shè)計(jì)_第2頁](http://file4.renrendoc.com/view/27bb6b5399ca5e2c61f28bd9a7507309/27bb6b5399ca5e2c61f28bd9a75073092.gif)
![存儲器及接口設(shè)計(jì)_第3頁](http://file4.renrendoc.com/view/27bb6b5399ca5e2c61f28bd9a7507309/27bb6b5399ca5e2c61f28bd9a75073093.gif)
![存儲器及接口設(shè)計(jì)_第4頁](http://file4.renrendoc.com/view/27bb6b5399ca5e2c61f28bd9a7507309/27bb6b5399ca5e2c61f28bd9a75073094.gif)
![存儲器及接口設(shè)計(jì)_第5頁](http://file4.renrendoc.com/view/27bb6b5399ca5e2c61f28bd9a7507309/27bb6b5399ca5e2c61f28bd9a75073095.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
存儲器及接口設(shè)計(jì)3.1概述存儲器(Memory)是計(jì)算機(jī)系統(tǒng)中用來存放程序和數(shù)據(jù)的硬件設(shè)備?,F(xiàn)代計(jì)算機(jī)系統(tǒng)中的全部信息,比如輸人的原始數(shù)據(jù)、計(jì)算機(jī)程序、中間運(yùn)行結(jié)果和最終運(yùn)行結(jié)果都保存在存儲器中,是計(jì)算機(jī)系統(tǒng)不可或缺的功能部件。計(jì)算機(jī)系統(tǒng)的存儲器可分為兩大類,即主存儲器(內(nèi)存)和輔助存儲器(外存),主存儲器的速度遠(yuǎn)快于輔助存儲器。主存通過總線與微處理器連接,用來存放正在執(zhí)行的程序和正在處理的數(shù)據(jù):輔存通過接口電路和主機(jī)連接,用來存放暫時沒有被執(zhí)行的程序和還沒有被處理的數(shù)據(jù)。CPU可以直接訪問內(nèi)存,但訪問外存時必須先把要訪問的信息從外存讀到內(nèi)存的速度雖然比外存快,但遠(yuǎn)遠(yuǎn)跟不上CPU的速度。為彌補(bǔ)主存和CPU之間的速度差異,可以在CPU和內(nèi)存之間增加高速緩沖存儲器(Cache)。另外,為了提高運(yùn)算速度,在CPU內(nèi)部還設(shè)置了少量容量相對較小的高速存儲部件,即寄存器(Register)。這些寄存器在程序運(yùn)行過程中可用來暫存指令、數(shù)據(jù)和地址等信息。這樣,在現(xiàn)代計(jì)算機(jī)系統(tǒng)中就形成了輔存、主存、高速緩存、寄存器這樣的4層存儲結(jié)構(gòu)。存儲器分類層次結(jié)構(gòu)如圖3.1所示。各級存儲器參數(shù)比較如表3.1所示。表3.1各級存儲器參數(shù)比較圖3.1存儲器分類層次結(jié)構(gòu)名稱位置速度容量價格寄存器CPU內(nèi)部與CPU同速幾十字節(jié)或字高CacheL1CPU內(nèi)部與CPU同速1~64KB高L2CPU內(nèi)部或外部與CPU同速或稍慢≤4MB高主存主板內(nèi)比Cache慢,比輔存快比L2大,比輔存小較高磁盤主板外,微機(jī)系統(tǒng)內(nèi)慢理論上無限大低移動存儲器微機(jī)系統(tǒng)外慢理論上無限大低需要注意的是,一個存儲系統(tǒng)的容量往往比較大,單一存儲芯片的存儲單元的個數(shù)及數(shù)據(jù)寬度往往不能滿足存儲系統(tǒng)的要求,這時還要采用存儲器接口技術(shù)來對所有存儲器芯片50微機(jī)原理與接口技術(shù)50的連接和控制進(jìn)行管理。本章主要介紹主存儲器技術(shù)、高速緩存技術(shù)和存儲器擴(kuò)展技術(shù)。3.2半導(dǎo)體存儲器分類及性能指標(biāo)3.2.1半導(dǎo)體存儲器的分類目前,輔助存儲器大多采用磁性材料作為存儲介質(zhì),雖然價格較低、容量很大,但速度相對較慢,因此對于主存來說,一般都會采用存取速度更快的半導(dǎo)體器件作為存儲介質(zhì)。主存儲器種類很多,分類也多種多樣。按設(shè)計(jì)電路可分為雙極型和MOS型存儲器;根據(jù)信息的存儲原理來分有靜態(tài)和動態(tài)存儲器;從信息的傳送方式來分有并行和串行存儲器。而最常見的分類方法是按信息的存取方式進(jìn)行劃分,即隨機(jī)存取存儲器RAM和只讀存儲器ROM。1.RAM的分類RAM是指當(dāng)計(jì)算機(jī)工作時,可隨機(jī)地對存儲器進(jìn)行讀出和寫人操作。RAM又可分為雙極型和MOS型兩大類。雙極型存取速度快,但功耗大、集成度低、單片容量小、成本高,因此一般都作為容量較小但速度要求很高的高速緩沖存儲器;與雙極型RAM相比,MOS型RAM具有功耗低、集成度高、單片容量大、成本低等特點(diǎn),但存取速度相對較慢。MOS型RAM又可以分為靜態(tài)RAM(SRAM)和動態(tài)RAM(DRAM)兩種,其存儲原理將在后面小節(jié)中進(jìn)行詳細(xì)講解。2.ROM的分類ROM是指存儲器內(nèi)容是事先寫人的,計(jì)算機(jī)正常工作時只能讀出不能寫人。一旦寫人信息,就不能輕易改變,掉電后信息也不會丟失。按制作工藝和使用特性,ROM可分為4種:掩膜式只讀存儲器(MaskROM)、可編程只讀存儲器(Programmab1eROM)、紫外線可擦除可編程只讀存儲器(Erasab1eProgrammab1eROM)和電可擦除可編程只讀存儲器(E1ectrica1yErasab1eProgrammab1eROM)。半導(dǎo)體存儲器的分類如圖3.2所示。3.2.2半導(dǎo)體存儲器的性能指標(biāo)隨著現(xiàn)代計(jì)算機(jī)系統(tǒng)的發(fā)展,存儲系統(tǒng)的性能從某種意義上來說決定著整個計(jì)算機(jī)系統(tǒng)的性能。主要原因是建立在存儲程序概念基礎(chǔ)之上的現(xiàn)代計(jì)算機(jī)系統(tǒng)在運(yùn)行過程中的訪存操作約占中央處理器(CPU)時間的70%左右。因此,存儲器組織與管理方法的好壞會直接影響到整機(jī)效率。存儲器的容量、速度、帶寬等性能越來越成為影響計(jì)算機(jī)系統(tǒng)性能的1.存儲容量在微型計(jì)算機(jī)系統(tǒng)中,存儲器以一個字節(jié)作為一個存儲單元。存儲器可以容納的存儲單元總數(shù)稱為該存儲器的存儲容量。一般情況下,存儲容量的單位為B(BYTE,字節(jié)),1B=8b。但由于計(jì)算機(jī)的存儲容量都很大,因此常以KB(210字節(jié))、MB(220字節(jié))、GB(230字圖3.2半導(dǎo)體存儲器分類節(jié))、TB(240字節(jié))、PB(250字節(jié))、EB(260字節(jié))、YB(270字節(jié))、NB(280字節(jié))、DB(290字節(jié))等為單位。主存的容量越大,存儲的信息量也就越大,計(jì)算機(jī)運(yùn)行的速度一般也就越快。存儲一位二進(jìn)制信息的單元稱為一個基本存儲元。對于1MB的存儲器,其內(nèi)部有220個存儲單元,220×8個基本存儲元。在標(biāo)定某存儲器芯片的容量時,經(jīng)常同時標(biāo)出存儲單元的個數(shù)和每個存儲單元的位數(shù),即存儲器芯片容量=存儲單元個數(shù)×存儲單元位數(shù)例如,1nte162256芯片的容量為215×8b,表示該種芯片的存儲單元個數(shù)為215,每個存儲單元8位,總?cè)萘繛?2KB。2.速度計(jì)算機(jī)運(yùn)行過程中要不斷與主存進(jìn)行信息交換,因此主存的速度是衡量整個計(jì)算機(jī)系統(tǒng)運(yùn)行速度的一項(xiàng)重要指標(biāo)。存儲器芯片的速度通常用訪問時間或存取周期來衡量。存取周期(memorycyc1etime)又稱讀/寫周期,是指存儲器從接收到地址到完成讀出或?qū)懭瞬僮鞯臅r間。在一般情況下存取周期越短,計(jì)算機(jī)運(yùn)行的速度就越快。半導(dǎo)體存儲器的存取周期一般為幾至幾百納秒。3.帶寬存儲器帶寬(memorybandwidth)是指單位時間內(nèi)存儲器所存取的信息量。存儲器的帶寬決定了單位時間內(nèi)數(shù)據(jù)傳輸?shù)亩嗌?單位為位/秒(bps)或字節(jié)/秒(Bps)。帶寬可用以下公式計(jì)算,即帶寬=每個存取周期訪問位數(shù)/存取周期51如存取周期為500ns,每個存取周期可訪問16位,則它的帶寬為32Mb/s(或4MB/s),即32Mb/s514.可靠性3存儲器的可靠性是指對電磁場、溫度變化等因素造成干擾的抵抗能力,以及在高速運(yùn)轉(zhuǎn)時也能正確地存取。半導(dǎo)體存儲器內(nèi)部連線少、體積小3存儲器及接口設(shè)計(jì)微機(jī)原理與接口技術(shù)量的其他類型存儲器相比,其抗干擾能力較強(qiáng)。存儲器的可靠性可以用平均故障間隔時間來衡量。5.集成度52集成度是指在一塊數(shù)平方毫米的芯片上所制作的基本存儲元個數(shù),單位為"位/片”或"字節(jié)/片”。很顯然,存儲芯片的集成度越高,構(gòu)成相同容量的存儲器所需要的存儲芯片的數(shù)目就越少。MOS型存儲器的集成度高于雙極型的存儲器,動態(tài)存儲器的集成度高于靜態(tài)存儲器52目前,30nm等級制造工藝的應(yīng)用使得存儲芯片單片容量已經(jīng)達(dá)到了4GB,單根PC內(nèi)存條的容量達(dá)到了32GB。6.功耗半導(dǎo)體存儲器屬于大規(guī)模集成電路,集成度高,體積小,不容易散熱,因此在保證存儲容量和速度的前提下應(yīng)盡量減小功耗。與雙極型存儲器相比,MOS型存儲器功耗更小。7.其他在存儲器性能上還應(yīng)考慮輸人輸出電平是否與外接電路兼容、使用是否方便靈活及性價比等其他因素。3.3隨機(jī)存儲器RAM3.3.1sRAM存儲器1.sRAM基本存儲元電路圖3.3所示為一個主要由6個MOS管組成的SRAM的基本存儲元及其讀、寫電路。圖3.3六管靜態(tài)存儲元電路圖3.3中,T1、T2、T3、T4、T5和T6這6個MOS管組成6管靜態(tài)存儲元。T1、T2、T3、T4組成了一個觸發(fā)器基本電路,其中T1和T2交叉耦合組成雙穩(wěn)態(tài)電路,T3和T4為負(fù)載管(相當(dāng)于T1和T2的負(fù)載電阻)。T5、T6、T7、T8起到開關(guān)作用,是存儲元讀出和寫人數(shù)據(jù)時的控制管,其中T5、T6受地址譯碼線X控制,T7、T8受地址譯碼線Y控制。需要注意的是,T5、T6、T7、T8并不包含在某個基本存儲元電路內(nèi),而是由存儲芯片內(nèi)同一列的所有存儲元電路所共有。下面舉例說明該6管靜態(tài)存儲元電路的讀、寫工作過程。讀數(shù)據(jù)時,X、Y地址譯碼線上的信號同時為高電平,使T5、T6、T7、T8均導(dǎo)通,這時A點(diǎn)電平通過T6和位線A及T8后作為讀出放大器輸人信號,在讀選擇有效時將數(shù)據(jù)讀出。如果原來A點(diǎn)為高電平,即存儲的是1,則讀出的是高電平;如果原來A點(diǎn)為低電平,即存儲的是0,則讀出的是低電平。寫數(shù)據(jù)時,不管觸發(fā)器原來狀態(tài)如何,只要將數(shù)據(jù)送到"寫人數(shù)據(jù),端,在寫選擇有效時,經(jīng)兩個寫放大器,使兩端輸出為相反電平。當(dāng)行、列地址選擇有效時,T5、T6、T7、T8均導(dǎo)通,會使A與B兩點(diǎn)置成完全相反的電平。例如,當(dāng)寫人數(shù)據(jù)"1,時,在兩個寫放大器和T7、T8兩個MOS管的作用下,位線A和位線B上分別出現(xiàn)高電平和低電平,再通過T6、T7兩個MOS管分別送到A點(diǎn)和B點(diǎn)。這時A點(diǎn)為高電平,B點(diǎn)為低電平,表示寫人了1。之后,雖然外部數(shù)據(jù)線上的數(shù)據(jù)信號撤銷,寫控制信號和地址譯碼線上的信號也都變?yōu)闊o效的低電平,但A、B兩點(diǎn)上的信號仍然可通過交叉耦合達(dá)到穩(wěn)定狀態(tài)。其原理為:A點(diǎn)高電平送到T1管的柵極,能讓T1管飽和導(dǎo)通,使得B點(diǎn)接地;B點(diǎn)低電平送到T2管的柵極,能讓T2管截止,使得A點(diǎn)通過負(fù)載管T4與電源VCC相連。只要不掉電,這一過程不斷重復(fù),最終達(dá)到穩(wěn)定狀態(tài)。通過上面的分析可以知道,靜態(tài)RAM是觸發(fā)器存儲信息,因此即使信息讀出后,它仍然會保持原來狀態(tài),信息也只需要寫人一次就能達(dá)到穩(wěn)定狀態(tài),不需要刷新,因此速度較快,主要應(yīng)用于高速緩沖存儲器。2.sRAM存儲器的組成SRAM由存儲元陣列、地址譯碼器和讀/寫控制以及數(shù)據(jù)驅(qū)動/緩沖幾個部分組成。一個典型的SRAM邏輯結(jié)構(gòu)如圖3.4所示。圖3.4典型SRAM邏輯結(jié)構(gòu)5533存儲器及接口設(shè)計(jì)微機(jī)原理與接口技術(shù)圖3.4是一個4K×8位的SRAM組成框圖。它有12條地址線,8條雙向數(shù)據(jù)線,可尋址的存儲單元有4K個,每個存儲單元存儲8位數(shù)據(jù)。存儲芯片中的CS為片選控制信號,R/為讀、寫控制信號。54對于較大容量的存儲器通常像圖3.4這樣把多個相同容量的存儲器芯片組成一組,各個字節(jié)(字)的同一位組織在同一片中。圖3.4中8個存儲容量都為4K×1位的芯片組成了一個4K×8位的存儲器,這8個芯片的片選輸人端連接在一起,使用時總是同時被選中或同時未被選中,從而實(shí)現(xiàn)8位數(shù)據(jù)同時讀出和寫人54另外,由于地址線數(shù)目有限,選擇存儲單元時必須經(jīng)過地址譯碼器生成各個芯片的片選信號。地址線的譯碼方式主要有兩種,即雙譯碼和單譯碼,如圖3.5和圖3.6所示。圖3.5雙譯碼方式圖3.6單譯碼方式雙譯碼也稱為復(fù)合譯碼,即將地址線分為兩組,分別送行地址譯碼器和列地址譯碼器進(jìn)行譯碼,由行列譯碼輸出同時選中的單元就是所訪問的存儲元或存儲單元。例如,圖3.5中行譯碼器譯碼輸出的X0和列譯碼器譯碼輸出的Y0同時選中的左上角的存儲元(存儲單元)就是要訪問的存儲元(存儲單元)。單譯碼也稱為線性譯碼,即所有地址線通過一個地址譯碼器譯碼輸出,每個譯碼輸出線直接選中一個存儲元或存儲單元。例如,10條地址線譯碼輸出后就會有1024條輸出線選擇存儲元或存儲單元。這種方式適用于容量不大的存儲芯片中。典型的SRAM芯片有1nte12114(1K×4b)、1nte16116(2K×8b)、1nte16264(8K×8b)、1nte162256(32K×8b)等。3.3.2DRAM存儲器DRAM芯片是利用電容是否充有電荷來存儲信息的,其基本存儲元電路一般由4管、3管或單管組成,以3管和單管比較常用。由于DRAM需要的MOS管較少,所以功耗低,容易擴(kuò)大每個存儲芯片的容量,在微機(jī)系統(tǒng)中應(yīng)用廣泛。1.DRAM基本存儲元電路圖3.7所示為一個主要由MOS管和電容器組成的動態(tài)RAM基本存儲元電路。讀數(shù)據(jù)時,使行列選擇線為高電平,兩個MOS管導(dǎo)通,若原來存儲的是"1”,則C上有電荷,這時C放電,會通過T管在位線(數(shù)據(jù)線)上產(chǎn)生電流,完成讀"1”操作;若讀"0”,則C不會放電,位線(數(shù)據(jù)線)上不會產(chǎn)生寫數(shù)據(jù)時,同樣使行列選擇線為高電平,兩個MOS管導(dǎo)通,若寫人1,位線(數(shù)據(jù)線)上加高電平,這時會對電容C進(jìn)行充電;若寫人"0”,位線上加低電平,如果原來C上有電荷(存儲的是"1”),就會通過位線進(jìn)行釋放,到達(dá)無電荷狀態(tài)(寫人0)。需要注意的是,這種單管MOS動態(tài)RAM的讀數(shù)圖3.7單管MOS動態(tài)RAM基本據(jù)過程是電容C的放電過程,是一種破壞性讀出,因此存儲元電路要想保持原有的信息,數(shù)據(jù)讀出后必須重寫。圖3.7中的刷新放大器在數(shù)據(jù)讀出后,會將原信息重新寫回到電容C中。DRAM存儲元以電容為基礎(chǔ),電路簡單,集成度高,功耗低,但需要額外的定時刷新操作,因此速度與SRAM相比相對較慢,適用于大容量存儲器,如內(nèi)存。2.DRAM存儲器的組成SRAM由存儲元陣列、地址譯碼器和讀/寫控制、數(shù)據(jù)驅(qū)動/緩沖、地址鎖存器和刷新控制電路幾個部分組成。一個典型的DRAM邏輯結(jié)構(gòu)如圖3.8所示。與SRAM相比,DRAM中增加了地址鎖存器和刷新控制電路。553DRAM芯片的容量相對較大,也就需要更多的地址線進(jìn)行訪問,但增多地址線無疑會導(dǎo)致芯片引腳數(shù)目增加。為解決這一問題,在DRAM中采用了分時傳送地址碼的技術(shù)。圖3.8中,要訪問1M×4b容量的DRAM存儲器需要20條地址線,但芯片引腳只提供了10條地址線,這10條地址線分時把低10位地址和高10位地址傳送到DRAM的行地址鎖存器和列地址鎖存器中進(jìn)行鎖存,之后在CPU發(fā)出的讀/寫控制命令作用下完成對某一存儲單元的讀/寫操作。這里地址信號要分兩次傳送553存儲器及接口設(shè)計(jì)微機(jī)原理與接口技術(shù)556圖3.8DRAM存儲器的邏輯結(jié)構(gòu)另外,由于DRAM的讀操作是破壞性的,再加上電容本身的漏電問題,必須對存儲芯片進(jìn)行定時刷新操作。例如,對于早期的128×128芯片,要求在2ms內(nèi)完成128行的刷新操作,這段時間叫做刷新周期或再生周期。隨著半導(dǎo)體芯片技術(shù)的發(fā)展,現(xiàn)在刷新周期最長可達(dá)8ms以上。3.DRAM的刷新方式刷新操作是逐行進(jìn)行的,相當(dāng)于一系列的讀和寫操作。當(dāng)某一行選擇信號為"1"時,選中了該行,電容上的信息送到刷新放大器,刷新放大器又對這些電容立即進(jìn)行重寫。由于刷新時列選擇信號總為"0",因此電容上的信息不可能被送到數(shù)據(jù)總線上,也就是說,刷新操作和正常的讀/寫操作不能同時進(jìn)行。按照再生操作的時機(jī),常見的刷新方式有集中式、分散式和異步式3種。1)集中式刷新集中式刷新是將刷新周期劃分為兩個部分,前一部分由CPU對存儲器進(jìn)行正常的讀/寫或維持操作,后一部分集中完成所有行的刷新操作,如圖3.9所示.圖3.9集中式刷新假設(shè)某DRAM刷新周期為2ms,存取周期為0.5以s(即刷新一行需要0.5以s),則刷新128行需要64以s。這段時間內(nèi)CPU不能對存儲器進(jìn)行正常的讀/寫操作,這段時間稱為CPU的"死區(qū)",或稱"死時間"。2)分散式刷新集中式刷新中存在"死區(qū)",盡管時間很短,但有些情況下仍然會影響系統(tǒng)效率。分散式刷新可以避免CPU較長時間不能正常讀/寫存儲器的問題。這種刷新方式是把對每行的刷新分散到每個讀/寫周期內(nèi)完成。把存儲周期分成兩部分,前半部分用于讀/寫或維持,后半部分用于刷新操作,每次刷新一行,如圖3.10所示。圖3.10分散式刷新這種刷新方式克服了"死區(qū)”的缺點(diǎn),但它有可能導(dǎo)致整機(jī)的工作效率下降。因?yàn)楸M管把刷新操作分散在讀/寫操作后,但每次刷新操作同樣需要一個讀/寫周期時間,結(jié)果使系統(tǒng)的存取周期增加了一倍。另外,這種方式也不利于充分利用所允許的最大刷新時間間隔,導(dǎo)致可能會產(chǎn)生頻繁刷新現(xiàn)象,這也降低了存儲器的存取速度。3)異步式刷新為真正提高整機(jī)的工作效率,可以采用集中式與分散式相結(jié)合的方式,把刷新操作平均分配到刷新周期內(nèi)進(jìn)行,既能克服"死區(qū)”,又能充分利用最大刷新間隔,如圖3.11所示。圖3.11異步刷新這種刷新方式每隔一定時間(刷新周期/行數(shù))刷新一行。例如,對于128×128的存儲芯片,刷新周期為2ms時,只需要每隔2ms/128=15.6以s刷新一行,而每行刷新的時間仍為讀/寫周期0.5以s,即刷新一行只停止一個讀/寫周期,"死區(qū)”大大縮短。3.3.3現(xiàn)代DRAM到目前為止,主存的基本核心部件仍然采用DRAM,這與高速發(fā)展的CPU技術(shù)形成了鮮明的對比,已經(jīng)成為整機(jī)性能發(fā)展的瓶頸。因此,人們相繼從提高時鐘頻率、帶寬和縮短存儲周期等方面開發(fā)了基于基本DRAM結(jié)構(gòu)的增強(qiáng)型的存儲芯片。1.FPMDRAM(FastPageModeDRAM)FPMDRAM為快速頁面切換模式動態(tài)隨機(jī)存取存儲器,是一種改良版的DRAM,在486時期曾被普遍應(yīng)用。傳統(tǒng)的DRAM在存取一位數(shù)據(jù)時,必須送出行地址和列地址各一次才能讀/寫數(shù)據(jù),而FPMDRAM在觸發(fā)了行地址后,如果CPU需要的地址在同一行內(nèi),則可以連續(xù)輸出列地址而不必再輸出行地址了。FPMDRAM每3個時鐘周期傳輸一次2.EDORAM(ExtendedDataOutputRAM)573EDORAM為擴(kuò)展數(shù)據(jù)輸出存儲器,是一種在RAM中加人一塊靜態(tài)RAM而生成的動態(tài)存儲器。因?yàn)镾RAM的訪問速度要快于DRAM,所以這會加快訪問內(nèi)存的速度。EDORAM有時作為二級緩存和ESDRAM(帶緩存的RAM)一起使用。EDORAM每2573存儲器及接口設(shè)計(jì)微機(jī)原理與接口技術(shù)3.sDRAM(synchronousDRAM)58SDRAM為同步動態(tài)隨機(jī)存儲器,它與系統(tǒng)時鐘以相同的速度同步工作,內(nèi)部命令的發(fā)送與數(shù)據(jù)的傳輸都以它為基準(zhǔn),可以實(shí)現(xiàn)數(shù)據(jù)隨機(jī)存取,整塊傳輸。SDRAM在每個時鐘周期的上升沿可傳輸一次數(shù)據(jù)584.DDRsDRAM(DoubIeDataRatesDRAM)DDRSDRAM即雙倍速率同步動態(tài)隨機(jī)存儲器,習(xí)慣簡稱DDR,就是市場上的DDR內(nèi)存。DDR內(nèi)存是在SDRAM內(nèi)存基礎(chǔ)上發(fā)展而來的,仍然沿用SDRAM生產(chǎn)體系,因此對于內(nèi)存廠商而言,只需將制造普通SDRAM的設(shè)備稍加改進(jìn),即可實(shí)現(xiàn)DDR內(nèi)存的生產(chǎn),可有效降低成本。DDR內(nèi)存每個時鐘周期內(nèi)可以傳輸兩次數(shù)據(jù),即能夠在時鐘的上升期和下降期各傳輸一次數(shù)據(jù),稱為雙倍速率同步動態(tài)隨機(jī)存儲器,因此與SDRAM相比可以達(dá)到更高的數(shù)據(jù)傳輸率。DDR2(Doub1eDataRate2)是DDRSDRAM的第二代產(chǎn)品,采用了諸多的新技術(shù),改善了DDR的諸多不足。DDR2與上一代DDR內(nèi)存技術(shù)標(biāo)準(zhǔn)最大的不同就是,雖然同是采用了在時鐘的上升/下降沿各傳送一次數(shù)據(jù)的基本方式,但DDR2內(nèi)存擁有兩倍于上一代DDR內(nèi)存預(yù)讀取能力(即4位數(shù)據(jù)預(yù)讀取)。換句話說,DDR2內(nèi)存每個時鐘能夠以4倍外部總線的速度讀/寫數(shù)據(jù),并且能夠以內(nèi)部控制總線4倍的速度運(yùn)行。此外,DDR2的耗電量更低,散熱性能更優(yōu)良。當(dāng)前市場上比較流行的是DDR3內(nèi)存。面向64位構(gòu)架的DDR3在頻率和速度(8位數(shù)據(jù)預(yù)讀取)上擁有更多的優(yōu)勢,同時還采用了根據(jù)溫度自動刷新、局部自刷新等其他一些功能,在功耗方面DDR3也要出色得多。現(xiàn)在,基于差分信號技術(shù)的DDR4內(nèi)存也即將浮出水面。DDR4內(nèi)存的傳輸速率可以達(dá)到1.6~3.2Gb/s,頻率最高可達(dá)4266MHz,1.2V的低電壓,擁有更好的對等保護(hù)和錯誤恢復(fù)等技術(shù)。最新消息顯示,DDR4內(nèi)存或于2014年首先用于服務(wù)器領(lǐng)域,然后再過一年半左右進(jìn)人桌面。除上述幾種芯片外,還先后出現(xiàn)了CDRAM、SLDRAM、RDRAM、并行型RDRAM、DirectRDRAM、PC100SDRAM、DRDRAM和VCM等增強(qiáng)型的DRAM芯片。3.4只讀存儲器ROMRAM存儲器具有易失性,掉電后數(shù)據(jù)將會丟失。然而,在實(shí)際應(yīng)用中常常還需要掉電后內(nèi)容不丟失的存儲器,半導(dǎo)體只讀存儲器ROM就具有這一功能。早期的ROM也可以分為雙極型和MOS型,但現(xiàn)在雙極型的早已被淘汰,所以這里只對MOS型ROM加以介紹。1.掩膜式只讀存儲器(MROM)MROM中的信息是芯片在生產(chǎn)時由生產(chǎn)廠家固化(掩膜)的,生產(chǎn)時需要專用的掩膜模具,制成以后不能擦除和修改。這種ROM往往會存儲一些特殊功能的程序或數(shù)據(jù),如早期的B1OS芯片就是用MROM實(shí)現(xiàn)的。這種存儲器可靠性高、成本低,一般適用于在大批量應(yīng)用的場合。MROM的存儲結(jié)構(gòu)如圖3.12所示。掩膜ROM基本存儲電路由單管組成,集成度高。圖3.12是一個4×4位MOS管MROM,采用單譯碼方式,兩位地址線A1和A0譯碼后可譯出4種狀態(tài),輸出4條選擇線,圖3.12MROM存儲結(jié)構(gòu)分別選中4個單元,每個單元有4個(位)輸出。存儲矩陣中,行列選擇線交叉有的連有MOS管,有的沒有,有MOS管表示存儲的信息為0,否則為1。2.可編程只讀存儲器(PROM)PROM通常是指用戶能夠進(jìn)行一次性編程寫人信息的ROM芯片,即芯片出廠時里面還沒有寫人任何信息,用戶使用時可以將自己的程序和數(shù)據(jù)通過專用的編程器寫人芯片中。但需要注意的是,這種寫人是"破壞性”的,也就是說,信息一旦寫人就不能再修改或刪除。PROM的成本比MROM高,信息寫人的速度比MROM要慢,一般只適用于少量需求的場合或是MROM批量生產(chǎn)前的試制。圖3.13是一個PROM的基本存儲元結(jié)構(gòu)。圖3.13中的熔絲一般采用鎳鉻熔絲,連接到存儲元件的發(fā)射極,出廠時所有存儲元的熔絲都是連著的,表示存儲的數(shù)據(jù)全是"1”。編程寫人時用足夠大的電流把熔絲燒斷表示寫人了數(shù)據(jù)"0”。當(dāng)讀取信息時,行線加高電平,三極管導(dǎo)通,如果熔絲未斷,列線會與VCC接通,即輸出高電平,表示讀出了1;否則輸出低電平,表示讀出了0。3.紫外線可擦除可編程只讀存儲器(EPROM)EPROM是紫外線可擦除可編程的只讀存儲器,解決了PROM芯片只能寫人一次的弊端。圖3.14是一個EPROM基本存儲元電路。圖3.13PROM的基本存儲元結(jié)構(gòu)559圖3.14EPROM基本存儲元電路圖3.14EPROM基本存儲元電路存儲器及接口設(shè)計(jì)微機(jī)原理與接口技術(shù)圖3.14(a)是一個P溝道浮柵MOS管結(jié)構(gòu)。它與普通P溝道MOS電路的區(qū)別就是柵極沒有引出線,稱為"浮柵”。EPROM芯片制造好后,柵極上沒有電荷,源極S和漏極D之間不導(dǎo)通,存儲的信息為1。60在編程寫人時,S和D之間加+12V或+25V的正電壓(不同芯片,該電壓要求不同)和編程脈沖,使得在漏極與襯底之間反向偏置的PN結(jié)被迅速擊穿,于是有高能電子通過極薄的SiO2絕緣層注人到浮柵上。當(dāng)高電壓去掉后,注人到浮柵中的電子被絕緣層包圍,無法復(fù)合掉靠近柵極的多余空穴,于是在S和D之間就形成了一個導(dǎo)電溝道,S和D能夠?qū)?這時相當(dāng)于寫人了信息"060在讀出數(shù)據(jù)時,行地址選擇線置高電平,T1管導(dǎo)通,如果T2中存儲的是1,即T2不能導(dǎo)通,會在1/O線上輸出高電平;如果T2中存儲的是0,即T2導(dǎo)通,則會在1/O線上輸出低電平。EPROM芯片要想重新寫人數(shù)據(jù)必須先進(jìn)行擦除。EPROM出廠時會在陶瓷封裝表面開一個石英窗口,透過該窗口,可以看到其內(nèi)部的集成電路,用紫外線透過該孔照射內(nèi)部芯片若干分鐘,浮柵中的電子獲得能量會穿過絕緣層跑掉,就可以擦除存儲的數(shù)據(jù),使所有單元的內(nèi)容均初始化為1,之后就可以重新編程寫人數(shù)據(jù)了。4.電可擦除可編程只讀存儲器(EEPROM)EPROM雖然滿足了可改寫的需求,但只能擦除全部信息,而且擦除時間過長,使用紫外線也不太方便。EEPROM是一種可用電氣方法在線擦除和再編程的只讀存儲器,寫人時不需要專門的編程電壓,可直接用系統(tǒng)+5V的電源。EEPROM既具有ROM非易失性的特點(diǎn),又像RAM一樣可以隨機(jī)地進(jìn)行讀/寫操作,寫人的數(shù)據(jù)保留的時間可長達(dá)20年,并且每個單元可重復(fù)進(jìn)行一萬次以上的改寫,最近推出的EEPROM芯片的可改寫次數(shù)已經(jīng)達(dá)到了10萬次。圖3.15是一個EEPROM基本存儲元電路。圖3.15EEPROM基本存儲元結(jié)構(gòu)EEPROM與EPROM相比,存儲元結(jié)構(gòu)大體相同,也采用浮柵技術(shù),以浮柵上是否帶有電荷決定存儲的信息是1還是0,只不過額外在浮柵上方的SiO2上增加了一層金屬層,構(gòu)成了一個控制柵。EEPROM信息的寫人方法與EPROM相同,而在擦除信息時要把控制柵接地,并在源極S加較高的正電壓,浮柵中的電子在較強(qiáng)的電場力作用下被拉出吸到源極,從而實(shí)現(xiàn)了信息的擦除。需要注意的是,隨著技術(shù)和工藝的進(jìn)步,許多EEPROM芯片在寫人數(shù)據(jù)時并不需要先擦除原來存儲的信息,也不再需要額外提高擦除和寫人電壓,而是直接使用+5V的工作電壓就可以實(shí)現(xiàn)在線寫人了。例如,采用EEPROM的B1OS芯片大多都有雙電壓特性,通過跳線開關(guān)就可很方便地實(shí)現(xiàn)編程電壓和工作電壓的切換。5.閃速存儲器(FIash)閃速存儲器即通常所說的閃存,按照內(nèi)部結(jié)構(gòu)和數(shù)據(jù)訪問方式,它屬于ROM類存儲器,是在EPROM和EEPROM基礎(chǔ)上發(fā)展而成的,因此兩者有很多相似之處。閃存對RAM和ROM各取所長,具有集成度高、功耗低、抗干擾能力強(qiáng)、速度快、容量大、非易失性和價格便宜等優(yōu)點(diǎn)?,F(xiàn)在F1ash用途廣泛,主要用于U盤、顯卡、網(wǎng)卡、聲卡等計(jì)算機(jī)接口設(shè)備中,以及數(shù)碼相機(jī)、數(shù)碼攝像機(jī)、手機(jī)等智能設(shè)備和終端設(shè)備中。具有容量更大、體積更小、速度更快、成本更低、耗電更少、可靠性更高、易用性更強(qiáng)等趨勢。尤其閃存技術(shù)的發(fā)展,替代磁性存儲介質(zhì)的趨勢已經(jīng)越來越明顯,雖然想要替代各種RAM存儲器還有很長的路要走,但終究值得期待。3.5存儲器接口設(shè)計(jì)計(jì)算機(jī)存儲系統(tǒng)的容量往往很大,單個存儲芯片的容量和數(shù)據(jù)寬度都很難滿足系統(tǒng)要求,這就需要選擇使用多個芯片組合成大的存儲系統(tǒng)。然而,不同型號和種類的存儲芯片所擁有的存儲單元個數(shù)和每個單元的數(shù)據(jù)位數(shù)都可能不同,如何選用不同的存儲芯片、如何進(jìn)行地址譯碼和片選、如何與CPU進(jìn)行連接來構(gòu)成系統(tǒng)所需的存儲器,是本節(jié)要討論的3.5.1存儲芯片的選擇1.芯片類型的選擇用于存放需修改的程序、現(xiàn)場采集的數(shù)據(jù)、運(yùn)算的中間結(jié)果或其他臨時性的信息,應(yīng)選用既能讀又能寫的RAM芯片。對于存儲容量要求較小的應(yīng)用系統(tǒng)、專用設(shè)備和速度要求較高的場合應(yīng)盡量選用SRAM,因?yàn)镾RAM硬件電路簡單,速度也快;對于存儲容量要求較大的場合,如計(jì)算機(jī)內(nèi)存,則應(yīng)選擇DRAM。用于存放監(jiān)控程序、用戶的固定程序、固定的表格和常數(shù),則選用ROM存儲器,如智能儀表、家用電氣等設(shè)備的存儲器一般就采用ROM芯片。用于存放永久性的程序和數(shù)據(jù)的情況可選用ROM或PROM;其他需要頻繁讀寫的場合則應(yīng)優(yōu)先考慮選用EPROM、EEPROM或F1ash。2.芯片數(shù)量的確定及存儲器擴(kuò)展方式61芯片數(shù)量的確定要從存儲器的存儲單元個數(shù)和存儲單元位數(shù)兩個角度考慮,其原則是在滿足系統(tǒng)要求的前提下需要的芯片數(shù)量最少611)位擴(kuò)展3當(dāng)存儲芯片的每個單元的數(shù)據(jù)位數(shù)不能滿足存儲器所需要的位數(shù)時,就要進(jìn)行位擴(kuò)展。存儲芯片根據(jù)單元位數(shù)劃分有1位片、4位片、8位片、16位片和32位片等,如3存儲器及接口設(shè)計(jì)微機(jī)原理與接口技術(shù)片就是8位片。如果采用1位片構(gòu)成16位存儲系統(tǒng)則需要16片,而如果采用8位片構(gòu)成16位存儲系統(tǒng)則只需要兩片。這些組合芯片可以采用位并聯(lián)的方法進(jìn)行連接,即各芯片并聯(lián)在一起,每個芯片占據(jù)存儲單元不同的數(shù)據(jù)位,從而構(gòu)成所需要的存儲位數(shù)。62例如,用1K×2位的存儲芯片構(gòu)成1K×8位的存儲器,所需芯片數(shù)為4片。擴(kuò)展連線方法如圖3.16所示62圖3.16位擴(kuò)展電路示意圖 圖3.16中4個芯片地址線都為A0~A9。讀取數(shù)據(jù)時在CS信號的作用下會同時選中4個芯片,每個芯片輸出兩位數(shù)據(jù)信息,組合成8位數(shù)據(jù)一起在數(shù)據(jù)總線上輸出,寫人數(shù)據(jù)過程同理。2)字?jǐn)U展字?jǐn)U展就是增加存儲單元的數(shù)目,也稱為地址擴(kuò)充。擴(kuò)展時用一些容量較小的存儲芯片采用地址串聯(lián)的方法組成容量較大的存儲器。每個芯片的片選線通過高位地址譯碼后分別生成,以免地址重疊。圖3.17是用4片1K×8位存儲芯片組成4K×8位的存儲器原理。圖3.17中4個芯片數(shù)據(jù)線都為D0~D7,且它們共用地址線A0~A9用于各芯片內(nèi)部尋址。地址總線最高兩位A10和A11輸人到2-4譯碼器編碼產(chǎn)生4個芯片的片選信號CS,這樣各芯片內(nèi)部地址雖然相同,但由于高兩位地址各不相同,所以每個芯片的物理地址并不3)字位擴(kuò)展在實(shí)際應(yīng)用中,在構(gòu)成存儲器時往往需要同時進(jìn)行字?jǐn)U展和位擴(kuò)展,這種擴(kuò)展方式稱為字位擴(kuò)展。圖3.18是用8片1K×4位的存儲芯片構(gòu)成4K×8位的存儲器原理。圖3.18中共用到了8片1K×4位的存儲芯片,這些芯片兩兩一組進(jìn)行位擴(kuò)展,共組成了4組1K×8位的存儲器。然后4組1K×8位的存儲器再進(jìn)行字?jǐn)U展,最終組成4K×8位的存儲器。這里地址線最高兩位作為片選地址譯碼生成4組1K×8位的存儲器的片選信號,地址線A0~A9用于片內(nèi)尋址。圖3.17字?jǐn)U展電路示意圖圖3.18字位擴(kuò)展電路示意圖3.5.2存儲器的地址譯碼及地址分配前面已經(jīng)提到,一個容量較大的存儲器往往需要用多片容量較小的芯片組合擴(kuò)展來實(shí)現(xiàn),為了能準(zhǔn)確無誤地訪問到存儲器中的任意一個單元,必須先確定要訪問的單元在哪個存儲芯片中,這個工作需要由邏輯譯碼電路或譯碼器來完成。631.63常見的譯碼器有1nte18025、74LS138、74LS139、74LS155、74LS156等,其中74LS1383極為典型。圖3.19是74LS138引腳定義及輸人輸出信3當(dāng)一個選通端(G1)為高電平,另兩個選通端(G2A和G2B)為低電平時,可將地址端(A、存儲器及接口設(shè)計(jì)微機(jī)原理與接口技術(shù)664圖3.1974LS138引腳及真值表B、C)的二進(jìn)制編碼在一個對應(yīng)的輸出端以低電平譯出。2.地址譯碼方案及地址分配譯碼器可以產(chǎn)生各存儲芯片的片選信號,從而能夠決定各芯片的地址范圍。常用的譯碼方案有3種,即全譯碼方式、部分譯碼方式和線性譯碼方式。采用譯碼方式進(jìn)行存儲器擴(kuò)展時如果不需要全部存儲空間,可以將多余的地址線懸空,便于系統(tǒng)擴(kuò)展。1)全譯碼方式全譯碼方式是指全部的片選線(片選地址)都參加片選譯碼,這種方式不浪費(fèi)存儲器地址空間,每個存儲單元地址唯一,各存儲芯片的地址連續(xù)且不重疊?!纠?.1】假設(shè)某系統(tǒng)有16條地址線,用4片16K×8位存儲芯片組成存儲系統(tǒng),則系統(tǒng)結(jié)構(gòu)圖及各芯片地址分配如圖3.20所示。可以看出,存儲單元的物理地址由片選地址和片內(nèi)地址兩部分組成,各芯片的片內(nèi)地址范圍都是相同的,所不同的就是地址線的最高兩位即片選信號不同,因此存儲器中各存儲單元的物理地址都是不同的。2)部分譯碼方式部分譯碼方式是指片選線(片選地址)中的部分線參與譯碼,產(chǎn)生存儲芯片片選信號。這種譯碼方式每個存儲單元的地址不唯一,因?yàn)闆]有參加譯碼的片選線可以為0也可以為1。6565圖3.20全譯碼電路及地址分配【例3.2】設(shè)一個有16根地址線的微機(jī)系統(tǒng),有2KB的RAM和1KB的ROM,分別選用1K×8位的存儲芯片,且RAM和ROM統(tǒng)一編址。試采用部分譯碼方式設(shè)計(jì)該微機(jī)的存儲系統(tǒng)。根據(jù)題意,每個存儲芯片大小都為1K×8位,其片內(nèi)尋址只需要使用低10位地址線 (A0~A9)。另外,3個存儲芯片共需要3個片選信號線,剩余6條高位地址線中任取兩根連接2-4譯碼器就可滿足要求。根據(jù)上述分析,可設(shè)計(jì)出如圖3.21所示的譯碼電路。圖3.21部分譯碼方式3個存儲芯片的地址范圍如表3.2所示。需要注意的是,A12~A15沒有參加譯碼,所以都可以是0或1,導(dǎo)致每個存儲單元都有16個地址。如果不用A10和A11譯碼,而選用其他高位地址線譯碼,結(jié)果會使存儲芯片地址不連續(xù)。另外,A11A10=11時,由于沒有選中任何芯片,導(dǎo)致了地址空間的浪費(fèi)。表3.2芯片地址范圍譯碼輸入選中芯片芯片片內(nèi)地址芯片高4位地址芯片物理地址(X=0~F)A11A10=00RAM(1)0000H~03FFH0000B~1111Bx000H~x3FFHA11A10=01RAM(2)0000H~03FFH0000B~1111Bx400H~x7FFHA11A10=10RAM(3)0000H~03FFH0000B~1111Bx800H~xBFFHA11A10=11無無無無33線性譯碼方式是指直接用某根地址線作為存儲芯片的片選線。這種譯碼方式的優(yōu)點(diǎn)是存儲器及接口設(shè)計(jì)微機(jī)原理與接口技術(shù)不需要譯碼電路,所以線路簡單:缺點(diǎn)是地址可能不連續(xù),而且會造成存儲空間的浪費(fèi),只適用于存儲芯片較少的情況。66【例3.3】設(shè)一個具有16根地址線的微機(jī)系統(tǒng)有2KB的RAM,選用1K×8位的存儲芯片實(shí)現(xiàn)。試采用線性譯碼方式設(shè)計(jì)該微機(jī)的存儲系統(tǒng)66題目中只有兩個芯片需要連接,所以可以只利用一條片選線結(jié)合一個非門來生成兩個芯片的片選信號。具體電路連接及芯片地址范圍如圖3.22所示。圖3.22線性譯碼電路及地址分配注意,這里是把A10作為片選線,如果采用A15作為片選線,兩個芯片的地址范圍又是多少呢?請讀者自己分析。3.5.3存儲器接口設(shè)計(jì)舉例 【例3.4】設(shè)CPU有16根地址線,8根數(shù)據(jù)線,用MREQ作訪存控制信號(低電平有效),用WR作讀/寫控制信號(高電平為讀,低電平為寫)。其地址空間分配以下:最低8K地址為系統(tǒng)程序區(qū),與其相鄰的8K地址為用戶程序區(qū),最高4K地址空間為系統(tǒng)程序工作區(qū)?,F(xiàn)有以下存儲器芯片可供選擇:4K×8位的ROM、8K×4位的RAM和4K×8位的RAM。另有一個3-8譯碼器可供使用。要求: (1)選擇適當(dāng)?shù)男酒愋图捌瑪?shù)。 (2)寫出各芯片的地址編碼范圍。 (3)確定芯片的片選邏輯,并畫出各器件之間的邏輯連接圖。解: (1)根據(jù)題目要求,最低8K地址空間為系統(tǒng)程序區(qū),一般只能進(jìn)行讀操作,應(yīng)該采用兩片4K×8位的ROM芯片:與其相鄰的8K地址為用戶程序區(qū),需要經(jīng)常被改寫,所以采用兩片8K×4位的或兩片4K×8位的RAM芯片,這里選擇8K×4位的芯片:最高4K地址空間為系統(tǒng)程序工作區(qū),也應(yīng)選擇且只能選擇4K×8位的RAM芯片。 (2)各芯片的地址范圍如圖3.23所示??梢钥闯?兩片4K×8位的ROM芯片組合進(jìn)行字?jǐn)U展,構(gòu)成8K×8位的ROM,所以系統(tǒng)程序區(qū)共需要A0~A12共13條地址圖3.23各芯片地址范圍線進(jìn)行內(nèi)部尋址;用戶程序區(qū)由兩個8K×4位的RAM芯片通過位擴(kuò)展構(gòu)成一個8K×8位ROM,也需A0~A12共13條地址線進(jìn)行內(nèi)部尋址;系統(tǒng)程序工作區(qū)由4K×8位的RAM組成,共需要A0~A11共12條地址線進(jìn)行內(nèi)部尋址。 (3)根據(jù)題意及(2)中的分析,地址線最高3位A13、A14和A15應(yīng)該作為3-8譯碼器的譯碼輸人信號,輸出的Y0和A12進(jìn)行邏輯或后作為ROM1的片選信號;A12取反后再與Y0進(jìn)行邏輯或,其結(jié)果作為ROM2的片選信號;Y1同時作為RAM1和RAM2的片選信號;A12取反后再與Y7進(jìn)行邏輯或,其結(jié)果作為RAM3的片選信號。經(jīng)過上述分析,得出芯片的片選邏輯及各器件之間的邏輯連接如圖3.24所示。圖3.24CPU與存儲芯片連接前面提到8K用戶程序區(qū)還可以采用兩片4K×8位的RAM芯片組成,其實(shí)這樣做邏輯連線更簡單,為什么?讀者可以自己畫出圖形分析解決。3.6高速緩沖存儲器隨著計(jì)算機(jī)技術(shù)的發(fā)展及應(yīng)用的普及,計(jì)算機(jī)處理的信息量越來越大、越來越復(fù)雜,因此對計(jì)算機(jī)的整體性能要求越來越高。與運(yùn)算速度越來越快的CPU相比,主存的存取速度顯然已經(jīng)成為計(jì)算機(jī)系統(tǒng)整體性能提升的主要瓶頸。在這樣的背景下,出現(xiàn)了高速緩沖存儲器(Cache)。673為了加快運(yùn)算速度,從80486開始的微處理器中增設(shè)一級或兩級與CPU處理速度相當(dāng)?shù)腃ache。目前微機(jī)系統(tǒng)中大多有兩級Cache;第1級Cache(簡記為L1)位于處理器內(nèi)部,分為數(shù)據(jù)緩存和指令緩存兩部分;第2級Cache(簡記為L2)有處于處理器內(nèi)部和外部兩種,容量比L1大一些,速度比L1慢一些,但要比內(nèi)存快。Cache與各種存儲器的性能比較673存儲器及接口設(shè)計(jì)微機(jī)原理與接口技術(shù)Cache概述Cache概述68Cache是位于CPU與內(nèi)存之間的臨時存儲器,是為了解決CPU運(yùn)算速度與內(nèi)存讀寫速度不匹配的矛盾而采用的一項(xiàng)技術(shù)。Cache的容量比內(nèi)存小得多,但是速度比內(nèi)存要快得多,與CPU相匹配。前面已經(jīng)介紹,主存一般采用容量較大但速度相對較慢的DRAM芯片,而Cache則一般采用容量較小但速度很快的SRAM芯片681.Cache的基本原理對大量典型程序運(yùn)行情況分析結(jié)果表明,在某一個較短的時間間隔內(nèi),CPU對一個程序指令和數(shù)據(jù)的訪問往往集中在主存的某個較小的空間范圍內(nèi)。這種在某段時間內(nèi)對存儲器局部范圍的頻繁訪問,而對范圍以外的存儲空間很少訪問的現(xiàn)象,叫做程序訪問的局部性原理。正是由于這種局部性原理,才使得將Cache技術(shù)應(yīng)用到計(jì)算機(jī)系統(tǒng)成為可能。2.Cache的工作過程在擁有Cache的計(jì)算機(jī)系統(tǒng)中,主存中保存所有的程序和數(shù)據(jù),而Cache中保存主存的部分副本。當(dāng)CPU訪問存儲器時,首先通過一個主存—Cache的地址映射機(jī)構(gòu)將主存地址轉(zhuǎn)換成一個Cache地址。如果CPU要訪問的內(nèi)容已經(jīng)在Cache中,則從Cache中將要訪問的內(nèi)容讀出并送CPU,這種情況稱為命中Cache;若CPU要訪問的內(nèi)容不在Cache中,即沒有命中Cache,那么CPU必須直接訪問主存,從主存中將內(nèi)容讀出并送人CPU,從而完成了一次CPU的訪存操作。在正常情況下,CPU對Cache的存取命中率可達(dá)95%以上。Cache的工作原理框圖如圖3.25所示。圖3.25Cache工作原理框圖在Cache存儲器組織中,Cache和主存都按塊進(jìn)行組織,每一個塊由若干個字或字節(jié)組成,且主存的塊和Cache的塊大小相同,它們之間的數(shù)據(jù)交換都以塊為單位進(jìn)行。在沒有命中Cache的情況下,CPU訪存結(jié)束后,還需將本次所訪問的內(nèi)容所在主存塊的全部單元內(nèi)容調(diào)人Cache中。若當(dāng)前Cache已滿,則需要采用一定的規(guī)則將Cache中的一個舊塊替換3.6.2Cache的映射方式前面已經(jīng)介紹,在沒有命中Cache的情況下,CPU訪存結(jié)束后,還需將本次所訪問的內(nèi)容所在的整個區(qū)塊從主存復(fù)制到Cache中。為此,需要在主存和Cache之間建立一種映像關(guān)系,即地址映射。地址映射即是應(yīng)用某種策略把主存地址定位到Cache中,在需要時將主存塊按照事先建立的地址映射關(guān)系裝人對應(yīng)的Cache塊中。常用的Cache地址映射方式有3種,即直接映射方式、全相聯(lián)映射方式和組相聯(lián)映射1.直接映射方式直接映射方式是指每個主存塊只能映射到Cache中的一個特定塊,是一種多對一的映射關(guān)系,如圖3.26所示。直接映射方式實(shí)現(xiàn)簡單,硬件成本低。缺點(diǎn)是每個主存塊在Cache中只有一個固定的位置可存放,容易產(chǎn)生沖突,導(dǎo)致頻繁地發(fā)生替換,降低了命中率。另外,這種方式也使得Cache中的空塊不能得到充分利用。2.全相聯(lián)映射方式全相聯(lián)映射是指每個主存塊可以映射到Cache中的任意一塊,也是一種多對一的映射關(guān)系,如圖3.27所示。圖3.26直接映射圖3.27全相聯(lián)映射這種映射方式可以從已被占滿的Cache中替換出任一舊塊。顯然這種方式更靈活,命中率也更高,減少了沖突。但訪問Cache時需要和Cache所有塊逐一比較才能判斷出所訪問的內(nèi)容是否在Cache中,所需邏輯電路較多,成本較高。3.組相聯(lián)映射方式組相聯(lián)映射是指主存的一個塊映射到Cache的有限的地方,這種映射方式是對直接映射和全相聯(lián)映射的一種折中。在這種方式下,一個Cache分為許多組,在一個組里有兩個或多個區(qū)塊,主存的區(qū)塊映射到Cache的某個對應(yīng)的組中,但這個區(qū)塊可能出現(xiàn)在這個組內(nèi)的任何地方,如圖3.28所示。3.6.3Cache的替換策略69CPU在訪存時如果沒有命中Cache,就需要選擇舊的區(qū)塊替換出去,保證Cache中的內(nèi)容是當(dāng)前CPU所需的,從而獲得較高的Cache命中率,這要靠Cache替換策略來管理。常用的替換策略有先進(jìn)先出(F1FO)策略、最不經(jīng)常使用(LFU)策略、最近最少使用(LRU)策略和隨機(jī)替換策略6933先進(jìn)先出策略總是將最先調(diào)人Cache的字塊替換出來。這種方法開銷小,容易實(shí)現(xiàn),但存儲器及接口設(shè)計(jì)微機(jī)原理與接口技術(shù)770圖3.28組相聯(lián)映射有可能使一些經(jīng)常訪問的塊也被替換出去。2.最不經(jīng)常使用策略最不經(jīng)常使用策略是將一段時間內(nèi)被訪問次數(shù)最少的Cache塊替換出去。為實(shí)現(xiàn)這種策略,需要為Cache的每個字塊都設(shè)置一個計(jì)數(shù)器,從0開始計(jì)數(shù),Cache每命中一次,被命中塊的計(jì)數(shù)器值加1。當(dāng)需要替換時,把計(jì)數(shù)值最小的Cache塊替換出去,同時將對應(yīng)的計(jì)數(shù)器清零。但由于計(jì)數(shù)值最小的字塊有可能是剛換進(jìn)來的,所以這種方法有可能把剛換進(jìn)來的塊又馬上替換出去。3.最近最少使用策略最近最少使用策略是將近期最少訪問的塊替換出去。為實(shí)現(xiàn)這種策略,也需要為Cache的每個字塊都設(shè)置一個計(jì)數(shù)器,Cache每命中一次,就把所命中塊的計(jì)數(shù)器清零,其他各塊的計(jì)數(shù)器增1。當(dāng)需要替換時,把計(jì)數(shù)值最大的那塊替換出去。這種策略保護(hù)了剛復(fù)制到Cache中的新數(shù)據(jù)塊,保證Cache具有較高命中率。4.隨機(jī)替換策略隨機(jī)替換策略是隨機(jī)地選取Cache中的一塊替換出去。這種策略易于實(shí)現(xiàn),速度較快,但被替換出去的塊可能馬上又要訪問,所以會降低Cache的命中率。3.6.4Cache的數(shù)據(jù)更新方法前面介紹的Cache替換策略主要是針對Cache的讀操作,但實(shí)際應(yīng)用中CPU還需要向Cache寫人內(nèi)容。而Cache的內(nèi)容是主存部分內(nèi)容的副本,寫人操作會導(dǎo)致Cache與主存的內(nèi)容不一致,為解決這一問題,需要采用適當(dāng)?shù)腃ache數(shù)據(jù)更新方法來管理。常用的Cache更新方法有寫回法、全寫法和寫一次法。1.寫回法當(dāng)CPU對Cache寫命中時,只修改Cache的內(nèi)容而不立即寫人主存,只有此塊被換出時才寫回主存。對于Cache寫未命中,由于此后對此塊的多次讀/寫訪問的可能性很大,所以寫回法的處理是將內(nèi)存塊復(fù)制到Cache后再對其進(jìn)行修改,同樣也只有該塊被換出時才寫回主存。為支持
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圓和扇形(教學(xué)設(shè)計(jì))-2024-2025學(xué)年六年級上冊數(shù)學(xué)冀教版
- 科技創(chuàng)新中心市場需求分析
- 2025年中國枕頭市場評估分析及發(fā)展前景調(diào)研戰(zhàn)略研究報(bào)告
- 新型儲能制造業(yè)的市場需求分析
- 2025年度礦山勞務(wù)承包合同(含安全生產(chǎn)條款)
- 地方高校轉(zhuǎn)型的背景與意義
- 2025年度生態(tài)農(nóng)業(yè)園租地協(xié)議書合同
- 肩離斷機(jī)械假肢行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報(bào)告
- 16獎勵一下自己(教學(xué)設(shè)計(jì))-部編版道德與法治二年級下冊
- 汽車銷售居間合同委托書
- 演藝項(xiàng)目投資計(jì)劃書
- 醫(yī)學(xué)統(tǒng)計(jì)學(xué):第五章 統(tǒng)計(jì)表和統(tǒng)計(jì)圖
- 醫(yī)療器械耗材售后服務(wù)承諾書
- 小學(xué)體育與健康水平三五年級體能訓(xùn)練教學(xué)案例
- 公司破產(chǎn)解除勞動合同協(xié)議書
- 【基于近五年數(shù)據(jù)的鴻星爾克財(cái)務(wù)報(bào)表分析15000字】
- 2023-2024學(xué)年天津市小學(xué)語文一年級期末通關(guān)試卷附參考答案和詳細(xì)解析
- 常見急癥的急救處理
- 長沙理工大學(xué)所有教學(xué)大綱
- 2023年中國兵器人才學(xué)院校園招聘筆試參考題庫附帶答案詳解
- 2023年重慶兩江新區(qū)開發(fā)投資集團(tuán)下屬子公司招聘筆試題庫含答案解析
評論
0/150
提交評論