內存管理單元MMU

MMU其實負責的是虛擬地址到實際的物理地址之間的映射,在沒有啓動MMU之前,CPU訪問的都是物理地址,啓動之後,在CPU與實際的物理地址之間就有了從VA,到MVA再到PA的轉換過程,之所以有MMU這個功能,是爲了對實際的物理地址進行擴充,使得CPU能夠訪問的地址範圍變大,也就是說虛擬地址與實際的物理地址之間的轉換關係爲多對一的關係。

虛擬地址與物理地址之間的轉換有兩種方法,第一種是用數學公式進行轉換,寧外一種是用表格存儲虛擬地址對應的物理地址。表格稱之爲頁表,S3C2440最多會用到兩級頁表。頁的大小有3中:大頁(64KB)、小頁(4KB)、極小頁(1KB)。條目稱之爲描述符,段描述符保存段的起始物理地址,大頁描述符保存大頁的起始物理地址,小頁描述符保存小頁的起始物理地址,粗頁表描述符保存二級頁表的物理地址。

MMU的另一個主要的功能是內存的訪問權限檢查,也就是決定了一塊內存是否允許讀,是否允許寫。

如果想要查看擁有虛擬地址之後的程序運行步驟爲:

開始、關閉看門狗、設置棧指針、初始化SDRAM、複製第二部分代碼到SDRAM、設置頁表、啓動MMU、重設棧指針、調到指定地址運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章