PMMU

PMMU

PMMU又稱作分頁內存管理單元,它是一種負責處理中央處理器(CPU)的內存訪問請求的計算機硬體。

機制


現代的內存管理單元是以頁的方式,分割虛擬地址空間(處理器使用的地址範圍)的;頁的大小是2的n次方,通常為幾KB。地址尾部的n位(頁大小的2的次方數)作為頁內的偏移量保持不變。其餘的地址位(address)為(虛擬)頁號。內存管理單元通常藉助一種叫做轉譯旁觀緩衝區(Translation Lookaside Buffer,縮寫為TLB)的相聯高速緩存(associative cache)來將虛擬頁號轉換為物理頁號。當後備緩衝器中沒有轉換記錄時,則使用一種較慢的機制,其中包括專用硬體(hardware-specific)的數據結構(Data structure)或軟體輔助手段。這個數據結構稱為分頁表,頁表中的數據就叫做頁表項(page table entry,縮寫為PTE)。物理頁號結合頁偏移量便提供出了完整的物理地址。
頁表或轉換後備緩衝器中數據項包括的信息有:一、“臟位”(頁面重寫標誌位)(dirty bit)——表示該頁是否被寫過。二、“存取位”(accessed bit)——表示該頁最後使用於何時,以便於最近最少使用頁面置換演演算法(least recently used page replacement algorithm)的實現。三、哪種進程可以讀寫該頁的信息,例如用戶模式(user mode)進程還是特權模式(supervisor mode)進程。四、該頁是否應被高速緩衝的信息。
有時,TLB或PTE會禁止對虛擬頁的訪問,這可能是因為沒有物理隨機存取存儲器(random access memory)與虛擬頁相關聯。如果是這種情況,MMU將向CPU發出頁錯誤(page fault)的信號。操作系統operating system)將進行處理,也許會嘗試尋找RAM的空白幀,同時建立一個新的PTE將之映射到所請求的虛擬地址。如果沒有空閑的RAM,可能必須關閉一個已經存在的頁面,使用一些替換演演算法,將之保存到磁碟中(這被稱之為頁面調度(paging)。在一些MMU中,PTEs或者TLB也存在一些缺點,在這樣的情況下操作系統將必須釋放空間以供新的映射。

內存管理單元


(英語: memory management unit,縮寫為 MMU),有時稱作 分頁內存管理單元(英語: paged memory management unit,縮寫為 PMMU)。它是一種負責處理中央處理器(CPU)的內存訪問請求的計算機硬體。它的功能包括虛擬地址到物理地址的轉換(即虛擬內存管理)、內存保護、中央處理器高速緩存的控制,在較為簡單的計算機體系結構中,負責匯流排的仲裁以及存儲體切換(bank switching,尤其是在8位的系統上)。