計算機組成原理-白中英編第3章ppt課件_第1頁
計算機組成原理-白中英編第3章ppt課件_第2頁
計算機組成原理-白中英編第3章ppt課件_第3頁
計算機組成原理-白中英編第3章ppt課件_第4頁
計算機組成原理-白中英編第3章ppt課件_第5頁
已閱讀5頁,還剩80頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2020/11/20,1,計算機組成原理,任課教師:宋 梅 北航北海學院軟件與信息工程學院,2,第一章 計算機系統(tǒng)概論 第二章 運算方法和運算器 第三章 存儲系統(tǒng) 第四章 指令系統(tǒng) 第五章 中央處理器 第六章 總線系統(tǒng) 第七章 外圍設備 第八章 輸入輸出系統(tǒng) 第九章 并行組織,目錄,3.1 存儲器概述 3.2 隨機讀寫存儲器 3.3 只讀存儲器和閃速存儲器 3.4 高速存儲器 3.5 cache存儲器 3.6 虛擬存儲器 3.7 存儲保護,第3章 存儲系統(tǒng),3.1 存儲器概述,存儲器是計算機系統(tǒng)中的記憶設備,用來存放程序和數(shù)據(jù)。 一個二進制代碼位是存儲器中最小的存儲單位,稱為一個存儲位或存儲元

2、。 由若干個存儲元組成一個存儲單元,由許多存儲單位組成一個存儲器。,3.1.1 存儲器分類,半導體存儲器:用半導體器件組成的存儲器 磁表面存儲器:用磁性材料做成的存儲器, 按存儲介質分, 按存儲器的讀寫功能分:ROM,RAM 按信息的可保存性分:非永久記憶,永久記憶 按在計算機系統(tǒng)中的作用分:主存、輔存、高速緩存、控制存儲器,3.1.2 存儲器的分級結構,寄存器 微處理器內部的存儲單元 高速緩存(Cache) 完全用硬件實現(xiàn)主存儲器的速度提高 主存儲器 存放當前運行程序和數(shù)據(jù),采用半導體存儲器構成 輔助存儲器 磁記錄或光記錄方式 磁盤或光盤形式存放可讀可寫或只讀內容 以外設方式連接和訪問,示意

3、圖,虛擬存儲器,存儲訪問的局部性原理,分級結構解決存儲器件的容量、速度和價格矛盾 出色效率來源于存儲器訪問的局部性原理: 處理器訪問存儲器時,所訪問的存儲單元在一段時間內都趨向于一個較小的連續(xù)區(qū)域中 空間局部:緊鄰被訪問單元的地方也將被訪問 時間局部:剛被訪問的單元很快將再次被訪問 程序運行過程中,絕大多數(shù)情況都能夠直接從快速的存儲器中獲取指令和讀寫數(shù)據(jù);當需要從慢速的下層存儲器獲取指令或數(shù)據(jù)時,每次都將一個程序段或一個較大數(shù)據(jù)塊讀入上層存儲器,后續(xù)操作就可以直接訪問快速的上層存儲器,3.1.3 主存儲器的技術指標,存儲容量 主存存儲容量:以字節(jié)B(Byte)為基本單位 半導體存儲器芯片:以位

4、b (Bit)為基本單位 存儲容量以2101024規(guī)律表達KB,MB,GB和TB 廠商常以1031000規(guī)律表達KB,MB,GB和TB 存取時間(訪問時間) 發(fā)出讀/寫命令到數(shù)據(jù)傳輸操作完成所經(jīng)歷的時間 存取周期 兩次存儲器訪問所允許的最小時間間隔(單位ns) 存取周期略大于存取時間 存儲器帶寬(數(shù)據(jù)傳輸速率) 單位時間里存儲器所存取的信息量(單位 位/秒),3.2 隨機讀寫存儲器,SRAM(靜態(tài)RAM:Static RAM) 以觸發(fā)器為基本存儲單元 不需要額外的刷新電路 速度快,但集成度低,功耗和價格較高 DRAM(動態(tài)RAM:Dynamic RAM) 以單個MOS管為基本存儲單元 要不斷進

5、行刷新(Refresh)操作 集成度高、價格低、功耗小,但速度較SRAM慢 NVRAM(非易失RAM:Non-Volatile RAM) 帶有后備電池的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*)

6、 芯片被選中有效,數(shù)據(jù)輸出到數(shù)據(jù)引腳 對應存儲器讀MEMR* 寫控制(WE*) 芯片被選中的前提下,若有效,將數(shù)據(jù)寫入 對應存儲器寫MEMW*,SRAM 2114,靜態(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與各芯片的

7、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位表示低位地址:用來選擇訪問頁內的l個字 (B) 用log2(Ml)位表示高位地址:用來經(jīng)片選譯碼器產(chǎn)生片選信號。,CPU對存儲器進行讀/寫操作,首先由地址總線給出地址信號,然后要對存儲器發(fā)出讀操

8、作或寫操作的控制信號,最后在數(shù)據(jù)總線上進行信息交流。所以,存儲器與CPU之間,要完成: 地址線的連接; 數(shù)據(jù)線的連接; 控制線的連接。 存儲器芯片的容量是有限的,為了滿足實際存儲器的容量要求,需要對存儲器進行擴展。,存儲器與CPU連接,位擴展法:只加長每個存儲單元的字長,而不增加存儲單元的數(shù)量,字擴展法:僅增加存儲單元的數(shù)量,而各單元的位數(shù)不變,字位同時擴展法:既增加存儲單元的數(shù)量,也加長各單元的位數(shù),存儲器系統(tǒng)的存儲容量: MN位 使用芯片的存儲容量:LK位(LM,KN) 需要存儲器芯片個數(shù):(MN)/(LK) 例: 利用2K4位的存儲芯片,組成16K8位的存儲器,共需要多少塊芯片? 解:(

9、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 (

10、2114) 讀 時序,靜態(tài) RAM (2114) 寫 時序,3.2.2 DRAM 動態(tài)MOS存儲器,DRAM(Dynamic RAM)即動態(tài)RAM,因為它的集成度高(單片容量可達64M位)、價格便宜且可讀可寫,因此系統(tǒng)內存的主要容量空間是由DRAM構成的。,DRAM的刷新(Refresh),刷新是對動態(tài)存儲元不斷充電的過程 DRAM不進行刷新,存儲的信息會丟失 DRAM內部 有“讀出再生放大電路”的刷新電路 設計有僅行地址有效的刷新周期 每次刷新一行存儲單元 存儲系統(tǒng)的外部刷新控制電路 將刷新行地址同時送達所有DRAM芯片 所有DRAM芯片同時進行一行的刷新 在一定時間間隔內啟動一次刷新(異步

11、刷新) 每次行地址增量,刷新周期 從上次對整個存儲器刷新結束時刻,到本次對整個存儲器完成全部刷新一遍為止的時間間隔 一般為2ms,4ms或8ms 刷新方式 集中式 分散式 異步式,刷新方式,在刷新間隔內,前段時間進行正常操作,不刷新;需要刷新時,暫停讀/寫周期,集中刷新整個存儲器 由于刷新集中進行,會造成芯片“死時間”過長;因為芯片在刷新過程中,禁止了正常的讀/寫操作,把一個存儲周期分為兩半,前半段時間用來讀/寫操作或維持信息,后半段時間作為刷新操作時間 加長了系統(tǒng)周期,刷新過于頻繁,前兩種方式的結合,把刷新操作平均分散到整個刷新周期(PC機采用的刷新方式) 例如:將6116芯片在2ms內分散

12、地把128行刷新一遍 2000s128 =15.625 s 15.5 s 即每隔15.5 s刷新一行,說明1M1位(5122048) DRAM芯片的刷新方法,刷新周期定為8ms,【例】,【解】逐行進行刷新 512行,每行2048個存儲元同時進行刷新,整個芯片在8ms內進行512次刷新操作 集中刷新 在8ms中某個時間段,連續(xù)進行512次刷新操作 “死時間”:t0=512 T (T為存儲器讀寫周期) 異步刷新 8ms分成512個時間段,每隔8ms51215.625s 對芯片刷新一次(一行),消除長時間的“死時間”,DRAM存儲器的刷新需要有硬件電路的支持,包括刷新計數(shù)器、刷新/訪存裁決、刷新控制

13、邏輯等。這些控制線路形成DRAM控制器。,存儲器控制電路,(1)地址多路開關:刷新時需要提供刷新地址,非刷新時需提供讀寫地址,由多路開關進行選擇。 (2)刷新定時器: 定時電路用來提供刷新請求。 (3)刷新地址計數(shù)器:只用RAS信號的刷新操作,需要提供刷新地址計數(shù)器。 (4)仲裁電路:對同時產(chǎn)生的來自CPU的訪問存儲器的請求和來自刷新定時器的刷新請求的優(yōu)先權進行裁定。 (5)定時發(fā)生器:提供行地址選通信號RAS、列地址選通信號CAS和寫信號WE.,3.3.1 系統(tǒng)ROM BIOS ROM(Read Only Memory)即只讀存儲器IC。它的特點是只能讀不能寫,即它存儲的內容不會被改寫,并且

14、關機后也不會丟失。因此ROM被用來存放開機就要首先執(zhí)行的BIOS程序。 BIOS(Basic Input Output System)即基本輸入輸出系統(tǒng),它是微機系統(tǒng)的最基礎程序,它“固化”在主板上的ROM芯片中,加電開機后首先執(zhí)行BIOS,并引導系統(tǒng)進入正常工作狀態(tài)。所謂“固化”是說BIOS程序是以物理的方式保存在ROM芯片中的,即使關機也不會丟失,所以也叫做ROM BIOS。,3.3 ROM存儲器,BIOS程序中包括系統(tǒng)的啟動引導代碼、系統(tǒng)加電自檢程序POST(Power On Self Test)、系統(tǒng)硬件配置程序(BIOS Setup或CMOS Setup)、基本硬件驅動程序(如鍵盤、

15、低分辨率顯示、軟盤、硬盤、通信接口等)以及BIOS的輸入輸出管理程序等。 在微機加電之前,CPU的指令地址指向ROM BIOS的系統(tǒng)啟動引導代碼。加電后,CPU便首先自動執(zhí)行引導代碼,并開始運行BIOS程序,使BIOS獲得系統(tǒng)控制權。BIOS的POST程序根據(jù)CMOS存儲芯片中的硬件配置數(shù)據(jù)逐一檢測CPU、內存、顯示卡、鍵盤、軟盤驅動器和硬盤等,如果各個部分均正常,則引導程序就去引導磁盤操作系統(tǒng)(DOS、Windows等)。,3.3.2 ROM存儲芯片 1PROM PROM(Programmable ROM)即可編程ROM。它允許用戶根據(jù)自己的需要,利用專門的寫ROM設備寫入內容,但只允許寫一

16、次,使用起來仍然不方便。 2EPROM EPROM(Erasable Programmable ROM)即可擦除可編程ROM。它允許用戶根據(jù)自己的需要,利用專門的EPROM寫入器改寫其內容,可以多次改寫,更新程序比較方便。因此在早期的PC機中都使用EPROM作為BIOS程序的存儲器。EPROM的外形見后圖。它可以用紫外線照射擦除存儲數(shù)據(jù),用EPROM編程器進行程序編寫和輸入。,3EEPROM EEPROM或E2PROM(Electrical EPROM)即電可擦除可編程ROM。外形見后圖,目前的主板都使用EEPROM保存BIOS。EEPROM存儲器也叫做閃速存儲器(Flash ROM),簡稱為

17、閃存BIOS。閃存的特點是程序改寫、升級方便,只需在機器運行的正常情況下使用專門的應用程序,將來自廠家或網(wǎng)站上的最新版本的BIOS寫入閃存即可。閃存ROM的擦除條件是加上12V電壓,這可以在主板上用跳線設置成高電壓的擦除寫入狀態(tài)。因此目前主板的BIOS升級是容易而及時的,由此主板可以充分發(fā)揮最佳效能。,顯然閃存BIOS也有致命弱點,它很容易被CIH類的病毒改寫破壞,致使主板癱瘓。為此,在主板上采取了硬件跳線禁止寫閃存BIOS、軟件COMS設置禁止寫閃存BIOS和雙BIOS閃存芯片等保護性措施。,圖 EPROM和EEPROM,3.3.3 ROM BIOS的新特點 ROM BIOS芯片和它在主板上

18、的位置如圖所示。目前的ROM BIOS具有如下一些新的特點: 1目前BIOS程序存儲在閃速存儲器(Flash Memory)中,改寫和升級比較容易。主板上還有專門的跳線來設置閃存BIOS的允許或不允許改寫狀態(tài),以便保護BIOS程序不被病毒破壞。 2不僅能自動檢測硬盤的類型參數(shù),還能自動檢測CPU類型、主頻和工作電壓。也還能自動檢測具有PnP功能的擴展卡,并能為之合理分配系統(tǒng)資源。,3除了用軟盤A、硬盤C啟動操作系統(tǒng)外,還可以用CD-ROM光盤啟動系統(tǒng)。 4支持SMM(Source Management Mode)即電源管理模式,滿足“綠色電腦”的基本要求。它能在主板暫停工作時進入省電狀態(tài),即低

19、功耗運行。 5具有DMI(Desktop Management Interface)即桌面管理接口,用戶可以利用各種支持DMI的工具軟件(如Norton等)查看和修改硬件數(shù)據(jù),可以直接管理硬件配置。 6支持ESCD(Extended System Configuration Data)即擴展系統(tǒng)配置數(shù)據(jù),它包括各擴展卡和集成在主板上的設備的IRQ號、I/O口地址和DMA通道號。在開機完成系統(tǒng)檢測后,屏幕顯示系統(tǒng)硬件配置表,在表中除了顯示上述DMI的數(shù)據(jù)外,還顯示ESCD的數(shù)據(jù)。,ROM BIOS,在選擇一個主板時,要特別注意它配備的BIOS程序的版本、功能和兼容性。 ROM的讀取速度都比較慢,

20、為了提高BIOS讀取速度,ROM BIOS本身提供了將自身程序代碼復制到RAM上執(zhí)行的功能,這叫做映象,即Shadow RAM,可在CMOS Setup中加以設置。,Flash Memory(閃速存儲器) 新型的電擦除可編程ROM 快速擦除整片或數(shù)據(jù)塊 閃速存儲器是在EPROM功能基礎上增加了芯片的電擦除和重新編程能力 閃速存儲器特點: 廉價的高密度 可直接執(zhí)行 固態(tài)性能,3.3.4 閃速存儲器,加速CPU與存儲器之間有效傳輸?shù)拇胧?縮短存儲器讀出時間,或加長存儲器的字長。 采用并行操作的雙端口存儲器。 在CPU和主存儲器之間插入一個高速緩沖存儲器(cache),以縮短讀出時間。 在每個存儲器

21、周期中存取幾個字。,3.4 并行存儲器,3.4.1 雙端口存儲器 同一個存儲器具有兩組相互獨立的讀寫控制線路,提供了兩個相互獨立的端口,都可以對存儲器中任何位置上的數(shù)據(jù)進行獨立的存取操作 因其進行的是并行的獨立操作,因而是一種高速工作的存儲器。 兩個端口的地址不相同時,在兩個端口上進行讀寫操作,一定不會發(fā)生沖突。 當兩個端口同時存取存儲器同一存儲單元時,通過BUSY標志解決沖突問題。,3.4.2 多模塊存儲器,方案一:順序方式 (a) 主存地址被分成高n位和低m位,高位(n)表示模塊號,低位(m位)表示塊內地址; (b) 在一個模塊內,程序是從低位地址連續(xù)存放; (c) 對連續(xù)單元存取,一般僅

22、對一個模塊操作。 (d) 特點: 易擴充容量 故障局部性。 (e) 缺點: 各模塊串行工作,帶寬受到限制。,方案二:交叉方式 (a) 主存地址被分成高n位和低m位,低位(m位)表示模塊號,高位(n)表示塊內地址; (b) 各模塊間采用多模塊交叉編址; (c)對連續(xù)字的成塊傳送可以重疊進行實現(xiàn)流水線并行存取。 (d) 特點: 多模塊并行工作,速度快 不易擴展 故障全局性。,交叉方式多模塊存儲器,3.5Cache存儲器,在相對容量較大而速度較慢的主存與高速處理器(cpu)之間設置的少量但快速的存儲器 主要目的:提高存儲器速度 為追求高速,包括管理在內的全部功能由硬件實現(xiàn),在開機時進入CMOS Se

23、tup的高級設置表,會看到有“Internal Cache”和“External Cache”兩個設置項,其中前一項的內部Cache指的是486或Pentium CPU內建的Cache,常稱為“Level1 Cache”或“L1 Cache”,而后一項的外部Cache指的是CPU外部的主板上的Cache,常稱為“Level2 Cache”或“L2 Cache”。L1 Cache比L2 Cache的效能要高許多,但容量很有限,因此系統(tǒng)必需有L2 Cache來提高系統(tǒng)速度。對386、486和586主板來說,一般都裝有128KB或256KB或512KB的SRAM存儲器芯片構成的Cache。 高速緩存

24、技術也用于圖形加速卡、硬盤、光驅、掃描儀和數(shù)碼相機等高速設備。 Cache的工作原理是:,3.5.1 Cache基本原理,CPU與cache之間的數(shù)據(jù)交換以字(字節(jié))為單位 Cache與主存間的數(shù)據(jù)傳送以數(shù)據(jù)塊為單位 一個塊(Block)由若干字組成,是定長的。,Cache的讀操作,高速命中(Hit):微處理器讀取主存的內容已包含在Cache中,可以直接讀取Cache,不用訪問主存,高速失效(Miss)、缺失、未命中:微處理器讀取主存的內容不在Cache中,需要訪問主存讀取一個數(shù)據(jù)塊,Cache的工作原理,1、Cache以塊為單位進行操作 2、當CPU發(fā)出訪內操作請求后,首先由Cache控制器

25、判斷當前請求的字是否在Cache中,若在,叫命中,否則,不命中 3、若命中: 若是“讀”請求,則直接對Cache讀,與主存無關 若是“寫”請求: Cache單元與主存單元同時寫(Write through寫) 只更新Cache單元并加標記,移出時修改主存(寫回Copy back) 只寫入主存,并在Cache中加標記,下次從MM讀出,保證正確。 4、未命中時: 若是“讀”請求,則從主存讀出所需字送CPU,且把含該字的一塊送Cache,稱“裝入通過”,若Cache已滿,置換算法; 若是“寫”請求,直接寫入主存。,Cache的命中率,命中率(Hit Rate):高速命中的概率,cache/主存系統(tǒng)的

26、平均訪問時間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

27、)=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 主存的數(shù)據(jù)塊稱為塊(Block) 用Bj表示,其中j=0,1,n-1 行與塊是等長的 字是CPU每次訪問存儲器時可存取的最小單位 Cache由數(shù)據(jù)存儲器和標簽存儲器組成 數(shù)據(jù)存儲器:高速緩存主存數(shù)據(jù) 標簽存儲器:保存數(shù)據(jù)所在主存的地址信息,3.5.2 主存與Cache的地址映射,Cache通過地址映射(mapping)的方法確定主存塊與Cache行之間

28、的對應關系,確定一個主存塊應該存放到哪個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)映射,

29、組間采用直接映射,組內為全相聯(lián) 硬件較簡單,速度較快,命中率較高,3.5.3 替換策略,替換問題 新主存塊要進入Cache,決定替換哪個原主存塊 直接映射,只能替換唯一的一個Cache行 全相聯(lián)和組相聯(lián),需要選擇替換策略(算法) 1. 最不常用(LFU: least-frequently used) 替換使用次數(shù)最少的塊,不能嚴格反應近期訪問情況。 2. 最近最少使用法(LRU: least-recently used) 本指替換近期最少使用的塊,實際實現(xiàn)的是替換最久沒有被使用的塊,符合cache工作原理,有較高命中率。 3. 隨機法(random) 隨意選擇被替換的塊,不依賴以前的使用情況。

30、但換出的數(shù)據(jù)很可能馬上又要使用,從而降低了命中率和cache工作效率。,LRU替換算法,LRU能較好地反映程序的局部性,因而其命中率較高,但實現(xiàn)的硬件較復雜 2路組相聯(lián):使用一個二進制位進行標記。 4/8路組相聯(lián):運用堆棧型算法。最近訪問的塊放上面,最下面存放最久沒有訪問的塊。替換最下面的塊,3.5.4 寫入策略,處理器對Cache讀占大多數(shù),也容易提高速度 寫入Cache有些問題: 確認命中,才可以對Cache塊寫入 寫入的數(shù)據(jù)字數(shù)不定 寫入后可能導致與主存內容不一致 寫入策略解決主存內容的更新問題,保持正確 直寫法(write through)全寫法 寫入Cache的同時也寫入主存(下一級

31、存儲器) 回寫法(write back)寫回法 只寫入Cache,在被替換時才寫回主存,直寫和回寫的比較,直寫策略 優(yōu)點:簡單可靠 缺點:總線操作頻繁、影響工作速度 解決方法:在Cache與主存間設置一級/多級緩沖器,形成實用的“緩沖直寫”方式,提高速度 回寫策略 優(yōu)點:可以減少寫入主存次數(shù)、提高速度 缺點:硬件結構比較復雜 實現(xiàn)方法:為了表明Cache是否被修改,需要設置一個更新位(update,污染位dirty bit)。替換時只需將被修改的Cache塊內容寫入主存,寫未命中的處理方法,寫訪問并不需要Cache塊中所有數(shù)據(jù)。寫未命中時,寫入的數(shù)據(jù)是否還要將其讀回Cache呢? 寫分配法(

32、write allocate,WTWA ) 先把數(shù)據(jù)所在的塊調入Cache,然后再進行寫入。類似讀失效的方式,也稱fetch on write 不寫分配法( no-write allocate,WTNWA ) 直接把數(shù)據(jù)寫入下一級存儲器,不將相應的塊調入Cache,也稱write around 直寫策略通常配合不寫分配法,回寫策略一般采用寫分配法,寫一次法,將直寫法與寫回法相結合。 寫命中與寫未命中的處理方法與寫回法基本相同,只是第一次寫命中時要同時寫入主存。,Cache一致性,有了Cache,同一個數(shù)據(jù)會在主存也會在Cache 有了多級Cache,在主存、一級、二級或三級Cache中可能存在

33、同一個數(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)信息,通過

34、監(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ù)無效,3.6 虛擬存儲器,虛擬存儲器: 在主存-外存層次間 借助于磁盤輔助存儲器實現(xiàn) 由系統(tǒng)軟件和輔助硬件管理

35、以透明方式提供給用戶 一個比實際主存空間大得多的程序地址空間 作用:擴大主存容量,提高輔存訪問速度,有效管理存儲系統(tǒng),虛擬:利用其他部件實現(xiàn)的本來不存在的事物或屬性 透明:本來存在的事物或屬性,從某種角度看似乎不存在,3.6.1 虛擬存儲器的基本概念,物理地址(實地址):(對應主存物理空間)由CPU地址引腳送出,用于訪問主存的地址 虛擬地址(虛地址):(對應主存邏輯空間)由編譯程序生成的,是程序的邏輯地址 CPU理解虛擬地址,并將其轉換成物理地址,主存-外存層次的基本信息傳送單位 段:按程序邏輯劃分為可變長的塊,稱為段 頁:機械地劃分為大小相同的塊,稱為頁面 段頁:程序按模塊分段,段內分頁,段

36、式管理:把主存按段分配的存儲管理方式 優(yōu)點:段的界線分明,段易于編譯、管理、修改和保護,便于多道程序共享 缺點:段的長度各不相同,主存空間分配麻煩 頁式管理:以定長頁面進行存儲管理的方式 優(yōu)點:頁的起點和終點地址固定,方便造頁表,新頁調入主存也很容易掌握,比段式空間浪費小 缺點:處理、保護和共享都不及段式來得方便 段頁式管理:分段和分頁相結合的存儲管理方式 優(yōu)點:綜合段式和頁式管理方式的特點 缺點:需要多次查表過程,虛擬存儲器的管理,3.6.2 頁式虛擬存儲器,邏輯頁:頁式虛擬存儲系統(tǒng)中,虛擬空間分成頁; 物理頁:主存空間也分成同樣大小的頁。 虛存地址分為兩個字段:高字段為邏輯頁號,低字段為頁內行地址。 實存地址也分兩個字段:高字段為物理頁號,低字段為頁內行地址。,頁式管理的地址變換:用頁表,快表與慢表,3.6.3 段式虛擬存儲器,段式管理的地址變換:用段表,3.6.4 段頁式虛擬存儲器,3.6.5 替換算法,虛擬存儲器的頁面替換策略和cache的行替換策略有很多相似之處,但有三點顯著不同: 缺頁至少要涉及一次磁盤存取,使系統(tǒng)蒙受的損失要

溫馨提示

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

評論

0/150

提交評論