ARM GIC(四) gicv3架构基础

GICv3架构是GICv2架构的升级版,增加了很多东西。变化在于以下:

使用属性层次(affinity hierarchies),来对core进行标识,使gic支持更多的core

将cpu interface独立出来,用户可以将其设计在core内部

增加redistributor组件,用来连接distributor和cpu interface

增加了LPI,使用ITS来解析

对于cpu interface的寄存器,增加系统寄存器访问方式

一、gicv3结构

包含了以下的组件:

distributor:SPI中断的管理,将中断发送给redistributor

redistributor:PPI,SGI,LPI中断的管理,将中断发送给cpu interface

cpu interface:传输中断给core

ITS:用来解析LPI中断

其中,cpu interface是实现在core内部的,distributor,redistributor,ITS是实现在gic内部的。

cpu interface和gic的redistributor通信,通过AXI-Stream协议,来实现通信。

二、中断分组

gicv3,将中断分成了2个大组,group0和group1。

group0:提供给EL3使用

group1:又分为2组,分别给安全中断和非安全中断使用

如下图所示:

以下是IRQ,FIQ与组的对应关系。

中断生命周期,如下图所示:

generate:外设发起一个中断

distribute:distributor对收到的中断源进行仲裁,然后发送给对应的cpu interface

deliver:cpu interface将中断发送给core

activate:core通过读取 GICC_IAR 寄存器,来对中断进行认可

priority drop: core通过写 GICC_EOIR 寄存器,来实现优先级重置

deactivation:core通过写 GICC_DIR 寄存器,来无效该中断

这个中断生命周期,和gicv2的中断生命周期是一样的。

相关推荐
小邓睡不饱耶9 小时前
Apache Flume 1.12.0 深度实战:从架构内核到企业级高可用部署(附完整代码案例)
架构·apache·flume
MonkeyKing_sunyuhua10 小时前
OpenClaw 的核心架构
架构
5G行业应用11 小时前
6G未来网络架构ATHENA愿景——《2026韩国SK电讯6G白皮书》
网络·架构
TDengine (老段)11 小时前
TDengine IDMP 运维指南 —— 部署架构
大数据·运维·数据库·架构·时序数据库·tdengine·涛思数据
ai产品老杨12 小时前
消融协议壁垒:基于GB28181/RTSP融合网关的多品牌设备统一接入与边缘推流架构
架构
AI专业测评12 小时前
2026年全景基准测试:7款主流AI写小说工具底层架构与工程化实践对比
人工智能·架构
忆和熙13 小时前
ARM异常概述与级别(ARMv8异常机制——异常的概述、级别)
arm开发·arm异常
05大叔16 小时前
微服务,拆分原则,远程调用,服务治理,OpenFeign
微服务·云原生·架构
kisshuan1239617 小时前
CSP-EBlock-Mamba融合架构改进YOLOv26跨阶段空洞卷积与状态空间模型协同建模
yolo·目标跟踪·架构
NAGNIP17 小时前
程序员最强AI画图工具大全!
人工智能·架构