邏輯地址
外觀
邏輯地址,在計算機體系結構中是指應用程序角度看到的內存單元(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