- 1、本文档共86页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
(1)修改(Modified,簡稱M)本cache行中的數據已被修改(與主存的內容不同),僅在本cache中的數據是正確的。(2)排它(Exclusive,簡稱E)本cache行中的數據與主存中的數據相同,但不存在於其他cache中。(3)共用(Shared,簡稱S)本cache行中的數據與主存中的數據相同,且可存在於其他cache中。(4)無效(Invalid,簡稱I)本cache行中的數據無效。當處理器加電或總清(reset)時,所有cache行都處於無效狀態。當新數據寫入無效行時,數據從主存取出,並同時存入L1和L2,此時cache行處於共用狀態。寫入操作的一般過程描述如下:當處理器發出寫入數據到記憶體的命令時,首先查詢cache是否命中,如命中,則根據cache行的狀態進行相應的寫入數據操作,並修改(或保留)原狀態位。L1和L2都設置有4種狀態位,但處理方法不完全相同,情況比較複雜。7.3虛擬記憶體7.3.1代數化簡法虛擬記憶體指的是“主存—輔存”層次,它能使電腦具有輔存的容量,接近於主存的速度和輔存的每位成本。使得程式員可以按比主存大得多的空間來編制程式,即按虛存空間編址。當然,主存實際容量的大小是會影響到系統的工作效率,如果程式過大而主存容量過小,則程式運行速度會明顯下降。1.主存—輔存層次與cache—主存層次的比較這兩種存儲層次有許多相似之處,但也有著重要的區別。首先,主存/cache記憶體的訪問“時間比”較小;每次傳送的基本資訊單元(字塊)也比較小。而輔存/主存的訪問“時間比”就要大得多,每次傳送的基本資訊單元(段或頁面)也很大。從原理角度看,主存—輔存層次和cache—主存層次有很多相似之處。它們採用的地址變換及映像方法和替換策略,從原理上看是相同的。虛擬存儲系統所採取的映像方式同樣有全相聯映像、組相聯映像和直接映像等,替換演算法也多採用LRU演算法。實際上,這些替換演算法和地址映像方式最早應用於虛擬存儲系統中,後來才發展到cache系統中。2.主存—輔存層次資訊傳送單位和存儲管理主存—輔存層次的資訊傳送單位可採用幾種不同的方案:段、頁或段頁。段是利用程式的模組化性質,按照程式的邏輯結構劃分成的多個相對獨立部分。段作為獨立的邏輯單位可以被其他程式段調用,這樣就形成段間連接,產生規模較大的程式。一般用段表來指明各段在主存中的位置,如圖7.12所示。每段都有它的名稱(用戶名稱或數據結構名或段號)、段起點、段長等。段表本身也是主記憶體的一個可再定位段。圖7.12段式管理主存按段分配的存儲管理方式稱為段式管理。其優點是段的分界與程式的自然分界相對應;段的邏輯獨立性使它易於編譯、管理、修改和保護,也便於多道程序共用。其缺點是容易在段間留下許多空餘的零碎存儲空間不好利用,造成浪費。頁式管理系統的資訊傳送單位是定長的頁,主存的物理空間也被劃分為等長的固定區域,稱為頁面。新頁調入主存也很容易掌握,只要有空白頁面就可。可能造成浪費的是程式最後一頁的零頭,它比段式管理系統的空間浪費要小得多。頁式管理系統的缺點正好和段式管理系統相反,由於頁不是邏輯上獨立的實體,所以處理、保護和共用都不及段式來得方便。圖7.13表示某個程式有5頁(邏輯頁號0~4),各頁分別裝入主存不連續的頁面位置,用頁表記錄邏輯頁號及其所對應的實主存頁號,頁表是由操作系統建立的。圖7.13中邏輯頁號0,1,3已分配實主存空間,所以裝入位為1。段式和頁式存儲管理各有其優缺點,可以採用段和頁結合的段頁式存儲管理系統。程式按模組分段,段內再分頁,出入主存仍以頁為資訊傳送單位,用段表和頁表(每段一個頁表)進行兩級管理。圖7.13頁式管理7.3.2頁式虛擬記憶體在頁式虛擬存儲系統中,把虛擬空間分成頁,主存空間也分成同樣大小的頁,稱為實頁或物理頁,而把前者稱為虛頁或邏輯頁。假設虛頁號為0,1,2,…,m,實頁號為0,1,…,l,顯然有ml。由於頁的大小都取2的整數冪個字,所以,頁的起點都落在低位字段為零的地址上。可把虛擬地址分為兩個字段,高位字段為虛頁號,低位字段為頁內字地址。虛擬地址到主存實地址的變換是由頁表來實現的。在頁表中,對應每一個虛存頁號有一個表目,表目內容至少要包含該虛頁所在的主存頁面地址(頁面號),用它作為實(主)存地址的高字段;與虛擬地址的字地址字段相拼接,就產生完整的實主存地址,據此訪問主存。頁式管理的地址變換如圖7.14所示。圖7.14頁式虛擬記憶體結構通常,在頁表的表項中還包括裝入位(有效位)、修改位、替換控制位及其他保護位等組成的控制字。如裝入位為“1”,表示該虛頁已從輔存調入主存;如裝入位為“0”
文档评论(0)