1. 簡述中斷處理的過程。指出其中哪些工作是由硬體完成的,哪些是由軟體實現的
CPU中斷處理過程為首先,將斷點處的PC值(即下一條應執行指令的地址)推入堆棧保留下來,這稱為保護斷點,由硬體自動執行。然後,將有關的寄存器內容和標志位狀態推入堆棧保留下來,這稱為保護現場,由軟體執行完成。保護斷點和現場後即可執行中斷服務程序,執行完畢,CPU由中斷服務程序返回主程序。
中斷返回過程為首先恢復原保留寄存器的內容和標志位的狀態,這稱為恢復現場,由軟體執行完成。然後,再加返回指令RETI,RETI指令的功能是恢復PC值,使CPU返回斷點,這稱為恢復斷點。恢復現場和斷點後,CPU將繼續執行原主程序,中斷響應過程到此為止。
(1)中斷服務程序以什麼結束擴展閱讀:
幾個中斷請求可能同時出現,但中斷系統只能按一定的次序來響應和處理。可最先被響應的中斷具有最高優先權,按優先順序別順序進行處理。優先權高低是由中斷部件的中斷排隊線路確定的。對應於各中斷級設置相應的屏蔽位。只有屏蔽位為1時,該中斷級才能參加中斷優先權排隊。
當機器設置很多中斷源時,為了簡化設計,對中斷源分組管理。具有相同中斷優先權的中斷源構成一個中斷級。同一級中斷使用同一個中斷控製程序起點。
2. 什麼是中斷簡述中斷處理過程
中斷就是執行中斷服務程序,這是中斷系統的核心。不同計算機系統的中斷處理過程各具特色,但對多數計算機而言,其中中斷服務程序的流程如下。 中斷處理過程基本上由3部分組成,第一部分為准備部分,其基本功能是保護現場,對於非向量中斷方式則需要確定中斷源,最後開放中斷,允許更高級的中斷請求打斷低級的中斷服務程序;第二部分為處理部分,即真正執行具體的為某個中斷源服務的中斷服務程序;第三部分為結尾部分,首先要關中斷,以防止在恢復現場過程中被新的中斷請求打斷,接著恢復現場,然後開放中斷,以便返回原來的程序後可響應其他的中斷請求。中斷服務程序的最後一條指令一定是中斷返回指令。
一個完整的中斷過程包括:
中斷請求:是指中斷源(引起中斷的事件或設備)向CPU
發出的請求中斷的要求。
中斷判優:當有多個中斷源發出請求時,需要通過適當的辦法決定先處理哪個中斷請求;
中斷響應:指CPU中止現行程序轉至中斷服務程序的過程;
中斷處理:就是指CPU執行中斷服務程序;
中斷返回: 執行完中斷服務程序後,返回到被中斷的程序
中斷的作用:
(1)CPU與I/O設備並行工作
(2)硬體故障處理
(3)實現人機聯系:在計算機工作過程中,如果用戶要干預機器,如查看計算的中間結果,了解機器的工作狀態,給機器下達臨時性的命令等。在沒有中斷系統的計算機里這些功能幾乎是無法實現的。
(4)實現多道程序和分時操作
(5)實現實時處理
(6)實現應用程序和操作系統的聯系
(7)多處理機系統各處理機間的聯系
3. 單片機中斷服務程序結束的標志是什麼
中斷服務程序的最後一條指令為RET,即中斷返回指令,此指令執行後,即退出中斷處理程序,返回中斷前的主程序中,繼續執行主程序。(以上假定是51單片機,中斷前運行在主程序中
4. 單片機中斷處理流程
當某中斷產生而且被CPU響應,主程序被中斷,接下來將執行如下操作:
1.
當前正被執行的指令全部執行完畢;
2.
PC值被壓入棧;
3.
現場保護;
4.
阻止同級別其他中斷;
5.
將中斷向量地址裝載到程序計數器PC;
6.
執行相應的中斷服務程序。
中斷服務程序ISR完成和該中斷相應的一些操作。ISR以RETI(中斷返回)指令結束,將PC值
從棧中取回,並恢復原來的中斷設置,之後從主程序的斷點處繼續執行。