計算機的存儲系統(tǒng)_第1頁
計算機的存儲系統(tǒng)_第2頁
計算機的存儲系統(tǒng)_第3頁
計算機的存儲系統(tǒng)_第4頁
計算機的存儲系統(tǒng)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第6章 計算機的存儲系統(tǒng)現(xiàn)代計算機采用程序控制方式工作,因此,用來存放程序的存儲系統(tǒng)是計算機的重要組成部分。存儲器包括內(nèi)存儲器和外存儲器。內(nèi)存儲器包括主存儲器和高速緩沖存儲器,外存儲器即輔助存儲器。主存儲器簡稱主存,它位于主機內(nèi)部。本章介紹計算機的存儲系統(tǒng),包括主存儲器的基本組成、層次結(jié)構(gòu)和工作原理,高速緩沖存儲器的工作原理,以及各類外存儲器。6.1 存儲器與存儲系統(tǒng)概述 存儲器的作用現(xiàn)代計算機都是以存儲器為中心的計算機,存儲器處于全機的中心地位。存儲器的作用可歸納為: 存放程序和數(shù)據(jù)。計算機執(zhí)行的程序、程序運行所需要的數(shù)據(jù)都是存放在存儲器中的。 現(xiàn)代計算機可以配置的輸入輸出設(shè)備越來越多,數(shù)據(jù)

2、傳送速度不斷加快,并且多數(shù)采用直接存儲器存?。―MA)方式和輸入輸出通道技術(shù),與存儲器直接交換數(shù)據(jù)而不通過CPU。 共享存儲器的多處理器計算機的出現(xiàn),使得可利用存儲器來存放共享數(shù)據(jù),并實現(xiàn)各處理器之間的通信,更加強了存儲器作為整個計算機系統(tǒng)中心的作用。 存儲器分類按存取方式分類 隨機存取存儲器RAM(Random Access Memory) 特點:存儲器中任何一個存儲單元都能由CPU或/O設(shè)備隨機存取,且存取時間與存取單元的物理位置無關(guān)。 用途:常用作主存或高速緩存。 只讀存儲器ROM(Read-Only Memory) 特點:存儲器的內(nèi)容只能讀出而不能寫入。用途:常用來存放固定不變的系統(tǒng)程

3、序。作為固定存儲,故又叫“固存”。 隨著用戶要求的提高,只讀存儲器產(chǎn)品從ROM可編程只讀存儲器PROM光可擦除可編程只讀存儲器EPROM電可擦除可編程的只讀存儲器EEPROM,為用戶方便地存入和改寫內(nèi)容提供了物質(zhì)條件。順序存取存儲器SRAM 特點:存儲器中存儲的信息(字或者記錄塊),完全按順序進行存放或讀出,在信息載體上沒有惟一對應(yīng)的地址號,訪問指定信息所花費的時間和信息所在存儲單元的物理位置密切相關(guān)。其存取時間長,速度慢。如磁帶存儲器。 直接存取存儲器DAM 特點:存儲器的任何部位(一個字或字節(jié)、記錄塊等)沒有實際的、連線的尋址機構(gòu),當(dāng)要存取所需要的信息時,必須執(zhí)行兩個邏輯操作:首先,直接指

4、向整個存儲器的一個小區(qū)域(如磁盤上的磁道或磁頭);然后對這一小區(qū)域像磁帶那樣順序檢索、記數(shù)或等待,直至找到最后的目的塊(磁道上的扇區(qū))。這種存儲器容量大,存取速度介于隨機存儲器與順序存取存儲器之間,多用作輔存,磁盤存儲器就是直接存取存儲器。 順序存取存儲器和直接存取存儲器又合稱為串行訪問存儲器.按存儲介質(zhì)分類 半導(dǎo)體存儲器:雙極型和MOS型半導(dǎo)體存儲器。 雙極型半導(dǎo)體存儲器采用TTL電路或ECL電路作存儲單元,存取速度快,但功耗大,集成度低,多用作快速、小容量的存儲器,如高速緩存。MOS型半導(dǎo)體存儲器主要用作主存儲器。 磁表面存儲器 廣泛使用的是磁盤存儲器和磁帶存儲器。特點是:存儲容量大,位價

5、格低,但結(jié)構(gòu)為機電組合,工藝復(fù)雜,存取速度慢,主要用作輔助存儲器。在微型計算機系統(tǒng)中,軟磁盤存儲器和硬磁盤存儲器是基本配置。 光盤存儲器按信息的可保存性分類 分為易失性存儲器和非易失性存儲器。斷電后,存儲的信息將消失的存儲器,稱為易失性存儲器,RAM為易失性存儲器。 斷電后,存儲的信息仍保存在存儲器中,稱非易失性存儲器,ROM、FLASH和磁性材料存儲器為非易失性存儲器。按在計算機中的作用分類 按在計算機中的作用分類,可將存儲器分為主存儲器(內(nèi)存)、輔助存儲器(外存)和緩沖存儲器等。 存儲器的層次結(jié)構(gòu) 存儲器的三級存儲體系結(jié)構(gòu)示意圖主存輔存層次 把CPU所需的現(xiàn)行程序和數(shù)據(jù)存放在存取速度快,容

6、量有限的稱為“主存”或“內(nèi)存”的半導(dǎo)體存儲器中,供CPU直接使用。主存必須具有和CPU相當(dāng)?shù)墓ぷ魉俣?,才能保證整個計算機運算速度的提高。那些暫時不用或尚未用到的程序和數(shù)據(jù)則存放在容量大、存取速度慢的稱為輔助存儲器的磁表面存儲器或光盤存儲器中,當(dāng)CPU需要執(zhí)行某程序時,可以將其從輔存調(diào)入內(nèi)存。構(gòu)成主存輔存層次。主存輔存層次使整個存儲系統(tǒng)具有接近主存的存取速度,又有輔存的容量和接近輔存的位平均價,較好地解決了大容量和低成本的矛盾。輔存只與主存交換信息,CPU不直接訪問輔存,因此,輔存的存取速度可以慢些。主存的存取速度和CPU的存取速度往往差一個數(shù)量級。這樣,主存的存取速度就成了計算機整機速度的瓶頸

7、。 主存高速緩存層次 為了彌補主存速度的不足,在CPU與主存之間增加一級容量不大,速度很高的“高速緩沖存儲器”(Cache),借助于輔助硬件把高速緩存與主存構(gòu)成一個整體。該整體具有接近于高速緩存的速度、主存的容量和接近于主存的每位平均價格,解決了速度與成本之間的矛盾。由于這個層次完全由硬件實現(xiàn),不用系統(tǒng)輔助軟件干擾,因此它對程序員來說是透明的。 6.2 主存儲器 主存儲器的性能技術(shù)指標(biāo)存儲容量:存儲器中可以容納的存儲單元總數(shù)稱為存儲容量。 存儲單元可分為字存儲單元和字節(jié)存儲單元。字存儲單元是指一個機器字的存儲單元,相應(yīng)的單元地址稱為字地址;而字節(jié)存儲單元,是指存放一個字節(jié)的單元,相應(yīng)的地址稱為

8、字節(jié)地址。如果一臺計算機中可編址的最小單位是字存儲單元,則該計算機稱為按字編址的計算機;如果一臺計算機中可編址的最小單位是字節(jié)存儲單元,則該計算機稱為按字節(jié)編址的計算機。目前大多數(shù)計算機采用字節(jié)為單位。在按字節(jié)尋址的計算機中,存儲容量的最大字節(jié)數(shù)可由地址碼的位數(shù)來確定。例如,某臺計算機的地址碼為n位,則可產(chǎn)生2n個不同的地址碼,如果地址碼全部利用,則其最大容量為2n個字節(jié)。當(dāng)然,一臺計算機設(shè)計定型以后,其地址總線、地址譯碼范圍也已確定,因此,它的最大存儲容量是確定的。而實際配置存儲容量時,只能在這個范圍內(nèi)選擇,一般主存儲器實際的存儲容量遠遠小于理論上的最大容量。 存儲容量單位通常采用KB、MB

9、、GB表示。K為210,M為220,G為230,也就是說,1KB=1024B,1MB=1024KB,1GB=1024MB。存取時間(TA) 存取時間又稱存儲器訪問時間,是指啟動一次存儲器操作到完成該操作所需的時間。具體地說,存取時間從存儲器收到有效地址開始,經(jīng)過譯碼、驅(qū)動,直到將被訪問的存儲單元的內(nèi)容讀出或?qū)懭霝橹?。存儲周?TM) 存儲周期又稱訪內(nèi)周期,是指連續(xù)啟動兩次獨立的存儲器操作所需間隔的最小時間。它是衡量主存儲器工作性能的重要指標(biāo)。 存儲周期的倒數(shù),稱為存儲速度。它表示每秒從存儲器進出信息的最大數(shù)量,其單位用字/秒或字節(jié)/秒表示S=1/TMC 。如果用位/秒表示,還應(yīng)考慮總線寬度W。

10、S=1*W/TMC 存儲器帶寬:每秒訪問二進制位的數(shù)目,標(biāo)明了一個存儲器在單位時間內(nèi)處理信息的能力。 例如,總線寬度為32位,存儲周期為250ns則 存儲器帶寬=32b/250ns=32*109b/250ns=128Mbps=32MBps可靠性 可靠性是指在規(guī)定的時間內(nèi),存儲器無故障工作的時間。通常用平均無故障時間MTBF(Mean Time Between Failures)來衡量。MTBF越長,說明存儲器的可靠性越高。性能價格比 性能與價格的比值是衡量存儲器經(jīng)濟性能好壞的綜合性指標(biāo)。這項指標(biāo)與存儲器的結(jié)構(gòu)和外圍電路以及用途、要求、使用場所等諸多因素有關(guān)。性能是前述四項性能的綜合,價格是存儲

11、器的總價格。若用C表示存儲器的總價格(成本),用S表示存儲容量(以字節(jié)位單位),則每個字節(jié)的成本c=C/S(元/字節(jié))。 隨機存取存儲器隨機存取存儲器按其元件的類型來分,有雙極型和MOS型存儲器兩類。在存取速度和價格兩方面,雙極型存儲器比MOS型存儲器高,故雙極型存儲器主要用于高速的小容量存儲體系。在MOS型半導(dǎo)體存儲器中,根據(jù)存儲信息機構(gòu)的原理不同,又分為靜態(tài)MOS型半導(dǎo)體存儲器(簡稱SRAM)和動態(tài)MOS型半導(dǎo)體存儲器(簡稱DRAM)。SRAM采用雙穩(wěn)態(tài)觸發(fā)器來保存信息,只要不斷電,信息就不會丟失;DRAM利用記憶電容來保存信息,使用時只有不斷地給電容充電才能使信息保持。SRAM的集成度較

12、低,功耗也較大;DRAM的集成度較高,功耗低。在現(xiàn)代計算機中,內(nèi)存容量較大,常由DRAM構(gòu)成。靜態(tài)半導(dǎo)體存儲器SRAMSRAM由存儲體、地址譯碼電路、讀寫電路和控制電路組成,一個4096×1位的SRAM的框圖如下圖所示。圖中,A0A11為地址線,用來尋址存儲器中的某一個單元。Din、D0UT為數(shù)據(jù)線,實現(xiàn)數(shù)據(jù)的輸入/輸出。W/R為讀寫控制信號線,用來實現(xiàn)讀寫操作控制。為CS片選信號線,只有當(dāng)CS有效時,該芯片的地址線、數(shù)據(jù)線和讀寫控制線才起作用,才能實現(xiàn)對該存儲器的讀寫操作。 存儲體 半導(dǎo)體存儲器的存儲體由多個基本存儲電路組成,每個基本存儲電路對應(yīng)1個二進制數(shù)位。上圖所示的存儲器內(nèi)部

13、含有4096個存儲單元,每個單元包含一個基本存儲電路。存儲單元按行、列排列成一個十分規(guī)則的陣列。一個m×n的存儲體矩陣如下圖所示。每一個小方框代表一個基本存儲電路,存放一位二進制數(shù),每一橫行代表一個存儲單元,并行排列n個小框,表示字長為n位。每一位都有一條數(shù)據(jù)線,稱作位線,編號相同的位公用一條位線,它是對外交換信息的通路。字線是經(jīng)過譯碼后的輸出線,共m條,每一條字線驅(qū)動一個存儲單元,任何一個存儲單元的長度都是相等的,讀寫操作時同一地址碼的n位存儲位同時被驅(qū)動。地址譯碼電路 地址譯碼電路的輸入信息來自于總線中的地址信號,若某一存儲器的地址輸入信號線有n條,則表明該存儲器有2n個存儲單元

14、。地址譯碼電路的功能是接收總線中的地址信號并將其轉(zhuǎn)換為存儲體內(nèi)部的存儲單元選擇信號。地址譯碼有兩種方式單譯碼方式:相應(yīng)的電路采用一維編址方式。它通常適用于小容量的存儲器。若一個4096×1位的存儲器采用一維編址方式,則其地址譯碼電路有12條輸入線,4096條譯碼輸出線(字線),該譯碼電路的輸入、輸出關(guān)系如上圖所示。從該電路圖中可以看到,一維編址方式在存儲容量很大時會因字線過多致使存儲器內(nèi)部電路過于復(fù)雜而不實用, 雙譯碼電路,相應(yīng)的電路采用二維編址方式。目前大容量存儲器多采用二維編址方式。它采用雙譯碼電路,一個叫X地址譯碼電路,另一個叫Y地址譯碼電路。若每一個有n/2個輸入端,它可以譯

15、出2n/2個輸出端,那么兩個譯碼器交叉譯碼的結(jié)果,共可譯出2n/2×2n/2=2n個輸出狀態(tài),其中n為地址信號線的數(shù)目。但此時譯碼輸出只有2n/2+2n/2=2n/2+1根,與一維譯碼電路相比,大大節(jié)省了譯碼輸出線。例如:4096×1位存儲器的二維編址方式如下圖所示,4096個存儲單元排列成64× 讀寫電路和控制電路 存儲器的基本操作是讀操作和寫操作,所以組成存儲體的結(jié)構(gòu)除了存儲體和地址譯碼器以外,還有讀寫控制電路和控制信號輸入輸出流向的I/O電路。 右圖是一個二進制位的讀寫控制和I/O電路的示意圖。SRAM存儲器的組織及其尋址靜態(tài)RAM存儲器常用在主存規(guī)模較小的

16、微型計算機中,靜態(tài)RAM存儲器的讀寫操作時序與微型計算機系統(tǒng)總線的讀寫操作時序基本匹配,因此,它需要較少的外圍電路就可直接與系統(tǒng)總線相連,內(nèi)存的擴充非常方便。 中央處理器發(fā)出的讀寫操作信號通過系統(tǒng)總線實現(xiàn)對存儲器的讀寫操作,其過程主要分為以下三步: 由地址總線給出地址信號。 通過控制總線發(fā)出相應(yīng)的讀操作信號或?qū)懖僮餍盘枴?在數(shù)據(jù)線上實現(xiàn)數(shù)據(jù)傳送。因此,存儲器與系統(tǒng)總線的連接也要實現(xiàn)對應(yīng)的三類信號線的連接,即地址線的連接、控制線的連接、數(shù)據(jù)線的連接。位擴展法是進行位數(shù)的擴充(加大字長),存儲器的字?jǐn)?shù)與系統(tǒng)的要求相同。 【例】字長為8位的某微型計算機,采用的存儲器芯片的規(guī)格是8K×1,要

17、求擴展為8K×8的存儲器。此時就需進行位擴展。 計算所需的存儲器芯片的數(shù)量。計算的方法是:用需擴展的總?cè)萘咳コ砸黄鎯ζ餍酒娜萘俊?8K×8/8K×1=8。 確定地址線和數(shù)據(jù)線。8K×8的存儲容量需用13條地址線、8條數(shù)據(jù)線,地址線的數(shù)目與存儲器芯片的地址線數(shù)目相同,因此,只需將對應(yīng)的系統(tǒng)總線的地址線與存儲芯片的地址線連在一起即可。存儲芯片的數(shù)據(jù)線只有一條,可將8片存儲芯片的每條數(shù)據(jù)線分別連到8條數(shù)據(jù)線上。在這種連接方式中,沒有片選信號的要求,可將存儲芯片的片選信號直接接地。 字?jǐn)U展法字?jǐn)U展法是指增加存儲器中的字?jǐn)?shù)量,而位的數(shù)量保持不變。 方法是:將

18、各芯片的地址線、數(shù)據(jù)線、讀寫控制線并聯(lián),與系統(tǒng)總線相應(yīng)的地址線、數(shù)據(jù)線、讀寫控制線連接,而片選信號用來區(qū)分各芯片的地址范圍。字?jǐn)U展法的關(guān)鍵是各芯片地址范圍的確定,即片選信號的連接。片選信號用系統(tǒng)地址總線的高位地址經(jīng)譯碼器譯碼得到。【例】用4片16×8Kb的芯片組成64×8Kb的存儲器原理圖。 計算所需的存儲器芯片的數(shù)量。 64K×8/16K×8=4 確定地址線和數(shù)據(jù)線。 16×8Kb的存儲容量需14條地址線、8條數(shù)據(jù)線;64×8Kb的存儲容量需16條地址線、8條數(shù)據(jù)線。系統(tǒng)數(shù)據(jù)線D0D7分別與存儲器的D0D7相連;系統(tǒng)地址總線A0 A

19、13分別與存儲器的A0 A13相連;而A14,A15經(jīng)譯碼器分別與存儲器芯片的4個片選信號連接。地址分配。 64×8Kb存儲器地址范圍是0000HFFFFH其中芯片1的地址范圍4000H3FFFH;芯片2的地址范圍4000H7FFFH;芯片3的地址范圍8000HBFFFH;芯片4的地址范圍C000HFFFFH。 字位擴展法在存儲器擴展時,通常在字向和位向都要擴展。一個存儲容量為M×N位的存儲器,若用L×K位的存儲器芯片組成,這個存儲器總共需要M/L×N/K片存儲器芯片。 【例】存儲器字位擴展,存儲器采用INTEL2114芯片(1K×4b),要求

20、擴展成4K×8位的容量。 計算所需的存儲器芯片的數(shù)量。整個存儲器共需8片INTEL2114芯片。 確定地址線、數(shù)據(jù)線和片選線。 INTEL2114芯片本身有地址線10條(A0A9)、數(shù)據(jù)線4條(D0D4)、一條片選信號和一條讀寫控制信號WE。系統(tǒng)擴展4K×8位存儲器,提供地址線12條(A0A11),數(shù)據(jù)線8條,因此每兩片INTEL2114組成一組,構(gòu)成8位字長的存儲器組。系統(tǒng)地址總線的低10條(A0A9)對應(yīng)地連接到INTEL2114的地址線,高兩位地址線A11、A10連到24譯碼器的輸入端,譯碼器產(chǎn)生4個譯碼輸出信號,每一個信號分別連接4組存儲器的中一組。數(shù)據(jù)總線的高4位

21、數(shù)據(jù)(D7D4)連接到存儲器序號位為奇數(shù)的存儲器芯片,低4位數(shù)據(jù)(D3D0)連接到存儲器組序號為偶數(shù)的存儲器芯片。系統(tǒng)讀寫控制信號與INTEL2114對應(yīng)的信號相連。地址分配。 4×8Kb存儲器地址范圍是000HFFFH其中芯片1的地址范圍000H3FFH;芯片2的地址范圍400H7FFH;芯片3的地址范圍800HBFFH;芯片4的地址范圍C00HFFFH。 用不同規(guī)格的存儲器芯片擴展存儲器【例】設(shè)系統(tǒng)要求擴展32K×8位的存儲器,提供的存儲器芯片是:4K×4的芯片4片,8K×8的芯片3片。 擴展32K×8位的存儲器需15條地址線(A0A14)

22、,8條數(shù)據(jù)線(D0D7)。4片4K×4的存儲器芯片構(gòu)成8K×8的存儲器,每兩片為一組,每組4K×8位;3片8K×8的存儲器芯片構(gòu)成24K×8的存儲器,每片一組。 控制線的連接:控制線的連接較簡單,只要將控制總線的讀寫控制信號WE與每一存儲器芯片的讀寫控制線WE直接相連即可。數(shù)據(jù)線的連接:芯片組3、4、5的存儲器芯片都為8位數(shù)據(jù)寬度,將對應(yīng)的8位數(shù)據(jù)線與系統(tǒng)數(shù)據(jù)總線相連即可。芯片組1、2由4片4K×4的存儲器芯片組成,每組兩片,每片的數(shù)據(jù)寬度為4位,因此,將每組其中一片的4位數(shù)據(jù)線連接到系統(tǒng)數(shù)據(jù)總線的D7D4,另一片連接到D3D0。 地

23、址譯碼線的連接:不同規(guī)格芯片的連接,關(guān)鍵在于譯碼器輸入線與輸出的選擇。對于輸入線來說,通常以容量最小的芯片為基礎(chǔ)。因此,容量大的芯片其片內(nèi)高位地址線也要參加譯碼,例8K×8位芯片的A12要參加譯碼,才能保證整個存儲器地址的連續(xù)。本例以最小容量4K×4位的存儲器位基礎(chǔ),32K是4K的8倍,故選用38譯碼器,74LS138 38譯碼器的引腳圖及功能表如圖6-14。根據(jù)38譯碼器的功能表和表6.3的地址分配表,用A14、A13、A12三位地址線作譯碼輸入,譯碼輸出共8條線,由上到下,000選擇第一組芯片,001選擇第二組芯片,第三組至第五組為8K×8位的芯片,有8K個單

24、元,是第一、第二組芯片4K個單元的兩倍,需用兩條譯碼輸出線選擇,故各增加與門一個,由010和011共同選擇第三組芯片,由100和101共同選擇第四組芯片,110和111共同選擇第五組芯片。另外,若系統(tǒng)地址總線有16條,A15地址線未參加譯碼,它可隨機出現(xiàn)0、1兩種情況,若將其加于A14A0決定的任何一個地址碼上,可以出現(xiàn)兩種不同的地址碼。這種現(xiàn)象稱為地址的重合。 由于A15未參加譯碼,因此又稱部分譯碼。部分譯碼時必定會出現(xiàn)地址重合或覆蓋現(xiàn)象。如果A15一起參加譯碼,則稱全譯碼。全譯碼無地址重合的現(xiàn)象,此時,多出的地址范圍空置。要實現(xiàn)全譯碼只需將A15與74LS138的G1相連,此時地址碼的最高

25、位為1;或?qū)15與74LS138的G2a 或G2b相連,此時地址碼的最高位為1動態(tài)RAMDRAM是以MOS管柵極和襯底間電容上的電荷來存儲信息的,由于MOS管柵極上的電荷會因漏電而泄放,故存儲單元中的信息只能保持若干毫秒。為此,要求在13毫秒中周期性地刷新電容上的電荷,而DRAM本身是不具有刷新功能的,這就必須附加刷新邏輯電路。 另外,DRAM將地址分為行地址和列地址,行地址和列地址分時復(fù)用,以減少引腳數(shù)目,因此,DRAM的擴展比較復(fù)雜。 但在設(shè)計存儲器時,常常采用DRAM器件,原因有三: DRAM的集成度高; DRAM的功耗低; DRAM的價格低廉 DRAM的組成早期在IBM PC/XT微

26、型計算機上使用的DRAM是4164芯片。在此以4164為例來說明DRAM的組成。4164是64K×1位的芯片,采用雙列直插式封裝,其結(jié)構(gòu)框圖如下圖所示。64K存儲器需16條地址線,為了減少封裝引腳數(shù),動態(tài)RAM將地址線分為行地址和列地址兩部分,行、列地址共用8條地址線,采用分時復(fù)用的方法訪問存儲器單元。 在訪問存儲器某一單元時,先將低8位地址(A0A7)作為行地址,由行地址選通信號將其鎖存到行地址緩沖器,再由行地址譯碼器產(chǎn)生256個譯碼輸出選擇信號;然后將高8位地址(A8A15)作為列地址,由列地址選通信號將其鎖存到列地址緩沖器,再由列地址譯碼器產(chǎn)生256個譯碼輸出選擇信號。行、列地

27、址選擇線的交叉組合即可對64K位不同單元進行尋址。 4164芯片的存儲器體由4個128×128存儲體組成,每個存儲體與一個128位讀出放大器相連,經(jīng)I/O門控電路及輸出緩沖器,將存儲體中的每一位選擇連接到數(shù)據(jù)總線上。 DRAM的刷新DRAM的存儲單元是以電容中的電荷存儲信息,如果它處于靜態(tài)時,電容中的信息將因電荷泄漏而逐漸消失。為了保持存儲信息的不變,必須反復(fù)對存儲單元進行充電,以恢復(fù)原來的內(nèi)容,這個過程稱為刷新。 DRAM的MOS存儲單元電路采用類似“讀”操作的方式進行刷新。讀出過程恢復(fù)存儲單元的MOS柵極電容電荷,并保持原單元的內(nèi)容不變。讀出過程又叫再生過程。在再生過程中,只發(fā)行

28、地址選擇,不發(fā)片選信號和列地址,每次再生一行。因此,每次對存儲器的每一行進行讀出,就可對存儲器的每一個單元進行刷新。但這些讀寫操作是隨機的,有些單元可能因長時間得不到訪問而丟失信息。因此,刷新必須是定時的。對存儲器上下兩次刷新時間的間隔稱為刷新周期,一般來說,刷新周期為13ms。定時刷新由專門的控制邏輯電路來完成,它不依賴于外部的訪問,所以對CPU來說是透明的。 常用的刷新方法有集中式、分散式和異步式三種。集中式刷新 所謂集中式刷新,是指在允許的最大刷新周期內(nèi),根據(jù)存儲容量的大小和存取周期的長短,集中安排一段刷新時間,在刷新時間內(nèi)停止讀寫操作。例如,某一動態(tài)RAM由128×128存儲

29、矩陣組成,存取周期為0.5s,連續(xù)刷新128行,共需128個讀周期,即一次刷新的總時間為64s。若刷新周期為2ms,那么,2ms內(nèi)有4000個讀寫操作。在這4000個讀寫操作內(nèi),前面3872個周期用來進行讀寫或維持信息,后面128個周期用來刷新。由此圖可以看出,在讀寫操作時,不進行刷新操作,因此,讀寫操作不受刷新操作影響,讀寫速度較高。但在刷新時,必須停止讀寫操作。這段不能進行讀寫操作的時間稱為“死區(qū)”。在本例中,這段“死區(qū)”占4000個周期中的128個,故死時間率為3.2%。分散式刷新 分散式刷新是指把每行存儲單元的刷新分散到每個讀寫周期內(nèi)進行,即把系統(tǒng)對存儲器的訪問周期分為兩段,前一段用來

30、讀寫數(shù)據(jù)或使存儲器處于保持狀態(tài),后一段用來對存儲矩陣的一行進行刷新。這種刷新方式增加了系統(tǒng)對存儲器的存儲時間,避免了“死區(qū)”,但加長了存儲器的存儲時間,降低了整機的處理速度。而且刷新時間過于頻繁,沒有充分利用所允許的最大刷新間隔時間。這種方式不使用于高速存儲器。異步式刷新 異步刷新是上述兩種方法的結(jié)合,它充分利用最大間隔時間并使“死區(qū)”縮短。對于128×128存儲矩陣的芯片來說,每行的刷新間隔時間是2ms/128,即每隔15.6s刷新一行。在2ms內(nèi)分散地對128行輪流刷新一遍,刷新一行是只停止一次讀寫操作時間。這樣,對每一行來說,刷新時間仍為2ms,而“死區(qū)”的長度則縮短為0.5s

31、。DRAM控制器DRAM的訪問與刷新需要由硬件電路的支持,這個硬件電路包括刷新計數(shù)器、刷新/訪存裁決、刷新控制邏輯電路等。這些電路集成在一片半導(dǎo)體芯片上,形成DRAM控制器。DRAM控制器是總線與動態(tài)RAM芯片之間的接口,它將總線信號變換為適合DRAM訪問的信號。DRAM控制器為內(nèi)存的擴展帶來很大方便。 Intel8203就是一個DRAM控制器。它是專門為支持2127、2118和2164DRAM而設(shè)計的。8203內(nèi)部結(jié)構(gòu)從功能上分可分為兩部分:一是地址處理部分,二是時序處理部分,其邏輯框圖如下頁圖所示。地址處理部分用來處理動態(tài)RAM正常讀寫時地址信號和刷新過程中的地址信號。正常讀寫時,地址信號

32、由地址總線提供。對于一般的DRAM,都用行地址和列地址公共用一組引腳來減少引腳數(shù)目。為此,在動態(tài)RAM控制器內(nèi)部,行地址和列地址之間要用一個多路轉(zhuǎn)換器來切換,而在外部,在給出一組地址信號的同時,動態(tài)RAM控制器再輸出RAS或者CAS信號,向DRAM芯片告示此刻輸出的地址到底是行地址還是列地址。所以, RAS和CAS是提供外部DRAM的行地址和列地址的選通信號。 另外一個多路開關(guān)用來實現(xiàn)地址的切換。因為在正常讀寫時,行地址來自地址總線,而在刷新時,行地址來自刷新計數(shù)器。 時序處理部分:8203要產(chǎn)生各種時序,這些時序都來自一個基準(zhǔn)時鐘。 8203的時序處理部分有3個主要輸入端,即RD/S1、WR

33、和REFRQ/ALE。 WR和RD是CPU對內(nèi)存的讀寫信號,REFRQ是專門用來輸入外部刷新請求信號的。從圖中可以看到,8203內(nèi)部有一個刷新定時器,它使動態(tài)RAM每隔2ms就全面地完成一次刷新過程。也就是說,如果沒有外部刷新請求,那么,刷新定時器會每隔1020s就發(fā)一次刷新請求,對動態(tài)RAM進行逐行刷新。但有時候,希望從外部控制刷新定時,這時,就可以從REFRQ端輸入外部刷新請求。 DRAM擴展應(yīng)用舉例以DRAM控制器8203與DRAM2164配合為例,說明DRAM的擴展方法。8203和2164的連接關(guān)系如下圖所示。2164內(nèi)部有4個128×128的基本存儲電路,它們合起來組成64

34、K×1位的存儲容量。但是,2164對外只有8條引腳A7A0,即行地址和列地址共用同一組引腳,這樣,就要靠時序來區(qū)分是行地址還是列地址。8203接受系統(tǒng)總線的地址信號后,先輸出行地址,同時輸出一個負脈沖,作為行地址的選通信號;然后輸出列地址,同時輸出一個負脈沖,作為列地址的選通信號。行地址和列地址的最高位用來確定當(dāng)前操作針對4個矩陣中的那一個。在內(nèi)存刷新周期中,最高位地址不用,這樣,4個矩陣同時被刷新,用128個刷新周期就可以對64K字節(jié)整個刷新一遍。64K字節(jié)是由8片2164芯片構(gòu)成,這8片芯片的地址線和選通信號線分別連接在一起,因此,可以將它們看成4個128×128

35、15;8的立體矩陣。 8203在設(shè)計時,已經(jīng)考慮了使其輸出信號和2164的輸入要求進行很好的配合。由OUT7OUT0先后提供行地址和列地址,和則為模塊中所有的2164提供列地址選通信號和寫信號。8203的地址輸出和2164的輸入正好相位相反,不過,這不會引起什么問題,只是在地址線上為全“0”時,實際上存取的是行地址和列地址為全“1”的字節(jié)。 在8203和2164相連時,體選輸出端只有和可用,也就是說,一般情況下,一塊8203可以連接2個64K的存儲組。而在8203和2117、2118相連時,均為可用,這樣,可以用一塊8203連接4個16K的存儲組。不過,在16位數(shù)據(jù)總線系統(tǒng)中,一般按“字”進行

36、存取。在按字存取的情況下,2個存儲組(分別存放高位字節(jié)和低位字節(jié))一起被選中,所以,2個存儲組共用1個體選信號,比如。這樣,一個8203實際上就可以連接4個64K的存儲組,即一共連接32塊2164芯片,組成256K的模塊。在按字節(jié)存取的情況下,利用體選信號、和低位字節(jié)有效信號、高位字節(jié)有效信號組合起來,實現(xiàn)對4個存儲組中某1組的選擇。 只讀存儲器只讀存儲器ROM的特點是一旦ROM中有了信息,就不會輕易改變,也不會在掉電時丟失,它們在計算機中是只供讀出的存儲器。 ROM器件有兩個顯著的優(yōu)點: 結(jié)構(gòu)簡單,位密度比RAM高。 非易失性,信息存儲可靠性高。 ROM可以分為以下4種。 掩膜型ROM或者簡

37、稱ROM 可編程只讀存儲器PROM 可擦除可編程的只讀存儲器EPROM 可用電擦除的可編程的只讀存儲器EEPROM掩膜型ROM掩膜型ROM中的信息是廠家根據(jù)用戶給定的程序或數(shù)據(jù)對芯片進行2次光刻而決定的。根據(jù)制造技術(shù),掩膜型ROM又可分為MOS型和雙極型兩種。MOS型功耗小,但速度比較慢,微型計算機系統(tǒng)中用的ROM主要是這種類型。雙極型速度比MOS型快,但功耗大,只用在速度要求較高的系統(tǒng)中。 在數(shù)量較少時,掩膜ROM的造價很貴,但是,如果進行批量生產(chǎn),那么,就相當(dāng)便宜。 掩膜ROM的引腳信號比較簡單,只有1組地址輸入引腳,1組數(shù)據(jù)輸出引腳和1個片選信號及1個芯片輸出使能端??删幊痰腞OM(PR

38、OM)可編程的ROM便于用戶按照自己的需要來寫入信息。這種ROM一般由二極管矩陣組成,寫入時,利用外部引腳輸入地址,對其中的二極管鍵進行選擇,使某一些被燒斷,某一些保持原狀,于是就進行了編程。那些保持原狀的二極管鍵代表“1”,而那些燒斷的二極管鍵代表“0”。PROM一旦進行了編程,就不能再進行編程了。 PROM的價格和數(shù)量無關(guān),但是PROM的電路和工藝比ROM復(fù)雜,又具有可編程的特性,所以,價格比較貴。一般在非批量使用時,用PROM比用掩膜ROM要便宜;在批量使用時,則掩膜ROM比較便宜??刹脸?、可編程的ROM(EPROM)EPROM是一種可以多次進行擦除和重寫的ROM。 在EPROM中,信息

39、的存儲是通過電荷分布來決定的,所以,編程過程就是一個電荷注入過程。編程結(jié)束后,盡管撤除了電源,但是,由于絕緣層的包圍,注入的電荷無法泄漏,因此,電荷分布能維持不變,也就是說,EPROM也是一種非易失性的存儲器件。 只有當(dāng)一個外部能源(比如紫外線光源)加到EPROM上時,EPROM內(nèi)部的電荷分布才會被破壞,此時,聚集在各基本存儲電路中的電荷會形成光電流泄漏走,使電路恢復(fù)為初始狀態(tài),從而擦除了寫入的信息,這樣的EPROM可以寫入新的信息。不過,EPROM的寫入過程很慢,所以,它仍然是作為只讀存儲器放在計算機系統(tǒng)中使用。為了使EPROM具有可修改性,EPROM和其他集成電路的包裝不同,如下圖所示。在

40、EPROM芯片上方,有一個石英窗,從而允許紫外線穿過而照射到電路上。將EPROM放在紫外線光源下照射30分鐘(一般為15分鐘,視具體型號而異)后,EPROM中的內(nèi)容就會抹除,于是,就可以重新對它編程。以Intel 2764為例,介紹EPROM的幾種工作方式Intel 2764是一種位容量為8K×8的EPROM,它有13條地址線(A12A0),8條數(shù)據(jù)線(D7D0),2條電壓輸入端VPP和VCC,除此以外,還有一條芯片允許端和編程脈沖控制端PGM。 Intel 2764有4種工作方式,即讀方式、編程方式、校驗方式和備用方式。讀方式在讀方式下VPP和VCC接5V電壓,地址輸入端A12A0

41、用來輸入存儲單元的地址,編程脈沖控制端PGM和芯片允許端連在一起,當(dāng)這兩端為低電平即有效時,數(shù)據(jù)線上便出現(xiàn)所尋址單元的內(nèi)容。這種方式和掩膜ROM的讀出方式幾乎一樣。下圖是2764的讀方式時序圖,這里要注意的一點就是芯片允許信號必須在地址穩(wěn)定以后有效,才能保證讀得所需單元的數(shù)據(jù)。編程方式在編程方式下,VCC仍加+5V電壓,但VPP引腳要按廠家要求加上+12+25V的電壓,引腳為高電平,從A12A0端輸入要編程的單元地址,在D7D0端輸入數(shù)據(jù),這時,再在PGM端加上+5V編程脈沖,便可進行編程。下圖左半部分就是2764編程方式時序,其中要注意的一點就是必須在地址和數(shù)據(jù)穩(wěn)定之后,才能加上編程脈沖。

42、校驗方式校驗方式總是與編程方式配合使用的,以便在每次寫入一個字節(jié)數(shù)據(jù)之后,緊接著將寫入的數(shù)據(jù)讀出,去檢查寫入的數(shù)據(jù)是否正確。在校驗方式下,VPP和VCC與編程方式時候的接法一樣,端為低電平,編程脈沖控制端也為低電平。上頁圖的右半部分就是校驗方式時序圖。備用方式EPROM除了讀方式、編程方式和校驗方式外,還有一種備用方式。要使EPROM工作在備用方式,只要使PGM端輸入一個TTL高電平即可。在備用方式下,芯片功耗下降為讀方式下的25%,此時,數(shù)據(jù)輸出端為高阻抗?fàn)顟B(tài)??捎秒姴脸?、可編程的ROM(E2PROM)可用電擦除的可編程ROM簡稱EEPROM。這種器件和EPROM的外型和管腳分布十分相似,

43、只是擦除過程不需要用紫外線光源。 EEPROM通常有4種工作方式,即讀方式、寫方式、字節(jié)擦除方式和整體擦除方式。下表列出了EEPROM Intel 2815的工作方式及各種方式下的信號電平。從表中可以看到,根據(jù)、和VPP的不同,就可選擇其中某種工作方式。 讀方式是E2PROM最經(jīng)常使用的工作方式,此時,地址輸入端為所需讀取的存儲單元的地址,、均為低電平,VPP加46V電壓,輸出端便會得到讀得的數(shù)據(jù)。 寫方式時,從地址輸入端上輸入要寫入數(shù)據(jù)的單元地址,數(shù)據(jù)輸入端為要寫入的數(shù)據(jù),端和端均為高電平,VPP加+21V電壓即可。 在字節(jié)擦除方式下,由地址端輸入要擦除的字節(jié)的地址,為低電平,為高電平,VP

44、P上要加上+21V電壓,數(shù)據(jù)端則要加上TTL電平,這樣即可以對指定字節(jié)進行擦除。 整體擦除方式可以使整片E2PROM回到初始狀態(tài)。在整體擦除方式下,端為低電平,端要加上+9V+15V高電平,VPP端加21V電壓,數(shù)據(jù)端和字節(jié)擦除方式時一樣,要加上TTL電平。6.3 并行主存儲器所謂并行主存儲器,是指在一個主存周期內(nèi)可以并行讀取多個數(shù)據(jù)字的主存儲器。通常采用單體多字和交叉存取方式。 尋址方式有單體多字尋址方式、多體存儲器的尋址方式和多體交叉尋址方式。單體多字尋址方式當(dāng)并行的存儲器共用一套地址寄存器和地址譯碼電路時稱為單體方式,其結(jié)構(gòu)原理圖如下。多個并行存儲器與同一地址寄存器連接,所以同時被一個單

45、元地址驅(qū)動,一次訪問讀出的是沿n個存儲器順序排列的n個字,故也稱單體多字方式。 與單體單字結(jié)構(gòu)的存儲器相比,單體多字尋址方式在存取速度方面有明顯的優(yōu)點,因為,單體單字存儲器的每一個主存周期只能讀出一條指令或一個數(shù)據(jù),在取指和讀取數(shù)據(jù)的周期內(nèi),CPU處于等待狀態(tài),因此工作效率低。在本例所示的單體4字的尋址方式中,一次能讀出4個字長為w位的數(shù)據(jù)或指令,然后再以單字長的形式送給CPU執(zhí)行。多體存儲器的尋址方式下圖是多體存儲器原理圖計算機系統(tǒng)中的大容量主存是由多個存儲體組成的,每個存儲體都有自己的讀寫線路、地址寄存器和數(shù)據(jù)寄存器,能以同等的方式與CPU交換信息,每個存儲體容量相等,它們既能同時工作又獨

46、立編址。這種結(jié)構(gòu)的尋址方式有利于并行處理,能夠?qū)崿F(xiàn)多個分體的并行操作,一次訪問并行處理的n個字,不像單體方式那樣一定是沿存儲器順序排列的存儲單元內(nèi)容,而是分別由各分體的地址寄存器指示的存儲單元的內(nèi)容。因為各分體工作獨立,因此,只要進行合理的調(diào)度,就能實現(xiàn)并行處理,兩個存儲體可以同時進行不同的操作。例如一個存儲體被CPU訪問時,另一個存儲體可用來與外部設(shè)備進行直接存儲器存?。―MA)操作。多體交叉尋址方式多體交叉是多體存儲器的另一種組織形式,下面以一個四體交叉存儲器的組織形式為例,來說明多體交叉存儲器的工作原理。下圖是四體交叉原理圖。多體交叉尋址方式與多體存儲器尋址方式不同,多體存儲器是以高位地

47、址作為模塊號,低位地址作為體內(nèi)地址,每個模塊體內(nèi)地址是連續(xù)的;多體交叉尋址方式是以低位地址作為模塊號,高位地址作為體內(nèi)地址,各模塊間地址編號采用交叉方式。上圖所示的4個模塊M0、M1、M2、M3的編址如下表所示??騼?nèi)序號表示存儲單元的地址編號J=0,1,2。n體交叉尋址方式的規(guī)則滿足以下4點地址連續(xù)的兩個單元分布在相鄰的兩個模塊中,地址按模塊號方向順序編號。 同一模塊內(nèi)相鄰的兩個單元地址之差等于n。例如在四體交叉存儲器結(jié)構(gòu)方式下,兩個單元地址之差等于4。 任何一個存儲單元的二進制地址編號的末lg2n位正好指示該單元所屬模塊的編號,訪問主存時只要判斷這幾位就能決定訪問的是那個存儲模塊。在四體交叉

48、存儲器結(jié)構(gòu)方式下,M0模塊的每個單元地址的二進制編碼最后兩位都是00,M1模塊都是01,M2模塊的都是02,M3模塊的都是03。 同一模塊內(nèi)每個單元地址除去模塊號后的高位地址正好是模塊內(nèi)單元的順序號,由此就可決定訪問單元在模塊中的位置。6.4 高速緩沖存儲器 高速緩沖存儲器的工作原理CPU在一段較短的時間內(nèi),是對連續(xù)地址的一段很小的主存空間進行訪問。對于數(shù)組這類數(shù)據(jù)結(jié)構(gòu),在主存中存放的地址空間也是連續(xù)的。因此,CPU對主存的局部地址空間訪問較為頻繁,而對此范圍以外的訪問甚少,這種現(xiàn)象稱為程序訪問的局部性。根據(jù)局部性原理,在CPU和主存之間,設(shè)置一個存取速度高而容量相對較小的存儲器,是解決計算機

49、系統(tǒng)速度瓶頸問題的一個有效措施。這一高速的容量較小的存儲器稱為高速緩沖存儲器(Cache),和主存構(gòu)成“Cache主存”的層次結(jié)構(gòu)。CPU對位于主存的正在運行的程序和處理的數(shù)據(jù)建立一個副本,存放在高速緩沖存儲器Cache中,CPU就可直接從Cache中取指令執(zhí)行程序和處理數(shù)據(jù),從而大大提高了計算機運行程序的速度。高速緩沖存儲器的基本結(jié)構(gòu) 高速緩沖存儲器Cache由存儲體、Cache-主存地址映像和Cache替換機構(gòu)組成,結(jié)構(gòu)如下圖所示。Cache存儲體是以一定的字容量所組成的存儲模塊,盡管它的位置介于CPU和主存之間,但CPU對它訪問的功能全部由硬件實現(xiàn),因此,Cache對程序員來說是透明的。

50、Cache的存儲體和主存一樣被分成若干個塊,每個塊稱為一頁,頁的容量通常為在一個主存周期內(nèi)能夠訪問主存的字?jǐn)?shù)。 Cache存儲體的容量和頁的大小是影響Cache工作效率的重要因素,通常以“命中率”來衡量Cache的效率。所謂命中率,是指CPU所要訪問的信息在Cache中的比率。相反,將CPU所要訪問的信息不在Cache中的比率稱為失效率。一般來說,Cache存儲體的容量比主存小得多,但不能太小,太小了會使命中率降低;Cache存儲體的容量也不能過大,過大了會增加成本,使整個計算機系統(tǒng)的性能價格比降低。 地址映像地址映像功能是把CPU發(fā)送來的主存地址轉(zhuǎn)換成Cache地址。主存地址由標(biāo)記(段號)、

51、塊(頁)號和塊(頁)內(nèi)地址三部分組成,Cache的地址由塊(頁)號和塊(頁)內(nèi)地址兩部分組成。主存與Cache的塊(頁)的地址相同,主存的塊(頁)號與Cache的塊(頁)號對應(yīng)。在Cache中,還有一個標(biāo)記,它以Cache地址中的塊(頁)號為地址,該單元內(nèi)存放著該塊所對應(yīng)的主存塊的段號。當(dāng)CPU送來主存地址時,首先用塊號去訪問Cache的標(biāo)記,如果取出的內(nèi)容和段號相同,說明CPU要訪問的內(nèi)容已經(jīng)在Cache中,稱為命中,其塊號和塊內(nèi)地址就是訪問Cache的地址;如果從Cache標(biāo)記中取出的內(nèi)容和段號不相同,表示CPU當(dāng)前訪問的內(nèi)容不在Cache中,稱為塊失效,這時,CPU則用主存地址從主存中取

52、出所需的內(nèi)容,并把它存放到Cache中,若不能裝入Cache,則應(yīng)啟動替換算法,根據(jù)某種替換策略,把該塊替換到Cache中。 替換機構(gòu)當(dāng)發(fā)生塊失效現(xiàn)象時,應(yīng)將從主存中取出的內(nèi)容存放到Cache中。若Cache中尚有空閑的塊,則可將新的內(nèi)容寫入;若Cache中的塊都已裝滿,則需要進行替換。替換機構(gòu)是按替換算法設(shè)計的,其作用是指出應(yīng)該替換的塊號。替換算法與Cache的命中率密切相關(guān),替換機構(gòu)由硬件實現(xiàn)。高速緩沖存儲器的讀寫操作 Cache的讀操作 CPU在執(zhí)行讀操作指令時,由地址總線發(fā)出地址信號,地址信號經(jīng)地址映像產(chǎn)生兩種情況中的一種:一種是命中,另一種是未命中。若為命中,即所需的信息已經(jīng)在Cache中,CPU通過硬件電路直接訪問Cache;若沒有命中,即CPU訪問的信息不在Cache中,那么,CPU就要訪問主存,并把訪問的信息調(diào)入Cache。在把從主存讀出的信息存入Cache時,如果Cache中無空閑的塊,則利用替換機構(gòu)找出一個舊塊,把該塊

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論