首页 理论教育PCI-E体系结构请求配置指南

PCI-E体系结构请求配置指南

【摘要】:本节首先介绍Type 01h配置请求,并从PCI总线使用的信号线的角度上,讲述HOST主桥如何生成Type 01配置请求。在PCI总线中,只有PCI桥能够接收Type 01h配置请求。Type 01h配置请求不能直接发向最终的PCI Agent设备,而只能由PCI桥将其转换为Type01h继续发向其他PCI桥,或者转换为Type 00h配置请求发向PCI Agent设备。CONFIG_ADDRESS寄存器与Type 01h配置请求的对应关系如图2-11所示。

本节首先介绍Type 01h配置请求,并从PCI总线使用的信号线的角度上,讲述HOST主桥如何生成Type 01配置请求。在PCI总线中,只有PCI桥能够接收Type 01h配置请求。Type 01h配置请求不能直接发向最终的PCI Agent设备,而只能由PCI桥将其转换为Type01h继续发向其他PCI桥,或者转换为Type 00h配置请求发向PCI Agent设备。PCI桥还可以将Type 01h配置请求转换为Special Cycle总线事务(HOST主桥也可以实现该功能),本节对这种情况不做介绍。

地址周期中,HOST主桥使用配置读写总线事务,将CONFIG_ADDRESS寄存器的内容复制到PCI总线的AD[31∶0]信号线中。CONFIG_ADDRESS寄存器与Type 01h配置请求的对应关系如图2-11所示。

978-7-111-29822-9-Part01-29.jpg

图2-11 CONFIG_ADDRESS寄存器与Type 01h配置请求的对应关系

从图2-11中可以发现,CONFIG_ADDRESS寄存器的内容基本上是原封不动地复制到PCI总线的AD[31∶0]信号线上的[29]。其中CONFIG_ADDRESS的Enable位不被复制,而AD总线的第0位必须为1,表示当前配置请求是Type 01h。

当PCI总线接收到Type 01配置请求时,将寻找合适的PCI桥[30]接收这个配置信息。如果这个配置请求是直接发向PCI桥下的PCI设备时,PCI桥将接收这个Type 01配置请求,并将其转换为Type 00h配置请求;否则PCI桥将当前Type 01h配置请求原封不动地传递给下一级PCI总线。

如果HOST主桥或者PCI桥发起的是Type 00h配置请求,CONFIG_ADDRESS寄存器与AD[31∶0]的转换如图2-12所示。

978-7-111-29822-9-Part01-30.jpg(www.chuimin.cn)

图2-12 CONFIG_ADDRESS寄存器与Type 00h配置请求的对应关系

此时处理器对CONFIG_DATA寄存器进行读写时,处理器将CONFIG_ADDRESS寄存器中的Function Number和Register Number字段复制到PCI的AD总线的第10~2位;将AD总线的第1~0位赋值为0b00。PCI总线在配置请求总线事务的地址周期根据AD[1∶0]判断当前配置请求是Type 00h还是Type 01h,如果AD[1∶0]等于0b00表示是Type 00h配置请求,如果AD[1∶0]等于0b01表示是Type 01h配置请求。

而AD[31∶11]与CONFIG_ADDRESS的Device Number字段有关,在Type 00h配置请求的地址周期中,AD[31∶11]位有且只有一位为1,其中AD[31∶11]的每一位选通一个PCI设备的配置空间。如第1.2.2节所述,PCI设备配置空间的片选信号是IDSEL,因此AD[31∶11]将与PCI设备的IDSEL信号对应相连。

当以下两种请求之一满足时,HOST主桥或者PCI桥将生成Type 00h配置头,并将其发送到指定的PCI总线上。

(1)CONFIG_ADDRESS寄存器的Bus Number字段为0时,处理器访问CONFIG_DATA寄存器时,HOST主桥将直接向PCI总线0发出Type 00h配置请求。因为与HOST主桥直接相连的PCI总线号为0,此时表示HOST主桥需要访问与其直接相连的PCI设备。

(2)当PCI桥收到Type 01h配置头时,将检查Type 01配置头的Bus Number字段,如果这个Bus Number与PCI桥的Secondary Bus Number相同,则将这个Type 01配置头转换为Type 00h配置头,并发送到该PCI桥的Secondary总线上。