國嵌攻略 047 MMU功能解析

2022-10-11 11:51:09 字數 972 閱讀 4792

mmu功能解析

1.memory management unit(儲存器管理單元)

2.兩個程序讀取同乙個位址能讀到不同的值。因為程序訪問的是虛擬位址,通過mmu轉換成不同的實體地址。不同的程序通過mmu有不同的對映規則

3.如果mmu沒有工作,那麼在程式中使用的是實體地址。為避免程式實體地址衝突,在系統中會使用虛擬位址

4.mmu最重要的作用就是把虛擬位址轉換成實體地址,其次就是控制訪問許可權

mmu位址轉換

1.在arm核手冊的記憶體管理部分有相關描述

2.mmu把32位的虛擬位址轉換成實體地址,分為兩級轉換。第一級轉換通過translation table完成,第二級轉換分為段頁、粗頁和細頁

3.translation table存放在記憶體中,由工程師建立,並把ttb**換表基位址)寫到cp15的c2暫存器中,告訴mmu轉換表的基位址

4.段頁轉換:

4.1.mmu根據虛擬位址的31~20位作為一級頁表**換表)的索引找到表項。當表項最後兩位為10時,表示二級轉換為段頁轉換。在該表項的31~20位儲存了段頁的物理基位址

4.2.段頁的大小為1mb,段內偏移由虛擬位址19~0位來提供

4.3.段頁轉換的實體地址等於段頁的物理基位址加上段內偏移

5.細頁轉換

5.1.mmu根據虛擬位址的31~20位作為一級頁表**換表)的索引找到表項。當表項最後兩位為11時,表示二級轉換為細頁轉換。在該表項的31~20儲存了細頁頁表的基位址

5.2.通過細頁頁表的基位址找到二級頁表。通過虛擬位址的19-12位找到二級頁表的表項。通過該表項找到物理頁基位址

5.3.物理頁也叫做頁幀,是指把物理記憶體按照1k/4k/64k大小進行劃分。物理頁的偏移由虛擬位址的11-0位來提供

5.4.細頁轉換的實體地址等於物理頁基位址加上頁內偏移

6.mmu工作依賴於一級頁表和二級頁表。段頁轉換有一級頁表**換表);細頁轉換有一級頁表**換頁)和二級頁表(細頁頁表)。這些頁表由工程師來建立

國嵌攻略 111 硬體訪問技術

硬體訪問實質 驅動程式控制裝置,主要是通過訪問裝置內的暫存器來達到控制目的的,因此我們討論如何訪問硬體,就成了如何訪問這些暫存器。訪問流程 1.位址對映 在linux系統中,無論是核心程式還是應用程式,都只能使用虛擬位址,而晶元手冊中給出的硬體暫存器位址或ram位址都是實體地址,無法直接使用。因此我...

國嵌攻略 161 USB匯流排介紹

usb發展史 usb universal serial bus 通用序列匯流排,是一種外部匯流排標準。用於規範電腦與外部裝置的連線和通訊。usb是在1994年底由英特爾 康柏 ibm microsoft等多家公司聯合提出的。自1996年堆出後,已經成功替代了串列埠和並口。成為當今個人電腦和大量智慧型...

國嵌攻略 159 SPI子系統

spi 子系統架構 1.spi core核心 用於連線spi客戶驅動和spi主控制器驅動,並且提供了對應的註冊和登出的介面。2.spi controller driver主控制器驅動 用來驅動spi控制器。3.spi protocol drvier客戶驅動 用來驅動spi裝置 spi控制器驅動分析 ...