【方辉专栏】ARM64体系结构编程与实践学习笔记(六) ARM 通用中断控制

蓝图分享网 2022-11-08 16:57:10 559阅读 0评论

1. 中断控制的发展

在早期ARM系统中(例如ARM7/ARM9),采用单核处理器设计,系统支持的中断源比较少并且是单核处理器系统,使用简单的寄存器表示每个中断源的使能、关闭以及状态。假设系统一共有64个中断源,每个寄存器有32位,每位描述一个中断,那么只需要两个中断使能寄存器(Interrupt Enable Register ,IER)和两个中断状态寄存器(Interrupt Status Register,ISR)。

现在随着处理器设计越来越复杂,中断源变得越来越多,有的系统中断源有几百甚至上千个,同时中断类型也越来越多。由于以上原因,ARM公司开发了通用中断控制(Generic Interrupt Controller,GIC)专门用于管理中断。目前版本为GIC-4,典型的IP是GIC-700.

2. GIC-700组成

GIC-700包含以下几个模块,通过这些模块,在系统内实现符合GICV3 、GICV3.1 和 GICV4.1的中断管理控制。

2.1 GIC分配器(GIC Distributor ,GICD)

分配器是所有 GIC 通信的中心,包含所有共享外设中断 (SPI) 以及特定于位置的外设中断 (LPI)的功能

2.2 GIC集群接口 (GIC Cluster Interface,GCI)

GIC集群接口维护一组特定内核的专用外设中断 (PPI) 和软件生成中断 (SGI)。GIC集群接口可以 从 1 到 64 个内核扩展,最好放置在它所服务的处理器旁边,以减少到内核的布线。GCI也称为再分配器。

2.3 中断翻译服务(Interrupt Translation Service ,ITS)

ITS转换来自外部 PCI Express (PCIe) 根联合体 (RC) 或其他来源的基于消息的中断、消息信号中断 (MSI/MSIx)。ITS 还在核心电源管理期间管理 LPI。

GIC-700每个芯片最多支持 32 个 ITS 模块。

2.4 SPI整理器(SPI Collator)

GIC-700支持多达1984个分布在系统中的SPI 。 SPI Collator 使SPI 可以从Distributor 远程转换为消息。这使得分配器的分层时钟门控和其他更积极的低功耗状态的使用成为可能。

单个配置中最多可支持 32个SPI 整理器。1984 SPI 可以分布在 32 个 SPI Collator 中,一个 SPI Collator 中最多有1024个 SPI。

2.5 唤醒请求(Wake Request)

唤醒请求包含芯片上每个内核的所有架构定义的唤醒请求信号。 它是一个单独的块,可以远离分配器放置,例如靠近系统控制处理器。

免责声明:

1、本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

2、本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。

3、本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

4、侵权违法和不良信息举报 举报邮箱:cnddit@qq.com

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,559人围观)

还没有评论,来说两句吧...