計算機組成原理第四章_第1頁
計算機組成原理第四章_第2頁
計算機組成原理第四章_第3頁
計算機組成原理第四章_第4頁
計算機組成原理第四章_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

計算機組成原理任課教師:石磊鄭州大學信息工程學院計算機系Email:shilei@Tel:136769868632/6/20231第一章概述第二章計算機中的數據表示第三章運算方法和運算器第四章存儲器及存儲系統(tǒng)第五章指令系統(tǒng)

第六章中央處理器

第七章系統(tǒng)總線第八章輸入輸出系統(tǒng)第九章計算機外部設備

第十章計算機系統(tǒng)結構目錄2第4章存儲器及存儲系統(tǒng)計算機組成原理清華大學出版社教學目標教學重點教學過程2/6/20233教學目標掌握存儲器分類及分級結構掌握半導體存儲器芯片基本工作原理掌握提高存儲器性能的主要方法2/6/20234教學重點半導體存儲器芯片基本工作原理存儲器與中央處理器的連接方法提高存儲器性能的主要方法2/6/20235教學過程4.1存儲器概述4.2主存儲器4.3半導體存儲器芯片4.4主存儲器組織4.5存儲保護2/6/202364.1存儲器概述(1/3)

存儲器的兩大功能:1、存儲(寫入Write)2、取出(讀出Read)三項基本要求:1、大容量 2、高速度3、低成本2/6/202374.1存儲器概述(2/3)概念1、基本存儲單元:存儲一位(bit)二進制代碼的存儲元件稱為基本存儲單元(或存儲元)2、存儲單元:主存中最小可編址的單位,是CPU對主存可訪問操作的最小單位。3、存儲體:多個存儲單元按一定規(guī)則組成一個整體。4、存儲器分辯率:指存儲器能被區(qū)分、識別與操作的精細程度。2/6/202384.1存儲器概述(3/3)存儲器的特性:1、存儲器是計算機中信息存儲的核心。 程序存儲功能由存儲器來承擔。2、內存是CPU與外界進行數據交換的窗口,CPU所執(zhí)行的程序和所涉及的數據都由內存直接提供。CPU可以對內存進行直接都操作和寫操作。3、外存可以保存大量的程序和數據。2/6/202394.1.1存儲器的分類1.按構成存儲器的器件和存儲介質分類2.按存取方式分類3.按在計算機中的作用分類4.按信息的可保護性分類5.按信息讀出后存儲單元是否穩(wěn)定分類6.按接口形式分類2/6/2023104.1.2存儲器的分級結構如圖4-2所示的存儲系統(tǒng),它有如下特點:①在存儲器體系結構中,各層之間的信息調度由輔助硬件或軟件直接完成。②存儲體系結構能發(fā)揮整個存儲系統(tǒng)的最大效能,有最佳的性能價格比。③工作原理:CPU首先訪問Cache,如果Cache中沒有,則存儲系統(tǒng)通過輔助硬件,到主存儲器中去找;如果主存沒有CPU要訪問的內容,則存儲系統(tǒng)通過輔助硬件或軟件,到輔存中去找。然后把找到的數據逐級上調。CPUCPU主存主存輔存輔存輔助軟硬件Cache輔助硬件輔助硬,軟件(a)兩級存儲器層次結構(b)三級存儲器層次結構圖4-2存儲器層次結構2/6/2023114.2主存儲器存儲器的性能指標是對存儲器的主要要求,也是對存儲器進行設計、使用和提高時的主要依據,存儲器性能指標也稱為存儲器參數。2/6/2023124.2.1主存儲器技術指標(1/6)1.存儲容量:(1)存儲容量是指一個功能完備的存儲器所能容納的二進制信息總量,即可存儲多少位二進制信息代碼。(2)存儲容量=存儲字數×字長(3)要求:大容量。2/6/2023134.2.1主存儲器技術指標(2/6)2.存儲器速度(1)存儲器取數時間(MemoryAccessTime) 從存儲器讀出/寫入一個存儲單元信息或從存儲器讀出/寫入一次信息(信息可能是一個字節(jié)或一個字)所需要的平均時間,稱為存儲器的取數時間/存數時間,記為tA,也稱為取數時間,tA對隨機存儲器一般是指:從中央處理器CPU的地址寄存器門輸出端發(fā)出讀數請求時起,到所要求的讀出信息出現在存儲器輸出端為止,這期間所需要化費的時間值。2/6/2023144.2.1主存儲器技術指標(3/6)2.存儲器速度(2)存儲器存取周期(MemoryCycleTime) 存儲器進行一次完整的讀寫操作所需要的全部時間,稱為存取周期?;蚓唧w地說,存取周期是啟動兩個獨立的存儲器操作(如兩個連續(xù)的讀操作)之間所需要的最小時間間隔,用tM表示。 tM=tA+復原時間: 破壞性讀出方式:tM=2tA。 非破壞性讀出:tM=tA+穩(wěn)定時間2/6/2023154.2.1主存儲器技術指標(4/6)3.數據傳輸率 單位時間可寫入存儲器或從存儲器取出的信息的最大數量,稱為數據傳輸率或稱為存儲器傳輸帶寬bM。bM=W/tM 其中,存儲周期的倒數1/tM是單位時間(每秒)內能讀寫存儲器的最大次數。W表示存儲器一次讀取數據的寬度,即位數,也就是存儲器傳送數據的寬度。2/6/2023164.2.1主存儲器技術指標(5/6)4.可靠性 存儲器的可靠行是指在規(guī)定時間內存儲器無故障的情況,一般用平均無故障時間MTBF來衡量。 為提高存儲器的可靠性,必須對存儲器中存在的特殊問題,采取適當的方法。(1)對于破壞性讀出的存儲器:設立緩沖寄存器(2)斷電后信息會丟失:備用電源的方法或采用中斷的技術轉儲(3)動態(tài)存儲:定期刷新2/6/2023174.2.1主存儲器技術指標(6/6)5.價格 又稱成本,它是衡量經濟性能的重要指標。設C是存儲容量為S位的整個存儲器以元計算的價格,可定義存儲器成本c為:c=(C/S)元/位. 衡量存儲器性能還有一些其它性能指標,如體積、功耗、重量、使用環(huán)境等。2/6/2023184.2.2主存儲器基本組成①貯存信息的存儲體。②信息的尋址機構,即讀出和寫入信息的地址選擇機構。這包括:地址寄存器(MAR)和地址譯碼器。③存儲器數據寄存器MDR。④寫入信息所需的能源,即寫入線路、寫驅動器等。⑤讀出所需的能源和讀出放大器,即讀出線路、讀驅動器和讀出放大器。⑥存儲器控制部件。無論是讀或寫操作,都需要由一系列明確規(guī)定的連續(xù)操作步序來完成,這就需要主存時序線路、時鐘脈沖線路、讀邏輯控制線路,寫或重寫邏輯控制線路以及動態(tài)存儲器的定時刷新線路等,這些線路總稱為存儲器控制部件。2/6/2023194.2.2主存儲器基本組成地址碼地址寄存器MAR地址譯碼器存儲體存儲器數據寄存器MDR圖4-3主存儲器原理框圖讀命令寫命令2/6/2023204.2.3主存儲器基本操作存儲器的基本操作:讀操作寫操作

2/6/2023214.3半導體存儲器芯片一、分類:按使用器件,半導體存儲器分雙極型半導體存儲器(TTL)和MOS半導體存儲器兩種(1)TTL:存儲速度高,集成度低,價格高,主要用于小容量的高速存儲器(2)MOS:主要用于大容量存儲器。根據存儲信息機構的原理不同,又分為靜態(tài)MOS存儲器(SRAM)和動態(tài)MOS存儲器(DRAM),前者利用雙穩(wěn)態(tài)觸發(fā)器來保存信息,只要不斷電,信息是不會丟失的,后者利用MOS電容存儲電荷來保存信息,使用時,需不斷給電容充電才能使信息保持。二、半導體存儲器的主要優(yōu)點是存儲速度快,存儲體積小,可靠性高;主要缺點是斷電時,讀寫存儲器不能保存信息。2/6/2023224.3.1靜態(tài)MOS存儲器基本存儲元6管靜態(tài)MOS存儲元8管靜態(tài)MOS存儲元6管雙向選擇MOS存儲元RAM結構與地址譯碼字結構或單譯碼方式位結構或雙譯碼方式字段結構2/6/2023234.3.1靜態(tài)MOS存儲器(1/13)基本存儲元—6管靜態(tài)MOS存儲元A、電路圖:圖4-4由兩個MOS反相器交叉耦合而成的雙穩(wěn)態(tài)觸發(fā)器。BAT2T5T4T0T1T3BS0VBS1讀/寫“0”讀/寫“1”位/讀出線位/讀出線字線圖4-46管MOS存儲電路2/6/2023244.3.1靜態(tài)MOS存儲器(2/13)基本存儲元—6管靜態(tài)MOS存儲元B、存儲元的工作原理①寫操作。在字線上加一個正電壓的字脈沖,使T2、T3管導通。若要寫“0”,無論該位存儲元電路原存何種狀態(tài),只需使寫“0”的位線BS0電壓降為地電位(加負電壓的位脈沖),經導通的T2管,迫使節(jié)點A的電位等于地電位,就能使T1管截止而T0管導通。寫入1,只需使寫1的位線BS1降為地電位,經導通的T3管傳給節(jié)點B,迫使T0管截止而T1管導通。 寫入過程是字線上的字脈沖和位線上的位脈沖相重合的操作過程。2/6/2023254.3.1靜態(tài)MOS存儲器(3/13)基本存儲元—6管靜態(tài)MOS存儲元B、存儲元的工作原理②讀操作。 只需字線上加高電位的字脈沖,使T2、T3管導通,把節(jié)點A、B分別連到位線。若該位存儲電路原存“0”,節(jié)點A是低電位,經一外加負載而接在位線BS0上的外加電源,就會產生一個流入BS0線的小電流(流向節(jié)點A經T0導通管入地)?!?”位線上BS0就從平時的高電位V下降一個很小的電壓,經差動放大器檢測出“0”信號。 若該位原存“1”,就會在“1”位線BS1中流入電流,在BS1位線上產生電壓降,經差動放大器檢測出讀“1”信號。 讀出過程中,位線變成了讀出線。讀取信息不影響觸發(fā)器原來狀態(tài),故讀出是非破壞性的讀出。③若字線不加正脈沖,說明此存儲元沒有選中,T2,T3管截止,A、B結點與位/讀出線隔離,存儲元存儲并保存原存信息。2/6/2023264.3.1靜態(tài)MOS存儲器(4/13)基本存儲元—8管靜態(tài)MOS存儲元A、目的:地址的雙重譯碼選擇,字線分為X選擇線與Y選擇線B、實現:需要在6管MOS存儲元的A、B節(jié)點與位線上再加一對地址選擇控制管T7、T8,形成了8管MOS存儲元?;敬鎯υ?管雙向選擇MOS存儲元 8管MOS存儲元改進:在縱向一列上的6管存儲元共用一對Y選擇控制管T6、T7,這樣存儲體管子增加不多,但仍是雙向地址譯碼選擇,因為對Y選擇線選中的一列只是一對控制管接通,只有X選擇線也被選中,該位才被重合選中。2/6/2023274.3.1靜態(tài)MOS存儲器(5/13)T5T7T3T2T0T1T8T6BS0VBS1讀/寫“0”讀/寫“1”位/讀出線位/讀出線Y選擇線X選擇線圖4-58管MOS存儲電路讀/寫“0”BAT2T5T4T0T1I/OI/OT7T6T3BS0VBS1讀/寫“1”位/讀出線位/讀出線Y選擇線X選擇線圖4-66管雙向選擇MOS存儲電路2/6/2023284.3.1靜態(tài)MOS存儲器(6/13)RAM結構與地址譯碼—字結構或單譯碼方式(1)結構:(A)存儲容量M=W行×b列;(B)陣列的每一行對應一個字,有一根公用的字選擇線W;(C)每一列對應字線中的一位,有兩根公用的位線BS0與BS1。(D)存儲器的地址不分組,只用一組地址譯碼器。(2)字結構是2度存儲器:只需使用具有兩個功能端的基本存儲電路:字線和位線(3)優(yōu)點:結構簡單,速度快:適用于小容量M(4)缺點:外圍電路多、成本昂貴,結構不合理結構。2/6/2023294.3.1靜態(tài)MOS存儲器(7/13)地址寫選通b7讀出寫入讀選通A3A2A1A0字線W15W1W0BS1BS0圖4-7字結構或單譯碼方式的RAM16選1地址譯碼器FFFFFFFFFFFFFFFFFF讀寫電路讀寫電路讀寫電路……::b1讀出寫入b0讀出寫入2/6/2023304.3.1靜態(tài)MOS存儲器(8/13)RAM結構與地址譯碼—位結構或雙譯碼方式(1)

結構:(A)容量:N(字)×b(位)的RAM,把每個字的同一位組織在一個存儲片上,每片是N×1;再把b片并列連接,組成一個N×b的存儲體,就構成一個位結構的存儲器。(B)在每一個N×1存儲片中,字數N被當作基本存儲電路的個數。若把N=2n個基本存儲電路排列成Nx行與Ny列的存儲陣列,把CPU送來的n位選擇地址按行和列兩個方向劃分成nx

和ny

兩組,經行和列方向譯碼器,分別選擇驅動行線X與列線Y。

(C)采用雙譯碼結構,可以減少選擇線的數目。(2)三度存儲器:三個功能端(3)優(yōu):驅動電路節(jié)省,結構合理,適用于大容量存儲器。2/6/2023314.3.1靜態(tài)MOS存儲器(9/13)Y1Y64X64X1A5A4A3A2A1A0圖4-8位結構雙譯碼方式的RAMX地址譯碼64,164,641,641,1I/OY地址譯碼A6A7A8A9A10A112/6/2023324.3.1靜態(tài)MOS存儲器(10/13)RAM結構與地址譯碼—字段結構(1)結構:(A)存儲容量W(字)×B(位),W>>b:分段Wp(=W/S)×Sb(B)字線分為兩維結構:(C)位線有Sb對(D)雙地址譯碼器(2)三度結構(3)優(yōu):對字結構存儲器的改進與提高,結構合理,適用于大容量存儲器。2/6/2023334.3.1靜態(tài)MOS存儲器(11/13)Sb對位/讀出線An-1An1An1-1A1A0圖4-9字段結構RAM段譯碼器,從2n2=S段中取1(共n2位〕行譯碼器共n1

位列I/O電路

存儲陣列Wp×Sbb位b位……段1段2段Sb根數據線讀/寫控制線2/6/2023344.3.1靜態(tài)MOS存儲器(12/13)用靜態(tài)MOS存儲片組成RAM位擴展法:例如:用8K×1的RAM存儲芯片,組成8K×8位的存儲器,按8位=m×1的關系來確定位擴展所需要的芯片數。共需8片,每一芯片的數據線分別接到數據總線的相應位。字擴展法:字擴展:字向擴展而位數不變,將芯片的地址線、數據線、讀寫控制線并聯(lián),而由片選信號來區(qū)分各片地址。例如:用16k×8位的芯片采用字擴展法組成64k×8位的存儲器:4個芯片。地址分配:地址總線低位地址A0-A13與各芯片的14位地址端相連,而高兩位的地址A14、A15經2:4譯碼器和4個芯片的片選端CE相連。2/6/2023354.3.1靜態(tài)MOS存儲器(13/13)用靜態(tài)MOS存儲片組成RAM字位同時擴展法:一個存儲器的容量假定為M×N位,若使用l×k位的芯片(l<M,k<N)需要在字向和位向同時進行擴展。此時共需要(M/l)×(N/k)個存儲器芯片。其中,M/l表示把M×N的空間分成(M/l)個部分(稱為頁或區(qū)),每頁(N/k)個芯片。地址分配:(A)用log2l位表示低位地址:用來選擇訪問頁內的l個字(B)

用log2(M/l)位表示高位地址:用來經片選譯碼器產生片選信號。2/6/2023364.3.2動態(tài)MOS存儲器(1/11)4管動態(tài)M0S存儲元電路 在6管靜態(tài)存儲元電路中,信息是存于T0,T1管的柵極電容上,由負載管T4,T5經外電源給T0,T1管柵極電容不斷地進行充電以補充電容電荷。維持原有信息所需要的電荷量。 由于MOS的柵極電阻很高,柵極電容經柵漏(或柵源)極間的泄漏電流很小,在一定的時間內(如2ms),存儲的信息電荷可以維持住。為了減少管子以提高集成度??梢匀サ粞a充電荷的負載管和電源,變成4管動態(tài)存儲元:2/6/2023374.3.2動態(tài)MOS存儲器(2/11)預充預充VDCDCDVSVSVDDBT3C1C0T1T0T2ADBS1BS0字線選擇圖4-114管動態(tài)存儲電路2/6/2023384.3.2動態(tài)MOS存儲器(3/11)4管動態(tài)M0S存儲元電路①寫入操作:當寫入時,字選擇線加入高電平,打開T2、T3控制管,將BS0,BS1上的信息存儲在T0、T1管的柵極電容上。當T2、T3管截止時,靠T0、T1管柵極電容的存儲作用,在一定時間內,(如2ms)可以保留所寫入的信息。②讀出操作:當讀出時,先給出預充信號,于是電源就向位線的寄生電容CD充電,使它們都達到電源電壓(CD=VD),當字選擇線使T2、T3管導通時,存儲的信息通過A、B端向位線輸出。若原存信息為1,則電容C1上存有電荷,T1管導通而T0管截止,因此,位線BS1的預充電荷經T1管泄漏,位線BS1有讀出電流流過。經讀出放大電路鑒別輸出。與此同時,BS0上的預充電荷CD可以通過A點向C1進行充電。故讀出過程也是刷新過程。③再生操作:“再生”或“刷新”。由于4管存儲元的信息電荷有泄漏,電荷數不象6管存儲元電路由電源經負載管源源不斷地補充,時間一長就會丟失信息。必須設法在外界按一定規(guī)律不斷給柵極進行充電,按需要補足柵極的信息電荷。2/6/2023394.3.2動態(tài)MOS存儲器(4/11)4管動態(tài)M0S存儲元電路刷新過程:在字選擇線上加一個脈沖就能實現自動刷新。顯然,只要定時給全部存儲元電路執(zhí)行一遍讀操作,而信息不向外輸出,那么就可以實現動態(tài)存儲器的再生或刷新。2/6/2023404.3.2動態(tài)MOS存儲器(5/11)3管MOS動態(tài)存儲元電路: 由于4管MOS的動態(tài)存儲元電路T0、T1管的狀態(tài)總是相反的,因此完全可以只用一個MOS管(如T1)的狀態(tài),截止或導通來表示0或1,這樣就可以變成3管動態(tài)MOS存儲元電路以進一步提高集成度。

2/6/2023414.3.2動態(tài)MOS存儲器(6/11)C1VSCDVDT2T1T3預充T4讀數據線數據輸出刷新控制寫數據線寫入選擇線讀出選擇線圖4-123管動態(tài)存儲電路2/6/2023424.3.2動態(tài)MOS存儲器(7/11)3管MOS動態(tài)存儲元電路的工作原理:①寫入操作:當寫選擇線為1,打開T2管,欲寫入的信息經寫數據線送入,通過T2管存到T1管的柵極電容C1上。如寫數據線為1,則對C1進行充電;如寫數據線為0,則C1放電。②讀出操作:首先預充電脈沖使T4管導通,電源先對讀出數據線上的寄生電容CD進行充電(升高VD),當讀出選擇線為1時,T3管導通,若原存信息為1,T1導通,則CD經T3、T1管進行放電,(注意:不是C1放電)。讀數據線上有讀出電流,線電位有ΔV降落;若原存信息為0,T1截止,則CD不放電,讀數據線上無電流、無電壓降??捎米x出數據線上有或無讀出電流或線電位低或高來判別讀出信息1或0。當C1上充有電荷,存儲1信息,而讀數據線電位卻變低是反向的,故需經倒相放大器后才是正確的數據輸出。③刷新操作:按一定周期地進行讀出操作,但不向外輸出。讀出信息經刷新控制信號控制的倒相放大器送到寫數據線,經導通的T2管就可周期性地給C1補充電荷。2/6/2023434.3.2動態(tài)MOS存儲器(8/11)單管動態(tài)存儲元: 為了進一步縮小存儲器體積,提高集成度,在大容量動態(tài)存儲器中都采用單管動態(tài)存儲元電路。如圖6.20存儲元由T1和CS構成。 寫入時,字選擇線加高電平,使T1管導通,寫入信息由數據線D(位線)存入電容CS中。 讀出時,首先要對數據線上的分布電容CD預充電,再加入字脈沖,使T1管導通,CS與CD上電荷重新分配以達到平衡。根據動態(tài)平衡的電荷數多少來判斷原存信息是0或1,因此,每次讀出后,存儲內容就被破壞。是破壞性讀出,必須采取措施,以便再生原存信息。 動態(tài)MOS隨機存儲芯片的組成大體與靜態(tài)MOS隨機芯片相似,由存儲體和外圍電路組成,但外圍電路由于再生操作要復雜得多。2/6/2023444.3.2動態(tài)MOS存儲器(9/11)DCDCST1數據線字選擇線圖4-13單管動態(tài)存儲電路2/6/2023454.3.2動態(tài)MOS存儲器(10/11)動態(tài)MOS存儲器的刷新:(1)刷新:對動態(tài)存儲器要每隔一定時間(通常是2ms)給全部基本存儲元的存儲電容補充一次電荷,稱為RAM的刷新,2ms是刷新間隔時間。(2)常用的刷新方式有兩種:①集中式刷新(BurstRefresh): 集中式刷新指在一個刷新周期內,利用一段固定的時間,依次對存儲器的所有行進行逐一再生,在此期間停止對存儲器的讀寫操作。 例如,一個存儲器有1024行,系統(tǒng)工作周期為200ns,RAM刷新周期為2ms,這樣,在每個刷新周期內共有10000個工作周期,其中用于再生的為1024個工作周期,用于讀寫操作的共有8976個工作周期。 集中式刷新的缺點是期間不能訪問存儲器,所以這種刷新方式多適用于高速存儲器。2/6/2023464.3.2動態(tài)MOS存儲器(11/11)動態(tài)MOS存儲器的刷新:②分布式刷新(DistributedRefresh)有兩種方法:(I)把對每一行的再生分散到各個工作周期中去。這樣,一個存儲器的系統(tǒng)工作周期分為兩部分:前半部分用于正常讀、寫或保持,后半部分用于再生某一行。系統(tǒng)工作周期增加到400ns,每1024個系統(tǒng)工作周期可把整個存儲器刷新一遍??梢钥闯?,整個存儲器的刷新周期縮短,它不是2ms,而是409.6s。但由于它的系統(tǒng)工作周期為讀、寫所需周期的一倍,因此,使存儲器不能高速工作,在實際應用時要加以改進。(II)為了提高存儲器工作效率,經常采取在2ms時間內分散地將1024行刷新一遍的方法,具體做法是將刷新周期除以行數,得到兩次刷新操作之間的時間間隔t,利用邏輯電路每隔時間t產生一次刷新請求。2/6/2023474.3.3半導體只讀存儲器1.只讀存儲器(1)掩模ROM(2)PROM(3)EPROM2.閃速存儲器(1)閃速存儲器的特點(2)閃速存儲器的技術分類(3)閃速存儲器的性能(4)閃速存儲器與CPU的連接2/6/2023484.4主存儲器組織存儲器芯片的容量是有限的,它在字數或字長方面與實際存儲器的要求都有很大差距,所以要在字向和位向兩方面進行擴充,才能滿足實際存儲器的容量要求。中央處理器對存儲器進行讀寫操作時,首先由地址總線給出地址信號,然后要發(fā)出有關進行讀操作或寫操作的控制信號,最后在數據總線上進行信息交換,因此,存儲器同CPU處理器連接時,要完成:①地址線的連接②數據線的連接③控制線的連接。2/6/2023494.4.1存儲器與中央處理器的連接1.位擴展2.字擴展3.字位擴展2/6/2023504.4.1存儲器與中央處理器的連接圖4-16位擴展組成的8KRAM87654328k×1

中央處理器CPU

D0:

D72/6/2023514.4.1存儲器與中央處理器的連接

A15A14CPU

A0A13

WE

D0-D7

2:4譯碼器

CE16K×8WE

CE16K×8WE

CE16K×8WE

CE16K×8WE圖4-17字擴展法組成64KRAM.…..2/6/2023524.4.2高速緩沖存儲器(1/11)Cache概念:①CPU與主存儲器之間的一種高速緩沖裝置②Cache-主存層次結構:由硬件變換地址和控制調度。Cache的特點:①位于CPU與主存之間,是存儲器層次結構中級別最高的一級;②容量比主存小,目前一般有數KB到數MB;③速度比主存快5-10倍,通常由存儲速度高的雙極型三極管或SRAM組成;④其容量是主存的部分副本;⑤其用途可用來存放指令,也可用來存放數據;⑥快存的功能全部由硬件實現,并對程序員透明。Cache的基本組成Cache存儲器Cache控制器地址變換邏輯替換邏輯組成。2/6/2023534.4.2高速緩沖存儲器(2/11)Cache的工作原理1、Cache以塊為單位進行操作2、當CPU發(fā)出訪內操作請求后,首先由Cache控制器判斷當前請求的字是否在Cache中,若在,叫命中,否則,不命中3、

若命中:若是“讀”請求,則直接對Cache讀,與主存無關若是“寫”請求:Cache單元與主存單元同時寫(Writethrough寫)只更新Cache單元并加標記,移出時修改主存(寫回Copyback)只寫入主存,并在Cache中加標記,下次從MM讀出,保證正確。4、未命中時:若是“讀”請求,則從主存讀出所需字送CPU,且把含該字的一塊送Cache,稱“裝入通過”,若Cache已滿,置換算法;若是“寫”請求,直接寫入主存。2/6/2023544.4.2高速緩沖存儲器(3/11)Cache替換算法替換算法的目標是使Cache獲得最高的命中率,就是讓Cache中總是保持著使用頻率高的數據,從而使CPU訪問Cache的成功率最高,其算法如下:①先進先出法(FIFO),替換最早進入Cache中的信息塊,由于只考慮了歷史情況,沒有反映信息的使用情況,所以命中率不高。其原因是最先進來的信息塊可能是經常用的塊,反而被替換掉了。②近期最少使用算法(LRU),替換近期使用最少的信息塊。這就要求隨時記錄Cache中各塊的使用情況,以便確定哪個字塊是最近期最少使用的。由于近期使用少,未必是將來使用最少的,所以,這種算法的命中率比FIFO有所提高,但并不最理想。③優(yōu)化替換算法(OPT)。這是一種理想算法,但實現起來難度大。因此,只作為衡量其它算法的標準,這種算法需讓程序運行兩次,第一次分析地址流,第二次才真正運行程序。2/6/2023554.4.2高速緩沖存儲器(4/11)Cache存儲器的地址映象1、概念(1)地址映象:為了把信息放到Cache中,必須應用某種函數把主存地址映象到Cache中定位,稱作地址映象。(2)地址變換:在信息按這種映象關系裝入Cache后,執(zhí)行程序時,應將主存地址變換成Cache地址。這個變換過程叫作地址變換。地址映象和變換是密切相關的。2、Cache的地址映象方式有:直接映象全相聯(lián)映象組相聯(lián)映象2/6/2023564.4.2高速緩沖存儲器(5/11)直接映象:假設主存空間被分為2m個頁,其頁號分別為0、1、...i...2m-1,每頁大小為2b個字,Cache存儲空間被分為2c個頁(頁號為0、1、...j...2c-1),每頁大小同樣為2b個字,(c<m)(A)直接映象函數定義:j=imod2c

其中j是Cache的頁面號,i是主存的頁面號。顯然,主存的第0頁、2c頁、2c+1...只能映象到Cache的第0塊(共2t個頁)。主存的第1頁,第2c+1頁,...(共2t個頁)只能映象到Cache的第1頁...其中,圖中的主存頁面標記(t位)用來表明主存對應同一Cache頁面的2t個頁面中,究竟是哪一個頁面存放到Cache中。(B)主存地址:最后b位是頁內地址,中間c位是Cache的頁面地址,高t(=m-c)位是主存的頁面標記,用來標明主存的2t個頁面中究竟哪個頁面已在Cache中。2/6/2023574.4.2高速緩沖存儲器(6/11)主存貯器b位c位t位t位m位圖4-22頁面地址的直接映像方式頁號0頁號1頁號2c-1頁號2c頁號2c+1頁號2c+1-1頁號2c+1頁號2m-1頁號0頁號1

頁號2c-1標記標記標記主存頁面標記cache頁面地址頁內地址Cache存貯器主存地址2/6/2023584.4.2高速緩沖存儲器(7/11)直接映象:(C)工作過程:地址變換部件在收到CPU送來的主存地址后,只需根據中間c位字段找到Cache存儲器頁面號,然后檢查標記是否與主存地址高t位相符合,如果符合,則可根據頁號地址和低b位地址訪問Cache,如果不符合,就要從主存讀入新的頁面來替換舊的頁面,同時修改Cache標記。(D)優(yōu)點:簡單; 缺點:不靈活,命中率低。2/6/2023594.4.2高速緩沖存儲器(8/11)全相聯(lián)映象方式(1)主存中的每一頁面可以映象到Cache中的任何一個頁面位置上,也允許采用任何替換算法從被占滿的Cache中替換掉任何一個舊頁面。(2)主存地址(3)優(yōu)點:靈活(4)缺點訪問速度太慢,這是因為要與所有標記全部比較一遍,才能確定是否命中;成本太高2/6/2023604.4.2高速緩沖存儲器(9/11)頁號0頁號1頁號i頁號2m-1標記頁號0標記頁號1標記2c-1主存頁面標記頁內地址圖4-23全相聯(lián)映像方式b位m=t+c位m=t+c位Cache存貯器主存主存地址2/6/2023614.4.2高速緩沖存儲器(10/11)組相聯(lián)映象方式(A)將Cache分為2n個組,每組包含2r個頁面,Cache共有2c=2n+r個頁面。其映象關系為:j=(imod2n)×2r+k(0≤k≤2r-1)例,設n=3位,r=1位,考慮主存字塊15可映象到Cache的哪一個字塊中。根據公式,可得:j=(imod2n)×2r+k=(15mod23)×21+k=7×2+k=14+k又因為0≤k≤2r-1=1,所以:k=0或1代如后得j=14(k=0)或15(k=1)。所以主存模塊15可映象到Cache字塊14或15。在第7組。(B)主存地址(C)

組間是直接映象,組內是全相聯(lián)映象。小結:上述三種映象技術有一定的內在聯(lián)系:當r=0時,就是直接映象;當r=c時,就是全相聯(lián)映象。2/6/2023624.4.2高速緩沖存儲器(11/11)0頁1頁2c-r-12c-r2c-r+12c-r+1-12c-r+12m-1標記0頁標記1頁標記2頁標記3頁

標記2c-2標記2c-1主存字塊標記組地址頁內地址圖4-24頁面地址的組相聯(lián)映像c=n+r2c-r-1組1組0組Cache(r=1)t+rb位n位t+r位主存主存地址2/6/2023634.4.3多體交叉存儲器(1/4)方案一:順序方式(a)主存地址被分成高n位和低m位,高位(n)表示模塊號,低位(m位)表示塊內地址;(b)在一個模塊內,程序是從低位地址連續(xù)存放;(c)對連續(xù)單元存取,一般僅對一個模塊操作(d)特點:多模塊并行工作易擴充容量故障局部性。2/6/2023644.4.3多體交叉存儲器(2/4)數據總線

模塊i

模塊2n-1

模塊0模塊號塊內地址MARm位n位圖4-26并行多模塊存儲器結構框圖............2/6/2023654.4.3多體交叉存儲器(3/4)方案二:交叉方式(a)主存地址被分成高n位和低m位,低位(m位)表示模塊號,高位(n)表示塊內地址;(b)各模塊間采用多模塊交叉編址;(c)對連續(xù)單元存取,則多個模塊并行工作(d)特點:多模塊并行工作,速度快不易擴展故障全局性。2/6/2023664.4.3多體交叉存儲器(4/4)

模塊i

模塊2n-1

模塊0塊內行地址模塊號MARn位m位圖4-27多模塊交叉存取存儲器結構框圖............數據總線2/6/2023674.4.4虛擬存儲器(1/13)虛擬存儲器與一般的主存--輔存系統(tǒng)的本質區(qū)別:(1)虛擬存儲器允許人們使用比主存容量大得多的地址空間來訪問主存,非虛擬存儲器最多只允許人們使用主存的整個空間,一般只允許使用操作系統(tǒng)分配的主存中的某一部分空間。(2)虛擬存儲器每次訪問主存時必須進行虛、實變換,而非虛擬存儲器系統(tǒng)則不必變換。虛擬存儲器與Cache比較:(1)主存/Cache的訪問“時間比”較小,典型的為10:1,每次傳送的頁較?。惠o存/主存的訪問“時間比”較大,典型的為100:1—1000:1,每次傳送的頁較大;(2)Cache未命中其間,處理器不改變任務,仍被等待從內存取數的進程占用;2/6/2023684.4.4虛擬存儲器(2/13)虛似存儲器的功能與特點①虛擬存儲器是“主存-外存”層次;②使計算機的存取容量達到輔存的容量;③使計算機存儲速度接近主存的速度;④使計算機整個存儲系統(tǒng)的成本接近輔存的成本。主存外存層次的基本信息傳送單位可采用三種不同的方案:段、頁或段頁,這就形成了頁式虛擬存儲器段式虛擬存儲器段頁式虛擬存儲器。2/6/2023694.4.4虛擬存儲器(3/13)1、頁式虛擬存儲器概念 以頁為信息傳送單位的虛擬存儲器,即在這種虛擬存儲器中,不論是虛擬空間,還是主存空間都被分成大小相等的頁,稱為頁面。(A)邏輯頁:虛存空間,虛擬地址分為兩個字段:高位字段為邏輯頁號,低位字段為頁內行地址;(B)物理頁:主存空間,實存地址也分為兩個字段:高位字段為物理頁號,低位字段為頁內行地址 頁面大小都是相等的,所以頁內行地址(位數)是相等的。2/6/2023704.4.4虛擬存儲器(4/13)1、頁式虛擬存儲器頁表頁表是記錄虛頁與實頁對照關系的表,從虛存地址到主存實地址的變換就是由存放在主存的頁表來實現的,在頁表中,對應每一個虛存邏輯頁號有一個表目,表目內容至少要包含該邏輯頁所在的主存頁面地址(物理頁號),用它作為主存地址的高字段,與虛存地址的頁內行地址字段相拼接,就產生了完整的實主存地址,據此訪問主存.2/6/2023714.4.4虛擬存儲器(5/13)1、頁式虛擬存儲器工作原理

一般方法(A)CPU提供虛地址:邏輯地址+頁內地址(B)訪問頁表:頁表基址寄存器+邏輯頁號(C)查表。若頁面命中:主存地址:物理頁號+頁內地址若未命中:啟動I/O系統(tǒng),從外存調入主存。改進快表+慢表方法:快表由硬件組成,只是慢表的小副本。查表時,由邏輯頁號同時去查快表和慢表,當在快表中有此邏輯頁號時,就能很快地把找到的對應的物理頁號送入主存地址寄存器,并使慢表的查找作廢。如果在快表中查不到,那就要多一個訪問主存的時間查慢表,從中查到物理頁號送入實存地址寄存器,同時,將此邏輯頁號和對應的物理頁號送入快表,替換快表中應該移掉的內容。優(yōu)點:管理方便,空間利用率高缺點:頁的處理,保護,共享等不方便。2/6/2023724.4.4虛擬存儲器(6/13)頁表基地址頁表基址寄存器邏輯頁號(虛頁號)頁內行地址CPU提供的虛存地址控制位實頁號物理頁號頁內行地址圖4-30頁式虛擬存貯器的虛-實地址變換頁表(在主存中)實存地址2/6/2023734.4.4虛擬存儲器(7/13)2、段式虛擬存儲器段式虛擬存儲器是以程序的邏輯結構所形成的段(如過程,子程度等)作為主存空間分配單位的虛擬存儲管理方式,由于各段的長度因程序而異,虛擬地址由段號和段內地址組成。為了把虛擬地址變換成實存地址,需要一個段表,段表是表示虛段(程序的邏輯結構)與實段(主存中所存放的位置)之間關系的對照表,段表也是一個段,每一段駐留在主存中,也可存放在外存中,需要時再調入主存。

虛存地址:段號+段內地址地址變換2/6/2023744.4.4虛擬存儲器(8/13)2、段式虛擬存儲器段式虛擬存儲器的優(yōu)缺點:(1)優(yōu)點:段的界線分明,就是程序的自然分界。段易于編譯、管理、修改和保護。便于多道程序共享。某些類似的段(如堆棧,隊例)具有可變長度,允許自由調度,以便有效利用主存空間。(2)缺點:由于段的長度各不相同,段的起點和終點不定,給主存空間分配帶來麻煩。容易在段間留下許多空余的零碎主存空間,不好利用,造成浪費。2/6/2023754.4.4虛擬存儲器(9/13)虛存地址段段內地址段表基地址段表基地址寄存器段長裝入位段起點1320段號主存地址實地址圖4-33段式虛擬存貯器的地址變換段表(在主存中)2/6/2023764.4.4虛擬存儲器(10/13)3、段頁式虛擬存儲器段頁式虛擬存儲器是段式虛擬存儲器和頁式虛擬存儲器的結合。在這種方式中,把程序按邏輯單位分段以后,再把段分成固定大小的頁。程序在主存的調入調出操作是按頁面為單位進行的,但又可以按段實現共享和保護。可兼顧頁式和段式的優(yōu)點,其缺點是在地址變換過程中需要多次查表。地址變換 在段頁式虛擬存儲器中,每道程序是通過一個段表和一組頁表進行定位的。段表中的每一個表目對應一個段

溫馨提示

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

評論

0/150

提交評論