MSI-X Capability结构

MSI-X Capability中断机制与MSI Capability的中断机制类似。PCIe总线引出MSI-X机制的主要目的是为了扩展PCIe设备使用中断向量的个数,同时解决MSI中断机制要求使用中断向量号连续所带来的问题。

MSI中断机制最多只能使用32个中断向量,而MSI-X可以使用更多的中断向量。目前Intel的许多PCIe设备支持MSI-X中断机制。与MSI中断机制相比,MSI-X机制更为合理。首先MSI-X可以支持更多的中断请求,但是这并不是引入MSI-X中断机制最重要的原因。因为对于多数PCIe设备,32种中断请求已经足够了。而引入MSI-X中断机制的主要原因是,使用该机制不需要中断控制器分配给该设备的中断向量号连续。

如果一个PCIe设备需要使用8个中断请求时,如果使用MSI机制时,Message Data的[2:0]字段可以为0b000~0b111,因此可以发送8种中断请求,但是这8种中断请求的Message Data字段必须连续。在许多中断控制器中,Message Data字段连续也意味着中断控制器需要为这个PCIe设备分配8个连续的中断向量号。

有时在一个中断控制器中,虽然具有8个以上的中断向量号,但是很难保证这些中断向量号是连续的。因此中断控制器将无法为这些PCIe设备分配足够的中断请求,此时该设备的“Multiple Message Enable”字段将小于“Multiple Message Capable”。

而使用MSI-X机制可以合理解决该问题。在MSI-X Capability结构中,每一个中断请求都使用独立的Message Address字段和Message Data字段,从而中断控制器可以更加合理地为该设备分配中断资源。

与MSI Capability寄存器相比,MSI-X Capability寄存器使用一个数组存放Message Address字段和Message Data字段,而不是将这两个字段放入Capability寄存器中,本篇将这个数组称为MSI-X Table。从而当PCIe设备使用MSI-X机制时,每一个中断请求可以使用独立的Message Address字段和Message Data字段。

除此之外MSI-X中断机制还使用了独立的Pending Table表,该表用来存放与每一个中断向量对应的Pending位。这个Pending位的定义与MSI Capability寄存器的Pending位类似。MSI-X Table和Pending Table存放在PCIe设备的BAR空间中。MSI-X机制必须支持这个Pending Table,而MSI机制的Pending Bits字段是可选的。

正所谓

长江后浪推前浪,前浪死在沙滩上。

技术革新永不断,一不小心就完蛋。

转载于:https://www.cnblogs.com/helloworldspace/p/6760718.html

MSI-X 之有别于MSI相关推荐

  1. php msi安装教程,如何判断msi安装包程序是否安装及安装路径

    使用MSI的函数可以检测软件是不是安装,获得安装版本信息等,条件是软件为.msi文件安装的. 在使用前建议加上以下头文件及库依赖: #include #include #pragma comment( ...

  2. 微星linux显卡驱动下载,MSI 显卡 驱动程序下载——更新 MSI 软件

    MSI 显卡 驱动程序下载 手动更新 MSI Graphics Card 驱动程序的步骤: 您的 %%os%% 或通过安装最新的 Windows® 更新将包含 MSI Graphics Card 驱动 ...

  3. mysql的msi是什么_mysql安装(msi方式)

    MySQL的安装(msi方式安装) 我们常见的mysql服务器都是安装在类Unix系统中(Centos发行版),也有的安装在Mac中,但是由于本人过于穷,买不起Mac,所以选择安装在了windows中 ...

  4. 怎么下载python3.0_#python.msi下载教程#python-3.0.msi这个怎么用的啊.

    如何将安装好的Python Python几乎在任何平台下运行,如我们所熟悉的:Windows/Unix/Linux/Macintosh. 里我一下,在Windows操作系统装python. 我的操作系 ...

  5. msi微星侠客 GF65怎么样 msi微星侠客 GF65参数配置

    侠客GF65拥有144Hz电竞屏幕,尤其是在FPS游戏当中,相比60Hz的传统屏幕,搭载144Hz屏幕的笔记本,流畅度更高,并且在精准操控表现方面更加优秀 微星侠客 GF65怎么样这些点很重要看过你就 ...

  6. PCIPCIE MSI中断

    1.什么是MSI?(Message Signaled Interrupts) 用简单的一句话就可以说明msi的原理:cpu有一段特殊的寄存器空间,往这个寄存器里面写数据,就会触发cpu的中断.pci设 ...

  7. 打包静默安装参数(nsis,msi,InstallShield,InnoSetup)[转]

    有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的制作安装程序的软件有,  Microsoft Windows Installer  , Windo ...

  8. MSI文件、工具、资料

    MSI文件 一.初识Windows功能增强"插件"MSI 我们经常可以看到许多软件只有一个扩展名为MSI的文件,双击这个文件运行,就会出现和Windows应用软件安装非常相似的安装 ...

  9. 用Veritas制作MSI文件,Active Directory系列之二十四

    用Veritas创建MSI文件<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...

最新文章

  1. Linux下sh/bash/source/.命令的区别(转)
  2. Iphone是革了传统互联网的命
  3. abaqus中元素过度失真是什么意思_Abaqus三维多晶体脚本建模Voronoi多面体建模
  4. Android EditText密码框的可见性设置
  5. HOJ 1640 Mobile Phone
  6. 谈谈你对IOC的理解
  7. easyui动态显示和隐藏表头
  8. 团队工作-------step2
  9. Vue err:This dependency was not found
  10. python教程视频下载-python怎么下载视频
  11. oracle v$context,30.Oracle杂记——Oracle常用动态视图v$session
  12. 以后所有经济时事的点评都不在这里
  13. Altium差分布线和等长方法
  14. (四十七) 蓝牙自拍杆原理学习
  15. linux crontab每小时运行一次
  16. 013:Django商城项目规划与环境搭建
  17. 现在ChatGPT可以使用谷歌插件进行快速交互访问了!
  18. BAT前端老鸟总结:未来几年web前端发展四大趋势前瞻
  19. Github 上的个人项目开源心得
  20. 【UE4】蓝图结构体入门及案例

热门文章

  1. 【源码分享】用Java写的网页图片、CSS、JavaScript分类下载器
  2. BizTalk2006的帮助文件又更新了,对于还没有安装BizTalk环境又想学习的,不妨看看帮助先...
  3. 易语言逐条读access数据_易语言操作数据教程之ACCESS实战视频教程
  4. java 判断是否是list_给Java程序员的20个链表面试题
  5. python中国余数定理_Python实现的中国剩余定理算法示例
  6. linux 获取 基地址,linux - 每个函数加载的glibc基地址不同。 - SO中文参考 - www.soinside.com...
  7. 8.QML Qt Quick Controls 2中常用的界面形式——堆叠式界面(StackView)
  8. 单应性矩阵求解函数findHomography()
  9. 曲面拟合之最小二乘法(矩形域)
  10. JAVA接口的访问权限_Java中访问权限-类和接口