微機原理與接口技術-第7章中斷系統-17_第1頁
微機原理與接口技術-第7章中斷系統-17_第2頁
微機原理與接口技術-第7章中斷系統-17_第3頁
微機原理與接口技術-第7章中斷系統-17_第4頁
微機原理與接口技術-第7章中斷系統-17_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

微機原理與接口技術第7章中斷系統2主要內容7.1

中斷系統概述7.2

8086CPU的中斷系統7.3

可編程中斷控制器8259A7.4

小結7.1

中斷系統概述7.1.1

中斷的基本概念什么是中斷?與生活場景的比較正在看書電話鈴響接電話繼續看書執行程序事件發生事件處理繼續執行程序中斷處理中斷請求及響應實際場景計算機中斷返回1.中斷的定義什么是中斷?讓CPU掛起當前正在執行的程序,轉去執行處理某一事件的操作。什么是中斷過程?CPU暫停執行原來的程序,轉去執行處理特定事件的服務程序,處理結束之后,又返回到原來的程序,從斷點開始繼續往下執行的全過程。中斷過程示意圖7-1指令指令指令指令指令指令指令指令有中斷請求指令指令指令指令返回中斷服務子程序1指令指令指令指令返回中斷服務子程序2有中斷請求中斷嵌套2.中斷源引起CPU中斷的事件——中斷源。例如:外設——請求輸入輸出數據,報告故障等事件——掉電、硬件故障、軟件錯誤、非法操作、定時時間到等中斷源分為:外部中斷、內部中斷內部中斷:CPU內部執行程序時自身產生的中斷外部中斷:CPU以外的設備、部件產生的中斷73.中斷服務程序為完成中斷源所期望的功能而編寫的程序稱為中斷服務程序。每一個中斷都對應一個中斷服務程序,計算機運行時,中斷服務程序駐留在內存。中斷服務程序的第一條指令所在的地址(即入口地址)稱為該中斷服務程序的中斷向量。要調用中斷服務程序,只需要將程序執行跳轉到相應的中斷服務程序的入口地址。84.中斷類型號中斷類型號——為了區別不同的中斷服務程序,分配給每個中斷服務程序的唯一編號。用戶調用中斷服務程序時,只要給出對應的中斷類型號,計算機即可自動查表獲得中斷向量。在8086/8088CPU中,中斷系統能處理256種不同類型的中斷。其中斷類型號為00H~FFH。95.中斷優先權系統中存在多個中斷源,CPU必須設法找出發出中斷請求的中斷源——中斷識別當出現多個中斷源同時需要CPU處理的時候,CPU應該先響應誰?——中斷判優這種響應中斷的順序,即各種中斷源的優先權順序。107.1.2中斷處理系統一個中斷處理系統需要具備的功能有:實現中斷及返回實現優先權排隊

多個中斷源同時提出中斷請求時,能找到優先權級別最高的中斷源進行響應,處理完后,響應級別較低的中斷源。實現中斷嵌套

當正在處理某個中斷時,若有更高優先權的中斷源發出中斷請求,則CPU中斷該中斷服務程序,響應更高級的中斷,待執行完后,再返回執行被中斷的中斷服務程序。中斷嵌套主程序中斷高級中斷中斷嵌套示意圖主程序中斷源5處理程序中斷源3請求中斷源1請求返回返回返回中斷源5請求(假設中斷源1~n的優先級為從高到低)中斷源3處理程序中斷源1處理程序137.1.3中斷控制方式的優點并行處理能力

實現了CPU和多個外部設備同步工作實時處理能力

中斷系統能處理實時要求故障處理能力CPU出現意想不到的情況或故障,可以利用中斷系統自動處理,而不用關機。7.2

8086的中斷系統

與中斷有關的控制線為:NMI、INTR、INTA#8086系統的中斷源內部中斷除法溢出:類型號0,商大于目的操作數所能表達的范圍時產生。單步中斷:類型號1,TF=1時產生斷點中斷:類型號3,這是一個軟中斷溢出中斷:類型號4,軟中斷即INTO指令。軟件中斷:即INTn指令,類型號n(0-255)。外部中斷非屏蔽中斷NMI:類型號2,不可用軟件屏蔽,CPU必須響應它??善帘沃袛郔NTR:類型號由PIC提供。IF=1時CPU才能響應。NMIINTR中斷邏輯軟件中斷指令溢出中斷除法錯單步中斷非屏蔽中斷請求中斷控制器8259APIC8086/8088CPU內部邏輯斷點中斷8086/8088中斷源類型可屏蔽中斷請求n43012中斷源的識別8086系統采用中斷類型碼來識別不同的中斷源,每個中斷源都有一個與它相對應的中斷類型碼。溢出、斷點、除法溢出、單步、非屏蔽中斷的類型碼為固定值軟件中斷的類型碼由指令給出可屏蔽中斷的類型碼由PIC給出171.

內部中斷

CPU中斷:CPU執行某些指令時出現錯誤或對標志寄存器的標志位進行設置而引發的中斷。除法錯中斷 中斷類型號為0單步執行中斷 中斷類型號為1斷點中斷 中斷類型號為3溢出中斷 中斷類型號為4INTO:當CPU檢測到溢出標志OF為1,且當前指令是INTO指令時,則立即引起溢出中斷。INT4:如果直接執行軟件中斷指令INT4,無論OF標志位如何,CPU都將會調用4型服務程序。181.內部中斷軟中斷

CPU執行在用戶程序中安排的有定義的INTn指令而引發的中斷。軟中斷的中斷類型號是在指令中直接給出的。軟中斷是在程序中安排而不是隨機的。在PC系列機器中,軟件中斷主要分為:BIOS中斷DOS中斷192.外部中斷(硬中斷)硬中斷是由來自CPU外部事件產生的中斷,即由外部設備提出中斷請求而產生的。硬中斷的產生具有隨機性,何時產生中斷,CPU預先并不知道。在PC/AT系統中,硬中斷由兩片8259A中斷控制器引入。PC/AT系統硬件中斷表中斷類型號IRQ標準應用02H08H09H0AH70H71H72H73H74H75H76H77H0BH0CH0DH0EH0FHNMI0128910111213141534567奇偶校驗錯、I/O檢測錯中斷定時器OUT0中斷鍵盤輸入中斷接收從片8259A的中斷請求INT實時鐘中斷改向INT0AH(以IRQ2出現)保留保留保留協處理器中斷硬磁盤控制器中斷保留串行通信(COM2)中斷串行通信(COM1)中斷打印機(LPT2)中斷軟磁盤控制器中斷打印機(LPT1)中斷212.

外部中斷(硬中斷)1)非屏蔽中斷

(邊緣觸發)非屏蔽中斷NMI:不受中斷允許標志IF的影響,它總是被CPU接受的。非屏蔽中斷的優先權高于可屏蔽中斷,中端類型號為2。2)可屏蔽中斷(電平觸發的)可屏蔽中斷INTR:是否響應INTR的請求,取決于中斷允許標志位IF的狀態。只有當中斷允許標志位IF為1時,CPU才能響應INTR的中斷請求。如果IF為0,即使INTR端有中斷請求信號CPU也不會響應。這種情況稱為中斷屏蔽。223.中斷向量表中斷向量是中斷處理子程序的入口地址,每個中斷類型對應一個中斷向量。中斷向量表是在內存中00000到00400h開辟的一個區域,將每個中斷服務程序的入口地址存放其中。共1KB,可以存放256個中斷向量。查表方法:中斷號*4=中斷向量表地址低16位——偏移量高16位——代碼段地址例:INT13H入口地址CS:IP=0210:045D5D041002IPCS0000:004C類型0中斷入口(除法出錯)類型1中斷入口(單步中斷)類型2中斷入口(NMI)類型3中斷入口(斷點中斷)類型4中斷入口(溢出中斷)類型5中斷入口類型31中斷入口類型32中斷入口類型255中斷入口?-?-?-?-1587000000400800C01001407F0803FC供用戶使用系統備用專用中斷IPCSIPCSIPCS圖8086中斷向量表中斷向量表的初始化初始化——將中斷服務程序的入口地址放入向量表例:中斷類型碼為48H的中斷處理子程序的名字為int48h,編寫程序段將該中斷處理子程序的入口地址放入向量表。中斷向量表的初始化CLIMOVAX,0MOVDS,AXMOVSI,48H*4MOVAX,OFFSETint48hMOV[SI],AXMOVAX,SEGint48hMOV[SI+2],AX

STI264.中斷響應條件向CPU發出中斷請求CPU處于開中斷狀態。即IF標志為1。CPU復位時,自動關中斷,當CPU響應任何中斷時,也立即自動關中斷。在中斷服務程序中用開中斷指令STI開中斷。CPU在一條現行指令結束之后響應中斷。5.中斷處理過程一個中斷處理過程應該包含以下五個過程: (1)中斷請求 (2)中斷排隊 (3)中斷響應 (4)中斷服務 (5)中斷返回1)中斷請求外設接口(中斷源)發出中斷請求信號,送到CPU的INTR或NMI引腳;中斷請求信號:邊沿請求,電平請求

例如,NMI為邊沿請求,INTR為電平請求中斷請求信號應保持到中斷被處理為止;CPU響應中斷后,中斷請求信號應及時撤銷。在8086/8088系統中,外設的中斷要經過8259A可編程中斷控制器(PIC)的排隊判優后向CPU發出:

(I/O接口)

→8259A→CPU(INTR)2)中斷排隊中斷源識別中斷源有很多,CPU必須識別是哪一個設備產生中斷。識別中斷源有兩個方法:軟件查詢。將中斷信號從數據總線讀入,用程序進行判別。中斷矢量法。由中斷源提供中斷類型號,CPU根據類型確定中斷源。(8086/8088即采用此種方法)2)中斷排隊中斷判優確定當前所有中斷請求中優先級最高的中斷源。因為CPU一次只能響應一個中斷,所以必須首先處理最緊急最重要的中斷。根據中斷源的輕重緩急給予一個中斷優先權級別,優先權級別最高的中斷源將首先得到響應。中斷優先級的控制方法硬件判優——鏈式判優、并行判優(中斷向量法)軟件判優——順序查詢中斷請求,先查詢的先服務(即先查詢的優先級別高)x86系統中,這項任務由8259A和CPU共同完成。3)中斷響應CPU通過中斷排隊確定了要響應的中斷源后,進入中斷響應,自動完成以下步驟:

①標志寄存器入棧②關中斷;0→IF③保護斷點,將正要執行的程序地址(CS:IP)入棧;④形成中斷服務程序入口地址。3)中斷響應(續)CPU中斷響應時,要做下述三項工作:向中斷源發出INTA中斷響應信號;斷點保護,包括FLAGS和CS、IP。這主要是保證中斷結束后能返回被中斷的程序。獲得中斷服務程序首地址(入口)。

[中斷類型碼*4]=>IP

[中斷類型碼*4+2]=>CS338086硬件中斷的時序8086從INTA發出中斷響應信號;第一個總線周期用來通知外設,CPU準備響應中斷,第二個總線周期接收外設發回的中斷類型碼,該類型碼必須通過16位數據總線的低8位傳送。4)中斷處理(中斷服務)中斷服務是指CPU執行中斷服務程序。中斷服務程序應包括:①保護現場,CPU響應中斷時自動保護斷點,寄存器則由程序員決定是否要入棧;②開中斷,CPU響應中斷時,自動執行關中斷操作。要實現中斷嵌套,必須在中斷服務程序中開中斷;4)中斷處理(中斷服務)③中斷處理,對中斷源作相應的處理,是中斷服務程序的核心;④關中斷,若中斷服務程序設置了開中斷,則此時應該關中斷,以保證恢復現場的操作不被打斷;⑤恢復現場,按后進先出的原則,PUSH和POP應配對使用;⑥中斷返回,從堆棧中彈出斷點,返回主程序。5)中斷返回執行中斷返回指令IRETIRET指令將使CPU把堆棧內保存的斷點信息彈出到IP、CS和FLAG中,保證被中斷的程序從斷點處能夠繼續往下執行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG進入中斷服務程序時中斷返回后(1)中斷響應(2)標志寄存器入棧(3)關中斷:0→IF(4)保存斷點:(CS:IP)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論