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

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

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

gicv2與gicv3的區(qū)別

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

一、gicv2與gicv3

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

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

循序漸進(jìn),先整概念,再看源碼。

二、概念

1、gic概念

gic : general interrupt controller

分類(lèi)

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

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

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

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

核心功能

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

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

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

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

gicv3較gicv2的特點(diǎn)

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

? ?使用屬性層次(affinity hierarchies),來(lái)對(duì)core進(jìn)行標(biāo)識(shí),使gic支持更多的core

? ?將cpu interface獨(dú)立出來(lái),用戶(hù)可以將其設(shè)計(jì)在core內(nèi)部

? ?增加redistributor組件,用來(lái)連接distributor和cpu interface

? ?增加了LPI,使用ITS來(lái)解析

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

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

    關(guān)注

    68

    文章

    10702

    瀏覽量

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

    關(guān)注

    5

    文章

    889

    瀏覽量

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

    關(guān)注

    0

    文章

    14

    瀏覽量

    6256
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

    是影響中斷分組,所使用IRQ和FIQ管腳的映射,以及gic中的寄存器訪問(wèn)。一、中斷線的映射當(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之間,是直接通過(guò)irq,fiq管腳,傳遞中斷信號(hào)。但是在GICv3架構(gòu)中,GIC通過(guò)gic stream接口向cpu interface傳遞中斷信息,然后由cpu
    發(fā)表于 04-08 10:10

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

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

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

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

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

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

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

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

    GICv3GICv4軟件概述

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

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

    版(GICv2)的一些內(nèi)在限制,例如隨著系統(tǒng)規(guī)模的增加可擴(kuò)展性有限。 它還增加了幾個(gè)新功能。 例如,GICv2體系結(jié)構(gòu)規(guī)范將支持的處理器數(shù)量限制在最多8個(gè),而基于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 ?492次閱讀
    gic和ARM Core的連接

    gic的寄存器 gicv3的LPI中斷

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