基于PCI总线的中断机制研究设计
1 概述
高性能PC机一般以PCI总线为系统总线。由于PCI总线协议较为复杂,因此在开发PCI扩展卡时常采用专用的PCI接口芯片。常见的PCI接口芯片有AMCC公司的S59XX系列和PLX公司的PLX905X系列,其中PLX9052(文中称为9052)使用广泛。
在应用开发中,常常使用中断作为CPU和外设间交换数据的方式。但由于PCI总线具有即插即用特性,即PCI设备的存储器空间、I/O空间以及中断等资源都是自动配置的,使得CPU访问扩展卡的机制与非即插即用系统有较大的不同,尤其是中断机制比较复杂。
基于9052接口芯片设计的PCI扩展卡若以硬件中断方式和CPU进行数据交换,则其过程可概括为以下四个步骤,参见图1。
① 若连接到9052本地中断输入引脚LINTi[2:1]的外部中断源有效,且9052内部中断使能,则9052的中断输出信号INTA#有效,从而产生PCI中断请求。
② 上电时,初始化软件根据资源使用情况已自动将PCI中断引接到系统中断控制器的某一个中断引脚(IRQi)上,并将该信息写入了9052的配置空间中。用户可通过其配置空间来获取该配置信息。
③ 若IRQi上的中断请求未被屏蔽且级别足够高,则该中断可以通过系统中断控制器向CPU提交请求。
④ 若CPU当前开中断,则响应中断,进入中断服务例程进行数据交换。
因此,用户若要实现PCI扩展卡的中断功能,则不仅需了解高性能PC机的中断结构,还需了解PCI接口芯片的配置空间及中断机制。本文首先介绍高性能PC机的中断结构、9052的配置空间和中断机制,然后给出以中断方式实现CPU和PCI扩展卡间数据交换的程序设计要点。
2 高性能PC机的中断结构
芯片组是主板的灵魂。有些主板的芯片组由北桥和南桥组成。高性能的南桥芯片除涵盖常规南桥功能外,还具有为微机系统服务的I/O接口,如中断控制器、DMA控制器等。为此,本文也称南桥为SIO(System I/O)。不同南桥芯片其集成的中断控制逻辑复杂程度不同、功能也有所扩展,但为保持兼容性,其最低两级的中断控制器仍与原PC/AT微机一致。
2.1 SIO中断控制器
图1所示的"系统中断控制器"即是集成于SIO内部进行中断管理的I/O接口,文中称为SIO中断控制器,其最低两级的结构见图2。每片82C59支持8个中断源,主片的IR2与从片的INTR相连,两片共支持15个可屏蔽中断源,其中,主片的输入源编号为IRQ0~IRQ7,从片的输入源编号为IRQ8~IRQ15。
外部中断源向82C59提出请求后,经片内的判优逻辑判优,若该请求具有当前最优的中断级别,该片就会通过其INTR引脚向上提中断请求。CPU收到请求且当前开中断,则响应中断,进入用户的中断服务例程。
相关文章
- 2024-10-12乳化器内部流场的数值模拟与分析
- 2024-02-02容量计重中管道存留量的计算方法
- 2024-10-28混杂边界轴向运动Timoshenko梁固有频率数值解
- 2022-06-08工业软件产业发展的探索与实践
- 2024-07-23数码相机镜头自检测设计的研究
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。