內存管理單元 (MMU) 的一個重要功能是讓不同的任務能夠獨立地在各自的虛擬內存空間里運行,MMU能夠實現這個特性的本質就是抽象隔離,對不同任務的虛擬地址空間進行重新映射(map)到實際的物理空間。
這都是由硬件自動實現的,并且大部分時候都是對軟件不可見的。
此外,MMU基于頁粒度控制每個內存空間的訪問權限、內存屬性和緩存策略等等。
MMU使不同的任務不用關心其實際使用的物理空間,也就是說程序員可以使用相同且連續的虛擬地址空間,而不會發生沖突,即使實際使用的物理空間非常零碎。
但是,MMU將虛擬地址空間轉化成物理地址空間也并不是完全地對軟件不可見,或者說對程序員不可見,但是對操作系統可見。

配置初始化MMU以正確地管理不同并行任務的地址空間是操作系統的事情。
一般MMU會有一種disable的模式,即不使能MMU,所有虛擬地址都直接映射到相應的物理地址,VA=PA。
如果處理器訪問的虛擬地址并沒有被操作系統分配,這個時候MMU會上報中斷異常,以告知操作系統分配相應的地址空間映射關系,從而讓任務正常地完成?。
審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
處理器
+關注
關注
68文章
20255瀏覽量
252295 -
操作系統
+關注
關注
37文章
7402瀏覽量
129308 -
中斷
+關注
關注
5文章
917瀏覽量
43758 -
MMU
+關注
關注
0文章
92瀏覽量
19220
發布評論請先 登錄
相關推薦
熱點推薦
ARM的內存管理(MMU)是如何實現的?
平板式的地址映射機制對其操作,或需要使用虛擬地址對其進行讀寫;系統中,需引入存儲保護機制,增強系統的安全性。為適應如此復雜的存儲體系要求, ARM 處理器中引入了存儲管理單元來管理存儲系統。一
發表于 10-23 15:29
Arm CoreLink MMU?700系統內存管理單元技術參考手冊
MMU?700是一個系統級內存管理單元(SMMU),用于將輸入地址轉換為輸出地址。此轉換基于MMU
發表于 08-08 07:44
ARM CORELINK?MMU-600AE系統內存管理單元技術參考手冊
MMU-600AE是MMU-600系統級內存管理單元(SMMU)的功能安全(FUSA)變體,可將輸入地址轉換為輸出地址。此轉換基于
發表于 08-09 06:28
ARM系統內存管理單元架構規范SMMU架構2.0版
ARM系統MMU(SMMU)體系結構為存儲器管理單元(MMU)實施提供了靈活的實施框架,具有多個實施定義的選項。
該體系結構可用于系統級的MMU
發表于 08-12 06:25
S3C2410內存管理單元MMU基礎實驗
(11)實驗十一:MMU 在理論上概括或解釋MMU,這不是我能勝任的。我僅基于為了理解本實驗中操作MMU的代碼而對MMU做些說明,現在先簡單地描述虛擬地址(VA)、變換后的虛擬地址(M
發表于 01-01 02:29
?17次下載
ARM存儲管理單元MMU詳解
15.5 存儲管理單元MMU 在創建多任務嵌入式系統時,最好有一個簡單的方式來編寫、裝載及運行各自獨立的任務。目前大多數的嵌入式系統不再使用自己定制的控制系統,而使用操作系統來簡化這個
發表于 10-17 16:24
?4次下載
ARM920T的MMU與Cache介紹
CPU通過地址來訪問內存中的單元,地址有虛擬地址和物理地址之分,如果CPU沒有MMU(Memory Management Unit,內存管理
發表于 03-28 11:05
?14次下載
一文解讀內存管理單元 (MMU)
評論