存儲器及存儲系統(tǒng)_第1頁
存儲器及存儲系統(tǒng)_第2頁
存儲器及存儲系統(tǒng)_第3頁
存儲器及存儲系統(tǒng)_第4頁
存儲器及存儲系統(tǒng)_第5頁
已閱讀5頁,還剩193頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

會計學(xué)1存儲器及存儲系統(tǒng)3.1存儲器概述1.存儲器分類1)按存儲介質(zhì)分類(1)半導(dǎo)體存儲器特點(diǎn):集成高、容量大、體積小、存取速度快、功耗低、價格便宜、維護(hù)簡單。又分兩類:雙極性存儲器(TTL型和ECL型)和金屬氧化物半導(dǎo)體存儲器(MOS)(分為靜態(tài)MOS存儲器和動態(tài)MOS存儲器)(2)

磁表面存儲器特點(diǎn):存儲體積大且不易丟失含磁盤存儲器、磁帶存儲器等(3)

激光存儲器特點(diǎn):集上述兩種優(yōu)點(diǎn)只讀型光盤(CD-ROM)、只寫一次型光盤(WORM)和磁光盤(MOD)第1頁/共198頁2)按存取方式分類

(1)隨機(jī)存儲器(RAM)在存儲器中任何存儲單元的內(nèi)容都能隨機(jī)存取,且存取時間與存儲單元的物理位置無關(guān)。主要用途:存放各種輸入/輸出的程序、數(shù)據(jù)、中間結(jié)果以及存放與外界交換的信息和做堆棧用。一般充當(dāng)高速緩沖存儲器和主存儲器。

(2)串行訪問存儲器(SAS)在存儲器中按某種順序來存取,也就是存取時間與存儲單元的物理位置有關(guān)。又分為順序存取存儲器(SAM)和直接存取存儲器(DAM)主要用途:磁帶(SAM)和磁盤(DAM)。用于外部存儲器。第2頁/共198頁

(3)只讀存儲器(ROM)只能讀,不能寫的,其內(nèi)容已經(jīng)預(yù)先一次寫入,是存放固定不變的信息。主要用途:微程序控制器、BIOS等

又分為掩模ROM(MROM)、可編程ROM(PROM)、可擦除可編程ROM(EPROM和E2PROM))第3頁/共198頁

非永久記憶的存儲器:斷電后信息即消失的存儲器。(主存中的RAM)永久記憶性存儲器:斷電后仍能保存信息的存儲器。(輔存,ROM)3)按信息的可保存性分類

根據(jù)存儲器在計算機(jī)系統(tǒng)中所起的作用,可分為主存儲器、輔助存儲器、高速緩沖存儲器、控制存儲器等。4)按在計算機(jī)系統(tǒng)中的作用分類第4頁/共198頁存儲器分類綜述主存儲器輔助存儲器存儲器RAMROMSRAMDRAM磁盤光盤軟盤硬盤→Cache磁帶MROMPROMEPROME2PROMCD-ROMWORMEOD第5頁/共198頁2.存儲器的分級管理通常采用三級存儲器結(jié)構(gòu)(高速緩沖存儲器、主存儲器和輔助存儲器),CPU能直接訪問存儲器(高速緩沖存儲器、主存儲器)稱為內(nèi)存儲器(內(nèi)存),不能直接訪問稱為外存儲器(外存)第6頁/共198頁

(1)高速緩沖存儲器(Cache、快存)是一個高速的小容量的存儲器,臨時存放指令和數(shù)據(jù),主要用雙極型半導(dǎo)體存儲器組成。(2)主存儲器(主存)是計算機(jī)主要存儲器,用來存放計算機(jī)運(yùn)行期間的大量數(shù)據(jù)和程序。它是和快存交換數(shù)據(jù)和指令,快存再與CPU打交道。由MOS存儲器組成。(3)外存儲器(外存)又稱輔助存儲器,主要是存儲容量大,用來存放系統(tǒng)程序和大型數(shù)據(jù)文件及數(shù)據(jù)庫。第7頁/共198頁

三級結(jié)構(gòu)有關(guān)系有下圖表示:主機(jī)高速緩沖存儲器Cache

寄存器組CPU主存外存第8頁/共198頁3.2主存儲器一、主存儲器的技術(shù)指標(biāo)1、存儲容量存放一個機(jī)器字的存儲單元,稱為字存儲單元,相應(yīng)的單元地址叫字地址,若計算機(jī)中可編址最小單元為字,稱該計算機(jī)為按字編址的計算機(jī);存放一個字節(jié)的單元,稱為字節(jié)存儲單元,相應(yīng)的單元地址叫字節(jié)地址,若計算機(jī)中可編址最小單元為字節(jié),稱該計算機(jī)為按字節(jié)編址的計算機(jī)。第9頁/共198頁在一個存儲器中可以容納的主存儲器的單元總數(shù)稱為該存儲器的存儲容量,通常用字節(jié)(B,1B=8b)表示。1K=1024,1M=1024K,1G=1024M和1T=1024G,單位為MB、GB、TB第10頁/共198頁2、存取時間寫操作:信息存入存儲器的操作。讀操作:從存儲器取出信息的操作。訪問:讀/寫操作。存儲器的訪問時間(存取時間,用TA表示,多數(shù)在ns級):從存儲器接收到讀(或?qū)懀┟畹綇拇鎯ζ髯x出(寫入)信息所需的時間。

第11頁/共198頁3、存取周期存取周期(用TM表示):存儲器作連續(xù)訪問操作過程中完成一次完整存取操作所需的全部時間。也是指連續(xù)啟動兩次獨(dú)立的存儲器操作所需間隔的最小時間。TM>TA

第12頁/共198頁主存儲器的主要幾項(xiàng)技術(shù)指標(biāo)指標(biāo)含義表現(xiàn)單位存儲容量在一個存儲器中可以容納的存儲單元總數(shù)存儲空間的大小字?jǐn)?shù),字節(jié)數(shù)存取時間啟動到完成一次存儲器操作所經(jīng)歷的時間主存的速度ns存儲周期連續(xù)啟動兩次操作所需間隔的最小時間主存的速度ns

存儲器帶寬單位時間里存儲器所存取的信息量。數(shù)據(jù)傳輸速率技術(shù)指標(biāo)位/秒,字節(jié)/秒第13頁/共198頁

二、主存儲器的基本結(jié)構(gòu)

它由存儲體加上一些外圍電路構(gòu)成。外圍電路包括地址譯碼驅(qū)動器、數(shù)據(jù)寄存器和存儲器控制電路等。接收來自CPU的n位地址信號,經(jīng)過譯碼、驅(qū)動后形成2n個地址選擇信號,每次選中一個地址。第14頁/共198頁三、主存儲器的基本操作主存儲器用來暫時存儲CPU正在使用的指令和數(shù)據(jù),它們的連接是通過總線實(shí)現(xiàn)的。總線有三類:數(shù)據(jù)總線、地址總線和控制總線存儲器地址寄存器(在CPU中,MAR):傳送地址的,單向的CPU發(fā)出,連接的總線(MAR總線)存儲器數(shù)據(jù)寄存器(在CPU中,MDR):傳送數(shù)據(jù)的,雙向的(MDR總線)MAC控制線:含讀、寫和表示存儲器功能完成的線第15頁/共198頁CPUMARMDR主存容量2K字字長n位MEM地址總線K位數(shù)據(jù)總線n位ReadWriteMAC控制總線第16頁/共198頁讀操作過程:

CPU發(fā)出指定存儲器地址(通過MAR到總線),并發(fā)出Read有效,之后等待主存儲器的應(yīng)答信號(MAC控制線,若為1,表示主存儲器已將數(shù)據(jù)送入數(shù)據(jù)總線),送入MDR,完成一次讀操作。

第17頁/共198頁寫操作過程:

CPU發(fā)出指定存儲器地址(通過MAR到總線),并將數(shù)據(jù)(通過MDR到總線),同時發(fā)出Write有效,之后等待主存儲器的應(yīng)答信號(MAC控制線);主存儲器從數(shù)據(jù)總線接收到信息并按地址總線指定的地址存儲。然后經(jīng)過MAC控制線發(fā)回存儲器操作完成的信號。完成一次寫操作。第18頁/共198頁3.3 半導(dǎo)體存儲器芯片3.3.1靜態(tài)MOS存儲器(SRAM)3.3.2動態(tài)MOS存儲器(DRAM)3.3.3半導(dǎo)體只讀存儲器第19頁/共198頁工藝雙極型MOS型速度很快、功耗大、容量小功耗小、容量大靜態(tài)MOS動態(tài)MOS存儲信息原理靜態(tài)存儲器SRAM動態(tài)存儲器DRAM(雙極型、靜態(tài)MOS型):

依靠雙穩(wěn)態(tài)電路內(nèi)部交叉反饋的機(jī)制存儲信息。(動態(tài)MOS型):

依靠電容存儲電荷的原理存儲信息。功耗較大,速度快,作Cache。功耗較小,容量大,速度較快,作主存。(靜態(tài)MOS除外)半導(dǎo)體存儲器第20頁/共198頁VCCT3T4T5T6BT1T2ADDT7T8接Y地址譯碼線(I/O)(I/O)X地址譯碼線一、靜態(tài)MOS存儲器(SRAM)

1.靜態(tài)MOS存儲單元下圖是一位的六管靜態(tài)MOS存儲單元電路圖:①T1、T2是工作管,使得A、B點(diǎn)為互補(bǔ)(一個為

1,另一個一定0)。②T3、T4是負(fù)載管,起限流電阻作用③T5、T6、T7、T8為控制管或開門管,由它們實(shí)現(xiàn)按地址選擇存儲單元。第21頁/共198頁VCCT3T4T5T6BT1T2ADDT7T8接Y地址譯碼線(I/O)(I/O)X地址譯碼線一、靜態(tài)MOS存儲器(SRAM)

1.靜態(tài)MOS存儲單元下圖是一位的六管靜態(tài)MOS存儲單元電路圖:1)寫操作如果寫入“1”,則在I/O線上輸入高電位,而在線上輸入低電位,并開通T5、T6、T7、T8四個MOS管,把高、低電位分別加入A點(diǎn)和B點(diǎn)上,從而使T1管截止,T2管導(dǎo)通。當(dāng)輸入信號及地址選擇信號消失后,T5、T6、T7、T8管都截止,T1和T2管就保持被強(qiáng)迫寫入的狀態(tài)不變,從而將“1”寫入存儲元,各種干擾信號不會影響T1和T2管;寫“0”同上原理一樣。第22頁/共198頁VCCT3T4T5T6BT1T2ADDT7T8接Y地址譯碼線(I/O)(I/O)X地址譯碼線一、靜態(tài)MOS存儲器(SRAM)

1.靜態(tài)MOS存儲單元下圖是一位的六管靜態(tài)MOS存儲單元電路圖:2)讀操作讀操作時,若某個存儲元被選中,則T5、T6、T7、T8四管均導(dǎo)通,于是A點(diǎn)、B點(diǎn)與位線D、相連,存儲元的信息被送到I/O線和線上,I/O及線連接著一個差動讀出放大器,從其電流方向,可以判斷所存信息是“1”和“0”;也可以只有一個輸出端連接到外部,從其有無電流通過,判斷出所存信息是“1”還是“0”。第23頁/共198頁2.靜態(tài)MOS存儲器的組成

16….

2164×64=4096存儲矩陣驅(qū)動器X譯碼器地址譯碼器6.........…I/O電路Y譯碼電路地址反相器6輸出驅(qū)動器控制電路輸出輸入A6A7A11…讀/寫片選164164…A0A1A5…第24頁/共198頁Y譯碼X譯碼X1X0Y1Y0DDI/O電路4×4陣列構(gòu)成的16×1位存儲器存儲體地址譯碼器第25頁/共198頁X譯碼X1X0D3I/O電路4×4位存儲器D2D1D0第26頁/共198頁①存儲體(存儲矩陣)

存儲體是存儲單元的集合。在容量較大的存儲器中往往把各個字的同一位組織在一個集成片中;

圖芯片是4096*1位,由這樣的8個芯片可組成4096字節(jié)的存儲器。

4096個存儲單元排成64*64的矩陣。由X選擇線(行選擇線)和Y選擇線(列選擇線)來選擇所需用的單元第27頁/共198頁

兩種地址譯碼方式:

1)單譯碼方式,適用于小容量存儲器;②地址譯碼器

地址譯碼器把用二進(jìn)制表示的地址轉(zhuǎn)換為譯碼輸入線上的高電位,以便驅(qū)動相應(yīng)的讀寫電路。

地址譯碼器只有一個,其輸出叫字選線,選擇某個字的所有位。

地址輸入線n=4,經(jīng)地址譯碼器譯碼后,產(chǎn)生16個字選線,分別對應(yīng)16個地址。第28頁/共198頁譯碼器A5A4A3A2A1A06301存儲單元64個單元單譯碼第29頁/共198頁

2)雙譯碼方式,適用于容量較大的存儲器。

地址譯碼器分為X和Y兩個譯碼器。每一個譯碼器有n/2個輸入端,可以譯出2n/2個狀態(tài),兩譯碼器交叉譯碼的結(jié)果,可產(chǎn)生2n/2×2n/2

個輸出狀態(tài)。第30頁/共198頁行譯碼A2A1A0710列譯碼A3A4A501764個單元雙譯碼

采用雙譯碼結(jié)構(gòu)的8×8的存儲矩陣構(gòu)成的64×1位的存儲器第31頁/共198頁...X地址譯碼0,01,063,00,11,163,10,631,6363,63Y地址譯碼I/O控制雙地址譯碼存儲結(jié)構(gòu)X0X1X63...y0y1...y63.........

采用雙譯碼結(jié)構(gòu)的4096×1的存儲單元矩陣;對4096個單元選址,需要12根地址線:A0—A11。第32頁/共198頁③驅(qū)動器

一條X方向的選擇線要控制在其上的各個存儲單元的字選線,負(fù)載較大,要在譯碼器輸出后加驅(qū)動器。④I/O控制

它處于數(shù)據(jù)總線和被選用的單元之間,用以控制被選中的單元讀出或?qū)懭?,并具有放大信息的作用。⑤片選控制

將一定數(shù)量的芯片按一定方式連接成一個完整的存儲器;芯片外的地址譯碼器產(chǎn)生片選控制信號,選中要訪問的存儲字所在的芯片。⑥讀/寫控制

根據(jù)CPU給出的信號是讀命令還是寫命令,控制被選中存儲單元的讀寫。第33頁/共198頁&&CSR/WI/ODD片選和讀寫控制電路第34頁/共198頁3.靜態(tài)MOS存儲器芯片實(shí)例下圖是Intel2114靜態(tài)MOS芯片邏輯結(jié)構(gòu)圖,該芯片是一個1K×4位的靜態(tài)RAM,片上共有4096個六管存儲元電路,排成64×64的矩陣,有地址總線10根(A0~A9),其中六根(A3~A8)用于行譯碼,產(chǎn)生64根行選擇線,四根用于列譯碼,產(chǎn)生64/4條選擇線,即16條列選擇線,每條線同時接矩陣的4位。第35頁/共198頁第36頁/共198頁地址端:2114(1K×4)191018A6A5A4A3A0A1A2CSGNDVccA7A8A9D0D1D2D3WEA9~A0(入)數(shù)據(jù)端:D3~D0(入/出)控制端:片選CS=0選中芯片=1未選中芯片寫使能WE=0寫=1讀電源、地SRAM芯片2114(1K×4位)外特性:第37頁/共198頁4、存儲器的讀/寫操作結(jié)合上面Inter2114,對讀/寫操作的時序進(jìn)行分析。

1)讀操作時序CS地址

tCXtOHAtCOtRCtAtOTDDOUT讀周期tRC

地址有效→下一次地址有效,最小450ns第38頁/共198頁4、存儲器的讀/寫操作結(jié)合上面Inter2114,對讀/寫操作的時序進(jìn)行分析。

1)讀操作時序CS地址

tCXtOHAtCOtRCtAtOTDDOUT讀時間tA

地址有效數(shù)據(jù)穩(wěn)定第39頁/共198頁4、存儲器的讀/寫操作結(jié)合上面Inter2114,對讀/寫操作的時序進(jìn)行分析。

1)讀操作時序CS地址

tCXtOHAtCOtRCtAtOTDDOUTtCO片選有效數(shù)據(jù)穩(wěn)定第40頁/共198頁4、存儲器的讀/寫操作結(jié)合上面Inter2114,對讀/寫操作的時序進(jìn)行分析。

1)讀操作時序CS地址

tCXtOHAtCOtRCtAtOTDDOUTtOTD片選失效輸出高阻第41頁/共198頁4、存儲器的讀/寫操作結(jié)合上面Inter2114,對讀/寫操作的時序進(jìn)行分析。

1)讀操作時序CS地址

tCXtOHAtCOtRCtAtOTDDOUTtOHA地址失效后的數(shù)據(jù)維持時間第42頁/共198頁參數(shù)名稱tmin/nstmax/ns說明tRC讀周期時間450

存取周期TmtA讀出時間

450存取時間TatCO片選有效到數(shù)據(jù)輸出延遲

120

tCX片選有效到輸出有效20

tOTD斷開片選到輸出變?yōu)槿龖B(tài)0100

tOHA地址改變后數(shù)據(jù)的維持時間50

1)讀操作時序CS地址

tCXtOHAtCOtRCtAtOTDDOUT讀周期tRC地址有效→下一次地址有效讀時間

tA

地址有效數(shù)據(jù)穩(wěn)定tCO

片選有效數(shù)據(jù)穩(wěn)定tOTD

片選失效輸出高阻tOHA

地址失效后的數(shù)據(jù)維持時間第43頁/共198頁ACSDOUT地址有效地址失效片選失效數(shù)據(jù)有效數(shù)據(jù)穩(wěn)定高阻

靜態(tài)RAM讀時序tAtCOtOHAtOTDtRC片選有效讀周期

tRC

地址有效下一次地址有效讀時間

tA

地址有效數(shù)據(jù)穩(wěn)定tCO

片選有效數(shù)據(jù)穩(wěn)定tOTD

片選失效輸出高阻tOHA

地址失效后的數(shù)據(jù)維持時間第44頁/共198頁tDHtDTWCS地址tAWtWCtWRDINWEtWtDWDOUT2)寫操作時序?qū)懼芷趖WC地址有效下一次地址有效寫時間tW

寫命令WE的有效時間tAW

地址有效片選有效的滯后時間tWR

片選失效下一次地址有效tDW數(shù)據(jù)穩(wěn)定WE失效tDHWE失效后的數(shù)據(jù)維持時間參數(shù)名稱tmin/nstmax/ns說明tWC寫周期時間450

tW寫數(shù)時間200

tWR寫恢復(fù)時間0

tDTW寫信號有效到輸出變?yōu)槿龖B(tài)0

100tDW數(shù)據(jù)有效時間200

tDH寫信號無效后數(shù)據(jù)保持時間0

第45頁/共198頁ACSWEDOUTDIN

靜態(tài)RAM(2114)寫時序tWCtWtAWtDWtDHtWR寫周期

tWC

地址有效下一次地址有效寫時間

tW

寫命令WE

的有效時間tAW

地址有效片選有效的滯后時間tWR

片選失效下一次地址有效tDW數(shù)據(jù)穩(wěn)定

WE失效tDH

WE失效后的數(shù)據(jù)維持時間第46頁/共198頁【例1】下圖是SRAM的寫入時序圖。其中R/W是讀/寫命令控制線,當(dāng)R/W線為低電平時,存儲器按給定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲器。請指出下圖寫入時序中的錯誤,并畫出正確的寫入時序圖。第47頁/共198頁【解】寫入存儲器的時序信號必須同步。通常,當(dāng)R/W線加負(fù)脈沖時,地址線和數(shù)據(jù)線的電平必須是穩(wěn)定的。當(dāng)R/W線達(dá)到低電平時,數(shù)據(jù)立即被存儲。因此,當(dāng)R/W線處于低電平時,如果數(shù)據(jù)線改變了數(shù)值,那么存儲器將存儲新的數(shù)據(jù)⑤。同樣,當(dāng)R/W線處于低電平時地址線如果發(fā)生了變化那么同樣數(shù)據(jù)將存儲到新的地址②或③。正確的寫入時序圖見下圖。第48頁/共198頁二、動態(tài)MOS存儲器(DRAM)在六管靜態(tài)存儲元電路中,信息暫存于T1,T2管的柵極,這是因?yàn)楣茏涌偸谴嬖谥欢ǖ碾娙?。?fù)載管T3,T4是為了給這些存儲電荷補(bǔ)充電荷用的。由于MOS的柵極電阻很高,故泄漏電流很小,在一定的時間內(nèi)這些信息電荷可以維持住。為了減少管子以提高集成度,把負(fù)載管T3,T4去掉,這樣變成了四管的動態(tài)存儲電路。1.四管動態(tài)存儲元第49頁/共198頁

寫操作:I/O與I/O加相反的電平,當(dāng)T5,T6截止時,靠T1,T2管柵極電容的存儲作用,在一定時間內(nèi)(如2ms)可保留所寫入的信息。第50頁/共198頁

讀操作:先給出預(yù)充信號,使T9,T10管導(dǎo)通,位線D和D上的電容都達(dá)到電源電壓。字選擇線使T5,T6管導(dǎo)通時,存儲的信息通過A,B端向位線輸出。第51頁/共198頁

刷新操作:為防止存儲的信息電荷泄漏而丟失信息,由外界按一定規(guī)律不斷給柵極進(jìn)行充電,補(bǔ)足柵極的信息電荷。第52頁/共198頁四管的動態(tài)存儲電路和六管靜態(tài)存儲元電路的區(qū)別:寫操作:I/O與I/O加相反的電平,當(dāng)T5、T6截止時,靠T1、T2管柵極電容的存儲作用,在一定時間內(nèi)(如2ms)可保留所寫入的信息。讀操作:先給出預(yù)充信號,使T9、T10管導(dǎo)通,位線D和D上的電容都達(dá)到電源電壓。字選擇線使T5、T6管導(dǎo)通時,存儲的信息通過A、B端向位線輸出。刷新操作:為防止存儲的信息電荷泄漏而丟失信息,由外界按一定規(guī)律不斷給柵極進(jìn)行充電,補(bǔ)足柵極的信息電荷。第53頁/共198頁

寫入:字選擇線為“1”,T1管導(dǎo)通,寫入信息由位線(數(shù)據(jù)線)存入電容C中;

讀出:字選擇線為“1”,存儲在電容C上的電荷,通過T1輸出到數(shù)據(jù)線上,通過讀出放大器即可得到存儲信息。2.單管動態(tài)存儲元

單管動態(tài)存儲元電路由一個管子T1和一個電容C構(gòu)成。第54頁/共198頁四管與單管動態(tài)存儲元的優(yōu)點(diǎn)和缺點(diǎn):(1)四管:管子多,占有芯片面積大。單管:單管,元件數(shù)量少,集成度高(2)四管:外圍電路較簡單,讀出過程同時刷新,單管:因讀“1”和“0”時,數(shù)據(jù)線上電平差很小,需要有高鑒別能力的讀出放大器配合工作,外圍電路比較復(fù)雜。第55頁/共198頁

DRAM存儲器芯片的結(jié)構(gòu)大體與SRAM存儲器芯片相似,由存儲體與外圍電路構(gòu)成。但它集成度要高,外圍電路更復(fù)雜。下圖是16K×1位的DRAM存儲器片2116的邏輯結(jié)構(gòu)示意圖。3.動態(tài)MOSRAM芯片實(shí)例第56頁/共198頁2116的邏輯結(jié)構(gòu)示意圖DRAM與SRAM有兩點(diǎn)不同:(1)數(shù)據(jù)輸入輸出分開(DRAM:Din和Dout)(2)控制信號DRAM只有

WE,而沒有CS第57頁/共198頁定義:刷新。動態(tài)存儲器依靠電容電荷存儲信息。平時無電源供電,時間一長電容電荷會泄放,需定期向電容補(bǔ)充電荷,以保持信息不變。定期向電容補(bǔ)充電荷原因:4.DRAM的刷新第58頁/共198頁刷新周期:從上一次刷新結(jié)束到下一次對整個DRAM全部刷新一遍為止,這一段時間間隔稱為刷新周期。刷新操作:即是按行來執(zhí)行內(nèi)部的讀操作。由刷新計數(shù)器產(chǎn)生行地址,選擇當(dāng)前要刷新的行,讀即刷新,刷新一行所需時間即是一個存儲周期。刷新行數(shù):單個芯片的單個矩陣的行數(shù)。對于內(nèi)部包含多個存儲矩陣的芯片,各個矩陣的同一行是被同時刷新的。對于多個芯片連接構(gòu)成的DRAM,DRAM控制器將選中所有芯片的同一行來進(jìn)行逐行刷新。單元刷新間隔時間:DRAM允許的最大信息保持時間;一般為2ms。刷新方式:集中式刷新、分散式刷新和異步式刷新。4.DRAM的刷新第59頁/共198頁

在2ms單元刷新間隔時間內(nèi),集中對128行刷新一遍,所需時間128×500ns=64μs,其余時間則用于訪問操作。在內(nèi)部刷新時間(64μs)內(nèi),不允許訪存,這段時間被稱為死時間。集中式刷新例:64K×1位DRAM芯片中,存儲電路由4個獨(dú)立的128×128的存儲矩陣組成。設(shè)存儲器存儲周期為500ns,單元刷新間隔是2ms。用在實(shí)時要求不高的場合。第60頁/共198頁在任何一個存儲周期內(nèi),分為訪存和刷新兩個子周期。訪存時間內(nèi),供CPU和其他主設(shè)備訪問。在刷新時間內(nèi),對DRAM的某一行刷新。存儲周期為存儲器存儲周期的兩倍,即500ns×2=1μs。刷新周期縮短,為128×1μs=128μs。在2ms的單元刷新間隔時間內(nèi),對DRAM刷新了2ms÷128μs遍。分散式刷新用在低速系統(tǒng)中。第61頁/共198頁異步式刷新異步刷新采取折中的辦法,在2ms內(nèi)分散地把各行刷新一遍。避免了分散式刷新中不必要的多次刷新,提高了整機(jī)速度;同時又解決了集中式刷新中“死區(qū)”時間過長的問題。刷新信號的周期為2ms/128=15.625μs。讓刷新電路每隔15μs產(chǎn)生一個刷新信號,刷新一行。用在大多數(shù)計算機(jī)中。第62頁/共198頁【例2】說明1M×1位DRAM片子的刷新方法,刷新周期定為8ms【解】如果選擇一個行地址進(jìn)行刷新,刷新地址為A0—A8,因此這一行上的2048個存儲元同時進(jìn)行刷新,即在8ms內(nèi)進(jìn)行512個周期的刷新。按照這個周期數(shù),512×2048=1048567,即對1M位的存儲元全部進(jìn)行刷新。刷新方式可采用:在8ms中進(jìn)行512次刷新操作的集中刷新方式,或按8ms÷512=15.5μs刷新一次的異步刷新方式。第63頁/共198頁&&≥1&讀/寫與刷新操作的CAS轉(zhuǎn)換電路讀/寫控制CAS刷新延時CAS第64頁/共198頁DRAM控制器

地址總線

刷新地址計數(shù)器地址多路開關(guān)行列地址刷新定時器仲裁電路控制信號

發(fā)生器讀/寫RASCASWRDRAM存儲器CPUDRAM控制器結(jié)構(gòu)框圖

第65頁/共198頁DRAM存儲器的特點(diǎn)

使用半導(dǎo)體器件中分布電容上有無電荷來表示0和1代碼。

電源不掉電的情況下,信息也會丟失,因此需要不斷刷新。存取速度慢,集成度高(容量大),價格低。常用作內(nèi)存條。第66頁/共198頁SRAM和DRAM的對比比較內(nèi)容SRAMDRAM存儲信息0和1的方式雙穩(wěn)態(tài)觸發(fā)器極間電容上的電荷電源不掉電時信息穩(wěn)定信息會丟失刷新不需要需要集成度低高容量小大價格高低速度快慢適用場合Cache主存第67頁/共198頁地址譯碼器...A0A1A9…………0……...1

數(shù)據(jù)緩沖器……1023讀出放大器D0D1D7CS…………Udo

01…7000…1110…1……………102311…0三、半導(dǎo)體只讀存儲器

1.掩模式只讀存儲器(MROM)

1024×8位MROM:行與列線連接存儲“0”,否則為“1”第68頁/共198頁特點(diǎn):(1)一次寫入后不能修改,靈活差(2)信息固定不變,可靠性高(3)生產(chǎn)周期長,只適合定型批量生產(chǎn)第69頁/共198頁

寫入時,EC接+12V,要寫1的那一位的D端斷開,用大電流燒斷熔絲;寫0位的D端接地,電流不經(jīng)過熔絲。如此逐字寫入需要的信息。

讀出時,EC接+5V,信息從D0~D3輸出。2.可編程只讀存儲器(PROM)采用單譯碼結(jié)構(gòu),存儲元4×4位矩陣,共有4個字,每字4位。第70頁/共198頁說明:(A)讀出時,Ec要接5V電壓,寫入時Ec要接12V(B)讀時操作:熔絲不斷時,反相輸出為1

熔絲燒斷時,反相輸出為0(C)寫入只能一次,一旦熔絲燒斷就不能復(fù)原。要寫“0”,使D端斷開要寫“1”,使D端接地,使大電流燒斷熔絲。第71頁/共198頁AI++++++N基體P+P+SDSiO2浮空多晶硅柵EPROM字線位線Vcc3.紫外光線可擦除可編程只讀存儲器(EPROM)其柵級由SiO2與多晶體硅做成,且浮空,管子做好時柵級(G)上無電荷,該管不導(dǎo)通,即漏級(D)和源級(S)間無電流,存入的信息為1,若要寫入0,則需要在D和S間加25V電壓,外加編程脈沖(寬50MS)可擊穿,電子注入硅柵,高壓撤除后,因硅柵有絕緣層包圍,電子無法泄漏,硅柵變負(fù),從而形成導(dǎo)電溝道,EPROM管導(dǎo)通,存入信息“0”。第72頁/共198頁CE為低電平、OE為高電平和WE加負(fù)脈沖D0~D7寫入CE為低電平、OE為低電平和WE為高電平從D0~D7讀出CE為低電平、OE為10V~15V和WE加低電平整片擦除OE為高電平和WE為高電平D0~D7輸出無高阻。

4.電可擦除電可改寫只讀存儲器(EEPROM)第73頁/共198頁存儲手段非易失性高密度低功耗單管單元在線重寫字節(jié)寫入抗沖擊MROMYYYYYEPROMYYYYYE2PROMYYYYYNOVRAMYYYYFLASHYYYYYY第74頁/共198頁第四節(jié)主存儲器組織

存儲器與CPU線相連的有地址線、數(shù)據(jù)線和控制線。對存儲器進(jìn)行讀/寫操作:首先由地址總線給出地址信號,然后要發(fā)出讀操作或?qū)懖僮鞯目刂菩盘?,最后在?shù)據(jù)總線上進(jìn)行信息交流。根據(jù)芯片結(jié)構(gòu)的不同,連接方式可以采用:位并聯(lián)法(位擴(kuò)展法):從字長方向擴(kuò)展地址串聯(lián)法(字?jǐn)U展法):從字?jǐn)?shù)方向擴(kuò)展。一、存儲器與CPU的連接第75頁/共198頁

芯片數(shù)=計算機(jī)字長N/芯片存儲字長n1、位擴(kuò)展法(位并聯(lián)法):當(dāng)芯片的容量和主存容量相同,而位數(shù)不足時,就要對位數(shù)進(jìn)行擴(kuò)展。方法:將多片存儲芯片的地址端、片選端和讀/寫控制端各自并聯(lián)在一起,而他們的數(shù)據(jù)端分別引出,連到存儲器不同位的數(shù)據(jù)總線上。第76頁/共198頁解:①分析:8K=8192=213,要13根地址線,由于要組成8位數(shù)據(jù)線則要求位擴(kuò)展,需要8塊8K×1的存儲芯片,由于每個地址選中8塊芯片都選中,因而CS引腳都為低電平(接地)。例1:用8K×1的RAM組成8K×8的存儲器第77頁/共198頁②結(jié)構(gòu)圖③結(jié)果討論:由上結(jié)構(gòu)圖組成存儲器中讀寫控制線沒有畫出,主要可以分析地址的范圍應(yīng)為0000H~1FFFH。第78頁/共198頁例2:用1K×4位芯片構(gòu)成1K×8位存儲器CPUWECSA9A0·········A9A9A0A0D0D1D2D3D4D5D6D7D1D1D2D0D0D3D3D2······CSWEMREQR/W要點(diǎn):(1)芯片的地址線A、讀寫控制信號WE、片選信號CS分別連在一起;(2)芯片的數(shù)據(jù)線D分別對應(yīng)于所搭建的存儲器的高若干位和低若干位。第79頁/共198頁CPUWECSA9A0·········A9A9A0A0D0D7D0D0D3D3······CSWEMREQR/W~~~第80頁/共198頁芯片數(shù)=存儲器存儲單元數(shù)M/芯片存儲單元數(shù)m2、地址串聯(lián)法(字?jǐn)U展法):

當(dāng)芯片字長與主存相同,而容量不足時,就需要用幾片存儲器芯片組成合起來的存儲空間即地址空間進(jìn)行擴(kuò)展,稱為字?jǐn)U展。方法:

將各芯片的地址線,數(shù)據(jù)線、讀/寫線分別并聯(lián)在一起,片選信號單獨(dú)連接,用來區(qū)分各片地址,用高位地址經(jīng)過譯碼而產(chǎn)生的輸出信號作為各個芯片的片選信號,用低位地址作為各芯片的片內(nèi)地址。第81頁/共198頁例1:用1K×8位芯片構(gòu)成4K×8位存儲器

地址分配關(guān)系0102310242047204830713072409500001023102310231023A11A10A9A8A0···00000111010001110100011111000111············片內(nèi)地址片選第82頁/共198頁A9A0···CSWE···D7D0~A9A0···CSWE···D7D0~A9A0···CSWE···D7D0~A9A0···CSWE···D7D0~2/4譯碼器A9A0···D7D0~A11A10CPUR/W第83頁/共198頁例2::用16K×8位的芯片組成64K×8位的存儲器解:①分析:每塊芯片的地址線,16K=214,要14根,總的地址線,64K=216,要16根,數(shù)據(jù)線都為8根,所以要16K×8的芯片為64/16=4片。第84頁/共198頁…………②結(jié)構(gòu)圖第85頁/共198頁③結(jié)果討論:由上圖所示可得出以下結(jié)論:地址線A0~A13的14根為4塊芯片共用,通過A14~A15和2-4譯碼器可得出四塊芯片的地址為:地址A15A14A13A12…A0地址范圍片號100000000000000000000H00111111111111113fffH201000000000000004000H01111111111111117FFFH310000000000000008000H1011111111111111BFFFH41100000000000000C000H1111111111111111FFFFH第86頁/共198頁(1)芯片的數(shù)據(jù)線D、讀寫控制信號WE分別連在一起;(2)存儲器地址線A的低若干位連接各芯片的地址線;(3)存儲器地址線A的高若干位作用于各芯片的片選信號CS。要點(diǎn):第87頁/共198頁3、字位擴(kuò)展法:

芯片數(shù)=(M/m)·(N/n)

M:存儲器存儲單元數(shù)

m:芯片存儲單元數(shù)

N:計算機(jī)字長

n:芯片存儲字長例1:用2K×8位的RAM存儲芯片構(gòu)成8K×16位的隨機(jī)存儲器。第88頁/共198頁2K×82K×82K×82K×82K×82K×82K×82K×82/4譯碼器R/WA10~A0A12A11AAAAAAAAR/WAR/WACSCSD15~D0D15~D8D7~D0D15~D8D15~D8D15~D8D7~D0D7~D0D7~D0CPU第89頁/共198頁例2:某8位機(jī)采用單總線結(jié)構(gòu),地址總線16根(A15~A0,,A0為低位),雙向數(shù)據(jù)總線8根(D7~D0,,控制總線中與主存有關(guān)的有MREQ(允許訪存,低電平有效),R/W(高電平為讀命令,低電平為寫命令)

主存地址空間分配如下:0~8191為系統(tǒng)程序區(qū),由只讀存儲器芯片組成;8192~32767為用戶程序區(qū);

最后(最大地址)2K地址空間為系統(tǒng)程序工作區(qū),

上述地址為十進(jìn)制數(shù),按字節(jié)編址,現(xiàn)有如下存儲器芯片:ROM:8K×8位(控制端僅有CS)RAM(靜態(tài)):16K×1位,2K×8位,4K×8位,8K×8位請從上述芯片中選擇適當(dāng)芯片設(shè)計該計算機(jī)存儲器,畫出主存儲器邏輯框圖,注意畫出選片邏輯(可選用門電路及3:8譯碼器74LS138)與CPU的連接,說明選哪些存儲器芯片,選多少?第90頁/共198頁解:主存地址空間分配如下:

根據(jù)給定條件,選用:ROM:8K×8位芯片1片RAM:8K×8位芯片3片,2K×8位芯片1片3:8譯碼器僅用Y0Y1Y2Y3和Y7的輸出端,且對最后的2K×8位選片還需加門電路譯碼2K(RAM)30K(空)24K(RAM)8K(ROM)081918192327676348765535第91頁/共198頁A15A14A13A12A11A10A9·

·

·

·

·A0000××××·

·

·

·×001××××·

·

·

·×010××××·

·

·

·×011××××·

·

·

·×·

·

·

·

··

·

·

·

·

··

11111××·

·

·

·×2K(RAM)30K(空)8K(ROM)8K(RAM)8K(RAM)8K(RAM)第92頁/共198頁ROM8KBD0D7A0A12RAM8KBD0D7A0A12RAM8KBD0D7A0A12RAM8KBD0D7A0A12RAM2KBD0D7A0A1074LS138CSCSCSCSCSD0D7R/WA0A10A11A12A13A14A15ABCCPUMREQY0Y1Y2Y3Y4Y5Y6Y7R/W·································第93頁/共198頁1.Cache的功能與基本原理1)Cache的功能二、高速緩沖存儲器Cache是指位于CPU和主存之間的一個高速小容量的存儲器,一般由SRAM構(gòu)成。Cache功能:用于彌補(bǔ)CPU和主存之間的速度差異,提高CPU訪問主存的平均速度。設(shè)置Cache的理論基礎(chǔ),是程序訪問的局部性原理。Cache的內(nèi)容是主存部分內(nèi)容的副本,Cache的功能均由硬件實(shí)現(xiàn),對程序員是透明的。第94頁/共198頁程序訪問的局部性原理局部性有兩種:(1)時間局部性(temporallocality)如果一項(xiàng)數(shù)據(jù)被引用,很可能不久它會被再次使用,程序的循環(huán)和堆棧等操作中的信息就是典型的例子。(2)空間局部性(spatiallocality)如果一項(xiàng)數(shù)據(jù)被引用,那么與它相連的數(shù)據(jù)可能很快也會被引用,以順序執(zhí)行為主的程序和數(shù)據(jù)(如數(shù)組)就是典型例子。第95頁/共198頁CPU與Cache之間的數(shù)據(jù)交換是以字為單位,而Cache與主存之間的數(shù)據(jù)交換是以塊為單位。一個塊由若干定長字組成的。2)Cache的基本原理當(dāng)CPU讀取主存中一個字時,便發(fā)出此字的內(nèi)存地址到Cache和主存。此時Cache控制邏輯依據(jù)地址判斷此字當(dāng)前是否在Cache中:若在(稱為命中),此字立即傳送給CPU;若不在(稱為不命中),則用主存讀周期把此字從主存讀出送到CPU,與此同時,把含有這個字的整個數(shù)據(jù)塊從主存讀出送到Cache中。由始終管理Cache使用情況的硬件邏輯電路來實(shí)現(xiàn)LRU替換算法。第96頁/共198頁

增加Cache的目的,就是在性能上使主存的平均讀出時間盡可能接近Cache的讀出時間。因此,Cache的命中率應(yīng)接近于1。由于程序訪問的局部性,這是可能的。

在一個程序執(zhí)行期間,設(shè)Nc表示Cache完成存取的總次數(shù),Nm表示主存完成存取的總次數(shù),h定義為命中率,則有:3)Cache的命中率第97頁/共198頁LRU管理邏輯相聯(lián)存儲圖表快存M1地址總線CAM數(shù)據(jù)總線主存M2第98頁/共198頁檢索寄存器屏蔽寄存器比較寄存器存儲體代碼寄存器譯碼選擇電路符合寄存器m···21···············相聯(lián)存儲器第99頁/共198頁1001XX00比較寄存器代碼寄存器譯碼選擇電路符合寄存器0110···············0101110010010010相聯(lián)存儲器第100頁/共198頁。。。。。。OD輸出數(shù)據(jù)M符合WE寫啟動選擇S(地址)輸入啟動IEID輸入數(shù)據(jù)一位相聯(lián)存儲元電路IE=1時,M=QD+QD=QD一致時M=1,否則M=0+相聯(lián)存儲器第101頁/共198頁W0.0W0.1W1.0W1.1從選擇線路來的地址送到選擇線路的符合信號從屏蔽寄存器來IE0IE1ID0ID1輸入數(shù)據(jù)S0S1WEOD0OD1去輸出寄存器M0M1字0字12×2位相聯(lián)存儲器陣列第102頁/共198頁2.Cache存儲器的地址映像

為了把信息放到Cache存儲器中,必須應(yīng)用某種函數(shù)把主存地址映象到Cache中定位,稱為地址映象,這些函數(shù)通常稱做映象函數(shù)。在信息按這種映象關(guān)系裝入Cache中,執(zhí)行程序時,應(yīng)將主存地址變換成Cache地址,這個變換過程叫做地址變換。地址的映象與變換是密切相關(guān)的。

地址映象方式有直接映象、全相聯(lián)映象和組相聯(lián)映象。

設(shè)主存空間被分為2m個頁(頁號為0、1、2、…、i、…2m-1),每頁的大小為2b個字;Cache存儲空間被分為2c個頁(頁號為0、1、…、j、…、2c-1),每頁的大小也為2b個字。Cache地址c+b位主存地址m+b位第103頁/共198頁主存主存-Cache地址變換主存地址頁內(nèi)地址頁號Cache數(shù)據(jù)或指令CPU頁內(nèi)地址頁號Cache替換部件Cache地址CPU替換塊裝入塊不命中命中第104頁/共198頁1)直接映象法

主存的頁以2c為模映象到Cache的固定位置上。由映象函數(shù)還可以看出,主存頁號的低C位(即jmod2c)正好是它要裝入的Cache的頁號。直接映象函數(shù)為i=j

mod2c

,其中i是Cache頁號,j是主存頁號。t位標(biāo)志用來區(qū)別記入的是主存中的哪一頁,在一個新頁送入Cache時,把主存地址的高t位存入Cache的標(biāo)志字段中。第105頁/共198頁頁面號0標(biāo)記頁面號1……頁面號2c-1標(biāo)記標(biāo)記頁面號0頁面號1……頁面號2c-1頁面號2c頁面號2c+1……頁面號2c+1-1頁面號2c+1……頁面號2m-1主存頁面標(biāo)記Cache頁面地址頁內(nèi)地址m位t位c位b位t位Cache主存儲器主存地址第106頁/共198頁頁面標(biāo)記按地址訪問有效位頁面號Cache頁面地址頁內(nèi)地址頁內(nèi)地址主存地址Cache地址相等頁面標(biāo)記相等比較不等訪問Cache若比較相等,且有效位為“1”,則用Cache地址去訪問Cache,讀出的數(shù)據(jù)送往CPUt位c位b位m位第107頁/共198頁直接映象的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,其缺點(diǎn)是不夠靈活。出現(xiàn)Cache中還有很多空頁,也必須對指定的Cache頁進(jìn)行替換。

主存和Cache的讀出

CPU訪問時,首先根據(jù)訪存地址中的C位(頁號),直接查出該主存對應(yīng)的Cache頁號。找到對應(yīng)的Cache頁后,檢查它的標(biāo)記和主存的高t位是否一致。若一致,訪問“命中”,再根據(jù)頁內(nèi)地址(b位),從Cache中讀數(shù)據(jù)。否則“不命中”,CPU直接從主存讀出。第108頁/共198頁例:考慮一個具有16KB直接相連Cache的32位微處理

器,假定該Cache的頁面為4個32位的字:

(1)畫出Cache的地址映像方式,指出主存地址的不同

字段的作用。

(2)主存地址為ABCDE8F8H的單元在Cache中的什么

位置,指出主存頁面標(biāo)記、頁面號和頁內(nèi)地址值.第109頁/共198頁頁面標(biāo)記Cache頁面號頁內(nèi)字地址字節(jié)號頁面號頁內(nèi)字地址字節(jié)號比較0102318位10位2位2位2位2位10位不相等頁面失效主存頁面標(biāo)志2位CacheCache地址主存地址地址映像方式第110頁/共198頁ABCDE8F8H=10101011110011011110100011111000頁面標(biāo)記=101010111100101111

Cache頁號=1010001111

頁內(nèi)字地址=10

字節(jié)地址=00第111頁/共198頁2)全相聯(lián)映象法對應(yīng)關(guān)系:主存中任一頁面可裝入Cache內(nèi)任一頁面的位置。

采用存放于相聯(lián)存儲器中的目錄表來實(shí)現(xiàn)地址映象;以加快“主存—Cache”地址變換速度。第2m-1頁

…第1頁第0頁第0頁

…第1頁第0頁Cache主存全相聯(lián)映象法第112頁/共198頁主存—Cache地址變換過程

讓主存頁號與目錄表中各項(xiàng)的頁號作相聯(lián)比較;如有相同的,則將對應(yīng)行的Cache頁號取出,拼接上頁內(nèi)地址就形成了Cache地址。

相聯(lián)表中無相同的頁號,表示主存頁未裝入Cache,失靶,去主存讀。

優(yōu)點(diǎn)是頁面沖突概率最低;但查表速度難以提高。幾乎沒有單純采用全相聯(lián)映象法。第113頁/共198頁頁號頁內(nèi)地址主存地址Cache地址相聯(lián)比較失靶去主存讀命中頁號頁內(nèi)地址全相聯(lián)映象地址變換......

讓主存頁號與目錄表中各項(xiàng)的頁號作相聯(lián)比較;如有相同的,則將對應(yīng)行的Cache頁號取出,拼接上頁內(nèi)地址就形成了Cache地址。

相聯(lián)表中無相同的頁號,表示主存頁未裝入Cache,失靶,去主存讀。第114頁/共198頁3)組相聯(lián)映象法

將Cache空間分成若干組,每組包含若干頁,組間采用直接映象,組內(nèi)各頁則是全相聯(lián)映象。

全相聯(lián)映象法和直接映象法結(jié)合起來,就產(chǎn)生了組相聯(lián)映象法。組相聯(lián)映像方式的地址變換過程如下圖所示。第115頁/共198頁第116頁/共198頁區(qū)號E,組內(nèi)頁號B組內(nèi)頁號bCb個塊組內(nèi)頁號B組內(nèi)頁號b頁內(nèi)地址W頁內(nèi)地址w主存地址Cache地址區(qū)號E相聯(lián)比較塊表組號G組號g相等不等第117頁/共198頁3.替換策略Cache工作原理要求它盡量保存最新數(shù)據(jù),必然要產(chǎn)生替換。

對直接映射的Cache來說,只要把此特定位置上的原主存塊換出Cache即可。

對全相聯(lián)和組相聯(lián)Cache來說,就要從允許存放新主存塊的若干特定行中選取一行換出。常用替換策略先進(jìn)先出(FIFO)策略最近最少使用(LRU)策略第118頁/共198頁FIFO算法選擇最早裝入Cache的頁面作為被替換的頁。占用空間表的每一頁都與一個“裝入順序數(shù)”相聯(lián)系,每當(dāng)一個頁送入Cache或從Cache重取走,都將更新“裝入順序數(shù)”。通過檢查這些數(shù),決定最先進(jìn)入的頁。先進(jìn)先出(FIFO)這種算法優(yōu)點(diǎn)是容易實(shí)現(xiàn),缺點(diǎn)是經(jīng)常使用的頁,如一個包含程序循環(huán)的頁,也可能由于它是最早的頁而被替換掉。第119頁/共198頁

LRU算法將近期內(nèi)長久未被訪問過的行換出。每行也設(shè)置一個計數(shù)器,Cache每命中一次,命中行計數(shù)器清零,其它各行計數(shù)器增1。當(dāng)需要替換時,將計數(shù)值最大的行換出。最近最少使用(LRU)算法這種算法保護(hù)了剛拷貝到Cache中的新數(shù)據(jù)行,有較高的命中率。第120頁/共198頁*優(yōu)化替換算法(OPT)

選擇將來最少使用訪問的Cache頁為調(diào)出頁。

是一種理想算法,命中率最高。

程序需運(yùn)行兩次,第一次分析地址流,第二次才真正運(yùn)行程序。第121頁/共198頁下面通過一個程序和的運(yùn)行情況,來說明各種算法的工作過程及性能比較。假定該程序有5頁信息塊,Cache空間為3頁,該程序的頁地址流為:3種算法工作過程和命中情況,如圖所示。時間tit1t2t3t4t5t6t7t8t9t10t11t12使用頁P(yáng)iP2P3P2P1P5P2P4P5P3P2P5P2第122頁/共198頁命中率:25%命中率:41.7%命中率:50%第123頁/共198頁4.Cache—主存內(nèi)容的一致性問題

CPU執(zhí)行寫操作時,要寫的內(nèi)容恰在Cache中,則Cache內(nèi)容被更改,但該單元對應(yīng)的主存內(nèi)容尚沒有改變,這就產(chǎn)生了Cache和主存內(nèi)容不一致的情況。

解決問題的關(guān)鍵是選擇更新主存內(nèi)容的算法;采用兩種算法。第124頁/共198頁

處理機(jī)進(jìn)行寫操作時,利用“Cache—主存”層次中存在于處理機(jī)和主存之間的通路將信息也寫回主存。2、寫直達(dá)法又稱存直達(dá)法,

在頁替換時,就不必將被替換的Cache頁內(nèi)容寫回,可以直接調(diào)入新頁。1、‘寫回法’(Writeback)

處理機(jī)執(zhí)行寫操作時,信息只寫入Cache,當(dāng)Cache頁被替換時,將該頁內(nèi)容寫回主存后,再調(diào)入新頁。

寫直達(dá)則在每次寫入時,都要附加一個比寫Cache長得多的寫主存時間;寫直達(dá)法的開銷大一些,但其一致性保持要好一些?!舨捎脙煞N算法比較

寫回法的開銷是在頁替換時的回寫時間;第125頁/共198頁主存地址空間4GB被分成217頁,頁的大小為8K字(32位)Cache(有數(shù)據(jù)SRAM和目錄SRAM兩塊組成):數(shù)據(jù)SRAM:8K字(32位),可分成1024個段,每段8個字,每個字為一行。目錄SRAM:存放目錄表,對應(yīng)數(shù)據(jù)SRAM的每一段的一個條目,由標(biāo)記位(17位,指主存的頁面號,是217頁中的一個頁號)、標(biāo)記有效位(1位)和行有效位(8位)組成。第126頁/共198頁地址總線分成三部分:17位標(biāo)記位(A31—A15),10位段地址字段(A14—A5)3位行選擇位(A4—A2),總線的低13位(A14—A2)還作為Cache地址,直接選中數(shù)據(jù)SRAM中8K字中的一行。組間直接映象:主存中各頁中第0段只能對應(yīng)數(shù)據(jù)SRAM中第0段…。組內(nèi)頁面全相聯(lián):每段8行中可采用全相聯(lián),用8位行有效位和一位標(biāo)記有效位標(biāo)注。第127頁/共198頁3.4.3多體交叉存儲器出發(fā)點(diǎn):能夠?qū)崿F(xiàn)同時從存儲器取出n條指令特點(diǎn):通過改進(jìn)主存的組織方式,在不改變存儲器存取周期的情況下,提高存儲器的帶寬。結(jié)構(gòu)特點(diǎn):多體交叉存儲器由M個的存儲體(或稱存儲模塊)組成,每個存儲體有相同的容量和存取速度,又有各自獨(dú)立的地址寄存器、地址譯碼器、讀寫電路和驅(qū)動電路。第128頁/共198頁

每個模塊各自以等同的方式與CPU傳送信息。CPU同時訪問四個模塊,由存儲器控制部件控制它們分時使用數(shù)據(jù)總線進(jìn)行信息傳遞。這是一種并行存儲器結(jié)構(gòu)。多體交叉存儲器的基本結(jié)構(gòu)第129頁/共198頁編址方法:交叉編址,即任何兩個相鄰地址的物理單元不屬于同一個存儲體,一般在相鄰的存儲體中;同一個存儲體內(nèi)的地址都是不連續(xù)的。主要有兩種:順序方式交叉方式地址交叉法第130頁/共198頁某個模塊進(jìn)行存取時,其他模塊不工作;某一模塊出現(xiàn)故障時,其他模塊可以照常工作;通過增添模塊來擴(kuò)充存儲器容量比較方便。但各模塊串行工作,存儲器的帶寬受到了限制。順序方式:第131頁/共198頁地址碼的低位字段經(jīng)過譯碼選擇不同的模塊,而高位字段指向相應(yīng)模塊內(nèi)的存儲字。連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個模塊內(nèi)的地址都是不連續(xù)的。交叉方式:對連續(xù)字的成塊傳送可實(shí)現(xiàn)多模塊流水式并行存取,大大提高存儲器的帶寬。第132頁/共198頁第133頁/共198頁多體交叉存儲器訪問:CPU同時送出的M個地址,只要他們分屬于M個存儲體,訪問就不會沖突;由存儲器控制部件控制它們分時使用數(shù)據(jù)總線進(jìn)行信息傳遞。適合采用流水線方式并行存取,雖然每個存儲體的存儲周期沒變,但是當(dāng)CPU連續(xù)訪問一個字塊時,可以大大提高存儲器的帶寬。第134頁/共198頁第135頁/共198頁512K×8位偶地址存儲體512K×8位奇地址存儲體FFFFFH00005H00003H00001H`FFFFEH00004H00002H00000H`158708086存儲器交叉編址結(jié)構(gòu)示意圖例:第136頁/共198頁例1:有一個具有8個存儲體的低位多體交叉存儲器中,

如果處理器的訪存地址為以下八進(jìn)制值,問該存儲

器比單體存儲器的平均訪問速度提高多少?

(忽略初啟時的延遲)(1)10018、10028、10038、······11008(2)10028、10048、10068、······12008(3)10038、10068、10118、······130088,4,8第137頁/共198頁

例2:設(shè)存儲器容量為32字,字長64位,模塊數(shù)m=4,分別用順序方式和交叉方式進(jìn)行組織。存儲周期T=200ns,數(shù)據(jù)總線寬度為64位,總線傳送周期τ=50ns。問順序存儲器和交叉存儲器的帶寬各是多少?第138頁/共198頁【解】

順序存儲器和交叉存儲器連續(xù)讀出m=4個字的信息總量都是:q=64位×4=256位順序存儲器和交叉存儲器連續(xù)讀出4個字所需的時間分別是:

t2=mT=4×200ns=800ns=8×10-7s;

t1=T+(m-1)τ=200ns+3×50ns=350ns=3.5×10-7s順序存儲器和交叉存儲器的帶寬分別是:

W2=q/t2=256÷(8×10-7)=32×107[位/s];W1=q/t1=256÷(3.5×10-7)=73×107[位/s]第139頁/共198頁3.4.4

虛擬存儲器1

虛擬存儲器的基本概念2

頁式虛擬存儲器3

段式虛擬存儲器4

段頁式虛擬存儲器5

替換算法6

虛擬存儲器實(shí)例第140頁/共198頁一、虛擬存儲器的基本概念1、什么叫虛擬存儲器(VirtualMemory)虛擬存儲器是一個容量非常大的存儲器的邏輯模型,不是任何實(shí)際的物理存儲器。虛擬存儲器是建立在主存-輔存物理結(jié)構(gòu)基礎(chǔ)之上,由附加硬件裝置以及操作系統(tǒng)存儲管理軟件組成的一種存儲體系,它把主存和輔存的地址空間統(tǒng)一編址,形成一個龐大的存儲空間。第141頁/共198頁

實(shí)地址:實(shí)際的主存儲器單元的地址,即主存地址,或叫物理地址。虛擬存儲器的輔存部分也能讓用戶象內(nèi)存一樣使用,用戶編程時指令地址允許涉及到輔存的空間范圍,這種指令地址稱為“虛地址”(即虛擬地址),或叫“邏輯地址”。虛擬存儲器的用戶程序以虛地址編址并存放在輔存里,程序運(yùn)行時CPU以虛地址訪問主存,由輔助硬件找出虛地址和物理地址的對應(yīng)關(guān)系。

2、虛地址和實(shí)地址第142頁/共198頁①把程序中最近常用的部分駐留在高速的存儲器中。②一旦這部分變得不常用了,把它們送回到低速的存儲器中。③這種換入換出是由硬件或操作系統(tǒng)完成的,對用戶是透明的。④力圖使存儲系統(tǒng)的性能接近高速存儲器,價格接近低速存儲器。它們遵循的原則是:

主存-外存層次和Cache-主存層次用的地址變換映射方法和替換策略是相同的,都基于程序局部性原理。第143頁/共198頁3、虛擬存儲器和主存-Cache存儲器的比較:

相同處:①化為許多信息塊②從慢存儲器傳遞快存儲器調(diào)度③有替換策略④映射關(guān)系和變換地址第144頁/共198頁3、虛擬存儲器和主存-Cache存儲器的比較:不同處:①作用不同:速度(主-C)和容量(虛擬)。②信息塊長度不同③主-C速度比為5~10;1,而主-輔速度為1;100~1000)④CPU讀取的時間相差較大⑤存取信息、地址變換和替換策略(主-C用硬件,虛擬用操作系統(tǒng)的軟件加適當(dāng)?shù)挠布┑?45頁/共198頁二、虛擬存儲器的基本管理方法段是按照程序的邏輯結(jié)構(gòu)劃分成的多個相對獨(dú)立部分,作為獨(dú)立的邏輯單位。

虛擬存儲器的管理方式有段式、頁式或段頁式三種。頁是主存物理空間中劃分出來的等長的固定區(qū)域。段頁式管理采用分段和分頁結(jié)合的方法。第146頁/共198頁1、頁式虛擬存儲器

虛存地址分為兩個字段:高位字段為邏輯頁號,低位字段為頁內(nèi)地址。

在頁式虛擬存儲器系統(tǒng)中,把虛擬空間分成頁,稱為邏輯頁;主存空間也分成同樣大小的頁,稱為物理頁。

實(shí)存地址也分兩個字段:高位字段為物理頁號,低位字段為頁內(nèi)地址。

兩者的頁面大小一樣,頁內(nèi)地址是相等的。邏輯頁號頁內(nèi)地址物理頁號頁內(nèi)地址第147頁/共198頁頁式管理的地址變換

一個虛存邏輯頁號有一個表項(xiàng),表項(xiàng)內(nèi)容包含該邏輯頁所在的主存頁面地址(物理頁號)、裝入位、替換控制位及其它保護(hù)位等;

虛存地址到主存實(shí)地址的變換是由放在主存中的頁表來實(shí)現(xiàn)。

用主存頁面地址作為實(shí)(主)存地址的高字段,與虛存地址的頁內(nèi)地址字段相拼接,就產(chǎn)生了完整的實(shí)存地址,用來訪問主存。

裝入位為“1”,表示該邏輯頁已從外存調(diào)入內(nèi)存;反之,則表示對應(yīng)的邏輯頁未調(diào)入內(nèi)存。從輔存中讀出新的頁到主存中來。第148頁/共198頁頁表基址寄存器頁表基地址邏輯頁號頁內(nèi)地址虛存地址裝入位主存頁號┆┆物理頁號頁內(nèi)地址實(shí)存地址

頁表(在主存中)頁式虛擬存儲器地址變換第149頁/共198頁頁表基址寄存器頁表基地址邏輯頁號頁內(nèi)地址000000101010110虛存地址裝入位主存頁號1101010*****1110101001010*****┆┆110101010110實(shí)存地址物理頁號頁內(nèi)地址

頁表(在主存中)頁式虛擬存儲器地址變換第150頁/共198頁

快表由硬件組成,比頁表小得多,只是慢表的

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論