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

相关推荐
W.W.H.1 小时前
远程连接协议(SSH\Telnet\FTP\Serial等)
运维·arm开发·经验分享·ssh
apollowing1 小时前
Avalonia UI 12.0.0 正式发布:架构演进和性能飞跃
ui·架构
heimeiyingwang2 小时前
【架构实战】管道模式与责任链模式实战
架构
前端不太难2 小时前
鸿蒙 App 架构升级:从页面到 System
架构·状态模式·harmonyos
Mr.45673 小时前
SpringBoot多模块依赖冲突排查与架构优化实战(避坑指南)
java·spring boot·架构
easy_coder3 小时前
ReAct 进入死循环?用 Harness 把它拉回来
人工智能·架构·云计算
EasyDSS3 小时前
企业级融媒体生产管理平台/私有化音视频系统EasyDSS一体化架构打造全流程应急指挥视频会议体系
架构·音视频·媒体
早睡早起早日毕业3 小时前
大数据管理与应用系列丛书《大数据平台架构》之第4章 Hadoop 分布式文件系统 (HDFS)
大数据·hadoop·架构
LONGZETECH3 小时前
【技术分析】无人机虚拟仿真教学软件的核心架构与教学逻辑
架构·无人机·无人机仿真教学软件