文件名称:PCI总线的中断机制-赛灵思zynq7020芯片技术手册
文件大小:4.96MB
文件格式:PDF
更新时间:2024-06-27 16:35:38
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 设备配置空间的