版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、5.3 中斷控制系統(tǒng) 5.3.1 中斷的基本概念 1. 中斷:CPU執(zhí)行程序時,由于發(fā)生了某種隨機的事件(外部或內(nèi)部),引起CPU暫時中斷正在運行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序(稱為中斷服務(wù)程序或中斷處理程序),以處理該事件,該事件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一過程稱為中斷。正在看書電話鈴響接電話繼續(xù)看書執(zhí)行程序事件發(fā)生事件處理繼續(xù)執(zhí)行程序中斷處理中斷請求及響應(yīng)實際場景計算機中斷返回與生活場景的比較引入中斷的原因提高數(shù)據(jù)傳輸率;避免了CPU不斷檢測外設(shè)狀態(tài)的過程,提高了CPU的利用率。實現(xiàn)對特殊事件的實時響應(yīng)。2. 中斷系統(tǒng)的功能中斷請求中斷判優(yōu)及中斷源識別中斷響應(yīng)中斷處理(服務(wù)
2、)中斷返回5.3.2 8088的中斷系統(tǒng) 與中斷有關(guān)的控制線為:NMI、INTR、INTA8088系統(tǒng)的中斷源內(nèi)部中斷除除數(shù)為0 :類型號0,商大于目的操作數(shù)所能表達的范圍時產(chǎn)生。單步中斷:類型號1,TF=1時產(chǎn)生(當(dāng)前指令需執(zhí)行完)斷點中斷:類型號3,這是一個軟件中斷,即INT 3指令。溢出中斷:類型號4,這是一個軟件中斷,即INTO指令。軟件中斷:即INT n指令,類型號n(0-255)。外部中斷非屏蔽中斷NMI:類型號2,不可用軟件屏蔽,CPU必須響應(yīng)它??善帘沃袛郔NTR:類型號由PIC提供。IF=1時CPU才能響應(yīng)。NMI 為邊沿請求INTR 為電平請求中斷請求信號應(yīng)保持到中斷被處理
3、為止;CPU響應(yīng)中斷后,中斷請求信號應(yīng)及時撤銷。當(dāng)有多個中斷源同時產(chǎn)生中斷申請時,CPU先響應(yīng)優(yōu)先權(quán)最高的中斷源,再響應(yīng)優(yōu)先級較低的中斷源。優(yōu) 先 級高 低 內(nèi)中斷 ( 除零,INT 指令,斷點,INTO指令 ) 非屏蔽中斷 可屏蔽中斷 低 內(nèi)中斷( 單步 ) 中斷源的識別8088系統(tǒng)采用中斷類型碼來識別不同的中斷源,每個中斷源都有一個與它相對應(yīng)的中斷類型碼 。溢出、斷點、除數(shù)為0、單步、非屏蔽中斷的類型碼為固定值軟件中斷的類型碼由指令給出可屏蔽中斷的類型碼由可編程中斷控制器8259給出中斷向量表(IVT) 存放各類中斷的中斷服務(wù)程序的入口地址(段和偏移)中斷向量 表的地址位于內(nèi)存的00000
4、H003FFH,大小為1KB,共256個中斷向量每個中斷向量占用4 Bytes,低字為段內(nèi)偏移,高字為段基址根據(jù)中斷類型號獲得中斷服務(wù)程序入口的方法: (n為中斷類型號)中斷向量在IVT中的存放地址4n中斷向量表的初始化初始化將中斷服務(wù)程序的入口地址放入向量表 例:中斷類型碼為48H的中斷處理子程序的名字為int 48h,編寫程序段將該中斷處理子程序的入口地址放入向量表。中斷向量表的初始化 CLI MOV AX,0 MOV DS,AX MOV SI,48H*4 MOV AX,OFFSET int48h MOV SI,AX MOV AX,SEG int48h MOV SI+2,AX STI808
5、6/8088 CPU的中斷響應(yīng)過程 內(nèi)部中斷響應(yīng)過程 無INTA周期中斷類型碼固定或由指令給出響應(yīng)過程主要步驟: PUSH FLAG IF=0 PUSH CS PUSH IP 取中斷向量送入IP和CS中斷響應(yīng)過程(續(xù))外部中斷響應(yīng)過程非屏蔽中斷,與內(nèi)部中斷響應(yīng)過程類似 可屏蔽中斷 INTA(1),中斷控制器進行優(yōu)先級排隊判優(yōu)處理 INTA(2),中斷控制器把中斷類型碼放到DB上,CPU讀入 PUSH FLAG IF=0 PUSH CS PUSH IP 取中斷向量送入IP和CS與內(nèi)部中斷一樣中斷處理中斷服務(wù)子程序的特點:為“遠過程”用IRET指令返回保護現(xiàn)場開中斷(STI)中斷處理關(guān)中斷(CLI
6、)恢復(fù)現(xiàn)場中斷返回中斷服務(wù)子程序完成的工作中斷返回執(zhí)行中斷返回指令I(lǐng)RETIRET指令將使CPU把堆棧內(nèi)保存的斷點信息彈出到IP、CS和FLAG中,保證被中斷的程序從斷點處能夠繼續(xù)往下執(zhí)行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG進入中斷服務(wù)程序時中斷返回后5.3.3 可編程中斷控制器8259A可對8個中斷源實現(xiàn)優(yōu)先級控制 可擴展至對64個中斷源實現(xiàn)優(yōu)先級控制 可編程設(shè)置不同工作方式根據(jù)中斷源向x86提供不同中斷類型碼引腳分配及功能見教材圖1. 數(shù)據(jù)總線緩沖器一個雙向8位3態(tài)緩沖器,是8259A與CPU之間的數(shù)據(jù)接口。讀/
7、寫控制電路A0:端口選擇,輸入。 CS:片選信號,輸入。WR:寫信號輸入。 RD:讀信號,輸入。級聯(lián)緩沖/比較器 多片8259A級聯(lián)使用,構(gòu)成主從關(guān)系。 對于主8259A,級聯(lián)信號CAS2CAS0是輸出信號。 對于從8259A,CAS2CAS0是輸入信號。一、8259A的內(nèi)部結(jié)構(gòu)中斷請求寄存器IRR(8位寄存器) 存放由外部輸入的中斷請求信號IR7IR0,當(dāng)某一個IRi端呈現(xiàn)高電平時,該寄存器的相應(yīng)位置“1”。中斷服務(wù)寄存器ISR(8位寄存器) 當(dāng)任何一級中斷被響應(yīng),CPU正在執(zhí)行它的中斷服務(wù)程序時,ISR寄存器中相應(yīng)位置“1”,一直保持到該級中斷處理過程結(jié)束為止。中斷屏蔽寄存器IMR(8位寄
8、存器) 當(dāng)該寄存器中某一位置“1”時,表示禁止這一級中斷請求進入系統(tǒng)。7. 優(yōu)先權(quán)判別器PR (8位寄存器)用來識別各中斷請求信號的優(yōu)先級別??刂齐娐废駽PU發(fā)出中斷請求信號INT接收來自CPU的中斷響應(yīng)信號INTA8259A的工作過程8259A對中斷請求的處理過程如下:當(dāng)某IRi有效時,IRR相應(yīng)位置1若有效的IRi未被屏蔽,則向CPU發(fā)出中斷請求檢測到第1個INTA#信號后,置ISRi=1,IRRi=0 檢測到第2個INTA#信號后,把ISRi=1中最高優(yōu)先級的中斷類型碼放到DB上若工作在AEOI方式,在第2個INTA#結(jié)束時,使ISRi復(fù)位;否則由CPU發(fā)出EOI命令使ISRi復(fù)位二、8
9、259A芯片的工作方式8259A有兩種中斷觸發(fā)方式:電平觸發(fā)方式和邊沿觸發(fā)方式電平觸發(fā)方式:從IR7IR0輸入的有效信號應(yīng)為高電平( IRi信號應(yīng)保持有效到響應(yīng)它的第一個INTA信號的前沿,確保響應(yīng)該中斷;但是也不允許太長,避免出現(xiàn)重復(fù)中斷現(xiàn)象。)邊沿觸發(fā)方式:IRi端上出現(xiàn)由低電平到高電平的正跳變時,表示中斷請求信號有效,最好用負脈沖的后沿來實現(xiàn)。8259A優(yōu)先權(quán)級管理方式:優(yōu)先權(quán)級別固定分配和循環(huán)設(shè)置。可概括為完全嵌套方式、自動循環(huán)方式和中斷屏蔽方式。完全嵌套方式固定的中斷級別:IR0具有最高優(yōu)先級,IR7具有最低優(yōu)先級。最大的中斷嵌套深度為8。1).要求堆棧的容量比較大2).CPU每響應(yīng)
10、一次中斷進入中斷服務(wù)程序后,應(yīng)安排開中斷指令(STI)將IF標志位置“1”。3).中斷處理完畢,CPU應(yīng)向8259A回送結(jié)束命令(EOI)。(1) 普通EOI方式: 8259A收到EOI命令后,自動將ISR寄存器中級別最高的置“1”位清“0”。(2) 特殊EOI方式: 8259A收到EOI命令后, 8259A將ISR寄存器中指定級別的相應(yīng)位清“0”。(3) 自動EOI方式: 任何一級中斷被響應(yīng)后,ISR寄存器中相應(yīng)位置“1”,CPU將進入中斷響應(yīng)總線周期,在第2個中斷響應(yīng)信號(INTA)結(jié)束時,自動將ISR寄存器中相應(yīng)位清“0”。有可能出現(xiàn)低級中斷打斷高級中斷或同級中斷相互打斷的不合理現(xiàn)象。C
11、PU響應(yīng)中斷進入中斷服務(wù)程序,將相應(yīng)的ISR寄存器置位。自動循環(huán)方式其基本思想是:每當(dāng)任何一級中斷被處理完,它的優(yōu)先級別就被改變?yōu)樽畹图墸鴮⒆罡邇?yōu)先級賦給原來比它低一級的中斷請求。普通EOI循環(huán)方式: 當(dāng)任何一級中斷被處理完后,CPU給8259A回送普通EOI命令,8259A接收到這一命令后將ISR寄存器中優(yōu)先級最高的置“1”位清“0”,并賦給它最低優(yōu)先級,而將最高優(yōu)先級賦給原來比它低一級的中斷請求,其他中斷請求的優(yōu)先級別以循環(huán)方式類推。(2) 自動EOI循環(huán)方式:任何一級中斷響應(yīng)后,在中斷響應(yīng)總線周期中,由第2個中斷響應(yīng)信號 INTA 的后沿自動將ISR寄存器中相應(yīng)位清“0”,并立即改變各
12、級中斷的優(yōu)先級別。(3) 特殊EOI循環(huán)方式:用戶可在主程序或中斷服務(wù)程序中利用置位優(yōu)先權(quán)命令把最低優(yōu)先級賦給某一中斷源IRi,于是最高優(yōu)先級便賦給IRi+1,其他各級按循環(huán)方式類推。必須使用特殊EOI方式,3. 中斷屏蔽方式清除中斷標志指令(CLI),將中斷標志位清“0”,CPU將禁止所有可屏蔽中斷請求。(1) 普通屏蔽方式: 將中斷屏蔽寄存器IMR中的某一位或某幾位置“1”,即可將相應(yīng)級的中斷請求屏蔽掉。(2) 特殊屏蔽方式: 當(dāng)CPU正在處理某級中斷時,要求僅對本級中斷進行屏蔽,而允許其他優(yōu)先級比它高或低的中斷進入系統(tǒng)。三、8259A芯片的控制字及其工作方式8259A包含兩個內(nèi)部端口地址
13、,一個偶地址端口(A0=0),一個奇地址端口(A01)。1) 初始化編程由CPU向8259A送初始化命令字ICW,使其處于準備就緒狀態(tài)。2) 工作方式編程由CPU向8259A送工作命令字OCW以規(guī)定8259A的工作方式。1. 8259A的初始化編程ICW1 芯片控制ICW2 中斷類型號ICW3 主從片關(guān)系ICW4 方式控制1) 寫初始化命令字ICW1芯片控制字A0D7D6D5D4D3D2D1D00 x x x 1LTIMx SNGLIC4LTIM: 觸發(fā)方式=1 高電平觸發(fā)=0 上升沿觸發(fā)SNGL: 級連控制=1 單片=0 級連IC4: ICW4控制=1 要寫ICW4=0 不寫ICW4(默認I
14、CW4為全0)2) 寫初始化命令字ICW2中斷類型控制字A0D7D6D5D4D3D2D1D01T7 T6 T5 T4T3x xxT7T3: 中斷向量碼的高5位T2T0: 最低3位為中斷源的序號IRn 000111分別對應(yīng)IR0IR7由8259A根據(jù)中斷源的序號自動填入 例如:若ICW2命令字為48H,則IR0的中斷向量碼為48H,IR7的中斷向量碼為4FH,等等。3) 寫初始化命令字ICW3級聯(lián)控制字特征:ICW1的D1=0時,才需要ICW3。A0D7D6D5D4D3D2D1D01S7 S6 S5 S4S3S2S1S0主片的級聯(lián)控制字 Si=1 對應(yīng)IRi線上連接了從片 A0D7D6D5D4D
15、3D2D1D010 0 000ID2ID1ID0從片的級聯(lián)控制字 ID2ID0 標識碼,說明本從片連接到主片的哪個IR引腳上。 000111分別對應(yīng)IR0IR7。ICW3必須與主從片的連接關(guān)系一致: 例如,主片的IR4與從片的INT線連接,則主片的ICW3=10H,從片的ICW3=04H。4) ICW4方式控制字特征:ICW1的D0=1時,需要寫入ICW4A0D7D6D5D4D3D2D1D0100 0 SFNMBUFM/SAEOI1SFNM: 特殊嵌套1 特殊嵌套方式0 一般嵌套方式AEOI: 規(guī)定中斷結(jié)束的方式,即ISRi是否有自動復(fù)位功能1 自動EOI方式0 非自動EOI方式BUF: 緩沖
16、方式 M/S: 主/從緩沖選擇BUF M/S 1 1 緩沖方式/主PIC 1 0 緩沖方式/從PIC 0 x 非緩沖方式/正常寫ICW1(偶地址)寫ICW2(奇地址)級聯(lián)?寫ICW3(奇地址)需ICW4?寫ICW4(奇地址)NNYY當(dāng)8088系統(tǒng)中8259A單級使用,其端口地址為80H和81H,可用下面的初始化程序段來寫入預(yù)置命令字ICW1ICW4:MOV AL,13H定義ICW1OUT 80H,AL;MOV AL,18H定義ICW2OUT 81H,AL;MOV AL,01H定義ICW4OUT 81H,AL;8級中斷的中斷類型碼為18H1FH。2. 8259A的操作命令字OCW 1. OCW1
17、中斷屏蔽字(奇地址)A0D7D6D5D4D3D2D1D01M7M6M5 M4M3M2M1M0Mi =1 中斷請求線IRi被屏蔽(不允許中斷) =0 允許該IRi中斷 OCW1將寫入IMR寄存器。A0=1時讀OCW1可讀出設(shè)置的IMR內(nèi)容。2. OCW2中斷結(jié)束和優(yōu)先級循環(huán) (偶地址)功能:設(shè)置中斷優(yōu)先級的循環(huán)方式和發(fā)出EOI命令。A0D7D6D5D4D3D2D1D00RSLEOI 00L2L1L0L2L0: 優(yōu)先級編碼R: 優(yōu)先級是否自動循環(huán) =1,優(yōu)先級循環(huán) =0,非循環(huán)方式SL: 是否指定優(yōu)先級 =1,L0L2有效 =0,L0L2無效 EOI: 結(jié)束中斷命令R,SL,EOI的不同組合決定8
18、259A的工作方式L2L1L0:在優(yōu)先級循環(huán)方式下,指出循環(huán)開始時最低優(yōu)先級編碼;在設(shè)置中斷命令結(jié)束時,指明要清除當(dāng)前ISR中的那一位。3. OCW3屏蔽方式和讀出控制字(偶地址)A0D7D6D5D4D3D2D1D000ESMMSMM 01PRRRISESMM: 允許使能特殊屏蔽方式SMM: 特殊屏蔽方式ESMM SMM1 1 特殊屏蔽方式置位1 0 特殊屏蔽方式復(fù)位0 x 非特殊屏蔽方式P(Polling): =1 查詢方式 =0 非查詢方式讀狀態(tài)字:偶地址RR: 讀寄存器RIS: ISR/IRR選擇RR RIS1 1 讀ISR1 0 讀IRR0 x 無效讀偶地址A0D7D6D5D4D3D2D1D00Ixx xxW2W1W08259A內(nèi)部寄存器的尋址方法需要CS#、A0、RD#、WR#和D4、D3的配合A0D4D3RD#WR#CS#操作01*001100讀出IRR、ISR讀出IMR0001001*01*111100000000寫OCW2寫OCW3寫ICW1順序?qū)慖CW2,ICW3,ICW4,OCW1*1*1*01無操作斷開四、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年礦業(yè)權(quán)抵押融資合同示范3篇
- 二零二五年新型環(huán)保欄桿研發(fā)、生產(chǎn)安裝合同3篇
- 二零二五版礦業(yè)權(quán)轉(zhuǎn)讓與安全生產(chǎn)監(jiān)管服務(wù)合同集3篇
- 二零二五版建筑工程BIM模型優(yōu)化與交付合同3篇
- 二零二五年混凝土施工安全生產(chǎn)責(zé)任書合同3篇
- 二零二五版掛靠出租車綠色出行獎勵合同3篇
- 提前終止2025年度租賃合同2篇
- 商鋪售后返租合同糾紛的司法解釋與實踐(2025年版)2篇
- 二零二五版畜禽養(yǎng)殖合作經(jīng)營合同書3篇
- 二零二五年度廢舊玻璃回收利用合同書3篇
- 專題6.8 一次函數(shù)章末測試卷(拔尖卷)(學(xué)生版)八年級數(shù)學(xué)上冊舉一反三系列(蘇科版)
- GB/T 4167-2024砝碼
- 老年人視覺障礙護理
- 《腦梗塞的健康教育》課件
- 《請柬及邀請函》課件
- 遼寧省普通高中2024-2025學(xué)年高一上學(xué)期12月聯(lián)合考試語文試題(含答案)
- 《個體防護裝備安全管理規(guī)范AQ 6111-2023》知識培訓(xùn)
- 青海原子城的課程設(shè)計
- 2023年年北京市各區(qū)初三語文一模分類試題匯編 - 作文
- 常州大學(xué)《新媒體文案創(chuàng)作與傳播》2023-2024學(xué)年第一學(xué)期期末試卷
- 麻醉蘇醒期躁動患者護理
評論
0/150
提交評論