基于PCI总线的中断机制研究

基于PCI总线的中断机制研究

ID:44815269

大小:58.50 KB

页数:6页

时间:2019-10-29

基于PCI总线的中断机制研究_第1页
基于PCI总线的中断机制研究_第2页
基于PCI总线的中断机制研究_第3页
基于PCI总线的中断机制研究_第4页
基于PCI总线的中断机制研究_第5页
资源描述:

《基于PCI总线的中断机制研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于PCI总线的中断机制研究1 概述   高性能PC机一般以PCI总线为系统总线。由于PCI总线协议较为复杂,因此在开发PCI扩展卡时常采用专用的PCI接口芯片。常见的PCI接口芯片有AMCC公司的S59XX系列和PLX公司的PLX905X系列,其中PLX9052(文中称为9052)使用广泛。   在应用开发中,常常使用中断作为CPU和外设间交换数据的方式。但由于PCI总线具有即插即用特性,即PCI设备的存储器空间、I/O空间以及中断等资源都是自动配置的,使得CPU访问扩展卡的机制与非即插即用系统有较大的不同,尤其是中断机制比较复杂。   基于9052接口

2、芯片设计的PCI扩展卡若以硬件中断方式和CPU进行数据交换,则其过程可概括为以下四个步骤,参见图1。①若连接到9052本地中断输入引脚LINTi[2:1]的外部中断源有效,且9052内部中断使能,则9052的中断输出信号INTA#有效,从而产生PCI中断请求。②上电时,初始化软件根据资源使用情况已自动将PCI中断引接到系统中断控制器的某一个中断引脚(IRQi)上,并将该信息写入了9052的配置空间中。用户可通过其配置空间来获取该配置信息。③若IRQi上的中断请求未被屏蔽且级别足够高,则该中断可以通过系统中断控制器向CPU提交请求。④若CPU当前开中断,则响

3、应中断,进入中断服务例程进行数据交换。   因此,用户若要实现PCI扩展卡的中断功能,则不仅需了解高性能PC机的中断结构,还需了解PCI接口芯片的配置空间及中断机制。芯片组是主板的灵魂。有些主板的芯片组由北桥和南桥组成。高性能的南桥芯片除涵盖常规南桥功能外,还具有为微机系统服务的I/O接口,如中断控制器、DMA控制器等。为此,本文也称南桥为SIO(SystemI/O)。不同南桥芯片其集成的中断控制逻辑复杂程度不同、功能也有所扩展,但为保持兼容性,其最低两级的中断控制器仍与原PC/AT微机一致。2.1SIO中断控制器   图1所示的"系统中断控制器"即是集成

4、于SIO内部进行中断管理的I/O接口,文中称为SIO中断控制器,其最低两级的结构见图2。每片82C59支持8个中断源,主片的IR2与从片的INTR相连,两片共支持15个可屏蔽中断源,其中,主片的输入源编号为IRQ0~IRQ7,从片的输入源编号为IRQ8~IRQ15。   外部中断源向82C59提出请求后,经片内的判优逻辑判优,若该请求具有当前最优的中断级别,该片就会通过其INTR引脚向上提中断请求。CPU收到请求且当前开中断,则响应中断,进入用户的中断服务例程。   集成在SIO内的两个82C59仍具有原82C59的所有寄存器,各寄存器的功能及格式均保持不

5、变,但SIO中断控制器中82C59的许多可选功能已固定,不能通过程序改写。2.2PCI中断如何纳入系统的中断结构   PCI总线上有4条中断请求信号线:INTA#、INTB#、INTC#和INTD#,均为漏极开路且低电平有效(相应的IRQi应编程为电平触发方式)。单功能PCI设备只能使用一条中断线且为INTA#,多功能PCI设备可以按PCI规范的要求使用其它中断线。SIO可将4个PCI中断输入到SIO中,并在上电初始化时根据资源使用情况分别将它们引接到合适的中断源上。这样,PCI中断就可以通过系统的可屏蔽中断请求向CPU提出。3 PLX9052的配置空间和

6、中断机制3.1PCI设备的配置空间[1]   每个PCI设备都有一个配置空间,其每一项称为配置寄存器,每个PCI设备的配置空间都包括头标区。头标区中前16个字节的定义对所有PCI设备都是相同的,位于0Eh处的配置寄存器给出了头标类型,01h用于主桥,00h用于其它PCI设备。00h类型头标区的布局见图3。配置空间是PCI设备的硬件与PCI设备的初始化软件及错误处理软件之间的信息交换区。有了这个信息交换区,PCI设备可以向软件反映其状态和要求,软件可以对PCI设备进行辩识、配置和控制。上电时初始化软件首先读出配置空间中的相关内容,以确定是否已安装PCI扩展卡

7、以及扩展卡所需的I/O空间和MEM空间等信息,然后根据系统的资源状况自动为其配置I/O空间和MEM空间的基地址、扩展卡占用的中断号等参数。当CPU要访问扩展卡上的存储器地址或I/O端口地址时,只需从配置空间中获取相应的基地址再加上地址偏移量即可。3.2PLX9052的配置空间[2]   由于9052头标类型字段已硬编码为0,则其头标区布局与图3所示同。头标区偏移3Ch处为中断线寄存器,其值由系统上电时自动配置,表明9052的中断引脚INTA#连到了系统中断控制器的哪个输入上。通过查询该寄存器,即可了解系统分配给PCI扩展卡的中断号。偏移3Dh处为中断引脚寄

8、存器,其值表明PCI设备使用了哪一个中断引脚,对应关系为:1-IN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。