不同的外部設(shè)備、不同的體系結(jié)構(gòu)、不同的OS其中斷實(shí)現(xiàn)機(jī)制都有差別。
中斷存在的意義是CPU控制外部設(shè)備的同時(shí),外部設(shè)備也可以高效的“控制CPU”。這種設(shè)計(jì)思想擴(kuò)展到了外部硬件控制CPU、軟件控制CPU、CPU運(yùn)行管理等三個(gè)方面。因此,使用events事件表示,更加貼切實(shí)際,但在平時(shí)描述中,基本上仍然采用了中斷這個(gè)詞。
events的分類如下圖所示,主要包括中斷和異常,外部硬件控制CPU對應(yīng)hardware interupt,軟件控制CPU對應(yīng)software interrupt,CPU運(yùn)行管理則對應(yīng)exception。(所以腦子里還是要豐富這個(gè)認(rèn)識)
(你整得戳得代碼就容易產(chǎn)生異常,你如果對這個(gè)沒有映像,說明友友你是個(gè)軟件小能手。)
什么是中斷
中斷是為了解決外部設(shè)備完成某些工作后通知CPU的一種機(jī)制(譬如硬盤完成讀寫操作后通過中斷告知CPU已經(jīng)完成)。早期沒有中斷機(jī)制的計(jì)算機(jī)就不得不通過輪詢來查詢外部設(shè)備的狀態(tài),由于輪詢是試探查詢的(也就是說設(shè)備不一定是就緒狀態(tài)),所以往往要做很多無用的查詢,從而導(dǎo)致效率非常低下。由于中斷是由外部設(shè)備主動通知CPU的,所以不需要CPU進(jìn)行輪詢?nèi)ゲ樵儯蚀蟠筇嵘#ㄖ袛嗟囊饬x)
從物理學(xué)的角度看,中斷是一種電信號,由硬件設(shè)備產(chǎn)生,并直接送入中斷控制器(如8259A)的輸入引腳上,然后再由中斷控制器向處理器發(fā)送相應(yīng)的信號。處理器一經(jīng)檢測到該信號,便中斷自己當(dāng)前正在處理的工作,轉(zhuǎn)而去處理中斷。此后,處理器會通知OS 已經(jīng)產(chǎn)生中斷。這樣,OS就可以對這個(gè)中斷進(jìn)行適當(dāng)?shù)奶幚怼2煌脑O(shè)備對應(yīng)的中斷不同,而每個(gè)中斷都通過一個(gè)唯一的數(shù)字標(biāo)識,這些值通常被稱為中斷請求線。
-
cpu
+關(guān)注
關(guān)注
68文章
10907瀏覽量
213058 -
設(shè)備
+關(guān)注
關(guān)注
2文章
4548瀏覽量
70874 -
中斷
+關(guān)注
關(guān)注
5文章
900瀏覽量
41769
發(fā)布評論請先 登錄
相關(guān)推薦
stm32單片機(jī)中斷原理
什么是中斷源?中斷源的分類介紹
![什么是<b class='flag-5'>中斷</b>源?<b class='flag-5'>中斷</b>源的分類<b class='flag-5'>介紹</b>](https://file1.elecfans.com//web2/M00/A6/EA/wKgZomUMQTmAAa2wAAAT3LWQ_e8578.jpg)
中斷是什么?STM32中斷系統(tǒng)介紹和中斷配置步驟資料免費(fèi)下載
![<b class='flag-5'>中斷</b>是什么?STM32<b class='flag-5'>中斷</b>系統(tǒng)<b class='flag-5'>介紹</b>和<b class='flag-5'>中斷</b>配置步驟資料免費(fèi)下載](https://file.elecfans.com/web1/M00/67/FE/pIYBAFu_G5yAXRSEAAC7luvPbug473.png)
中斷時(shí)間間隔的中斷服務(wù)程序?qū)崿F(xiàn)免費(fèi)下載
![<b class='flag-5'>中斷</b>時(shí)間間隔的<b class='flag-5'>中斷</b>服務(wù)程序?qū)崿F(xiàn)免費(fèi)下載](https://file.elecfans.com/web1/M00/A1/CF/o4YBAF1I6PCAfy2vAAFV9JtkLqU321.png)
關(guān)于MPSoC的中斷處理介紹
中斷系統(tǒng)詳解、外部中斷
![<b class='flag-5'>中斷</b>系統(tǒng)詳解、外部<b class='flag-5'>中斷</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
微機(jī)原理——8086中斷類型以及中斷向量表、中斷響應(yīng)、中斷返回
![微機(jī)原理——8086<b class='flag-5'>中斷</b>類型以及<b class='flag-5'>中斷</b>向量表、<b class='flag-5'>中斷</b>響應(yīng)、<b class='flag-5'>中斷</b>返回](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32(六)-------中斷(外部中斷)
![STM32(六)-------<b class='flag-5'>中斷</b>(外部<b class='flag-5'>中斷</b>)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
12 . 中斷
![12 . <b class='flag-5'>中斷</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于單片機(jī)的外部中斷實(shí)驗(yàn) 中斷系統(tǒng)知識介紹
![基于單片機(jī)的外部<b class='flag-5'>中斷</b>實(shí)驗(yàn) <b class='flag-5'>中斷</b>系統(tǒng)知識<b class='flag-5'>介紹</b>](https://file1.elecfans.com/web2/M00/8D/DE/wKgZomTA5dmAeodEAANHCQU5vrM466.jpg)
單重中斷與多重中斷介紹
![單重<b class='flag-5'>中斷</b>與多重<b class='flag-5'>中斷</b><b class='flag-5'>介紹</b>](https://file1.elecfans.com/web2/M00/AB/58/wKgaomU_bBKAYdt9AAO4WMBbwPY473.jpg)
評論