连接两个十六进制地址(PPN 和 VPO),形成一个物理地址

Concatenation of two hex-decimal addresses (PPN and VPO), forming a physical address

我正在阅读有关 MMU 转换的内容以及 CPU 如何执行读取地址字节的加载指令,从而导致它将来自 PTE 的 PPN 与来自虚拟地址的 VPO 连接起来,做一个物理地址。但我不确定这种连接是如何完成的。这是我指的段落:

To begin, the MMU extracts the VPN ( OxOF) from the virtual address and checks with the TLB to see if it has cached a copy of PTE OxOF from some previous memory reference. The TLB extracts the TLB index (Ox03) and the TLB tag (Ox03) from the VPN, hits on a valid match in the second entry of set Ox3, and returns the cached PPN (OxOD) to the MMU. If the TLB had missed, then the MMU would need to fetch the PTE from main memory. However, in this case, we got lucky and had a TLB hit. The MMU now has everything it needs to form the physical address. It does this by concatenating the PPN (OxOD) from the PTE with the VPO (Ox14) from the virtual address, which forms the physical address (Ox354).

但我的问题是,(0x14) 和 (0x0d) 是如何连接的?有人可以告诉我如何完成此操作的步骤吗?

基本上是

(0xf << 6) | 0x14 // 0x3d4

因此,您从 VPO 中取出 6 位,并在其前面加上来自 VPN 的位。