中斷控制接口_第1頁
中斷控制接口_第2頁
中斷控制接口_第3頁
中斷控制接口_第4頁
中斷控制接口_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第六章中斷控制接口2011/10東北大學計算機系統(tǒng)研究所第六章中斷控制接口第六章中斷控制接口6.1中斷系統(tǒng)概述6.28259A中斷控制器習題第六章中斷控制接口外部中斷:可屏蔽中斷和非可屏蔽中斷。內(nèi)部中斷:除法錯等中斷,軟中斷。INTn指令中斷邏輯非屏蔽中斷請求8259IRQIRQIRQIRQIRQIRQIRQIRQ51234067INTR(08~0FH)NMI(2)(70H~77H)單步(1)斷點(3)溢出(4)TF

IF6.1.1中斷請求與中斷源6.1中斷系統(tǒng)概述除法錯(0)第六章中斷控制接口實現(xiàn)中斷嵌套:CPU在處理低級中斷時,若出現(xiàn)更高級的中斷請求,應(yīng)暫停對較低級的中斷的處理,轉(zhuǎn)去處理較高級的中斷。6.1中斷系統(tǒng)概述實現(xiàn)中斷與返回:能夠響應(yīng)中斷,轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序,處理結(jié)束后能夠返回到斷點處。實現(xiàn)優(yōu)先級排隊:多個中斷源同時發(fā)出中斷請求時,中斷系統(tǒng)能夠按優(yōu)先級依次進行處理。6.1.2中斷系統(tǒng)的功能第六章中斷控制接口CPU的中斷是開放的:CPU只有在標志寄存器中的IF標志為1時才對外部中斷請求信號(INTR)進行響應(yīng)。CPU可通過STI、CLI指令對IF標志置1或清0。6.1中斷系統(tǒng)概述有中斷請求信號:主要指外部中斷,如INTR、NMI。中斷請求沒有被屏蔽:每個中斷源都可以在CPU的控制下發(fā)出中斷請求信號(INTR),如8250的IER寄存器和OUT0、OUT1信號,8255A的PC2、4、6以及8259的IMR。6.1.3中斷響應(yīng)-中斷系統(tǒng)響應(yīng)中斷的條件CPU在現(xiàn)行指令執(zhí)行完畢時才響應(yīng)中斷:滿足以上條件的情況下第六章中斷控制接口關(guān)中斷:CPU響應(yīng)中斷后,首先將標志寄存器入棧,然后關(guān)閉中斷(IF置0),以防止在保存斷點和保護現(xiàn)場之前再次響應(yīng)中斷。

保存斷點:將CS、IP推入堆棧,以保證中斷結(jié)束時返回到斷點處。

根據(jù)中斷向量(CPU發(fā)中斷響應(yīng)信號時獲得的)查詢中斷向量表,得到中斷服務(wù)子程序的首地址,并轉(zhuǎn)去執(zhí)行中斷處理程序。6.1中斷系統(tǒng)概述6.1.3中斷響應(yīng)-CPU中斷響應(yīng)過程第六章中斷控制接口6.1中斷系統(tǒng)概述…IF=1……IF=1……IF=0…CSIPCSIP堆棧中斷向量表CSIPCSIPCSIP012…CSIP中斷號(例如2)到CS:IP取出指令轉(zhuǎn)入執(zhí)行中斷程序CPU中斷響應(yīng)過程模擬第六章中斷控制接口PCK:RAM奇偶錯。NPI:8087異常。I/OCHCK:I/O通道奇偶錯。INTn指令中斷邏輯INTRNMI除法錯單步斷點溢出OF

IFLS74QXD7DWRTNMIREGCK+5VRESETPCKNPII/OCHCKENABLE/OCK(OUT80HA0H)6.1中斷系統(tǒng)概述6.1.4PC機中斷系統(tǒng)第六章中斷控制接口INTn指令中斷邏輯非屏蔽中斷請求8259

IRQIRQIRQIRQIRQIRQIRQIRQ51234067INTR(08~0FH)NMI(2)除法錯(70H~77H)單步斷點溢出OF

IF計時器鍵盤級聯(lián)COM2COM1LPT2軟盤LPT1實時時鐘硬盤IRQ14IRQ88259(2)(1)查出其它的中斷源6.1中斷系統(tǒng)概述6.1.4PC機中斷系統(tǒng)第六章中斷控制接口6.1中斷系統(tǒng)概述0000:0000H0000:0003H0000:0004HIPCSIPCSIPCSIPCS0000:0007H0000:0008H0000:000BH0000:000CH0000:03FCH0000:03FFH中斷0中斷1中斷2中斷3中斷255中斷相量表中斷相量:中斷子程序的首地址第六章中斷控制接口開機或者復位時由BIOS將10H~1FH號中斷的首地址寫入表中。6.1中斷系統(tǒng)概述中斷相量表的初始化執(zhí)行引導程序時由操作系統(tǒng)將20H~2FH號中斷的首地址寫入表中。用戶應(yīng)用程序中的中斷服務(wù)子程序的首地址,由主程序通過INT21H和INT27H指令將其寫入表中。中斷程序一般都常駐內(nèi)存。第六章中斷控制接口中斷描述符表IDT8字節(jié)中斷0的門中斷1的門中斷2的門IDTRGDT…門描述符(中斷描述符)偏移量16~31訪問字節(jié)選擇子偏移量0~156.1中斷系統(tǒng)概述第六章中斷控制接口調(diào)用門:允許較低級的程序調(diào)用(CALL)較高級的程序(如操作系統(tǒng))。(在GDT中)任務(wù)門:允許從特權(quán)級較低的任務(wù)切換(CALL或中斷,如按時間片)到特權(quán)級較高的任務(wù)。(在GDT、IDT中)陷阱門:所訪問的是異常處理子程序。(在IDT中)中斷門:用于訪問中斷處理程序。與陷阱門的區(qū)別是中斷處理之前清IF,而陷阱門不管IF的狀態(tài)。(在IDT中)6.1中斷系統(tǒng)概述第六章中斷控制接口第六章中斷控制接口6.28259A中斷控制器6.1中斷系統(tǒng)概述習題第六章中斷控制接口6.2.18259A的引腳8259AD0~D7RDWRCSA0INTINTA…..IRQ0IRQ1IRQ7CAS0CAS1CAS2級聯(lián)SP/EN主從/緩沖中斷源6.28259A中斷控制器第六章中斷控制接口6.2.28259A的內(nèi)部結(jié)構(gòu)及中斷響應(yīng)順序IRQ0IRQ1IRQ7IRRIMR優(yōu)先級分析器ISR比較器ICW2中斷向量INTINTAD0~76.28259A中斷控制器第六章中斷控制接口外部設(shè)備提出中斷請求(IRQi)。中斷請求被鎖存在IRR中,并與IMR相“與”。經(jīng)優(yōu)先級分析器檢出優(yōu)先級最高的中斷請求。由控制電路比較該中斷請求與當前中斷(CPU正在處理的)的優(yōu)先級,判斷是否能夠進行嵌套。是則向CPU發(fā)出INT信號。CPU輸出第一個INTA脈沖信號,將IRR的對應(yīng)位清0,并將ISR的對應(yīng)位置1。6.28259A中斷控制器6.2.28259A的內(nèi)部結(jié)構(gòu)及中斷響應(yīng)順序輸出第二個INTA脈沖信號,8259A在這個周期將中斷向量碼輸出到數(shù)據(jù)總線。CPU讀取中斷向量碼,轉(zhuǎn)到相應(yīng)的中斷處理程序。第六章中斷控制接口INTINTAIRQ1IRQ0IRQ7SP/EN…CAS0CAS1CAS2INTINTAIRQ1IRQ0IRQ7SP/EN…CAS0CAS1CAS2INTINTAIRQ1IRQ0IRQ7SP/EN…CAS0CAS1CAS2主片從片INTAINTR6.28259A中斷控制器*8259A的級聯(lián)第六章中斷控制接口ICW1ICW2ICW3ICW4OCW1OCW2OCW3偶奇奇奇d4=1IMR奇偶偶d4=0d3=0d4=0d3=1IRRISR偶偶讀IRR:MOVAL,00001010BOUT20H,ALINAL,20H6.28259A中斷控制器6.2.38259A的程序設(shè)計-內(nèi)部寄存器第六章中斷控制接口ICW1ICW2ICW3ICW4OCW1OCW2OCW3偶奇奇奇d4=1IMR奇偶偶d4=0d3=0d4=0d3=1IRRISR偶偶讀ISR:MOVAL,00001011BOUT20H,ALINAL,20H6.28259A中斷控制器6.2.38259A的程序設(shè)計-內(nèi)部寄存器第六章中斷控制接口ICW1ICW2ICW3ICW4OCW1OCW2OCW3偶奇奇奇d4=1IMR奇偶偶d4=0d3=0d4=0d3=1IRRISR偶偶6.28259A中斷控制器6.2.38259A的程序設(shè)計-內(nèi)部寄存器讀IMR:INAL,21H第六章中斷控制接口ICW1:

ICW2:ICW3:

0001LTMXSNGLIC41電平觸發(fā)0邊沿觸發(fā)1單片使用0級聯(lián)使用1要求ICW40不要ICW4off7off6off5off4off3000s7s6s5s4s3s2s1s0主片1:連有從片;0:未連從片中斷向量高5位6.28259A中斷控制器6.2.38259A的程序設(shè)計-內(nèi)部寄存器第六章中斷控制接口ICW3:

ICW4:

00000ID2ID1ID0000SFNMBUFM/SAEOI1從片從片ID1特殊完全嵌套方式0非特殊完全嵌套方式1緩沖方式0非緩沖方式1本片為主片0本片為從片1自動EOI0非自動EOI6.28259A中斷控制器6.2.38259A的程序設(shè)計-內(nèi)部寄存器第六章中斷控制接口OCW1:

/IMR

OCW2:

M7M6M5M4M3M2M1M01:該中斷請求被屏蔽;0:該中斷請求開放RSLEOI00L2L1L0選擇一個中斷級1:優(yōu)先級自動循環(huán)0:優(yōu)先級非自動循環(huán)1:L0~L2有效0:L0~L2無效ISR對應(yīng)位復位6.28259A中斷控制器6.2.38259A的程序設(shè)計-內(nèi)部寄存器第六章中斷控制接口OCW3:

0ESMMSMM01PRRRIS00=無操作1:查詢命令01=無操作10=讀IRR11=讀ISR00=無操作01=無操作10=取消指定的屏蔽11=設(shè)置指定的屏蔽0:非查詢命令6.28259A中斷控制器6.2.38259A的程序設(shè)計-內(nèi)部寄存器第六章中斷控制接口6.28259A中斷控制器6.2.48259A在IBMPC系列機中的應(yīng)用IBMPC/AT的中斷源IBMPC/AT中8259A的初始化第六章中斷控制接口;初始化主控8259AMOVAL,11H;ICW1,8259A級聯(lián)使用,邊沿檢測

OUT20H,ALMOVAL,08H;ICW2,設(shè)置中斷向量的高5位,

OUT21H,AL;IRQ0~IRQ7分別對應(yīng)INT08H到0FHMOVAL,04H;ICW3,在IRQ2上接有一從屬8259AOUT21H,ALMOVAL,01H;ICW4,指定非AEOI方式

OUT21H,AL

6.28259A中斷控制器6.2.48269A在PC機中的應(yīng)用-IBMPC/AT中8259A的主片初始化第六章中斷控制接口6.28259A中斷控制器6.2.48269A在PC機中的應(yīng)用-IBMPC/AT中8259A的從片初始化;初始化從屬8259AMOVAL,11H;ICW1,8259A級聯(lián)使用,邊沿檢測

OUT0A0H,ALMOVAL,70H;ICW2,設(shè)置中斷向量的高5位,

OUT0A1H,AL;IRQ8~IRQ15分別對應(yīng)

溫馨提示

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

評論

0/150

提交評論