Caching 将虚拟地址转换为物理地址

Caching 将虚拟地址转换为物理地址,caching,memory,virtual-machine,cpu-architecture,cpu-cache,Caching,Memory,Virtual Machine,Cpu Architecture,Cpu Cache,想知道我应该如何处理转换虚拟地址的信息 (0x10002400) 其中包含价值下限(n/2^10) 到物理地址 给出的详细信息是32位地址总线 512 KB物理内存和 内存位置内容的页面大小为32 KB不会影响虚拟到物理地址的转换 您的虚拟地址有8个十六进制值,这表明这是一个32位的虚拟地址。 您的物理内存大小为512KB,这意味着有2^19字节(512*1024字节)。 在这种情况下,虚拟到物理映射涉及将32位地址映射到19位地址。 在您的示例中,页面大小为32KB,

想知道我应该如何处理转换虚拟地址的信息

    (0x10002400)        
其中包含价值下限(n/2^10) 到物理地址

给出的详细信息是32位地址总线 512 KB物理内存和
内存位置内容的页面大小为32 KB不会影响虚拟到物理地址的转换

您的虚拟地址有8个十六进制值,这表明这是一个32位的虚拟地址。 您的物理内存大小为512KB,这意味着有2^19字节(512*1024字节)。 在这种情况下,虚拟到物理映射涉及将32位地址映射到19位地址。 在您的示例中,页面大小为32KB,这意味着有16个物理页面(512/32)。我们需要4位来索引16个物理页面。 从32位虚拟地址,我们使用最后4位索引到物理页。我们可以使用剩余的28位进行比较。 有一个名为“页面表”的结构,它保存这些信息。 这基本上是虚拟地址的前28位(32-4)到前15位(19-4)物理地址的映射

在给定的示例中,虚拟地址为0x10002400。 最后4位由十六进制0表示。因此,指数为0。因此,我们从页面表中获取第0个条目。然后,我们检查页面表中的虚拟标记是否与虚拟标记1000240匹配(注意:最后一个十六进制值被删除)。如果条目中的虚拟标记与1000240匹配,那么我们将使用第0个条目中的物理标记,并通过附加相同的索引(即零)来构造我们的物理地址