接口技術章中斷技術_第1頁
接口技術章中斷技術_第2頁
接口技術章中斷技術_第3頁
接口技術章中斷技術_第4頁
接口技術章中斷技術_第5頁
已閱讀5頁,還剩70頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第七章 中斷技術7.1 基本概念基本概念 一、中斷一、中斷 中斷是一個過程中斷是一個過程。它。它是指是指CPUCPU在正常運行程序時,由于在正常運行程序時,由于內部內部/ /外部事件,由主程序轉到為中斷事件服務的程序中去,外部事件,由主程序轉到為中斷事件服務的程序中去,服務完畢,再返回執行原程序。這一過程稱為中斷。服務完畢,再返回執行原程序。這一過程稱為中斷。 中斷可以分為中斷可以分為 硬件中斷:硬件中斷: 由外部硬件產生的中斷。由外部硬件產生的中斷。 軟件中斷:軟件中斷: 由程序預先安排的中斷。由程序預先安排的中斷。 中斷的特征:具有隨機性。中斷的特征:具有隨機性。第七章 中斷技術v二、中斷

2、的基本過程 分為四個階段 中斷請求 中斷響應 中斷服務 中斷返回主程序入口服務程序 中斷請求 返回v1.1.中斷請求中斷請求v 外設先(通過接口)發送外設先(通過接口)發送“中斷請求中斷請求”信信號號v 給給CPUCPU。v CPUCPU檢查檢查“中斷請求中斷請求”輸入線。輸入線。v CPUCPU有權決定是否響應中斷(有權決定是否響應中斷(中斷允許中斷允許):):v若允許請求,、則中斷允許觸發器若允許請求,、則中斷允許觸發器IFIF置置“1”1”,v (使用(使用STISTI指令開中斷)。指令開中斷)。 不允許中斷請求的情況: 如:在實時控制時,需采集一段連續數據為防上數據 丟失,不允許其他中

3、斷請求; 又:執行管理程序中某些重要程序,CLI指令進行屏蔽。 若不允許申請,(用CLI指令)關中,觸發器IF=0。 沒有獲得允許向CPU發出中斷請求,則稱為 中斷被屏蔽(中斷屏蔽)。 CPU在當前指令執行結束時,響應中斷,進入中斷的響應周期; 發出二個中斷回答信號INTA完成一個中斷響應周期 進行斷點及標志保存 如:段地址(CS),偏移地址(IP)標志FR以及壓入堆棧。 讀取中斷類型號,找到中斷源; 裝入中斷服務程序的入口地址(CS,IP)v3.中斷服務v 轉入中斷服務程序后,其服務程序的內容有:v a.與CPU交換數據,進行I/O操作;v b.外部期望CPU給以控制,進行參數修改。v 在程

4、序開頭,將可能使用的寄存器內容進棧,即保護現場。v 在服務程序的未尾,將入棧的寄存器內容彈出,即恢復現場。v4.4.中斷返回中斷返回v 中斷服務程序結束,執行中斷返回。中斷服務程序結束,執行中斷返回。v 自動將保存在堆棧中的標志自動將保存在堆棧中的標志PSWPSW,斷點(,斷點(IPIP,CSCS)依次彈出并裝入。)依次彈出并裝入。v 返回到中斷前的地址(斷點地址)開始繼返回到中斷前的地址(斷點地址)開始繼續執行主程序。續執行主程序。v三、中斷源、中斷識別、優先級 中斷源:發出中斷請求的外設或引起中斷的內部原因稱為中斷源。 中斷識別:CPU響應中斷后,只知道有中斷請求但不知道是哪一個中斷源,尋

5、找中斷源的操作過程稱為中斷識別。 中斷識別的目的:形成該中斷服務程序的入口地址。v CPUCPU識別中斷的方法:識別中斷的方法:v 二種: 向量中斷v 程序查詢中斷v 向量中斷:在CPU響應中斷后,由中斷控v 制器將服務程序入口地址送到CPU。v 查詢中斷:采用軟件查詢技術來確定發出v 中斷請求。四、多重中斷(中斷嵌套)響應1響應2服務 器返回返回主程序五、中斷的軟硬件系統硬件:外設、中斷控制器、CPU、總線控制器、BIOS軟件:OS、中斷初始主程序、中斷處理子程序外設:發出中斷請求(可以是邊沿觸發或電平觸發)、數據輸入輸出、握手聯絡中斷控制器:中斷請求的鎖存、中斷排隊、中斷屏蔽、提供中斷向量

6、、中斷結束CPU:中斷檢測、中斷允許、狀態輸出(8288中斷周期)、斷點(FR、CS、IP)入棧、獲得向量n、計算入口地址、取子程序CS/IP、轉向執行子程序v8288總線控制器:中斷響應周期生成、發出INTA-1,告知中斷響應,發出INTA-2,獲取中斷向量v中斷初始主程序:見8255A方式1、2v中斷處理子程序:見8255A方式1、2v操作系統:很多寫好的中斷處理子程序int21等、中斷響應機制:事件驅動處理(消息機制)、事件CLASS類DLL/VXD等。vBIOS:很多寫好的中斷處理子程序、開機初始化中斷向量。5。2 80X86的中斷系統的中斷系統一一. 80X86的中斷分類(的中斷分類

7、(256級)級)分類 1. 1.中斷服務程序的入口地址中斷服務程序的入口地址-中斷向量中斷向量 CPU響應中斷后,中斷源提供地址信息,由此地址信息對程序的執行進行導向,引導到中斷服務程序中去,故把這個地址信息稱為中斷向量。 中斷向量包括中斷服務程序的段基址CS,偏址IP共4個字節。 中斷向量表:所有的中斷向量集中存放到存儲器的某一區域,這一區域稱之為中斷向量表。二二.80X86的中斷類型碼及的中斷類型碼及中斷向量表中斷向量表中斷向量表0BA90125000003FF1024個單元000003FF共1024個字節存放256個向量2.中斷向量,中斷向量指針與中斷類型號 中斷向量:中斷服務程序入口地

8、址 中斷向量指針: 指出中斷向量存放在中斷矢量表中的位置(或地址)。 在在PCPC系列中中斷向量指針由中斷類型號提供系列中中斷向量指針由中斷類型號提供的,即的,即 向量地址向量地址=0000=0000:類型號:類型號4 4如:硬盤“1NT13H”它的向量地址=0000:13H4 =0000:004CHn004CH開始連續4個單元中用來存放“INT 13H”的中斷向量:中斷向量寄存器中斷向量指針00700FC9CSHCSLIPHIPL004FH004EH004DH004CH圖7.2 中斷向量指針示意圖中斷號向量地址中斷向量硬盤13H13H4=4CH0070:0FC95。2 80X86的中斷系統的

9、中斷系統一一. 80X86的中斷分類的中斷分類分類二、硬中斷(見下表)1.不可屏蔽中斷NMI-通常用于處理緊急/災難性事件 RAM奇偶校驗錯PCK I/O通道校驗錯I/O CHCK 協處理器8087運算錯INT 響應時間響應時間:在當前機器周期之后立即響應。在當前機器周期之后立即響應。 INTRINTR中斷可以被中斷可以被CPUCPU用指令用指令CLICLI來禁止,來禁止,由由STISTI允許允許。中斷響應條件:I F=1 INTR=1中斷響應時間:當前指令執行完以后,所以,INTR高電平信號需要一定的保持時間高電平信號需要一定的保持時間。INTR中斷響應過程如下:2.2.可屏蔽中斷可屏蔽中斷

10、INTRINTRM80X86I PCSPSWINTR 1 INTA 2 類型碼N 3 中斷矢量表零頁地址空間4個字節TYPE 0TYPE 1IPCS6 N*4SS9PA(20位.入口)中斷服務程序STI CLI 10.IRET 11IF .TF清零57斷點.現場恢復12 4 斷點. .現場進堆棧8中斷響應過程INTR三.80X86的中斷響應總線周期:當當 CPU CPU收到收到INTRINTR中斷請求中斷請求 當前一條指令執行完,且中斷允許標志位當前一條指令執行完,且中斷允許標志位IF=1IF=1 那么:那么:CPUCPU進入中斷響應周期,它通過總線控制器進入中斷響應周期,它通過總線控制器發出

11、二個連續中斷應答信號完成一個中斷響應周期發出二個連續中斷應答信號完成一個中斷響應周期 在中斷響應周期的兩個工作:在中斷響應周期的兩個工作: 1.1.第一個第一個INTA-INTA-脈沖時,通知中斷源,其中斷請求脈沖時,通知中斷源,其中斷請求已被響應,準備發送類型碼。此時,已被響應,準備發送類型碼。此時,CPUCPU產生產生LOCK-LOCK-信號,使總線處于封鎖狀態,防止信號,使總線處于封鎖狀態,防止DMADMA占用總線。占用總線。 2.2.在第二個在第二個INTA-INTA-,CPUCPU通過數據總線低通過數據總線低8 8位讀取類位讀取類型碼。同時,型碼。同時,LOCK-LOCK-信號撤除,

12、總線解封信號撤除,總線解封 。 中斷響應總線周期時序波形圖中斷響應總線周期時序波形圖T1T2T3T4T1T2T3T4中斷號CLK(時鐘)ALE(地址允許)LOCK(總線鎖存)INTA(中斷應答)D0D7(數據)圖7.8 中斷響應周期3. 8259A3. 8259A可編程中斷控制器可編程中斷控制器一、一、8259A8259A中斷控制器的功能。中斷控制器的功能。 1.1.一片一片82598259芯片可響應芯片可響應8 8級級INTRINTR中斷請求,通過級連中斷請求,通過級連INTRINTR可擴展至可擴展至6464級。級。 2.2.可對各級可對各級INTRINTR請求進行優先權管理,請求進行優先權

13、管理,82598259具有完全具有完全嵌套,循環優先級,特定屏蔽等多種優先權管理方式。嵌套,循環優先級,特定屏蔽等多種優先權管理方式。 3.3.對每一級中斷請求均可依需要給予屏蔽或開放。對每一級中斷請求均可依需要給予屏蔽或開放。 4.4.當當CPUCPU響應響應INTRINTR中斷請求后,中斷請求后,82598259可提供相應的中斷可提供相應的中斷類型碼,從而使類型碼,從而使CPUCPU迅速轉入中斷服務程序入口。迅速轉入中斷服務程序入口。 5.5.可通過編程手段,設置可通過編程手段,設置82598259的的8 8種不同工作方式。種不同工作方式。8259AWRRDCSINTINTAIR0IR1I

14、R2IR7外部中斷源。WRRD。地址譯碼A71A0。INTRINTAVCCC GNDCPUCAS0 1 2 SP/EN8259的引腳及其功能的引腳及其功能8259有28個引腳,具體如下:INT數據總線緩沖器讀/寫邏輯級聯緩沖/比較器控制邏輯正在服務寄存器ISR優先級分析器PR中斷屏蔽寄存器 IMR中斷請求寄存器IRRIR0IR1IR2IR3IR4IR5IR6IR7D0D7A0CAS0CAS1CAS2SP/ENCSWRRD圖7.6 8259A內部邏輯框圖INTA二、二、8259A的內部結構的內部結構 CPU數據總線緩沖器讀/寫控制邏輯內部控制邏輯DB8位CSWRRDA0所有與CPU交換信息通過它

15、進出CPU8259中斷控制器由8個主要部分組成,根據8259是一專用接口芯片,可將它的8個部分按下面三個部分劃分: 1. 與與CPU接口部分:接口部分:CPU通過它實現 8259 的讀/寫操作控制以及對 8259進行初始化操作對8259芯片內部實現控制操作,使8259按初始化編程操作 2. 與外部硬件(中斷源)連接部分:與外部硬件(中斷源)連接部分: 中斷請求寄存器(IRR)一片8259有8條INTR中斷請求線 IR0IR7,每一條請求線有一個對應的觸發器來存放中斷請求信號。 中斷請求寄存器IRRIR0IR1IR2IR3IR4IR5IR6IR7 (3)中斷屏蔽寄存器IMR的每一位可對IRR中相

16、應的中斷源進行屏蔽,如果禁止某IR提出中斷請求,就將其中在IMR中的相應位量“1”。 IMR對于較低優先權的IR實行屏蔽并不影響較低優先權的IR的輸入 3. 內部工作寄存器:內部工作寄存器: (1)正在服務寄存器ISR,用于記錄已被獲準的中斷請求(即將與IR對應的IS位置位) (注意:注意:ISR除存放正在被服務的中斷源外,還包括尚未除存放正在被服務的中斷源外,還包括尚未服務完而中途被別的中斷源暫時中止的中斷)服務完而中途被別的中斷源暫時中止的中斷) ( 2)優先權分析器 對保存在IRR的各個中斷請求經過判斷 確定其中一個為最高優先權,然后在中斷響應周期時間將它選通到中斷服務寄存器 中。分析器

17、分析器中斷屏蔽寄存器IMRD0D1D2D3D4D5D6D7中斷請求寄存器IRR & & 中斷請求優先級編碼器1ISR編碼器 AB比較器B0B1B2A0A1A2 &INTIR0IR1IR2IR3IR4IR5IR6IR7圖7.7 中斷優先級分析器的工作原理返回 8259的中斷響應過程:的中斷響應過程: 1。當有一條或多條中斷請求引腳信號有效時(即IR70相應引腳為“1”)。 中斷請求寄存器IRR的相應位被置為“1”。 2。若中斷請求IR1線中至少有一個中斷請求被允許,則8259通過INT引腳向CPU的INTR送出中斷請求信號。 3。若CPU處于開中狀態(IF=1),則在當前指令執行完后,向8259

18、發回INTA信號,表示中斷請求已被CPU響應。 4。8259接收到CPU發出的INTA信號后。將中斷請求源(對應于各IRi) 中 優先權最高的對應的ISR位置位,然后將IRR中相應的IRi位復位。三、三、8259的工作過程的工作過程 5. 8086CPU繼續啟動另一個中斷響應周期,發送第二個INTA信號,此時 8259向數據總線DB70送出8位的中斷類型碼。 返回Type碼N用戶在對8259初始 化編程時設定由中斷請求線IRi的進制編碼決定,由8259自動插入填寫D7D3D2D1D0 該中斷類型碼的生成:該中斷類型碼的生成: 非自動結束方式非自動結束方式:在中斷服務程序結束處寫一中斷結束命 令

19、(置EIO為“1”),相應IS位 才會被復位。至此,至此,8259的一次中斷響應過程完成。的一次中斷響應過程完成。6、CPU讀取中斷類型碼N后,用N*4查中斷矢量表,獲取服務程序入口地址有關信息(IP和CS值),轉入服務程序入口執行程序。7、中斷響應周期完成后,8259中斷工作結束,被量位的ISR中的相應位復位,其中斷方式有兩種: 當8259工作于AEOI模式(自動結束方式自動結束方式):當CPU送出的INTA脈沖結束時,其后沿使在“4”中被量位的IS位復位(清零)。v 從8259各I/O端口讀狀態字,中斷類型碼及查詢字v 對8259各I/O端口寫入初始化命令字,工作方式命令字。 操作是由RD

20、-、WR-控制信號進行控制,而對各端口的尋址則是由CS-和A0確定的。v具體I/O端口尋址及操作情況如下: (一片8259只占兩個端口地址,也就是說8259只有兩個I/O端口-奇數口和偶數口 )四四 對對8259的端口尋址及其操作(讀的端口尋址及其操作(讀/寫基本操作)寫基本操作)PIC1 PIC2CS A0 WR RD 輸入操作(輸入操作(RD)20H 21H0A0H0A1H0 0 1 00 1 1 0 IRR ISR 查詢字(查詢字(OCW3)IMR(OCW1) CPU輸出操作(輸出操作(WR)20H21H0A0H0A1H0 0 0 0 0 10 0 0 1 0 10 0 1 X 0 10

21、 1 X X 0 1 OCW2CPU寫寫 OCW3 ICW1 寫(寫(IMR).OCW1.ICW2.3.4對對8259的端口尋址及其基本操作(讀的端口尋址及其基本操作(讀/寫基本操作)寫基本操作)注意注意:8259只有兩個端口,由只有兩個端口,由A0一位確定:一位確定: 1:奇數口:奇數口 0:偶數:偶數口口 由奇由奇/偶數端口及控制字中的某些特定偶數端口及控制字中的某些特定 位來確定命令字往那位來確定命令字往那個個R中送。中送。DB7-0DB7-0B07TA078286OEB07TA078286OEB07TA078286OED07CAS02從片ASP/ENINTAINTD07CAS02從片B

22、SP/ENTITAINTD07CAS02主片SP/ENINTAIR5 IR6+5V1k+5V1k+5V1k數據總線數據總線局部數據總線DENDT/RINTRINT INTA圖7.9 緩沖方式級聯系統數據總線返回 必須在8259始工作前設量 可在啟動8259之后的 任何地方設置 五、對五、對8259的編程:的編程: (初始化編程)(初始化編程) 啟動8259開始工作:向8259送入24個字節的初始化命令字 (ICW14)對8259工作方式進行設量:向8259送出3個字節的操作命令字 (OCW13) Initialigation CommandWordOperation Command Word

23、即向8259相應端口送入24個字節的初始化命令字。 初始化命令字輸出順序如下: (一(一 ).對對8259的初始化編程順序:的初始化編程順序:ICW1ICW2單片?單片?ICW3N ( SNGL=0)Y需要需要ICW4設定中斷請求觸發方式設定中斷請求觸發方式中斷類型號的設定中斷類型號的設定Y(ICW4=1)ICW4準備好進行 中 斷 服 務設定特定完全設定特定完全嵌套方式嵌套方式設定級聯方式1 SNGL為“1”/“0”: 由ICW1中的D1位說明 ICW4 需 要 否: 由ICW1中的D0位決定2 4個命令字中, ICW1 ICW2是必須的, 而ICW3 ,ICW4是由工作方式來確定是否需要。

24、說明:說明:A0=0、D4=1:是ICW1的標志。A0=1 ICW2 利用A0=1和初始化的次序來尋址。A0=1 ICW3 特征位與特定順序A0=1 ICW4 特征位與特定順序 1LTIM XSNGLICW4D7D6D5D4D3D2D1D0只用于8位機一定為1(ICW1的特征位1 電平觸發0 邊沿觸發只用8位機1 單片0 級聯1 需要ICW40 不需要ICW4(二)、各初始化命令字的格式及其含義(二)、各初始化命令字的格式及其含義 1. ICW1:中斷請求觸發方式的設定中斷請求觸發方式的設定 格式如下: 當某IRI中斷請求被CPU響應后,在系統的第二個INTA周期8259須向CPU提供8位的T

25、YPE碼(其高5位由ICW2的D7D3位提供,其低3位由 IRI的二進制編碼決定,在CPU讀取TYPE碼前,由8259自動填入到DB7 0的D2 D1 D0三位數據總線上)vINTR中斷源的TYPE碼=(ICW2的)高5位+低3位(IRI的編碼) 2. ICW2 : 用于中斷類型碼的提供用于中斷類型碼的提供TYPE碼碼 v 編程舉例:在PC機中,硬盤中斷源的類型碼的高5位由用戶 或系統在ICW2中設定,ICW2內容為08H,其中斷請求線與8259的IR5相連,類型 碼的形成過程如下: TYPE碼高5位已獲得:D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 用戶初始化編程:

26、MOV AL, 08H; AL ICW2內容 OUT 21H, AL; AL ICW2對應端口 (A0=1) CPU響應硬盤中斷請求后,8259在INTA2送低3位至ICW2對應端口中,將IR5 對應101連同ICW2的高5位一齊送到DB70上:00001101IR5得到硬盤中斷TYPE碼為0DH在PC/XT和PC/AT中,IRI的二進制編碼也就是在系統中斷優先級的編碼。. PC/XT、PC/AT中斷類型碼的生成表見書P98 3 . ICW3(中斷級聯方式的設定): ICW3初始化命令字用于8259的級聯,若系統中只有一片8259A,則不需要設置命令字ICW3,若有多片若有多片8259級聯,則

27、主、從級聯,則主、從8259片都必須設置片都必須設置ICW3命令字,且主、從片的ICW3格式有所區別,具體如下:主片ICW31S7S6S5S4S3S2S1S0A0D7D6D5D4D3D2D1D0(2)ICW3的格式: a.主片ICW3S 7-0:1-8259主片的IRi引腳上連接有8259從片0-無從片連接說明:說明:當由多片8259A構成級聯中斷控制器機構時,與中斷請求線IRI相連的8259A叫做從8259,與CPU的INTR引腳相連的那一片8259A叫做主8259A,級聯將中斷源由8擴至64級。 編程舉例:若主8259的IR3和IR5兩 輸入端分別連接了從 8259A片,則有主主82598

28、259的的ICW3ICW3的值為的值為00101000B=28H00101000B=28H。 MOV AL, 28H; 主ICW3 AL OUT 21H, AL; AL 主ICW3對應 端口A0=1從片ICW3A0D7D6D5D4D3D2D1D01ID2 ID1 ID0 b.從片ICW3D7D3ID2 D2ID1 D1 ID0 D0 未用未用0 0 0 IR00 0 1 IR10 1 0 IR20 1 1 IR31 O O IR4 標明從標明從8259的的INT引腳引腳1 0 1 IR5 具體與主具體與主8259的哪一個的哪一個1 1 0 IR6 IRI引腳相連引腳相連1 1 1 IR7 .從

29、從8259的從的從ICW3的設定過程與主的設定過程與主ICW3相同相同 例如 :有主8259的IR6和IR1分別連接了從片8259, 則 有: 從片A的ICW3=00000001B=01H-與主片IR1相連 從片B的ICW3=00000110B=06H-與主片IR6相連 編程如下: MOV AL, 01H; OUT 21H, AL; MOV AL, 06H; OUT 21H, AL; 級聯方式下級聯方式下CPU對從片中斷請求的響應:對從片中斷請求的響應: 1 . 從IRI 經判優,最終到達CPU的INTR引腳。 2 .CPU響應INTR請求,發出INTA,給所有8259(主及從) 3 . 主8

30、259通過級聯線CAS20向所有從片送出優先權最高的 中斷源所在的從8259的標識碼符 4 . 各從片將CAS20上來的ID2-0碼與自己的ID2-0碼核對,進行 比較以后,相符的從8259就在INTA2周期送出中斷類型碼。 5 . 在CPU發出INTA2時,從DB70上讀取TYPE碼CPU INTR INTA WR RD DB8 CS A0SP/EN IR0 8259從INT INTA IR7WRRD CAS20 CS A0SP/ENN IR0 8259從INTINTA IR7WRRD CAS20 8259中斷級聯方式的連線中斷級聯方式的連線 CS A0SP/EN IR0 8259主 INT

31、 IR7INTAWRRD CAS20 返回返回49 4.ICW 4.ICW4 4格式:格式: (嵌套和中斷結束方式)1 16位CPU0 8位CPUD7 D6 D5 D4 D3 D2 D1 D00 0 0 SFNM BUF M/S AEOI MPM 1 特定的完全嵌套方式0 正常的完全嵌套方式 0 1 0 1 1 非緩沖方式緩沖方式/從緩沖方式/主主結束中斷的方式, 1 自動EDI 由OCW2具體規定 0 非自動EDI 注:注:非緩沖方式(BUF=0時),則M/S無意義,此時主/從 由SP端決定。主片:SP=+5V,從片:SP接地 編程舉例: 在TP-86單片機中,CPU8086為16位機,采用

32、非自動結束中斷方式, 使用1片8259,正常完全方式,8259與系統總線間采用緩沖器連接, 其對應其對應ICW4為為00001101B=0DH MOV DX, 0FFDEH; ICW4對應端口地址 DX MOV AL, 0DH; 設置ICW4 送 AL OUT DX, AL; ICW4送8259奇數口(A0=1) (三)(三).設置設置8259的工作方式的工作方式通過設置OCW1-OCW3實現 .特定完全嵌套方式的設定(ICW4) 問題的提出: 在級聯方式中,當從控接收到比“正在服務”中的那一個優先等級更高的中斷申請時,就不會被主控識別,就是說,從控的較高優先級的中斷就不能被及時服務。 為了解

33、決這個問題,8259提供了一種特定的完全嵌套方式。 如果在主控中采用這種方式,那么當從控收到一個更高的中斷請求時,它是會被主控識別的。這種完全嵌套方式是在初始化時由ICW4指定的。返回 8259的工作方式有:的工作方式有: 1 中斷屏蔽方式: 正常 OCW1 IMR 特定 OCW3(D6 D5=1)設定 2 中斷嵌套方式 : 完全固定,依IR0IRR7排優 特定的完全嵌套 ICW4(D4 SFNM)=1 (CPU可以響應所有與正在被響應的ISRI同 級以及更高優先權的中斷請求) 3 中斷優先權排隊方式 :優先權固定 優先權輪轉,由OCW2具體操作 4 中斷結束方式 : 自動結束,在INTA2自

34、動使ISRI置0, ICW4的D1=1 非自動結束,通過ICW4的D1=0 以及 OCW2 指定/不指定,輪轉/不輪轉 5 級聯 6 緩沖 7 讀8259的狀態 ,即 讀IRR, ISR 。先設量OCW3(D1 D0) 再使用IN命令 讀;對IMR進行讀,可以直接通過IN指令對奇數端口進行讀操作即可。 8 讀查詢字-查詢方式(適用于非80X86微機) 先設置OCW3(D2)=1 CPU輸出 RD信號 8259置位對應ISRi=1,同時 送查詢字 DB70 方式方式v當A0=1時,尋址OCW1;v當A0=0,D4=0,D3=0時,尋址OCW2;v當A0=0,D4=0,D3=1時,尋址OCW3(1

35、)OCW1(中斷屏蔽寄存器操作數(中斷屏蔽寄存器操作數) OCW1用于設置用于設置8259A的屏蔽中斷操作,它可以直接的屏蔽中斷操作,它可以直接對中斷屏蔽寄存器對中斷屏蔽寄存器IMR的相應屏蔽位進行操作。的相應屏蔽位進行操作。1-禁止禁止 0-允許允許 其格式如下:其格式如下:M3M2M1M4M5M6M71A0D7D6D5D4D3D2D1D0 0:允許IR7 1:屏蔽IR7 0:允許IR0 1:屏蔽IR0 (2) OCW2。當A0=0,D4=D3=0時可尋址OCW2。OCW2用于控制中斷結束、優先權循環等操作。OCW2命令或方式的選擇以位的組合格式來設置,而不是按位設置。OCW2的格式和各位的

36、功能如圖8.15所示。 OCW2的格式0L2L1L00EOISLR0A0D7D6D5D4D3D2D1D0 IR的級別編碼一般EOI(正在服務的ISR復位)001011101100111110010特殊EOI(L0L2指定的ISR復位)一般EOI, 正在服務的IR優先級置為最低自動EOI下置循環優先級自動EOI下清循環優先級特殊EOI, 正在服務的IR優先級置為最低000不執行EOI, L0L2指定的優先級置為最低無操作 R:優先權循環控制位。R=1為循環優先權,R=0為固定優先權。 SL:選擇指定的IR級別位。SL=1,操作在L2L0指定的編碼級別上執行;SL=0,L2L0無效。 EOI:中斷

37、結束命令位,在非自動中斷結束命令情況下,EOI=1表示中斷結束命令,它使ISR中最高優先權位復位;EOI=0則不起作用。 L0L2:指定操作起作用的IR級別碼。當SL=1時,L0L2指定的級別編碼才起作用。 以上各位的組合功能見圖8.15所示。 (3) OCW3。當A0=0,D4=0,D3=1時,尋址OCW3。OCW3主要控制8259A的中斷屏蔽、查詢和讀寄存器等狀態。OCW3的格式及各位功能如圖8.16所示。 ESMM:允許或禁止SMM位起作用的控制位。ESMM為1時允許SMM位起作用,為0時禁止SMM位起作用。OCW3的格式1PRRRIS0SMMESMMX0A0D7D6D5D4D3D2D1

38、D0 0 0 X:無效 0 1 0: 在下一讀指令讀IRR 0 1 1: 在下一讀指令讀ISR 1 X X:查詢命令(下一讀指令中斷狀態字) 0 X:無效 1 0: 復位特殊屏蔽方式 1 1: 設置特殊屏蔽方式 SMM:設置特殊屏蔽方式選擇位。與ESMM位共同起作用,如圖8.16所示。 P:查詢命令位。P=1時,8259A發送查詢命令;P=0時,不處于查詢方式。OCW3設置查詢方式以后,隨后送到8259A RD端的讀脈沖作為中斷響應信號,讀出最高優先權的中斷請求IR級別碼。 RR:讀寄存器命令位。RR=1時允許讀IRR或ISR,RR=0時禁止讀這兩個寄存器。 RIS:讀IRR或ISR選擇位。其

39、具體功能如圖8.16所示。7.4 8259A在PC系統中的應用一、單片方式IR0IR1IR2IR3IR4IR5IR6IR7A0CSSP/EN中斷控制器INTINTARDWRCPUINTRS2S1S0INTAIORIOW總線控制器S1S0數據D0D7S2+5V打印機軟盤硬盤串行口1串行口2保留鍵盤日時鐘 IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7圖7.13 單片8259A中斷系統的硬件連接v單片方式下的8259A初始化編程:vICW1=13H=00010011B 邊沿觸發,單片要ICW4vICW2=08H=00001000B 中斷號的高5位,低3位由IR動態產生vICW4=

40、09H=00001001B 全嵌套,8088非自動結束vMOV AL,13HvOUT 20H,ALvMOV AL,8vOUT 21H,ALvMOV AL,9vOUT 21H,ALIR0IR1IR2IR7IRQ8IRQ9IRQ10CAS02IRQ11IRQ12IRQ13A0CSSP/ENINT從片INTARDWR8259AIR0IR1IR2IR7IRQ0IRQ1IRQ2CAS02IRQ3IRQ4IRQ5A0CSSP/ENINT主片INTARDWR8259AIRQ14IRQ15 保留硬盤協處理器保留保留保留保留保留日時鐘鍵盤串行口2串行口1并行口2并行口2IRQ6IRQ7軟盤S0S1S2S0S1S2D07D07D07INTRINTAIORIOWCPU總線控制器+5V圖7.14 雙片8259A中斷系統的硬件連接二、雙片方式二、雙片方式v中斷優先級順序中斷優先級順序:IRQIRQ0 0,IRQIRQ1 1,IR

溫馨提示

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

評論

0/150

提交評論