目录
PCI Express (PCIe) 的 Base Address Registers (BARs) 是一种配置寄存器,用于定义设备的内存或I/O端口地址空间。每个PCIe功能(Function)可以拥有多个BAR,这些BAR用来映射设备的内部资源到系统地址空间中,使得主机可以通过访问这些地址来与设备进行通信。以下是关于PCIe BAR使用规则的详细介绍:
1. BAR数量和类型
- 每个PCIe功能最多支持6个32位BAR(BAR0到BAR5)。根据需要,某些BAR可以被配置为64位。
- 64位BAR由两个连续的32位BAR组成,其中第一个是低32位地址,第二个是高32位地址。因此,如果一个BAR对被配置为64位,则该对中的另一个BAR不能用作独立的32位BAR。
- BAR可以被配置为以下两种类型之一:
- Memory-mapped I/O (MMIO):用于访问设备的内部寄存器或其他内存资源。
- I/O Port:用于访问传统的I/O端口。