日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

内存管理单元MMU学习

發布時間:2025/4/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内存管理单元MMU学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MMU

MMU是Memory Management Unit的縮寫,中文名是內存管理單元,有時稱作分頁內存管理單元(英語:paged memory management unit,縮寫為PMMU)。
它是一種負責處理中央處理器(CPU)的內存訪問請求的計算機硬件。它的功能包括虛擬地址到物理地址的轉換(即虛擬內存管理)、內存保護、中央處理器高速緩存的控制;

內存管理單元通常應用在桌面型計算機或者服務器,通過虛擬存儲器使得計算機可以使用比實際的物理內存更多的存儲空間。同時,內存管理單元還對實際的物理內存進行分割和保護,使得每個軟件任務只能訪問其分配到的內存空間。如果某個任務試圖訪問其他任務的內存空間,內存管理單元將自動產生異常,保護其他任務的程序和數據不受破壞。

基本概念
MMU位于處理器內核和連接高速緩存以及物理存儲器的總線之間。當處理器內核取指令或者存取數據的時候,都會提供一個有效地址(effective address),或者稱為邏輯地址、虛擬地址。應用代碼需要使用存儲空間時,操作系統通過MMU為其分配合適的物理存儲空間。有效地址不需要和系統的實際硬件物理地址相匹配,而是通過MMU將有效地址映射成對應的物理地址,以訪問指令和數據。

每條MMU匹配規則所對應的存儲器的大小定義為頁。通常最小的頁設定為4 KB。

為了加快MMU規則匹配的處理過程,有效地址和實際物理地址的對應表通常保存在一塊單獨的高速緩存中,稱為對應查找表(Translation Lookaside Buffer,TLB),TLB和實際物理存儲器可以同時進行并行的訪問。有效地址的高位作為在TLB進行匹配查找的依據,而有效地址的低位作為頁面內的偏址。

TLB可以包含很多個表項(entry),每個表項對應一個MMU的頁。操作系統或者應用啟動代碼必須正確的初始化TLB的所有表項。當應用程序提供的有效地址正好位于某個TLB表項制定的地址范圍內時,稱為產生了一次TLB命中;如果這個有效地址沒有位于任何一個TLB表項制定的地址范圍內,稱為一個TLB缺失,或者TLB未命中。

========

?以下摘自?Windows內核情景分析 一書;

在CPU的頁面映射機制中,MMU的作用是:
? ? 根據虛擬地址計算出該地址所屬的頁面;
? ? 再根據頁面映射表的起始地址計算出該頁面映射表項所在的物理地址;
? ? 根據物理地址在高速緩存的TLB中尋找該表項的內容;
? ? 如果該表項不在TLB中,就從內存將其內容裝載到TLB中;
? ? 檢查該表項的PA_PRESENT標志位,如果為1就表示映射的目標為某個物理頁面,因而可以訪問這個頁面,但是需要進一步檢查、比較CPU當前對此頁面是否具有所要求的訪問權限,如果權限不夠就使當前指令的執行失敗并產生一次頁面異常;
? ? 如果PA_PRESENT標志位為0,則說明該虛存頁面的映像不在內存中,當前指令的執行因此而失敗,CPU為此產生一次頁面異常,此時相應的異常處理程序應采取相應的措施;

內核的內存管理模塊就是圍繞著MMU的這些功能和要求而設計開發的;? ? ? ??

總結

以上是生活随笔為你收集整理的内存管理单元MMU学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。