版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2023/7/231第四章存儲(chǔ)系統(tǒng)
存儲(chǔ)器的主要功能是存儲(chǔ)計(jì)算機(jī)程序和數(shù)據(jù),不僅存儲(chǔ)用戶程序,還用來存儲(chǔ)系統(tǒng)程序,如操作系統(tǒng)等。通常將主機(jī)內(nèi)部的存儲(chǔ)器稱為內(nèi)存儲(chǔ)器或主存儲(chǔ)器,而主機(jī)外部的存儲(chǔ)器稱為外存儲(chǔ)器或輔助存儲(chǔ)器。很多場合我們說存儲(chǔ)器,實(shí)際是指主存,常用M表示。2023/7/2324.1概述記憶元件(存儲(chǔ)元件):用一個(gè)具有兩種穩(wěn)定狀態(tài),并且在一定條件下狀態(tài)可以相互轉(zhuǎn)換的物理器件來表示二進(jìn)制數(shù)碼0和1,這種器件稱為記憶元件(存儲(chǔ)元件)。表示一個(gè)二進(jìn)制位。若干存儲(chǔ)元件組成一個(gè)存儲(chǔ)單元。一個(gè)二進(jìn)制數(shù)由若干位組成,當(dāng)一個(gè)數(shù)作為一個(gè)整體存入存儲(chǔ)器或從存儲(chǔ)器取出時(shí),這個(gè)數(shù)稱為存儲(chǔ)字。地址:存儲(chǔ)單元的編號(hào)。2023/7/233
一個(gè)存儲(chǔ)單元可以存放一個(gè)全字,也可以存放半字或若干個(gè)字節(jié),這就出現(xiàn)了字、字節(jié)與地址間的不同編址關(guān)系。不同的編址方式也會(huì)得到相應(yīng)的存儲(chǔ)體組織。字節(jié)、字與存儲(chǔ)體組織(a)字編址;(b)字節(jié)編址;(c)字節(jié)編址2023/7/2344.1.1存儲(chǔ)器的性能指標(biāo)
存儲(chǔ)器的性能指標(biāo)是評(píng)價(jià)存儲(chǔ)器優(yōu)劣的主要因素,也是選購存儲(chǔ)器的主要依據(jù),主要的性能指標(biāo)有存儲(chǔ)容量,存取時(shí)間,可靠性,功耗和性能價(jià)格比等。
2023/7/2351.存儲(chǔ)容量
存儲(chǔ)容量通常是指存儲(chǔ)器所能夠容納的二進(jìn)制信息的容量,常以字節(jié)(Byte)為單位。每字節(jié)8位(bit)。半導(dǎo)體存儲(chǔ)器是用存儲(chǔ)器芯片按照一定方式組成的。存儲(chǔ)器的容量是組成存儲(chǔ)器的所有芯片容量的總和。6存儲(chǔ)器芯片的容量是由地址單元數(shù)和每單元的數(shù)據(jù)位相乘而得。SRAM2114,它的地址線數(shù)=10,地址單元數(shù)=210=1024(簡稱1K);數(shù)據(jù)位=4,因此容量為1K×4。DRAM4164,它的地址線數(shù)=8,由于采用復(fù)用地址技術(shù),相當(dāng)于地址線數(shù)=16,地址單元數(shù)=216=64K;用2根數(shù)據(jù)線表示1位數(shù)據(jù),dh所以容量為64K×1。EPROM2716,它的地址線為11根,地址單元數(shù)為211=2K;數(shù)據(jù)位=8,所以容量為2KB。2023/7/237位容量:位容量的單位是位。所以SRAM2114,DRAM4164,EPROM2716的位容量分別為4K位,64K位,16K位。存儲(chǔ)容量的單位為B(Byte)、KB、MB、GB、TB。它們之間的關(guān)系是:
1TB=1024GB=(1024)4B=240B
1GB=1024MB=(1024)3B=230B1MB=1024KB=(1024)2B=220B1KB=1024B=210B
2023/7/2382.存取周期
存儲(chǔ)器的基本操作是存(或稱為寫)和?。ɑ蚍Q為讀)。記作和2023/7/239存儲(chǔ)器存/取時(shí)間MAT(MemoryAccessTime):又稱存儲(chǔ)器讀/寫時(shí)間,或存儲(chǔ)器訪問時(shí)間,它是指從M讀/寫命令有效到M讀/寫工作完成所經(jīng)歷的時(shí)間。存儲(chǔ)器周期時(shí)間MCT(MemoryCycleTime):它是指兩次連續(xù)的存儲(chǔ)器操作所需的時(shí)間間隔。通常MCT>MAT。2023/7/23103.可靠性為了提高存儲(chǔ)器的可靠性采用了校驗(yàn)碼。 存儲(chǔ)器的可靠性用平均無故障時(shí)間MTBF(MeanTimeBetweenFailures)來表征。2023/7/23114.性能/價(jià)格比不同的用途,對(duì)M性能的要求也不同,很多時(shí)候,用下列公式來選購存儲(chǔ)器:
單位是:元/KB,元/MB,元/GB。
1、按存儲(chǔ)器的存儲(chǔ)介質(zhì)分半導(dǎo)體存儲(chǔ)器(SCM)存儲(chǔ)位元是由半導(dǎo)體器件組成的存儲(chǔ)器記憶原理:雙穩(wěn)態(tài)觸發(fā)器、電容、晶體管體積小、速度快,易失(只讀存儲(chǔ)器除外)。用作內(nèi)存按制造工藝分為雙極型(TTL)半導(dǎo)體存儲(chǔ)器(cache)MOS半導(dǎo)體存儲(chǔ)器(內(nèi)存)存儲(chǔ)器分類按存儲(chǔ)器的存儲(chǔ)介質(zhì)分磁表面存儲(chǔ)器MSM用陶瓷、非磁性金屬或塑料作載磁體,利用磁層上不同方向的磁化區(qū)域表示信息。容量大,速度慢,非易失,價(jià)格低。用作外存。按載磁體形狀的不同分為磁盤存儲(chǔ)器磁帶存儲(chǔ)器磁鼓存儲(chǔ)器
5.1.2存儲(chǔ)器分類按存儲(chǔ)器的存儲(chǔ)介質(zhì)分光盤存儲(chǔ)器ODM用有機(jī)玻璃作載磁體,利用光斑的有無來表示信息。記錄密度高,存儲(chǔ)容量大,不易丟失,光盤數(shù)據(jù)的保存時(shí)間比磁表面存儲(chǔ)器的長。讀寫速度慢,用作外存。5.1.2存儲(chǔ)器分類
2023/7/23152.按存取方式分類可分為RAM,SAM,DAM和ROM。1)隨機(jī)存取存儲(chǔ)器RAM(RandomAccessMemory):任何單元的信息都能隨機(jī)存取,且存取時(shí)間和該單元在存儲(chǔ)器中的地址(位置)無關(guān)。主存和高速緩存通常都是RAM。磁心存儲(chǔ)器也屬于隨機(jī)存取存儲(chǔ)器。(注:原意主要強(qiáng)調(diào)地址譯碼時(shí)間相同?,F(xiàn)在的DRAM芯片采用行緩沖,因而可能因?yàn)槲恢貌煌乖L問時(shí)間有所差別。)2023/7/23162)順序存取存儲(chǔ)器SAM(SequentialAccessMemory):在存儲(chǔ)信息時(shí)需要依地址順序進(jìn)行訪問。因此存取時(shí)間與存儲(chǔ)單元所在存儲(chǔ)器的位置有關(guān),或者說每一個(gè)存儲(chǔ)單元的存取時(shí)間是不同的。典型的SAM是磁帶存儲(chǔ)器和CD-ROM(只讀光盤存儲(chǔ)器)。2023/7/23173)直接存取存儲(chǔ)器DAM(DirectAccessMemory):它的存取方式兼有隨機(jī)存取和順序存取的特點(diǎn)。典型的DAM是磁盤存儲(chǔ)器。DAM在尋找道和扇區(qū)時(shí)和RAM尋址相似;在扇區(qū)內(nèi)存取是按順序存取的,又和SAM相似。2023/7/23184)只讀存儲(chǔ)器ROM(ReadOnlyMemory):對(duì)所存信息只能讀出的存儲(chǔ)器。它通常用來存放長期不需要改變的程序和數(shù)據(jù)。前者如ROM-BIOS,后者如字符發(fā)生器。ROM可用半導(dǎo)體材料和磁芯構(gòu)成?!爸蛔x不寫”的含義有了新的變化。2023/7/23193.按信息保存時(shí)間分類易失性存儲(chǔ)器:斷電后信息將丟失的稱為易失性或非永久性存儲(chǔ)器。如半導(dǎo)體RAM。其中動(dòng)態(tài)RAM存儲(chǔ)器(DRAM)即使不斷電,保存信息的時(shí)間大約2ms左右。為了使信息長時(shí)間保存必須不斷對(duì)DRAM進(jìn)行刷新。非易失性存儲(chǔ)器:信息不會(huì)丟失的稱為永久性存儲(chǔ)器或非易失性存儲(chǔ)器。磁存儲(chǔ)器,光存儲(chǔ)器,半導(dǎo)體ROM都屬于非易失性存儲(chǔ)器。2023/7/23204.按性能(速度/容量)進(jìn)行分類
1)寄存器型存儲(chǔ)器
CPU中常配置幾十個(gè)以至幾百個(gè)通用寄存器。它的速度和CPU相匹配。用于寄存正在執(zhí)行的指令和數(shù)據(jù)。2)Cache(高速緩存)高速小容量的存儲(chǔ)器。速度接近于CPU。它是CPU和M之間的緩沖存儲(chǔ)器。它用來存儲(chǔ)使用頻度最大的且當(dāng)前執(zhí)行的指令和數(shù)據(jù)。通常用SRAM實(shí)現(xiàn),Cache容量通常幾MB。2023/7/2321
3)主存儲(chǔ)器用DRAM實(shí)現(xiàn),它的存儲(chǔ)容量較大,通常為幾GB。用來存放常用程序和數(shù)據(jù)。存取周期約在幾百ns和幾十ns之間。
4)外存(輔助存儲(chǔ)器)
它用來存放當(dāng)前不常使用的信息,包括各種軟件工具等。它的容量極大,達(dá)到幾百GB,速度較慢,用作主存的后備和補(bǔ)充。常被歸類到外設(shè)。這種分類方法決定了存儲(chǔ)體系的分層結(jié)構(gòu)。2023/7/2322圖4-2存儲(chǔ)器分類表MOS存儲(chǔ)器(靜態(tài))2023/7/23234.1.3存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)
存儲(chǔ)器的3個(gè)關(guān)鍵特性——價(jià)格、容量、速度之間需要進(jìn)行權(quán)衡。采用存儲(chǔ)器分層結(jié)構(gòu)解決,而不只是依賴單一的存儲(chǔ)部件或技術(shù)。圖4-3(a)給出了一個(gè)通用分層結(jié)構(gòu),圖中從上至下,出現(xiàn)下列情況:(a)每位價(jià)格降低;(b)容量增大;(c)存取時(shí)間增大;(d)CPU存取存儲(chǔ)器的頻度降低。2023/7/2324圖4-3存儲(chǔ)器層次結(jié)構(gòu)(a)傳統(tǒng)的存儲(chǔ)器層次;(b)當(dāng)代的存儲(chǔ)器層次
2023/7/2325
當(dāng)代存儲(chǔ)器的分層結(jié)構(gòu),如圖4-3(b),主要是軟件形式加入一層,主存的一部分可以用作緩沖區(qū),暫時(shí)保存寫到磁盤中的數(shù)據(jù)。這種技術(shù)有時(shí)稱為磁盤高速緩存。高速緩存用以下兩種方法改進(jìn)性能:1、寫磁盤以塊的形式進(jìn)行;2、某些指定輸出的數(shù)據(jù)在轉(zhuǎn)存到磁盤之前可被程序訪問,這樣可以快速地從磁盤高速緩存中檢索,而不是在相對(duì)較慢地磁盤中檢索。2023/7/23264.1.4存儲(chǔ)體系
1.二級(jí)存儲(chǔ)體系
二級(jí)存儲(chǔ)體系
它由主存和輔存(外存)兩級(jí)構(gòu)成。CPU與主存可以交換信息,輔存和主存可以交換信息,但是CPU不能和輔存直接交換信息。
2023/7/2327
二級(jí)存儲(chǔ)體系解決了主存容量不足、價(jià)格昂貴的缺點(diǎn)。但由于主存速度不高而且速度的提高受容量和成本的制約,它不能徹底解決主存和CPU之間速度不匹配的問題。因此提出了三級(jí)存儲(chǔ)體系。2023/7/2328三級(jí)存儲(chǔ)體系結(jié)構(gòu)
說明:在Cache-主存結(jié)構(gòu)中,CPU既可以直接訪問Cache的信息,也可以直接訪問主存的信息。但在主存-輔存結(jié)構(gòu)中,CPU和輔存之間沒有直接通路。因此CPU不能直接訪問輔存。
三級(jí)存儲(chǔ)體系三級(jí)存儲(chǔ)體系基本解決了主存的兩個(gè)重要問題:①主存-輔存結(jié)構(gòu)解決了主存容量不足的問題;②主存-Cache結(jié)構(gòu)解決了CPU和主存速度不匹配的問題。2023/7/23293.多級(jí)存儲(chǔ)體系
圖4-9多級(jí)存儲(chǔ)體系結(jié)構(gòu)2023/7/23304.2主存儲(chǔ)器4.2.1主存儲(chǔ)器基本結(jié)構(gòu)與操作主存儲(chǔ)器是隨機(jī)存儲(chǔ)器,現(xiàn)在由半導(dǎo)體存儲(chǔ)器構(gòu)成。隨機(jī)存儲(chǔ)器由存儲(chǔ)體,地址譯碼及驅(qū)動(dòng)系統(tǒng),讀/寫系統(tǒng)和時(shí)序控制部分四個(gè)功能部件組成。
2023/7/2331一存儲(chǔ)體結(jié)構(gòu)
存儲(chǔ)體通常是一種陣列結(jié)構(gòu)。圖4-11為按字組織的二維存儲(chǔ)體結(jié)構(gòu)。存儲(chǔ)單元的編號(hào)為Wij。
2023/7/2332
地址與存儲(chǔ)單元之間的數(shù)量關(guān)系,可通過下式表示。m根選擇線需要log2m位地址,n根選擇線需要log2n位地址,則MAR的位數(shù)應(yīng)為:
log2m+log2n=log2(mn)2023/7/2333一堆編址方式缺點(diǎn):當(dāng)存儲(chǔ)單元數(shù)量很大時(shí),所需要的驅(qū)動(dòng)器個(gè)數(shù)2n太多,存儲(chǔ)器總的造價(jià)大幅上升。34單級(jí)二維編址方式存儲(chǔ)單元數(shù)量為N,地址分為Nx和Ny,滿足N=NxNy當(dāng)Nx=Ny時(shí),則Nx=Ny=。無譯碼器,地址位數(shù)太長。2023/7/2335二級(jí)二維編址存儲(chǔ)單元數(shù)量為N,地址分為地址分為Nx和Ny,Nx=2nx
,NY=2ny2023/7/2336三種存儲(chǔ)陣列編址方式對(duì)比2023/7/2337對(duì)陣列組織方式可歸納為兩點(diǎn):①存儲(chǔ)單元陣列在形式上排列成方形或長方形,這樣不僅便于和存儲(chǔ)體的周圍電路直接連線,形成“固態(tài)”結(jié)構(gòu),而且有利于從物理結(jié)構(gòu)上提高操作速度,適用于大規(guī)模集成化。②將存儲(chǔ)器的地址碼劃分為兩個(gè)方向組,利用地址譯碼器的“放大”作用,能使少量的地址位轉(zhuǎn)換成多根選擇線,同時(shí)激勵(lì)不同方向的驅(qū)動(dòng)器,采用驅(qū)動(dòng)電流信號(hào)重合技術(shù),選中指定的存儲(chǔ)單元,從而有效地減少驅(qū)動(dòng)器數(shù)量,也便于存儲(chǔ)單元的擴(kuò)充。
2023/7/2338三.存儲(chǔ)器的基本操作RAM邏輯框圖2023/7/2339存儲(chǔ)器的基本操作是讀操作和寫操作。讀操作是自給定地址所選中的存儲(chǔ)單元中取出信息,經(jīng)數(shù)據(jù)緩沖寄存器MDR送給中央處理器CPU。具體操作過程如下:①M(fèi)AR←E,E是表示有效地址,來自CPU;②MDR←(MAR),從指定地址的存儲(chǔ)單元中讀取信息加載于MDR;③R←(MDR),再轉(zhuǎn)存于CPU內(nèi)部的通用寄存器R。2023/7/2340
寫操作是將信息存入地址制定的存儲(chǔ)單元種,具體操作過程如下:①M(fèi)AR←E,將有效地址E送MAR;②MDR←(R),將要存入的信息由通用寄存器放入MDR;③(MAR)←(MDR),將MDR中的內(nèi)容存入由地址指定的存儲(chǔ)單元內(nèi)。2023/7/2341
從系統(tǒng)的觀點(diǎn)看,主存儲(chǔ)器和中央處理器是兩個(gè)功能模塊,如圖。主存(MM)與CPU的連接
2023/7/23424.2.2半導(dǎo)體隨機(jī)存儲(chǔ)器
半導(dǎo)體存儲(chǔ)器通常分為兩類:半導(dǎo)體隨機(jī)存儲(chǔ)器RAM雙極型存儲(chǔ)器MOS(金屬-氧化物-半導(dǎo)體)型存儲(chǔ)器
半導(dǎo)體只讀存儲(chǔ)器ROM2023/7/2343一RAM記憶單元基本原理
記憶單元(或存儲(chǔ)元)是構(gòu)成存儲(chǔ)器的最基本元件,它可由多種材料或物理器件實(shí)現(xiàn)。對(duì)其所使用的材料或器件有如下基本要求:①必須具有兩種穩(wěn)定狀態(tài),分別代表0和1;②在一定條件下,兩種穩(wěn)定狀態(tài)可相互轉(zhuǎn)換,轉(zhuǎn)換次數(shù)應(yīng)是無限的;③在外部信號(hào)激勵(lì)下,兩種穩(wěn)定狀態(tài)能夠讀出,分別代表0信號(hào)和1信號(hào);④在不變條件下,狀態(tài)能長期保持。
2023/7/23441.MOSSRAM存儲(chǔ)原理典型的六管靜態(tài)記憶單元電路(圖中虛線部分)。由兩個(gè)MOS反相器(T1和T2)交叉耦合而成。T3、T4可看成是負(fù)載電阻R。T5、T6、T7、T8是MOS開關(guān)。
2023/7/2345VccT3ABI/O列地址選擇線YI/OD數(shù)據(jù)位線D數(shù)據(jù)位線T4T1T2T5T6T7T8行地址選擇線X定義“0”:T1導(dǎo)通,T2截止“1”:T1截止,T2導(dǎo)通工作X,Y加高電平,同時(shí)被選中,T5,T6,T7,T8同時(shí)被選通寫入:在I/O線上加入高、低電平讀出:根據(jù)I/O線上有無電流,讀1/02023/7/2346SRAM是非破壞性讀出,信息讀出后,原記憶單元狀態(tài)不變。這和磁芯存儲(chǔ)器不同,它不需要再生。集成度低,但速度快,價(jià)格高,常用做Cache。2023/7/2347CDDRAM的讀寫過程寫入W選通打開T,電荷充/放電W結(jié)束T關(guān)閉,寫入的信息以電荷形式保存在電容上讀出W選通打開T,D線上有無電流保持電容上是否有電荷來表示存儲(chǔ)的信息由于漏電不能長久保存信息,需要刷新2023/7/2348
DRAM電路在讀出時(shí),C放電,因此原存信息被破壞。這是破壞性讀出,和磁芯存儲(chǔ)器相類似,因此需要恢復(fù)原存儲(chǔ)的信息,這個(gè)過程叫再生或重寫。2023/7/2349
由于C的電容值很小,又由于電容會(huì)泄漏,尤其是在溫度上升時(shí),泄漏放電會(huì)加快。典型的維持信息的時(shí)間為2ms左右。這就需要進(jìn)行動(dòng)態(tài)刷新,使泄放的電荷得到補(bǔ)充。因此必須專門對(duì)DRAM進(jìn)行刷新。2023/7/2350二刷新
為了保持存儲(chǔ)的信息不丟失,必須每隔2ms就對(duì)存儲(chǔ)體中全部的存儲(chǔ)電容進(jìn)行充電,以補(bǔ)充所消失的電荷,維持原存信息不變,這個(gè)過程被稱為“刷新”。
刷新方式
1.集中刷新方式2.分散刷新方式3.異步刷新方式4.透明刷新方式
2023/7/2351異步刷新對(duì)4164/2164芯片,要對(duì)芯片進(jìn)行刷新,必須在2ms以內(nèi)進(jìn)行。由于每個(gè)行地址只能刷新512個(gè)單元,需刷新128次(行)才能將全部64K個(gè)單元刷新完畢。因此必須每隔15.5s(2ms/128)刷新一行。這種刷新方式比較普遍。PC機(jī)就采用這種方法。稱為分行刷新,也叫做異步刷新。
集中式刷新分散式刷新5.2.2隨機(jī)存取存儲(chǔ)器RAM2023/7/2354
透明刷新方式的特點(diǎn)是利用CPU不讀/寫M的空閑時(shí)間(指令譯碼階段)進(jìn)行刷新,因而刷新可與CPU并行。因?yàn)檫@種刷新方式對(duì)CPU是透明的操作,所以稱為透明刷新。各種方式的刷新時(shí)間分配如圖4-22所示。2023/7/2355圖4-22刷新方式及周期分配(a)集中方式;(b)分散方式;(c)異步方式
2023/7/2356三、半導(dǎo)體RAM實(shí)例1.2114SRAM芯片
2023/7/23574-23存儲(chǔ)容量1K×4位存儲(chǔ)容量?2023/7/23582.動(dòng)態(tài)MOS存儲(chǔ)器實(shí)例
2164/4164DRAM芯片2164/4164是64K1位的DRAM兩種芯片,兩種芯片的結(jié)構(gòu)大同小異。片內(nèi)集成有64K(65536)個(gè)記憶單元。IBMPC/XT機(jī)內(nèi)存就是用4164芯片組成的。其內(nèi)部結(jié)構(gòu)見圖4-24所示。
2023/7/235964K1位2023/7/23604-252023/7/2361四RAM的組織
要應(yīng)用RAM芯片組織成一定容量和一定字長的存儲(chǔ)器可以有并聯(lián)(位擴(kuò)展)、串聯(lián)(字?jǐn)U展)、混聯(lián)(字位擴(kuò)展)三種方式。2023/7/23621)RAM芯片的并聯(lián)并聯(lián)又稱位擴(kuò)展法。常用于存儲(chǔ)器芯片的數(shù)據(jù)位是1位,2位或4位的情況。存儲(chǔ)器的數(shù)據(jù)位一般是以字節(jié)為單位。RAM的并聯(lián)是指用并聯(lián)RAM芯片的方式擴(kuò)展RAM的數(shù)據(jù)位使之構(gòu)成字節(jié)。
步驟確定片數(shù)確定地址線確定數(shù)據(jù)線確定控制線2023/7/23632023/7/2364例用SRAM2114芯片并聯(lián)構(gòu)成1KBRAMa、計(jì)算2114芯片數(shù)(1K*4位擴(kuò)展為1K*8位)2023/7/23651K*4位擴(kuò)展為1K*8位連接地址線連接數(shù)據(jù)線連接控制線2023/7/23662)RAM的串聯(lián)
串聯(lián)又稱地址擴(kuò)展法,字?jǐn)U展法。
采用多個(gè)RAM芯片串聯(lián)的方式擴(kuò)展RAM的存儲(chǔ)空間范圍,這就是RAM的串聯(lián)。步驟確定片數(shù)確定地址線確定數(shù)據(jù)線確定控制線2023/7/23672023/7/2368例用1KBRAM芯片構(gòu)成2KBRAMa、計(jì)算
(1K*8位擴(kuò)展為2K*8位)2023/7/2369連接地址線連接數(shù)據(jù)線連接控制線0-70-7(1K*8位2K*8位)2023/7/2370b、混聯(lián)(參見圖4-28)先將2個(gè)2K×4芯片并聯(lián)構(gòu)成2KBRAM,稱為1頁。兩個(gè)芯片連在一起,如圖示。再將4個(gè)(頁)2KBRAM串聯(lián)組成8KBRAM。2023/7/2371例2用2K×4位的存儲(chǔ)器芯片構(gòu)成8K×8位RAM。
a、計(jì)算2023/7/23724-2810101010102K×4位---->8K×8位2023/7/23734.2.3只讀存儲(chǔ)器ROM可分為四類:(1)掩膜編程(Maskprogrammed)ROM,記作MROM。ROM中程序由廠家制造而成,程序只能讀不能寫。(2)可編程序(Programmable)ROM,記作PROM。這種芯片,用戶使用儀器可一次寫入自編的程序。即只能編程一次。2023/7/2374(3)可擦除的(Erasable)PROM,記作EPROM,所存信息可用紫外線儀擦除??蓾M足用戶科研的需要,多次擦除,多次寫入。寫入后作為ROM使用。(4)電可擦除EPROM。記作EEPROM或E2PROM。這種擦除無需紫外線光源。通常有4種工作方式:讀方式、寫方式、字節(jié)擦除方式、全擦除方式。使用比較方便。寫時(shí)間大約需幾百s。2023/7/2375
快閃存儲(chǔ)器(flashMemory)是20世紀(jì)80年代出現(xiàn)的新型存儲(chǔ)器。它也屬于E2PROM,但不提供字節(jié)擦除方式,可以進(jìn)行塊擦除,即可擦除一塊(全部容量的幾分之一)字節(jié)的內(nèi)容。其價(jià)格和功能介于EPROM和E2PROM之間。2023/7/23764.2.4多體交叉存儲(chǔ)器多體交叉存儲(chǔ)器是指,由若干個(gè)容量相同,字長同為主存字長的存儲(chǔ)單體組成的。各個(gè)單體具有各自的地址寄存器(MAR)和數(shù)據(jù)寄存器(MDR),因此各個(gè)單體可獨(dú)立進(jìn)行讀寫操作。多體交叉存儲(chǔ)器有兩種方式:一是高位地址交叉,二是地位地址交叉。2023/7/2377 1.高位交叉存儲(chǔ)器高位交叉存儲(chǔ)器將地址分為兩部分,高位地址表示各個(gè)存儲(chǔ)單體的編號(hào),低位地址表示存儲(chǔ)單體的體內(nèi)地址,如圖4-33所示。2023/7/2378高位交叉存儲(chǔ)器中的每個(gè)存儲(chǔ)單體都具有獨(dú)立的控制部件,所以每個(gè)存儲(chǔ)單體都可以獨(dú)立地工作。因而高位交叉存儲(chǔ)器具有并行工作的條件。但程序具有局部性和連續(xù)性的特點(diǎn),而同一個(gè)存儲(chǔ)單體中的存儲(chǔ)單元的地址也是連續(xù)的,這樣執(zhí)行程序過程中的指令和數(shù)據(jù)大部分都分布在同一個(gè)存儲(chǔ)單體中,因此就會(huì)導(dǎo)致一個(gè)存儲(chǔ)單體處于忙狀態(tài),而其他存儲(chǔ)單體基本都是空閑狀態(tài),無法真正實(shí)現(xiàn)并行工作。2023/7/23792.低位交叉存儲(chǔ)器低位交叉存儲(chǔ)器與高位交叉存儲(chǔ)器的地址分配剛好相反,低位表示各個(gè)存儲(chǔ)單體的編號(hào),高位表示存儲(chǔ)單體的體內(nèi)地址,如圖4-34所示。2023/7/2380低位地址交叉存儲(chǔ)器使得低位地址經(jīng)過譯碼后選擇不同的存儲(chǔ)單體,這樣連續(xù)的地址分布在相鄰的不同存儲(chǔ)單體中,而同一存儲(chǔ)單體中的地址是不連續(xù)的。若程序和數(shù)據(jù)在主存中連續(xù)存放,且程序順序執(zhí)行,那么,各個(gè)存儲(chǔ)單體就可以并行工作,可以大大提高主存的訪問速度。2023/7/23814.2.5校驗(yàn)碼計(jì)算機(jī)在運(yùn)行程序過程中,存儲(chǔ)器、CPU、I/O設(shè)備不斷進(jìn)行信息交換。由于結(jié)構(gòu)、工藝、元器件等種種原因有時(shí)會(huì)使信息出錯(cuò)。具有指出錯(cuò)誤、改正錯(cuò)誤能力的編碼稱為糾錯(cuò)碼,又稱校驗(yàn)碼(CheckCode)。常用的校驗(yàn)碼技術(shù)有:奇偶校驗(yàn)碼,海明碼,循環(huán)冗余校驗(yàn)碼,格雷碼等。
2023/7/2382一、奇偶校驗(yàn)奇偶校驗(yàn)常用于內(nèi)存儲(chǔ)器的校驗(yàn),例如IBMPC機(jī)內(nèi)存。它能發(fā)現(xiàn)信息在寫入、傳送、讀出時(shí)的錯(cuò)誤,但不能糾正錯(cuò)誤。
1.奇偶校驗(yàn)原理2023/7/23832.校驗(yàn)位的形成方法和校驗(yàn)碼由于存儲(chǔ)器是以字節(jié)為單位,所以n=8。8位數(shù)據(jù)代碼含“1”的個(gè)數(shù)為奇數(shù),校驗(yàn)位為0;8位數(shù)據(jù)代碼含“1”的個(gè)數(shù)為偶數(shù),校驗(yàn)位為1。2023/7/2384例10000000的奇校驗(yàn)位為0,D8=0;所以對(duì)應(yīng)的奇校驗(yàn)碼:100000000。例11000000的奇校驗(yàn)位為1,D8=1。所以對(duì)應(yīng)的奇校驗(yàn)碼:110000001
2023/7/2385對(duì)于偶校驗(yàn):
8位數(shù)據(jù)代碼含“1”的個(gè)數(shù)為奇數(shù),校驗(yàn)位為1,反之,校驗(yàn)位為0。
或者說:2023/7/2386例10000000的偶校驗(yàn)位為1,D8=1;所以對(duì)應(yīng)的偶校驗(yàn)碼:100000001。例11000000的偶校驗(yàn)位為0,D8=0。所以對(duì)應(yīng)的偶校驗(yàn)碼:110000000
。有時(shí)也將校驗(yàn)位放在數(shù)據(jù)代碼最高位的前面。2023/7/23873.寫校驗(yàn)碼和讀出校驗(yàn)在存儲(chǔ)器邏輯電路中,數(shù)據(jù)代碼D7~D0一方面寫入M單元中,另一方面通過奇偶校驗(yàn)電路生成校驗(yàn)位D8寫入該M單元的校驗(yàn)位位置。讀出時(shí)進(jìn)行奇偶校驗(yàn):一方面根據(jù)讀出數(shù)據(jù)位D7~D0生成奇偶校驗(yàn)位D8,另一面從存儲(chǔ)器讀出校驗(yàn)位,兩者比較,相同則說明正確,不同就說明出錯(cuò),稱為奇偶校驗(yàn)錯(cuò)。2023/7/2388
這種方法只能發(fā)現(xiàn)奇數(shù)個(gè)代碼位出錯(cuò)。因?yàn)榕紨?shù)個(gè)出錯(cuò),校驗(yàn)碼的奇偶性不發(fā)生變化。這種方法也不能指出出錯(cuò)代碼的位置。奇偶校驗(yàn)之所以被認(rèn)為可靠,之所以大量應(yīng)用是基于數(shù)據(jù)代碼2位同時(shí)出錯(cuò)的概率遠(yuǎn)遠(yuǎn)小于1位出錯(cuò)的概率的緣故。
2023/7/23894.交叉校驗(yàn)交叉校驗(yàn)是二維奇偶校驗(yàn)。當(dāng)一次傳送一個(gè)具有n個(gè)字節(jié)的數(shù)據(jù)塊時(shí),在每個(gè)字節(jié)設(shè)有一個(gè)水平奇偶校驗(yàn)位,或稱行校驗(yàn)位;在n個(gè)字節(jié)的同一位設(shè)有一個(gè)垂直校驗(yàn)位,又稱列校驗(yàn)位。當(dāng)n=4時(shí),如下所示。2023/7/2390字節(jié)數(shù)據(jù)位奇校驗(yàn)位(行)D0D1D2D3D4D5D6D71100110011200101100031110011114011111101奇校驗(yàn)位(列)110100112023/7/2391
當(dāng)傳送過程中出現(xiàn)1個(gè)錯(cuò):例如第2字節(jié)D2出錯(cuò),由1變0;則校驗(yàn)電路會(huì)指出第2字節(jié)的行校驗(yàn)出錯(cuò)由0變1,同時(shí)也會(huì)指出D2的列校驗(yàn)出錯(cuò)由0變1。行列交叉不僅發(fā)現(xiàn)出錯(cuò),而且指出了出錯(cuò)位置是第2字節(jié)的D2位。
2023/7/2392字節(jié)數(shù)據(jù)位奇校驗(yàn)位(行)D0D1D2D3D4D5D6D71100110011200101100031110011114011111101奇校驗(yàn)位(列)110100112023/7/2393
當(dāng)傳送過程中同時(shí)出現(xiàn)2個(gè)錯(cuò):第2字節(jié)D2出錯(cuò),由1變0;D5出錯(cuò),也由1變0。此時(shí)校驗(yàn)電路不能發(fā)現(xiàn)行校驗(yàn)出錯(cuò),但能發(fā)現(xiàn)D2列和D5列校驗(yàn)出錯(cuò)。因而不能指明那個(gè)字節(jié)出錯(cuò)。也就不能指明出錯(cuò)位置。
2023/7/2394三、循環(huán)冗余校驗(yàn)循環(huán)冗余校驗(yàn)(CyclicRedundancyCheck)碼簡稱CRC碼。它適用于對(duì)一個(gè)數(shù)據(jù)塊進(jìn)行校驗(yàn)。常用來對(duì)磁表面存儲(chǔ)器進(jìn)行校驗(yàn),也用于同步串行通信。
2023/7/2395
磁表面存儲(chǔ)器的讀出錯(cuò)誤主要是由于磁表面出現(xiàn)問題:劃傷,灰塵,涂層不勻等。由于磁表面存儲(chǔ)器的位密度遠(yuǎn)高于磁道密度,因此一個(gè)磁道上連續(xù)出錯(cuò)的可能性要較幾道同時(shí)出錯(cuò)的可能性大得多。這是連續(xù)集中出現(xiàn)的錯(cuò)誤,稱作猝發(fā)性錯(cuò)誤(BurstError),和單個(gè)的隨機(jī)性出錯(cuò)不同,因此提出循環(huán)冗余校驗(yàn)。
2023/7/23961.模2運(yùn)算循環(huán)冗余碼是基于模2運(yùn)算的校驗(yàn)碼,首先要說明模2運(yùn)算。模2運(yùn)算是以2為模的2進(jìn)制加減乘除運(yùn)算。以2為模說明運(yùn)算不考慮進(jìn)位和借位。模2運(yùn)算以記號(hào)mod2表示。模2運(yùn)算的規(guī)則:
2023/7/23971)模2加法
0+0=0(mod2)
0+1=1(mod2)
1+0=1(mod2)
1+1=0(mod2)
2023/7/23982)模2減法
0-0=0(mod2)
0-1=1(mod2)
1-0=1(mod2)
1-1=0(mod2)
2023/7/23993)模2乘法
0×0=0(mod2)
0×1=0(mod2)
1×0=0(mod2)
1×1=1(mod2)2023/7/23100例1011×1001(mod2)1011×1001101100000000+1011
1010011
注意:在模2乘法過程中所用加法是Mod2加法。2023/7/231014)模2除法它的運(yùn)算規(guī)則是:(1)當(dāng)被除數(shù)(或部分余數(shù))的第1位是“1”,商取1,然后進(jìn)行mod2減法,減除數(shù)。若第1位是0,商取0,減去0。(所謂部分余數(shù)是在除法過程中所得的余數(shù)。)(2)當(dāng)部分余數(shù)的位數(shù)比除數(shù)少一位,則部分余數(shù)就是最后的余數(shù)。2023/7/23102例1110111÷101(mod2)110111110111
101100
0110001110101101101101101商是11011,余數(shù)是0。
2023/7/231032.生成多項(xiàng)式G(x)
(1)任意一個(gè)2進(jìn)制數(shù)都可用一個(gè)多項(xiàng)式表示。11=1·21+1·20101=1·22+1·201001=1·23+1·2011011=1·24+1·23+1·21+1·20以x替代基數(shù)2得到:
G(x)=x+1G(x)=x2+1G(x)=x3+1G(x)=x4+x3+x+12023/7/23104
因?yàn)镃RC碼是M(x)除以某個(gè)選定的多項(xiàng)式后產(chǎn)生的。當(dāng)選用的多項(xiàng)式滿足:(1)任何一位出錯(cuò)時(shí),余數(shù)不為0,(2)不同位出錯(cuò)使余數(shù)不同。稱為生成多項(xiàng)式。2023/7/231053.如何產(chǎn)生CRC碼
1)產(chǎn)生CRC校驗(yàn)位的方法①設(shè)數(shù)據(jù)信息代碼M(x)是n位的2進(jìn)制數(shù)。②將M(x)左移位,因?yàn)樯啥囗?xiàng)式G(x)是+1位。③M(x)除以G(x),用mod2除法。④除法完成后,得到的位余數(shù)就是CRC校驗(yàn)位。2)CRC碼將校驗(yàn)位(余數(shù))加到數(shù)據(jù)代碼M(x)的后面就構(gòu)成了n+位的CRC碼。2023/7/23106
例如果M(x)=1001,G(x)=1011。試計(jì)算出校驗(yàn)位,并組成CRC碼。
1)因?yàn)镚(x)=4(位)所以=3。將M(x)左移3位,移空位補(bǔ)0,得到1001000。
2)進(jìn)行Mod2除,1001000÷1011=1010,余數(shù)為110,即循環(huán)冗余校驗(yàn)位。4.CRC編碼舉例下面舉例說明編制CRC碼過程。
2023/7/2310710101011100100001000000100010110110110000010112023/7/231083)把余數(shù)加到M(x)的后面,得到1001110,此即循環(huán)冗余碼。在讀出校驗(yàn)時(shí),如果讀出校驗(yàn)碼無誤,那么1001110÷1011,余數(shù)應(yīng)為0。2023/7/2310910101011100111001010000101110110000000000010112023/7/23110
當(dāng)出錯(cuò)時(shí),例如1001110誤作1000110,此時(shí)1000110÷1011,余數(shù)不為0。當(dāng)繼續(xù)進(jìn)行Mod2除法時(shí)余數(shù)將循環(huán)出現(xiàn)。因此被稱為循環(huán)冗余碼。下式中余數(shù)011將循環(huán)出現(xiàn)。2023/7/23111表3.4出錯(cuò)位和余數(shù)的對(duì)應(yīng)關(guān)系
001A1A1010A2A2100A3A3011A2、A1A4110A3、A2A5111A3、A2、A1A6101A3、A1A7余數(shù)(出錯(cuò)模式)影響出錯(cuò)位2023/7/23112如果我們把出錯(cuò)碼從左往右計(jì)算位數(shù),則左起第1位(A7)、出錯(cuò)時(shí)余數(shù)為101。第2位出錯(cuò)時(shí)余數(shù)為111,把111繼續(xù)用1011去除,則除一次后即得到101。第3位出錯(cuò),則把余數(shù)連除兩次,即得到101。如左起第n位出錯(cuò),則余數(shù)除n-1次后得到101。從這一規(guī)律可得出一個(gè)簡單的糾錯(cuò)方法。即
2023/7/23113
余數(shù)為0時(shí)表示無錯(cuò)。余數(shù)為101時(shí),左起第一位出錯(cuò)。
余數(shù)非0又非101時(shí),繼續(xù)做模2除法。設(shè)除n-1次得到余數(shù)101,則從左起n位出錯(cuò)。
2023/7/231144.2.6相聯(lián)存儲(chǔ)器和雙口存儲(chǔ)器1相聯(lián)存儲(chǔ)器相聯(lián)存儲(chǔ)器的結(jié)構(gòu)和普通主存結(jié)構(gòu)不同,不是按地址訪問存儲(chǔ)器,而是按內(nèi)容訪問存儲(chǔ)器,稱之為CAM。CAM存儲(chǔ)單元(字),其內(nèi)容一部分是關(guān)鍵字,另一部分是存儲(chǔ)數(shù)據(jù)信息。2023/7/23115CAM的基本組成見下圖。CAM的容量為M×n,M個(gè)字,字長為n。要搜索的內(nèi)容放在CR(比較內(nèi)容寄存器)中,字長為n。2023/7/23116-12023/7/23117由于一個(gè)字中既有關(guān)鍵字,也有其它存儲(chǔ)信息,為了減少比較時(shí)間,須增設(shè)一個(gè)n位的屏蔽寄存器MR,并將不參加比較的各位屏蔽(MR的相應(yīng)位置“0”)將參加比較的各位開放(MR的相應(yīng)位置“1”)。見圖示MR的狀態(tài)。置成“1”的字段稱為關(guān)鍵字段。2023/7/23118
為了進(jìn)一步減少查找時(shí)間,CAM還設(shè)置WSR(字選擇寄存器,M位)將不需查找的字屏蔽掉(WSR的相應(yīng)位置“0”),需要查找的字開放(WSR的相應(yīng)位置“1”),類似于MR的功能。2023/7/23119
查找的結(jié)果放在SRR(查找結(jié)果寄存器)中。SRR也是M位,對(duì)應(yīng)于M個(gè)字。如果比較結(jié)果僅有第i個(gè)字滿足要求,則SRR中第i位置成“1”,其余為0;若同時(shí)有幾個(gè)字滿足要求,則SRR有幾位被置成“1”,其余為“0”。2023/7/23120CAM能進(jìn)行各種比較操作(=,≠,<,>等)而且關(guān)鍵字段的各位同時(shí)進(jìn)行比較,因此電路比較復(fù)雜價(jià)格亦高。2023/7/231212雙口存儲(chǔ)器當(dāng)兩個(gè)獨(dú)立的設(shè)備分享一個(gè)存儲(chǔ)器時(shí),如果存儲(chǔ)器可以從兩個(gè)不同的訪問口存貯和返回信息將特別有用。下圖給出了雙口存儲(chǔ)器的實(shí)現(xiàn)方法。2023/7/23122兩套獨(dú)立的讀/寫控制電路、地址緩存、地址譯碼及地址線和數(shù)據(jù)線,通常作為雙口RAM或指令預(yù)取部件2023/7/23123
存儲(chǔ)器的兩個(gè)口操作是獨(dú)立的,為了防止物理沖突,當(dāng)口2執(zhí)行操作時(shí),一個(gè)忙狀態(tài)信號(hào)提供給口1;同理,當(dāng)口1執(zhí)行操作時(shí),口2得到一個(gè)忙狀態(tài)信號(hào)。當(dāng)存儲(chǔ)器不忙時(shí),每個(gè)口都可以讀寫,使用控制信號(hào)與單口的RAM很相似。2023/7/23124
除了物理沖突外,也可能發(fā)生邏輯沖突,例如口2可能正在用新的信息更新一個(gè)數(shù)據(jù)塊,如果口1在更新期間企圖讀這個(gè)塊,那么它可能讀出舊數(shù)據(jù)也可以讀出新數(shù)據(jù)。要防止這點(diǎn),用兩個(gè)存儲(chǔ)單元保留兩個(gè)口之間的狀態(tài)變化,由兩個(gè)口提供的狀態(tài)信號(hào)可以顯示它是在更新數(shù)據(jù)的過程中。存儲(chǔ)器讀寫速度遠(yuǎn)遠(yuǎn)低于CPU處理速度,90ns:0.3ns僅以年7%速度增長以年60%速度增長CPU速度與內(nèi)存儲(chǔ)器速度的差別4.3高速緩沖存儲(chǔ)器的結(jié)構(gòu)與組織2023/7/23126對(duì)局部范圍的存儲(chǔ)器地址頻繁訪問,而對(duì)此范圍以外的地址訪問甚少的現(xiàn)象就稱為程序訪問的局部性。程序訪問的局部性為在存儲(chǔ)體系中引入Cache提供了理論依據(jù)。(速度)緩沖技術(shù)是解決兩個(gè)部件(設(shè)備)之間速度不匹配的一個(gè)重要手段。Cache是緩沖技術(shù)在存儲(chǔ)體系中的一個(gè)典型運(yùn)用?!癈ache—主存”層次(Cache存儲(chǔ)系統(tǒng))目的:彌補(bǔ)主存速度的不足CPU2023/7/231284.3.1Cache工作原理在Cache存儲(chǔ)系統(tǒng)中,把Cache和主存各分成若干個(gè)塊(block)。主存中和Cache中塊的數(shù)目不同,但塊的大小相同。2023/7/23129主存中含有B塊,Cache中含有b塊(B>b)。主存中塊內(nèi)地址用W表示,Cache中用w表示(W=w)。因此主存地址由塊號(hào)B和W組成,Cache地址由b和w組成。2023/7/23130Cache的通用結(jié)構(gòu)1)Cache的數(shù)據(jù)組織結(jié)構(gòu)有效有效標(biāo)記012……b-1012……b-1...有效有效標(biāo)記標(biāo)記012……b-1012……b-1...組0:組S-1:每個(gè)數(shù)據(jù)塊1個(gè)有效位每個(gè)數(shù)據(jù)塊B(=2b)個(gè)字節(jié)每組E個(gè)數(shù)據(jù)塊每個(gè)數(shù)據(jù)塊t個(gè)標(biāo)記位共S(=2s)組……….標(biāo)記2023/7/23132Cache與主存之間以塊為單位進(jìn)行數(shù)據(jù)交換。塊的大小通常以在主存的一個(gè)讀/寫周期中能訪問的數(shù)據(jù)長度為限,通常為1~16字。Cache中的內(nèi)容是主存一部分內(nèi)容的副本,即CPU最近最常訪問的內(nèi)容。以多體并行交叉存取方式的存儲(chǔ)器為例,采用4體并行,即數(shù)據(jù)長度為4(個(gè)字),若每個(gè)字長含8個(gè)字節(jié),則每塊大小為32B。2023/7/23133開始時(shí),塊大小很小,例如只有一個(gè)存儲(chǔ)單元,這時(shí)的命中率H很低。隨著塊大小的增加,由于程序的空間局部性起作用,同一塊中數(shù)據(jù)的利用率比較高,因此,Cache的命中率增加。這種增加趨勢在某一個(gè)最佳塊大小處達(dá)到最大值。在這一點(diǎn)以后,命中率隨著塊大小的增加反而減小。當(dāng)塊大小非常大時(shí),進(jìn)入Cache中的許多數(shù)據(jù)可能根本用不上。而且,隨著塊大小的增加,程序時(shí)間局部性的作用就會(huì)逐漸減弱。最后,當(dāng)塊大小等于整個(gè)Cache的容量時(shí),命中率將趨近于零。Cache的工作原理Cache的工作原理CPU主存數(shù)據(jù)總線地址總線主存數(shù)據(jù)塊號(hào)數(shù)據(jù)塊內(nèi)偏移地址Cache數(shù)據(jù)塊塊號(hào)數(shù)據(jù)塊內(nèi)偏移地址主存-Cache地址映射變換,并判斷是否命中判斷Cache中是否還有空閑空間根據(jù)Cache替換策略訪問主存Cache存儲(chǔ)體NYNYCache地址替換Cache數(shù)據(jù)塊裝入Cache數(shù)據(jù)塊主存地址2023/7/23135
當(dāng)CPU要訪問Cache時(shí),CPU通過總線送來的主存地址將存于主存地址寄存器MAR中(B和W)。B經(jīng)過主存--Cache地址變換得到b,b和W進(jìn)入Cache地址寄存器CAR中的b和w(w和W相同)。2023/7/23136如果命中(即CPU所訪問的信息在Cache中)則用CAR地址去訪問Cache,從Cache中取出數(shù)據(jù)送往CPU。如未命中,則用MAR中的地址去訪問主存。從主存中取出一個(gè)數(shù)據(jù)送往CPU,同時(shí)把包括被訪問地址在內(nèi)的一(整)塊數(shù)據(jù)調(diào)(裝)入Cache,以備以后使用。2023/7/23137
如果此時(shí)Cache已存滿,無空閑,則需要根據(jù)某種替換算法,淘汰(替換)一塊不常用的Cache空間以便存入從主存中新調(diào)入的塊。2023/7/23138Cache的容量和塊的大小是影響Cache的效率的重要因素。通常用“命中率”來檢測Cache的效率,命中率是指CPU所要訪問的信息在Cache中的比率,而將所要訪問的信息不在Cache的比率稱為失效率。2023/7/23139命中率是指CPU所要訪問的信息在Cache中的比率,而將所要訪問的信息不在Cache的比率稱為失效率命中率H=N1/(N1+N2),N1是在Cache中一次訪問到的信息量,N2是在Cache中未訪問到而從主存中訪問到的信息量。平均訪問時(shí)間Te=hTc+(1-h)Tm其中Tc指cache訪問時(shí)間,Tm指主存訪問時(shí)間2023/7/231404.3.2主存-Cache地址變換和地址映象在Cache中,地址映象是指把存放在主存中的程序按照某種規(guī)則裝入到Cache中,并因此建立主存地址與Cache地址之間的對(duì)應(yīng)關(guān)系。地址變換是指在程序運(yùn)行時(shí),根據(jù)地址映象把主存地址變換成Cache地址。2023/7/23141
常用的地址映象方式有全相聯(lián)映象、直接映象和組相聯(lián)映象。1.全相聯(lián)映象及其地址變換
1)全相聯(lián)映象全相聯(lián)映象方式指主存中任一塊能夠映象到Cache中任意一塊的位置。這是最靈活但成本最高的一種方式。5.3.2Cache—主存地址映射2.全相聯(lián)映射主存中的某一Block可以映射到Cache中的任意一Blcok空間利用率最高,沖突概率最低,實(shí)現(xiàn)最復(fù)雜2023/7/23143
如果Cache的塊數(shù)為Cb(例如Cb=4),主存的塊數(shù)為Mb(例如Mb=8),則主存和Cache之間的映象關(guān)系有Cb×Mb(4×8=32)種。見圖4-38。用目錄表來存放這種映象關(guān)系。目錄表的每一行表示一種映象。目錄表參見圖4-39。2023/7/231444-392023/7/231452)地址變換在執(zhí)行程序時(shí),CPU先訪問Cache,用主存塊號(hào)B與從目錄表讀出的主存塊號(hào)字段進(jìn)行逐一比較。如果有相等的,而且有效位為“1”,表示要訪問的數(shù)據(jù)已經(jīng)裝入到Cache中。2023/7/23146當(dāng)有效時(shí),將目錄表中的b送入Cache地址寄存器的b位置,主存塊內(nèi)地址W送到Cache地址寄存器的w位置,形成Cache地址,訪問Cache后,把讀出的字送向CPU,從而完成讀出。2023/7/23147如果在相聯(lián)比較中沒有發(fā)現(xiàn)相等的,這時(shí)要用主存地址去訪問主存,從主存讀出一字送向CPU。同時(shí)還要:①依照替換算法淘汰Cache中一個(gè)塊,②把主存讀出的該字所在的塊全部寫入Cache,③修改目錄表中的一行,得到新的Cache主存-映象。2023/7/23148采用全相聯(lián)映象最突出的優(yōu)點(diǎn)是塊的沖突率最小,Cache利用率高,缺點(diǎn)是代價(jià)較高(相聯(lián)存儲(chǔ)器代價(jià)較高)且相聯(lián)比較的時(shí)間較長,影響了Cache的訪問速度。2023/7/231492.直接映象及地址變換
1)直接映象直接映象方式是規(guī)定主存每個(gè)區(qū)的塊和Cache內(nèi)的塊一一對(duì)應(yīng)(映象)。根據(jù)Cache的大小把主存分成若干個(gè)區(qū)(域),因此主存容量是Cache容量的若干倍。5.3.2Cache—主存地址映射1.直接映射:映射關(guān)系:主存中的某一塊J映射到Cache中的固定塊K,K=JModM(M是Cache包含的塊數(shù))主存中的每一塊只能被放置到Cache中唯一的一個(gè)位置第0區(qū)第1區(qū)2023/7/23151
此時(shí)主存的地址由區(qū)號(hào)E、塊號(hào)B和塊內(nèi)地址W構(gòu)成,而Cache的地址由塊號(hào)b(b=B)和塊內(nèi)地址w(w=W)構(gòu)成。2023/7/231524-412023/7/231532)地址變換在程序執(zhí)行過程中,用主存地址的塊號(hào)B去訪問Cache,把讀出的區(qū)號(hào)E(同時(shí)也讀出了這一塊的所有數(shù)據(jù))和主存地址的區(qū)號(hào)E進(jìn)行比較。2023/7/23154如果比較結(jié)果相等,且有效位為“1”,則Cache命中,表示要訪問的某塊已在Cache中。與此同時(shí),讀出的數(shù)據(jù)通過一個(gè)多路選擇器(1/W),在塊內(nèi)地址W的控制下,把所需的字選擇輸出向CPU。2023/7/23155
如果結(jié)果相等但有效位為“0”,表示Cache的該塊已經(jīng)無效(可以淘汰),只要把從主存中讀出來的新塊裝入到Cache中,有效位置“1”即可。2023/7/23156
如果結(jié)果不等說明沒有命中,而有效位為“0”,說明此塊已無效,(即空白),可把從主存讀出的新塊裝入到Cache,將主存區(qū)號(hào)寫到Cache的區(qū)號(hào)字段,有效位置“1”。2023/7/23157
如果結(jié)果不相等,有效位為“1”,雖然未命中,但Cache的該塊不能廢棄。于是先將Cache該塊內(nèi)容寫回主存原單元(原區(qū)原塊位置),然后把從主存讀出新塊裝入到Cache。當(dāng)然主存區(qū)號(hào)也要寫到CacheE字段。2023/7/23158
全相聯(lián)映象方法需要用算法決定將Cache的塊分配給相應(yīng)的主存的塊。直接映象方法節(jié)省了計(jì)算時(shí)間,提高了調(diào)入頁面的效率。2023/7/23159
直接映象方法的另一優(yōu)點(diǎn)是硬件實(shí)現(xiàn)簡單,無需進(jìn)行地址變換,因而訪問速度較快。由于直接映象的這一特點(diǎn),若主存中兩個(gè)或兩個(gè)以上的塊都映象到Cache的同一塊中,而這些塊又都是當(dāng)前常用塊時(shí)就產(chǎn)生了沖突,這時(shí)即使Cache有許多空閑塊也不能使用,因而造成Cache空間利用率降低,并且Cache的命中率會(huì)很低。這一點(diǎn)正好是全相聯(lián)映象方式的優(yōu)點(diǎn)。2023/7/231603.組相聯(lián)映象及其地址變換
1)組相聯(lián)映象組相聯(lián)映象方式是直接映象和全相聯(lián)映象方式的一種折衷方案。組相聯(lián)映象的原理是:主存按Cache的大小分成若干個(gè)區(qū);主存區(qū)內(nèi)分組,同樣Cache內(nèi)也分組;組內(nèi)分塊,Cache塊和主存塊的大小相同。2023/7/231612023/7/23162
組相聯(lián)映象方式既避免了全相聯(lián)方式時(shí)分配頁面時(shí)的大量計(jì)算,也減少了直接相聯(lián)方式時(shí)塊的沖突,提高了存儲(chǔ)體系的效率,因而在計(jì)算機(jī)中得到廣泛的應(yīng)用。2)地址變換2023/7/231634-432023/7/23164
在程序執(zhí)行過程中,用主存地址的組號(hào)G訪問塊表,從塊表中讀出K個(gè)字(K是組內(nèi)分塊時(shí)塊的個(gè)數(shù)),每個(gè)字含有區(qū)號(hào)E,組內(nèi)塊號(hào)B以及b,將讀出的K個(gè)字的E和B的值和主存地址E和B的值逐一進(jìn)行相聯(lián)比較,2023/7/23165如果相等,表示命中,于是將同時(shí)讀出的b送入CAR的b字段,而MAR中的G和W亦分別送入CAR的g和w字段,于是得到Cache的地址。由此去讀Cache,最后把從Cache讀出的信息送往CPU。2023/7/23166
如果不等,表示沒有命中,需用MAR中的地址去訪問M,并將從主存中讀出的信息送向CPU。與此同時(shí),還要將包括被訪問的信息在內(nèi)的一塊信息從主存調(diào)入Cache,還要修改塊表等等。2023/7/231674.3.3替換算法在地址變換過程中,如果發(fā)現(xiàn)Cache失效則需要將主存的一個(gè)新塊數(shù)據(jù)調(diào)入Cache存儲(chǔ)器中;由于此時(shí)與之相應(yīng)的Cache塊中已裝滿數(shù)據(jù),這就要使用替換算法,從相應(yīng)的Cache塊中找出一個(gè)不常用的塊,把它存到主存中原來的塊位置,而Cache中空出的位置存放從主存調(diào)入的新塊。2023/7/23168
替換算法和映象方式有關(guān),直接映象方式不需要替換算法,全相聯(lián)映象方式由于存儲(chǔ)器任何一塊數(shù)據(jù)都可以調(diào)入Cache中任意一塊位置,因此替換算法比較復(fù)雜,組相聯(lián)映象也需要從Cache中的相應(yīng)塊中淘汰(調(diào)出)一塊,然后再從主存調(diào)入。2023/7/23169
常用的替換算法有FIFO算法和隨機(jī)替換算法、LRU算法、LFU算法、OPT算法、環(huán)形FIFO算法。Cache的替換策略替換策略LRU(Least-RecentlyUsed)最近最少使用法將近期內(nèi)長時(shí)間未被訪問過的數(shù)據(jù)塊替換出去,實(shí)現(xiàn)比較容易FIFO(First-In-First-Out)先進(jìn)先出法將最先調(diào)入Cache的數(shù)據(jù)塊替換出去,它不需要隨時(shí)記錄各數(shù)據(jù)塊的使用情況,容易實(shí)現(xiàn)、開銷小
LFU(Least-FrequentlyUsed)最不常使用算法替換出在過去一個(gè)時(shí)間段內(nèi)引用次數(shù)最少的數(shù)據(jù)塊既充分利用了歷史信息,又反映了程序的局部性,但實(shí)現(xiàn)起來非常困難2023/7/231734.3.4高速緩存的寫策略在Cache與主存儲(chǔ)器之間保持一致性是很重要的。每次對(duì)Cache執(zhí)行寫操作,在兩個(gè)存儲(chǔ)器的內(nèi)容之間都會(huì)產(chǎn)生差別,要保持Cache一致性,對(duì)Cache的寫,最終必須傳送給主存儲(chǔ)器。當(dāng)執(zhí)行寫操作時(shí),Cache控制器判斷其地址是否定位在Cache中。如果在,CPU的數(shù)據(jù)就會(huì)寫到Cache中。對(duì)于進(jìn)一步的主存儲(chǔ)器操作,Cache控制器有以下幾種主要的寫策略。寫策略(Cache一致性問題)要寫的單元已經(jīng)在Cache中對(duì)于寫命中,有兩種處理方式寫直通方式(通過式寫、寫直達(dá)、直寫)
同時(shí)寫Cache和主存單元使用寫緩沖(WriteBuffer)寫回方式(一次性寫、寫回、回寫)
只寫cache不寫主存,缺失時(shí)一次寫回,每行有個(gè)修改位(“dirtybit-臟位”),大大降低主存帶寬需求,控制可能很復(fù)雜2023/7/231753)失效(invalidation)當(dāng)系統(tǒng)中存在其他微處理器或DMA操作的系統(tǒng)部件時(shí),主存儲(chǔ)器即成為共享存儲(chǔ)器。它們之中的任何一方對(duì)主存儲(chǔ)器都有可能覆蓋寫入。此時(shí)Cache控制器必須通報(bào)有關(guān)的Cache行,它們的數(shù)據(jù)由于主存儲(chǔ)器已被修改而成為無效,這種操作就稱為Cache失效。“主存—輔存”層次(虛擬存儲(chǔ)系統(tǒng))目的:彌補(bǔ)主存容量的不足2023/7/231774.4虛擬存儲(chǔ)器的組織與結(jié)構(gòu)4.4.1虛擬存儲(chǔ)器概論在當(dāng)前的計(jì)算機(jī)(包括微型機(jī))中,其可尋址空間遠(yuǎn)遠(yuǎn)大于實(shí)際配置的主存的空間(容量)。例如386PC機(jī),其地址位為32,則可尋址的空間為232=4GB;但實(shí)際配備的主存僅有8MB,16MB等。2023/7/23178
另一方面程序設(shè)計(jì)人員希望有一個(gè)大于(或等于)整個(gè)主存的空間供編程使用。這樣就提出了虛擬存儲(chǔ)器的概念。(1961年英國曼徹斯特大學(xué)Kilbrn等人提出)2023/7/23179
由操作系統(tǒng)將輔存的一部分當(dāng)做主存使用,因而擴(kuò)大了程序可控制的空間。通常這種由主存和部分輔存組成的存儲(chǔ)系統(tǒng)稱為虛擬存儲(chǔ)器?;蛘哒f,在主存和輔存之間,增加部分軟件和必要的硬件支持,使主存和輔存形成一個(gè)有機(jī)整體,稱為虛擬存儲(chǔ)器。2023/7/23180
虛擬存儲(chǔ)器必須建立在主存輔存結(jié)構(gòu)上,但一般的主存輔存結(jié)構(gòu)并不就是虛擬存儲(chǔ)器。它們之間的本質(zhì)區(qū)別是:①虛擬存儲(chǔ)器仿佛擴(kuò)大了整個(gè)主存的容量,用戶可使用遠(yuǎn)遠(yuǎn)大于主存的空間。對(duì)主存輔存結(jié)構(gòu),用戶只能使用主存或操作系統(tǒng)分配給的那部分主存。2023/7/23181②虛存的存儲(chǔ)地址稱為虛擬地址,或邏輯地址,其對(duì)應(yīng)的存儲(chǔ)容量稱為虛存容量。對(duì)于虛存來說,訪問主存要進(jìn)行虛--實(shí)地址變換。對(duì)于主存--輔存結(jié)構(gòu),訪問主存不必進(jìn)行這種地址變換。2023/7/23182③對(duì)虛存的分配由操作系統(tǒng)完成,而主存輔存結(jié)構(gòu),其使用由應(yīng)用程序進(jìn)行。2023/7/23183
虛擬存儲(chǔ)器的示意圖見圖3.43所示。虛擬存儲(chǔ)器提供了這樣一種二級(jí)存儲(chǔ)系統(tǒng),它具有遠(yuǎn)遠(yuǎn)大于主存的容量,接近于主存的速度和接近于輔存的成本。2023/7/231844-442023/7/23185
從原理角度看,虛擬存儲(chǔ)器和Cache主存體系有很多相似之處。虛存所采取的映像方式和Cache主存一樣。而且這些映象方式也是先用于虛存,再移植到Cache中。兩者也多采用LRU替換算法,即最近最少使用算法。其思想是把存儲(chǔ)器最近最少使用的存儲(chǔ)塊替換出去,以便將新的存儲(chǔ)塊調(diào)入。2023/7/23186
但兩者也有明顯區(qū)別:主存-Cache訪問時(shí)間少,傳送的信息塊也小。虛存訪問時(shí)間長,傳送的信息塊(段、頁)比較大。2023/7/23187
虛擬存儲(chǔ)器本質(zhì)上是這樣一種技術(shù):在主存-輔存結(jié)構(gòu)的基礎(chǔ)上,利用管理技術(shù)將一個(gè)實(shí)際存在的容量比較小的主存、虛構(gòu)(模擬)成(或者說讓用戶覺得有)一個(gè)容量相當(dāng)大的存儲(chǔ)空間(虛擬存儲(chǔ)器空間),使用戶能運(yùn)行大規(guī)模(>主存容量)的程序。2023/7/231
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年領(lǐng)導(dǎo)力提升實(shí)戰(zhàn)中高層管理技能提升考試題庫
- 2026年外貿(mào)業(yè)務(wù)員國際商法及貿(mào)易實(shí)務(wù)題集及答案解析
- 2026年建筑設(shè)計(jì)基礎(chǔ)知識(shí)專業(yè)測試題
- 2026年云南機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試參考題庫含詳細(xì)答案解析
- 外貿(mào)海運(yùn)培訓(xùn)課件
- 2026年九州職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試備考試題及答案詳細(xì)解析
- 2026年廣西物流職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試備考試題含詳細(xì)答案解析
- 2026年鄭州升達(dá)經(jīng)貿(mào)管理學(xué)院單招綜合素質(zhì)筆試參考題庫含詳細(xì)答案解析
- 2026年昆明冶金高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測試備考試題及答案詳細(xì)解析
- 2026年河南林業(yè)職業(yè)學(xué)院單招綜合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 【全文翻譯】歐盟-GMP-附錄1《無菌藥品生產(chǎn)》智新版
- 2025年公務(wù)員(省考)測試卷附答案詳解
- 2025年醫(yī)療統(tǒng)計(jì)師崗位招聘面試參考題庫及參考答案
- 2025年湖南邵陽經(jīng)開貿(mào)易投資有限公司招聘12人筆試考試參考試題及答案解析
- 白內(nèi)障手術(shù)術(shù)前準(zhǔn)備和術(shù)后護(hù)理流程
- 多動(dòng)癥兒童在感統(tǒng)訓(xùn)練
- 環(huán)保生產(chǎn)應(yīng)急預(yù)案
- 高校盤點(diǎn)清查系統(tǒng)介紹
- 殯葬禮儀服務(wù)創(chuàng)新創(chuàng)業(yè)項(xiàng)目商業(yè)計(jì)劃書
- 數(shù)據(jù)驅(qū)動(dòng)的零售商品陳列優(yōu)化方案
- 顱內(nèi)感染指南解讀
評(píng)論
0/150
提交評(píng)論