在深入理解操作系统内存部分时,特别是在了解80x86微处理器时,经常要和三种地址打交道,他们分别是:逻辑地址, 线性地址,和物理地址。
逻辑地址:包含在机器语言指令中,用来指定一个操作数或者一条指令的地址。它促使MS-DOS和windows程序员把程序分成若干段,每一个逻辑地址都由一个段地址和一个偏移量组成,偏移量用来指示从段开始的地方到实际位置的距离。
线性地址:线性地址也称虚拟地址。是一个32位的无符号整数,可以用来表示高达4GB的地址,线性地址通常用十六进制来表示,值从0x0000~0xffff。
物理地址:用于内存芯片内存单元寻址。它从微处理器的地址引脚发送到内存总线上的电信号对应位。物理地址由32位或36位无符号数表示。
内存控制单元(MMU)通过分段单元的硬件电路把逻辑地址转换成线性地址。接着,再由分页单元把逻辑地址转换成物理地址。
如何转换接下篇
阅读(887) | 评论(1) | 转发(0) |