首页 > 代码库 > MSI/MSI-X
MSI/MSI-X
MSI
PCI2.2规范引进了MSI作为传统的基于线的中断的替代方案。MSI允许设备通过向一个特定的地址写入一个特定的值来允许中断,而不是使用一个专有的引脚来触发中断。注意消息的目的地址和消息数据被当做向量。MSI比传统的中断提供了如下的关键优点:
- 一个PCI功能可以请求多达32个MSI消息
- 它们是带内消息,而不是使用引脚,而且选择在host 桥上的目标地址。
- 它们可以和中断消息一起发送数据而且数据的负载是可变的。
- 它们并不共享,因此指定给一个设备的MSI可以在系统内认为是唯一的。
MSI-X
PCI3.0定义了一个MSI的扩展形式,称作MSI-X,它解决了MSI的限制特性。比如,支持大量的CPU的基于NUMA的服务器被大量地部署,当前MSI中每个适配器功能只支持32个MSI消息的限制已经不大合适。MSI-X通过增加消息的数量到2048来解决这个限制。另一个例子是MSI只提供一个MSI地址这样所有的消息的目标是同一个CPU组。MSI-X通过为每个消息提供唯一的地址和值对克服了这个问题。PCI3.0里为MSI-X提供的核心改变如下:
- 支持2048个消息而不是32个消息
- 为每个消息提供一个独立的消息地址和消息数据
- 支持每向量掩码
MSI/MSI-X
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。