PCIe中断机制介绍(MSI).doc

PCIe中断机制介绍(MSI).doc

ID:27504798

大小:296.00 KB

页数:6页

时间:2018-12-04

PCIe中断机制介绍(MSI).doc_第1页
PCIe中断机制介绍(MSI).doc_第2页
PCIe中断机制介绍(MSI).doc_第3页
PCIe中断机制介绍(MSI).doc_第4页
PCIe中断机制介绍(MSI).doc_第5页
资源描述:

《PCIe中断机制介绍(MSI).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、PCIe中断机制介绍(MSI)  前面的文章中介绍过,MSI本质上是一种MemoryWrite,和PCIe总线中的Message概念半毛钱关系都没有。并且,MSI的DataPayload也是固定的,始终为1DW。  由于MSI也是从PCI总线继承而来的,因此MSI相关的寄存器也存在于配置空间中的PCI兼容部分(前256个字节)。如下图所示,MSI有四种类型:      其中CapabilityID的值是只读的,05h表示支持MSI功能。  NextCapabilityPointer也是只读的,其用于查找下一个M

2、SI的位置,00h则表示到达LinkedList的最后了。  MessageControlRegister用于确定MSI的格式与支持的功能等信息,如下图所示:    具体描述如下:    MessageAddressRegister:32-bit最低两位固定为0,使得该地址是DW对齐的。  当MaskBits将相关的中断向量(InterruptVector)屏蔽后,该MSI将不会被发送。软件可以通过这种方式来使能或者禁止某些MSI的发送。如果相关中断向量没有被屏蔽,则如果发生了相关中断请求,这时PendingB

3、its中的相应bit则会被置位。一旦中断信息被发出,则该bit会立即被清零。  注:可能有的人会有疑惑了(无论是Mindshare的书,还是PCI的Spec都没有明确解释),因为MaskBits和PendingBits都只有32位,而8位的中断向量号最多可以表示256个!显然,32位最多只能对应32个中断向量号,无法支持256个的。实际上,一般的系统不会支持256个中断向量号的,32个就已经足够用了,所以并不用担心这个问题。  PCIe设备会根据配置空间中的MSI请求信息,来创建MemoryWriteTLP,来

4、讲MSI信息发送出去。作为一种特殊的TLP,传递MSI的TLP需要遵循以下规则:  ·NoSnoop和RelaxedOrderingbits的值必须为0  ·TLP长度值必须为01h  ·FirstBE必须为1111b  ·LastBE必须为0000b  ·地址是直接从配置空间中的响应位置复制过来的  如下图所示:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。