PCI总线中断共享的实现

PCI总线中断共享的实现ISA卡的一个重要局限在于中断是独占的,而我们知道计算机的中断号只有16个,系统又用掉了一些,这样当有多块ISA卡要用中断时就会有问题了

PCI总线的中断共享由硬件与软件两部分组成

硬件上,采用电平触发的办法:中断信号在系统一侧用电阻接高,而要产生中断的板卡上利用三极管的集电极将信号拉低

这样不管有几块板产生中断,中断信号都是低;而只有当所有板卡的中断都得到处理后,中断信号才会恢复高电平

软件上,采用中断链的方法:假设系统启动时,发现板卡A用了中断7,就会将中断7对应的内存区指向A卡对应的中断服务程序入口ISR_A;然后系统发现板卡B也用中断7,这时就会将中断7对应的内存区指向ISR_B,同时将ISR_B的结束指向ISR_A

以此类推,就会形成一个中断链

而当有中断发生时,系统跳转到中断7对应的内存,也就是ISR_B

ISR_B就要检查是不是B卡的中断,如果是,要处理,并将板卡上的拉低电路放开;如果不是,则呼叫ISR_A

这样就完成了中断的共享

通过以上讨论,我们不难看出,PCI总线有着极大的的优势

而近年来的市场情况也证实了这一点

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关