微机原理,逻辑地址,偏移地址,物理地址分别指什么,举个例子

微机原理,逻辑地址,偏移地址,物理地址分别指什么,举个例子,第1张

逻辑地址是在程序中对存储器地握镇址的一种表示方法,由段地址和段内信亏偏移地址两部分组成,如1234H:滑皮神0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。物理地址是8086芯片引线送出的20位地址码,用来指出一个特定的存储单元.

首先我们知道,逻辑地址=段地址:偏移地址

然后进行运算:段地址×16+偏移地址=物理地址(可以理解为段地址末尾补一个零)

举例:逻辑地址是1000H:1000H

那么物理地址为1000H×16+1000H=11000H

拓展知识:

逻辑地址和物理地址的区别是:

逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。判友例如,你在进行C语言指针编程中,可以读取指针变量本身值(& *** 作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物并拍理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段限长内的偏移地址(假定代码段、数据段如果完全一样)。应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是完全透明的,仅由系统编程人员涉及。应用程序员虽然自己可以直接 *** 作内存,那也只能在 *** 作系统给你分配的内存掘蔽槐段 *** 作。

物理地址(Physical Address) 是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。如果启用了分页机制,那么线性地址会使用页目录和页表中的项变换成物理地址。如果没有启用分页机制,那么线性地址就直接成为物理地址了。

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

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

再比如:逻辑地址:1500H先化为2进制 0001 0101 0000 0000

左移四位就是0001 0401 0000 0000 0000,即15000H

若偏移地址为1000H 则物理地址就是16000H


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12421482.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存