PCI协议中的双地址周期命令具体什么含义,在PCI bus是如何呈现的,且C/BE在这两个周期是传送什么
时间: 2024-04-21 14:23:56 浏览: 88
在PCI(Peripheral Component Interconnect)协议中,双地址周期命令(Dual Address Cycle Command)是一种用于访问PCI设备配置空间的特殊命令。
双地址周期命令允许对32位的配置空间进行访问,因为PCI设备的配置空间通常是256字节(32位)。在正常的单地址周期中,只有其中的低11位用于选择配置空间的偏移地址,因此最大只能访问到64字节的配置数据。
当需要访问超过64字节的配置数据时,就需要使用双地址周期命令。这个命令通过两个连续的PCI事务周期来实现。在第一个周期中,低11位用于选择配置空间的偏移地址,高21位用于选择PCI设备的设备号。在第二个周期中,只使用高21位来选择设备号,并读取或写入配置数据。
在PCI总线上,双地址周期命令通过DEVSEL#(Device Select)信号来呈现。当双地址周期命令被发起时,DEVSEL#会在第一个周期中保持激活状态(拉低),以指示PCI设备该处理双地址周期命令。在第二个周期中,DEVSEL#变为非激活状态(高电平),表示数据传输完成。
至于C/BE(Command/Byte Enable)信号,在这两个周期中传送的是命令和字节选择信息。在第一个周期中,C/BE传输命令信息,指示执行读取或写入操作。在第二个周期中,C/BE传输字节选择信息,表示要读取或写入的配置数据位。
总结起来,双地址周期命令允许访问PCI设备配置空间的全部32位数据。通过两个连续的PCI事务周期,使用设备号和偏移地址进行选择和访问。在这两个周期中,DEVSEL#和C/BE信号起到指示和传输命令、数据的作用。