硬件上必須具有MMU(Memory Manage Unit)其功能有三:1。把虛擬地址變換成物理地址;2??刂拼鎯ζ骺臻g的訪問權限;3。設置緩沖。 有了這個硬件單元的板卡才能夠跑windows CE。uc/os和uclinux沒有引入虛擬地址也就用不著MMU了。
軟件上引入了頁表虛擬存儲管理技術。虛實地址的變換過程實際上就是OS查詢頁表的過程。頁表中存放的是虛擬地址對應的物理地址、訪問權限、緩沖特性等。例如wince下的OEMAddressTable中的虛實映射關系。此外,為了加速查詢,還引入了TLB用以存放常用的頁表。
實現地址映射的思路是:1。分析邏輯地址,包括頁號和頁內偏移地址;2。查找頁表,即物理頁面;3。合成實際物理地址,物理地址=物理頁面*2的N次方+偏移地址。
嵌入式系統采用兩級頁表的方式進行虛實地址變換,這與所用的處理器有關。比如ARM平臺下,有1MB,64KB,4KB,1KB四種頁面大小; X86下則是4KB和4MB。