0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

gicv2與gicv3的區(qū)別

麥辣雞腿堡 ? 來源:TrustZone ? 作者:TrustZone ? 2023-11-07 17:54 ? 次閱讀

一、gicv2與gicv3

但是在gicv3之前一直都是使用的giv2,這兩者有什么區(qū)別?

最近在做實驗室的版本兼容,很我一直以為這個gicv2和gicv3版本更新的年代不是很久。最后看了一下gicv2的文章發(fā)現(xiàn)在2016年都有了,為什么現(xiàn)在還有g(shù)icv2,吐槽一下。不過活還是得干,之前做過關(guān)于gicv3的東西,但是現(xiàn)在還得整個gicv2,在基于這個gicv3上進行修改,那么必須對比一下這兩個之間的差別。

循序漸進,先整概念,再看源碼。

二、概念

1、gic概念

gic : general interrupt controller

分類

GIC中斷控制器的分類:gicv1(已棄用),gicv2,gicv3,gicv4

? ?gic400,支持gicv2架構(gòu)版本。

? ?gic500,支持gicv3架構(gòu)版本。

? ?gic600,支持gicv3架構(gòu)版本

核心功能

gic的核心功能,就是對soc中外設(shè)的中斷源的管理,并且提供給軟件,配置以及控制這些中斷源。

? ?當(dāng)對應(yīng)的中斷源有效時,gic根據(jù)該中斷源的配置,決定是否將該中斷信號,發(fā)送給CPU。如果有多個中斷源有效,那么gic還會進行仲裁,選擇最高優(yōu)先級中斷,發(fā)送給CPU。

? ?當(dāng)CPU接受到gic發(fā)送的中斷,通過讀取gic的寄存器,就可以知道,中斷的來源來自于哪里,從而可以做相應(yīng)的處理。

? ?當(dāng)CPU處理完中斷之后,會告訴gic,其實就是訪問gic的寄存器,該中斷處理完畢。gic接受到該信息后,就將該中斷源取消,避免又重新發(fā)送該中斷給cpu以及允許中斷搶占

gicv3較gicv2的特點

GICv3架構(gòu)是GICv2架構(gòu)的升級版,增加了很多東西。變化在于以下:

? ?使用屬性層次(affinity hierarchies),來對core進行標(biāo)識,使gic支持更多的core

? ?將cpu interface獨立出來,用戶可以將其設(shè)計在core內(nèi)部

? ?增加redistributor組件,用來連接distributor和cpu interface

? ?增加了LPI,使用ITS來解析

? ?對于cpu interface的寄存器,增加系統(tǒng)寄存器訪問方式

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10776

    瀏覽量

    210456
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    894

    瀏覽量

    41322
  • gic
    gic
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    6260
收藏 人收藏

    評論

    相關(guān)推薦

    多系統(tǒng)中斷路由的9種示例

    中斷控制器以gicv3/gicv4為例,不討論其它中斷控制器和gicv2。
    的頭像 發(fā)表于 09-01 17:31 ?1496次閱讀
    多系統(tǒng)中斷路由的9種示例

    ARM GIC(一)之ARM soc中斷的處理介紹

    的橋接器件,就是arm公司推出大名鼎鼎的gic,general interrupt controller。gic其實是一個架構(gòu),版本歷經(jīng)了gicv1(已棄用),gicv2,gicv3gicv
    發(fā)表于 04-06 10:12

    ARM GIC(三)之GICv2架構(gòu)的組成及其功能簡析

    就不適用了,所以ARM后面又加入GICv3,v4架構(gòu)。GICv2的寄存器,都是通過memory-mapped的方式訪問。但是中斷在一個soc系統(tǒng)中,是經(jīng)常會產(chǎn)生的,那么處理器就會經(jīng)常的讀取gic
    發(fā)表于 04-06 10:26

    ARM GIC(四) 之GICv3架構(gòu)基礎(chǔ)知識介紹

    GICv3架構(gòu)是GICv2架構(gòu)的升級版,增加了很多東西。變化在于以下:?使用屬性層次(affinity hierarchies),來對core進行標(biāo)識,使gic支持更多的core?將cpu
    發(fā)表于 04-06 10:33

    ARM GIC(八)GICv3架構(gòu)的變化

    GICv4。不過從GICv3開始,架構(gòu)就和之前的架構(gòu),變化就比較大了。一、變化一:cpu interface下圖是GICv2架構(gòu),cpu interface是實現(xiàn)在gic內(nèi)部,而且gic的寄存器,都是
    發(fā)表于 04-07 10:59

    ARM GIC(十一) gicv3架構(gòu)中的2種安全狀態(tài)

    是影響中斷分組,所使用IRQ和FIQ管腳的映射,以及gic中的寄存器訪問。一、中斷線的映射當(dāng)gic架構(gòu),使用gicv3后,中斷的傳遞,和gicv2有所區(qū)別。gicv3中,將cpu in
    發(fā)表于 04-08 10:07

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

    GICv2架構(gòu)中,GIC與core之間,是直接通過irq,fiq管腳,傳遞中斷信號。但是在GICv3架構(gòu)中,GIC通過gic stream接口向cpu interface傳遞中斷信息,然后由cpu
    發(fā)表于 04-08 10:10

    有關(guān)ARM GICv3中斷控制器的相關(guān)知識介紹

    的CPU進行處理。當(dāng)前GIC 有四個版本,GIC v1~v4, 主要區(qū)別如下表:本文主要介紹GIC v3控制器, 基于linux kernel 4.19.0。GICv3定義了以下中斷類型:SPI
    發(fā)表于 05-26 16:35

    ARM GIC對soc中外設(shè)中斷源的管理介紹

    ,GICv3,GICv4。對于不同的GIC版本,arm公司設(shè)計了對應(yīng)的GIC IPGIC的核心功能:對soc中外設(shè)的中斷源的管理,并且提供給軟件,配置以及控制這些中斷源。下面一張ARM GICv2 的圖原作者:WindLOR
    發(fā)表于 05-27 16:53

    介紹arm GICv3和timer虛擬化的支持

    hypervisor代碼在跨兩個不同的CPU執(zhí)行模式運行。有幾個不同的arm中斷控制器版本,最常用的是GICv2GICv3。 GICv2有兩個主要的缺陷:最多只支持8個處理器, 這限制了現(xiàn)代的平臺
    發(fā)表于 10-11 14:58

    Arm通用中斷控制器GICv3GICv4對虛擬化的支持

    本指南描述了GICv3GICv4體系結(jié)構(gòu)中對虛擬化的支持。它涵蓋了管理程序可用于生成和管理虛擬中斷的控件。指南是對于任何需要了解中斷控制器功能的人來說編寫軟件來管理虛擬中斷。 本指南描述了
    發(fā)表于 08-02 10:43

    GICv3GICv4軟件概述

    本文檔以軟件為重點概述了GICv3的功能,并描述了符合GICv3標(biāo)準(zhǔn)的中斷控制器的操作。 它也是關(guān)于如何配置GICv3中斷控制器以在裸機環(huán)境中使用的入門讀物。 本文檔是對ARM?通用中斷控制器架構(gòu)
    發(fā)表于 08-22 08:24

    GICv2中斷控制器與ARM Cortex-A5x和Cortex-A72處理器集成

    版(GICv2)的一些內(nèi)在限制,例如隨著系統(tǒng)規(guī)模的增加可擴展性有限。 它還增加了幾個新功能。 例如,GICv2體系結(jié)構(gòu)規(guī)范將支持的處理器數(shù)量限制在最多8個,而基于GICv3體系結(jié)構(gòu)規(guī)范的中斷控制器可以支持
    發(fā)表于 08-23 07:21

    gic和ARM Core的連接

    ? ?nVIRQ: 虛擬普通中斷 ? ?nVFIQ: 虛擬快速中斷 (2gicv3和ARM Core的連接 gicv3 AXI-stream協(xié)議 ? ?gic stream協(xié)議,是基于AXI-stream協(xié)議
    的頭像 發(fā)表于 11-07 18:07 ?538次閱讀
    gic和ARM Core的連接

    gic的寄存器 gicv3的LPI中斷

    (1)gicv2的寄存器 gicv2寄存器,都是使用memory-mapped的方式去訪問的 ? ?GICD_: distributor的寄存器 ? ?GICH_: 虛擬interface的控制
    的頭像 發(fā)表于 11-08 16:09 ?647次閱讀