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

相关推荐
数据智能老司机17 分钟前
面向流的架构——使用战略性领域驱动设计设计解决方案空间
架构
gs8014023 分钟前
拒绝单句 Prompt 摸盲盒:从 smolagents 看复杂多智能体 (Multi-Agent) 架构落地实践
架构·prompt
好学且牛逼的马29 分钟前
【项目一DORM|架构分析】
架构
国科安芯39 分钟前
抗辐照MCU在高空长航时无人机热管理系统中的可靠性研究
单片机·嵌入式硬件·架构·无人机·cocos2d·risc-v
Kiyra39 分钟前
突破实时瓶颈:从零构建高性能 WebSocket 实时通讯架构
网络·人工智能·websocket·网络协议·架构·ai-native
程序员Ctrl喵1 小时前
分层架构的协同艺术——解构 Flutter 的心脏
flutter·架构
夏秃然1 小时前
AI 大模型与多模态底层架构解析
人工智能·架构
Hello.Reader1 小时前
Flutter IM 桌面端项目架构、聊天窗口布局与 WebSocket 长连接设计
websocket·flutter·架构
山顶望月1 小时前
OpenClaw 架构与设计思路分析
人工智能·架构
老迟聊架构2 小时前
完全基于对象存储的数据库引擎:SlateDB
数据库·后端·架构