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

相关推荐
qq_435287926 小时前
第7章 巫妖并起:中心化调度 vs 裸机硬件的架构对决?天庭与巫族的系统之争
架构·系统架构·天庭·巫族·中心化调度·裸机硬件·洪荒神话
SamDeepThinking6 小时前
第2篇:应付百万并发商品系统之需求文档
java·后端·架构
heimeiyingwang6 小时前
【架构实战】领域事件与业务编排架构
java·微服务·架构
天码-行空6 小时前
深入拆解 Tomcat 架构:高层组件与启动流程设计
java·架构·tomcat
ting94520006 小时前
微软 VibeVoice 万字深度解析:从原理、架构、部署到行业落地,重新定义长音频 AI
人工智能·架构·音视频
天码-行空6 小时前
深入拆解 Tomcat 架构:一键启停与生命周期设计
java·架构·tomcat
qcx236 小时前
Warp源码深度解析(一):GPU加速+AI Agent的下一代终端架构全景
人工智能·架构·rust
liuyunshengsir6 小时前
LMCache 原理架构深度解析
架构
紫小米6 小时前
FastAPI 与微服务架构
微服务·架构·fastapi
智慧化智能化数字化方案6 小时前
智能制造——解读IBM装备制造业大数据驱动的企业架构优化与智能化转型规划方案【附全文阅读】
大数据·架构·制造·装备制造业全寿命周期质量管理·装备制造业智能工厂·装备制造集团scm·sap大型装备制造集团erp