fpga_feixiang 发表于 2017-11-1 16:31:58

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总线有着极大的的优势。而近年来的市场情况也证实了这一点。
添加:
1991 年下半年,Intel 公司首先提出了PCI 的概念,并联合IBM、Compaq、AST、HP、DEC 等100 多家公司成立了PCI 集团,其英文全称为:Peripheral Component Interconnect Special Interest Group(外围部件互连专业组),简称PCISIG。PCI 有32 位和64 位两种,32位PCI 有124 引脚,64 位有188 引脚,目前常用的是32 位PCI。32 位PCI 的数据传输率为133MB/s,大大高于ISA。
PCI 总线的主要性能
(1) 支持10 台外设
(2) 总线时钟频率33.3MHz/66MHz
(3) 最大数据传输速率133MB/s
(4) 时钟同步方式
(5) 与CPU 及时钟频率无关
(6) 总线宽度 32 位(5V)/64 位(3.3V)
(7) 能自动识别外设

4798345 发表于 2017-11-1 17:14:08

感谢楼主辛勤分享

zhangyukun 发表于 2017-11-2 09:28:54

PCI中断共享的实现

芙蓉王 发表于 2017-11-2 12:00:08

感谢楼主分享

zxopenljx 发表于 4 天前

PCI中断共享的实现
页: [1]
查看完整版本: PCI中断共享的实现