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

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

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

中斷的完整流程是什么樣子

麥辣雞腿堡 ? 來源:TrustZone ? 作者:TrustZone ? 2023-10-30 17:12 ? 次閱讀

如何從軟件與硬件的角度去看一個(gè)中斷,一個(gè)中斷的完整流程應(yīng)該是什么樣子?

?創(chuàng)建對(duì)應(yīng)的中斷服務(wù)函數(shù)(軟件):在編寫操作系統(tǒng)或應(yīng)用程序時(shí),需要為每個(gè)中斷源創(chuàng)建一個(gè)對(duì)應(yīng)的中斷服務(wù)函數(shù)(Interrupt Service Routine, ISR)。這個(gè)函數(shù)是用于處理特定中斷的程序,當(dāng)發(fā)生中斷時(shí),處理器會(huì)跳轉(zhuǎn)到這個(gè)函數(shù)執(zhí)行相應(yīng)的操作。

?將中斷服務(wù)函數(shù)綁定到特定的中斷號(hào),也叫中斷注冊(cè)(軟件):在操作系統(tǒng)或硬件系統(tǒng)中,需要將每個(gè)中斷源與相應(yīng)的中斷號(hào)進(jìn)行綁定。這個(gè)過程通常在初始化時(shí)完成,以確保當(dāng)發(fā)生中斷時(shí)能夠正確地調(diào)用相應(yīng)的中斷服務(wù)函數(shù)。這個(gè)綁定可以通過編程實(shí)現(xiàn),例如在Linux系統(tǒng)中可以使用register_interrupt函數(shù)將中斷服務(wù)函數(shù)注冊(cè)到特定的中斷號(hào)。

?模塊產(chǎn)生原始中斷 (邏輯):當(dāng)某個(gè)硬件設(shè)備需要中斷處理器服務(wù)時(shí),它會(huì)向中斷控制器發(fā)送一個(gè)中斷請(qǐng)求。這個(gè)請(qǐng)求可能由硬件信號(hào)線或特定協(xié)議(如PCI Express)發(fā)送。例如,當(dāng)硬盤讀寫錯(cuò)誤時(shí),硬盤控制器會(huì)向中斷控制器發(fā)送一個(gè)中斷請(qǐng)求。

原始中斷是指當(dāng)某個(gè)設(shè)備或部件需要CPU的注意時(shí),它會(huì)通過向CPU發(fā)送一個(gè)中斷信號(hào)來請(qǐng)求CPU的注意。這個(gè)中斷信號(hào)是由硬件電路產(chǎn)生的,是電信號(hào),可以被CPU感知到。原始中斷通常是由硬件設(shè)備或系統(tǒng)自發(fā)產(chǎn)生的,例如鍵盤按鍵、定時(shí)器、打印機(jī)等。

?經(jīng)過int_mask判斷后未被屏蔽從而中斷狀態(tài)拉高 (邏輯):中斷控制器接收到中斷請(qǐng)求后,會(huì)根據(jù)int_mask判斷該中斷是否被屏蔽。如果未被屏蔽,則將中斷狀態(tài)拉高,以便處理器能夠感知到這個(gè)中斷請(qǐng)求。這個(gè)過程中斷控制器會(huì)根據(jù)int_mask中的位圖判斷當(dāng)前的中斷是否被屏蔽,如果未被屏蔽則將對(duì)應(yīng)的中斷狀態(tài)位拉高。

中斷的int_mask是中斷掩碼。它是一個(gè)只讀寄存器,用于顯示哪些位當(dāng)前被屏蔽,哪些位未被屏蔽/啟用。通過設(shè)置int_mask,可以屏蔽或開啟某些中斷。

?模塊頂層信號(hào) xxx_int拉高后,送給特定中斷號(hào)對(duì)應(yīng)處理器(CPU&MCU等)的對(duì)應(yīng)bit (邏輯):當(dāng)中斷狀態(tài)被拉高后,模塊頂層信號(hào) xxx_int 會(huì)被拉高,并將這個(gè)信號(hào)送給特定中斷號(hào)對(duì)應(yīng)處理器的對(duì)應(yīng)bit。這個(gè)過程是由硬件邏輯實(shí)現(xiàn)的,通常與處理器的架構(gòu)和中斷控制器的設(shè)計(jì)有關(guān)。例如,在x86架構(gòu)的計(jì)算機(jī)中,當(dāng)某個(gè)中斷狀態(tài)被拉高后,對(duì)應(yīng)的處理器會(huì)通過APIC總線將對(duì)應(yīng)的中斷信號(hào)發(fā)送給處理器。

?中斷信號(hào)拉高后,進(jìn)入對(duì)應(yīng)bit的中斷服務(wù)函數(shù)(邏輯):當(dāng)處理器的對(duì)應(yīng)bit接收到中斷信號(hào)后,處理器會(huì)跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)函數(shù)去處理這個(gè)中斷。這個(gè)過程是由硬件自動(dòng)完成的,通常與處理器的架構(gòu)和操作系統(tǒng)的設(shè)計(jì)有關(guān)。例如,在x86架構(gòu)的計(jì)算機(jī)中,當(dāng)處理器接收到一個(gè)中斷信號(hào)后,它會(huì)通過CSIP和IVT寄存器跳轉(zhuǎn)到對(duì)應(yīng)的中斷服務(wù)函數(shù)執(zhí)行相應(yīng)的操作。

硬件層面,中斷系統(tǒng)需要硬件設(shè)備(如中斷控制器)來捕捉中斷信號(hào),并將信號(hào)傳遞給CPU。在接收到中斷信號(hào)后,CPU會(huì)根據(jù)中斷號(hào)在中斷向量表中查找對(duì)應(yīng)的入口地址,然后跳轉(zhuǎn)到這個(gè)地址執(zhí)行對(duì)應(yīng)的中斷服務(wù)程序。這個(gè)過程是由硬件自動(dòng)執(zhí)行的,不需要軟件的參與。

?執(zhí)行中斷服務(wù)函數(shù)的內(nèi)容 (軟件):在中斷服務(wù)函數(shù)中,會(huì)根據(jù)設(shè)備的需求進(jìn)行相應(yīng)的操作,例如讀取數(shù)據(jù)、發(fā)送響應(yīng)等。這個(gè)過程是由軟件實(shí)現(xiàn)的,通常與設(shè)備的驅(qū)動(dòng)程序和操作系統(tǒng)的設(shè)計(jì)有關(guān)。例如,在Linux系統(tǒng)中,當(dāng)執(zhí)行完一個(gè)中斷服務(wù)函數(shù)后,它通常會(huì)通過調(diào)用handle_irq_event函數(shù)來處理設(shè)備的事件。

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

    關(guān)注

    2

    文章

    4515

    瀏覽量

    70662
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    898

    瀏覽量

    41515
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4332

    瀏覽量

    62666
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    最早的電池是什么樣子的?

    最早的電池是什么樣子的?           電池
    發(fā)表于 03-10 08:49 ?1.8w次閱讀

    在發(fā)生超范圍情況時(shí),ADC的輸出數(shù)據(jù)是什么樣子?

    在發(fā)生超范圍情況時(shí),ADC的輸出數(shù)據(jù)是什么樣子?
    發(fā)表于 12-21 06:20

    V0圖形是什么樣子的?

    V0的圖形是什么樣子的圖形呢?求高手解答?。。。。。。?!1
    發(fā)表于 03-10 00:25

    電機(jī)的接線順序是什么樣子的呀

    新入手HVMTRPFCKIT開發(fā)套件,選配的是永磁同步電機(jī)PMSM。電機(jī)的接線順序是什么樣子的呀?電機(jī)的紅黑白三根線如何對(duì)應(yīng)接口開發(fā)板的UVW?編碼器的順序是做好的嗎?
    發(fā)表于 06-17 15:14

    金屬箔電阻的內(nèi)在是什么樣子

    金屬箔電阻的內(nèi)在是什么樣子
    發(fā)表于 03-11 08:09

    IC設(shè)計(jì)完整流程分哪幾個(gè)部分

    IC設(shè)計(jì)完整流程及工具IC的設(shè)計(jì)過程可分為兩個(gè)部分,分別為:前端設(shè)計(jì)(也稱邏輯設(shè)計(jì))和后端設(shè)計(jì)(也稱物理設(shè)計(jì)),這兩個(gè)部分并沒有統(tǒng)一嚴(yán)格的界限,凡涉及到與工藝有關(guān)的設(shè)計(jì)可稱為后端設(shè)計(jì)。前端設(shè)計(jì)的主要
    發(fā)表于 07-28 07:51

    請(qǐng)問自制的RISC-V是什么樣子的?

    自制的RISC-V是什么樣子的?
    發(fā)表于 12-28 06:10

    請(qǐng)問自制的RISC-V是什么樣子的?

    自制的RISC-V是什么樣子的?
    發(fā)表于 03-29 19:14

    vga接口是什么樣子

    vga接口是什么樣子 VGA 是 Video Graphics Adapter(Array) 的縮寫,信號(hào)類型為模擬類型,顯示卡端的接口為 9 針
    發(fā)表于 11-27 12:42 ?9208次閱讀

    1394接口是什么樣子

    1394接口是什么樣子:大概長(zhǎng)的就和如下圖片一樣了。 下面有圖片和接口定義 IEEE 1394-1995:Pin No. Signal Name Signal Inter ConnectionInter Connection with i-
    發(fā)表于 11-27 12:44 ?9085次閱讀

    用VHDL/VerilogHD語(yǔ)言開發(fā)PLD/FPGA的完整流程

    用 VHDL /VerilogHD語(yǔ)言開發(fā)PLD/ FPGA 的完整流程為: 1.文本編輯:用任何文本編輯器都可以進(jìn)行,也可以用專用的HDL編輯環(huán)境。通常VHDL文件保存為.vhd文件,Verilog文件保存為.v文件 2.功能仿真
    發(fā)表于 05-21 12:58 ?1303次閱讀

    發(fā)光的樂器在黑暗中會(huì)是什么樣子

    電子發(fā)燒友網(wǎng)站提供《發(fā)光的樂器在黑暗中會(huì)是什么樣子.zip》資料免費(fèi)下載
    發(fā)表于 11-14 10:12 ?0次下載
    發(fā)光的樂器在黑暗中會(huì)是<b class='flag-5'>什么樣子</b>

    PCB設(shè)計(jì)完整流程

    一站式PCBA智造廠家今天為大家講講PCB設(shè)計(jì)流程都有哪些?PCB設(shè)計(jì)完整流程。 PCB設(shè)計(jì)完整流程 1、前期準(zhǔn)備 前期準(zhǔn)備包括準(zhǔn)備元件庫(kù)和原理圖。在進(jìn)行PCB設(shè)計(jì)之前,首先要準(zhǔn)備好原理圖SCH
    的頭像 發(fā)表于 03-24 09:03 ?8133次閱讀

    下一代硅光子技術(shù)會(huì)是什么樣子

    下一代硅光子技術(shù)會(huì)是什么樣子?
    的頭像 發(fā)表于 07-05 14:48 ?660次閱讀
    下一代硅光子技術(shù)會(huì)是<b class='flag-5'>什么樣子</b>?

    淺談芯片制造的完整流程

    在科技日新月異的今天,芯片作為信息技術(shù)的核心部件,其制作工藝的復(fù)雜性和精密性令人嘆為觀止。從一粒普通的沙子到一顆蘊(yùn)含無數(shù)晶體管的高科技芯片,這一過程不僅凝聚了人類智慧的結(jié)晶,也展現(xiàn)了現(xiàn)代半導(dǎo)體工業(yè)的極致工藝。本文將講述芯片制造的完整流程,揭開這一高科技產(chǎn)品的神秘面紗。
    的頭像 發(fā)表于 10-28 14:30 ?615次閱讀
    淺談芯片制造的<b class='flag-5'>完整流程</b>