加入星計劃,您可以享受以下權益:

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

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

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

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

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

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

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

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

中斷控制器 GIC 硬件原理

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

當前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):私有外設中斷。這是每個核心私有的中斷。PPI會送達到指定的CPU上,應用場景有CPU本地時鐘。

SPI(Shared Peripheral Interrupt):公用的外部設備中斷,也定義為共享中斷。中斷產(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模型 風險等級 參考價格 更多信息
AD73311ARSZ 1 Analog Devices Inc Single-Channel, 3 V and 5 V Front-End Processor for General Purpose Applications Including Speech and Telephony

ECAD模型

下載ECAD模型
$10.72 查看
AT27C256R-70JU-306 1 Microchip Technology Inc IC OTP 256KBIT 70NS 32PLCC
暫無數(shù)據(jù) 查看
511FBA125M000BAG 1 Silicon Laboratories Inc LVDS Output Clock Oscillator,

ECAD模型

下載ECAD模型
$3.39 查看

相關推薦

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

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

Arm64 ?;厮?>
				</a>
							</li>
						<li id=
  • Linux BSP實戰(zhàn)課(中斷篇):中斷控制器的驅(qū)動實現(xiàn)
  • 查看更多