PCI总线传输的终止

(1)由主设备提出的终止
•传输结束
•超时(GNT#信号在内部延时计数器满后仍无效)撤消FRAME#,建立IRDY#,直到TRDY#有效后传输完最后一个数据
(2)由从设备提出的终止
•死锁后重试
•断开(8个时钟周期内从设备不能对主设备做出响应)。发出STOP#信号并保持其有效,直到FRAME#撤消为止。

PCI设备的配置空间

•在系统启动的时候由BIOS代码执行设备配置。一旦即插即用OS(如Windows2000)启动后,控制就传递给OS,OS接管设备管理。
•定义一个PCI总线配置空间的目的在于提供一套适当的配置措施,使之实现完全的设备再定位而无需用户干预安装、配置和引导,并由与设备无关的软件进行系统地址映射。
•所有PCI设备都必须实现PCI协议规定必需的配置寄存器,以便系统加电的时候利用这些寄存器的信息来进行系统配置。对PCI的配置访问实际上就是访问设备的配置寄存器。
图PCI配置空间头区域

PCI配置单元说明

(1)设备识别
•头区域有7个寄存器(字段)用于设备的识别。
(2)设备控制
•表现在命令寄存器为发出和响应PCI总线命令提供了对设备粗略的控制。
(3)设备状态
•状态寄存器用于记录PCI总线有关操作的状态信息。
(4)基址寄存器
•PCI设备的配置空间可以在微处理器决定的地址空间中浮动,以便简化设备的配置过程。系统初始化代码在引导操作系统之前,必须建立一个统一的地址映射关系,以确定系统中有多少存储器和I/O控制器,它们需要占用多少地址空间。当确定这些信息之后,系统初始化代码便可以把I/O控制器映射到合理的地址空间并引导系统。
•为了使这种映射能够做到与相应的设备无关,在配置空间的头区域中安排了一组供映射时使用的基址寄存器。
(5)头区域中其它寄存器
•中断引脚寄存器:8位只读寄存器,指明设备使用了PCI的哪个中断引脚。1代表INTA#,2为 INTB#……
•中断请求线寄存器:8位可读/写寄存器,指明设备的中断引脚和PC机的8259A的哪个中断输入线连。
•Min_Gnt/Max_lat寄存器:Min_Gnt用来指定设备需要多长的突发传输时间。Max_lat用来表示对 PCI总线进行访问的频繁程度。