在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

GIC是什么意思 GIC硬件原理

麥辣雞腿堡 ? 來源:LoyenWang ? 作者:LoyenWang ? 2023-09-28 14:58 ? 次閱讀

GIC硬件原理

  • ARM公司提供了一個通用的中斷控制器GIC(Generic Interrupt Controller)GIC的版本包括V1 ~ V4,由于本人使用的SoC中的中斷控制器是V2版本,本文將圍繞GIC-V2來展開介紹;

來一張功能版的框圖:

圖片

  • GIC-V2從功能上說,除了常用的中斷使能、中斷屏蔽、優先級管理等功能外,還支持安全擴展、虛擬化等;
  • GIC-V2從組成上說,主要分為DistributorCPU Interface兩個模塊,Distributor主要負責中斷源的管理,包括優先級的處理,屏蔽、搶占等,并將最高優先級的中斷分發給CPU InterfaceCPU Interface主要用于連接處理器,與處理器進行交互;
  • Virtual DistributorVirtual CPU Interface都與虛擬化相關,本文不深入分析;

再來一張細節圖看看DistributorCPU Interface的功能:

圖片

  • GIC-V2支持三種類型的中斷:
    1. SGI(software-generated interrupts):軟件產生的中斷,主要用于核間交互,內核中的IPI:inter-processor interrupts就是基于SGI,中斷號ID0 - ID15用于SGI
    2. PPI(Private Peripheral Interrupt):私有外設中斷,每個CPU都有自己的私有中斷,典型的應用有local timer,中斷號ID16 - ID31用于PPI
    3. SPI(Shared Peripheral Interrupt):共享外設中斷,中斷產生后,可以分發到某一個CPU上,中斷號ID32 - ID1019用于SPIID1020 - ID1023保留用于特殊用途;
  • Distributor功能:
    1. 全局開關控制Distributor分發到CPU Interface
    2. 打開或關閉每個中斷;
    3. 設置每個中斷的優先級;
    4. 設置每個中斷將路由的CPU列表;
    5. 設置每個外設中斷的觸發方式:電平觸發、邊緣觸發;
    6. 設置每個中斷的Group:Group0或Group1,其中Group0用于安全中斷,支持FIQ和IRQ,Group1用于非安全中斷,只支持IRQ;
    7. SGI中斷分發到目標CPU上;
    8. 每個中斷的狀態可見;
    9. 提供軟件機制來設置和清除外設中斷的pending狀態;
  • CPU Interface功能:
    1. 使能中斷請求信號到CPU上;
    2. 中斷的確認;
    3. 標識中斷處理的完成;
    4. 為處理器設置中斷優先級掩碼;
    5. 設置處理器的中斷搶占策略;
    6. 確定處理器的最高優先級pending中斷;

中斷處理的狀態機如下圖:

圖片

  • Inactive:無中斷狀態;
  • Pending:硬件或軟件觸發了中斷,但尚未傳遞到目標CPU,在電平觸發模式下,產生中斷的同時保持pending狀態;
  • Active:發生了中斷并將其傳遞給目標CPU,并且目標CPU可以處理該中斷;
  • Active and pending:發生了中斷并將其傳遞給目標CPU,同時發生了相同的中斷并且該中斷正在等待處理;

GIC檢測中斷流程如下:

  1. GIC捕獲中斷信號,中斷信號assert,標記為pending狀態;
  2. Distributor確定好目標CPU后,將中斷信號發送到目標CPU上,同時,對于每個CPU,Distributor會從pending信號中選擇最高優先級中斷發送至CPU Interface
  3. CPU Interface來決定是否將中斷信號發送至目標CPU;
  4. CPU完成中斷處理后,發送一個完成信號EOI(End of Interrupt)給GIC;
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5126

    文章

    19445

    瀏覽量

    313300
  • Linux
    +關注

    關注

    87

    文章

    11425

    瀏覽量

    212390
  • 子系統
    +關注

    關注

    0

    文章

    114

    瀏覽量

    12637
  • gic
    gic
    +關注

    關注

    0

    文章

    14

    瀏覽量

    6338
  • 控制器
    +關注

    關注

    0

    文章

    24

    瀏覽量

    3274
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    英特爾Altera系列cyclone V HPS GIC

    大家好,又到了每日學習的時間了,今天我們來聊一聊英特爾 Altera系列 cyclone V HPS GIC. 一、CYCLONE V GIC配置 Cyclone v使用雙核ARM CORTEX
    的頭像 發表于 05-29 10:06 ?9720次閱讀
    英特爾Altera系列cyclone V HPS <b class='flag-5'>GIC</b>

    ARM之中斷GIC分析

      1.“站的高尿的遠”  GIC為中斷控制器,不要和ARM core的中斷搞混了,這些中斷都是連接到ARM core的IRQ或者FIQ上的。  要了解arm中斷系統,GIC絕對不容錯過,好先付
    發表于 11-26 13:50

    GIC硬件原理是什么?

    GIC硬件原理是什么?
    發表于 02-07 06:35

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

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

    ARM GIC(二)之中斷術語的定義

    ARM在GIC中,對于中斷,定義了如下的一些術語。一、中斷狀態對于每一個中斷而言,有以下4個狀態:?inactive:中斷處于無效狀態?pending:中斷處于有效狀態,但是cpu沒有響應該中斷
    發表于 04-06 10:15

    GIC ITS的ITS tables和Command Queue訪問簡析

    ACE-Lite轉換為了AXI interface,因而這個系統設計不能實現GIC ITS和CPU的硬件一致性。在這樣的系統上運行Linux GICv3 driver可能會出現一致性問題:因為
    發表于 12-20 14:35

    基于GIC的物聯網的應用方案

    本文檔內容介紹了基于GIC的物聯網的應用方案,供參閱。
    發表于 09-18 15:46 ?0次下載
    基于<b class='flag-5'>GIC</b>的物聯網的應用方案

    小電阻器對治理電網GIC的效果分析

    地磁感應電流(geomagnetically induced currents,GIC)引起變壓器半波飽和對電力系統的安全運行產生不利影響,甚至引發大面積停電事故。為了有效治理GIC對大規模電力系統
    發表于 01-04 17:03 ?7次下載
    小電阻器對治理電網<b class='flag-5'>GIC</b>的效果分析

    應用K值算法的甘肅電網GIC-Q擾動計算

    的安全運行。以甘肅750 kV電網和330 kV電網GIC的計算數據為基礎,基于變壓器GIC無功(GIC-Q)損耗系數K值算法,計算了750 kV和330 kV變壓器的GIC無功損耗增
    發表于 01-31 14:57 ?3次下載

    扒一扒GIC-600的相關知識

    為了適應大規模的SoC設計,GIC-600被設計成分布式IP。所謂分布式,GIC-600由幾種組件構成,每個組件可以跟其它相關模塊在物理設計上擺放在一起,并與其擁有共同的電源域
    發表于 02-06 11:36 ?3076次閱讀

    GIC驅動的執行流程是什么

    驅動流程分析 GIC驅動的執行流程如下圖所示: 首先需要了解一下鏈接腳本 vmlinux.lds ,腳本中定義了一個 __irqchip_of_table 段,該段用于存放中斷控制器信息,用于最終來
    的頭像 發表于 09-28 15:09 ?694次閱讀
    <b class='flag-5'>GIC</b>驅動的執行流程是什么

    Linux GIC驅動數據結構分析

    數據結構分析 先來張圖: GIC驅動中,使用 struct gic_chip_data 結構體來描述GIC控制器的信息,整個驅動都是圍繞著該結構體的初始化,驅動中將函數指針都初始化好,實際的工作
    的頭像 發表于 09-28 15:18 ?710次閱讀
    Linux <b class='flag-5'>GIC</b>驅動數據結構分析

    GIC-600的組件是如何連接的

    為了適應大規模的SoC設計,GIC-600被設計成分布式IP。 所謂分布式,GIC-600由幾種組件構成,每個組件可以跟其它相關模塊在物理設計上擺放在一起,并與其擁有共同的電源域;組件之間通過片上網
    的頭像 發表于 11-07 17:19 ?927次閱讀
    <b class='flag-5'>GIC</b>-600的組件是如何連接的

    GIC-600的內部結構組件

    接下來看看每個組件。 ? 首先是distributor,一個SoC只有一個。 ?它的組件只能與distributor通信。所以,可以看出,distributor是GIC-600中的核心,其作用是收集
    的頭像 發表于 11-07 17:29 ?814次閱讀
    <b class='flag-5'>GIC</b>-600的內部結構組件

    gic和ARM Core的連接

    ? ?nVIRQ: 虛擬普通中斷 ? ?nVFIQ: 虛擬快速中斷 (2)gicv3和ARM Core的連接 gicv3 AXI-stream協議 ? ?gic stream協議,是基于AXI-stream協議
    的頭像 發表于 11-07 18:07 ?794次閱讀
    <b class='flag-5'>gic</b>和ARM Core的連接
    主站蜘蛛池模板: 黄色日批网站 | 2022天天干 | 欧美一级日韩一级亚洲一级 | 欧美a一| 精品视频在线视频 | 小优视频在线 | 888米奇在线视频四色 | 国模在线 | 男人的天堂午夜 | ak福利午夜在线观看 | 久久精品免看国产 | 国产三级日产三级韩国三级 | 经典三级一区二区三区视频 | 色视频网站大全免费 | 精品影视网站入口 | 在线视频黄色 | 免费在线观看大片影视大全 | 欧美特级午夜一区二区三区 | 亚洲福利视频网站 | 欧美呜巴又大粗又长 | 色丁香在线观看 | 婷婷综合五月天 | 久久综合视频网 | 亚洲国产精品乱码在线观看97 | 天天综合天天干 | 147西西人体大胆免费网 | 视频一区二区中文字幕 | 操美女在线看 | 日日躁夜夜躁狠狠天天 | 亚洲一区中文字幕在线 | 五月婷婷六月合 | 免费观看色视频 | 日本免费黄色片 | 亚洲一区二区三区免费在线观看 | 日日插天天操 | 香蕉爱爱视频 | 操操操操操 | 四虎国产精品永久在线网址 | 午夜色站 | 四虎影院在线播放 | 视频一区在线观看 |