【文件属性】:
文件名称:PCI总线的中断机制-赛灵思zynq7020芯片技术手册
文件大小:4.96MB
文件格式:PDF
更新时间:2021-06-07 22:48:58
PCI,pci
1.4 PCI总线的中断机制
PCI 总线使用 INTA#、INTB#、INTC#和 INTD#信号向处理器发出中断请求。这些中断请
求信号为低电平有效,并与处理器的中断控制器连接。在 PCI 体系结构中,这些中断信号属
于边带信号(Sideband Signals),PCI 总线规范并没有明确规定在一个处理器系统中如何使
用这些信号,因为这些信号对于 PCI 总线是可选信号。PCI 设备还可以使用 MSI 机制向处理
器提交中断请求,而不使用这组中断信号。有关 MSI 机制的详细说明见第8章。
1.4.1 中断信号与中断控制器的连接关系
不同的处理器使用的中断控制器不同,如 x86处理器使用 APIC(Advanced Programmable
Interrupt Controller)中断控制器,而 PowerPC 处理器使用 MPIC(Multiprocessor
Interrupt Controller)中断控制器。这些中断控制器都提供了一些外部中断请求引脚
IRQ_PINx#。外部设备,包括 PCI 设备可以使用这些引脚向处理器提交中断请求。
但是 PCI 总线规范没有规定 PCI 设备的 INTx 信号如何与中断控制器的 IRQ_PINx#信号
相连,这为系统软件的设计带来了一定的困难,为此系统软件使用中断路由表存放 PCI 设备
的 INTx 信号与中断控制器的连接关系。在 x86处理器系统中,BIOS 可以提供这个中断路由
表,而在 PowerPC 处理器中 Firmware 也可以提供这个中断路由表。
在一些简单的嵌入式处理器系统中,Firmware 并没有提供中断路由表,此时系统软件
开发者需要事先了解 PCI 设备的 INTx 信号与中断控制器的连接关系。此时外部设备与中断
控制器的连接关系由硬件设计人员指定。
我们假设在一个处理器系统中,共有3个 PCI 插槽(分别为 PCI 插槽 A、B 和 C),这些 PCI
插槽与中断控制器的 IRQ_PINx 引脚(分别为 IRQW#、IRQX#、IRQY#和 IRQZ#)可以按照图1 5
所示的拓扑结构进行连接。
采用图1 5所示的拓扑结构时,PCI 插槽 A、B、C 的 INTA#、INTB#和 INTC#信号将
分散连接到中断控制器的 IRQW#、IRQX#和 IRQY#信号,而所有 INTD#信号将共享一个 IRQZ#
信号。采用这种连接方式时,整个处理器系统使用的中断请求信号,其负载较为均衡。而且
这种连接方式保证了每一个插槽的 INTA#信号都与一根独立的 IRQx#信号对应,从而提高了
PCI 插槽中断请求的效率。在一个处理器系统中,多数 PCI 设备仅使用 INTA#信号,很少使
用 INTB#和 INTC#信号,而 INTD#信号更是极少使用。在 PCI 总线中,PCI 设备配置空间的