淺嘗輒止75-MMU

CPU如何訪問內(nèi)存?

MMU(Memory Managemant Unit)

很容易想象,CPU可以用物理地址對內(nèi)存訪問,但是實際上這只發(fā)生在剛開機的階段,在那之后CPU就不再直接與內(nèi)存打交道了,而是用虛擬地址通過使用MMU訪問內(nèi)存。既然虛擬地址與物理地址不一樣,那么MMU是怎么在它們之間是怎么轉(zhuǎn)換的呢?

頁表

我理解MMU是一個查表的裝置,什么表?
頁表。
兩個地址的轉(zhuǎn)換關(guān)系就記錄在頁表中,頁表在哪?
也在內(nèi)存中,MMU知道它在主存什么地方。

地址轉(zhuǎn)換

常見的32位機虛擬地址是32位的,在三級頁表結(jié)構(gòu)下,它們分別有如下含義

  • [31:20]是一級索引
    指向一級頁表中的一項,共4096項,每一項都指向一個二級頁表
  • [19:12]二級索引
    指向一級索引指定的一個二級頁表中的一項,共256項,每一項都是一個物理地址的[31:12]
  • [11:0]頁索引
    顧名思義,就是頁內(nèi)的索引,可以定位到字節(jié)

二級頁表項是[31:12],與頁索引[11:0]拼接,就成了物理地址。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 基礎(chǔ)知識 1.1、 基本概念、 功能 馮諾伊曼體系結(jié)構(gòu)1、計算機處理的數(shù)據(jù)和指令一律用二進制數(shù)表示2、順序執(zhí)...
    yunpiao閱讀 5,816評論 1 22
  • 概述 我們都知道一個進程是與其他進程共享CPU和內(nèi)存資源的。正因如此,操作系統(tǒng)需要有一套完善的內(nèi)存管理機制才能防止...
    SylvanasSun閱讀 3,982評論 0 25
  • 本文轉(zhuǎn)載自 https://juejin.im/post/59f8691b51882534af254317 參考:...
    xingdong閱讀 2,893評論 0 3
  • 前段時間看了進程管理,覺得對編程簡直大有裨益,至少對于多線程編程方面,對系統(tǒng)的進程管理有了非常深刻的理解,看來還是...
    KevinCool閱讀 1,266評論 0 1
  • 晚上打開騰訊視頻正準備看BBC的新紀錄片《王朝》,突然發(fā)現(xiàn)推薦列表出現(xiàn)了一直想看但沒看的《悲傷逆流成河》。原本想著...
    紫霂啊閱讀 262評論 0 1

友情鏈接更多精彩內(nèi)容