PCI总线定义了两类配置请求,一类是Type 00h配置请求,另一类是Type 01h配置请求。PCI总线使用这些配置请求访问PCI总线树上的设备配置空间,包括PCI桥和PCI Agent设备的配置空间。当x86处理器对CONFIG_DATA寄存器进行读写操作时,HOST主桥将决定向PCI总线发送Type 00h配置请求还是Type 01h配置请求。在PCI总线事务的地址周期中,这两种配置请求总线事务的不同反映在PCI总线的AD[31∶0]信号线上。......
2023-10-20
本节首先介绍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所示。
图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所示。
(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总线上。
有关PCI Express体系结构导读的文章
PCI总线定义了两类配置请求,一类是Type 00h配置请求,另一类是Type 01h配置请求。PCI总线使用这些配置请求访问PCI总线树上的设备配置空间,包括PCI桥和PCI Agent设备的配置空间。当x86处理器对CONFIG_DATA寄存器进行读写操作时,HOST主桥将决定向PCI总线发送Type 00h配置请求还是Type 01h配置请求。在PCI总线事务的地址周期中,这两种配置请求总线事务的不同反映在PCI总线的AD[31∶0]信号线上。......
2023-10-20
每个结点都包含一组与管理有关的软件,称为网络管理实体。NMA提供用户接口,根据使用的命令显示管理信息,通过网络向NME发出请求或指令,以便获取有关设备的管理信息,或者改变设备配置。管理客户机与一组网络管理服务器交互作用,共同完成网络功能,称为分布式网络管理。而有些非标准设备,由于不支持当前的网络管理标准,无法实现NME的全部功能。但由于网络管理功能复杂,目前还没有完全支持ISO标准的产品。......
2023-11-25
值得注意的是,在一个处理器系统中,有几个HOST主桥,就有几个PCI总线域。PCI设备通过HOST主桥访问主存储器时,需要与处理器的Cache进行一致性操作,因此在设计HOST主桥时需要重点考虑Cache一致性操作。在HOST主桥中,还含有许多数据缓冲,以支持PCI总线的预读机制。HOST主桥是联系处理器与PCI设备的桥梁。在这棵总线树上的所有PCI设备的配置空间都由HOST主桥通过配置读写总线周期访问。......
2023-10-20
PCI总线提供了INTA#、INTB#、INTC#和INTD#四个中断请求信号,PCI设备借助这些中断请求信号,使用电平触发方式向处理器提交中断请求。PCI设备的这些中断请求信号可以通过某种规则进行线与,之后与中断控制器的中断请求信号线相连。而处理器系统需要预先知道这个规则,以便正确处理来自不同PCI设备的中断请求,这个规则也被称为中断路由表,有关中断路由表的详细描述见第1.4.2节。......
2023-10-20
存储器读写请求TLP的格式如图6-8所示。在存储器读写和I/O读写请求的第3和第4个双字中,存放TLP的32或者64位地址。存储器、I/O和原子操作读写请求使用的TLP头较为类似。此时与这个存储器读请求TLP对应的读完成TLP中不包含有效数据。......
2023-10-20
所定义的键位将被永久保存直至再次被改变为止。即用户定义键位1和用户定义键位2。选取“6、键功能配置”后按ENT或者直接按6进入键功能定义菜单屏幕。仪器出厂时键功能默认位置:第1页:斜距、切换、置角、参数。表14-8 键功能分配操作步骤(续)注:此处的测距定义到键位上后,在测量屏幕中显示为斜距,并可用切换键在这三者之间进行切换。......
2023-08-20
2)掌握VLAN划分的规则。4)学会如何测试VLAN间的连通性。图10-4 VLAN配置实验网络连接图1)按照网络拓扑在机柜中选择一台S3550和一台S2126,完成接线。②在S3550上创建VLAN10、VLAN20。可以看出,在S3550上VLAN10和VLAN20已经启用,但还没有指定端口。3)S2126的配置方法与步骤2完全相同,这里不再列出。注意应当完成以下任务:将设备名改为S2126、创建VLAN10和VLAN20、分别将F0/3和F0/4接口划分至VLAN10和VLAN20。表10-2 VLAN实验验证结果......
2023-11-25
PCIe总线规范将这种“对PCIe设备配置空间”的读写访问方式称为ECAM机制。CPU可以直接对这段特殊的存储器域地址空间进行访问,从而访问PCIe设备的配置空间。使用ECAM机制与使用CONFIG_ADDRESS和CONFIG_DATA这对寄存器,间接访问PCIe设备的配置空间有较大的不同。其中raw_pci_ops函数指针使用0xCF8和0xCFC两个I/O端口寄存器访问PCI总线配置空间,而raw_pci_ext_ops函数使用ECAM方式访问PCI总线配置空间。虽然Montevina平台提供了256MB的PCIe设备使用的配置空间,但是这些空间的实际利用率较低。......
2023-10-20
相关推荐