在8086里 什么是物理地址,逻辑地址

1个回答

  • 存储器中每一个单元的地址可以用两种方法表示:

    1.逻辑地址:其表达形式为“段地址:段内偏移地址”.

    2.物理地址:CPU与存储器进行数据交换时在地址总线上

    提供的20位地址信息称为物理地址.

    物理地址=段地址×10H+段内偏移量

    CPU一次处理的数据是16位,地址总线实际上代表CPU的寻址能力,地址线为20条那么CPU实际的寻址能力就是2的20次方就是1M.实际的物理地址是这样形成的:

    段地址*10H+偏移地址,偏移地址用IP指向,IP是16位的.

    例如段地址是1234H,偏移地址是4321H

    那么实际的物理地址怎么算呢:1234H*10H+4321H=12340H+4321H=16661H

    实际上可以这么来理解,就是段地址左移一位后加上偏移地址就得出实际的物理地址.

    这里逻辑地址和物理地址的关系又可以用一个比喻来说明:

    比如你的学号是0102,这是你的真实地址亦即物理地址,那么又假如01表示你的班级名称,02表示你相对整个班级的位置,这就是逻辑地址,道理是一样的,只不过在实际由逻辑地址合成物理地址的时候需要将物理地址左移一位,再加上偏移地址.