疯狂的石头qsy 发表于 2023-4-28 12:44:46

内存地址空间和物理地址是不是同一个东西?

各位师兄师姐:王爽老师汇编书里面说的:内存地址空间和物理地址是不是同一个东西?如果不是的话有何不同呢?我看了半天有点蒙,求助啊!

isdkz 发表于 2023-4-28 12:46:28

内存地址空间和物理地址并不完全是同一个东西,它们之间有一定的联系,但也有区别。这里简单解释一下它们的概念和区别:

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

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

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

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

总之,内存地址空间和物理地址并不是同一个东西。内存地址空间是程序运行时使用的虚拟地址的集合,而物理地址是计算机硬件实际使用的地址。虚拟地址需要通过内存管理单元(MMU)转换为物理地址,才能在硬件中访问。

疯狂的石头qsy 发表于 2023-4-28 12:56:39

谢谢,太厉害了,请收下我的膝盖{:9_232:}
页: [1]
查看完整版本: 内存地址空间和物理地址是不是同一个东西?