0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

gicv2与gicv3的区别

麦辣鸡腿堡 来源:TrustZone 作者:TrustZone 2023-11-07 17:54 次阅读

一、gicv2与gicv3

但是在gicv3之前一直都是使用的giv2,这两者有什么区别?

最近在做实验室的版本兼容,很我一直以为这个gicv2和gicv3版本更新的年代不是很久。最后看了一下gicv2的文章发现在2016年都有了,为什么现在还有gicv2,吐槽一下。不过活还是得干,之前做过关于gicv3的东西,但是现在还得整个gicv2,在基于这个gicv3上进行修改,那么必须对比一下这两个之间的差别。

循序渐进,先整概念,再看源码。

二、概念

1、gic概念

gic : general interrupt controller

分类

GIC中断控制器的分类:gicv1(已弃用),gicv2,gicv3,gicv4

• ◾gic400,支持gicv2架构版本。

• ◾gic500,支持gicv3架构版本。

• ◾gic600,支持gicv3架构版本

核心功能

gic的核心功能,就是对soc中外设的中断源的管理,并且提供给软件,配置以及控制这些中断源。

• ◾当对应的中断源有效时,gic根据该中断源的配置,决定是否将该中断信号,发送给CPU。如果有多个中断源有效,那么gic还会进行仲裁,选择最高优先级中断,发送给CPU。

• ◾当CPU接受到gic发送的中断,通过读取gic的寄存器,就可以知道,中断的来源来自于哪里,从而可以做相应的处理。

• ◾当CPU处理完中断之后,会告诉gic,其实就是访问gic的寄存器,该中断处理完毕。gic接受到该信息后,就将该中断源取消,避免又重新发送该中断给cpu以及允许中断抢占

gicv3较gicv2的特点

GICv3架构是GICv2架构的升级版,增加了很多东西。变化在于以下:

• ◾使用属性层次(affinity hierarchies),来对core进行标识,使gic支持更多的core

• ◾将cpu interface独立出来,用户可以将其设计在core内部

• ◾增加redistributor组件,用来连接distributor和cpu interface

• ◾增加了LPI,使用ITS来解析

• ◾对于cpu interface的寄存器,增加系统寄存器访问方式

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10860

    浏览量

    211719
  • 中断
    +关注

    关注

    5

    文章

    898

    浏览量

    41492
  • gic
    gic
    +关注

    关注

    0

    文章

    14

    浏览量

    6270
收藏 人收藏

    评论

    相关推荐

    多系统中断路由的9种示例

    中断控制器以gicv3/gicv4为例,不讨论其它中断控制器和gicv2
    的头像 发表于 09-01 17:31 1625次阅读
    多系统中断路由的9种示例

    ARM GIC(一)之ARM soc中断的处理介绍

    的桥接器件,就是arm公司推出大名鼎鼎的gic,general interrupt controller。gic其实是一个架构,版本历经了gicv1(已弃用),gicv2gicv3gicv
    发表于 04-06 10:12

    ARM GIC(三)之GICv2架构的组成及其功能简析

    就不适用了,所以ARM后面又加入GICv3,v4架构。GICv2的寄存器,都是通过memory-mapped的方式访问。但是中断在一个soc系统中,是经常会产生的,那么处理器就会经常的读取gic
    发表于 04-06 10:26

    ARM GIC(四) 之GICv3架构基础知识介绍

    GICv3架构是GICv2架构的升级版,增加了很多东西。变化在于以下:◾使用属性层次(affinity hierarchies),来对core进行标识,使gic支持更多的core◾将cpu
    发表于 04-06 10:33

    ARM GIC(八)GICv3架构的变化

    GICv4。不过从GICv3开始,架构就和之前的架构,变化就比较大了。一、变化一:cpu interface下图是GICv2架构,cpu interface是实现在gic内部,而且gic的寄存器,都是
    发表于 04-07 10:59

    ARM GIC(十一) gicv3架构中的2种安全状态

    是影响中断分组,所使用IRQ和FIQ管脚的映射,以及gic中的寄存器访问。一、中断线的映射当gic架构,使用gicv3后,中断的传递,和gicv2有所区别gicv3中,将cpu in
    发表于 04-08 10:07

    ARM GIC(十二) GICv3支持中断bypass功能

    GICv2架构中,GIC与core之间,是直接通过irq,fiq管脚,传递中断信号。但是在GICv3架构中,GIC通过gic stream接口向cpu interface传递中断信息,然后由cpu
    发表于 04-08 10:10

    有关ARM GICv3中断控制器的相关知识介绍

    的CPU进行处理。当前GIC 有四个版本,GIC v1~v4, 主要区别如下表:本文主要介绍GIC v3控制器, 基于linux kernel 4.19.0。GICv3定义了以下中断类型:SPI
    发表于 05-26 16:35

    ARM GIC对soc中外设中断源的管理介绍

    GICv3GICv4。对于不同的GIC版本,arm公司设计了对应的GIC IPGIC的核心功能:对soc中外设的中断源的管理,并且提供给软件,配置以及控制这些中断源。下面一张ARM GICv2 的图原作者:WindLOR
    发表于 05-27 16:53

    介绍arm GICv3和timer虚拟化的支持

    hypervisor代码在跨两个不同的CPU执行模式运行。有几个不同的arm中断控制器版本,最常用的是GICv2GICv3GICv2有两个主要的缺陷:最多只支持8个处理器, 这限制了现代的平台
    发表于 10-11 14:58

    Arm通用中断控制器GICv3GICv4对虚拟化的支持

    本指南描述了GICv3GICv4体系结构中对虚拟化的支持。它涵盖了管理程序可用于生成和管理虚拟中断的控件。指南是对于任何需要了解中断控制器功能的人来说编写软件来管理虚拟中断。 本指南描述了
    发表于 08-02 10:43

    GICv3GICv4软件概述

    本文档以软件为重点概述了GICv3的功能,并描述了符合GICv3标准的中断控制器的操作。 它也是关于如何配置GICv3中断控制器以在裸机环境中使用的入门读物。 本文档是对ARM®通用中断控制器架构
    发表于 08-22 08:24

    GICv2中断控制器与ARM Cortex-A5x和Cortex-A72处理器集成

    版(GICv2)的一些内在限制,例如随着系统规模的增加可扩展性有限。 它还增加了几个新功能。 例如,GICv2体系结构规范将支持的处理器数量限制在最多8个,而基于GICv3体系结构规范的中断控制器可以支持
    发表于 08-23 07:21

    gic和ARM Core的连接

    • ◾nVIRQ: 虚拟普通中断 • ◾nVFIQ: 虚拟快速中断 (2gicv3和ARM Core的连接 gicv3 AXI-stream协议 • ◾gic stream协议,是基于AXI-stream协议
    的头像 发表于 11-07 18:07 632次阅读
    gic和ARM Core的连接

    gic的寄存器 gicv3的LPI中断

    (1)gicv2的寄存器 gicv2寄存器,都是使用memory-mapped的方式去访问的 • ◾GICD_: distributor的寄存器 • ◾GICH_: 虚拟interface的控制
    的头像 发表于 11-08 16:09 760次阅读