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

湿透了的伟2022-10-04 11:39:541条回答

已提交,审核后显示!提交回复

共1条回复
daofenghan11 共回答了18个问题 | 采纳率100%
存储器中每一个单元的地址可以用两种方法表示:
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年前

相关推荐

8086里逻辑地址表示物理地址问题
8086里逻辑地址表示物理地址问题
关于 段地址 左移4位 加上 偏移地址就是 有点理解不了!
为啥?、
yygy2231年前3
elsa0 共回答了13个问题 | 采纳率92.3%
寻址原理是把1M的空间(这个空间在内存中)分成不同长度,也可以相同长度的段,每段要求首地址(有20位)低4位为0,为什么呢?因为16位的段首址左移4位后就有20位,他就是上面所说的段的首地址.分好段后,每段的20位的首地址又要加16位的偏移地址,这样就得到物理地址