arm - 什么是传统中断?

标签 arm interrupt interrupt-handling

我正在从事一个项目,我试图弄清楚如何在 ARM 架构的全局中断 Controller 中处理中断。我正在使用 pl390 中断 Controller 。我看到有一行被称为绕过分发器逻辑的遗留中断。假设可以将 2 个中断编程为传统中断。任何人都可以帮助解释什么是遗留中断?我尝试在线搜索但没有任何运气。

最佳答案

传统中断是 GIC 到达之前 ARM 中的两个中断:nIRQ - 正常中断请求,和 fIRQ - 快速中断请求。

由于传统中断是为单核处理器创建的,并且它们内部不支持多核处理器,因此它们绕过分发器逻辑的原因应该很清楚 - 传统中断硬连线到其中一个内核中。

简而言之 - 它允许 CPU 向后兼容旧的 ARM 规范。例如,一个四核 ARM CPU 将有 4 个 nIRQ 和 4 个 fIRQ,每个内核是分开的。当您有一块旧的 ARM 兼容硬件(不支持 GIC)时,您将其连接到内核的 nIRQ/fIRQ 之一,就像将其连接到旧的单核 CPU 一样,它将始终执行在那一个核心上。

更多信息可以在这里找到 - http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0407e/CCHDBEBE.html

关于arm - 什么是传统中断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20238921/

相关文章:

gcc - 为 ARM 交叉编译 zlib

android - 什么是 ELF 二进制文件中的 .init_array 部分?

c++ - 在 C++11 中模拟类似 Arduino 的中断

c - 如何为我的操作系统读取和播放音频文件?

java - 何时使用 thread.interrupt() 以及何时抛出 InterruptedException

无法分配链接描述文件中定义的变量的地址

c - 我应该如何在c文件中包含用extern定义的变量

捕获 CTRL-\信号

assembly - x86除法异常返回地址

linux - Linux 内核支持的最大 IRQ 数量是多少?