PCIe中断机制介绍(MSI)

前面的文章中介绍过,msi本质上是一种memory write,和pcie总线中的message概念半毛钱关系都没有。并且,msi的data payload也是固定的,始终为1dw。
由于msi也是从pci总线继承而来的,因此msi相关的寄存器也存在于配置空间中的pci兼容部分(前256个字节)。如下图所示,msi有四种类型:
其中capability id的值是只读的,05h表示支持msi功能。
next capability pointer也是只读的,其用于查找下一个msi的位置,00h则表示到达linked list的最后了。
message control register用于确定msi的格式与支持的功能等信息,如下图所示:
具体描述如下:
message address register:32-bit最低两位固定为0,使得该地址是dw对齐的。
当mask bits将相关的中断向量(interrupt vector)屏蔽后,该msi将不会被发送。软件可以通过这种方式来使能或者禁止某些msi的发送。如果相关中断向量没有被屏蔽,则如果发生了相关中断请求,这时pending bits中的相应bit则会被置位。一旦中断信息被发出,则该bit会立即被清零。
注:可能有的人会有疑惑了(无论是mindshare的书,还是pci的spec都没有明确解释),因为mask bits和pending bits都只有32位,而8位的中断向量号最多可以表示256个!显然,32位最多只能对应32个中断向量号,无法支持256个的。实际上,一般的系统不会支持256个中断向量号的,32个就已经足够用了,所以并不用担心这个问题。
pcie设备会根据配置空间中的msi请求信息,来创建memory write tlp,来讲msi信息发送出去。作为一种特殊的tlp,传递msi的tlp需要遵循以下规则:
· no snoop和relaxed ordering bits的值必须为0
· tlp长度值必须为01h
· first be必须为1111b
· last be必须为0000b
· 地址是直接从配置空间中的响应位置复制过来的
如下图所示:

PCB线路上的噪声
销售/回收HP53132A HP 53132A频率计HP53
上海新阳:光刻胶产品处于实验研发和中试开发阶段
一种基于软件无线电的通用调制器的设计和实现
中科院大连化物所《Angew》:开发出单原子合金材料
PCIe中断机制介绍(MSI)
小米5s,5splus降价了!想入手的朋友们抓紧了,小米6预备开售!
肉类药物残留检测仪的产品性能是怎样的
太阳能光伏逆变器的作用及原理
智能家居DIY,“墙面魔术师”构筑安全有趣的家
如何用宽带消色差和偏振不敏感的超透镜提高图像质量?
广和通中标中国联通物联网5G数传模组采购项目
苹果iPhone12Pro前置摄像头得分98分,未进前五
处理器关于多核概念与区别 多核处理器工作原理及优缺点
iPhone8最新消息:喜大普奔 iPhone8或将全系标配True Tone显示屏!
100G QSFP28光模块的主要分类
美国得州晶圆厂或导致芯片短缺现象恶化
压控晶振的原理和特点 压控晶振的生产工艺和流程
日产CEO将决定在华建厂,造车新势力即将迎来新风暴!
消除模数转换器时钟线和控制线上的超调量和/或欠调量的方法