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



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

我知道它们之间的区别,但不确定何时会使用一个而不是另一个/哪些设备使用任何一个!

非常感谢。

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

随着硬件随着时间的推移变得越来越便宜,使用专用逻辑来提供正确的矢量地址是有意义的 - 这改善了典型现实世界实现的中断延迟,以开始处理"实际处理程序代码"。

在硬件同时支持两者的情况下,非矢量模式可能用于传统兼容性,或者用于只需要一个中断的异常情况(可能节省一两个延迟周期)。

最新更新