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

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

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

3天內不再提示

GIC中斷 redistributor介紹

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

跟distributor連接的部分就不說了。Cpu_active是指示cluster或core的狀態,可以用于idle管理。ppi_id用于多核設計時,區分每個redistributor。PPIs就是PPI中斷線

從上面可以看出來,所謂的“私有”是說這些中斷信號是core專有的。對于PPI,ARMv8定義了三種規格,8,12和16。所以對于不同的core來說,可能PPI數量不一樣。

圖片

上面是ARMv8-A的架構spec里,關于timer的圖。我們可以看到,core的timer會發PPI,而中斷控制器返回FIQ或者IRQ給core。細心的同學可能會問了,在redistributor上面沒有FIQ和IRQ的信號???其實在第一篇文章里就說了,在現有的GICv3架構下,關于中斷FIQ和IRQ,以及系統寄存器等放在cluster/core端,對外留出了一組接口,叫cpu interface(在GICv2中實現在中斷控制器這一側),也就是圖1中最下面的接口。其實這是一組簡化的AXI4-Stream。

圖片

stream協議接口由于是雙向,所以是兩組信號

圖片

redistributor到CPU的信號

圖片

CPU到redistributor的信號

既然是簡化的總線協議,為了更便于CPU和redistributor通信,ARM又規定了具體的數據包格式。下圖是CPU端發出的命令格式,具體的解釋請查閱GICv3的文檔,此處就不過多的貼圖了。

圖片

interface命令至此,就剩下最復雜的ITS了,這一部分是為了實現基于消息的中斷。前面介紹過,LPI是一種基于消息的中斷。也就是中斷信息不在通過中斷線進行傳遞。ITS就是要將接收到的LPI中斷進行解析。

圖片

GIC-600的ITS組件

既然是信息中斷,就一定要有區分這些中斷的方法,這樣才能找到合適的中斷處理對策。所以這里有兩個概念。

? EventID,用來表示外設發送中斷的事件類型

? DeviceID,用來表示哪一個外設發起LPI

而ITS需要將外設發送的DeviceID,eventID,通過一系列查表,得到LPI的中斷號,再使用LPI中斷號查表得到該中斷的目標CPU。為此,ITS需要維護幾張表,分別是device table,interrupt translation tableh和collection。

當外設寫GITS_TRANSLATER寄存器,產生了LPI。這時ITS首先要拿著DeviceID,從device
table中選擇索引為DeviceID的表項。從該表項中,得到interrupt translation table的位置;

然后再根據EventID,從interrupt translation table中選擇索引為EventID的表項。

得到中斷號,以及中斷所屬的collection號;

最后,使用collection號,從collection table中,選擇索引為collection號的表項。得到redistributor的映射信息,最后根據collection表項的映射信息,將中斷信息路由發送給對應的redistributor。

最后,提一句,GICv3中開始支持親和性路由(affinity routing)。

CPU親和性是一種調度屬性(scheduler property),Linux調度器會根據affinity的設置讓指定的進程運行在“綁定”的CPU上,而不會在別的CPU上運行。其中有一個好處是,可以提高cache的命中率。當一個進程在某個CPU上運行時,會在該CPU的緩存中維護許多狀態。

下次該進程在相同的CPU上運行時,由于緩存中的數據而執行的更快。因此,多處理器的調度器應該考慮這種親和性,盡可能的進程保持在同一個CPU上。同理,對于并發程序也是有好處的。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10878

    瀏覽量

    212166
  • 中斷
    +關注

    關注

    5

    文章

    899

    瀏覽量

    41549
  • gic
    gic
    +關注

    關注

    0

    文章

    14

    瀏覽量

    6277
收藏 人收藏

    評論

    相關推薦

    ARM之中斷GIC分析

      1.“站的高尿的遠”  GIC中斷控制器,不要和ARM core的中斷搞混了,這些中斷都是連接到ARM core的IRQ或者FIQ上的?! ∫私鈇rm
    發表于 11-26 13:50

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

    ,該中斷處理完畢。gic接受到該信息后,就將該中斷源取消,避免又重新發送該中斷給cpu以及允許中斷搶占。之后,會先
    發表于 04-06 10:12

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

    ?active:cpu在響應該中斷?active and pending:cpu在響應該中斷,但是該中斷源又發送中斷過來以下是中斷狀態的轉移
    發表于 04-06 10:15

    ARM GIC(四) 之GICv3架構基礎知識介紹

    interface的寄存器,增加系統寄存器訪問方式一、gicv3結構下圖是gicv3的架構。包含了以下的組件:?distributor:SPI中斷的管理,將中斷發送給redistributor
    發表于 04-06 10:33

    ARM GIC(五)關于gicv3架構的gic stream協議解析

    redistributor回activate y響應。5、電源斷電gic給CPU發送中斷,使CPU斷電。這個,就比較復雜了。就不解析了。6、電源上電redistributor,請求將C
    發表于 04-07 10:42

    ARM GIC(六)gicv3架構中的消息中斷

    緩存中,所有LPI的緩存給無效掉,使GIC重新從memory中,載入LPI中斷的配置。GICR_SYNCR,對redistributor的操作是否完成。寄存器,只有第0bit是有效的。如果為0,表示當前
    發表于 04-07 10:50

    ARM GIC(七)gicv3架構提供的power管理功能

    gic3開始,cpu interface放到了PE中,因此cpu interface和PE是同一個power domain。而屬于gic的其他組件,如redistributor
    發表于 04-07 10:53

    ARM體系中對中斷的處理資料分享

    1、通用中斷處理器的介紹今天來看一下中斷及ARM體系中對中斷的處理,直接進入正題。中斷是指計算機運行過程中,出現某些意外情況需主機干預時,機
    發表于 04-13 18:09

    ARM GIC電源管理使用手冊指南

    背景介紹GIC電源管理,ARM官方手冊,只有一頁描述:1、在符合GICv3體系結構的實現中,CPU接口和PE必須位于同一個位置power domain,但它不必與關聯的Redistributor所在
    發表于 05-27 16:41

    ARM GIC對soc中外設中斷源的管理介紹

    1、ARM GIC簡介與Linux中斷處理分析先簡單說明一下GICGIC即general interrupt controller。它是一個架構,版本歷經了GICv1(已棄用),GICv2
    發表于 05-27 16:53

    關于MPSoC的中斷處理介紹

    目錄1. MPSoC的中斷處理介紹 2. 擴展PL中斷 3. 擴展AXI Intc中斷 3.1. AXI Intc PL連接 3.2. AXI Intc Device Tree 3.3
    的頭像 發表于 05-07 15:34 ?4030次閱讀

    GIC是什么意思 GIC硬件原理

    控制器是 V2 版本,本文將圍繞 GIC-V2 來展開介紹; 來一張功能版的框圖: GIC-V2 從功能上說,除了常用的中斷使能、中斷屏蔽、
    的頭像 發表于 09-28 14:58 ?2025次閱讀
    <b class='flag-5'>GIC</b>是什么意思 <b class='flag-5'>GIC</b>硬件原理

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

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

    gic的組件介紹

    的,根據配置決定中斷發往的core。最后選擇最高優先級中斷發送給cpu interface。寄存器使用 GICD_ 作為前綴。一個gic中,只有一個GICD。 ? cpu interface:將
    的頭像 發表于 11-08 15:57 ?471次閱讀
    <b class='flag-5'>gic</b>的組件<b class='flag-5'>介紹</b>
    主站蜘蛛池模板: 国内精品视频| 国产精品毛片久久久久久久| 亚洲伊人久久网| 亚洲网在线观看| 午夜视频在线观看视频 | 日本一区免费观看| 韩国一区二区三区视频| 亚洲婷婷国产精品电影人久久| 婷婷丁香四月| 综合一区| 午夜伦伦| 欧美成人午夜精品免费福利| 国内精品一区二区在线观看| 4hc44四虎www视频| 国产三级a三级三级天天| 国产人成高清视频观看| 一级特色黄大片| 久久香蕉综合精品国产| 国产在线视频h| 伊人久久大杳蕉综合大象| 色天使色护士 在线视频观看 | av网站免费线看| 四虎.com| 好男人社区在线观看www| 亚洲天天| 国产伦精品一区二区三区在线观看| 日韩成人在线影院| 天天插夜夜操| 88av在线看| xxxxxxxxx18免费视频| 一区二区视频| 亚洲国产精品综合久久久| 欧美有码视频| 爱婷婷网站在线观看| 久久精品国产福利国产琪琪| 国产精品久久久久久久9999| 亚洲国产成人久久三区| 久青草国产手机在线视频| 午夜伦y4480影院中文字幕| 2018天天干天天操| 亚洲天堂首页|