在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8065|回复: 7

[求助] PCIe总线的MSI中断机制

[复制链接]
发表于 2012-8-31 17:06:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
最近在研究PCIe总线的相关内容,在看到PCIe总线的中断时,产生了一些疑惑:
       1、 查资料说,PCIe设备申请中断时,MSI报文是通过存储器写TLP事务来提交中断申请,那这个MSI报文的内容(或者说是构成)是什么?是包含Message Address 和Message Data吗?
     2、查文档说,PCIe提请MSI中断,实质上是向Message Address所包含的地址里写Message Data字段包含的数据。根据Message Address的构成,只可能是向Destination ID的内容地址写,那这里的地址如何确定?是CPU的ID号吗?
     3、文章上讲,MSI机制最多可以支持32个中断,且要求中断向量是连续的,这里的中断向量是由谁分配的?每个PCIe设备是否可以发出32个中断申请?如果发生多个MSI中断同时出现的情形,如何仲裁MSI中断的优先级?又是由谁来仲裁的?
     4、如果某一PCIe设备要提请中断,那么MSI报文是否是在该PCIe设备中产生?还是在其他什么地方产生?

烦请各位帮忙解答,万分感谢。
发表于 2012-11-13 14:18:58 | 显示全部楼层
学习学习,学习学习
发表于 2013-5-28 23:08:33 | 显示全部楼层
1、 查资料说,PCIe设备申请中断时,MSI报文是通过存储器写TLP事务来提交中断申请,那这个MSI报文的内容(或者说是构成)是什么?是包含Message Address 和Message Data吗?

     这个包应该就是一个存储器写TLP,目的地址是Message Address,数据是Message Data;

     2、查文档说,PCIe提请MSI中断,实质上是向Message Address所包含的地址里写Message Data字段包含的数据。根据Message Address的构成,只可能是向Destination ID的内容地址写,那这里的地址如何确定?是CPU的ID号吗?

    Message Address由MSI Capability寄存器确定。该寄存器在系统初始化时设置。

     3、文章上讲,MSI机制最多可以支持32个中断,且要求中断向量是连续的,这里的中断向量是由谁分配的?每个PCIe设备是否可以发出32个中断申请?如果发生多个MSI中断同时出现的情形,如何仲裁MSI中断的优先级?又是由谁来仲裁的?

     中断向量可由用户软件来分配。每个PCIe设备都可以有32个中断向量,但系统资源紧张时,可能软件不能给每个设备都分配这么中断向量。优先级的问题不是很清楚。

     4、如果某一PCIe设备要提请中断,那么MSI报文是否是在该PCIe设备中产生?还是在其他什么地方产生?

    由PCIe设备产生

发表于 2013-7-30 23:07:43 | 显示全部楼层
不错 貌似是的
发表于 2013-8-15 11:43:23 | 显示全部楼层
学习了
发表于 2014-4-13 02:10:36 | 显示全部楼层
message address由软件初始化
发表于 2014-11-24 19:19:03 | 显示全部楼层
貌似很牛逼的样子啊
发表于 2021-4-30 16:27:47 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 16:01 , Processed in 0.021798 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表