当前位置: 首页 > 学科分类 > 物理

逻辑地址和物理地址,逻辑地址和物理地址的区别

  • 物理
  • 2026-01-25

逻辑地址和物理地址?物理地址(Physical Address) 是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。如果启用了分页机制,那么线性地址会使用页目录和页表中的项变换成物理地址。如果没有启用分页机制,那么线性地址就直接成为物理地址了。二者的关系如下:只有在Intel实模式下,那么,逻辑地址和物理地址?一起来了解一下吧。

逻辑地址怎么转化为物理地址

区别如下:

逻辑地址: 是指由程序产生的与段相关的偏移地址部分。又称绝对地址。

物理地址:在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址,又叫实际地址或绝对地址。

一、关系:逻辑地址和物理地址相对的。物理地址是唯一的,逻辑地址的相对的。

二、表达方式:

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

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

逻辑地址的产生背景:

追根求源,Intel的8位机8080CPU,数据总线(DB)为8位,地址总线(AB)为16位。那么这个16位地址信息也是要通过8位数据总线来传送,也是要在数据通道中的暂存器,以及在CPU中的寄存器和内存中存放的,但由于AB正好是DB的整数倍,故不会产生矛盾!

但当上升到16位机后,Intel8086/8088CPU的设计由于当年IC集成技术和外封装及引脚技术的限制,不能超过40个引脚。但又感觉到8位机原来的地址寻址能力2^16=64KB太少了,但直接增加到16的整数倍即令AB=32位又是达不到的。

故而只能把AB暂时增加4条成为20条。

逻辑地址又叫什么地址

8086/8088系统中存储器的逻辑地址和物理地址之间的关系如下

定义区别

逻辑地址:是思维性的表示,由段地址和偏移地址联合组成。在8086/8088系统中,由于寄存器最大为16位,因此逻辑地址也是按16位大小存放的。逻辑地址通常表示为“段地址:偏移地址”的形式。

物理地址:是真实存在的唯一地址,用于标识内存中各个单元的单元号。在8086/8088系统中,由于有20条地址线,因此物理地址是20位的,可寻址范围为1M。

范围区别

逻辑地址的范围是64K,因为每个逻辑地址都是16位的。

物理地址的范围是1M,因为物理地址是20位的。

转换关系

物理地址是通过逻辑地址计算得出的。转换公式为:物理地址 = 段地址 × 10H + 偏移地址。这个公式用于将16位的逻辑地址转换为20位的物理地址。

需要注意的是,虽然逻辑地址是16位的,但段地址在乘以16后会扩展到20位的一部分,与16位的偏移地址相加后形成完整的20位物理地址。

综上所述,8086/8088系统中的逻辑地址和物理地址之间存在明确的转换关系,逻辑地址通过特定的计算方式可以转换为物理地址,以便系统能够准确地访问内存中的各个单元。

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

在8086/8088系统中,逻辑地址和物理地址之间存在一种转换关系,具体如下

逻辑地址的组成

逻辑地址是一种思维上的表示形式,由段地址和偏移地址组成。

段地址代表一段内存的起始位置。

偏移地址指向段内的特定位置。

物理地址的定义

物理地址是内存单元在物理存储器中的唯一标识。

8086处理器拥有20条地址线,因此能够寻址2^20个单元,即1M的物理地址范围。

逻辑地址到物理地址的转换

系统使用了一个计算公式来实现逻辑地址到物理地址的转换:物理地址 = 段地址 × 10H + 偏移地址。

这个公式中的“10H”是一个十六进制常数,表示的是16。

地址范围

逻辑地址的范围是2^16,即64K。

物理地址的范围是2^20,即1M。

逻辑地址和物理地址的关系

逻辑地址提供了对内存的高层次访问方式。

物理地址则是内存实际存储位置的精确标识。

通过将段地址和偏移地址进行组合,并使用上述转换公式,可以实现逻辑地址到物理地址的映射,从而有效地管理和访问内存资源。

物理地址和逻辑地址的关系

8086逻辑地址与物理地址的关系及计算方法如下

一、逻辑地址

定义:逻辑地址由段基址和偏移地址组成。在8086 CPU中,段基址是一个16位的值,用于指定内存段的起始地址;偏移地址也是一个16位的值,用于在指定的内存段内定位数据或指令。

表示方法:逻辑地址通常以“段基址:偏移地址”的形式表示。例如,“2000H:1150H”就是一个逻辑地址,其中“2000H”是段基址,“1150H”是偏移地址。

二、物理地址

定义:物理地址是CPU实际访问内存时使用的地址,它是唯一且确定的。在8086 CPU中,物理地址是一个20位的值。

计算方法:物理地址通过将段基址左移4位再加上偏移地址得到。这是因为8086 CPU的内存段大小为16KB,段基址表示的是段的起始地址,而偏移地址则在这个段内定位具体的位置。

示例:对于逻辑地址“2000H:1150H”,其物理地址计算如下:物理地址 =+ 1150H = 20000H + 1150H = 21150H。

什么是逻辑地址

逻辑地址和物理地址是计算机操作系统中的重要概念,二者含义和作用不同。逻辑地址是程序中使用的地址,物理地址是实际的存储地址。

逻辑地址,也称虚拟地址,是程序所使用的地址空间,由程序员或操作系统生成。它是相对于程序起始地址(基址)的偏移量,指向内存中的一段地址空间。在程序执行时,逻辑地址会被翻译成物理地址。例如在编程时,程序员使用的地址就是逻辑地址。

物理地址是内存中真实的地址,由CPU生成,用于访问实际的内存单元。CPU将物理地址传递给内存控制器,通过地址总线传输到内存模块,进而访问实际的存储单元。

在计算机系统里,逻辑地址到物理地址的转换由操作系统中的内存管理单元(MMU)完成。MMU利用页表这一数据结构,把逻辑地址翻译成物理地址。当程序访问内存地址时,CPU先把逻辑地址发送给MMU,MMU依据页表进行转换,并将物理地址传递给内存控制器以访问相应单元。若页表中无该逻辑地址的映射,会发生缺页异常,此时操作系统会把对应的物理页面从硬盘加载到内存,再进行地址映射。

以上就是逻辑地址和物理地址的全部内容,区别如下:逻辑地址: 是指由程序产生的与段相关的偏移地址部分。又称绝对地址。物理地址:在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址,又叫实际地址或绝对地址。一、关系:逻辑地址和物理地址相对的。物理地址是唯一的,内容来源于互联网,信息真伪需自行辨别。如有侵权请联系删除。

猜你喜欢