逻辑地址,在计算机体系结构中是指应用程序角度看到的内存单元(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