Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arm 什么是遗留中断?_Arm_Interrupt_Interrupt Handling - Fatal编程技术网

Arm 什么是遗留中断?

Arm 什么是遗留中断?,arm,interrupt,interrupt-handling,Arm,Interrupt,Interrupt Handling,我正在从事一个项目,试图弄清楚ARM体系结构的全局中断控制器是如何处理中断的。我正在使用pl390中断控制器。我看到有一行被称为传统中断,它绕过了分发逻辑。可以将2个中断编程为传统中断。有人能解释一下什么是传统中断吗?。我试图在没有任何运气的情况下在线搜索 遗留中断是GIC到达之前ARM中的两个中断:nIRQ-正常中断请求和fIRQ-快速中断请求 由于遗留中断是为单核处理器设计的,并且它们在内部不支持多核处理器,因此它们绕过分发逻辑的原因应该相当清楚——遗留中断硬连接到一个内核中 简而言之,它允

我正在从事一个项目,试图弄清楚ARM体系结构的全局中断控制器是如何处理中断的。我正在使用pl390中断控制器。我看到有一行被称为传统中断,它绕过了分发逻辑。可以将2个中断编程为传统中断。有人能解释一下什么是传统中断吗?。我试图在没有任何运气的情况下在线搜索

遗留中断是GIC到达之前ARM中的两个中断:nIRQ-正常中断请求和fIRQ-快速中断请求

由于遗留中断是为单核处理器设计的,并且它们在内部不支持多核处理器,因此它们绕过分发逻辑的原因应该相当清楚——遗留中断硬连接到一个内核中

简而言之,它允许CPU在向后兼容旧的ARM规范的情况下工作。例如,一个四核ARM CPU将有4个NIRQ和4个FIRQ,分别用于每个核。当您有一个与ARM兼容的旧硬件(不支持GIC)时,您可以将其连接到一个内核的nIRQ/fIRQ,就像将其连接到一个旧的单核CPU一样,它将始终在该内核上执行


更多信息可在此处找到-

谢谢。这很清楚。我希望我能在我的设计中实现这个逻辑,这样我就能了解分配器和cpu接口逻辑消耗了多少时钟周期。我说的对吗?听起来有可能,是的。我必须承认,我有点假设分发服务器与内核本身是周期同步的,所以它总是需要相同的时间,但这只是一个假设,这很可能是错误的。。。然而,在一般原则上,我不会使用遗留中断,除非您实际上也针对遗留CPU。我相信将来(在未来的一些或所有CPU中)可以删除遗留中断。是的,这是我的目标。从许多时钟周期的文档中可以清楚地看出,这将需要很多时间,但我想验证一下。所以我认为实现遗留中断会给我这个想法。感谢您的回答。还值得注意的是,nIRQ和nFIQ在大多数实现中仍然通过GIC路由-作为专用外围中断,仅路由到单核。GIC的运行频率往往低于CPU——我不知道有哪种实现的GIC运行速度超过核心频率的1/2——我认为1/3-1/4都很常见。同意传统中断不应用于实验以外的任何用途。但可以看到传统中断(理解为nIRQ和nFIQ)只是直接发送到mux(在GIC中),而不与GIC时钟(glck)同步,因此我可以假设传统中断不受gclk影响?我说的对吗?请看:@artlessnoise谢谢你的指点。不幸的是,我没有足够的学分来推荐同义词。