我一直在阅读经典的ARM 7微控制器。有两种类型的中断:IRQ和FIQ。 FIQ允许更快的中断处理并具有比IRQ更高的优先级。
它声明现代ARM版本具有嵌套中断。
这是否真的意味着ARM 7只能处理分配给MCU的2个中断,例如来自外部源的2个边沿触发中断,而不是更多?
提前致谢
答案 0 :(得分:1)
这种较旧类型的向量中断控制器将提供多个输入,具有屏蔽和优先级。它会向内核引发IRQ输入,并提供一个核心可以作为公共中断处理程序的一部分读取的地址 - 然后分支到异常特定的处理程序。请注意,在架构级别,只有一个IRQ中断 - 包含硬件辅助跳转表。
ARM7还允许更简单的中断架构 - 为应用程序定制的确切实现。最琐碎的(也许是不常见的)将OR所有中断组合在一起,并要求中断处理程序读取每个外设的中断状态以发现待处理的内容。这在今天似乎非常粗糙,但它仍然在某种程度上完成 - 您可能为每个I / O外设专用Rx和Tx中断,但是将所有错误/溢出中断组合在一起(因为任何这些都意味着游戏结束)
软件与功能的专用硬件处理之间的权衡是一个例子,说明实施成本的变化如何影响设计决策。