計算機系統(tǒng)組成電子教案(第3章.ppt_第1頁
計算機系統(tǒng)組成電子教案(第3章.ppt_第2頁
計算機系統(tǒng)組成電子教案(第3章.ppt_第3頁
計算機系統(tǒng)組成電子教案(第3章.ppt_第4頁
計算機系統(tǒng)組成電子教案(第3章.ppt_第5頁
已閱讀5頁,還剩143頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、東南大學計算機學院,主講教師: 徐造林,計算機系統(tǒng)組成,第3章 存儲系統(tǒng), 存儲器是存放(指令)程序和數(shù)據(jù)的部件,是計算機系統(tǒng)的重要組成部分。, 存儲系統(tǒng)由各類存儲設備及有關(guān)的軟件所構(gòu)成。, 有了存儲器,計算機就具有記憶能力,因而能自動地進行操作。,3.1 存儲器概述 存儲器的基本概念, 存儲容量:能存放的二進制位數(shù)或字節(jié)數(shù);, 存儲器的速度:可用訪問時間、存儲周期或頻寬來描述。, 存儲介質(zhì):能表示二進制1和0的物理部件;, 存儲元:存儲1位二進制代碼信息的器件;, 存儲單元:若干個存儲元的集合,它可以存放一個字或一個字節(jié);, 存儲體:若干個存儲單元的集合;, 地址:存儲單元的編號;,3.1.

2、1 存儲器分類,1. 按存儲介質(zhì)分類, 存儲元件必須具有兩個截然不同的物理狀態(tài),才能被用來表示二進制代碼“0和1”。, 半導體存儲器, 磁性材料存儲器, 光介質(zhì)存儲器,2. 按存取方式分類,(1) 順序存取存儲器(SAM) 信息順序存放或讀出,其存取時間取決于信息存放位置;, 以記錄塊為單位編址;, 磁帶存儲器就是一種順序存儲器,它存儲容量大,但存取速度慢。,(2) 隨機存取存儲器(RAM) CPU或I/O設備在任一時刻都可按地址訪問其任一個存儲單元,且訪問時間與地址無關(guān),都是一個存取周期。 半導體存儲器一般屬于這類存儲器。,(3) 直接存取存儲器(DAM) 存取方式介于RAM和SAM之間,先

3、選取需要存取信息所在的區(qū)域,然后用順序方式存?。?磁盤屬于直接存取存儲器,它的容量也比較大,速度則介于SAM和RAM之中,主要用作輔存。,(4) 只讀存儲器(ROM) 在正常讀寫操作下,這類存儲器的內(nèi)容只能讀出而不能寫入。, 有的ROM位于主存中特定區(qū)域(如IBM-PC機中ROM BIOS)其訪問方式和RAM一樣按地址訪問;, 也有的ROM用作輔存,采用順序訪問方式,例如CDROM。,3. 按存儲器在計算機中的功能分類,(1) 高速緩沖存儲器(Cache) 由雙極型半導體組成,構(gòu)成計算機系統(tǒng)中的一個高速小容量存儲器。,(2) 主存儲器 用來存放計算機運行時的大量程序和數(shù)據(jù),主存儲器目前一般用C

4、MOS半導體存儲器構(gòu)成。, 其存取速度能接近CPU的工作速度,用來臨時存放指令和數(shù)據(jù)。,(3) 輔助存儲器(外存儲器), CPU能夠直接訪問的存儲器稱內(nèi)存儲器,高速緩存和主存都是內(nèi)存儲器。, 外存儲器容量大,可存放大量的程序和數(shù)據(jù)。, 外存儲器的內(nèi)容需要調(diào)入主存后才能被CPU訪問。, 外存儲器主要由磁表面存儲器組成;光存儲器漸成為一種重要的輔助存儲器。, 存儲器的分類簡圖,3.1.2 存儲器的主要性能指標,1)容量, 存儲器的容量指它能存放的二進制位數(shù)或字(字節(jié))數(shù);, 單位有B(字節(jié)Byte),KB(千字節(jié),K為210),MB(兆字節(jié),M為220),GB(千兆字節(jié),G為 230)等。,2)速

5、度, 存儲器的速度可用訪問時間、存儲周期或頻寬來描述;, TW是將一個字寫入存儲器所需的時間。, 訪問時間:用讀出時間TA及寫入時間TW來描述;, TA是從存儲器接到讀命令以后至信息被送到數(shù)據(jù)總線上所需的時間;, 存取周期(TM)是存儲器進行一次完整的讀寫操作所需要的全部時間; 常用存儲器進行連續(xù)讀寫操作的最短間隔時間;, TM直接關(guān)系到計算機的運算速度; 一般有 TM TA、 TMTW ,單位用微秒或毫微秒。, 存儲器的頻寬B:表示存儲器被連續(xù)訪問時,提供的數(shù)據(jù)傳送速率; 常用每秒鐘傳送信息的位數(shù)(或字節(jié)數(shù))來衡量。, 存儲器的價格:可用總價格C或每位價格c來表示,若存儲器按位計算的容量為S

6、; 則:c = C/S,3)價格,3.1.3 存儲器結(jié)構(gòu),1. 存儲系統(tǒng)的層次結(jié)構(gòu), 存儲系統(tǒng)的層次結(jié)構(gòu)是把各種不同容量和不同存取速度的存儲器按一定的結(jié)構(gòu)有機地組織在一起;, 程序和數(shù)據(jù)按不同的層次存放在各級存儲器中,使整個存儲系統(tǒng)具有較好綜合性能指標。,(1) “高速緩存主存”層次, 這個層次主要解決存儲器的速度問題;, 在CPU與主存之間增設一級存儲器,稱高速緩沖存儲器(Cache);, CPU訪問內(nèi)存時,將地址碼同時送到Cache和主存,若在Cache中找到相應內(nèi)容,稱訪問“命中”,信息就從Cache中讀?。? Cache速度可與CPU相匹配,但容量較小,只能存放一小段程序和數(shù)據(jù);, 否

7、則CPU從主存中讀?。ǚQ訪問“不命中”);此時一般要進行Cache和主存的信息交換。, 提高存儲器速度的措施, 采用高速器件;, 采用cache(高速緩沖存儲器);, 采用多體交叉存儲器;, 采用雙端口存儲器;, 采用相聯(lián)存儲器,加長存儲器的字長。, 把主存分為若干容量相同、能獨立地由CPU進行存取的存儲體。, 通過CPU與各存儲體的并行交叉存取操作,提高整個主存儲器的頻寬。, 多體交叉存取,3.2,(2) “主存輔存”層次, 這個層次主要解決存儲器的容量問題。, “主存輔存”層次是一個既具有主存的存取速度又具有輔存的大容量低成本特點的一個存儲器總體。, 把正在被CPU使用的“活動”的程序和數(shù)

8、據(jù)放在主存中,其余信息存放在容量大、但速度較慢的輔存中。, 虛擬存儲技術(shù)面對程序員的是一個具有輔存的容量、主存的速度的存儲器;解決了主存容量不足的問題。,3.1.4 主存儲器的編址和與CPU的連接, 賦予存儲單元惟一的編號,以二進制數(shù)表示;稱為地址或地址碼。, 存儲單元及其編址, 目前計算機主存的編址大多按字節(jié)編址。, 能訪問的存儲單元數(shù)目,稱為地址空間;由地址碼的位數(shù)決定。, 主存與CPU的連接,3.2 半導體隨機存儲器,3.2.1 靜態(tài)存儲器(SRAM),1. 靜態(tài)存儲單元,(1)保持狀態(tài) 字選線低電位,T3與T4截止,觸發(fā)器與外界隔離。,(2)讀出 字選線加高電位, T3與T4開啟;使電

9、路讀出A、B信息。,(3)寫入 字線上加高電位,T3與T4開啟;若要寫1,在位線2上加低電位。, 若要寫0,在位線1上加低電位。,2. 靜態(tài)MOS存儲器,(1)靜態(tài)MOS存儲器組成,(2)靜態(tài)MOS存儲器芯片,圖3.6, 存儲體(存儲矩陣) 存儲體是存儲單元的集合。在容量較大的存儲器中往往把各個字的同一位組織在一個集成片中;, 4096個存儲元排成64*64的矩陣。由X選擇線(行選擇線)和Y選擇線(列選擇線)來選擇所需用的單元。, 圖3.6中的芯片是4096*1位,由這樣的8個芯片可組成4096字節(jié)的存儲器。, 兩種地址譯碼方式: 一種是單譯碼方式,適用于小容量存儲器;, 地址譯碼器 地址譯碼

10、器把用二進制表示的地址轉(zhuǎn)換為譯碼輸入線上的高電位,以便驅(qū)動相應的讀寫電路。,地址譯碼器只有一個,其輸出叫字選線,選擇某個字的所有位。,地址輸入線n=5,經(jīng)地址譯碼器譯碼后,產(chǎn)生32個字選線,分別對應32個地址。, 另一種是雙譯碼方式,適用于容量較大的存儲器,地址譯碼器分為X和Y兩個譯碼器。每一個譯碼器有n/2個輸入端,可以譯出2n/2個狀態(tài),兩譯碼器交叉譯碼的結(jié)果,可產(chǎn)生2n/22 n/2 個輸出狀態(tài);,圖3.7是采用雙譯碼結(jié)構(gòu)的40961的存儲單元矩陣;對4096個單元選址,需要12根地址線:A0A11。,圖3.7, 驅(qū)動器 一條X方向的選擇線要控制在其上的各個存儲單元的字選線,負載較大,要

11、在譯碼器輸出后加驅(qū)動器。, I/O控制 它處于數(shù)據(jù)總線和被選用的單元之間,用以控制被選中的單元讀出或?qū)懭搿? 片選控制 芯片外的地址譯碼器產(chǎn)生片選控制信號,選中要訪問的存儲字所在的芯片。, 讀/寫控制 根據(jù)CPU給出的信號是讀命令還是寫命令,控制被選中存儲單元的讀寫。,(3) 靜態(tài)MOS存儲器芯片實例(62256 SRAM), 62256 SRAM芯片引腳, 該芯片容量為32K8,圖3.8,(4)靜態(tài)存儲芯片的讀/寫周期,3.2.2 存儲器的基本組織, 由mn1位存儲器芯片組成mn2位的存儲器,需要( n2/n1)片的mn1位存儲器芯片。, 用8片 40961位的芯片構(gòu)成4K字節(jié)的存儲器;如圖

12、3.10所示。, 存儲器容量的擴展:位擴展、字擴展和字位擴展,圖3.10 位擴展構(gòu)成的存儲器,2. 字擴展 字擴展是容量的擴充(地址線增加),位數(shù)不變。, 用4組16K8的存儲器構(gòu)成 64K8的存儲器(圖3.11)。, 由m1n位存儲器芯片組成m2n位的存儲器,需要(m2/m1)片的m1n位存儲器芯片。,3. 字位同時擴展, 由m1n1位存儲器芯片組成m2n2位的存儲器,需要(m2/m1)(n2/n1)片的m1n1位存儲器芯片。,圖3.12 字位擴展構(gòu)成的存儲器, 地址線的連接,包括內(nèi)部地址線和芯片選擇線的連接;, 數(shù)據(jù)線的連接,數(shù)據(jù)線對應相接;,4. 靜態(tài)RAM芯片與CPU連接,例1 某存儲

13、器數(shù)據(jù)總線寬度為32 bit,存取周期為250 ns。試問該存儲器的帶寬是多少?,解 Tm=250 ns,W=32 bit,例2. 用16K8位的SRAM芯片構(gòu)成64K16位的存儲器,試畫出該存儲器的組成邏輯框圖。,解: 存儲器容量為64K16位,其地址線為16位(A15A0),數(shù)據(jù)線也為16位(D15D0);, 組成存儲器時需要字位同時擴展,字擴展采用2:4譯碼器,共4個模塊;位擴展采用兩片并接。, 各組的字地址的范圍?, 連接時要考慮和解決的幾個問題:, CPU的負載能力: 當存儲芯片較多時,在CPU與存儲芯片之間,要增加必要的緩沖和驅(qū)動電路。, 速度匹配問題: 存儲器與CPU的速度相比,

14、還是有很大差距;, 多片存儲芯片的選通: 增加外部譯碼電路,產(chǎn)生片選信號;, 讀/寫控制信號: CPU的讀/寫控制信號不一定與存儲芯片引腳定義的控制信號相符,有時要增加某些附加線路來實現(xiàn)正確的控制。,5. 內(nèi)存條及其類型, DIMM內(nèi)存條封裝的標準;共有168根鍍金接線,一次能夠傳送64位數(shù)據(jù),容量已達到256M或以上。,3.2.2 動態(tài)存儲器(DRAM), 動態(tài)RAM利用MOS管的柵極電容來保存信息,在“信息保持”狀態(tài)下,存儲單元中沒有電流流動。,(1) MOS管柵極電容保存信息的原理, 在=+E時,由VI(反相)寫入信息到Cs。,圖3.13,1. 動態(tài)存儲單元, 實際上T3的輸入阻抗(R0

15、)不可能為無窮大,CS上的電荷會緩慢泄放;, 當變?yōu)?V,T1T4均不導通,CS保持原有電平。, 假定在t= tR時VS會下降到“1”電平的臨界值V1以下,從而使保存的信息丟失;, 保存時間tR約為2ms3.3ms。,圖3.14,(2) 四管動態(tài)RAM單元, 信息保持: 行選信號無效時,T3、T4, T1、T2均不導通。 假定CS2上充有電荷,CS1未充電的狀態(tài)為“存1”狀態(tài)。,圖3.15, 讀操作:, 預充電:發(fā)+0脈沖,使CD1和CD2預充電。, 令行選擇線有效,T3和T4導通。, DS1和DS2的電位差使I/O電路產(chǎn)生讀“1”或“0”信號。, 以上過程讀出是非破壞性的。,圖3.16, 若

16、寫“0”,則在DS1線上加低電位,DS2線上加高電位。, 寫操作:, 先后送+0和行選擇脈沖;, 若要寫“1”,在DS1上加高電位,在DS2上加低電位。,圖3.17, 讀出: 若原存“1” ,則CS上電荷通過T管向數(shù)據(jù)線泄放,形成讀“1”信號。, 寫入:要寫1,在數(shù)據(jù)線上加高電位,經(jīng)T管對CS充電。, 刷新(Refresh)操作:定時給柵容補充充電,這一過程稱為“刷新”。,(3) 單管動態(tài)RAM電路,圖3.18,2. MOS管動態(tài)存儲器,(1)動態(tài)RAM特點 容量較大,大多數(shù)產(chǎn)品都采用一位輸入輸出,如:256K1、1M1、4M1等。, 它的行地址和列地址通過相同的管腳分先后兩次輸入,這樣地址引

17、腳數(shù)可減少一半。, 當RAS低電平時輸入行地址,CAS低電平時輸入列地址。,圖3.19 16K1位動態(tài)存儲器框圖, 芯片中一行的所有元素被選中并進行“讀出”操作。根據(jù)讀出內(nèi)容對各單元進行“重寫”;完成補充充電。, 由于沒有列地址和CAS信號,各單元的數(shù)據(jù)讀寫彼此隔離,并且不會送到讀出電路。, 對256*256的存儲體,256次刷新操作可刷新整個存儲體。也可分為4個128*128并行連接,只需128次刷新。,(2) 動態(tài)RAM的再生(刷新),(3) 刷新方式, 刷新周期:一次刷新的時間間隔,一般為2ms;, 常用的刷新方式有四種: 集中式刷新、分散式刷新、異步刷新和透明刷新。, 集中式刷新(圖3

18、.20(a) 整個刷新間隔內(nèi),前一段時間用于正常的讀/寫操作。而在后一段時間逐行進行刷新。, 若將128128存儲器刷新一遍,讀寫周期為0.5s,刷新間隔為2ms;前3872個周期用來進行正常的讀/寫操作, 而后128個讀寫周期用來進行刷新操作。, 該方式會出現(xiàn)讀/寫操作死區(qū)(128個周期)。, 分散式刷新(圖3.20 (b), 一個存儲周期的時間分為兩段,前一段時間tM用于正常的讀/寫操作,后一段時間tR用于刷新操作。, 假定讀/寫操作和刷新操作的時間都為0.5s,則一個存儲周期為1s。在2ms時間內(nèi)進行2000次刷新操作,只能進行2000次讀/寫操作。,讀/寫操作死區(qū), 異步刷新 上述兩種

19、方式結(jié)合起來構(gòu)成異步刷新。, 以128行為例,在2ms時間內(nèi)必須輪流對每一行刷新一次(2000/128=15.625),即每隔15.5s刷新一行。, 前15s可以進行CPU的讀/寫操作,而最后0.5s完成刷新操作(30128+128=3968) 。目前用得較多。, 有單獨的刷新控制器,刷新由單獨的時鐘、行計數(shù)與譯碼獨立完成;高檔微機中大部分采用這種方式。, 透明刷新(或稱穩(wěn)含式刷新) CPU在取指周期后的譯碼時間內(nèi),插入刷新操作。,3. 動態(tài)RAM芯片,圖3.21 兩種DRAM芯片, “刷新”可以采用“讀出”的方法進行。, 動態(tài)RAM芯片的讀寫和再生(刷新)時序,4. DRAM控制器,圖3.2

20、3,例. 用16K1位的DRAM芯片(由128128矩陣存儲元組成)構(gòu)成64K8位的存儲器。要求: (1)畫出該存儲器的組成邏輯框圖。,(2)設存儲器的讀/寫周期均為0.5s,CPU在1 s內(nèi)至少訪問一次。試問采用哪種刷新方式較合理?兩次刷新的最大時間間隔是多少?對全部存儲單元刷新一遍,所需實際刷新時間是多少?,解: (1)總?cè)萘繛?4KB,故地址線共需16位;需要16K1位的DRAM芯片32片。芯片本身地址線占14位,所以要使用一片2:4譯碼器。,15.5s,(2) CPU在1s內(nèi)至少訪問一次,所以采用異步刷新方式比較合理;, 刷新間隔為2ms/128=15.5s,前15 s可以進行CPU的

21、讀/寫操作,而后0.5 s完成刷新操作。, 對DRAM來說,兩次刷新的最大時間間隔是2ms;刷新時只對128行進行異步刷新。, DRAM刷新一遍實際所需時間為1280.5 s。,5. 新型DRAM芯片, DRAM具有存儲密度大、功耗小、成本低等優(yōu)點,由于它需要定時刷新,對其工作速度有較大影響。, EDRAM(Enhanced DRAM)(圖3.24) EDRAM 在動態(tài)芯片上集成了一個小容量SRAM緩沖器,可以存放前一次讀出的一整行元素內(nèi)容,共2048位(512個4位組)。, 刷新可以和讀寫并行操作,使芯片不能讀寫的時間減至最低程度。此外,從SRAM緩沖器讀出數(shù)據(jù)的通路與寫入數(shù)據(jù)的通路各自獨立

22、。,圖3.24, SDRAM (Synchronous DRAM ), SDRAM內(nèi)部采用雙存儲體結(jié)構(gòu),極大地改善了片內(nèi)存取的并行性。, 鎖存處理機或其它主設備發(fā)出的地址和控制信息;,圖3.25 SDRAM內(nèi)部邏輯示意圖, DDR SDRAM (Double-Data-Rate SDRAM),3. 3 半導體只讀存儲器, 根據(jù)只讀存儲器的工藝,可分為: ROM PROM EPROM EEPROM(E2PROM),3.3.1 掩膜只讀存儲器(masked ROM), 掩膜ROM存儲的信息由生產(chǎn)廠家在掩膜工藝過程中“寫入”,用戶不能修改。,圖3.26,圖3.27,3.3.2 可編程ROM(PROM

23、), 這類ROM允許用戶用特定的編程器向ROM中寫入數(shù)據(jù),寫入后,不能修改;, 有P-N結(jié)破壞型和熔絲燒斷型兩種。, 寫入時,字線加電壓E。若寫“1”,則位線D加負壓,將反向偏置的二極管擊穿;若寫“0”,位線上不加負壓,PN結(jié)不燒穿。,1. PN結(jié)破壞型PROM(圖3.28), 寫入時,在字線和位線上加高電壓,使熔絲燒斷,燒斷存0,不燒斷存1。,2. 熔絲燒斷型(圖3.29),3.3.3 可擦除和編程的ROM(EPROM), 漏極上加正高壓(2030V),浮動柵上帶有足夠多的正電荷,使FAMOS管處于導通狀態(tài);寫入完畢后,撤消D極上的高壓,保持導通狀態(tài)。,圖3.30 N溝道FAMOS存儲單元結(jié)

24、構(gòu) 圖3.31 FAMOS存儲單元電路, EPROM芯片27256(32K8),圖3.32,3.3.4 電擦除電改寫只讀存儲器(EEPROM), 電擦除電改寫只讀存儲器又叫EEPROM或E2PROM(Electrically Erasable and Programmable Rom)。, 在讀數(shù)據(jù)的方式上與EPROM完全一樣,優(yōu)點是可以用電來擦除和重編程。, E2PROM在每次寫入操作時執(zhí)行一個自動擦除,因此比RAM的寫操作慢的多。E2ROM存放的數(shù)據(jù)至少可維持10年。,3.3.5 閃速存儲器(flash memory), 閃速存儲器(閃存)是在EPROM和E2ROM的制造技術(shù)基礎(chǔ)上發(fā)展起來

25、的一種新型的電可擦除非易失性存儲器件。, 存儲單元結(jié)構(gòu)與E2ROM的類似 ,閃速存儲單元的氧化層較薄,具有更好的電可擦除性能。, 新型閃速存儲器則可擦除一塊數(shù)據(jù),因而更適于存儲文件方面的應用。, 閃存速度高、功耗低、體積小,可用于代替ROM、磁盤;進行數(shù)據(jù)采集 。,作業(yè)一:P1435、8、12、14,3.4 多體交叉存儲器 3.4.1 編址方式, 多模塊存儲器可以實現(xiàn)重疊與交叉存取 。,圖3.33 多體交叉編址方式,3.4.2 重疊與交叉存取控制, 多體交叉存儲模塊有兩種不同的訪問方式: “同時訪問”和“交叉訪問”,圖3.34,3.5 高速緩沖存儲器 3.5.1 工作原理, Cache的功能,

26、 設置Cache是為了解決CPU和主存之間的速度匹配問題,理論依據(jù)是程序訪存的局部性規(guī)律。, 高速緩存通常由雙極型半導體存儲器或SRAM組成。, 地址映象以及和主存數(shù)據(jù)交換機構(gòu)全由硬件實現(xiàn),并對程序員透明。, 訪問Cache的時間一般為訪問主存時間的1/41/10;Cache已在大、中、小及微型機上普通采用。, 主存和Cache均是模塊化的(以塊為單位),并且兩者之間交換數(shù)據(jù)以塊為單位進行。, Cache的基本結(jié)構(gòu)和工作原理,塊內(nèi)地址,塊 號, Cache的命中率, Cache/主存系統(tǒng)平均訪問時間: Ta= PTc+(1-P)Tm, 在程序執(zhí)行期間,設Nc表示Cache完成存取的總次數(shù), N

27、m表示主存完成存取的總次數(shù);, Cache的命中率:P=Nc/(Nc+Nm);, Cache/主存系統(tǒng)訪問效率: e= Tc/Ta = Tc/PTc+(1-P)Tm = 1/P+(1-P)r = 1/r+(1-r)P, r=Tm/Tc表示主存慢于Cache的倍率,取510。, 命中率P與程序的行為、Cache的容量、組織方式、塊的大小有關(guān)。, 例:CPU執(zhí)行一段程序時, Cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知Cache存取周期為50ns,主存存取周期為250ns,求Cache/主存系統(tǒng)的效率和平均訪問時間。,解:Cache的命中率:P = Nc/(Nc+Nm)

28、 = 1900/(1900+100) = 0.95 r = Tm/Tc= 250ns/50ns = 5 系統(tǒng)訪問效率:e = 1/r+(1-r)P = 1/5+(1-5)0.95 = 83.3 系統(tǒng)平均訪問時間:Ta = Tc/e = 50ns/0.833 = 60ns,3.5.2 映象函數(shù)(Mapping), 假定主存空間被分為2m個塊 (塊號為0、1、2.2m-1),每塊大小為2b個字。, Cache空間的分配以及數(shù)據(jù)交換都以塊為單位進行。, Cache存儲空間分為2c塊,每塊也是2b個字 (當然mc)。, 選取何種映象方法,取決于在給定地址映象和變換的硬件條件下,能否達到高速度,以及能否

29、使塊沖突的概率小。, 常用的地址映象方式, 有直接映象、全相聯(lián)映象和組相聯(lián)映象。, 塊沖突:要調(diào)一個主存塊到Cache中,而該主存塊要進入的Cache塊已被其它主存塊占據(jù)。,1. 直接映象法, 主存和Cache塊號的對應關(guān)系, 將主存分為若干個區(qū),每區(qū)與Cache容量相等;每區(qū)相同塊號的塊映象到Cache對應塊。, 直接映象函數(shù)為i=j mod 2c ,其中i是Cache塊號,j是主存塊號, 2c為Cache總塊數(shù)。,i=j mod 2c,主存塊號,1個Cache塊對映多個主存塊,t為這些主存塊標記。,2. 全相聯(lián)映象法, 對應關(guān)系 主存中任一頁可裝入Cache內(nèi)任一塊的位置。, 采用存放于相

30、聯(lián)存儲器中的目錄表來實現(xiàn)地址映象;以加快“主存Cache”地址變換速度。, 優(yōu)點是塊沖突概率最低;但查表速度難以提高。幾乎沒有單純采用全相聯(lián)映象法。,例1. 設主存容量為1MB,高速緩存容量為16KB,塊的大小為512字節(jié)。采用直接地址映像法。,(1)寫出主存地址格式。,(4)畫出直接方式地址映像及變換示意圖。,(2)寫出Cache地址格式。,(3)塊表的容量是多大。,(1)主存地址格式為:,(2)Cache地址格式為:,(3)塊表的容量為326位。,(4)直接方式地址映像及變換示意圖,(標記),例2. 一個具有16KB直接相聯(lián)映射Cache的32位微處理器,假定Cache的塊為4個32位的字

31、,問主存字節(jié)地址為ABCDE8F8H的單元在Cache中的位置是什么?,解: Cache容量為214字節(jié), 212(4096)個字, 對應Cache塊地址(塊號):28FH; 塊內(nèi)字節(jié)地址:8H;,3. 組相聯(lián)映象法, 組相聯(lián)映象法的映象規(guī)則 將Cache空間分成組,每組2s塊(稱為2s路相聯(lián)),Cache有2q組。, 全相聯(lián)映象法和直接映象法結(jié)合起來,就產(chǎn)生了組相聯(lián)映象法。, 主存分成2m個區(qū),每區(qū)共有2q塊。主存某區(qū)的塊允許映射到Cache固定組內(nèi)的任意塊。, 在組相聯(lián)映象中,主存某區(qū)的第i塊可以調(diào)入Cache第i組中的任意一塊中;, 組相聯(lián)映象在各組間用直接映象,組內(nèi)各塊則是全相聯(lián)映象;

32、, S(Cache組的大小為2s)的選取決定了塊沖突的概率和地址映象的復雜性。S字段越大,則Cache塊沖突越低,而相聯(lián)映象表也越大。,例. 一個組相聯(lián)映像Cache由64個存儲塊組成, 每組包含4個存儲塊。主存包含4096個存儲塊,每塊由128字組成。訪存地址為字地址。,(1)寫出主存地址位數(shù)和地址格式;,(3)畫出組相聯(lián)映像方式示意圖,(2)寫出Cache地址位數(shù)和地址格式;,(4)主存字地址為7B568H單元映射到Cache哪個組?,(1)Cache的組數(shù)=64個存儲塊/每組4個存儲塊=16組, Cache的容量=64128字=213字,(2)主存每區(qū)為16塊,主存容量=4096128字

33、=219字,0區(qū),1區(qū),2 5 5 區(qū),(4)主存字地址為7B568H單元映射到Cache哪個組?(1010),3.5.3 替換算法, 訪存出現(xiàn)Cache塊失靶,需將主存塊按所采用的映象規(guī)則裝入Cache。, 如果此時出現(xiàn)塊沖突,就必須按某種策略將Cache塊替換出來。, Cache塊失靶處理, 替換策略的選取 從實現(xiàn)的難易和命中率的高低來考察。,1. 先進先出法(FIFO), 選擇最早裝入的Cache塊為被替換的頁,采用這種算法,有可能產(chǎn)生較大的塊失效率。,2“近期最少使用”算法(LRU), 選擇近期最少使用訪問的Cache塊為調(diào)出塊,這種算法能比較正確地反映程序的局部性;, 具體實現(xiàn)比FI

34、FO算法要復雜一些,替換算法只能全部用硬件方法實現(xiàn)。,圖3.42,3塊/組 4塊/組 5塊/組,3塊/組,4塊/組,3.5.4 Cache主存內(nèi)容的一致性問題, CPU執(zhí)行寫操作時,要寫的內(nèi)容恰在Cache中,則Cache內(nèi)容被更改,但該單元對應的主存內(nèi)容尚沒有改變,這就產(chǎn)生了Cache和主存內(nèi)容不一致的情況。, 解決問題的關(guān)鍵是選擇更新主存內(nèi)容的算法;采用兩種算法。, 寫回法(Write back) 處理機執(zhí)行寫操作時,信息只寫入Cache,當Cache塊被替換時,將該塊內(nèi)容寫回主存后,再調(diào)入新塊。, 處理機進行寫操作時,利用“Cache主存”層次中存在于處理機和主存之間的通路將信息也寫回主

35、存。, 寫直達則在每次寫入時,都要附加一個比寫Cache長得多的寫主存時間;寫直達法時間的開銷大一些,但其一致性保持要好一些。, 寫直達法又稱存直達法,, 在塊替換時,就不必將被替換的Cache塊內(nèi)容寫回,可以直接調(diào)入新塊。, 采用兩種算法比較, 寫回法的開銷是在塊替換時的回寫時間;,3.5.5 Pentium Cache結(jié)構(gòu),圖3.43,圖3.45 Pentium片內(nèi)Cache目錄表和LRU位,(M/E/S/I,修改、專用、共享、無效),3.6 虛擬存儲器 3.6.1 虛擬存儲器概述, 問題的提出: 系統(tǒng)程序和應用程序要求主存容量越來越大,, 虛擬存儲技術(shù): 將一部分(或全部)輔存和主存結(jié)合

36、,把兩者的地址空間統(tǒng)一編址,形成比實際主存空間大得多的邏輯(虛擬)地址空間。, 訪存時,用軟、硬件結(jié)合的方法,將邏輯地址(虛地址)轉(zhuǎn)化為物理地址(實地址)。, Cache的替換算法和地址映象方式完全由硬件實現(xiàn),在虛擬存儲系統(tǒng)中,用軟、硬件結(jié)合的方法來實現(xiàn)。, 虛擬存儲器的功能, 是一種解決存儲容量和存取速度矛盾的一種有效措施,是管理存儲設備的有效方法。, 用戶編制程序時就無需考慮所編程序在主存中是否放得下以及放在什么位置等問題。, 虛擬存儲器使計算機具有輔存的容量,接近于主存的速度和輔存的位成本。, “主存輔存”層次和“Cache主存”層次采用的地址變換及映象方法和替換策略,在原理上是類似的。

37、,3.6.2 虛擬存儲器的基本管理方法, 虛擬存儲器的管理方式有段式、頁式或段頁式三種。,(1)段式虛擬存儲器管理 按照程序的邏輯結(jié)構(gòu)劃分成多個相對獨立部分(過程、子程序、數(shù)據(jù)表、陣列);, 用段表來指明各段在主存中的位置;有段名(用戶名或數(shù)據(jù)結(jié)構(gòu)名或段號)、段起點、段長等。, 由于段的長度各不相同,段的起點和終點不定,給主存空間分配帶來麻煩,且容易在實存中留下許多空白的零碎存儲空間不好利用,造成浪費。, 段式管理系統(tǒng)的優(yōu)點和不足, 段的分界與程序的自然分界相對應;段的邏輯獨立性使它易于編譯、管理、修改和保護,也便于多道程序共享;, 某些類型的段(堆棧、隊列)具有動態(tài)可變長度,允許自由調(diào)度以便

38、有效利用主存空間。, 比段式管理系統(tǒng)中段外空間的浪費要小的多。,(2)頁式管理系統(tǒng) 基本信息傳送單位是定長的頁,主存的物理空間也被劃分為等長的固定區(qū)域,稱為頁面。,(3)采用分段和分頁結(jié)合的段頁式存儲管理系統(tǒng) 程序按模塊分段,段內(nèi)再分頁,進入主存仍以頁為基本信息傳送單位;, 由于頁不是邏輯上獨立的實體,所以處理、保護和共享都不及段式來得方便。, 用段表和頁表(每段一個頁表)進行兩級定位管理。,頁表的長度由邏輯頁號位數(shù)決定,裝入位 替換控制位 保護位 物理頁號,1. 頁式虛擬存儲器,圖3.46, 經(jīng)快表與慢表實現(xiàn)地址變換的方式, 快表由硬件組成,比頁表小得多;由邏輯頁號同時去查快表和慢表,如果在

39、快表中查不到,要花費一個訪主存時間查慢表。,圖3.47,2. 段式虛擬存儲器, 虛擬地址由段號和段內(nèi)地址組成,通過段表把虛擬地址變換成實存地址。, 段表格式,圖3.48, 虛擬地址向?qū)嵈娴刂返淖儞Q過程, 在訪問某段時,如果段內(nèi)地址值超過段的長度,則發(fā)生地址越界中斷。,圖3.49,3. 段頁式虛擬存儲器, 把程序按邏輯單位分段后,再把每段分成固定大小的頁;程序?qū)χ鞔娴恼{(diào)入調(diào)出是按頁面進行的,按段實現(xiàn)共享和維護。, 它兼有頁式和段式的優(yōu)點。缺點是在地址映象過程中需要多次查表。, 段表中每個表項有一個指向該段的頁表起始地址的指針和該段的控制保護信息。, 每道程序是通過一個段表和一組頁表來進行定位,

40、目前,大、中型機一般都采用這種段頁式存儲管理方式。, 頁表指明該段各頁在主存中的位置以及是否已裝入、修改等狀態(tài)信息。, 多道程序虛擬地址, 用基號(用戶標志號)指明該道程序的段表起始地址(存放在基址寄存器中)。, 多道程序虛擬地址格式:, 例:有三道程序(用戶標志號為P1,P2,P3),其基址寄存器內(nèi)容分別為B1,B2,B3;, 若只有一個基址寄存器,基號可以不要,在多道程序切換時,由操作系統(tǒng)修改基址寄存器的內(nèi)容來實現(xiàn)。, 上述每一張表的每一行都要設置一個有效位;若有效位均為“0”,訪問失敗,則發(fā)中斷請求操作系統(tǒng)建表。, 邏輯地址到物理地址的變換,圖3.50,4. 替換算法, 頁式管理中,產(chǎn)生

41、頁面失效時,要從外存調(diào)進包含有這條指令或數(shù)據(jù)的頁面。, 主存中的內(nèi)容與外存保持一致 頁表的每一行設置一修改位,當該頁剛調(diào)入主存時,此位為“0”,當對該頁內(nèi)任一地址進行寫入時,就把該位修改為“1”(主存中的內(nèi)容與外存不一致)。, 在頁被替換時,檢查其修改位,如為“1”,先將該頁內(nèi)容從主存寫入外存,然后再從外存接收新的一頁。, 假如主存頁面已全部被占滿,通常采用LRU算法,把“近期最少使用的頁”替換出去。, Pentium存儲器的地址轉(zhuǎn)換方式,10 10 12,1)無段表和無頁表的存儲器,屬于非虛擬存儲器,其邏輯地址即為物理地址; 2)無段表和有頁表的存儲器,頁式虛擬存儲器,存儲器的管理和保護是通

42、過頁面轉(zhuǎn)換實現(xiàn)的; 3)有段表和無頁表的存儲器,段式虛擬存儲器; 4)有段表和有頁表的存儲器,段頁式虛擬存儲器。, Pentium存儲器結(jié)構(gòu)根據(jù)其段表和頁表是否設置有4種組合情況, 計算機存儲系統(tǒng)的層次結(jié)構(gòu),例. 設主存容量4MB,虛存容量1GB,頁面大小4KB。采用頁式虛擬存儲器。,(1)寫出主存地址格式。,(2)寫出虛擬地址格式。,(3)頁表長度為多少?,(4)畫出虛實地址轉(zhuǎn)換圖。,(1)主存地址格式為:,(2)虛擬地址格為:,(3)頁表長度為218=256K,(4)虛實地址轉(zhuǎn)換圖,2,3.6.3 存儲保護, 多個用戶對主存的共享,就有多個用戶程序和系統(tǒng)軟件存于主存中。,(2)鍵保護方式

43、鍵保護方式的基本思想是為主存的每一頁配一個鍵,稱為存儲鍵;由操作系統(tǒng)賦予。, 打開存儲鍵的鑰匙,稱為訪問鍵。訪問鍵賦予每道程序,保存在該道程序的狀態(tài)寄存器中。, 當數(shù)據(jù)寫入主存的某一頁時,訪問鍵要與存儲鍵相比較;若兩鍵相符,則允許訪問該頁,否則拒絕訪問。,(3)環(huán)保護方式, 環(huán)狀保護方式可以做到對正在執(zhí)行的程序本身進行保護。,圖3.52 環(huán)保護方式, 對主存信息的使用有三種方式:讀(R)、寫(W)和執(zhí)行(E);對這三種分別設置訪問方式保護;,2) 訪問方式保護, 采用環(huán)式保護和頁式保護時將訪問方式位放在頁表和段表中,使得同一環(huán)內(nèi)或同一段內(nèi)的各頁可以有不同的訪問方式,從而增強了保護的靈活性。,

44、訪問方式保護是結(jié)合上述保護進行的,即在各保護方式中設置訪問方式位;, 在界限寄存器中加一位訪問方式位;,3.7 輔助存儲器 3.7.1 磁表面存儲器, 磁表面存儲器包括磁鼓、磁帶、磁盤和磁卡片等。目前,在計算機系統(tǒng)中以磁盤和磁帶為主。, 本節(jié)主要介紹磁表面存儲器的存儲原理、數(shù)據(jù)的記錄方式以及磁盤結(jié)構(gòu)及尋址方式。, 磁表面存儲器主要用作輔存,可存儲大量的程序和數(shù)據(jù),需要時,調(diào)入主存供CPU訪問。屬I/O設備。,1. 磁表面存儲原理,(1)磁層和磁頭 磁層是存放信息的介質(zhì),由非矩形剩磁特性的導磁材料(氧化鐵、鎳鈷合金等)構(gòu)成。, 磁材料制成的膠涂敷或鍍在載磁體上,其厚度通常為0.15m,以記錄信息

45、。, 磁頭是實現(xiàn)“磁電”和“電磁”轉(zhuǎn)換的元件, 磁頭中的縫隙形狀和尺寸將直接影響記錄密度和讀出幅度。,(2) 磁表面存儲器的讀寫過程 磁頭固定,磁層作高速回轉(zhuǎn)或勻速直線運動;在相對運動中,通過磁頭縫隙對磁層進行信息存取。, 信息寫入過程 寫線圈中通以寫電流脈沖,磁頭縫隙處的磁場穿過磁層中一微小區(qū)域,使該區(qū)域磁層以一定方向磁化,且保持該方向的剩磁(+BR或-BR)。, 信息讀出過程 磁頭與磁層作相對運動,當磁層中記錄單元運動到磁頭縫隙下面時,在磁頭中產(chǎn)生較大的磁通變化,讀線圈兩端產(chǎn)生較大的感應電勢E,經(jīng)整形、放大后成為讀出信號。,(3) 磁表面存儲器的性能指標, 在磁道中,單位長度內(nèi)存放的二進制信息的數(shù)目叫位密度。位密度的單位為bPI(每英寸二進制位數(shù))。軟盤位密度約每英寸400010000位。, 記錄密度 記錄密度可用道密度和位密度來表示。, 在沿磁道分布方向上,單位長度內(nèi)的磁道數(shù)目,叫道密度。單位為TPI(每英寸磁道數(shù))。, 存儲容量 指整個存儲器所能存放的二進制字數(shù)或字節(jié)數(shù)。它與磁表面大小和記錄密度密切相關(guān)。, 磁鼓容量最小,為幾兆字節(jié)。磁帶容量最大,為若干億字節(jié);磁盤介于兩者之間。, 磁盤的平均尋道時間一般為1020ms;等待時間一般取磁盤旋轉(zhuǎn)一周所需時間的一半。, 磁帶的定位時間與走帶速度和帶長有關(guān),帶愈長,帶速愈慢,其平均存取時間

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論