91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

硬核解析:ARM64處理器遭遇硬件中斷后,到底在忙些什么?

jf_44130326 ? 來(lái)源:Linux1024 ? 作者:Linux1024 ? 2025-11-26 07:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、先搞懂:什么是硬件中斷?

你正在用手機(jī)刷視頻,突然收到微信消息——這就是生活中的中斷。對(duì)ARM64處理器(手機(jī)、服務(wù)器、嵌入式設(shè)備的核心)來(lái)說(shuō),硬件中斷是外設(shè)(如鍵盤(pán)、網(wǎng)卡、傳感器)向CPU發(fā)送的緊急請(qǐng)求:比如網(wǎng)卡收到數(shù)據(jù)要處理、定時(shí)器到點(diǎn)要觸發(fā)任務(wù)、按鍵被按下要響應(yīng),這些都需要CPU暫停當(dāng)前工作,優(yōu)先處理緊急事務(wù)。

沒(méi)有中斷機(jī)制的話,CPU只能輪詢外設(shè)(挨個(gè)問(wèn)有沒(méi)有事?),既浪費(fèi)資源又反應(yīng)遲鈍。而中斷就像快遞敲門(mén),CPU不用一直等,收到信號(hào)再切換任務(wù),效率直接拉滿。

二、中斷觸發(fā)后,ARM64五步應(yīng)急流程

當(dāng)硬件外設(shè)發(fā)出中斷信號(hào)(比如你按了手機(jī)電源鍵),ARM64處理器會(huì)立刻啟動(dòng)一套標(biāo)準(zhǔn)化處理流程,全程由硬件+固件+操作系統(tǒng)協(xié)同完成,快到微秒級(jí):

wKgZO2kmN0qAS7tCAAE2IXA7Xuw737.png

1.硬件同步:凍結(jié)當(dāng)前狀態(tài),鎖定中斷源

?處理器首先檢測(cè)中斷信號(hào)的合法性(避免虛假中斷),確認(rèn)是來(lái)自有效外設(shè)的請(qǐng)求;

?立刻保存當(dāng)前執(zhí)行上下文:把PC(程序計(jì)數(shù)器,記錄下一條要執(zhí)行的指令地址)、寄存器值、程序狀態(tài)字(PSTATE,記錄CPU當(dāng)前工作模式)等關(guān)鍵信息,壓入對(duì)應(yīng)模式的棧(如IRQ棧);

?自動(dòng)關(guān)閉同級(jí)或低級(jí)中斷(防止中斷嵌套混亂),同時(shí)標(biāo)記中斷源(比如電源鍵中斷”“網(wǎng)卡中斷),讓后續(xù)流程知道該處理什么。

2.模式切換:從用戶態(tài)/內(nèi)核態(tài)轉(zhuǎn)入中斷模式

ARM64有多種工作模式(EL0用戶態(tài)、EL1內(nèi)核態(tài)、EL2虛擬化態(tài)等),中斷發(fā)生時(shí),CPU會(huì)強(qiáng)制切換到IRQ異常級(jí)別(EL1——這是專(zhuān)門(mén)處理硬件中斷的特權(quán)模式,只有內(nèi)核才能訪問(wèn)。

?舉個(gè)例子:你正在用APPEL0用戶態(tài))聊天,此時(shí)網(wǎng)卡收到數(shù)據(jù)觸發(fā)中斷,CPU會(huì)暫停APP執(zhí)行,切換到EL1內(nèi)核態(tài),準(zhǔn)備處理數(shù)據(jù)。

3.中斷分發(fā):找到負(fù)責(zé)處理的內(nèi)核程序

ARM64的中斷控制器(如GICv3/GICv4)會(huì)把中斷信號(hào)翻譯成內(nèi)核能識(shí)別的編號(hào)(中斷號(hào)),然后通過(guò)以下步驟分發(fā):

1.內(nèi)核讀取中斷控制器的寄存器,獲取中斷號(hào);

2.查找中斷向量表(內(nèi)核中預(yù)設(shè)的中斷處理清單),根據(jù)中斷號(hào)找到對(duì)應(yīng)的中斷服務(wù)程序(ISR”——比如網(wǎng)卡中斷對(duì)應(yīng)網(wǎng)卡數(shù)據(jù)接收ISR”,鍵盤(pán)中斷對(duì)應(yīng)鍵盤(pán)輸入處理ISR”

3.跳轉(zhuǎn)到ISR的入口地址,開(kāi)始執(zhí)行具體處理邏輯。

4.執(zhí)行中斷服務(wù)程序(ISR):處理核心事務(wù)

ISR是內(nèi)核中專(zhuān)門(mén)處理某類(lèi)中斷的小程序,邏輯簡(jiǎn)潔(避免占用CPU太久),核心工作包括:

?硬件層面:告知外設(shè)我已經(jīng)收到中斷,你可以停止發(fā)送請(qǐng)求了(清除中斷標(biāo)志);

?數(shù)據(jù)層面:處理外設(shè)傳遞的數(shù)據(jù)(如網(wǎng)卡ISR讀取網(wǎng)卡緩沖區(qū)的數(shù)據(jù),存入內(nèi)存;鍵盤(pán)ISR讀取按鍵編碼,轉(zhuǎn)換成字符);

?任務(wù)調(diào)度:如果中斷處理后需要喚醒用戶態(tài)程序(如收到微信消息后喚醒聊天APP),ISR會(huì)通知內(nèi)核調(diào)度器,后續(xù)恢復(fù)APP執(zhí)行。

5.恢復(fù)上下文:回到中斷前的工作狀態(tài)

ISR執(zhí)行完畢后,CPU會(huì)做最后一步:恢復(fù)中斷發(fā)生前的上下文

?從棧中取出之前保存的PC、寄存器值、PSTATE;

?切換回原來(lái)的工作模式(如EL0用戶態(tài));

?跳回中斷前的指令地址,繼續(xù)執(zhí)行原來(lái)的程序(比如繼續(xù)聊天、刷視頻)。

整個(gè)過(guò)程一氣呵成,用戶完全感知不到CPU切換操作”——這就是中斷機(jī)制的神奇之處:既保證了緊急事務(wù)的優(yōu)先處理,又不影響正常工作。

三、ARM64中斷處理的關(guān)鍵優(yōu)化:為什么這么快?

ARM64作為高性能架構(gòu),在中斷處理上有兩個(gè)核心優(yōu)化,讓響應(yīng)速度遠(yuǎn)超傳統(tǒng)架構(gòu):

1.向量表基址可配置:中斷向量表可以放在高速緩存(Cache)中,內(nèi)核查找ISR時(shí)無(wú)需訪問(wèn)內(nèi)存,速度更快;

2.中斷嵌套支持:通過(guò)GIC控制器和內(nèi)核配置,支持高優(yōu)先級(jí)中斷打斷低優(yōu)先級(jí)中斷”——比如正在處理鍵盤(pán)中斷時(shí),來(lái)了更緊急的定時(shí)器中斷(如實(shí)時(shí)任務(wù)觸發(fā)),CPU會(huì)暫停鍵盤(pán)ISR,先處理定時(shí)器中斷;

3.虛擬化友好GICv4控制器支持中斷直接投遞到虛擬機(jī)(VM),無(wú)需經(jīng)過(guò)物理機(jī)內(nèi)核中轉(zhuǎn),提升虛擬化場(chǎng)景(如云服務(wù)器)的中斷效率。

四、總結(jié):中斷是ARM64高效協(xié)作核心

硬件中斷就像ARM64處理器的應(yīng)急響應(yīng)系統(tǒng),核心價(jià)值是實(shí)現(xiàn)CPU與外設(shè)的異步協(xié)作——CPU不用盯著外設(shè),外設(shè)有事直接” CPU,既提升了CPU利用率,又保證了設(shè)備的實(shí)時(shí)響應(yīng)。

從手機(jī)的觸控響應(yīng)、電腦的網(wǎng)卡數(shù)據(jù)接收,到服務(wù)器的多任務(wù)并發(fā),背后都離不開(kāi)ARM64的中斷處理機(jī)制。正是這套快速響應(yīng)、精準(zhǔn)分發(fā)、高效恢復(fù)的流程,讓我們的設(shè)備能流暢處理各種復(fù)雜任務(wù)。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5199

    文章

    20454

    瀏覽量

    334242
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11763

    瀏覽量

    219083
  • 硬件中斷
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7131
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ARM推出具節(jié)能效率64位Cortex-A50處理器系列

    ARM宣布推出新款A(yù)RMv8架構(gòu)Cortex-A50處理器系列產(chǎn)品。全新Cortex-A50處理器系列率先推出Cortex-A53與Cortex-A57處理器、以及最新節(jié)能
    發(fā)表于 11-01 08:55 ?2354次閱讀

    強(qiáng)強(qiáng)聯(lián)合,新思協(xié)助ARM開(kāi)發(fā)64處理器

    去年最熱門(mén)的收購(gòu)案莫過(guò)于ARM聯(lián)合機(jī)構(gòu)收購(gòu)MIPS公司,彌補(bǔ)ARM64處理器的劣勢(shì)。而另一家公司IP服務(wù)商新思科技(Synopsys)也
    發(fā)表于 05-15 09:01 ?1335次閱讀

    新戰(zhàn)局,解析64處理器以及未來(lái)發(fā)展趨勢(shì)

    就目前而言,64處理器對(duì)于用戶來(lái)說(shuō),并沒(méi)有太大的意義。不過(guò)未來(lái),或許手機(jī)真的需要8GBRAM甚至更高的RAM時(shí),64處理器及系統(tǒng)應(yīng)用才
    發(fā)表于 10-03 13:30 ?2022次閱讀

    兩種ARM 64處理器學(xué)習(xí)平臺(tái)

    、Cortex-A8的s5pv210,Cortex-A9的exynos4412,每個(gè)CPU都是主流的芯片,samsung芯片一直是資源比較多的平臺(tái)。用慣了32位處理器,而當(dāng)下進(jìn)入了64處理器的時(shí)代,隨即想到
    發(fā)表于 10-26 15:47

    Intel 64處理器的基本運(yùn)行環(huán)境

    Intel 64x86_64IA-32x86處理器基本執(zhí)行環(huán)境 (1) - 32位執(zhí)行環(huán)境概述
    發(fā)表于 05-22 15:11

    Arm Cortex-R82處理器技術(shù)參考手冊(cè)

    ?-R82處理器有一到八個(gè)核心,每個(gè)核心實(shí)施一個(gè)ARM?V8-R AArch64兼容處理元素(PE)。 Cortex?-R82
    發(fā)表于 08-17 07:45

    基于ARM的PC/104處理器模塊設(shè)計(jì)

    提出了一種低成本的PC/104處理器模塊的設(shè)計(jì)。該模塊硬件上以ARM處理器為核心實(shí)現(xiàn)了PC/104處理模塊的基本結(jié)構(gòu)、總線接口,軟件上構(gòu)建了
    發(fā)表于 08-25 10:36 ?20次下載

    ARM9處理器ARM7處理器比較

    摘要:ARM處理器是世界上最流行的嵌入式處理器,廣泛應(yīng)用于個(gè)人通信等嵌入式領(lǐng)域。ARM7處理器雖然功能強(qiáng)大,但是目前已經(jīng)開(kāi)始退出主流應(yīng)用
    發(fā)表于 03-11 12:21 ?2040次閱讀
    <b class='flag-5'>ARM</b>9<b class='flag-5'>處理器</b>與<b class='flag-5'>ARM</b>7<b class='flag-5'>處理器</b>比較

    AMD Mobile Atlon64處理器

    AMD Mobile Atlon64處理器  Mobile Atlon64處理器是AMD劃時(shí)代的64位的
    發(fā)表于 01-22 10:53 ?1199次閱讀

    AMD Turion 64處理器

    AMD Turion 64處理器 Turion 64作為業(yè)界首款移動(dòng)64處理器,擁有多種全新的處理
    發(fā)表于 01-22 11:20 ?1220次閱讀

    Intel 64處理器,Intel 64處理器結(jié)構(gòu)原理

    Intel 64處理器,Intel 64處理器結(jié)構(gòu)原理 現(xiàn)在人們廣泛使用的是由32位微處理器構(gòu)成的計(jì)算系統(tǒng),但是32位的計(jì)算和操作系統(tǒng)
    發(fā)表于 03-26 15:07 ?3597次閱讀

    什么是AMD64處理器

    什么是AMD64處理器 Opteron和Athlon64處理器 AMD公司2000年公布了54位微
    發(fā)表于 03-26 15:15 ?1592次閱讀

    意法半導(dǎo)體率先部署64ARM Cortex-A57處理器

    意法半導(dǎo)體(STMicroelectronics,簡(jiǎn)稱(chēng)ST)宣布其作為ARM公司ARM Cortex-A57處理器商用化項(xiàng)目的主要合作廠商之一。Cortex-A57處理器是基于ARMv
    發(fā)表于 11-06 15:17 ?2138次閱讀
    意法半導(dǎo)體率先部署<b class='flag-5'>64</b>位<b class='flag-5'>ARM</b> Cortex-A57<b class='flag-5'>處理器</b>

    到底64處理器和32位處理器有什么區(qū)別呢?資料下載

    電子發(fā)燒友網(wǎng)為你提供到底64處理器和32位處理器有什么區(qū)別呢?資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,
    發(fā)表于 04-25 08:47 ?8次下載
    <b class='flag-5'>到底</b><b class='flag-5'>64</b>位<b class='flag-5'>處理器</b>和32位<b class='flag-5'>處理器</b>有什么區(qū)別呢?資料下載

    深入剖析ARM64異常處理:開(kāi)發(fā)者必須掌握的底層核心邏輯

    與軟件的協(xié)同操作邏輯,都是開(kāi)發(fā)者必備的核心能力。今天我們就深度拆解ARM64異常處理機(jī)制,同時(shí)聊聊 開(kāi)發(fā)者為何必須關(guān)注這一技術(shù)點(diǎn) 。 一、異常發(fā)生后,CPU的自動(dòng)操作細(xì)節(jié) 當(dāng)ARM64處理器
    的頭像 發(fā)表于 12-24 07:05 ?1111次閱讀
    深入剖析<b class='flag-5'>ARM64</b>異常<b class='flag-5'>處理</b>:開(kāi)發(fā)者必須掌握的底層核心邏輯