目录
多段地址映射的实现
在 PCIe 系统中,多段地址映射 是指将一个物理地址范围映射到设备的多个不连续的本地地址段。这种映射方式适用于设备内部资源(如寄存器、DMA 缓冲区等)分布在多个不连续的地址段中的情况。为了实现多段地址映射,ATU(Address Translation Unit)必须能够处理多个不同的翻译表项(Translation Table Entries, TTEs),每个表项定义了一个物理地址范围与本地地址段之间的映射关系。
1. 多段地址映射的需求
许多 PCIe 设备的内部资源并不是连续分布的。例如:
- 控制寄存器 可能位于本地地址
0x1000
到0x1FFF
。 - DMA 缓冲区 可能位于本地地址
0x5000
到0x