1.採用相聯儲存器後位址轉換過程,用圖表示出來
2.詳述分段管理和分頁管理的區別。
3.p249 習題11
1.採用相聯儲存器後位址轉換過程,用圖表示出來cpu對儲存器的訪問,通常是一次讀寫乙個字單元。當cpu訪cache不命中時,需將儲存在主存中的字單元連同 其後若干個字一同調入cache中,之所以這樣做,是為了使其後的訪存能在cache中命中。因此,主存和cache之間一次交換的資料單位應該是乙個數 據塊。資料塊的大小是固定的,由若干個字組成,且主存和cache的資料塊大小是相同的。
從cache-主存層次實現的目標看,一方面既要使cpu的訪存速度接近於訪cache的速度,另一方面為使用者程 序提供的執行空間應保持為主存容量大小的儲存空間。在採用cache-主存層次的系統中,cache對使用者程式而言是透明的,也就是說,使用者程式可以不需 要知道cache的存在。因此,cpu每次訪存時,依然和未使用cache的情況一樣,給出的是乙個主存位址。但在cache-主存層次中,cpu首先訪 問的是cache,並不是主存。為此,需要一種機制將cpu的訪主存位址轉換成訪cache位址。而主存位址與cache位址之間的轉換是與主存塊與 cache塊之間的對映關係緊密聯絡的,也就是說,當cpu訪cache未命中時,需要將欲訪問的字所在主存中的塊調入cache中,按什麼樣的策略調 入,直接影響到主存位址與cache位址的對應關係,這也就是本小節要解決的主存與cache的位址對映問題。
主要有三種位址對映方式,分別為全相聯對映、直接相聯對映和組相聯對映。
1. 全相聯對映
全相聯對映是指主存中任一塊都可以對映到cache中任一塊的方式,也就是說,當主存中的一塊需調入cache時,可根據當時cache的塊占用或分配情況,選擇乙個塊給主存塊儲存,所選的cache塊可以是cache中的任意一塊。例如,設cache共有2c塊,主存共有2m塊,當主存的某一塊j需調進cache中時,它可以存入cache的塊0、塊1、…、塊i、… 或塊2c -1的任意一塊上。如圖4-28所示。
圖4-28全相聯對映方式
其中,c為cache的塊號,w為塊內的字型大小。
主存位址到cache位址的轉換是通過查詢乙個由相聯儲存器實現的塊表來完成的,其形成過程如圖4-29示。
圖4-29全相聯對映的位址轉換
當 乙個主存塊調入cache中時,會同時在乙個儲存主存塊號和cache塊號對映表的相聯儲存器中進行登記。cpu訪存時,首先,根據主存位址中的主存塊號 m在相聯儲存器中查詢cache塊號,若找到,則本次訪cache命中,於是將對應的cache塊號取出,並送訪cache位址的塊號c欄位;緊接著將主 存位址的塊內字型大小w直接送cache位址的塊內字型大小w欄位,從而形成乙個訪cache的位址;最後根據該位址完成對cache單元的訪問.
全相聯對映方式的優點是cache的空間利用率高,但缺點是相聯儲存器龐大,比較電路複雜,因此只適合於小容量的cache之用。
2.詳述分段管理和分頁管理的區別。
分頁系統的缺點
缺點的改進:
①頁表太大?這個缺點用多級頁表來克服了。
②多級頁表速度慢?這個問題用tlb解決了大部分。頁面的來回更換?這個問題用頁面更換演算法解決了。
缺點③:共享困難,雖然理論上我們可以按頁面進行共享,似乎可以!但是呢這根本就是不現實的,因為乙個頁面的內容很可能存在**和資料,即很難使得乙個頁面裡面只包含可共享的內容 或者 不可共享的內容缺點④:乙個程序只能占用乙個虛擬位址空間,這也是分頁系統無法克服的。所以乙個程式的大小最大只能和虛擬位址空間的大小一樣,其所有的內容都必須在這個虛擬位址空間中分布。
但是很多人覺得乙個程式不必要分配多個虛擬位址空間!
那麼我們來看乙個例子:編譯器的工作過程。我們知道在編譯器工作時需要保持多個資料結構:詞法分析樹,常數表,**段,符合表 ,呼叫棧。使用保持多個資料結構並沒有任何問題,
問題出現在:這些資料結構可以獨立的增長和縮小,從而造成了該資料結構所需的記憶體空間的變化。
那麼我們來想怎麼實現在乙個虛擬位址空間內,實現各個資料段的空間的增加和減少???
分段管理系統
定義:分段管理是將乙個程式按照邏輯單元分成多個程式段,每個段使用自己單獨的虛擬位址空間。
5個段占用5個虛擬位址空間。這樣乙個段占用乙個虛擬位址空間,就不會發生空間增長時碰撞到另乙個段的問題。
實現手段:由於分段記憶體管理 和 基本記憶體管理有著類似之處,所以分段也是使用 基址---極限管理模式。
不過這裡使用的是一組 基址—極限對。而對每一對基址極限用於其中一段的管理。
分段管理的乙個重要資料結構就是段表。該錶存放的是虛擬的段號到該段所在記憶體基址的對映。如果乙個段不存在,則段號對應的基址將不存在。
分段的優缺點
優點:1.每個邏輯單元可以獨佔乙個虛擬位址空間,這樣所寫程式的空間大為增長。
2.共享性強。
3.相比於分頁,當對於空間稀疏的程式,分頁仍然需要分配虛擬頁面。而分段不給他分配任何的虛擬空間。
缺點:既然是分段,就存在前面基本記憶體管理的缺點-----外部碎片化 和 乙個段必須全部載入到記憶體上。
3.p249 習題11
答:(1)649
(2)1727
(3)2301
(4)140
(5)1956
分頁儲存管理和分段儲存管理
1.採用相聯儲存器後位址轉換過程,用圖表示出來。答 2.詳述分段管理和分頁管理的區別。答 分段是資訊的邏輯單位,有源程式的邏輯結構及含義所決定,是使用者可見的,段長由使用者根據需要來確定,段起始位址可從任何記憶體位址開始。在分段方式中,源程式 段號 段內位移 經鏈結裝配後仍保持二維 位址 結構,引入...
分頁儲存管理和分段儲存管理
1.採用相聯儲存器後位址轉換過程,用圖表示出來 2.詳述分段管理和分頁管理的區別。分頁管理 分頁儲存管理是將乙個程序的邏輯位址空間分成若干個大小相等的片,稱為頁面或頁,並為各頁加以編號,從0開始,如第0頁 第1頁等。相應地,也把記憶體空間分成與頁面相同大小的若干個儲存塊,稱為 物理 塊或頁框 fra...
分頁儲存管理和分段儲存管理
1.採用相聯儲存器後位址轉換過程,用圖表示出來 2.詳述分段管理和分頁管理的區別。分段管理 是資訊的邏輯單位,由源程式的邏輯結構及含義所決定,是使用者可見的,段長由使用者根據需要來確定,段起始位址可從任何記憶體位址開始。在分段方式中,源程式 段號 段內位移 經鏈結裝配後仍保持二維位址結構,引入目的是...