MSI中断

注意:MSI以及MSI-X中断对于Windows来说支持Vista及更高的版本系统

PCI支持两种中断,传统INTx中断和MSI中断。 比较两种中断能让我们了解PCI规范发展的来龙去脉,也能使我们把握PCI发展的技术方向。
什么是MSI
MSI 是 Message Signaled Interrupt (MSI) 的缩写,PCI设备写一个特定消息到特定地址,从而触发一个CPU中断.

MSI 相对于传统中断有三个主要优势:

其一,共享中断带来的性能损失:
传统中断的中断引脚常常被多个设备共享. 当中断触发时, 内核必须依次触发每个设备相应的中断处理,这必将损失系统的整体性能.  每个MSI中断属于设备所独有,因此不会产生共享中断带来的性能损失。
  
其二,传统中断超前产生,实际数据并未真正达到:
众所周之,中断通常是设备发送完数据后,给CPU一个中断通知CPU进行处理。但是这种看似简单的应用如果是传统中断也会产生问题,那就是,中断已经产生,并且数据也已经从设备发出,但是实际上并没有到达主存。这时候CPU是读不到它想要的数据的。在这种情况下,CPU必须从设备端读取寄存器来知道数据是否真的已经到达目的地,PCI事物排序规则确保该寄存器只有在数据真实到达之前才会更新。这是传统中断的另一弊端,而MSI中断因为与数据包共享同一通路并且有严格的先后顺序,所以不会出现这种问题,更不需要更新和查询设备端寄存器,从而节省了很多开销。

其三,每个设备最多只有四个传统中断引脚:
对于多功能PCI设备而言,每一个功能最多只有一个中断引脚。设备驱动程序必须查询设备产生的具体事件,势必降低中断处理速度。而一个设备可以支持最多32个MSI中断,每个中断有其特定功能,譬如,一些一场情况和错误处理有其单独的中断能让驱动程序处理如数据收发中断更有效。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值