加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 中斷在系統(tǒng)中的作用
    • 中斷控制器 GIC 硬件原理
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

Linux BSP實戰(zhàn)課(中斷篇):中斷控制器的硬件實現(xiàn)

04/15 13:21
1991
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

中斷在系統(tǒng)中的作用

中斷機制在處理器中扮演著一個至關(guān)重要的角色,它是處理器異步響應(yīng)外圍設(shè)備請求的核心方式。從技術(shù)的深層次來看,中斷是處理器在正常運行過程中,因外部或內(nèi)部事件(如外圍設(shè)備的輸入/輸出請求、異常錯誤等)而暫時中斷當(dāng)前執(zhí)行的程序,轉(zhuǎn)而執(zhí)行特定的中斷服務(wù)程序(Interrupt Service Routine, ISR)的過程。

在操作系統(tǒng)的上下文中,中斷處理是外圍設(shè)備管理的基石。外圍設(shè)備如硬盤、鍵盤、鼠標(biāo)等,它們的工作通常是異步的,即它們不會按照處理器執(zhí)行指令的線性順序來請求服務(wù)。中斷機制允許處理器在這些設(shè)備需要服務(wù)時,能夠立即響應(yīng),而不必等待處理器完成當(dāng)前任務(wù)。這種異步處理的能力極大地提高了系統(tǒng)的響應(yīng)性和效率。

此外,中斷機制還在系統(tǒng)調(diào)度和核間交互中發(fā)揮著不可或缺的作用。系統(tǒng)調(diào)度是操作系統(tǒng)根據(jù)一定的策略選擇下一個要執(zhí)行的進程或線程的過程。當(dāng)中斷發(fā)生時,處理器可能會根據(jù)中斷的類型和優(yōu)先級來決定是否切換當(dāng)前執(zhí)行的上下文,從而實現(xiàn)任務(wù)的快速切換和調(diào)度。而在多核或多處理器的系統(tǒng)中,中斷也是核間通信和同步的重要手段,它可以幫助不同的處理器核心之間傳遞信息、協(xié)調(diào)工作。

這里對中斷在系統(tǒng)中的介紹會包括硬件原理、中斷驅(qū)動解析、上半部與下半部、以及softirq, tasklet, workqueue等機制。

中斷控制器 GIC 硬件原理

GIC,Generic Interrupt Controller。是ARM公司提供的一個通用的中斷控制器。主要作用為:
接受硬件中斷信號,并經(jīng)過一定處理后,分發(fā)給對應(yīng)的CPU進行處理。

當(dāng)前GIC 有四個版本,GIC v1~v4, 本文主要介紹GIC v3控制器。

GIC v3中斷類別

GICv3定義了以下中斷類型:

SGI(Software Generated Interrupt):軟件觸發(fā)的中斷。軟件可以通過寫 GICD_SGIR 寄存器來觸發(fā)一個中斷事件,一般用于核間通信,內(nèi)核中的 IPI:inter-processor interrupts 就是基于 SGI。

PPI(Private Peripheral Interrupt):私有外設(shè)中斷。這是每個核心私有的中斷。PPI會送達(dá)到指定的CPU上,應(yīng)用場景有CPU本地時鐘。

SPI(Shared Peripheral Interrupt):公用的外部設(shè)備中斷,也定義為共享中斷。中斷產(chǎn)生后,可以分發(fā)到某一個CPU上。比如按鍵觸發(fā)一個中斷,手機觸摸屏觸發(fā)的中斷。

LPI(Locality-specific Peripheral Interrupt):LPI 是 GICv3 中的新特性,它們在很多方面與其他類型的中斷不同。LPI 始終是基于消息的中斷,它們的配置保存在表中而不是寄存器。比如 PCIe 的 MSI/MSI-x 中斷。

中斷類型 硬件中斷號
SGI 0-15
PPI 16-31
SPI 32-1019
reserved ......
LPI 8192-MAX

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
FTLF8528P3BCV 1 Finisar Corporation Transceiver, 840nm Min, 860nm Max, 8500Mbps(Tx), 8500Mbps(Rx), LC Connector, Panel Mount, ROHS COMPLIANT, PACKAGE-20
$296.52 查看
ECS-2520S18-384-EN-TR 1 ECS International Inc HCMOS Output Clock Oscillator,

ECAD模型

下載ECAD模型
$1.86 查看
NX5032GA-20.000M-STD-CSU-2 1 Nihon Dempa Kogyo Co Ltd Parallel - Fundamental Quartz Crystal, 20MHz Nom, ROHS COMPLIANT PACKAGE-2
暫無數(shù)據(jù) 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

針對嵌入式人工智能,物聯(lián)網(wǎng)等專業(yè)技術(shù)分享和交流平臺,內(nèi)容涉及arm,linux,android等各方面。