




已閱讀5頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章 存儲(chǔ)系統(tǒng),6.1 存儲(chǔ)器概述 6.2 隨機(jī)讀寫存儲(chǔ)器 6.3 只讀存儲(chǔ)器 6.4 高速緩沖存儲(chǔ)器 6.5 虛擬存儲(chǔ)器 6.6 存 儲(chǔ) 保 護(hù),6.1 存儲(chǔ)器概述,6.1.1 存儲(chǔ)器的分類 存儲(chǔ)器是計(jì)算機(jī)系統(tǒng)中用于存放程序和數(shù)據(jù)的記憶設(shè)備。 1按存儲(chǔ)介質(zhì)分類 用半導(dǎo)體器件組成的存儲(chǔ)器稱為半導(dǎo)體存儲(chǔ)器,目前半導(dǎo)體存儲(chǔ)器有兩大類:一類是雙極型半導(dǎo)體存儲(chǔ)器,一類是MOS型半導(dǎo)體存儲(chǔ)器。,2按存取方式分類 有些存儲(chǔ)器存儲(chǔ)的內(nèi)容既能讀出又能寫入,這種存儲(chǔ)器稱為隨機(jī)存儲(chǔ)器(Random Access Memory,RAM)。RAM中存儲(chǔ)的信息會(huì)隨著電源的斷開而丟失,因此又稱為易失性存儲(chǔ)器。 有些半導(dǎo)體存儲(chǔ)器存儲(chǔ)的內(nèi)容是固定不變的,即只能讀出而不能寫入,這種存儲(chǔ)器稱為只讀存儲(chǔ)器(Read Only Memory,ROM)。ROM可分為固定掩模式只讀存儲(chǔ)器(MROM)、可編程只讀存儲(chǔ)器(PROM)、光可擦除可編程只讀存儲(chǔ)器(EPROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)。,3按信息的可保存性分類 斷電后信息就消失的存儲(chǔ)器稱為非永久記憶存儲(chǔ)器(易失性存儲(chǔ)器),如RAM。斷電后仍能保存信息的存儲(chǔ)器稱為永久性記憶存儲(chǔ)器(非易失性存儲(chǔ)器),如磁性材料做成的存儲(chǔ)器。 4按在計(jì)算機(jī)系統(tǒng)中的作用分類 根據(jù)存儲(chǔ)器在計(jì)算機(jī)系統(tǒng)中起的作用,可分為內(nèi)存儲(chǔ)器(主存儲(chǔ)器)、外存儲(chǔ)器(輔助存儲(chǔ)器)和高速緩沖存儲(chǔ)器等。,6.1.2 存儲(chǔ)器的分級(jí)結(jié)構(gòu),存儲(chǔ)器通常采用多級(jí)存儲(chǔ)器體系結(jié)構(gòu),即用高速緩沖存儲(chǔ)器(Cache)、主存儲(chǔ)器和外存儲(chǔ)器。CPU能夠直接訪問(wèn)內(nèi)存儲(chǔ)器,包括高速緩沖存儲(chǔ)器和主存儲(chǔ)器。CPU不能直接訪問(wèn)外存儲(chǔ)器,外存儲(chǔ)器的信息必須被調(diào)入到內(nèi)存儲(chǔ)器后才能被CPU處理。存儲(chǔ)器系統(tǒng)的層次結(jié)構(gòu)如下圖所示。,1高速緩沖存儲(chǔ)器 高速緩沖存儲(chǔ)器簡(jiǎn)稱高速緩存,又稱為Cache,它是計(jì)算機(jī)系統(tǒng)中的一個(gè)容量小而速度快的存儲(chǔ)器,其價(jià)格也是最貴的。CPU可以直接訪問(wèn)Cache,因?yàn)槠渌俣扰cCPU的速度差不多,從而可以提高CPU的利用率。 2主存儲(chǔ)器 主存儲(chǔ)器簡(jiǎn)稱主存,是計(jì)算機(jī)系統(tǒng)中的主要存儲(chǔ)器,用來(lái)存放計(jì)算機(jī)運(yùn)行期間的大量程序和數(shù)據(jù)。它可以和Cache交換數(shù)據(jù)和指令。 3外存儲(chǔ)器 外存儲(chǔ)器簡(jiǎn)稱外存,它是大容量的輔助存儲(chǔ)器。目前主要使用磁盤存儲(chǔ)器和光盤存儲(chǔ)器。外存的特點(diǎn)是存儲(chǔ)容量大、成本低,通常用來(lái)存放系統(tǒng)程序和大型數(shù)據(jù)文件及數(shù)據(jù)庫(kù)等。,上述3類存儲(chǔ)器構(gòu)成計(jì)算機(jī)的多級(jí)存儲(chǔ)管理系統(tǒng),各級(jí)存儲(chǔ)器承擔(dān)的職能各不相同。其中Cache主要用來(lái)快速存取,以便使存取速度和CPU的運(yùn)算速度相匹配;外存存儲(chǔ)容量大,以滿足計(jì)算機(jī)大容量存儲(chǔ)的要求;主存介于Cache和外存之間,選取恰當(dāng)?shù)拇鎯?chǔ)容量和存取周期,使它能容納系統(tǒng)的核心軟件和較多的用戶程序。,6.1.3 存儲(chǔ)器的性能指標(biāo),存儲(chǔ)器的性能指標(biāo)主要是存儲(chǔ)容量、存取時(shí)間、存儲(chǔ)周期和存儲(chǔ)器帶寬。 1存儲(chǔ)容量 在一個(gè)存儲(chǔ)器中可以容納的存儲(chǔ)單元總數(shù)為該存儲(chǔ)器的存儲(chǔ)容量,通常用字?jǐn)?shù)或字節(jié)數(shù)來(lái)表示,如64KB。存儲(chǔ)容量越大,能存儲(chǔ)的信息就越多。在計(jì)算機(jī)中,1K相當(dāng)于1024個(gè)存儲(chǔ)單元。為了表示更大的存儲(chǔ)容量,采用GB、TB等單位。其中1KB=210B,1MB=220B,1GB=230B。B表示字節(jié),1B=8bit,即一個(gè)字通常是由8位二進(jìn)制數(shù)組成。存儲(chǔ)容量這一概念反映了存儲(chǔ)空間的大小。 2存取時(shí)間 存取時(shí)間又稱為存儲(chǔ)器訪問(wèn)時(shí)間,是指從啟動(dòng)一次存儲(chǔ)器操作到完成該操作所經(jīng)歷的時(shí)間,即將數(shù)據(jù)讀入數(shù)據(jù)緩沖寄存器位置所經(jīng)歷的時(shí)間。,3存儲(chǔ)周期 從存儲(chǔ)器接到讀命令到指定地址的信息被讀出,并穩(wěn)定在存儲(chǔ)器數(shù)據(jù)寄存器或數(shù)據(jù)總線上的時(shí)間,稱為讀周期,反之將數(shù)據(jù)寫入存儲(chǔ)器的時(shí)間,稱為寫周期。從上一次訪問(wèn)存儲(chǔ)器到下一次訪問(wèn)存儲(chǔ)器所需要的最短時(shí)間,稱為存儲(chǔ)周期。存儲(chǔ)周期表示存儲(chǔ)的速度,內(nèi)存的外頻即存儲(chǔ)周期的倒數(shù)。 4存儲(chǔ)器帶寬 存儲(chǔ)器帶寬是指單位時(shí)間內(nèi)存儲(chǔ)器所存取的信息量,通常以位/秒或字節(jié)/秒作為度量單位。,6.2 隨機(jī)讀寫存儲(chǔ)器(RAM),目前,廣泛使用的半導(dǎo)體存儲(chǔ)器是MOS型半導(dǎo)體存儲(chǔ)器。根據(jù)存儲(chǔ)信息原理的不同,MOS型半導(dǎo)體存儲(chǔ)器分為靜態(tài)MOS存儲(chǔ)器(SRAM)和動(dòng)態(tài)MOS存儲(chǔ)器(DRAM)。 半導(dǎo)體存儲(chǔ)器的優(yōu)點(diǎn)是存儲(chǔ)體積小,可靠性高,價(jià)格低廉;缺點(diǎn)是斷電后存儲(chǔ)器不能保存信息。,6.2.1 SRAM存儲(chǔ)器,1基本存儲(chǔ)單元 基本存儲(chǔ)單元是組成存儲(chǔ)器的基礎(chǔ)和核心,SRAM的基本存儲(chǔ)單元電路是由6個(gè)MOS管組成的雙穩(wěn)態(tài)觸發(fā)器,如左圖所示。,圖中,T3、T4管是負(fù)載管,T1、T2管為工作管,這個(gè)電路具有兩個(gè)不同的穩(wěn)定狀態(tài)。當(dāng)T1截止時(shí),A點(diǎn)為高點(diǎn)位,使T2管導(dǎo)通,此時(shí)B點(diǎn)處于低點(diǎn)位,而B點(diǎn)的低電位又保證了T1的截止,這是一個(gè)穩(wěn)定狀態(tài);反之,如果T1管導(dǎo)通,則A點(diǎn)處于低點(diǎn)位,使T2管截止,這也是一個(gè)穩(wěn)定狀態(tài)。因此,這兩種狀態(tài)分別可以用0或1表示。 T5T8管為控制管或開門管。由存儲(chǔ)元組成存儲(chǔ)器時(shí),必須能夠控制按地址選擇存儲(chǔ)單元的操作。利用T5、T6管作為觸發(fā)器的讀出、寫入控制電路,由行地址選擇信號(hào)的控制,就形成了如上頁(yè)圖所示的基本存儲(chǔ)單元電路。, 寫操作:寫操作時(shí),通過(guò)兩條I/O線提供寫入的數(shù)據(jù)信號(hào)。例如,寫入1信號(hào)時(shí),在I/O送低電平信號(hào),在I/O送高電平信號(hào),當(dāng)?shù)刂纷g碼線送來(lái)高電平信號(hào),MOS管T5和T6將導(dǎo)通,使觸發(fā)器狀態(tài)保持不變,或使觸發(fā)器狀態(tài)翻轉(zhuǎn)為1狀態(tài)。而寫入0信號(hào)時(shí),則需在I/O送高電平信號(hào),在I/O送低電平信號(hào)。 讀操作:讀操作時(shí),只要該電路被選中,則T5、T6管導(dǎo)通,于是T1管的狀態(tài)被送到I/O線上,T2管的狀態(tài)被送到I/O線上,這就讀出了原來(lái)存儲(chǔ)的信息。此讀取過(guò)程對(duì)存儲(chǔ)信息是非破壞性的,即讀操作后所存儲(chǔ)的信息不變。,2SRAM存儲(chǔ)器的組成 SRAM存儲(chǔ)器是由存儲(chǔ)器、讀寫電路、地址譯碼電路和控制電路等組成的,如下圖所示:,圖中所示存儲(chǔ)體是一個(gè)由6464=4096個(gè)6管靜態(tài)存儲(chǔ)電路組成的存儲(chǔ)矩陣。在存儲(chǔ)矩陣中,同一行的64個(gè)存儲(chǔ)電路的行選擇端被接在同一根行選擇線上,共有64根行選擇線(X0,X2,X63),由X地址譯碼器的輸出提供行選擇信號(hào)。同一列中的64個(gè)存儲(chǔ)電路用同一位線,由列選擇線控制它們與I/O電路連通,共有64根列選擇線(Y0,Y1,Y63),由Y地址譯碼器的輸出提供列選擇信號(hào)。 地址碼由12位地址碼(A0,A1,A11)組成。其中A0A5經(jīng)X地址譯碼器譯碼,選中存儲(chǔ)矩陣中的某一行,此行中的所有存儲(chǔ)電路的選通門都被打開。地址碼A6A11經(jīng)Y地址譯碼器譯碼,選中存儲(chǔ)矩陣中的某一列,此列中的所有存儲(chǔ)電路的選通門都被打開。只有行、列同時(shí)被選中的存儲(chǔ)單元才能進(jìn)行信息的讀出與寫入。,圖中存儲(chǔ)器的字長(zhǎng)為1位,因此僅有一組I/O電路,對(duì)于字長(zhǎng)為8位的存儲(chǔ)器,則應(yīng)有8個(gè)存儲(chǔ)電路與外界交換信息,對(duì)于這種存儲(chǔ)器,將列按8位分組,每根列選擇線控制一組列的列向門同時(shí)打開。I/O電路也相應(yīng)有8個(gè),每一組的同一位共用一個(gè)I/O電路。 目前實(shí)用的存儲(chǔ)器通常由多個(gè)RAM芯片組成來(lái)克服單個(gè)RAM芯片存儲(chǔ)容量少的弱點(diǎn)。這樣,地址不同的存儲(chǔ)單元就有可能處于不同的芯片中,因此在地址選擇時(shí),應(yīng)首先進(jìn)行芯片的選擇。在芯片的片選信號(hào)被置為有效后,便可以對(duì)該芯片進(jìn)行讀或?qū)懖僮鳌?3SRAM存儲(chǔ)器與CPU的連接方法 CPU對(duì)存儲(chǔ)器進(jìn)行讀/寫操作,首先由地址總線給出地址信號(hào),然后發(fā)出讀操作或?qū)懖僮鞯目刂菩盘?hào),最后在數(shù)據(jù)總線上進(jìn)行信息交流。因此,存儲(chǔ)器與CPU連接時(shí),要完成地址線、數(shù)據(jù)線和控制線的連接。 由于目前生產(chǎn)的存儲(chǔ)器芯片的容量是有限的,所以需要在字向和位向兩方面進(jìn)行擴(kuò)充才能滿足實(shí)際存儲(chǔ)器的容量要求,通常采用位擴(kuò)展法、字?jǐn)U展法和字位擴(kuò)展法。,(1)位擴(kuò)展法 位擴(kuò)展法是進(jìn)行位數(shù)的擴(kuò)充(加大字長(zhǎng)),存儲(chǔ)器的字?jǐn)?shù)與存儲(chǔ)芯片的字?jǐn)?shù)相同。假如使用8K1位的RAM存儲(chǔ)器芯片,那么組成8K8位的存儲(chǔ)器可采用如下圖所示的位擴(kuò)展法。,(2)字?jǐn)U展法 字?jǐn)U展法是僅在字上擴(kuò)充,而位數(shù)不變,因此將芯片的地址線、片選線、讀寫控制線并聯(lián),而由片選信號(hào)來(lái)區(qū)分各片地址,將片選信號(hào)端連接到片選譯碼器的輸出端。 例如,用16K8位的存儲(chǔ)器芯片組成64K8位的存儲(chǔ)器,需要用4片16K8的存儲(chǔ)器芯片(如下頁(yè)圖所示)和4個(gè)芯片的數(shù)據(jù)線與數(shù)據(jù)總線D0D7相連,地址總線的位地址A0A13與4個(gè)芯片的14位地址端相連接,兩位高地址A14、A15經(jīng)譯碼器和4個(gè)片選端相連。,地址空間分配見下表,(3)字位擴(kuò)展法 實(shí)際工作的存儲(chǔ)器通常在字位方向上都要擴(kuò)展。一個(gè)存儲(chǔ)器的容量假定為MN位,若使用lk位的芯片(lM,kN),需要在字向和位向同時(shí)進(jìn)行擴(kuò)展,此時(shí)共需要(M/l)(N/k)個(gè)存儲(chǔ)器芯片。例如,用256K8位的存儲(chǔ)芯片設(shè)計(jì)容量為2048K32位的存儲(chǔ)器,則需存儲(chǔ)芯片數(shù)為:(2048K / 256K)(32 /8)= 32。由每組4片存儲(chǔ)芯片完成位擴(kuò)展,8組這樣的存儲(chǔ)芯片完成字?jǐn)U展。,字位擴(kuò)展法組成的2048K32位的RAM如下圖所示:,4半導(dǎo)體存儲(chǔ)器的設(shè)計(jì)步驟 (1)選擇存儲(chǔ)芯片 選擇存儲(chǔ)芯片時(shí)應(yīng)該從存儲(chǔ)速度的快慢、存儲(chǔ)容量的大小、電源電壓的穩(wěn)定性、成本的高低等方面綜合考慮存儲(chǔ)器芯片的好壞。 (2)選定芯片數(shù)量 有時(shí)會(huì)遇到單個(gè)芯片不夠用的情況:一種情況是單個(gè)芯片的位數(shù)不能夠滿足系統(tǒng)字長(zhǎng)的要求,這時(shí)便需要多片芯片組合來(lái)滿足要求,具體的芯片數(shù)=總字長(zhǎng)/每片的字長(zhǎng);另一種情況是單個(gè)芯片在容量上難以滿足系統(tǒng)的要求,此時(shí)要用到的芯片數(shù)=總?cè)萘?每片的容量。,(3)考慮CPU總線的負(fù)載能力 由于目前使用的半導(dǎo)體存儲(chǔ)器多數(shù)是MOS電路,直流負(fù)載小,在小型機(jī)系統(tǒng)中可以與CPU直接連接。而在較大的系統(tǒng)中,就應(yīng)當(dāng)考慮CPU是否有足夠的驅(qū)動(dòng)能力,需要時(shí)必須選擇有相當(dāng)驅(qū)動(dòng)能力的緩沖器。 (4)存儲(chǔ)器的地址分配和選片 RAM和ROM組成了主存儲(chǔ)器,而RAM內(nèi)部又被分成了幾個(gè)區(qū),有的用于存放系統(tǒng)數(shù)據(jù),有的用于存放用戶數(shù)據(jù),了解主存儲(chǔ)器的地址分配無(wú)論對(duì)于了解硬件的工作原理還是編程都很有好處。 (5)連接控制專線 為了實(shí)現(xiàn)CPU對(duì)存儲(chǔ)器的正確控制,除了有片內(nèi)地址線、片選信號(hào)線、讀/寫控制線和數(shù)據(jù)線等的連接之外,還要考慮附加控制存儲(chǔ)器等的連線。,6.2.2 DRAM存儲(chǔ)器,靜態(tài)存儲(chǔ)器的優(yōu)點(diǎn)是只需一個(gè)時(shí)鐘脈沖控制,讀出后也不必進(jìn)行數(shù)據(jù)恢復(fù)工作,結(jié)構(gòu)簡(jiǎn)單,可靠性高,速度快;缺點(diǎn)是電路中管子多,占用面積大,而且一直有電流流過(guò),功耗大,不利于提高集成度和降低成本。 如果把信息以電荷的形式存儲(chǔ)在電容上,用1表示有電荷,用0表示無(wú)電荷,讀出或?qū)懭霑r(shí),以電容的放電或充電形式進(jìn)行,這樣就組成了存儲(chǔ)電路。MOS型動(dòng)態(tài)存儲(chǔ)電路就是基于這一設(shè)想。,下面介紹由4個(gè)MOS組成的DRAM的基本存儲(chǔ)單元電路。 1DRAM存儲(chǔ)器的工作原理 4管DRAM的基本存儲(chǔ)單元電路是在6管SRAM的基本存儲(chǔ)單元電路的基礎(chǔ)上發(fā)展而來(lái)的。在6管靜態(tài)存儲(chǔ)元電路中,信息暫存于T1、T2管的柵極,這是因?yàn)楣茏涌偸谴嬖谥欢ǖ碾娙?。?fù)載管T3、T4用于給這些存儲(chǔ)電荷補(bǔ)充電荷。由于MOS的柵極電阻很高,故泄漏電流很小,在一定的時(shí)間內(nèi)這些信息電荷可以維持住。為了減少管子以提高集成度,把負(fù)載管T3、T4去掉,這樣就變成了4管的動(dòng)態(tài)存儲(chǔ)電路,如圖所示。,T5、T6仍為控制管,由字選擇線控制。當(dāng)選擇線為高電平時(shí),T5、T6管導(dǎo)通,則存儲(chǔ)電路的A、B點(diǎn)與位線D、D分別相連,再通過(guò)T7、T8管與外部數(shù)據(jù)線I/O和I/O相通。同時(shí)在一列的位線上接有兩個(gè)公共的預(yù)充管T9、T10 。 (1)寫操作:當(dāng)寫入時(shí),I/O與I/O加相反的電平,字選擇線的高電平打開T5、T6管,因而所存的信息送至A、B端,將信息存儲(chǔ)在T1、T2管的柵極電容上。當(dāng)T5、T6管截止時(shí),靠T1、T2管柵極電容的存儲(chǔ)作用,在一定時(shí)間內(nèi)(2ms)可以保留所寫入信息。 (2)讀操作:當(dāng)讀出時(shí),先給出預(yù)充信號(hào),使T9、T10 管導(dǎo)通,于是電源就向位線D和D上的電容充電,使它們達(dá)到電源電壓。當(dāng)字選擇線使T5、T6管導(dǎo)通時(shí),存儲(chǔ)的信息通過(guò)A、B端位線輸出。若原存信息為1,則電容C2上存有電荷,T2管導(dǎo)通,而T1管截止,因此D上的預(yù)充電荷經(jīng)T2管泄漏,故在D=0時(shí),而D仍為1,信號(hào)通過(guò)I/O和I/O線輸出。與此同時(shí),D上的電荷可以通過(guò)A點(diǎn)向C2補(bǔ)充。故讀出過(guò)程也是刷新的過(guò)程。,2DRAM存儲(chǔ)器的刷新 DRAM存儲(chǔ)器的存儲(chǔ)單元以電容來(lái)存儲(chǔ)信息,電路簡(jiǎn)單。但電容總有漏電存在,時(shí)間長(zhǎng)了存放的信息就會(huì)丟失或出現(xiàn)錯(cuò)誤。因此需要對(duì)這些電容定時(shí)充電,這個(gè)過(guò)程稱為“刷新”,即定時(shí)地將存儲(chǔ)單元中的內(nèi)容讀出再寫入。由于需要刷新,所以這種RAM稱為動(dòng)態(tài)RAM。DRAM的存取速度與SRAM的存取速度差不多。其最大的優(yōu)點(diǎn)是集成度高(目前DRAM芯片的容量已達(dá)幾百兆比特),功耗低,價(jià)格比較便宜。 從上一次對(duì)整個(gè)存儲(chǔ)器刷新結(jié)束到下一次對(duì)整個(gè)存儲(chǔ)器全部刷新一遍所用的時(shí)間間隔稱為刷新周期,一般為2ms、4ms、8ms。,常用的刷新方式有3種:一是集中式刷新,二是分散式刷新,三是異步式刷新。,(1)集中式刷新方式 如圖 (a)所示,在2ms周期內(nèi)集中地安排若干刷新周期,其余時(shí)間可用于正常工作狀態(tài),即讀/寫/保持狀態(tài)。刷新周期數(shù)等于最大容量芯片的行數(shù)。在邏輯實(shí)現(xiàn)上,可由一個(gè)定時(shí)器每2ms請(qǐng)求一次,然后由刷新計(jì)數(shù)器控制一個(gè)計(jì)數(shù)循環(huán),逐行刷新一遍。 采用這種方式的整個(gè)存儲(chǔ)器的平均讀/寫周期,與單個(gè)存儲(chǔ)器片的讀/寫工作所需的周期相差不多,所以這種刷新方式較適用于高速存儲(chǔ)器。 集中式刷新方式的優(yōu)點(diǎn)是主存利用率高,控制簡(jiǎn)單;缺點(diǎn)是在連續(xù)、集中的這段刷新周期內(nèi),不能使用存儲(chǔ)器,因而形成一段死區(qū)。,(2)分散式刷新方式 如圖 (b)所示,將每個(gè)存取周期分為兩部分,前半周期可用于正常讀/寫/保持狀態(tài),后半周期用于刷新。也就是將各刷新周期分散地安排在讀寫周期之后。 分散式刷新方式的優(yōu)點(diǎn)是時(shí)序控制簡(jiǎn)單,主存沒(méi)有長(zhǎng)的死區(qū);缺點(diǎn)是主存利用率不高,速度大約降低一半,因?yàn)槊總€(gè)存取周期包含一個(gè)刷新周期,增加了一倍的時(shí)間。因此,分散式刷新方式只能用于低速系統(tǒng)中。 (3)異步式刷新方式 如圖 (c)所示,按行數(shù)決定所需刷新周期數(shù),并分散在2ms周期內(nèi)。提出刷新請(qǐng)求時(shí)有可能CPU正在訪問(wèn)主存,可以等待CPU交出控制權(quán)后,再安排刷新周期,所以稱為異步式刷新方式。大多數(shù)計(jì)算機(jī)系統(tǒng)都有一種DMA方式,可將動(dòng)態(tài)刷新請(qǐng)求作為一種DMA請(qǐng)求,由DMA控制器控制DRAM的刷新,這已成為一種典型方式。 異步式刷新方式兼有前兩種方式的優(yōu)點(diǎn):對(duì)主存速度影響最小,甚至可利用主存的空閑時(shí)間進(jìn)行刷新,而且沒(méi)有明顯的死區(qū)。雖然控制上復(fù)雜些,但可以利用DMA實(shí)現(xiàn)。因此,大多數(shù)計(jì)算機(jī)系統(tǒng)采用異步式刷新方式。,6.3 只讀存儲(chǔ)器(ROM),只讀存儲(chǔ)器(Read Only Memory,ROM)的特點(diǎn)是:當(dāng)它在計(jì)算機(jī)系統(tǒng)中工作時(shí),數(shù)據(jù)只讀不寫。其優(yōu)點(diǎn)是可靠性高、集成度高、價(jià)格便宜,適宜大批量生產(chǎn);缺點(diǎn)是不能重寫。根據(jù)信息設(shè)置方法的不同,只讀存儲(chǔ)器分為MROM、PROM、EPROM和EEPROM 等4類。,6.3.1 掩模式只讀存儲(chǔ)器(MROM),掩模式只讀存儲(chǔ)器是芯片制造廠根據(jù)ROM要存儲(chǔ)的信息,對(duì)芯片圖形(掩模)進(jìn)行二次光刻生產(chǎn)出來(lái)的。其存儲(chǔ)的內(nèi)容固化在芯片內(nèi),用戶可以讀出,但不能改變。這種芯片存儲(chǔ)的信息穩(wěn)定,成本最低,適用于存放一些可批量生產(chǎn)的固定不變的程序或數(shù)據(jù)。 掩模式只讀存儲(chǔ)器的存儲(chǔ)矩陣可采用單譯碼結(jié)構(gòu),也可采用雙譯碼結(jié)構(gòu)。通常,存儲(chǔ)容量較小時(shí),采用單譯碼結(jié)構(gòu),存儲(chǔ)容量較大時(shí),采用雙譯碼結(jié)構(gòu)。,6.3.2 可編程只讀存儲(chǔ)器(PROM),如果用戶要根據(jù)自己的需要來(lái)確定ROM的存儲(chǔ)內(nèi)容,則可使用可編程只讀存儲(chǔ)器(PROM)。PROM允許用戶對(duì)其進(jìn)行一次編程寫入數(shù)據(jù)或程序。一旦編程之后,信息就永久性地固定下來(lái)。用戶可以讀出其內(nèi)容,但再也無(wú)法改變它的內(nèi)容。例如,雙極型PROM有兩種結(jié)構(gòu),一種是熔絲燒斷型PROM,另一種是PN結(jié)擊穿型PROM。由于可靠性差,加上只能一次性編程,目前已經(jīng)被淘汰。,6.3.3 光可擦除可編程只讀存儲(chǔ)器,PROM只能寫一次,為了能多次改變ROM中所存的內(nèi)容,又出現(xiàn)了光可擦除可編程只讀存儲(chǔ)器,簡(jiǎn)稱EPROM。目前使用最多的EPROM是用浮動(dòng)?xùn)叛┍雷⑷胄蚆OS管構(gòu)成的,稱為FAMOS,另外還有金屬-絕緣-氧化物-硅型即MIOS型的EPROM。 1基本存儲(chǔ)元電路,2典型ROM介紹 下面以一種典型的EPROM芯片Intel 2764 EPROM為例來(lái)介紹這類芯片的特點(diǎn)和應(yīng)用。 (1)引線及功能。Intel 2764 EPROM的外部引線如下圖所示:,各引腳的含意如下: A0Al2:13根地址輸入線,用于尋址片內(nèi)的8K個(gè)存儲(chǔ)單元。 D0D7:8根雙向數(shù)據(jù)線,正常工作時(shí)為數(shù)據(jù)輸出線,編程時(shí)為數(shù)據(jù)輸入線。 CE:選片信號(hào),低電平有效,當(dāng)CE=0時(shí)表示選中此芯片。 OE:輸出允許信號(hào),低電平有效,當(dāng)OE=0時(shí),芯片中的數(shù)據(jù)可由D0D7端輸出。 PGM:編程脈沖輸入端。對(duì)EPROM編程時(shí),在該端加上編程脈沖。讀操作時(shí)PGM=1。 VPP:編程電壓輸入端。編程時(shí)應(yīng)在該端加上編程高電壓,不同的芯片對(duì)VPP值的要求不一樣,可以是+12.5V、+15V、+21V、+25V等。,(2)Intel 2764 EPROM的工作過(guò)程。Intel 2764 EPROM可以工作在數(shù)據(jù)讀出、編程寫入和擦除3種方式下。 數(shù)據(jù)讀出:這是Intel 2764 EPROM的基本工作方式,用于讀出存儲(chǔ)的內(nèi)容。其工作過(guò)程與RAM芯片非常類似,即先把要讀出的存儲(chǔ)單元地址送到A0A12地址線上,然后使CE= 0、OE= 0,就可在芯片的D0D7上讀出需要的數(shù)據(jù)。 編程寫入:對(duì)EPROM芯片的編程可以有兩種方式,一種是標(biāo)準(zhǔn)編程,另一種是快速編程。 標(biāo)準(zhǔn)編程方式:標(biāo)準(zhǔn)編程是每給出一個(gè)編程負(fù)脈沖就寫入一個(gè)字節(jié)的數(shù)據(jù)。這種方式有兩個(gè)嚴(yán)重的缺點(diǎn):一是編程脈沖太寬(50ms)而使編程時(shí)間太長(zhǎng);二是不夠安全,編程脈沖太寬會(huì)使芯片功耗過(guò)大而損壞EPROM。 快速編程方式:快速編程與標(biāo)準(zhǔn)編程的工作過(guò)程是一樣的,只是編程脈沖要窄得多。 擦除:EPROM的一個(gè)重要優(yōu)點(diǎn)是可以擦除重寫,而且允許擦除的次數(shù)超過(guò)上萬(wàn)次。擦除器利用紫外線光照射EPROM的窗口,一般經(jīng)過(guò)1520分鐘即可擦除干凈。,6.3.4 電可擦除可編程只讀存儲(chǔ)器,電可擦除可編程只讀存儲(chǔ)器是在EPROM的基礎(chǔ)上開發(fā)出來(lái)的,它可以在加電的情況下擦除存儲(chǔ)器的全部或某一部分內(nèi)容,然后在電路上直接改寫其擦除過(guò)的單元內(nèi)容,而不必像EPROM芯片那樣需要從系統(tǒng)中取下來(lái)。從這一點(diǎn)講,它的使用要比EPROM方便。另外,EPROM雖可多次編程寫入,但整個(gè)芯片只要有一位寫錯(cuò),也必須從電路板上取下來(lái)全部擦掉重寫,這給實(shí)際使用帶來(lái)很大的不便。因?yàn)樵趯?shí)際使用中,多數(shù)情況下需要的是以字節(jié)為單位的擦除和重寫,而EEPROM在這方面有很大的優(yōu)越性。,6.4 高速緩沖存儲(chǔ)器(Cache),6.4.1 Cache的必要性和可行性 1Cache的必要性 如圖所示,Cache是介于CPU與主存M2之間的小容量存儲(chǔ)器,但存取速度比主存快。有了Cache就能高速地向CPU提供指令和數(shù)據(jù),從而加快程序執(zhí)行的速度。Cache可以視為主存的緩沖存儲(chǔ)器,它通常由高速的雙極型半導(dǎo)體存儲(chǔ)器或SRAM組成,即Cache的功能全部由硬件實(shí)現(xiàn),并對(duì)程序員透明。,2Cache的可行性 對(duì)大量典型程序運(yùn)行情況的分析結(jié)果表明,在一個(gè)較短的時(shí)間內(nèi),由程序產(chǎn)生的地址往往集中在存儲(chǔ)器邏輯地址空間的很小范圍內(nèi),并且,在多數(shù)情況下,指令是順序執(zhí)行的。因此對(duì)這些地址的訪問(wèn)自然具有時(shí)間上集中分布的傾向。數(shù)據(jù)集中分布的傾向不如指令明顯,但對(duì)數(shù)組的存儲(chǔ)和訪問(wèn)以及工作單元的選擇都可以使存儲(chǔ)器地址相對(duì)集中。這種對(duì)局部范圍的存儲(chǔ)器地址的頻繁訪問(wèn),而對(duì)此范圍以外的地址則訪問(wèn)甚少的現(xiàn)象,稱為程序訪問(wèn)的局部性。 根據(jù)程序的局部性原理,在主存與CPU之間設(shè)置Cache,把正在執(zhí)行的指令地址附近的一部分指令或數(shù)據(jù)從主存裝入Cache中,供CPU在一段時(shí)間內(nèi)使用是完全可行的。,6.4.2 Cache的工作原理,Cache的工作原理是基于程序和數(shù)據(jù)訪問(wèn)的局部性。Cache除包含SRAM之外,還要有控制邏輯。若Cache在CPU芯片外,它的控制邏輯一般與主存控制邏輯合成在一起,成為主存/Cache控制器;若Cache在CPU芯片內(nèi),則由CPU提供給它控制邏輯。 CPU與Cache之間的數(shù)據(jù)交換是以字為單位的,而Cache與主存之間的數(shù)據(jù)交換是以塊為單位的。一個(gè)塊由若干字組成,是定長(zhǎng)的。當(dāng)CPU讀取主存中的一個(gè)字時(shí),便發(fā)出此字的內(nèi)存地址到Cache和主存。此時(shí),Cache控制邏輯數(shù)據(jù)地址判斷此字當(dāng)前是否在Cache中:若是,此字立即傳送給CPU;若非,則用主存讀周期把此字從主存讀出到CPU,與此同時(shí),把含有這個(gè)字的整個(gè)數(shù)據(jù)塊從主存讀出送到Cache中。,如圖所示為Cache的工作原理圖。假設(shè)Cache讀出時(shí)間為50ns,主存讀出時(shí)間為250ns。存儲(chǔ)系統(tǒng)是模塊化的,主存中每個(gè)8K模塊和容量16字的Cache相聯(lián)系。 Cache分為4行,每行4個(gè)字。分配給Cache的地址存放在一個(gè)相聯(lián)存儲(chǔ)表CAM中,它是按內(nèi)容尋址的存儲(chǔ)器。,當(dāng)CPU執(zhí)行訪存指令時(shí),就把所要訪問(wèn)的字的地址送到CAM;如果字不在Cache中,則將字從主存送到CPU。與此同時(shí),把包含字的有前后相繼的4個(gè)字所組成的一行數(shù)據(jù)送入Cache,它替換了原來(lái)Cache中最近最少使用的一行數(shù)據(jù)。在此,由自始至終管理Cache使用情況的硬件邏輯電路來(lái)實(shí)現(xiàn)LRU替換算法。,6.4.3 主存與Cache之間地址映射的方法,與主存容量相比,Cache的容量小,它保存的內(nèi)容只是主存內(nèi)容的一個(gè)子集,且Cache與主存的數(shù)據(jù)交換是以塊為單位。為了把主存塊放到Cache中,必須應(yīng)用某種方法把主存地址定位到Cache中,稱為地址映射。這樣當(dāng)CPU訪問(wèn)存儲(chǔ)器時(shí),它所給出的一個(gè)字的內(nèi)存地址會(huì)自動(dòng)變成Cache的地址。根據(jù)這種地址的對(duì)應(yīng)方法,地址映射方式有全相聯(lián)映射、直接映射、和組相聯(lián)映射3種方式。,1全相聯(lián)映射 全相聯(lián)映射是指主存的一個(gè)字(字塊)可以映射到整個(gè)Cache的任何一個(gè)字(字塊)中;反過(guò)來(lái)說(shuō),Cache的一個(gè)字(字塊)中,在不同時(shí)刻可能存放的是整個(gè)主存中的任何一個(gè)字(字塊)中的內(nèi)容。全相聯(lián)映射方式如圖所示: 全相聯(lián)映射的優(yōu)點(diǎn)是靈活,Cache利用率高。缺點(diǎn)有兩個(gè):一是標(biāo)記位數(shù)增加了,需要記錄主存塊塊地址的全部信息,使得Cache的電路規(guī)模變大,成本變高;二是比較器難于設(shè)計(jì)和實(shí)現(xiàn),通常采用按內(nèi)容尋址的相聯(lián)存儲(chǔ)器。因此,只有小容量Cache才采用這種映射方式。,2直接映射 直接映射是指主存的一個(gè)字(字塊)只能映像到Cache的一個(gè)確定的字(字塊)中,Cache中的一個(gè)字(字塊)中,在不同時(shí)刻存放的僅能是整個(gè)主存確定的某些字(字塊)的內(nèi)容,是完全硬性確定的。直接映射方式如圖所示: 優(yōu)點(diǎn):實(shí)現(xiàn)與標(biāo)志字段比較的線路簡(jiǎn)單,成本低。 缺點(diǎn):使用缺乏靈活性,影響命中率。,3組相聯(lián)映射 組相聯(lián)映射是對(duì)全相聯(lián)映射和直接映射的一種折中的處理方案,把Cache存儲(chǔ)器組織為同等容量的多體結(jié)構(gòu),把主存地址劃分為訪問(wèn)主存的區(qū)段(區(qū)段號(hào))和區(qū)段內(nèi)一個(gè)字塊(區(qū)段內(nèi)偏移量)這樣兩個(gè)部分。組相聯(lián)映射方式如圖所示: 優(yōu)點(diǎn):線路實(shí)現(xiàn)上不太復(fù)雜,方案簡(jiǎn)便易行。,6.4.4 Cache的有關(guān)問(wèn)題,1替換策略 Cache的工作原理要求它盡量保存最新數(shù)據(jù)。當(dāng)一個(gè)新的主存塊需要復(fù)制到Cache,而允許存放那個(gè)主存塊的行位置都被其他主存塊占滿時(shí),就要進(jìn)行替換。 替換問(wèn)題與Cache的組織方式緊密相關(guān)。對(duì)直接映射的Cache來(lái)說(shuō),因一個(gè)主存塊只有一個(gè)特定的行位置可存放,所以解決問(wèn)題的方法很簡(jiǎn)單,只要把此特定位置上的原主存塊換出Cache即可。對(duì)全相聯(lián)映射和組相聯(lián)映射Cache來(lái)說(shuō),就要從允許存放新主存塊的若干特定行中選取一行換出。如何選取就涉及到替換策略,又稱為替換算法。,(1)近期最少使用算法(LRU)。該替換算法總是替換掉Cache中最長(zhǎng)時(shí)間沒(méi)有用過(guò)的數(shù)據(jù)塊,這種算法的核心思想同樣利用了程序訪問(wèn)的局部性原理。在新的數(shù)據(jù)塊讀入時(shí),替換掉該長(zhǎng)時(shí)間沒(méi)有訪問(wèn)的數(shù)據(jù)塊是較為合理的。采用這種替換算法,數(shù)據(jù)塊的命中率相當(dāng)?shù)母摺?(2)先進(jìn)先出算法(FIFO)。該替換算法總是替換掉Cache中存放時(shí)間最長(zhǎng)的數(shù)據(jù)塊。注意不要與LRU方法混淆,最近最少使用的數(shù)據(jù)塊不一定就是最先進(jìn)入Cache中存放時(shí)間最長(zhǎng)的數(shù)據(jù)塊。FIFO算法,實(shí)際上是利用了數(shù)據(jù)結(jié)構(gòu)中的“隊(duì)列結(jié)構(gòu)”。該算法的硬件通過(guò)一個(gè)循環(huán)移位寄存器就可實(shí)現(xiàn)。 (3)隨機(jī)替換算法(RANDOM)。這種替換算法不考慮使用情況,在Cache中通過(guò)一個(gè)隨機(jī)數(shù)選擇一個(gè)槽中的數(shù)據(jù)塊進(jìn)行替換。 所有在“CPU-Cache-主存”層次上的替換算法都是由硬件來(lái)實(shí)現(xiàn)的,不需要用戶的干預(yù);而對(duì)于“主存-Cache-輔存”層次上的替換算法一般都由操作系統(tǒng)來(lái)實(shí)現(xiàn)。,2寫入策略 為了提高系統(tǒng)性能,CPU主要與Cache交換數(shù)據(jù)。它對(duì)主存數(shù)據(jù)的更改,首先是更改Cache中的內(nèi)容,為保持Cache中的數(shù)據(jù)與主存中的數(shù)據(jù)的一致性,必然也要更改其對(duì)應(yīng)的主存中的數(shù)據(jù)。如何保證這種數(shù)據(jù)的一致性就是寫入策略的問(wèn)題。下面主要介紹 “Cache-主存”層次的寫入策略。 (1)全寫法(Write-Through,WT)。采用這種寫入策略時(shí),在寫入數(shù)據(jù)時(shí)需要同時(shí)寫入Cache和主存中相應(yīng)的數(shù)據(jù)塊。如果在多處理機(jī)中存在多個(gè)Cache,要保證所有Cache中包含要寫入數(shù)據(jù)塊的內(nèi)容同時(shí)得到刷新。如果主存中的某個(gè)數(shù)據(jù)塊經(jīng)寫入后內(nèi)容改變了,那么凡是在Cache中包含該數(shù)據(jù)塊的內(nèi)容都應(yīng)該作廢。顯然這種策略存在過(guò)多的寫入操作,它勢(shì)必造成系統(tǒng)執(zhí)行效率的降低,影響整個(gè)系統(tǒng)的速度。為了改變這種情況,可在系統(tǒng)內(nèi)增設(shè)一些緩沖寄存器,用于接受CPU送來(lái)的寫入數(shù)據(jù)和地址,從而不過(guò)多地占用CPU的寫入時(shí)間周期,再由這些緩沖寄存器在下一個(gè)時(shí)鐘周期到來(lái)時(shí)自動(dòng)寫入主存即可。,(2)回寫法(Write-Back,WB)。采用這種寫入策略進(jìn)行寫操作時(shí),只修改Cache中的內(nèi)容,而不修改主存中的內(nèi)容。只有當(dāng)已發(fā)生過(guò)寫入數(shù)據(jù)的數(shù)據(jù)塊被替換掉時(shí),才將被修改過(guò)的數(shù)據(jù)塊回寫到主存之中,最后才能從主存中調(diào)入新的數(shù)據(jù)塊,從而把Cache中的數(shù)據(jù)塊替換掉。然而這種策略存在一個(gè)問(wèn)題:主存中的部分內(nèi)容在操作的過(guò)程中可能已經(jīng)作廢,如果使用可能造成錯(cuò)誤。如果要保證使用過(guò)程中數(shù)據(jù)的有效性,I/O設(shè)備也應(yīng)該從Cache中讀/寫信息。但是這樣做又會(huì)使硬件設(shè)計(jì)實(shí)現(xiàn)的復(fù)雜度增加,制造成本加大,勢(shì)必會(huì)使Cache成為計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的“瓶頸”。 總的來(lái)說(shuō),Cache在計(jì)算機(jī)系統(tǒng)中起到兩方面的作用:在單處理機(jī)中,它可以彌補(bǔ)主存與處理機(jī)在處理速度方面不匹配的矛盾;在多處理機(jī)中,它可以起到減輕互聯(lián)網(wǎng)絡(luò)中信息傳送負(fù)擔(dān)的作用。,6.5 虛擬存儲(chǔ)器,6.5.1 虛擬存儲(chǔ)器的基本概念 虛擬存儲(chǔ)技術(shù)是建立在主存和大容量輔存物理結(jié)構(gòu)基礎(chǔ)之上,由附加硬件裝置及操作系統(tǒng)內(nèi)的存儲(chǔ)管理軟件組成的一種存儲(chǔ)體系,它將主存和輔存(硬盤)的地址空間統(tǒng)一編址,提供了比實(shí)際物理內(nèi)存大得多的存儲(chǔ)空間。在程序運(yùn)行時(shí),存儲(chǔ)器管理軟件只是把虛擬地址空間的一小部分映射到主存儲(chǔ)器,其余部分則仍存儲(chǔ)在磁盤上。當(dāng)用戶訪問(wèn)存儲(chǔ)器的范圍發(fā)生變化時(shí),處于后臺(tái)的存儲(chǔ)器管理軟件再把用戶所需要的內(nèi)容從磁盤調(diào)入內(nèi)存,用戶感覺(jué)就好像是在訪問(wèn)一個(gè)非常大的線性地址空間。,虛擬存儲(chǔ)器的工作原理和Cache十分類似:它將主存和用作虛擬存儲(chǔ)器的輔存劃分成小塊,所有程序和數(shù)據(jù)開始時(shí)都存放在輔存中,只有在CPU需要訪問(wèn)時(shí)才將相應(yīng)的塊的內(nèi)容裝入到主存中,供CPU調(diào)用。主存裝滿后,如果還需要訪問(wèn)尚未裝入主存的程序和數(shù)據(jù),再通過(guò)一定的算法進(jìn)行塊替換,直到整個(gè)程序執(zhí)行完畢。 虛擬存儲(chǔ)器和Cache有許多共同之處,但同時(shí)也有著重要的區(qū)別。 首先,Cache和主存交換數(shù)據(jù)的頻率比較高,每次交換的數(shù)據(jù)量也較小,也就是幾個(gè)字節(jié)或十幾個(gè)字節(jié)。而虛擬存儲(chǔ)器和主存交換數(shù)據(jù)的頻率比較低,大約每訪問(wèn)幾百次到一千次主存才和虛擬存儲(chǔ)器交換一次數(shù)據(jù),但每次交換數(shù)據(jù)的量比較大,達(dá)幾百到幾千字節(jié)。 其次,由于Cache的主要目標(biāo)是提高存儲(chǔ)系統(tǒng)的訪問(wèn)速度,因此,Cache的所有功能,包括地址映像、字塊替換等都是由硬件來(lái)實(shí)現(xiàn)的,效率很高,同時(shí)成本也不低;而對(duì)虛擬存儲(chǔ)器來(lái)說(shuō),它要解決的主要問(wèn)題是提高存儲(chǔ)系統(tǒng)的容量,降低整個(gè)存儲(chǔ)系統(tǒng)的價(jià)格。,6.5.2 虛擬存儲(chǔ)器的管理方式,在虛擬存儲(chǔ)器中,程序分別存放在主存和輔存中,都占有實(shí)際的主存區(qū)域與輔存區(qū)域。虛地址與主、輔存地址間的對(duì)應(yīng)關(guān)系,稱為地址映射。當(dāng)訪問(wèn)主存時(shí),進(jìn)行虛地址到實(shí)地址的轉(zhuǎn)換。根據(jù)地址映射方式的不同,虛擬存儲(chǔ)器有3種管理方式:段式管理、頁(yè)式管理和段頁(yè)式管理。,1段式管理 段式管理的優(yōu)點(diǎn): (1)段的分界與程序的自然分界相對(duì)應(yīng)。 (2)易于分別編譯、管理、修改、保護(hù)。 (3)便于多道程序?qū)Χ蔚墓蚕怼?段式管理的缺點(diǎn):給主存空間的分配與管理帶來(lái)麻煩,出現(xiàn)碎塊,浪費(fèi)存儲(chǔ)器的有效可用容量。,2. 頁(yè)式管理 虛擬地址到主存的實(shí)地址的轉(zhuǎn)換是通過(guò)頁(yè)表來(lái)實(shí)現(xiàn)的。頁(yè)表的每條記錄表示一個(gè)虛頁(yè)號(hào)和它所對(duì)應(yīng)的實(shí)頁(yè)號(hào),把實(shí)頁(yè)號(hào)和虛擬地址中的低位字段拼接在一起,就是所要訪問(wèn)的字的實(shí)際主存地址。,3. 段頁(yè)式管理 缺點(diǎn):在地址的映射過(guò)程中需要多次查表。在這種系統(tǒng)中,虛擬地址轉(zhuǎn)換成物理地址是通過(guò)一個(gè)段表和一組頁(yè)表來(lái)進(jìn)行定位的,段表中的每個(gè)表目對(duì)應(yīng)一個(gè)段,每個(gè)表目有一個(gè)指向該段的頁(yè)表的起始地址(頁(yè)號(hào))及該段的控制保護(hù)信息,由頁(yè)表指明該段各頁(yè)在主存中的位置以及是否裝入、是否已經(jīng)修改等信息。,6.5.3 虛擬存儲(chǔ)器的工作過(guò)程,在說(shuō)明虛擬存儲(chǔ)器的工作過(guò)程之前,需要先說(shuō)明兩個(gè)問(wèn)題:一是為了加快查表速度所采取的措施;二是虛地址與輔存地址,也就是磁盤地址的轉(zhuǎn)換。下面以頁(yè)式管理為例進(jìn)行講解。 1. 快表和目錄表 為了提高地址轉(zhuǎn)換速度,縮短查表時(shí)間,采用一個(gè)小容量的、高速的相關(guān)存儲(chǔ)部件來(lái)存放當(dāng)前最經(jīng)常用到的那一部分頁(yè)表,采取按內(nèi)容相聯(lián)方式進(jìn)行訪問(wèn)。這樣,查頁(yè)表的時(shí)間就相當(dāng)于訪問(wèn)小容量的相關(guān)存儲(chǔ)器的時(shí)間,從而大大地提高了速度,這個(gè)小容量相關(guān)存儲(chǔ)器稱為快表,存放在主存中的頁(yè)表稱為慢表。 快表的內(nèi)容是虛地址與實(shí)地址的對(duì)應(yīng)關(guān)系。虛地址中包括用戶號(hào)及虛頁(yè)號(hào),對(duì)應(yīng)的是它存入主存的實(shí)頁(yè)號(hào)。當(dāng)進(jìn)行地址轉(zhuǎn)換時(shí),將虛地址中的用戶號(hào)和虛頁(yè)號(hào)作為模式與快表中的各表目進(jìn)行比較。同時(shí)將虛地址也送往主存,查找慢表。如果快表命中,立即可以得到對(duì)應(yīng)的實(shí)頁(yè)號(hào)。如果不命中,則由慢表求出實(shí)頁(yè)號(hào),然后替換快表內(nèi)容。,采用快慢表進(jìn)行地址變換如下圖所示:,目錄表法是采用一個(gè)小容量的高速存儲(chǔ)器(按照內(nèi)容訪問(wèn)的相關(guān)存儲(chǔ)器,稱為目錄表),把那些已經(jīng)調(diào)入頁(yè)的地址對(duì)應(yīng)關(guān)系存入其中。因?yàn)轫?yè)表的容量是整個(gè)虛空間的頁(yè)數(shù),但實(shí)際上被用到的頁(yè)表內(nèi)容占整個(gè)頁(yè)表容量的比例很小,因此可以把裝入位為1的頁(yè)表表目存入高速的目錄表中。在CPU訪問(wèn)時(shí),可先查目錄表,凡已入駐主存的地址都記錄在此目錄表中,一般情況下都可查到它的主存地址。如果在目錄表中沒(méi)有查到,則說(shuō)明此頁(yè)尚未進(jìn)入主存,此時(shí)需要由輔存將要訪問(wèn)的頁(yè)全部送入主存。,采用目錄表進(jìn)行地址轉(zhuǎn)換如下圖所示:,2. 虛地址與磁盤實(shí)地址的轉(zhuǎn)換 當(dāng)CPU訪問(wèn)主存時(shí), 虛地址通過(guò)頁(yè)表轉(zhuǎn)換成主存地址。當(dāng)該虛地址所在的頁(yè)尚沒(méi)有調(diào)入主存時(shí),就應(yīng)當(dāng)按照虛地址到輔存中尋找到該頁(yè),并通過(guò)輸入/輸出操作調(diào)入主存。因此需要將虛地址轉(zhuǎn)換成輔存地址。虛地址與磁盤實(shí)地址(輔存地址)的轉(zhuǎn)換也需建立一個(gè)對(duì)應(yīng)關(guān)系表(外頁(yè)表),它記錄了虛地址與磁盤實(shí)地址的對(duì)應(yīng)關(guān)系,轉(zhuǎn)換過(guò)程如圖所示。外頁(yè)表的表目是按虛存頁(yè)號(hào)順序排放的,每個(gè)表目?jī)?nèi)只記錄了該虛頁(yè)對(duì)應(yīng)的磁盤實(shí)地址及裝入位。每一個(gè)用戶具有一張外頁(yè)表,外頁(yè)表存放在主存中,通過(guò)執(zhí)行軟件進(jìn)行表目的查找。外頁(yè)表的首地址根據(jù)虛地址中的用戶號(hào)來(lái)查找,再根據(jù)虛頁(yè)號(hào)到外頁(yè)表中查找該頁(yè)對(duì)應(yīng)的磁盤實(shí)地址。,圖6-22 虛地址與磁盤實(shí)地址的轉(zhuǎn)換,3. 頁(yè)式管理虛擬存儲(chǔ)器的工作原理 (1)系統(tǒng)中每個(gè)用戶都有自己的頁(yè)表基址寄存器、頁(yè)表(慢表)及快表。當(dāng)CPU需要訪問(wèn)時(shí),首先查快表,如果命中則可以得到實(shí)頁(yè)號(hào),然后與頁(yè)內(nèi)地址組裝成為主存的實(shí)際地址。 (
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年護(hù)士執(zhí)業(yè)資格考試題庫(kù)-急危重癥護(hù)理學(xué)護(hù)理風(fēng)險(xiǎn)管理試題
- 酒店管理師面試題及答案
- 三農(nóng)考試題庫(kù)及答案
- 社區(qū)參與世界文化遺產(chǎn)地的保護(hù)與利用研究-以湖南永順老司城村為例
- 運(yùn)輸公司承諾書
- 趣味數(shù)學(xué)教學(xué)計(jì)劃
- 2025合同模板:合同協(xié)議書合作經(jīng)營(yíng)合同范本
- 2025版建筑工程合同模板
- 2025汽車租賃合同簡(jiǎn)單版 汽車租賃合同協(xié)議書【簡(jiǎn)易版】
- 2025汽車買賣合同協(xié)議書中介
- CRH2型電力動(dòng)車組大作業(yè)
- 12D401-3 爆炸危險(xiǎn)環(huán)境電氣線路和電氣設(shè)備安裝
- DL∕T 796-2012 風(fēng)力發(fā)電場(chǎng)安全規(guī)程
- DL∕ T 1163-2012 隱極發(fā)電機(jī)在線監(jiān)測(cè)裝置配置導(dǎo)則
- 全等三角形練習(xí)題
- 作業(yè)多層磚混結(jié)構(gòu)辦公樓施工組織設(shè)計(jì)
- DB2205T 1-2024 通化人參質(zhì)量追溯規(guī)范
- 田東縣2023-2024學(xué)年六年級(jí)下學(xué)期調(diào)研數(shù)學(xué)試卷含解析
- 2024年河北省邯鄲市峰峰礦區(qū)中考數(shù)學(xué)三模試卷
- 氣候變化與林業(yè)碳匯智慧樹知到期末考試答案章節(jié)答案2024年浙江農(nóng)林大學(xué)
- 湖北省華中學(xué)師大一附中2023-2024學(xué)年中考生物最后沖刺模擬試卷含解析
評(píng)論
0/150
提交評(píng)論