對於想理解mmu的軟硬體所有機制的人來說,理解mmu很蛋疼,就和理解網絡卡工作一樣疼!一點點來吧。
首先,『』頁『』是實際物理記憶體管理的基本單位,「頁」的大小和體系結構相關,大多數32位機器支援4kb大小的頁,1g記憶體就被分成262144個頁,64位的一般支援8kb大小的頁。
ucos不支援mmu,linux支援mmu,乙個例子說明:linux的程式是可以在系統執行時加入並執行,程式的編譯和系統的編譯沒有關係,程式自認為擁有全部記憶體,而ucos的程式則需要和ucos系統一起編譯,程式等的位址在編譯的時候就全定好了,就是實際記憶體。
mmu帶來的靈活性可見,複雜性和潛在的不穩定性也可預見了。
mmu的理解(二)
實際cpu在執行某程式時,不會在載入記憶體的程式段中全段隨機亂飛亂跳,而是會在某段時間內集中在程式的某段 中執行。這樣就有mmu換入換出的意義了,mmu將 執行集中段 載入記憶體,而在需要別的段時再載入,而不會出現我以前認為的程式段將頻繁的換入換出反而造成執行緩慢。此外,可執行程式在載入記憶體後,t...
MMU(記憶體管理單元)理解
32位共有2 32 4x230個數,乙個數對應記憶體中乙個位元組,故記憶體中共有4x230b 4g的位址空間 虛擬記憶體各區的儲存內容,如上的記憶體結構圖所示,text 儲存 段 data 儲存資料,定義的變數在此處 heap 堆,由低位址向高位址,malloc的空間在此處 stack 棧,由高位址...
PowerPC的MMU機制(三)
頁表儲存的是虛擬頁號和物理頁號之間的對映關係,其實也就是乙個函式關係,將 24位的 vsid和16 位的頁索引作為引數,通過某種函式關係對映,結果就是實際的物理記憶體中,由於這種對映關係一般通過雜湊函式實現,因此頁表也稱作雜湊表。頁索引為 16位,而頁大小 4k,由此也可見段的大小為 256m 2 ...