第15講 中斷和中斷控制器_1_第1頁
第15講 中斷和中斷控制器_1_第2頁
第15講 中斷和中斷控制器_1_第3頁
第15講 中斷和中斷控制器_1_第4頁
第15講 中斷和中斷控制器_1_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1一、8086的中斷操作和中斷系統(tǒng)二、中斷傳送方式三、8259A中斷控制器中斷和中斷控制器中斷和中斷控制器2 8086的中斷分類的中斷分類 中斷向量和中斷向量表中斷向量和中斷向量表 硬件中斷的響應和時序硬件中斷的響應和時序 中斷處理子程序中斷處理子程序 軟件中斷軟件中斷8086的中斷操作和中斷系統(tǒng)的中斷操作和中斷系統(tǒng)31.什么叫中斷什么叫中斷?與子程序不同點與子程序不同點 中斷中斷是指是指CPU暫時中止它正在執(zhí)行的主程序,轉暫時中止它正在執(zhí)行的主程序,轉去執(zhí)行請求中斷的那個外設的中斷服務程序,處去執(zhí)行請求中斷的那個外設的中斷服務程序,處理完畢后,又返回主程序的過程。理完畢后,又返回主程序的過程

2、。 子程序的調用是固定的,而中斷是隨機的。子程序的調用是固定的,而中斷是隨機的。2. 中斷系統(tǒng)中斷系統(tǒng) 為實現(xiàn)上述中斷功能而設置的各種硬件和軟件,為實現(xiàn)上述中斷功能而設置的各種硬件和軟件,統(tǒng)稱為統(tǒng)稱為中斷系統(tǒng)中斷系統(tǒng)。8086/8088的中斷系統(tǒng)可以處理的中斷系統(tǒng)可以處理256種不同的中斷,每個中斷對應一個類型碼,故種不同的中斷,每個中斷對應一個類型碼,故256種中斷對應的為種中斷對應的為0255。4(1)8086的中斷分類8086/8088有兩類中斷:n硬件中斷由外設的請求引起,又叫外部中斷n軟件中斷由執(zhí)行指令所引起,又叫內部中斷外部中斷 8088有兩條外部中斷請求線NMI(非屏蔽中斷)和I

3、NTR(可屏蔽中斷)。58086/8088的中斷源 圖中外設與8259A的連法是IBM PC/XT的連法,正常優(yōu)先權次序為,IR0最高,IR7最低。8086/8088的中斷源非屏蔽中斷請求中斷邏輯CPU8259AINT可編程中斷控制 器(PIC)INTn指令INTO指令除法錯誤單步TF=1104nNMIIR0IR1IR2IR3IR4IR5IR6IR708090A0B0C0D0E0F系統(tǒng)定時器鍵盤為用戶保留網絡通信保留硬盤軟盤并行打印機2INTR6內部中斷內部中斷 因是軟件中斷因是軟件中斷,屬于執(zhí)行指令引起的中斷屬于執(zhí)行指令引起的中斷,通常通常分為三類分為三類: 中斷指令中斷指令INT引起的中斷

4、引起的中斷 CPU執(zhí)行完一條執(zhí)行完一條INT n指令后指令后,會立即產生中斷會立即產生中斷,并且并且調用系統(tǒng)中相應的中斷處理程序來完成中斷功能調用系統(tǒng)中相應的中斷處理程序來完成中斷功能,中中斷指令的操作數(shù)斷指令的操作數(shù)n指出中斷類型。指出中斷類型。 例 DOS功能調用INT 21H,具有很強的功能。7 處理運算過程中某些錯誤的中斷處理運算過程中某些錯誤的中斷 執(zhí)行程序時執(zhí)行程序時,為及時處理運算中某些錯誤為及時處理運算中某些錯誤,CPU以中斷以中斷方式中止正在運行的程序方式中止正在運行的程序,提醒程序員改錯。提醒程序員改錯。除法錯中斷,類型號為除法錯中斷,類型號為0。執(zhí)行除法指令時。執(zhí)行除法指

5、令時,若發(fā)現(xiàn)若發(fā)現(xiàn)除數(shù)為零或商超過了有關寄存器所能表達的范圍除數(shù)為零或商超過了有關寄存器所能表達的范圍,則立則立即產生除法錯中斷。即產生除法錯中斷。溢出中斷溢出中斷INTO,類型號為,類型號為4。運算過程中當溢出標運算過程中當溢出標志志OF=1時時,執(zhí)行執(zhí)行INTO指令指令,則產生溢出中斷則產生溢出中斷,打印出一打印出一個錯誤信息個錯誤信息,結束時不返回,而把控制權交給操作系統(tǒng)。結束時不返回,而把控制權交給操作系統(tǒng)。若若OF=0,則則INTO不產生中斷不產生中斷,CPU執(zhí)行下一條指令。執(zhí)行下一條指令。例:例: ADD AX,BX INTO;測試加法的溢出;測試加法的溢出8單步中斷,類型號為單步

6、中斷,類型號為1。當當TF=1,每條指令執(zhí)行后,每條指令執(zhí)行后,CPU會自動產生一個類型會自動產生一個類型1的中斷。使用單步中斷可的中斷。使用單步中斷可一條一條指令地跟蹤程序流程一條一條指令地跟蹤程序流程,觀察各個寄存器及存觀察各個寄存器及存儲單元變化,幫助分析錯誤原因。儲單元變化,幫助分析錯誤原因。斷點中斷,中斷類型號為斷點中斷,中斷類型號為3。斷點可設置在程序的斷點可設置在程序的任何地方任何地方,它相當把一條它相當把一條INT 3 指令插入程序中。指令插入程序中。CPU每執(zhí)行到斷點處每執(zhí)行到斷點處,INT 3 指令便產生一個中斷。指令便產生一個中斷。為調試程序而設置的中斷為調試程序而設置的

7、中斷9 對這些中斷規(guī)定的優(yōu)先權從高到低次序為:對這些中斷規(guī)定的優(yōu)先權從高到低次序為: 內中斷(指除法錯,INTO,INT指令)非屏蔽中斷可屏蔽中斷單步中斷10(2)中斷向量和中斷向量表1.中斷向量中斷向量 中斷處理子程序的入口地址,每個中斷類型對應中斷處理子程序的入口地址,每個中斷類型對應一個中斷向量,占用一個中斷向量,占用4個存儲字節(jié)。個存儲字節(jié)。2.中斷向量表中斷向量表 所有中斷向量排列起來,在內存的所有中斷向量排列起來,在內存的00000003FFH形成一張表,稱為中斷向量表。其中前形成一張表,稱為中斷向量表。其中前2個個字節(jié)存放中斷處理子程序入口地址的偏移量(字節(jié)存放中斷處理子程序入口

8、地址的偏移量(IP),),后兩個字節(jié)存放中斷處理子程序入口地址的段地址后兩個字節(jié)存放中斷處理子程序入口地址的段地址(CS),按照中斷類型號順序,從),按照中斷類型號順序,從00000H開始有規(guī)開始有規(guī)則排列。則排列。IBM PC的中斷向量表地址內容類型0(IP)類型1(IP)類型2(IP)類型3(IP)類型4(IP)類型5(IP)類型0(CS)類型1(CS)類型2(CS)類型3(CS)類型4(CS)類型5(CS)類型N(CS)類型N(IP)0000H0004H0008H000CH0010H0014H4*N類型0的中斷向量類型1的中斷向量類型2的中斷向量類型3的中斷向量類型4的中斷向量類型N的中

9、斷向量(除法錯)(單步)(非屏蔽中斷)(斷點)(溢出中斷INTO)03FFH中斷操作步驟F84DHF000HINT 11HMOV AL,30H中斷向量地址=11H*4=0044H中斷向量表類型10H中斷向量類型12H中斷向量中斷處理程序0:0040H0:0043H0:0044H0:0045H0:0046H0:0047H4DHF8H00HF0HIPCSF000:F84DHSTIPUSH DSIRETIP、CS、FR出棧返回斷點,繼續(xù)執(zhí)行13(3)硬件中斷的響應和時序1.非屏蔽硬件中斷非屏蔽硬件中斷NMI中斷類型號為中斷類型號為2不受不受IF影響影響CPU收到中斷請求后立即響應,中斷優(yōu)先級很高收到

10、中斷請求后立即響應,中斷優(yōu)先級很高用于處理系統(tǒng)重大故障,如掉電處理用于處理系統(tǒng)重大故障,如掉電處理2.可屏蔽硬件中斷可屏蔽硬件中斷INTR受受IF影響,為影響,為1時時CPU響應響應響應過程和時序響應過程和時序14可屏蔽中斷響應過程可屏蔽中斷響應過程CPU在在INTR引腳接收到高電平中斷請求信號引腳接收到高電平中斷請求信號IF為為1CPU執(zhí)行完當前指令執(zhí)行完當前指令CPU往往INTA引腳發(fā)兩個負脈沖引腳發(fā)兩個負脈沖外設收到第二個負脈沖后往外設收到第二個負脈沖后往DB送中斷類型號送中斷類型號CPU讀取中斷類型號,將其存入內部暫存器讀取中斷類型號,將其存入內部暫存器將標志寄存器壓入堆棧將標志寄存器

11、壓入堆棧IF和和TF清零清零斷點保護(將斷點保護(將CS和和IP值壓入堆棧)值壓入堆棧)15可屏蔽中斷響應過程可屏蔽中斷響應過程-續(xù)續(xù)根據(jù)得到的中斷類型號,在中斷向量表找到中斷根據(jù)得到的中斷類型號,在中斷向量表找到中斷向量,根據(jù)中斷向量轉入中斷處理子程序向量,根據(jù)中斷向量轉入中斷處理子程序中斷處理程序完成后,從堆棧中依次彈出中斷處理程序完成后,從堆棧中依次彈出IP、CS和標志寄存器的值,返回到斷點處。和標志寄存器的值,返回到斷點處。16178086的中斷響應總線周期的中斷響應總線周期18(4)中斷處理子程序 保護中斷現(xiàn)場保護中斷現(xiàn)場 設置中斷允許標志設置中斷允許標志IF來開放中斷來開放中斷 中

12、斷處理的具體內容中斷處理的具體內容 恢復寄存器恢復寄存器 中斷返回指令中斷返回指令19(5)軟件中斷 中斷類型碼由指令提供中斷類型碼由指令提供 不執(zhí)行中斷響應總線周期不執(zhí)行中斷響應總線周期 不受中斷允許標志不受中斷允許標志IF的影響的影響 執(zhí)行軟件中斷時,對外部硬件中斷請求的反執(zhí)行軟件中斷時,對外部硬件中斷請求的反映類似執(zhí)行普通程序時的反應映類似執(zhí)行普通程序時的反應 軟件中斷沒有隨機性軟件中斷沒有隨機性20 中斷傳送方式的原理中斷傳送方式的原理 中斷優(yōu)先級問題的解決中斷優(yōu)先級問題的解決中斷傳送方式中斷傳送方式中斷方式輸入的接口電路中斷方式輸入的接口電路R中斷傳送方式的原理中斷傳送方式的原理可屏

13、蔽中斷的響應和執(zhí)行(可屏蔽中斷的響應和執(zhí)行(P190)中斷優(yōu)先級問題的解決中斷優(yōu)先級問題的解決24 8259A的引腳信號的引腳信號 8259A的編程結構和工作原理的編程結構和工作原理 8259A的工作方式的工作方式 8259A的初始化命令字的初始化命令字 8259A的初始化流程的初始化流程 8259A的操作命令字的操作命令字 8259A使用舉例使用舉例8259A中斷控制器中斷控制器258259A的引腳信號的引腳信號方方 波波鍵鍵 盤盤保保 留留串串 口口2 硬硬 盤盤軟軟 盤盤打印機打印機WR18.2HzA1CS8259A總線總線A0數(shù)數(shù) 據(jù)據(jù) 線線 RDRDWR片片選選譯譯碼碼IR0IR1I

14、R2IR3IR4IR5IR6IR7A2A7D0D7D0D7VccSP/ENCAS0CAS1CAS2GND+ 5V用于多片用于多片8259A級連情況級連情況INTAINT INTA INTR串串 口口1 雙列直插式芯片,雙列直插式芯片,28個引腳個引腳8259A的編程結構和工作原理的編程結構和工作原理8259A的編程結構和工作原理的編程結構和工作原理下半部分的下半部分的7個寄存器分為個寄存器分為2組組4個寄存器存放初始化命令字個寄存器存放初始化命令字ICW1ICW4,在,在計算機系統(tǒng)啟動時由初始化程序設置。一旦設計算機系統(tǒng)啟動時由初始化程序設置。一旦設置,在系統(tǒng)工作過程中不再改變。置,在系統(tǒng)工作

15、過程中不再改變。3個寄存器存放操作命令字個寄存器存放操作命令字OCW1-OCW3,由,由應用程序設定,用作中斷過程的動態(tài)控制。應用程序設定,用作中斷過程的動態(tài)控制。8259A的編程結構和工作原理的編程結構和工作原理上半部分為處理部件上半部分為處理部件IRR:中斷請求寄存器,存儲外部來的中斷請:中斷請求寄存器,存儲外部來的中斷請求,與引腳求,與引腳IR7IR0對應。對應。PR:中斷優(yōu)先級裁決器,將新進入的中斷請:中斷優(yōu)先級裁決器,將新進入的中斷請求與正在處理的比較,決定哪個優(yōu)先級更高。求與正在處理的比較,決定哪個優(yōu)先級更高。ISR:當前中斷服務寄存器:存放正在處理的:當前中斷服務寄存器:存放正在

16、處理的中斷請求。中斷請求。8259A的編程結構和工作原理的編程結構和工作原理響應引腳的兩個負脈沖(第一個)響應引腳的兩個負脈沖(第一個)使使IRR的鎖存功能失效。第二個負脈沖才使其的鎖存功能失效。第二個負脈沖才使其重新有效。重新有效。使使ISR對應位置對應位置1,為,為PR以后的工作提供依據(jù)。以后的工作提供依據(jù)。使使IRR對應位清對應位清0。8259A的編程結構和工作原理的編程結構和工作原理響應引腳的兩個負脈沖(第二個)響應引腳的兩個負脈沖(第二個)將中斷類型寄存器將中斷類型寄存器ICW2送數(shù)據(jù)總線。送數(shù)據(jù)總線。如如ICW4的中斷自動結束位為的中斷自動結束位為1,則將當前,則將當前ISR相應位清相應位清0。825

溫馨提示

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

評論

0/150

提交評論