当内存管理单元使用转换表将逻辑地址转换为物理地址时,物理地址如何映射到 RAM 中的该地址。我的意思是,它如何转到该地址而不是其他地址?特定内存地址是否具有某种将其与其他地址区分开来的独特性?或者 RAM 中的每 2 个字节是否将一个字节存储为地址,另一个字节存储数据?
答案1
是的,每个内存地址(物理和虚拟)都是唯一的 - 一个唯一的数字。通常使用四到八个字节来标识内存地址,这会创建一个称为地址空间的地址范围。当 CPU 架构使用 32 位地址空间时,地址范围为0
。4294967295
当 CPU 架构使用 64 位地址空间时,地址范围0
为18446744073709551615
。
转换表中只存储两个地址,一个是物理内存地址,一个是虚拟内存地址。该地址指向内存中称为页面的大段的第一个字节。该页面的大小通常很大,通常为 4KB,但这不是标准大小。这样,转换表就不必为内存中的每个字节存储一个地址(当内存范围超过 255 字节时,这实际上几乎是不可能的)。