它们似乎都明确指定了实际内存位置。物理地址和绝对地址有什么区别?
问问题
5536 次
1 回答
11
物理地址(又名真实交易):
物理地址是总线电路在向 RAM 传输数据或从 RAM 传输数据时使用的地址(因此称为“物理地址”)。
它的对应物是“虚拟地址”,即在具有虚拟内存的计算机中,虚拟地址由应用程序使用,并在实际访问 RAM 时转换为物理地址。应用程序只能看到虚拟地址。这意味着应用程序代码中的所有内存引用都指向虚拟地址。
绝对地址:
绝对地址实际上是指应用程序使用的一种寻址模式时使用的术语。因此,在提供虚拟内存的计算机中,这个“绝对地址”也是一个虚拟地址——因为所有应用程序代码都只会引用虚拟地址。其他寻址模式也使用虚拟地址。当然,就像我之前写的,在访问 RAM 时,虚拟地址最终会映射到物理地址。
以下是“绝对地址”与其对应物的不同之处- 其他寻址模式(其中一种是“相对地址”):
Intel JMP
(跳转)指令可以指定“相对跳转”,其中位移是相对于下一条指令的。就像是:
“在下一条指令之前跳转 N 个字节” <- 这是 PC 相对寻址。
或者它可以与绝对地址一起使用,例如:
“跳转到内存中的第 N 个字节” <- 这是绝对寻址。
在这两种情况下, s 引用的地址JMP
都是虚拟地址(以对应用程序透明的方式映射到物理地址)
于 2012-07-05T17:28:11.253 回答