為什麼出現虛擬位址,這個東西

2021-05-28 11:45:32 字數 317 閱讀 2326

出現虛擬位址,實體地址,對映,這些名詞的根本原因是:

程式是一行一行的往下執行的,當程式執行完後,pc

會自動加1,

然後程式會自動往下執行,所以要求我們的程式要放在連續的位址空間上,

但是呢,這個要求很難達到,根據,「任何問題都可以通過新增乙個層次來解決」這個定論,我們可以這樣,在實體地址和cpu

之間新增乙個虛擬位址層次,當cpu

訪問的時候,他還是一條一條的指令往下走,執行完後,pc+1,

執行嚇一跳指令,但是通過mmu

,cpu

使用的線性的位址就可以放在不真正的線性的實體地址上。

CPU定址?為什麼需要虛擬位址空間?

cpu定址 現代處理器使用的是一種稱為虛擬定址的定址方式。使用虛擬定址,cpu需要將虛擬位址翻譯成實體地址,這樣才能訪問到真實的物理記憶體。實際上完成虛擬位址轉換為實體地址轉換的硬體是cpu中含有乙個被稱為記憶體管理單元的硬體。1.使用者可以訪問任意的記憶體,定址記憶體的每個位元組,這樣容易破壞作業...

程序虛擬位址為什麼是4G大小?

1 建立乙個程序時,作業系統會為該程序分配乙個 4gb 大小的虛擬 程序位址空間。之所以是 4gb 是因為在 32 位的作業系統中,乙個指標長度是 4 位元組 32位 2的32次 方個位址定址能力是從 0x00000000 0xffffffff 即為 4gb 大小的容量。4g 指的是最大的定址空間為...

虛擬位址,邏輯位址,線性位址,實體地址有什麼區別

虛擬位址是由程式產生的由段選擇符和段內偏移位址組成的位址。這兩部分組成的位址並沒有直接訪問物理記憶體,而是要通過分段位址的變換處理後才會對應到相應的物理記憶體位址。邏輯位址指由程式產生的段內偏移位址。有時把邏輯位址當成虛擬位址,兩者並沒有明確的界限。線性位址是指虛擬位址到物理位址變換的中間層,是處理...