硬中斷(Hardware Interrupt)是指由硬件設(shè)備發(fā)送的中斷請(qǐng)求,用于將CPU從執(zhí)行正常程序轉(zhuǎn)換為執(zhí)行處理器內(nèi)部中斷服務(wù)例程,以便處理設(shè)備請(qǐng)求。它是系統(tǒng)中斷機(jī)制的一種基本形式,用于實(shí)現(xiàn)系統(tǒng)與外設(shè)的交互和控制。
1.硬中斷是什么
硬中斷是一種由硬件設(shè)備發(fā)出的中斷請(qǐng)求,用于暫停正在執(zhí)行的操作并請(qǐng)求CPU執(zhí)行相應(yīng)的中斷服務(wù)例程來(lái)處理設(shè)備請(qǐng)求。硬件設(shè)備可以通過(guò)向CPU發(fā)送硬中斷信號(hào)來(lái)通知系統(tǒng)要進(jìn)行特定的操作或接收特定的數(shù)據(jù)。硬中斷可以被視為系統(tǒng)的“打斷”機(jī)制,因?yàn)樗驍嗔薈PU正在執(zhí)行的正常程序并切換到中斷服務(wù)例程。
2.硬中斷分類
硬中斷可以分為兩類:外部中斷和內(nèi)部中斷。
- 外部中斷:由外部設(shè)備引起的中斷,如響應(yīng)I/O設(shè)備、中斷控制器(PIC)所發(fā)出的中斷請(qǐng)求等;
- 內(nèi)部中斷:由CPU內(nèi)部發(fā)生的事件引起的中斷,如運(yùn)算錯(cuò)誤、時(shí)間片輪轉(zhuǎn)、指令集拓展等。
3.硬中斷處理過(guò)程
當(dāng)CPU接收到硬中斷信號(hào)時(shí),它會(huì)立即停止正在執(zhí)行的指令并跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)例程。中斷服務(wù)例程可以被操作系統(tǒng)或設(shè)備驅(qū)動(dòng)程序編寫實(shí)現(xiàn)。在中斷服務(wù)例程中,設(shè)備請(qǐng)求得到處理,并將控制權(quán)返回給操作系統(tǒng)或原始進(jìn)程。