0

这可能是我不理解的非常基本的事情。但是我为此付出了很多努力来寻找答案,但没有任何好处。

在字节寻址机器中,通过使用 32 位,我们可以访问 4GB 内存(2^32 字节)。然后每个字包含 4 个字节,在虚拟到物理映射中,我们有虚拟到物理字映射,其中包括 4 个字节。所以我的问题是,如果我们有 char 变量(char:1byte),我们如何知道哪个字节包含在 4 个字节中?

4

1 回答 1

2

虚拟到物理的映射仅将虚拟地址的上半部分(又名虚拟页号,VPN)更改为物理地址的上半部分(又名页框号,PFN,或物理页号,PPN)。
较低的部分(又名偏移量)保持不变,如果这部分是k位宽,那么它跨越 2 k字节,它们都共享相同的翻译。
这就是为什么我们说映射发生在 4KiB/2MiB/1GiB 边界处。

如果内存是字节可寻址的,则每个字节由(至少)一个定义的唯一地址标识。
因此硬件很容易访问内存中的特定字节。
如上所述,每个地址都在虚拟转换之下。

于 2019-07-11T07:03:31.110 回答