【方輝專欄】ARM64體系結構編程與實踐學習筆記(六) ARM 通用中斷控制
2022-07-26
摘要: 本文主要對Arm通用中斷控制進行簡單介紹。關鍵字:Armv8、體系結構、ARM架構、中斷控制、GIC、通用中斷控制、GIC-7001. 中斷控制的發展在早期ARM系統中(例如ARM7/ARM9),采用單核處理器設計,系統支持的中斷源比較少并且是單核處理器系統,使用簡單的寄存器表示每個中斷源的使能、關閉以及狀態。假設系統一共有64個中斷源,每個寄存器有32位,每位描述一個中斷,那么只需要兩個中斷使能寄存器(Interrupt Enable Register ,IER)和兩個中斷狀態寄存器(Interrupt Status Register,ISR)。現在隨著處理器設計越來越復雜,中斷源變得越來越多,有的系統中斷源有幾百甚至上千個,同時中斷類型也越來越多。由于以上原因,ARM公司開發了通用中斷控制(Generic Interrupt Controller,GIC)專門用于管理中斷。目前版本為GIC-4,典型的IP是GIC-700.2. GIC-700組成GIC-700包含以下幾個模塊,通過這些模塊,在系統內實現符合GICv3 、GICv3.1 和 GICv4.1的中斷管理控制。2.1 GIC分配器(GIC Distributor ,GICD)分配器是所有 GIC 通信的中心,包含所有共享外設中斷 (SPI) 以及特定于位置的外設中斷 (LPI)的功能2.2 GIC集群接口 (GIC Cluster Interface,GCI)GIC集群接口維護一組特定內核的專用外設中斷 (PPI) 和軟件生成中斷 (SGI)。GIC集群接口可以 從 1 到 64 個內核擴展,最好放置在它所服務的處理器旁邊,以減少到內核的布線。GCI也稱為再分配器。2.3 中斷翻譯服務(Interrupt Translation Service ,ITS)ITS轉換來自外部 PCI Express (PCIe) 根聯合體 (RC) 或其他來源的基于消息的中斷、消息信號中斷 (MSI/MSIx)。ITS 還在核心電源管理期間管理 LPI。GIC-700每個芯片最多支持 32 個 ITS 模塊。2.4 SPI整理器(SPI Collator)GIC-700支持多達1984個分布在系統中的SPI 。 SPI Collator 使SPI 可以從Distributor 遠程轉換為消息。這使得分配器的分層時鐘門控和其他更積極的低功耗狀態的使用成為可能。單個配置中最多可支持 32個SPI 整理器。1984 SPI 可以分布在 32 個 SPI Collator 中,一個 SPI Collator 中最多有1024個 SPI。2.5 喚醒請求(Wake Request)喚醒請求包含芯片上每個內核的所有架構定義的喚醒請求 信號。 它是一個單獨的塊,可以遠離分配器放置,例如靠近系統控制處理器。+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++關于億道電子億道電子技術有限公司(英文名稱:Emdoor Electronics Technology Co.,Ltd)是國內資深的研發工具軟件提供商,公司成立于 2002 年,面向中國廣大的制造業客戶提供研發、設計、管理過程中使用的各種軟件開發工具,致力于幫助客戶提高研發管理效率、縮短產品設計周期,提升產品可靠性。20 年來,先后與 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立戰略合作伙伴關系,并作為他們在中國區的主要分銷合作伙伴服務了數千家中國本土客戶,為客戶提供從芯片級開發工具、EDA 設計工具、軟件編譯以及測試工具、結構設計工具、仿真工具、電氣設計工具、以及嵌入式 GUI 工具等等。億道電子憑借多年的經驗積累,真正的幫助客戶實現了讓研發更簡單、更可靠、更高效的目標。歡迎關注“億道電子”公眾號了解更多研發工具軟件知識
查看更多→