什么是中斷
什么是中斷
Linux 內(nèi)核需要對(duì)連接到計(jì)算機(jī)上的所有硬件設(shè)備進(jìn)行管理,毫無(wú)疑問(wèn)這是它的份內(nèi)事。如果要管理這些設(shè)備,首先得和它們互相通信才行,一般有兩種方案可實(shí)現(xiàn)這種功能:
輪詢(polling) 讓內(nèi)核定期對(duì)設(shè)備的狀態(tài)進(jìn)行查詢,然后做出相應(yīng)的處理;
中斷(interrupt) 讓硬件在需要的時(shí)候向內(nèi)核發(fā)出信號(hào)(變內(nèi)核主動(dòng)為硬件主動(dòng))。
第一種方案會(huì)讓內(nèi)核做不少的無(wú)用功,因?yàn)檩喸兛倳?huì)周期性的重復(fù)執(zhí)行,大量地耗用 CPU 時(shí)間,因此效率及其低下,所以一般都是采用第二種方案 。
從物理學(xué)的角度看,中斷是一種電信號(hào),由硬件設(shè)備產(chǎn)生,并直接送入中斷控制器(如 8259A)的輸入引腳上,然后再由中斷控制器向處理器發(fā)送相應(yīng)的信號(hào)。處理器一經(jīng)檢測(cè)到該信號(hào),便中斷自己當(dāng)前正在處理的工作,轉(zhuǎn)而去處理中斷。此后,處理器會(huì)通知 OS 已經(jīng)產(chǎn)生中斷。這樣,OS 就可以對(duì)這個(gè)中斷進(jìn)行適當(dāng)?shù)奶幚?。不同的設(shè)備對(duì)應(yīng)的中斷不同,而每個(gè)中斷都通過(guò)一個(gè)唯一的數(shù)字標(biāo)識(shí),這些值通常被稱為中斷請(qǐng)求線。
中斷分類
中斷可分為同步(synchronous)中斷和異步(asynchronous)中斷:
1. 同步中斷是當(dāng)指令執(zhí)行時(shí)由 CPU 控制單元產(chǎn)生,之所以稱為同步,是因?yàn)橹挥性谝粭l指令執(zhí)行完畢后 CPU 才會(huì)發(fā)出中斷,而不是發(fā)生在代碼指令執(zhí)行期間,比如系統(tǒng)調(diào)用。
2. 異步中斷是指由其他硬件設(shè)備依照 CPU 時(shí)鐘信號(hào)隨機(jī)產(chǎn)生,即意味著中斷能夠在指令之間發(fā)生,例如鍵盤(pán)中斷。
根據(jù) Intel 官方資料,同步中斷稱為異常(exception),異步中斷被稱為中斷(interrupt)。
中斷可分為可屏蔽中斷(Maskable interrupt)和非屏蔽中斷(Nomaskable interrupt)。異??煞譃楣收希?I>fault)、陷阱(trap)、終止(abort)三類。
從廣義上講,中斷可分為四類:中斷、故障、陷阱、終止。這些類別之間的異同點(diǎn)請(qǐng)參看 表 1。
| 類別 | 原因 | 異步/同步 | 返回行為 |
|---|---|---|---|
| 中斷 | 來(lái)自I/O設(shè)備的信號(hào) | 異步 | 總是返回到下一條指令 |
| 陷阱 | 有意的異常 | 同步 | 總是返回到下一條指令 |
| 故障 | 潛在可恢復(fù)的錯(cuò)誤 | 同步 | 返回到當(dāng)前指令 |
| 終止 | 不可恢復(fù)的錯(cuò)誤 | 同步 | 不會(huì)返回 |
X86 體系結(jié)構(gòu)的每個(gè)中斷都被賦予一個(gè)唯一的編號(hào)或者向量(8 位無(wú)符號(hào)整數(shù))。非屏蔽中斷和異常向量是固定的,而可屏蔽中斷向量可以通過(guò)對(duì)中斷控制器的編程來(lái)改變。
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說(shuō)] 學(xué)習(xí)STM32F103的定時(shí)器功能 2023-10-24
- [電子說(shuō)] STM32基礎(chǔ)知識(shí):中斷系統(tǒng) 2023-10-24
- [電子說(shuō)] HAL庫(kù)中對(duì)串口中斷執(zhí)行流程的分解 2023-10-24
- [電子說(shuō)] nrf_serial庫(kù)的使用技巧 2023-10-24
- [電子說(shuō)] STM32 RTC Alarm的使用 2023-10-24
- [電子說(shuō)] GD32的中斷-外部中斷的實(shí)現(xiàn) 2023-10-24
- [電子說(shuō)] STM32學(xué)習(xí)筆記一外部中斷 2023-10-24
- [電子說(shuō)] 中斷可分為哪幾個(gè)階段?在執(zhí)行中斷響應(yīng)后,要完成哪些主要功能? 2023-10-24
( 發(fā)表人:admin )
