Arm PPI、SPI和SGI中断之间的区别是什么?

Arm PPI、SPI和SGI中断之间的区别是什么?,arm,interrupt,interrupt-handling,Arm,Interrupt,Interrupt Handling,在ARM架构中,我了解到有3种中断: PPI-每个处理器中断 SPI-共享处理器中断 SGI-软件生成的中断 我想知道这些是什么,以及它们之间的区别是什么?软件生成中断(SGI) 该中断由软件通过写入专用的分发寄存器(软件生成的中断寄存器)显式生成。它最常用于核心间通信。SGI可以针对所有核心,也可以针对系统中选定的一组核心。为此保留了中断编号0-15。软件管理用于通信的确切中断号 专用外围中断(PPI) 该中断由单个内核专用的外围设备生成。中断号16-31为此保留。PPI识别内核专用的中断

在ARM架构中,我了解到有3种中断:

  • PPI-每个处理器中断
  • SPI-共享处理器中断
  • SGI-软件生成的中断

我想知道这些是什么,以及它们之间的区别是什么?

软件生成中断(SGI) 该中断由软件通过写入专用的分发寄存器(软件生成的中断寄存器)显式生成。它最常用于核心间通信。SGI可以针对所有核心,也可以针对系统中选定的一组核心。为此保留了中断编号0-15。软件管理用于通信的确切中断号

专用外围中断(PPI) 该中断由单个内核专用的外围设备生成。中断号16-31为此保留。PPI识别内核专用的中断源,并且独立于另一个内核上的相同源,例如,每个内核定时器

共享外围中断(SPI) 该中断由中断控制器可以路由到多个内核的外围设备生成。中断号32-1020用于此。SPI用于从整个系统可访问的各种外围设备发出中断信号


这些术语实际上是“专用外围中断”和“共享外围中断”,它们与名称所说的几乎完全相同,即一些中断来自每个处理器专用的外围设备(如本地定时器),一些中断来自处理器之间共享的外围设备(例如,网络/USB/等一般系统部件),有些可直接由软件触发(例如,用于处理器间信令).除此之外,没有真正开始解释的空间…谢谢,你的评论很有帮助。你也可以在其他问题中阅读对这些术语有很多解释的问题。可能重复