內(nèi)部中斷、外部中斷、硬件中斷和軟件中斷分析

內(nèi)部中斷、外部中斷、硬件中斷和軟件中斷分析

ID:2029744

大?。?6.50 KB

頁數(shù):2頁

時間:2017-11-14

內(nèi)部中斷、外部中斷、硬件中斷和軟件中斷分析_第1頁
內(nèi)部中斷、外部中斷、硬件中斷和軟件中斷分析_第2頁
資源描述:

《內(nèi)部中斷、外部中斷、硬件中斷和軟件中斷分析》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫

1、軟件中斷、硬件中斷、外部中斷、內(nèi)部中斷??2010-01-3016:35:05

2、??分類:?電子愛好者

3、字號?訂閱8086/8088把中斷分為內(nèi)部中斷和外部中斷兩大類。為了支持多任務和虛擬存儲器等功能,80386把外部中斷稱為“中斷”,把內(nèi)部中斷稱為“異?!?。與8086/8088一樣,80386通常在兩條指令之間響應中斷或異常。80386最多處理256種中斷或異常。??????1.中斷????????????對80386而言,中斷是由異步的外部事件引起的。外部事件及中斷響應與正執(zhí)行的指令沒有關系。通常,中斷用于指示I/O設備的一次操作已完成。與8

4、086/8088一樣,80386有兩根引腳INTR和NMI接受外部中斷請求信號。INTR接受可屏蔽中斷請求。NMI接受不可屏蔽中斷請求。在80386中,標志寄存器EFLAGS中的IF標志決定是否屏蔽可屏蔽中斷請求。??????????????外部硬件在通過INTR發(fā)出中斷請求信號的同時,還要向處理器給出一個8位的中斷向量。處理器在響應可屏蔽中斷請求時,讀取這個由外部硬件給出的中斷向量號。處理器對這個中斷向量號并沒有規(guī)定。但在具體的微機系統(tǒng)中,系統(tǒng)必須通過軟件和硬件的配合設置,使得給出的這個中斷向量號不僅與外部中斷源對應,而且要避免中斷向量號使用沖

5、突情況的出現(xiàn)。可編程中斷控制器芯片8259A可配合80386工作,能夠根據(jù)設置向處理器提供上述中斷向量號,還能處理中斷請求的優(yōu)先級。每個8259A芯片可以支持8路中斷請求信號,如果使用9個8259A芯片(一個主片,8個從片),就可使80386在單個引腳INTR上接受多達64個中斷源的中斷請求信號。??????????????處理器不屏蔽來自NMI的中斷請求。處理器在響應NMI中斷時,不從外部硬件接收中斷向量號。與8086/8088一樣,在80386中,不可屏蔽中斷所對應的中斷向量號固定為2。為了不可屏蔽中斷的嵌套,每當接受一個NMI中斷,處理器就

6、在內(nèi)部屏蔽了再次響應NMI,這一屏蔽過程直到執(zhí)行中斷返回指令IRET后才結束。所以,NMI處理程序應以IRET指令結束。??????2.異常????????????異常是80386在執(zhí)行指令期間檢測到不正常的或非法的條件所引起的。異常與正執(zhí)行的指令有直接的聯(lián)系。例如,執(zhí)行除法指令時,除數(shù)等于0。再如,執(zhí)行指令時發(fā)現(xiàn)特權級不正確。當發(fā)生這些情況時,指令就不能成功完成。軟中斷指令“INT??n”和“INTO”也歸類于異常而不稱為中斷,這是因為執(zhí)行這些指令產(chǎn)生異常事件。??????????????80386識別多種不同類別的異常,并賦予每一種類別以不同

7、的中斷向量號。異常發(fā)生后,處理器就象響應中斷那樣處理異常。即根據(jù)中斷向量號,轉相應的中斷處理程序。把這種中斷處理程序稱為異常處理程序可能更合適。??????????????根據(jù)引起異常的程序是否可被恢復和恢復點不同,把異常進一步分類為故障(Fault)、陷阱(Trap)和中止(Abort)。我們把對應的異常處理程序分別稱為故障處理程序、陷阱處理程序和中止處理程序。??????????????故障是在引起異常的指令之前,把異常情況通知給系統(tǒng)的一種異常。80386認為故障是可排除的。當控制轉移到故障處理程序時,所保存的斷點CS及EIP的值指向引起故障

8、的指令。這樣,在故障處理程序把故障排除后,執(zhí)行IRET返回到引起故障的程序繼續(xù)執(zhí)行時,剛才引起故障的指令可重新得到執(zhí)行。這種重新執(zhí)行,不需要操作系統(tǒng)軟件的額外參與。故障的發(fā)現(xiàn)可能在指令開始執(zhí)行之前,也可能在指令執(zhí)行期間。如果在指令執(zhí)行期間檢測到故障,那么中止故障指令,并把指令的操作數(shù)恢復為指令開始執(zhí)行之前的值。這可保證故障指令的重新執(zhí)行得到正確的結果。例如,在一條指令的執(zhí)行期間,如果發(fā)現(xiàn)段不存在,那么停止該指令的執(zhí)行,并通知系統(tǒng)產(chǎn)生段故障,對應的段故障處理程序可通過加載該段的方法來排除故障,之后,原指令就可成功執(zhí)行,至少不再發(fā)生段不存在的故障。?

9、?????????????陷阱是在引起異常的指令之后,把異常情況通知給系統(tǒng)的一種異常。當控制轉移到異常處理程序時,所保存的斷點CS及EIP的值指向引起陷阱的指令的下一條要執(zhí)行的指令。下一條要執(zhí)行的指令,不一定就是下一條指令。因此,陷阱處理程序并不是總能根據(jù)保存的斷點,反推確定出產(chǎn)生異常的指令。在轉入陷阱處理程序時,引起陷阱的指令應正常完成,它有可能改變了寄存器或存儲單元。軟中斷指令、單步異常是陷阱的例子。??????????????中止是在系統(tǒng)出現(xiàn)嚴重情況時,通知系統(tǒng)的一種異常。引起中止的指令是無法確定的。產(chǎn)生中止時,正執(zhí)行的程序不能被恢復執(zhí)行。

10、系統(tǒng)接收中止后,處理程序要重新建立各種系統(tǒng)表格,并可能重新啟動操作系統(tǒng)。硬件故障和系統(tǒng)表中出現(xiàn)非法值或不一致的值是中止的例子。???軟硬

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。