邏輯地址
![本頁使用了標題或全文手工轉換](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
邏輯地址,在電腦架構中是指應用程式角度看到的主記憶體單元(memory cell)、儲存單元(storage element)、網絡主機(network host)的地址。 邏輯地址往往不同於實體位址(physical address),通過地址翻譯器(address translator)或對映函數可以把邏輯地址轉化為實體位址。
主記憶體邏輯地址
在電腦主記憶體體系結構中,主記憶體管理器件(memory management unit,MMU)把CPU的主記憶體讀取的地址轉譯為主記憶體匯流排(memory bus)使用的實體位址。
在Intel x86硬件環境下,主記憶體邏輯地址是程式角度看到的主記憶體地址。80286之前,分段定址是唯一的主記憶體訪問方式。從80286,特別是80386開始的32位元保護模式下,主記憶體邏輯地址由16位元段選擇符(segment selector)與32位元段內偏移組成。CPU硬件實現把主記憶體邏輯地址翻譯為32位元的主記憶體線性地址(linear address)。主記憶體線性地址再通過分頁機制翻譯為32位元的主記憶體實體位址,之後才能讀寫主記憶體數據。Linux作業系統實際上把上述16位元段地址設為0,從而使得主記憶體邏輯地址與主記憶體線性地址是等價的成為。
參考文獻
- The Intel 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A: System Programming Guide, Part 1