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

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

存储器中每一个单元的地址可以用两种方法表示:
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表示你相对整个班级的位置,这就是逻辑地址,道理是一样的,只不过在实际由逻辑地址合成物理地址的时候需要将物理地址左移一位,再加上偏移地址。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-23
8086是16位的处理器,所以其寻址空间只有2的16此方,总共16位,而在对8086汇编编程的时候,为了扩大cpu对存储器的寻址范围,需要扩大地址,把16位的地址左移形成20位的地址。所以16位的地址是物理地址,20位的地址是逻辑地址。
第2个回答  2008-11-23
是个处理器
第3个回答  2008-11-23
这个问题 不好说清楚 建议lz还是看哈书
相似回答