虚拟记忆体技术和虚拟定址

虚拟记忆体技术和虚拟定址

ID:27842150

大小:669.51 KB

页数:58页

时间:2018-12-04

虚拟记忆体技术和虚拟定址_第1页
虚拟记忆体技术和虚拟定址_第2页
虚拟记忆体技术和虚拟定址_第3页
虚拟记忆体技术和虚拟定址_第4页
虚拟记忆体技术和虚拟定址_第5页
资源描述:

《虚拟记忆体技术和虚拟定址》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章 虛擬記憶體技術和虛擬定址1虛擬記憶體虛擬記憶體隱藏實體記憶體的底層細節,提供另外一種更方便規劃的記憶環境。虛擬記憶體建造虛擬的空間圖像虛擬記憶體涵蓋各種不同的技術和方法。2虛擬範例:位元組定址還記得:在字組定址的實體記憶體上,把字組定址轉譯成位元組定址,正是虛擬位址的映射觀念。智慧型控制器會負責把字組定址轉譯成位元組定址。3虛擬術語MMU(記憶體管理單元)記憶體的智慧型控制器MMU接受處理器所送出的虛擬位址,再轉換成實體位址(轉換細節通常隱藏在MMU背後)。4虛擬術語(Cont.)虛擬位址虛擬位址非實體(或稱真實)位址目前大部分的處理器使用的位址是虛擬

2、位址,而非實體位址。虛擬空間虛擬空間意指所有虛擬位址的集合可以大於或小於實體空間5多重實體記憶介面許多電腦可以把多個實體記憶體整合到單一虛擬空間。MMU可以延伸出更複雜的記憶體組織比如:整合SRAM和DRAM兩種不同的實體記憶體:(SRAM一個字組四個位元組)(DRAM一個字組八個位元組)可以使用相同的指令,來存取位元組。6涵蓋雙實體記憶介面的虛擬系統7虛擬定址如何提供虛擬空間?比如:記憶體1的位址0到999記憶體2的位址1000到1999只要根據位址編號,MMU就可以知道目標是哪一個實體記憶體,和所使用的存取策略。8雙實體記憶介面的虛擬位址9位址映射位址映射由

3、MMU負責,又稱為位址轉譯。如同之前範例:記憶體1的虛擬位址與實體位址相同,因此直接轉送這些虛擬位址給記憶體1;記憶體2的虛擬位址從1000開始,因此MMU必須在轉送給記憶體2之前,就先把虛擬位址轉譯到真實位址。10執行位址轉譯的執行步驟11避開計算數學計算成本昂貴盡量避開數學計算解決的方法應該是:謹慎地使用2的冪次位元,以最簡單的虛擬位址分割方式,完成必要的位址轉譯。122的冪次範例1000個位元組不是2的冪次方實體記憶體應該改成210=1024位元組最好改成位址0到1023給記憶體1位址1024到2047給記憶體213二進位位址範例以十進位的眼光來看,這些數

4、值似乎不怎麼相似!改以二進位元排列,發現低階位元排列幾乎相同,唯一不同的只有最高階位元。14重點選擇2的冪次虛擬位址可以避開麻煩的算術計算,只要使用最簡單的位元分割,就可以讓MMU選擇到正確的實體記憶體,並執行必要的位址轉譯。15非連續位址連續位址虛擬位址從零開始到最大位址,連續不斷。每一個虛擬位址總是對應一個等效的實體位置。非連續位址實體記憶體都會有其映射的虛擬空間使用者有權選擇記憶體的數量,或省略某些實體記憶體,這表示部分的虛擬位址將無法使用。組合實體位址可能會出現非連續位址造成虛擬空間出現漏洞16非連續位址圖一旦處理器存取到漏洞,將出現錯誤17程式設計師受

5、到的影響虛擬空間可能是連續位址,每個位址會映射到一個實體記憶體的位置;另外,虛擬空間也可能非連續,造成虛擬空間出現一個或多個空洞,一旦處理器嘗試讀寫這些空洞,將因為找不到等效的實體記憶體,而出現錯誤。18虛擬記憶體的動機硬體整合同質性程式規劃便利性支援多重程式程式和資料保護19多重虛擬空間和多重程式執行目標:多重程式執行早期因為記憶體資源的衝突問題,多重程式執行是不可行的。因此,必須有能力防止程式之間彼此的衝突與干擾。技巧:提供各個程式擁有自己的虛擬位址空間,各自獨力互不干擾。20一個實體四個虛擬空間範例21多階層虛擬化MMU可以把多重虛擬位址轉譯到單一實體記憶

6、體。MMU硬體還可以執行其它不同的虛擬化映射,比如:映射到多個實體記憶體把位元組位址轉譯到字組位址。22動態虛擬空間的建立技術基底-界線暫存器區段分頁請求23基底-界限暫存器使用兩個暫存器:基底暫存器和界限暫存器,來界定出虛擬空間的位置。在致能MMU之前,必須先載入數值到這兩個暫存器:基底暫存器儲存實體記憶體的位址,剛好指向虛擬空間的開頭。界限暫存器則儲存整個虛擬空間的大小。24使用基底-界限暫存器的虛擬機制25界限的保護為什麼要多一個界限暫存器呢?答案就是:保護!界限暫存器用來保證:程式不會超過其管轄範圍。為了實現這種保護功能,MMU必須檢查每一個記憶體參考,

7、一旦存取的記憶體位址跳出M,就會發生錯誤。26保護觀念支援多重程式執行的虛擬記憶體必須能夠提供保護,防止程式讀取或改變其它程式所座落的記憶體內容。27區段基底-界限的虛擬技術稱為粗粒映射。另一種稱為細粒映射。典型來看,電腦結構師發現:應用程式內部包含某些程序和呼叫流程,如果整個載入到記憶體時,會佔據許多空間。大部分的應用程式在某個時間點,可能只有一個程序正在執行,顯然載入整個程式,有些浪費!28區段問題細粒映射只有需要這些區塊時,才載入記憶體,不必載入全部程式到記憶體。程式片段可以先放在外部儲存裝置有需求時再載入到記憶體這種策略就是所謂的區段化,而這些程式片段就

8、是區段。區段問題:作業系

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。