微機原理課件char7_1.ppt_第1頁
微機原理課件char7_1.ppt_第2頁
微機原理課件char7_1.ppt_第3頁
微機原理課件char7_1.ppt_第4頁
微機原理課件char7_1.ppt_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本節(jié)課知識點,復習中斷的基本概念 復習8086的中斷結構 熟悉可編程中斷控制器8259A,7.1.1 中斷、中斷源及中斷系統(tǒng),1.中斷 在CPU正常運行程序時,由于內部事件、外部事件或由程序預先安排的事件所引起的CPU暫時停止正在運行的程序,而轉去執(zhí)行請求CPU服務的內部/外部事件或預先安排事件的服務程序,待服務程序處理完畢后又返回去繼續(xù)執(zhí)行被暫停的程序 2.中斷源 發(fā)出中斷請求的外部設備或引起中斷的內部原因稱為中斷源 常見的中斷源有 (1)故障中斷,如電源掉電、內存奇偶錯等; (2)軟件中斷,如CPU執(zhí)行某些指令或操作引起的中斷等; (3)輸入輸出設備中斷,如打印機、CRT、磁盤等; (4)

2、實時時鐘,如定時器提供的實時信號等。 3.中斷系統(tǒng) 中斷系統(tǒng)的功能是指實現中斷功能的軟硬件系統(tǒng)。 正確識別中斷請求,實現中斷響應、中斷處理及中斷返回 實現中斷優(yōu)先級排隊 實現中斷嵌套,7.1.2 中斷處理過程,中斷請求 中斷判優(yōu) 中斷響應 中斷處理 中斷返回,7.1.3 中斷嵌套,一個中斷請求尚未處理完,又轉而處理新的中斷請求,稱為中斷的多級嵌套或稱為多級中斷,7.2.1 8086的中斷類型,外部中斷是由外部硬件請求產生的中斷,所以又稱為硬件中斷。 內部中斷是由指令的執(zhí)行或者軟件對標志寄存器中某個標志的設置產生的中斷,所以又稱為軟件中斷。,7.2.2 中斷向量和中斷向量表,中斷向量是中斷服務程

3、序的入口地址。 把系統(tǒng)中所有的中斷向量集中起來放到存儲器的某一區(qū)域內,這個存放中斷向量的存儲區(qū)就叫中斷向量表或中斷服務程序入口地址表。 中斷向量表的每一個向量的序號就是中斷類型號,共256個中斷類型。 中斷向量在表中的位置稱為中斷向量地址 中斷向量地址中斷類型號4,7.2.3 中斷向量的裝入,中斷向量并非常駐內存,而是開機上電時,由程序裝入內存指定的中斷向量表中。系統(tǒng)配置和使用的中斷所對應的中斷向量由系統(tǒng)軟件負責裝入。若系統(tǒng)中(如單板機)未配置系統(tǒng)軟件,就要由用戶自行裝入中斷向量。,例7-1,將中斷服務程序的入口地址直接寫入中斷向量表。 MOV AX,00H MOV ES,AX MOV BX,

4、60H*4 ;中斷號4BX MOV AX,OFFSET_INTR ;中斷服務程序偏移值AX MOV ES:BX,AX ;裝入偏移地址 MOV AX,SEG_INTR ;中斷服務程序的段基址AX MOV ES:BX+2,AX ;裝入段基址 ,例7-2,用MOV指令寫入中斷向量。 假設中斷向量號為60H,中斷服務程序的段基址是SEG_INTR,偏移地址是OFFSET_INTR CLI ;關中斷 CLD ;內存地址加1 MOV AX,0 MOV ES,AX ;給ES賦值為0 MOV DI,60H*4 ;中斷向量指針DI MOV AX,OFFSET_INTR ; 中斷服務程序偏移值AX STOSW ;

5、AXDIDI+1中,然后DI2 MOV AX,SEG_INTR ; 中斷服務程序的段基址AX STOSW ;AXDI+2DI+3 STI ; 開中斷 ,7.2.4 8086的中斷響應過程,1內部中斷響應過程 2外部中斷響應過,1內部中斷響應過程,過程: (1)將類型號乘4,計算出中斷向量的地址; (2)CPU的標志寄存器入棧,以保護各個標志位,此操作類似于PUSHF指令。 (3)清除IF和TF標志,屏蔽新的INTR中斷和單步中斷。 (4)保存斷點,即把斷點處的IP和CS值壓入堆棧,先壓入CS值,再壓入IP值。 (5)根據第一步計算出來的地址從中斷向量表中取出中斷服務程序的入口地址(段和偏移),

6、分別送至CS和IP中。 (6)轉入中斷服務程序執(zhí)行。 特點: 中斷由CPU內部引起,中斷類型號的獲得與外部無關,CPU不需要執(zhí)行中斷響應周期去獲得中斷類型號。 除單步中斷處,內部中斷無法用軟件禁止,不受中斷允許標志IF的影響。 內部中斷何時發(fā)生是可以預測的,這有點類似于子程序調用。,2外部中斷響應過程,(1)非屏蔽中斷響應。 NMI中斷不受IF標志的影響,也不用外部接口給出中斷類型號,CPU響應NMI中斷時也沒有中斷響應周期。 (2)可屏蔽中斷響應。 當INTR信號有效時,如果中斷允許標志IF1,則CPU就在當前指令執(zhí)行完畢后,產生兩個連續(xù)的中斷響應總線周期。,中斷響應和中斷處理流程,1825

7、9A的內部結構-教材236頁圖7.1,問題: 1.8259A內部有幾根地址線?8259A有幾個端口地址? 2.8259A除了電源和地引腳外,與CPU相連的引腳有?與外設相連的引腳有? 3.8259A的數據總線有幾根?,2.8259A的編程結構,問題: 1.圖7.1的下半部分有幾個寄存器?都是幾位寄存器?可以分為幾組? 2.初始化命令寄存器一般使用幾次?操作命令寄存器使用幾次? 3.8259A處理部件中的IRR,PR,ISR,IMR是什么?作用?IMR就是操作命令字中的哪個?,7.3.2 8259A的工作過程,1中斷源通過IR0IR7向8259A發(fā)中斷請求,使得8259A的中斷請求寄存器IRR的

8、相應位置1。 2IRR中經中斷屏蔽寄存器IMR允許后的置位位進入優(yōu)先權判別器PR,PR將其中最高優(yōu)先權的中斷請求從INT輸出,送至CPU的INTR端。 3若CPU處于開中斷狀態(tài),則在當前指令執(zhí)行結束后,啟動中斷響應總線操作,發(fā)出兩個負脈沖作為響應信號。 48259A接收到第一個負脈沖,完成如下工作: (1)使ISR相應位置1,表示CPU已為該中斷請求服務。 (2)使IRR的相應位清0。 58259A接收到第二個負脈沖,將中斷類型號送上數據總線。中斷類型號由用戶編程和中斷請求引腳IRi的序號i共同決定(CPU讀取中斷類型號,經響應過程后,進入中斷服務程序,直到服務結束返回)。 6若8259A工作

9、在自動結束中斷方式AEOI,則8259A清除ISR的相應位,否則直至中斷服務結束,發(fā)出EOI命令,才能使ISR中的相應位清0。 問題:CPU如何判別8259A本次中斷結束?,7.3.3 8259A的工作方式,8259A有多種工作方式,這些工作方式可以通過初始化命令字(ICW1ICW4)和操作命令字(OCW1OCW4)來設置。,1設置優(yōu)先級的方式,(1)全嵌套方式。 中斷優(yōu)先級按IR0IR7順序進行排隊,并且只允許中斷級別高的中斷源去中斷級別低的中斷服務程序,但不能相反。 在對8259A進行初始化以后,沒有設置其他優(yōu)先級方式,則自動按此方式工作。 (2)特殊全嵌套方式。 當執(zhí)行某一級中斷服務程序

10、時,可響應同級的中斷請求,從而實現對同級中斷請求的特殊嵌套。 特殊全嵌套方式用于多片級聯(lián)。,(3)優(yōu)先級自動循環(huán)方式。 優(yōu)先級順序不是固定不變的,一個設備得到中斷服務后,其優(yōu)先級自動降為最低。其初始的優(yōu)先級順序規(guī)定為IR0,IR1,IR2,IR7 用于系統(tǒng)中多個中斷源優(yōu)先級相等的場合 (4)優(yōu)先級特殊循環(huán)方式。 其初始的優(yōu)先級不是固定IR0為最高,然后開始循環(huán),而是由程序指定IR0IR7中任意一個為最高優(yōu)先級,然后再按順序自動循環(huán),決定優(yōu)先級。,2屏蔽中斷源的方式,(1)普通屏蔽方式。利用操作命令字OCW1,使屏蔽寄存器IMR中的一位或數位置1來屏蔽一個或數個中斷源的中斷請求。 (2)特殊屏蔽

11、方式。在某些場合,執(zhí)行某一個中斷服務程序時,要求允許另一個優(yōu)先級比它低的中斷請求被響應,此時可采用特殊屏蔽方式。,3中斷結束方式,(1)自動中斷結束方式。 在中斷服務程序中,中斷返回之前,不需要發(fā)出中斷結束命令就會自動清除該中斷源所對應的ISR位(實際上在CPU發(fā)出第二個INTA信號時,8259即自動清除ISR中的對應位)。 用在多個中斷不會嵌套的系統(tǒng)中。 (2)非自動中斷結束方式。 在中斷服務程序返回之前,必須發(fā)中斷結束命令才能使ISR中的當前服務位清除。 分為一般的中斷結束方式 特殊的中斷結束方式,4.連接系統(tǒng)總線的方式,緩沖方式 非緩沖方式,5.引入中斷請求的方式,邊沿觸發(fā)方式 電平觸發(fā)

12、方式 中斷查詢方式,7.3.4 8259A的級聯(lián)電路,7.3.5 8259A的編程命令,初始化命令字ICW:初始化命令字是由8259A初始化程序填寫的,且在整個系統(tǒng)工作過程中保持不變。 操作命令字OCW:若希望改變初始化的8259A中斷控制方式,或為了屏蔽某些中斷,或為了讀出8259A的一些狀態(tài)信息,則必須繼續(xù)向8259A寫入操作命令字OCW。,1初始化命令字ICW,初始化命令字ICW1 初始化命令字ICW2 初始化命令字ICW3 初始化命令字ICW4,已知8259A的端口地址為80H,81H 要求初始化8259A為邊沿觸發(fā),單片無級聯(lián),與16位CPU連接,連接外設的中斷類型碼值有一個必須為1

13、9H。且此片8259A工作在緩沖方式下。 求初始化程序段?,(1)操作命令字OCW1屏蔽操作命令字,(2)操作命令字OCW2中斷方式命令字,(3)操作命令字OCW3狀態(tài)操作命令字,(2)操作命令字OCW,檢測,1.中斷類型號為1的中斷矢量存儲在地址()至 ()處,共( )個單元。 2.8086系統(tǒng)中只有一片8259A,中斷請求信號使用電平觸發(fā)方式,全嵌套中斷優(yōu)先級,數據總線無緩沖,采用中斷自動結束方式。中斷類型碼為20H27H,8259A的端口地址為B0H和B1H。8259A設定初始化命令字ICW1、ICW2、ICW4為_。 3.通常情況下,一個外中斷服務程序的第一條指令是STI,其目的是_。

14、 4.6片8259A級聯(lián)最多可以管理( )個中斷。 A、48 B、40 C、44 D、43,5.下面是某8086微機內存中的部分數據,則中斷類型號為11H的中斷服務程序的入口地址是( )。 0000:0040 B3 18 8A CC 4D F8 00 F0 41 F8 00 F0 C5 18 8A CC 0000:0050 39 E7 00 F0 A0 19 8A CC 2E E8 00 F0 D2 EF 00 F0 A、F000:F84D B、A019:8ACC C、CC8A:19A0 D、4DF8:00F0,7.3.6 8259A編程舉例,例7-3 以IBM PC/AT(80286)微機中

15、的8259A為例說明其初始化編程方法。,(1)分析,在286以上的PC機中,共使用了兩片8259A(新型的PC中已將中斷控制器集成到了芯片組中,但功能上與8259A完全兼容),兩片級聯(lián)使用,共可管理15級中斷。主片8259A的IRQ2(即IR2)中斷請求端用于級聯(lián)從片8259A,所以相當于主片的IRQ2又擴展了8個中斷請求端IRQ8IRQ15。中斷向量地址指針 主片8259A的端口地址為20H、21H,中斷類型號為08H0FH,從片8259A的端口地址為A0H、A1H,中斷類型號為70H77H。 主片的8級中斷已全被系統(tǒng)使用(其中IRQ2被從片占用),從片尚保留4級未用。其中IRQ0用于日歷時

16、鐘中斷(08H),IRQ1用于鍵盤中斷(09H)。 擴展的IRQ8用于實時時鐘中斷,IRQ13來自協(xié)處理器80287。除上述中斷請求信號外,所有其它的中斷請求信號都來自I/O通道的擴展板,(2)設計, 8259A初始化編程 ;主片8259A的初始化 MOV AL,11H ;寫入ICW1,設定邊沿觸發(fā),級聯(lián)方式 OUT 20H,AL JMP INTR1 ;延時,等待8259A操作結束,下同 INTR1:MOV AL,08H ;寫入ICW2,設定IRQ0的中斷類型號為08H OUT 21H,AL JMP INTR2 INTR2:MOV AL,04H ;寫入ICW3,設定主片IRQ2級聯(lián)方式 OUT 21H,AL JMP INTR3 INTR3:MOV AL,11H ;寫入ICW4,設定特殊全嵌套方式,一般EOI方式 OUT 21H,AL ;從片8259A的初始化 MOV AL,11H ;寫入ICW1,設定邊沿觸發(fā),級聯(lián)方式 OUT 0A0H,AL JMP INTR5 INTR5:MOV AL,70H ;寫入ICW2,設定從片IR0,即IRQ8的中斷類型號為70H OUT 0A1H,AL JMP INTR6 INTR6:MOV AL,02H ;寫入ICW3,設定從片級聯(lián)到主片

溫馨提示

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

最新文檔

評論

0/150

提交評論