男女做羞羞完整版网站,新开网站seo,做电商卖玉器的网站,表白网站制作代码三种中断
1. Legacy
定义#xff1a;Legacy 中断是传统的中断处理方式#xff0c;使用物理中断线#xff08;例如 IRQ#xff09;来传递中断信号。缺点#xff1a; 中断线数量有限#xff0c;通常为 16 条#xff0c;限制了可连接设备的数量。中断处理可能会导致中断风…三种中断
1. Legacy
定义Legacy 中断是传统的中断处理方式使用物理中断线例如 IRQ来传递中断信号。缺点 中断线数量有限通常为 16 条限制了可连接设备的数量。中断处理可能会导致中断风暴影响系统性能。不支持多处理器系统中的负载均衡。 使用场景主要用于旧设备和不支持 MSI 或 MSI-X 的硬件。
INTA, INTB, INTC, or INTD 区别
优先级顺序从高到低一般是 INTA INTB INTC/INTD。不过具体的优先级也可以在系统 BIOSBasic Input - Output System或操作系统的设备管理部分根据设备的实际重要性和使用场景进行调整。应用场景倾向INTA 倾向于用于对实时性和性能要求高的关键设备INTB 用于实时性要求稍低的设备而 INTC 和 INTD 更多地用于对中断响应要求不高、数据更新频率较低或不太关键的设备。这种区分有助于在复杂的 PCI 系统中合理分配中断资源以满足不同设备的需求
2. MSIMessage Signaled Interrupts
定义MSI 是一种通过消息而不是传统的中断线来发送中断信号的机制。优点 减少了中断线的数量支持更高的设备数量。提高了中断的处理效率减少了中断风暴的可能性。可以支持多处理器系统中的负载均衡。最多32个 使用场景常用于现代设备尤其是 PCI 和 PCIe 设备。默认情况下MSI 功能是启用的且启用了 1 个向量。可以选择最多 32 个向量。通常情况下Linux 只使用 1 个向量用于 MSI。这是在IP中断配置页面使能并选择msi中断的重点
3. MSI-X
定义MSI-X 是 MSI 的扩展版本提供了更大的灵活性和更高的中断数量。优点 支持更多的中断向量最多可达 2048 个适合需要高并发中断的设备。提供更好的性能和可扩展性尤其是在高性能网络和存储设备中。 使用场景主要用于高性能设备如网络适配器和存储控制器。
总结
MSI 和 MSI-X 提供了更高效和灵活的中断处理机制适合现代设备和高性能应用。Legacy 中断则是传统的方式适用于老旧设备但在性能和扩展性上存在限制。
中断使用
XDMA的中断类型以及控制时序
1)、Legacy Interrupts
对于Legacy Interrupts中断当user_irq_ack 第一次为1的时候usr_irq_req可以清0当user_irq_ack 第二次为1的时候可以重新设置usr_irq_req发起中断。
在PCI总线里面INTx中断是由四条可选的中断线决定的这种中断方式是共享式的所有的pci设备把中断信号在一条中短线上相与再上报给cpucpu收到中断以后再查询具体是哪个设备产生了中断。 在PCIE总线里面已经没有了实体的INTx物理中断线了PCIE标准使用专门的Message事务包来实现INTx中断这是为了兼容以前的PCI软件。_INTx__是共享式_的cpu相应中断后还需要查询具体中断源效率比较低 解释一下这个图什么意思
首先是usr_irq_req[15:0] 16’h3 0000 0000 0000 0011 中断0和1发出了中断请求然后是usr_irq_ack[15:0] 16’h1 0000 0000 0000 0001 响应中断0然后是usr_irq_ack[15:0] 16’h2 0000 0000 0000 0010 响应中断1中间的波浪线是省略的意思也就是说在中断响应前和后中断请求都需要保持一段时间这个时间多少我没测试过有大佬知道的可以留言
2)、MSI Interrupts
MSI 发出usr_irq_req 中断请求后user_irq_ack 为1只是说明中断已经被主机接收了但是不代表已经处理软件或者驱动层可以去清零usr_irq_req。
MSI中断和MSI-X都是往配置的CPU中断寄存器里进行memory写操作来产生中断效率比INTx是共享式高其中MSI最多支持32个中断向量而MSI-X最多支持2048个中断向量。
3)、MSI-X Interrupts
当usr_irq_req 中断请求后只要user_irq_ack为1 就可以清零usr_irq_req但是没说明说明时候可以置1重启下次中断。
经过以上所有中断方式测试发现MSI-X中断会导致系统非常慢估计是底层频繁中断导致软件非常卡反而影响了传输效率Legacy和MSI 对于usr_irq_req的清除对于大数据量的传输比如一幅图像的传图只要确保usr_irq_req足够长的时间中断就能被响应。 保守的做法当软件收到中断后通过AXI-LITE接口清除usr_irq_req。 usr_irq_req清除后可以重新置位响应中断。
Note
在XDMA IP 配置期间主机可从指定的支持中断列表中启用一种或多种中断类型。即使启用了多个中断类型IP 在给定时间内也只会产生一个中断类型。MSI-X 中断优先于 MSI 中断MSI 中断优先于传统中断。主机软件不得在断言或等待中断发生时切换启用或禁用中断类型。
在驱动中的引用
后面介绍到驱动的时候说吧这里就提一句xdma驱动在读取中断事件的时候是挂起的状态也就说在没读取到中断事件前不会往下执行其他程序起到了阻塞的作用如果你知道linux 驱动那么这个应该会很清楚如果刚开始的和我一样没学过linux驱动的话就记住这个我还特意去学了linux驱动基础…