无知的鸡是原创的。 请注明出处http://blog.csdn.net/lux _ VERITAS/article/details/8288174
PCI总线在设备组织中显示树结构。 pci总线将北桥的主机- pci视为根,且连接到其它pci的设备或桥是总线的子节点,这使得pci总线支持PCI桥并因此能够垂直地生长
典型的PCI总线结构。
每个PCI设备由总线编号、设备编号和功能编号组成的16位标识符表示。 总线编号是设备所在的总线编号,在PCI规范中,每个系统最多可包含255条总线。 设备编号是一条总线上的唯一标识号,在一条总线上最多可悬挂32个设备。 因此,该16位标识符的配置如下:
8~15bit :总线编号、3~7bit :设备编号、0~2bit :功能编号。
程序员设置PCI设备的配置寄存器以与PCI设备进行交互。 具体的PCI设备的配置空间在此不详细说明。
PCI设备扫描过程:
PCI设备的扫描在系统的开机自检阶段完成,IA-32架构主要由BIOS程序负责扫描PCI设备并设置配置寄存器,BIOS提供PCI设备枚举接口用于操作系统调用。
PCI装置和PCI桥(包括PCI-PCI桥、PCI-ISA桥)以形成完整的树结构,其中,以特殊的PCI-PCI桥(HOST-PCI桥)为树的根节点并与其相连接的数据由此可见,整个设备的枚举过程实际上是对PCI桥执行递归调用,标记叶节点,如果是子树,则继续执行枚举算法。
PCI-PCI桥主要有三个属性。
1.Primary Bus :表示此桥所属的根总线
2.Secondary Bus :显示以这座桥为路线的巴士号码
3.Subordinate Bus :表示以该桥为根的子树中最高的总线号码
以图中的实例,“PCI-PCI桥1”的主总线为0,辅总线为1,辅总线为2。
PCI设备的扫描过程首先检测总线0上的设备,并当检测到桥设备时检测到它所基于的所有设备和桥。 重复以上操作,直到扫描了所有设备。