資源描述:
《中斷系統(tǒng)和中斷控制器8259A》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第八章中斷系統(tǒng)和DMA8.1中斷系統(tǒng)概述8.2中斷控制器8259A8.1中斷系統(tǒng)概述中斷、中斷源中斷處理過程中斷優(yōu)先級(jí)8.1.1中斷及中斷源中斷的概念中斷:CPU收到外部請(qǐng)求時(shí)停止當(dāng)前任務(wù),轉(zhuǎn)而執(zhí)行外設(shè)任務(wù),完成后繼續(xù)執(zhí)行被打斷的任務(wù)中斷及中斷源中斷源:引起中斷的事件斷點(diǎn):主程序被打斷的位置中斷服務(wù)程序:中斷源的響應(yīng)和處理函數(shù)斷點(diǎn)中斷源中斷服務(wù)程序中斷源中斷的用途響應(yīng)外部事件:掉電,除零,報(bào)警等實(shí)時(shí)多任務(wù)調(diào)度:加快響應(yīng)速度CPU與外設(shè)并行處理:提高CPU利用率分時(shí)系統(tǒng)基礎(chǔ):時(shí)鐘中斷驅(qū)動(dòng)的操作系統(tǒng)8.1.2中斷處理過程中斷請(qǐng)求優(yōu)先級(jí)判別中斷響應(yīng)保存現(xiàn)場(chǎng)中斷服務(wù)恢復(fù)現(xiàn)場(chǎng)中斷返回1.中斷請(qǐng)
2、求概念:外部設(shè)備需要CPU資源時(shí),產(chǎn)生一個(gè)中斷信號(hào)發(fā)送到CPU的中斷輸入引腳。原理:每個(gè)中斷源對(duì)應(yīng)一個(gè)中斷請(qǐng)求標(biāo)志位,由中斷請(qǐng)求寄存器鎖存。中斷請(qǐng)求信號(hào)需要保持到CPU對(duì)其進(jìn)行中斷響應(yīng)后才能撤銷。2.優(yōu)先級(jí)判別多個(gè)中斷源同時(shí)發(fā)起中斷請(qǐng)求時(shí),CPU需要對(duì)多個(gè)中斷源的優(yōu)先級(jí)進(jìn)行判斷,響應(yīng)最緊急的中斷請(qǐng)求。中斷源的優(yōu)先級(jí)需要根據(jù)中斷源的緊迫性、重要性以及外設(shè)處理速度等進(jìn)行綜合考慮不可屏蔽中斷發(fā)生,優(yōu)先響應(yīng)不可屏蔽中斷。3.中斷響應(yīng)對(duì)于內(nèi)部中斷,CPU通過判斷中斷源自動(dòng)跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序入口地址,執(zhí)行中斷服務(wù)子程序。對(duì)于外部中斷,CPU判斷標(biāo)志位IF,若CPU允許響應(yīng)外部中斷(IF=1
3、),向發(fā)出中斷請(qǐng)求的外設(shè)返回一個(gè)中斷應(yīng)答信號(hào),否則CPU不響應(yīng)該中斷請(qǐng)求。4.保存現(xiàn)場(chǎng)CPU響應(yīng)中斷,首先需要禁止CPU響應(yīng)中斷信號(hào),并保存中斷返回地址以及其它可能被破壞的寄存器8086/8088CPU的基本中斷現(xiàn)場(chǎng)保護(hù)需要將CS寄存器和IP寄存器壓入堆棧5.執(zhí)行中斷CPU通過中斷號(hào)確定進(jìn)入哪個(gè)中斷處理進(jìn)入中斷處理程序,可以允許CPU響應(yīng)其它中斷8086/8088處理器通過裝入CS和IP寄存器實(shí)現(xiàn)中斷服務(wù)程序跳轉(zhuǎn)6.恢復(fù)現(xiàn)場(chǎng)CPU關(guān)閉中斷響應(yīng)將保存在堆棧中的所有寄存器內(nèi)容彈出,恢復(fù)到中斷前的寄存器原值7.返回8086/8088處理器通過IRET指令從中斷狀態(tài)返回。IRET指令將自動(dòng)恢
4、復(fù)先前保存的IP和CS值以及標(biāo)志寄存器FR或EFR的值,從而跳轉(zhuǎn)到主程序斷點(diǎn)地址。返回之后,CPU自動(dòng)打開中斷允許響應(yīng)其它中斷請(qǐng)求。8.1.3中斷的優(yōu)先級(jí)原因:中斷處理的重要程度和時(shí)延要求不同含義:按照中斷源的重要程度為每個(gè)中斷源分配不同的優(yōu)先級(jí),并以優(yōu)先級(jí)大小進(jìn)行排序,確定多個(gè)中斷源請(qǐng)求時(shí)對(duì)不同中斷源的服務(wù)次序,稱之為中斷優(yōu)先級(jí)。工作原理:多個(gè)中斷源同時(shí)向CPU請(qǐng)求中斷時(shí),選擇當(dāng)前優(yōu)先級(jí)最高的中斷進(jìn)行處理。規(guī)則:優(yōu)先級(jí)可以是固定的,也可以動(dòng)態(tài)調(diào)整8.2中斷控制器8259A8259A的主要功能8259A的結(jié)構(gòu)及引腳功能8259A的工作方式8259A的初始化命令字8259A的初始化編程
5、1.8259A的主要功能中斷控制器的功能:在多個(gè)中端源的系統(tǒng)中,接收外部中斷請(qǐng)求并判斷,選擇優(yōu)先級(jí)最高的外部中斷請(qǐng)求,向CPU發(fā)起中斷請(qǐng)求信號(hào)。使用中斷控制器的原因:CPU的中斷管腳太少(8086/8088兩根中斷管腳:INTR和NMI);中斷控制方式比較單一(屏蔽、優(yōu)先級(jí)管理、嵌套等)1.8259A的主要功能每片8259A可管理8級(jí)優(yōu)先權(quán)中斷源,通過級(jí)聯(lián),最多可管理64級(jí)優(yōu)先權(quán)的中斷源。對(duì)任何一級(jí)中斷源都可單獨(dú)進(jìn)行屏蔽。向CPU提供可編程的標(biāo)識(shí)碼(中斷號(hào)),為不能提供中斷號(hào)的外設(shè)提供中斷管理。具有五種中斷優(yōu)先權(quán)管理方式:完全嵌套方式、自動(dòng)循環(huán)方式、特殊循環(huán)方式、特殊屏蔽方式和查詢方
6、式可編程,提高中斷優(yōu)先管理的靈活性。2.8259A外部結(jié)構(gòu)8259A的內(nèi)部結(jié)構(gòu)8259A的內(nèi)部結(jié)構(gòu)框圖其內(nèi)部各組成模塊有如下功能:(1)中斷請(qǐng)求寄存器IRR8259A有8條外部中斷請(qǐng)求輸入信號(hào)線IR0-IR7,每一條請(qǐng)求線上有一個(gè)相應(yīng)的觸發(fā)器來保存請(qǐng)求信號(hào),當(dāng)?shù)趇個(gè)IR端有中斷請(qǐng)求時(shí),IRR中的相應(yīng)位置“1”;當(dāng)中斷請(qǐng)求響應(yīng)時(shí),IRR中的相應(yīng)位置“0”。(2)中斷屏蔽寄存器IMRIMR(InterruptMaskRegister)用來存放屏蔽位信息,IMR的每一位可以禁止IRR中對(duì)應(yīng)位的中斷請(qǐng)求輸入信號(hào)進(jìn)入。如果屏蔽優(yōu)先權(quán)級(jí)別較高的中斷請(qǐng)求輸入時(shí),不會(huì)影響到優(yōu)先級(jí)較低的中斷請(qǐng)求輸入。
7、(3)優(yōu)先權(quán)判決電路它在中斷響應(yīng)期間,根據(jù)控制邏輯規(guī)定的優(yōu)先權(quán)級(jí)別和中斷屏蔽寄存器IMR的內(nèi)容,把中斷請(qǐng)求寄存器IRR中允許中斷的優(yōu)先權(quán)最高的中斷請(qǐng)求位送入中斷服務(wù)寄存器ISR。(4)中斷服務(wù)寄存器ISRISR存放當(dāng)前正在進(jìn)行服務(wù)的所有中斷。ISR中相應(yīng)位的置位是由優(yōu)先權(quán)判決電路根據(jù)IRR中各請(qǐng)求位的優(yōu)先權(quán)級(jí)別和IMR中屏蔽位的狀態(tài),將中斷的最高優(yōu)先級(jí)請(qǐng)求位選通到ISR中。(5)控制邏輯當(dāng)有未被屏蔽的高級(jí)別的中斷請(qǐng)求時(shí),通過控制邏輯輸出高電平的INT信號(hào),