鱼C论坛

 找回密码
 立即注册
查看: 1347|回复: 2

[已解决]内存地址空间和物理地址是不是同一个东西?

[复制链接]
发表于 2023-4-28 12:44:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各位师兄师姐:王爽老师汇编书里面说的:内存地址空间和物理地址是不是同一个东西?如果不是的话有何不同呢?我看了半天有点蒙,求助啊!
最佳答案
2023-4-28 12:46:28
内存地址空间和物理地址并不完全是同一个东西,它们之间有一定的联系,但也有区别。这里简单解释一下它们的概念和区别:

1. 内存地址空间:内存地址空间是指在程序中可以访问的一系列地址。在程序运行时,它使用虚拟地址来访问内存。这些虚拟地址的集合就构成了内存地址空间。对于32位系统来说,虚拟地址空间的范围是0到4GB(2^32字节)。对于64位系统来说,虚拟地址空间的范围更大,可以达到2^64字节。

2. 物理地址:物理地址是指计算机硬件内存中实际存在的地址。这些地址是由内存管理单元(MMU)或内存控制器将虚拟地址转换为实际可访问的硬件地址。

这两者之间的主要区别在于:

1. 虚拟地址是程序在运行时使用的地址,而物理地址是计算机硬件实际使用的地址。
2. 虚拟地址空间为每个程序提供了一个独立的地址空间,使得程序相互隔离,避免了不同程序间的地址冲突。而物理地址是所有程序共享的实际内存地址。
3. 虚拟地址到物理地址的转换过程由内存管理单元(MMU)负责,这个过程可以实现内存的动态管理和保护。

总之,内存地址空间和物理地址并不是同一个东西。内存地址空间是程序运行时使用的虚拟地址的集合,而物理地址是计算机硬件实际使用的地址。虚拟地址需要通过内存管理单元(MMU)转换为物理地址,才能在硬件中访问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-28 12:46:28 | 显示全部楼层    本楼为最佳答案   
内存地址空间和物理地址并不完全是同一个东西,它们之间有一定的联系,但也有区别。这里简单解释一下它们的概念和区别:

1. 内存地址空间:内存地址空间是指在程序中可以访问的一系列地址。在程序运行时,它使用虚拟地址来访问内存。这些虚拟地址的集合就构成了内存地址空间。对于32位系统来说,虚拟地址空间的范围是0到4GB(2^32字节)。对于64位系统来说,虚拟地址空间的范围更大,可以达到2^64字节。

2. 物理地址:物理地址是指计算机硬件内存中实际存在的地址。这些地址是由内存管理单元(MMU)或内存控制器将虚拟地址转换为实际可访问的硬件地址。

这两者之间的主要区别在于:

1. 虚拟地址是程序在运行时使用的地址,而物理地址是计算机硬件实际使用的地址。
2. 虚拟地址空间为每个程序提供了一个独立的地址空间,使得程序相互隔离,避免了不同程序间的地址冲突。而物理地址是所有程序共享的实际内存地址。
3. 虚拟地址到物理地址的转换过程由内存管理单元(MMU)负责,这个过程可以实现内存的动态管理和保护。

总之,内存地址空间和物理地址并不是同一个东西。内存地址空间是程序运行时使用的虚拟地址的集合,而物理地址是计算机硬件实际使用的地址。虚拟地址需要通过内存管理单元(MMU)转换为物理地址,才能在硬件中访问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-4-28 12:56:39 | 显示全部楼层
谢谢,太厉害了,请收下我的膝盖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 04:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表