仅对英特尔可见 — GUID: nik1410905665972
Ixiasoft
仅对英特尔可见 — GUID: nik1410905665972
Ixiasoft
7.1.1. MSI和传统中断
- MSI Capability寄存器
- l流量类(traffic class)(app_msi_tc)
- app_msi_num指定的消息数据
下图显示了通过一个per vector enable bit可能实现的Interrupt Handler Module。或者,Application Layer可以实现全局中断使能,而不是实现该per vector MSI。
有32个可能的MSI消息。由一个特定组件请求的消息数量未必对应于分配的消息数量。例如,在下图中,Endpoint请求八个MSI,但只分配两个。在这种情况下,您必须将Application Layer设计为仅使用两个分配的消息。
下表描述了三个实例实现。第一个实例分配全部32个MSI消息。第二个和第三个实例只分配4个中断。
MSI |
Allocated |
||
---|---|---|---|
32 |
4 |
4 |
|
System Error |
31 |
3 |
3 |
Hot Plug and Power Management Event |
30 |
2 |
3 |
Application Layer |
29:0 |
1:0 |
2:0 |
为Hot Plug,Power Management Events和System Errors生成的MSI中断始终使用Traffic Class 0。Application Layer生成的MSI中断能够使用任何的Traffic Class。例如,在传输结束时生成MSI的DMA可以使用与用于传输数据相同的流量控制。
下图显示了Root Port的MSI中断信号之间的交互。app_msi_req与app_msi_ack之间的可能最小延迟是一个时钟周期。在此时序图中,app_msi_req置低前可以扩展到app_msi_ack以外。然而,app_msi_req必须在与app_msi_ack相同的时钟置低之前置低,以避免推断新的中断。