ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PCIe扫盲——中断机制介绍(MSI-X)

2021-09-08 09:05:19  阅读:306  来源: 互联网

标签:中断向量 扫盲 32 Register 如下 PCIe MSI Memory


http://blog.chinaaet.com/justlxy/p/5100057843

PCI总线自3.0版本开始支持MSI-X机制,对MSI做出了一些升级和改进,以克服MSI机制的三个主要的缺陷:

1.     随着系统的发展,对于特定的大型应用,32个中断向量不够用了(参考前一篇文章);

2.     只有一个目标地址使得多核CPU情况下的,静态中断分配变得困难。如果能够使每个向量对应不同的唯一的地址,便会灵活很多;

3.     某些应用中的中断优先级混乱问题。

有趣的是,MSI只支持32个中断向量,而MSI-X支持多达2048个中断向量,但是MSI-X的相关寄存器在配置空间中占用的空间却更小。这是因为中断向量信息并不直接存储在这里,而是在一款特殊的Memory(MIMO)中。并通过BIR(Base address Indicator Register, or BAR Index Register)来确定其在MIMO中的具体位置。如下图所示:

image.png

Message Control寄存器的具体描述如下:

image.png

MSI-X查找表的示意图如下:

image.png

结构图如下:

image.png

类似的,Pending Bits则位于另一个Memory中,其结构图如下:

image.png

注:无论是MSI还是MSI-X,其本质上都是基于Memory Write 的,因此也可能会产生错误。比如PCIe中的ECRC错误等。

标签:中断向量,扫盲,32,Register,如下,PCIe,MSI,Memory
来源: https://blog.csdn.net/zsmcdut/article/details/120152104

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有