为了实现中断的配置、接收、仲裁和路由功能,GICv3设计了不同组件,它包含了SPI(shared peripheral interrupt)、PPI(private peripheral interrupt)、SGI(software generated interrupt)和LPI(locality-specific peripheral interrupt)四种中断类型,以及distributor、redistributor、ITS(interrupt translation service)和CPU interface四...
GIC-v2中每一个 CPU 最多支持 1020 个中断 ID,中断 ID 号为 ID0~ID1019。这 1020 个 ID 包 含了 PPI、SPI 和 SGI。这 1020 个 ID 分 配如下: ID0~ID15:这 16 个 ID 分配给 SGI。每个CPU核都有自己的16个。 ID16~ID31:这 16 个 ID 分配给 PPI。每个CPU核都有自己的16个。 ID32~ID1019...
• PPI:(Private Peripheral Interrupt,私有外设中断),该中断来源于core,但是该中断只对指定的core有效,所谓的私有即指对core私有; • SPI:(Shared Peripheral Interrupt,共享外设中断),该中断来源于外部设备,该中断可以对所有的core有效; • SGI:(Software Generated Interrupt,软件中断),用于给其它的core发送中断...
- 对于SGI和PPI中断,当前中断在当前处理器中是pending状态的。 - 对于SPI中断,当前中断至少在一个处理器中处于pending状态。 上文提到过,对于SGI中断,写入GICD_ISPENDRn寄存器的操作将会被忽略,因为SGI有自己的Set-pending寄存器 SGI Set-Pending Registers, GICD_SPENDSGIRn。对于SPI和PPI中断来讲: 写入0:无影响 ...
先了解一些gic 中断控制器(Zynq中的中断控制器基于ARM GIC v1.0版本)。左面可以看出中断的几种分类: 1. SGI:软件产生的中断。 2.PPI:私有中断。 3.SPI:共享中断。 1.SGI(Software Generated Interrupts) 每个cpu都可以用SGI中断自己或者其它CPU。通过写SGI中断号到ICDSGIR寄存... ...
SPI(Shared Peripheral Interrupt) 公用的外部设备中断,也定义为共享中断。可以多个Cpu或者说Core处理,不限定特定的Cpu。比如按键触发一个中断,手机触摸屏触发的中断。 PPI(Private Peripheral Interrupt) 私有外设中断。这是每个核心私有的中断。PPI会送达到指定的CPU上,应用场景有CPU本地时钟。
SGI(ID0-ID15):是由CPU内部软件触发,所以从CPU CORE–>CPU interface–>Distributor–>CPU Interface–>CPU CORE。 PPI(ID16-ID31):是由外部器件触发,从Peripheral–>Distributor–>CPU interface–>CPU CORE。 SPI(ID32-ID1019):也是外部器件触发,从Peripheral–>Distributor–>CPU interface–>CPU CORE。
对于SGI和PPI中断,当前中断在当前处理器中是pending状态的。 对于SPI中断,当前中断至少在一个处理器中处于pending状态。 对于SPI和PPI中断来讲: 写入0:无影响 写入1:其效果取决于是边缘触发还是电平敏感中断: 边缘触发(Edge-triggered),如果中断不处于pending状态,则不受影响。如果之前是pending状态,则会变成inactive状...
3、gic中断号的划分Shared Peripheral Interrupt (SPI)Private Peripheral Interrupt (PPI)Software Generated Interrupt (SGI)Locality-specific Peripheral Interrupt (LPI)(使用示例)4、GIC连接方式 5、gic的状态中断的生命周期:对于电平触发的中断(level-sensitive interrupts),一个上升沿输入,将中断变成pending,中断...
在DTS中,外设的interrupt type有两种,一种是SPI,另外一种是PPI。SGI用于processor之间的通信,和外设无关。 uart3的interrupt属性中的74表示该外设使用的GIC interrupt ID号。GIC最大支持1020个HW interrupt ID,具体的ID分配情况如下: (1)ID0~ID31是用于分发到一个特定的process的interrupt。标识这些interrupt不能仅...