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的中断生命周期是一样的。

相关推荐
GISer_Jing37 分钟前
Claude Code网桥架构深度解析
人工智能·ai·架构·aigc
汤姆yu38 分钟前
深度理解Harness架构:AI智能体的生产级运行基石
人工智能·架构·harness
塔望品牌咨询1 小时前
产品结构的“系统工程”:从“散兵”到“战队”的四层架构
架构·塔望·消费战略·塔望消费战略·品牌战略全案
数说星榆1811 小时前
无人员伤亡车辆事故处理流程图 快速结案流程
架构·电脑·流程图·职场发展·课程设计
AI服务老曹1 小时前
打破品牌壁垒:基于 GB28181 与 ZLMediaKit 的全协议视频流媒体接入架构解析
架构·媒体
Jump 不二1 小时前
Claude Code 源码解析(一):架构篇,Claude Code的多Agent协同
人工智能·语言模型·架构
无心水1 小时前
17、Java内存溢出(OOM)避坑指南:三个典型案例深度解析
java·开发语言·后端·python·架构·java.time·java时间处理
天天进步20151 小时前
源码级优化:Graphiti 的并发处理与分布式记忆存储架构
人工智能·分布式·架构
老鱼说AI2 小时前
大模型学习与面试第六期:大模型知识进阶
人工智能·深度学习·神经网络·学习·自然语言处理·面试·架构
进击的小头3 小时前
第3篇:嵌入式芯片核心架构基础:冯·诺依曼架构与哈佛架构的本质差异与场景适配
单片机·嵌入式硬件·架构