何时使用向量中断与非向量中断?

When to use Vectored-Interrupt vs. Non-vectored Interrupt?

为什么要选择向量中断和非向量中断?

我知道它们之间的区别,但不确定您什么时候会使用其中一种,而不是 other/what 设备使用其中一种!

非常感谢。

如果硬件支持向量中断,没有理由不使用它们。这更多是实施成本(向量表和优先级逻辑)与软件成本(读取状态寄存器和查找正确向量)的问题。

随着时间的推移,硬件变得越来越便宜,使用专用逻辑来提供正确的向量地址是有意义的 - 这可以改善典型现实世界实现开始处理的中断延迟 'actual handler code'。

在硬件同时支持两者的情况下,非矢量化模式可能是为了兼容旧版,或者是为了只需要一个中断的特殊情况(可能节省一到两个延迟周期)。