計算機組成原理第三章課件(白中英版).ppt
《計算機組成原理第三章課件(白中英版).ppt》由會員分享,可在線閱讀,更多相關《計算機組成原理第三章課件(白中英版).ppt(103頁珍藏版)》請在裝配圖網(wǎng)上搜索。
3.1 存儲器概述 3.2 隨機讀寫存儲器 3.3 只讀存儲器和閃速存儲器 3.4 高速存儲器 3.5 cache存儲器 3.6 虛擬存儲器 3.7 存儲保護,第3章 存儲系統(tǒng),3.1 存儲器概述,存儲器的兩大功能: 1、 存儲(寫入Write) 2、 取出(讀出Read) 三項基本要求: 1、大容量 2、高速度 3、低成本,3.1 存儲器概述,概念 1、基本存儲單元:存儲一位(bit)二進制代碼的存儲元件稱為基本存儲單元(或存儲元) 2、存儲單元:主存中最小可編址的單位,是CPU對主存可訪問操作的最小單位。 3、存儲器:多個存儲單元按一定規(guī)則組成一個整體。,3.1.1 存儲器的分類,1. 按存儲介質(zhì)分類 2. 按存取方式分類 3. 按存儲器的讀寫功能分類 4. 按信息的可保存性分類 5. 按在計算機系統(tǒng)中的作用分類,3.1.1 存儲器分類,半導體存儲器:用半導體器件組成的存儲器 磁表面存儲器:用磁性材料做成的存儲器, 按存儲介質(zhì)分, 按存儲器的讀寫功能分:ROM,RAM 按信息的可保存性分:非永久記憶,永久記憶 按在計算機系統(tǒng)中的作用分: 主存、輔存、高速緩存、控制存儲器,3.1.2 存儲器的分級結構,示意圖,虛擬存儲器,寄存器 微處理器內(nèi)部的存儲單元 高速緩存(Cache) 完全用硬件實現(xiàn)主存儲器的速度提高 主存儲器 存放當前運行程序和數(shù)據(jù),采用半導體存儲器構成 輔助存儲器 磁記錄或光記錄方式 磁盤或光盤形式存放可讀可寫或只讀內(nèi)容 以外設方式連接和訪問,3.1.3 主存儲器的技術指標,存儲容量 主存存儲容量:以字節(jié)B(Byte)為基本單位 半導體存儲器芯片:以位b (Bit)為基本單位 存儲容量以2101024規(guī)律表達KB,MB,GB和TB 廠商常以1031000規(guī)律表達KB,MB,GB和TB 存取時間(訪問時間) 發(fā)出讀/寫命令到數(shù)據(jù)傳輸操作完成所經(jīng)歷的時間 存取周期 兩次存儲器訪問所允許的最小時間間隔 存取周期大于等于存取時間 存儲器帶寬(數(shù)據(jù)傳輸速率) 單位時間里存儲器所存取的信息量,3.2 隨機讀寫存儲器,SRAM(靜態(tài)RAM:Static RAM) 以觸發(fā)器為基本存儲單元 不需要額外的刷新電路 速度快,但集成度低,功耗和價格較高 DRAM(動態(tài)RAM:Dynamic RAM) 以單個MOS管為基本存儲單元 要不斷進行刷新(Refresh)操作 集成度高、價格低、功耗小,但速度較SRAM慢,3.2.1 SRAM存儲器,6個開關管組成一個存儲元,存儲一位信息 N(=1/4/8/16/32)個存儲元組成一個存儲單元 存儲器芯片的大量存儲單元構成存儲體 存儲器芯片結構: 存儲單元數(shù)每個存儲單元的數(shù)據(jù)位數(shù) 2MN芯片的存儲容量 M芯片地址線的個數(shù) N數(shù)據(jù)線的個數(shù),SRAM的控制信號,片選(CS*或CE*) 片選有效,才可以對芯片進行讀/寫操作 無效時,數(shù)據(jù)引腳呈現(xiàn)高阻狀態(tài),并可降低功耗 讀控制(OE*) 芯片被選中有效,數(shù)據(jù)輸出到數(shù)據(jù)引腳 對應存儲器讀MEMR* 寫控制(WE*) 芯片被選中的前提下,若有效,將數(shù)據(jù)寫入 對應存儲器寫MEMW*,SRAM 2114,靜態(tài)MOS存儲器,基本存儲元6管靜態(tài)MOS存儲元 A、電路圖: 由兩個MOS反相器交叉耦合而成的雙穩(wěn)態(tài)觸發(fā)器。,基本存儲元6管雙向選擇MOS存儲元 在縱向一列上的6管存儲元共用一對Y選擇控制管T6 、T7 ,這樣存儲體管子增加不多,但是雙向地址譯碼選擇,因為對選擇線選中的一列只是一對控制管接通,只有X選擇線也被選中,該位才被重合選中。,靜態(tài)MOS存儲器,基本存儲元6管靜態(tài)MOS存儲元 B、存儲元的工作原理 寫操作。在字線上加一個正電壓的字脈沖,使T2 、T3 管導通。若要寫“0”,無論該位存儲元電路原存何種狀態(tài),只需使寫“0”的位線BS0 電壓降為地電位(加負電壓的位脈沖),經(jīng)導通的2 管,迫使節(jié)點的電位等于地電位,就能使1 管截止而0 管導通。寫入1,只需使寫1的位線BS1 降為地電位,經(jīng)導通的T3 管傳給節(jié)點,迫使T0 管截止而T1 管導通。 寫入過程是字線上的字脈沖和位線上的位脈沖相重合的操作過程。,靜態(tài)MOS存儲器,基本存儲元6管靜態(tài)MOS存儲元 B、存儲元的工作原理 讀操作。 只需字線上加高電位的字脈沖,使T2 、T3 管導通,把節(jié)點A、B分別連到位線。若該位存儲電路原存“0”,節(jié)點是低電位,經(jīng)一外加負載而接在位線0 上的外加電源,就會產(chǎn)生一個流入BS0 線的小電流(流向節(jié)點經(jīng)T0 導通管入地)?!?”位線上BS0 就從平時的高電位下降一個很小的電壓,經(jīng)差動放大器檢測出“”信號。 若該位原存“1”,就會在“1”位線BS1 中流入電流,在 BS1 位線上產(chǎn)生電壓降,經(jīng)差動放大器檢測出讀“1”信號。 讀出過程中,位線變成了讀出線。讀取信息不影響觸發(fā)器原來狀態(tài),故讀出是非破壞性的讀出。 若字線不加正脈沖,說明此存儲元沒有選中,T2 ,T3 管截止,A、B結點與位讀出線隔離,存儲元存儲并保存原存信息。,靜態(tài)MOS存儲器,RAM結構與地址譯碼字結構或單譯碼方式 (1)結構: (A) 存儲容量=行b列; (B) 陣列的每一行對應一個字,有一根公用的字選擇線; (C) 每一列對應字線中的一位,有兩根公用的位線BS0 與BS1 。 (D) 存儲器的地址不分組,只用一組地址譯碼器。 (2)字結構是2度存儲器:只需使用具有兩個功能端的基本存儲電路:字線和位線 (3)優(yōu)點:結構簡單,速度快:適用于小容量M (4)缺點:外圍電路多、成本昂貴,結構不合理結構。,靜態(tài)MOS存儲器,靜態(tài)MOS存儲器,RAM結構與地址譯碼位結構或雙譯碼方式 (1) 結構: (A) 容量:N(字)b(位)的RAM,把每個字的同一位組織在一個存儲片上,每片是N1;再把b 片并列連接,組成一個Nb的存儲體,就構成一個位結構的存儲器。 (B) 在每一個N1存儲片中,字數(shù)被當作基本存儲電路的個數(shù)。若把Nn 個基本存儲電路排列成Nx行與Ny列的存儲陣列,把CPU送來的n位選擇地址按行和列兩個方向劃分成nx 和ny 兩組,經(jīng)行和列方 向譯碼器,分別選擇驅動行線與列線。 (C) 采用雙譯碼結構,可以減少選擇線的數(shù)目。 (2)優(yōu):驅動電路節(jié)省,結構合理,適用于大容量存儲器。,靜態(tài)MOS存儲器,靜態(tài)MOS存儲器,用靜態(tài)MOS存儲片組成RAM 位擴展法: 例如:用8的RAM存儲芯片,組成8K8位的存儲器,按8位m1的關系來確定位擴展所需要的芯片數(shù)。共需8片,每一芯片的數(shù)據(jù)線分別接到數(shù)據(jù)總線的相應位。 字擴展法: 字擴展:字向擴展而位數(shù)不變,將芯片的地址線、數(shù)據(jù)線、讀寫控制線并聯(lián),而由片選信號來區(qū)分各片地址。 例如:用16k8位的芯片采用字擴展法組成64k8位的存儲器:4個芯片。 地址分配:地址總線低位地址A0A13與各芯片的14位地址端相連,而高兩位的地址A14、A15經(jīng)2:4譯碼器和4個芯片的片選端CE相連。,靜態(tài)MOS存儲器,用靜態(tài)MOS存儲片組成RAM 字位同時擴展法: 一個存儲器的容量假定為MN位,若使用lk位的芯片(lM,kN)需要在字向和位向同時進行擴展。此時共需要(Ml)(Nk)個存儲器芯片。 其中,Ml表示把MN的空間分成(Ml)個部分(稱為頁或區(qū)),每頁(Nk)個芯片。 地址分配: (A)用log2 l位表示低位地址:用來選擇訪問頁內(nèi)的l個字 (B) 用log2(Ml)位表示高位地址:用來經(jīng)片選譯碼器產(chǎn)生片選信號。,CPU對存儲器進行讀/寫操作,首先由地址總線給出地址信號,然后要對存儲器發(fā)出讀操作或寫操作的控制信號,最后在數(shù)據(jù)總線上進行信息交流。所以,存儲器與CPU之間,要完成: 地址線的連接; 數(shù)據(jù)線的連接; 控制線的連接。 存儲器芯片的容量是有限的,為了滿足實際存儲器的容量要求,需要對存儲器進行擴展。,存儲器與CPU連接,位擴展法:只加長每個存儲單元的字長,而不增加存儲單元的數(shù)量,演示,字擴展法:僅增加存儲單元的數(shù)量,而各單元的位數(shù)不變,演示,字位同時擴展法:既增加存儲單元的數(shù)量,也加長各單元的位數(shù),存儲器系統(tǒng)的存儲容量: MN位 使用芯片的存儲容量:LK位(LM,KN) 需要存儲器芯片個數(shù):(MN)/(LK) 例: 利用2K4位的存儲芯片,組成16K8位的存儲器,共需要多少塊芯片? 解:(16K8)/(2K4)8216 即:共需16塊芯片。(既需要位擴展,又需要字擴展) 又例:利用1K4位的存儲芯片,組成2K8位的存儲器,共需要芯片數(shù): (2K8)/(1K4)= 22=4,字、位同時擴展法:,計算機是一個有嚴格時序控制要求的機器。與CPU連接時,CPU的控制信號與存儲器的讀、寫周期之間的配合問題是非常重要的。 注意: 讀出時間與讀周期是兩個不同的概念。 讀出時間:是指從CPU給出有效地址開始,到外部數(shù)據(jù)總線上穩(wěn)定地出現(xiàn)所讀出的數(shù)據(jù)信息所經(jīng)歷的時間。 讀周期時間:則是指對存儲片進行兩次連續(xù)讀操作時所必須間隔的時間。 顯然總有:讀周期 讀出時間,存儲器的讀、寫周期,靜態(tài) RAM (2114) 讀 時序,靜態(tài) RAM (2114) 寫 時序,動態(tài)MOS存儲器,4管動態(tài)M0S存儲元電路 在6管靜態(tài)存儲元電路中,信息是存于T0,T1管的柵極電容上,由負載管T4 ,T5 經(jīng)外電源給T0 ,T1 管柵極電容不斷地進行充電以補充電容電荷。維持原有信息所需要的電荷量。 由于MOS的柵極電阻很高,柵極電容經(jīng)柵漏(或柵源)極間的泄漏電流很小,在一定的時間內(nèi)(如2ms),存儲的信息電荷可以維持住。為了減少管子以提高集成度。可以去掉補充電荷的負載管和電源,變成4管動態(tài)存儲元:,動態(tài)MOS存儲器,動態(tài)MOS存儲器,4管動態(tài)M0S存儲元電路 寫入操作:當寫入時,字選擇線加入高電平,打開T2 、T3 控制管,將BS0 ,BS1 上的信息存儲在T0 、T1 管的柵極電容上。當T2 、T3 管截止時,靠T0 、T1 管柵極電容的存儲作用,在一定時間內(nèi),(如2ms)可以保留所寫入的信息。 讀出操作:當讀出時,先給出預充信號,于是電源就向位線的寄生電容CD 充電,使它們都達到電源電壓(CD VD ),當字選擇線使T2 、T3 管導通時,存儲的信息通過A、B端向位線輸出。若原存信息為1,則電容C1 上存有電荷,T1 管導通而T0 管截止,因此,位線BS1 的預充電荷經(jīng)T1 管泄漏,位線BS1 有讀出電流流過。經(jīng)讀出放大電路鑒別輸出。與此同時,BS0 上的預充電荷CD 可以通過A點向C1 進行充電。故讀出過程也是刷新過程。 再生操作: “再生”或“刷新”。由于4管存儲元的信息電荷有泄漏,電荷數(shù)不象6管存儲元電路由電源經(jīng)負載管源源不斷地補充,時間一長就會丟失信息。必須設法在外界按一定規(guī)律不斷給柵極進行充電,按需要補足柵極的信息電荷。,動態(tài)MOS存儲器,4管動態(tài)M0S存儲元電路 刷新過程:在字選擇線上加一個脈沖就能實現(xiàn)自動刷新。顯然,只要定時給全部存儲元電路執(zhí)行一遍讀操作,而信息不向外輸出,那么就可以實現(xiàn)動態(tài)存儲器的再生或刷新。,動態(tài)MOS存儲器,單管動態(tài)存儲元: 為了進一步縮小存儲器體積,提高集成度,在大容量動態(tài)存儲器中都采用單管動態(tài)存儲元電路。如圖6.20存儲元由T1和CS構成。 寫入時,字選擇線加高電平,使T1管導通,寫入信息由數(shù)據(jù)線D(位線)存入電容CS中。 讀出時,首先要對數(shù)據(jù)線上的分布電容CD預充電,再加入字脈沖,使1管導通,CS與CD上電荷重新分配以達到平衡。根據(jù)動態(tài)平衡的電荷數(shù)多少來判斷原存信息是或,因此,每次讀出后,存儲內(nèi)容就被破壞。是破壞性讀出,必須采取措施,以便再生原存信息。 動態(tài)MOS隨機存儲芯片的組成大體與靜態(tài)MOS隨機芯片相似,由存儲體和外圍電路組成,但外圍電路由于再生操作要復雜得多。,動態(tài)MOS存儲器,動態(tài)存儲器的刷新(Refresh),刷新的定義和原因 1、定義 定期向電容補充電荷 原因: 動態(tài)存儲器依靠電容電荷存儲信息。平時無電源供電,時間一長電容電荷會瀉放,需定期向電容補充電荷,以保持信息不變。 注意刷新與重寫的區(qū)別 重寫:破壞性讀出后重寫,以恢復原來的信息 刷新:非破壞性讀出的動態(tài)M,需補充電荷以保持原來的信息,2、刷新周期 從上次對整個存儲器刷新結束時刻,到本次對整個存儲器完成全部刷新一遍為止的時間間隔 一般為2ms,4ms或8ms 3、刷新方式:按行讀; 集中式 分散式 異步式,刷新方式,在刷新間隔內(nèi),前段時間進行正常操作,不刷新;需要刷新時,暫停讀/寫周期,集中刷新整個存儲器 由于刷新集中進行,會造成芯片“死時間”過長;因為芯片在刷新過程中,禁止了正常的讀/寫操作,把一個存儲周期分為兩半,前半段時間用來讀/寫操作或維持信息,后半段時間作為刷新操作時間 加長了系統(tǒng)周期,刷新過于頻繁,前兩種方式的結合,把刷新操作平均分散到整個刷新周期(PC機采用的刷新方式) 例如:將6116芯片在2ms內(nèi)分散地把128行刷新一遍 2000s128 =15.625 s 15.5 s 即每隔15.5 s刷新一行,說明1M1位(5122048) DRAM芯片的刷新方法,刷新周期定為8ms,【解】逐行進行刷新 512行,每行2048個存儲元同時進行刷新,整個芯片在8ms內(nèi)進行512次刷新操作 集中刷新 在8ms中某個時間段,連續(xù)進行512次刷新操作 “死時間”:t0=512 T (T為存儲器讀寫周期) 異步刷新 8ms分成512個時間段,每隔8ms51215.625s 對芯片刷新一次(一行),消除長時間的“死時間”,DRAM存儲器的刷新需要有硬件電路的支持,包括刷新計數(shù)器、刷新/訪存裁決、刷新控制邏輯等。這些控制線路形成DRAM控制器。,存儲器控制電路,1. EDRAM芯片 EDRAM芯片又稱增強型DRAM芯片,它在DRAM芯片上集成了一個SRAM實現(xiàn)的小容量高速緩沖存儲器,從而使DRAM芯片的性能得到顯著改進 2.EDRAM內(nèi)存條 一片EDRAM的容量為1M4位,8片這樣的芯片(位擴展)可組成1M32位的存儲模塊。 當某模塊被選中,此模塊的8個EDRAM芯片同時動作,8個4位數(shù)據(jù)端口D3D0同時與32位數(shù)據(jù)總線交換數(shù)據(jù),完成一次32位字的存取,3.2.4 高性能的主存儲器,系統(tǒng)RAM區(qū) 地址最低端的640KB空間 由DOS進行管理 顯示RAM區(qū) 128KB主存空間保留給顯示緩沖存儲區(qū) 顯示RAM區(qū)并沒有被完全使用 擴展ROM區(qū) I/O接口電路卡上的ROM 系統(tǒng)ROM區(qū) ROM-BIOS程序,PC機最低1MB主存,示意圖,ROM芯片的類型,MROM(掩膜ROM) 掩膜工藝直接制作 PROM(一次性編程ROM) 允許用戶進行一次性編程 EPROM(可擦除可編程ROM) 紫外光擦除、并可重復編程的ROM EEPROM(電擦除可編程ROM) 擦除和編程(擦寫)通過加電進行 Flash Memory(閃速存儲器) 新型的電擦除可編程ROM 快速擦除整片或數(shù)據(jù)塊,閃速存儲器是在EPROM功能基礎上增加了芯片的電擦除和重新編程能力 28F256A通過引入一個指令寄存器來實現(xiàn)這種功能。其作用是(7條指令由CPU提供) (1) 保證TTL電平的控制信號輸入; (2) 在擦除和編程過程中穩(wěn)定供電; (3) 最大限度地與EPROM兼容。 28F256A是256K(32k8)容量,除了指令寄存器在內(nèi)的控制和定時邏輯,其余部分與一般半導體存儲器的結構相似,閃速存儲器的工作原理,28F256A 工作模式,Flash Memory,AT29C040A 存儲結構:512K8 有19個地址引腳A18A0 8個數(shù)據(jù)引腳I/O7I/O0 3個控制引腳 片選CS* 輸出允許OE* 寫允許WE* 扇區(qū)(256字節(jié))擦寫 查詢擦寫是否完成,3.4.1 雙端口存儲器 同一個存儲器具有兩組相互獨立的讀寫控制線路,提供了兩個相互獨立的端口,都可以對存儲器中任何位置上的數(shù)據(jù)進行獨立的存取操作 3.4.2 多模塊交叉存儲器 每個模塊各自以等同的方式與CPU傳送信息。 連續(xù)地址分布在相鄰的模塊,對連續(xù)字的成塊傳送可以重疊進行實現(xiàn)流水線并行存取 3.4.3 相聯(lián)存儲器 按內(nèi)容尋址的存儲器 把存儲單元所存內(nèi)容的某一部分作為檢索項,去檢索該存儲器,并對存儲器中與該檢索項符合的存儲單元內(nèi)容進行讀出或寫入,多模塊交叉存儲器,方案一:順序方式 (a) 主存地址被分成高n位和低m位,高位(n)表示模塊號,低位(m位)表示塊內(nèi)地址; (b) 在一個模塊內(nèi),程序是從低位地址連續(xù)存放; (c) 對連續(xù)單元存取,一般僅對一個模塊操作 (d) 特點: 多模塊并行工作 易擴充容量 故障局部性。,多模塊交叉存儲器,多模塊交叉存儲器,方案二:交叉方式 (a) 主存地址被分成高n位和低m位,低位(m位)表示模塊號,高位(n)表示塊內(nèi)地址; (b) 各模塊間采用多模塊交叉編址; (c) 對連續(xù)單元存取,則多個模塊并行工作 (d) 特點: 多模塊并行工作,速度快 不易擴展 故障全局性。,多模塊交叉存儲器,3.4.1 雙端口存儲器 同一個存儲器具有兩組相互獨立的讀寫控制線路,提供了兩個相互獨立的端口,都可以對存儲器中任何位置上的數(shù)據(jù)進行獨立的存取操作 3.4.2 多模塊交叉存儲器 每個模塊各自以等同的方式與CPU傳送信息。 連續(xù)地址分布在相鄰的模塊,對連續(xù)字的成塊傳送可以重疊進行實現(xiàn)流水線并行存取 3.4.3 相聯(lián)存儲器 按內(nèi)容尋址的存儲器 把存儲單元所存內(nèi)容的某一部分作為檢索項,去檢索該存儲器,并對存儲器中與該檢索項符合的存儲單元內(nèi)容進行讀出或寫入,3.5 Cache存儲器,Cache: a safe place for hiding or storing things.,在相對容量較大而速度較慢的主存與高速處理器之間設置的少量但快速的存儲器 主要目的:提高存儲器速度 為追求高速,包括管理在內(nèi)的全部功能由硬件實現(xiàn),3.5.1 Cache基本原理,CPU與cache之間的數(shù)據(jù)交換以字(字節(jié))為單位 Cache與主存間的數(shù)據(jù)傳送以數(shù)據(jù)塊為單位 一個塊(Block)由若干字組成,Cache的讀操作,高速命中(Hit):微處理器讀取主存的內(nèi)容已包含在Cache中,可以直接讀取Cache,不用訪問主存,高速失效(Miss)、缺失、未命中:微處理器讀取主存的內(nèi)容不在Cache中,需要訪問主存讀取一個數(shù)據(jù)塊,Cache的工作原理,1、Cache以塊為單位進行操作 2、當CPU發(fā)出訪內(nèi)操作請求后,首先由Cache控制器判斷當前請求的字是否在Cache中,若在,叫命中,否則,不命中 3、 若命中: 若是“讀”請求,則直接對Cache讀,與主存無關 若是“寫”請求: Cache單元與主存單元同時寫(Write through寫) 只更新Cache單元并加標記,移出時修改主存(寫回Copy back) 只寫入主存,并在Cache中加標記,下次從MM讀出,保證正確。 4、未命中時: 若是“讀”請求,則從主存讀出所需字送CPU,且把含該字的一塊送Cache,稱“裝入通過”,若Cache已滿,置換算法; 若是“寫”請求,直接寫入主存。,Cache的命中率,命中率(Hit Rate):高速命中的概率,cache/主存系統(tǒng)的平均訪問時間ta: ta=htc+(1-h)tm tc命中時的cache訪問時間 tm未命中時的主存訪問時間,h命中率 Nccache完成存取的總次數(shù) Nm主存完成存取的總次數(shù),設r=tm/tc表示主存慢于cache的倍率,=,Cache的訪問效率e,【例5】CPU執(zhí)行一段程序時,cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統(tǒng)的效率和平均訪問時間。 【解】 h=Nc/(Nc+Nm)=1900/(1900+100)=0.95 r=tm/tc=250ns/50ns=5 e=1/(r+(1-r)h)=1/(5+(1-5)0.95)=83.3% ta=tc/e=50ns/0.833=60ns 或者,ta=htc+(1-h)tm=60ns,Cache結構,Cache的數(shù)據(jù)塊稱為行(線Line,槽Slot) 用Li表示,其中i=0,1,m-1,共有m=2r行 主存的數(shù)據(jù)塊稱為塊(Block) 用Bj表示,其中j=0,1,n-1,共有n=2s塊 行與塊是等長的,包含k=2w個主存字 字是CPU每次訪問存儲器時可存取的最小單位 Cache由數(shù)據(jù)存儲器和標簽存儲器組成 數(shù)據(jù)存儲器:高速緩存主存數(shù)據(jù) 標簽存儲器:保存數(shù)據(jù)所在主存的地址信息,3.5.2 主存與Cache的地址映射,Cache通過地址映射(mapping)的方法確定主存塊與Cache行之間的對應關系,確定一個主存塊應該存放到哪個Cache行中 全相聯(lián)映射(fully associative mapping) 可以將一個主存塊存儲到任意一個Cache行 直接映射(direct mapping) 將一個主存塊存儲到唯一的一個Cache行 組相聯(lián)映射(set associative mapping) 可以將一個主存塊存儲到唯一的一個Cache組中任意一個行,直接映射、2/4/8路組相聯(lián)映射使用較多,全相聯(lián)映射,優(yōu)點:命中率較高,Cache的存儲空間利用率高 缺點:線路復雜,成本高,速度低,直接映射,優(yōu)點:硬件簡單,容易實現(xiàn) 缺點:命中率低, Cache的存儲空間利用率低,組相聯(lián)映射,組間采用直接映射,組內(nèi)為全相聯(lián) 硬件較簡單,速度較快,命中率較高,3.5.3 替換策略,替換問題 新主存塊要進入Cache,決定替換哪個原主存塊 直接映射,只能替換唯一的一個Cache行 全相聯(lián)和組相聯(lián),需要選擇替換策略(算法) 1. 最不常用(LFU: least-frequently used) 替換使用次數(shù)最少的塊 2. 最近最少使用法(LRU: least-recently used) 本指替換近期最少使用的塊,實際實現(xiàn)的是替換最久沒有被使用的塊 3. 隨機法(random) 隨意選擇被替換的塊,不依賴以前的使用情況,LRU替換算法,LRU能較好地反映程序的局部性,因而其命中率較高,但實現(xiàn)的硬件較復雜 2路組相聯(lián):使用一個U位。某個Cache塊被訪問,該塊U位置1;對應塊U位置0。替換U位為0的塊 4/8路組相聯(lián):運用堆棧型算法。最近訪問的塊放上面,最下面存放最久沒有訪問的塊。替換最下面的塊,3.5.4 寫入策略,處理器對Cache讀占大多數(shù),也容易提高速度 寫入Cache有些問題: 確認命中,才可以對Cache塊寫入 寫入的數(shù)據(jù)字數(shù)不定 寫入后可能導致與主存內(nèi)容不一致 寫入策略解決主存內(nèi)容的更新問題,保持正確 直寫法(write through)全寫法 寫入Cache的同時也寫入主存(下一級存儲器) 回寫法(write back)寫回法 只寫入Cache,在被替換時才寫回主存,直寫和回寫的比較,直寫策略 優(yōu)點:簡單可靠 缺點:總線操作頻繁、影響工作速度 解決方法:在Cache與主存間設置一級/多級緩沖器,形成實用的“緩沖直寫”方式,提高速度 回寫策略 優(yōu)點:可以減少寫入主存次數(shù)、提高速度 缺點:硬件結構比較復雜 實現(xiàn)方法:為了表明Cache是否被修改,需要設置一個更新位(update,污染位dirty bit)。替換時只需將被修改的Cache塊內(nèi)容寫入主存,寫未命中的處理方法,寫訪問并不需要Cache塊中所有數(shù)據(jù)。寫未命中時,寫入的數(shù)據(jù)是否還要將其讀回Cache呢? 寫分配法( write allocate,WTWA ) 先把數(shù)據(jù)所在的塊調(diào)入Cache,然后再進行寫入。類似讀失效的方式,也稱fetch on write 不寫分配法( no-write allocate,WTNWA ) 直接把數(shù)據(jù)寫入下一級存儲器,不將相應的塊調(diào)入Cache,也稱write around 直寫策略通常配合不寫分配法,回寫策略一般采用寫分配法,80486的片上Cache,指令和數(shù)據(jù)共用的4路組相聯(lián)Cache結構 8KB容量分成128組,每組有4路,每組每路為一行,每行16個字節(jié)(128位) 每行對應21位標簽,一個有效位 每組中4路對應3位LRU位,用于實現(xiàn)偽LRU替換算法 采用4級緩沖直寫策略,允許6個連續(xù)的寫操作而無等待 寫命未中時,采用不寫分配法,只將數(shù)據(jù)寫入主存,不進行Cache的回填,80486片上Cache的結構,80486片上Cache的偽LRU算法,L1,Pentium的片上Cache,指令和數(shù)據(jù)分離的2路組相聯(lián)Cache結構 指令Cache和數(shù)據(jù)Cache都是8KB,共16KB 8KB容量分成128組,每組2路,每行32個字節(jié) LRU算法,回寫策略(可動態(tài)改變?yōu)橹睂懖呗?,Cache一致性,有了Cache,同一個數(shù)據(jù)會在主存也會在Cache 有了多級Cache,在主存、一級、二級或三級Cache中可能存在同一個數(shù)據(jù)的多個拷貝 多處理器系統(tǒng)存在有多個Cache,同一個數(shù)據(jù)的拷貝份數(shù)會更多 如何保證它們都相同,或者說如何保證程序獲得最新的正確的數(shù)據(jù),就是Cache數(shù)據(jù)的一致性問題,實現(xiàn)Cache一致性的基本方案,軟件方法:由編譯程序和操作系統(tǒng)在編譯時分析代碼,避免共享變量進入Cache 硬件方法:程序運行時動態(tài)處理,對程序員和編譯員透明,稱為Cache一致性協(xié)議(Cache coherence protocol) 目錄(directory):物理主存中共享數(shù)據(jù)的狀態(tài)及相關信息保存在目錄中,通常由中央控制器集中維護 監(jiān)聽(snoopy):各個Cache除保存數(shù)據(jù)拷貝外,也保存數(shù)據(jù)的共享狀態(tài)信息,通過監(jiān)聽總線操作判斷,MESI協(xié)議,商業(yè)化多處理器系統(tǒng)中,Cache塊常利用標簽中額外的2位記錄其數(shù)據(jù)共享的4種狀態(tài):修改(modified)、唯一(exclusive)、共享(shared)和無效(invalid);所以也稱為MESI協(xié)議 修改M:該Cache塊已經(jīng)被修改(與主存不同),而且只在這個Cache中可用 唯一E:該Cache塊與對應主存塊相同,而且不存在于其它Cache中 共享S:該Cache塊與對應主存塊相同,但可能存在于其它Cache中 無效I:該Cache塊包含的數(shù)據(jù)無效,Pentium的L1和L2級Cache數(shù)據(jù)一致性,Pentium采用MESI協(xié)議,配合第一次直寫(write through),以后回寫(write back),實現(xiàn)L1和L2 Cache的數(shù)據(jù)一致,也稱為一次寫(write once),3.6 虛擬存儲器,虛擬存儲器: 在主存-外存層次間 借助于磁盤輔助存儲器實現(xiàn) 由系統(tǒng)軟件和輔助硬件管理 以透明方式提供給用戶 一個比實際主存空間大得多的程序地址空間 作用:擴大主存容量,提高輔存訪問速度,有效管理存儲系統(tǒng),虛擬:利用其他部件實現(xiàn)的本來不存在的事物或屬性 透明:本來存在的事物或屬性,從某種角度看似乎不存在,3.6.1 虛擬存儲器的基本概念,物理地址(實地址):(對應主存物理空間)由CPU地址引腳送出,用于訪問主存的地址 虛擬地址(虛地址):(對應主存邏輯空間)由編譯程序生成的,是程序的邏輯地址 CPU理解虛擬地址,并將其轉換成物理地址,主存-外存層次的基本信息傳送單位 段:按程序邏輯劃分為可變長的塊,稱為段 頁:機械地劃分為大小相同的塊,稱為頁面 段頁:程序按模塊分段,段內(nèi)分頁,段式管理:把主存按段分配的存儲管理方式 優(yōu)點:段的界線分明,段易于編譯、管理、修改和保護,便于多道程序共享 缺點:段的長度各不相同,主存空間分配麻煩 頁式管理:以定長頁面進行存儲管理的方式 優(yōu)點:頁的起點和終點地址固定,方便造頁表,新頁調(diào)入主存也很容易掌握,比段式空間浪費小 缺點:處理、保護和共享都不及段式來得方便 段頁式管理:分段和分頁相結合的存儲管理方式 優(yōu)點:綜合段式和頁式管理方式的特點 缺點:需要多次查表過程,虛擬存儲器的管理,3.6.2 頁式虛擬存儲器,邏輯頁:頁式虛擬存儲系統(tǒng)中,虛擬空間分成頁; 物理頁:主存空間也分成同樣大小的頁。 虛存地址分為兩個字段:高字段為邏輯頁號,低字段為頁內(nèi)行地址。 實存地址也分兩個字段:高字段為物理頁號,低字段為頁內(nèi)行地址。,頁式管理的地址變換:用頁表,快表與慢表,3.6.3 段式虛擬存儲器,段式管理的地址變換:用段表,3.6.4 段頁式虛擬存儲器,3.6.5 替換算法,虛擬存儲器的頁面替換策略和cache的行替換策略有很多相似之處,但有三點顯著不同: 缺頁至少要涉及一次磁盤存取,使系統(tǒng)蒙受的損失要比cache未命中大得多 頁面替換由操作系統(tǒng)軟件實現(xiàn) 頁面替換的選擇余地很大,屬于一個進程的頁面都可替換。 虛擬存儲器的替換策略 多采用近期最少使用(LRU)算法 還有最不經(jīng)常使用(LFU)算法 先進先出(FIFO)算法,奔騰處理器的存儲器地址轉換,3.7 存儲保護,多個程序同時存在于存儲器中,需要保護 存儲區(qū)域保護: 界限保護 頁表和段表保護 鍵式保護 環(huán)狀保護 訪問方式保護: 設置訪問權限:讀R、寫W、執(zhí)行E的組合 特權保護,奔騰處理器的段描述符,段界限(segment limit):用于存儲空間保護 基地址(base address):用于形成物理地址 訪問權字節(jié)(access rights byte):段訪問權限:該段當前是否駐留主存、該段所具有特權層和段類型,用于特權保護,奔騰處理器的頁目錄項和頁表項,P存在位:該頁表或頁面是否在物理存儲器中 A訪問位:頁面進行讀或寫操作時置位 D寫操作位(dirty臟位):頁面進行寫操作時被置位 U/S用戶/管理員位:頁面僅能由管理員層的程序使用,還是用戶層和管理員層的程序均能使用 R/W讀/寫位:指明頁面是只讀的,還是可讀可寫,第3章 存儲系統(tǒng)習題,說明SRAM,DRAM,NVRAM;MROM,OTP-ROM,EPROM,EEPROM,F(xiàn)lash Memory都是什么半導體存儲器? 說明存儲器的分級結構,虛擬存儲器在什么位置、由什么實現(xiàn)? 有一個1024K32位的存儲模塊,它有多少字節(jié)容量?如果用128K8的SRAM芯片組成,需要多少個芯片,每個芯片的地址引腳有多少條? Cache的地址映射、替換策略和寫入策略各用于解決什么問題? 第1題 第9題 第11題,第3章教學要求-1,熟悉存儲系統(tǒng)的分級(層次)結構,掌握存儲訪問的局部性原理 理解存儲容量、存取時間、存取周期、存儲器帶寬的概念 了解SRAM、DRAM和NVRAM的特點 掌握SRAM存儲結構與芯片地址引腳和數(shù)據(jù)引腳的關系 理解位擴展和字擴展的含義和作用,掌握芯片擴展與芯片容量的關系 了解DRAM的行地址和列地址,理解DRAM的刷新操作和方法 了解ROM芯片的類型和各自特點,第3章教學要求-2,掌握Cache的功能和基本原理,掌握命中率、平均訪問時間和訪問效率的計算方法 理解Cache的地址映射的作用,掌握全相聯(lián)、直接和組相聯(lián)映射的原理和特點,熟悉Cache中標記(標簽)的作用 理解替換策略的作用,熟悉LRU、LFU和隨機法 理解Cache的寫操作策略,熟悉直寫法(全寫法)和回寫法(寫回法) 掌握虛擬存儲器的功能、物理地址和虛擬(邏輯)地址的概念 熟悉頁式和段式虛擬存儲器的管理和地址轉換 理解存儲保護,熟悉存儲區(qū)域和訪問方式保護的思想,102,第三章 小結,2019/12/2,第103頁, 本章小結,存儲器兩大功能是存儲(Write)和取出(Read)。對存儲器的三項基本要求是:大容量、高速度和低成本。 各類存儲器具有不同的特點:半導體存儲器速度快、成本較高;磁表面存儲器容量大、成本低但速度慢,無法與CPU高速處理信息的能力匹配。在計算機系統(tǒng)中,通常采用多級存儲器體系結構,即高速緩沖存儲器Cache、主存儲器和外存儲器組成的結構。 提高存儲器速度可以采用許多措施:采用高速器件;采用高速緩沖存儲器Cache;采用多體交叉存儲器;采用相聯(lián)存儲器;加長存儲器字長等。 為了擴大存儲容量,可以采用虛擬存儲器技術。虛擬存儲器是建立在主存和輔存物理結構基礎之上,由附加硬件裝置以及操作系統(tǒng)存儲管理軟件組成的一種存儲體系。虛擬存儲器有頁式、段式、段頁式三類。,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 計算機 組成 原理 第三 課件 白中英版
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.appdesigncorp.com/p-2857027.html