第7章-中斷系統(tǒng)和中斷控制器8259A.詳解.ppt_第1頁(yè)
第7章-中斷系統(tǒng)和中斷控制器8259A.詳解.ppt_第2頁(yè)
第7章-中斷系統(tǒng)和中斷控制器8259A.詳解.ppt_第3頁(yè)
第7章-中斷系統(tǒng)和中斷控制器8259A.詳解.ppt_第4頁(yè)
第7章-中斷系統(tǒng)和中斷控制器8259A.詳解.ppt_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余35頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、第7章 中斷系統(tǒng)和中斷控制器8259A,7.1 中斷的基本概念 中斷:是指CPU在正常運(yùn)行程序時(shí),由于內(nèi)部或外部事件引起CPU暫時(shí)中止執(zhí)行現(xiàn)行程序,轉(zhuǎn)去執(zhí)行請(qǐng)求CPU為其服務(wù)的那個(gè)外設(shè)或事件的服務(wù)程序,待該服務(wù)程序執(zhí)行完后又返回到被中止的程序這樣一個(gè)過(guò)程。 中斷源:能發(fā)出中斷申請(qǐng)的外設(shè)或引起中斷的原因。,中斷技術(shù)的優(yōu)點(diǎn): 并行操作:指CPU和多個(gè)外設(shè)并行操作。 分時(shí)操作:指CPU可分時(shí)執(zhí)行多個(gè)用戶程序和多道作業(yè)。 實(shí)現(xiàn)實(shí)時(shí)處理、 故障處理。 基本功能調(diào)用:通過(guò)軟件中斷可實(shí)現(xiàn)DOS功能調(diào)用和基本BIOS調(diào)用。 提高了CPU的利用效率。,中斷處理過(guò)程,1.中斷過(guò)程, 對(duì)于不同的微機(jī)系統(tǒng),CPU中斷

2、處理的具體過(guò)程不盡相同,但是一個(gè)完整的中斷基本過(guò)程應(yīng)包括五個(gè)基本過(guò)程:,7.1.2,(1) 軟件查詢方式 軟件查詢優(yōu)先方式是最簡(jiǎn)單的中斷優(yōu)先處理方式。圖6.5顯示了采用軟件查詢方式的接口電路。,7.1.3 中斷優(yōu)先權(quán),軟件查詢方式流程圖,(2)硬件優(yōu)先權(quán)排隊(duì)電路, 簡(jiǎn)單硬件方式中斷優(yōu)先權(quán)編碼鏈法或鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路。,中斷優(yōu)先權(quán)編碼電路主要由硬件編碼器和比較器組成。由編碼器送出優(yōu)先權(quán)最高的編碼,由此編碼獲得相應(yīng)的中斷服務(wù)程序入口地址。由比較器判別只有比當(dāng)前優(yōu)先權(quán)高的中斷請(qǐng)求才能送到CPU引腳。,鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路由硬件邏輯電路代替查詢程序。各中斷源通過(guò)一個(gè)特定的信號(hào)串行連接成鏈。無(wú)中斷請(qǐng)求時(shí),

3、該信號(hào)可串行通過(guò);鏈中某個(gè)中斷源由中斷請(qǐng)求,CPU響應(yīng)后,該信號(hào)在中斷源出截止,只有該中斷源前的中斷源可以打斷CPU的服務(wù)程序。即:排在最前面的中斷源為優(yōu)先權(quán)最高的,排在最后面的為優(yōu)先權(quán)最低。, 專用硬件方式可編程的中斷控制器。采用可編程中斷控制器,是當(dāng)前微型計(jì)算機(jī)系統(tǒng)中解決中斷優(yōu)先權(quán)管理的常用辦法。,如8259A,它具有8個(gè)優(yōu)先權(quán)控制,級(jí)聯(lián)后可擴(kuò)展至64級(jí)優(yōu)先權(quán)控制,且每級(jí)中斷都可設(shè)置為允許或屏蔽。,8086/8088的中斷系統(tǒng),1.中斷分類 8086/8088CPU可以處理256種類型的中斷源,這些中斷源可分為外部(硬件)中斷和內(nèi)部(軟件)中斷兩大類。 內(nèi)部中斷:由執(zhí)行指令引起 外部中斷:

4、由CPU得引腳線INTR、NMI引起。,2.中斷向量表 在8086系統(tǒng)中,允許引入256種類型中斷源(類型碼為0255),相應(yīng)有256個(gè)中斷服務(wù)程序首址。存放中斷地址的一段內(nèi)存空間稱中斷向量表。,7.2,7.2.1 中斷指令,1、中斷指令格式:INT n 或 INT ;n=0255,為中斷類型碼分別為 ;雙/單字節(jié)指令,指令的操作: (SP) (SP)-2,(SP+1),(SP) (FR) (IF) 0,(TF) 0 (SP) (SP)-2,(SP+1),(SP) (CS) (SP) (SP)-2,(SP+1),(SP) (IP) (IP) (n4) (CS) (n4+2),7.2.1 中斷指

5、令,2、溢出中斷指令格式:INTO ;單字節(jié)指令,操作同INT n,n=4. 用于代符號(hào)數(shù)加減后溢出產(chǎn)生的中斷. 通常放在一條算術(shù)運(yùn)算指令后面.,7.2.1 中斷指令,3、中斷返回指令格式:IRET,指令的操作: (IP) (SP+1),(SP) (SP) (SP)+2 (CS) (SP+1),(SP) (SP) (SP)+2 (FR) (SP+1),(SP) (SP) (SP)+2,注意入棧和出棧的順序!,7.2.2 中斷分類,8086/8088中的各種中斷的響應(yīng)和處理過(guò)程是不相同的。主要區(qū)別在于如何獲取相應(yīng)的中斷類型碼。,內(nèi)部中斷,除法錯(cuò)誤:除數(shù)為0或商超過(guò)寄存器表達(dá)范圍。,單步中斷:TF

6、1,自動(dòng)產(chǎn)生單步中斷。一般用在調(diào)試程序中。,斷點(diǎn)中斷:與單步中斷類似。用在調(diào)試程序中。,溢出中斷:OF為1時(shí),執(zhí)行INTO進(jìn)入。,溢出中斷:OF為1時(shí),執(zhí)行INTO進(jìn)入。,1.NMI CPU采樣NMI引腳的中斷請(qǐng)求時(shí),自動(dòng)提供中斷類型號(hào)2,然后根據(jù)中斷類型號(hào),查找中斷向量表指針,其后的處理與內(nèi)部中斷一樣。NMI上的請(qǐng)求信號(hào)有效寬度要大于2個(gè)時(shí)鐘周期., 8086/8088CPU為外部設(shè)備提供了兩條硬件中斷信號(hào)線,即NMI和INTR中斷請(qǐng)求信號(hào)。,外部中斷硬中斷,2.INTR IF=1時(shí),INTR引腳上由中斷請(qǐng)求信號(hào),CPU響應(yīng),從而進(jìn)入中斷響應(yīng)周期。 STI,開中斷,CLI,關(guān)中斷.,8086

7、系統(tǒng)內(nèi)存地址的一些專用區(qū)域, 0000003FFH 1KB 空間用于存放中斷向量表,可存放256個(gè)中斷服務(wù)程序的入口地址,每個(gè)地址占4字節(jié)。 B0000B0FFFH 4KB 為單色顯示器顯示緩沖區(qū) ,存放屏幕當(dāng)前顯示字符的ASCII碼。 B8000BBFFFH 16KB 為彩色顯示器顯示緩沖區(qū),存放屏幕當(dāng)前像素代碼。 FFFF0H 啟動(dòng)地址。一般用來(lái)存放一條無(wú)條件轉(zhuǎn)移指令,轉(zhuǎn)到系統(tǒng)初始化程序。,7.2.3 中斷向量表,中斷服務(wù)程序的入口地址,用兩個(gè)字節(jié)表示.低字為入口的偏移地址,高字為入口的斷基址.,已知中斷向量表如下: _ 0004CH 59H _ 0004DH ECH _ 0004EH 0

8、0H _ 0004FH F0H _ A.中斷類型號(hào)是多少? B.中斷服務(wù)程序的入口地址是多少?,- 4c /4 = 13h 13h - f000:ec59,例:,思考:,某中斷源的中斷類型碼為2AH,該中斷源的中斷服務(wù)入口地址為2000H:FF23H,試畫出中斷向量表圖,7.3 中斷控制器8259A,Intel8259A是一種可編程的中斷控制器(PIC),有如下功能: 可為CPU管理和處理8個(gè)中斷源電路的中斷,并對(duì)它們進(jìn)行優(yōu)先級(jí)管理。 可與其它8個(gè)8259A芯片組成主從式中斷系統(tǒng),實(shí)現(xiàn)64級(jí)中斷源控制。 優(yōu)先級(jí)方式在執(zhí)行程序時(shí)可動(dòng)態(tài)改變,有多種中斷管理方式。 每一中斷源中斷都可以屏蔽或允許,可

9、通過(guò)編程選擇。 能自動(dòng)送出中斷類型號(hào),使CPU方便的找到中斷服務(wù)程序的入口地址。 允許中斷嵌套。,7.3.1 8259A的主要功能,7.3.2 8259A的結(jié)構(gòu)及引腳,一、8259A的引腳 芯片采用 雙列直插式 28引腳封裝, 各引腳的 信號(hào)功能 如圖所示,二、8259A內(nèi)部功能結(jié)構(gòu),1、中斷請(qǐng)求寄存器IRR,用于鎖存所有IRi引腳輸入的中斷請(qǐng)求信號(hào)。,2、優(yōu)先權(quán)判別器PR,進(jìn)行優(yōu)先權(quán)管理。 中斷嵌套原則:高優(yōu)先權(quán)中斷可以打斷低優(yōu)先權(quán)中斷;同級(jí)不能互相打斷;低優(yōu)先權(quán)不能打斷高優(yōu)先權(quán)中斷。,3、中斷服務(wù)寄存器ISR,用于記錄已被中斷響應(yīng)的中斷。,4、中斷屏蔽寄存器IMR,用于存放中斷的屏蔽信息,

10、當(dāng)IMR某位被置位,對(duì)應(yīng)位的中斷請(qǐng)求就被屏蔽。,5、數(shù)據(jù)總線緩沖器,8259A與CPU之間的數(shù)據(jù)傳輸通道。,6、讀/寫控制邏輯,接受CPU的控制信號(hào),完成規(guī)定的寫入操作,讀IRR、ISR和IMR。,7、級(jí)聯(lián)緩沖/比較器,實(shí)現(xiàn)8259A級(jí)聯(lián)。,8、控制邏輯,控制片內(nèi)工作,根據(jù)IRR、IMR的內(nèi)容和PR判斷結(jié)果。向CPU發(fā)中斷請(qǐng)求,接受CPU的中斷相應(yīng)信號(hào)。,8259A是28個(gè)引腳的雙列直插芯片,其引腳如圖 所示。 D7D0雙向三態(tài)數(shù)據(jù)線,它可直接與數(shù)據(jù)總線連接。 IR0IR7中斷請(qǐng)求輸入線,其中IR優(yōu)先權(quán)最高,IR7最低。 INT中斷請(qǐng)求輸出,接CPU的中斷請(qǐng)求線INTR。 INTA 中斷響應(yīng)輸

11、入,接受CPU發(fā)來(lái)的中斷響應(yīng)信號(hào)。,8259A的引線,(2 ), CS片選信號(hào)線,當(dāng)該腳為低電平時(shí),8259A被選中。 WR寫控制信號(hào)線,當(dāng)為低電平時(shí),CPU向8259A寫入控制信號(hào)。 RD讀控制信號(hào)線,當(dāng)為低時(shí),可將8259A內(nèi)部寄存器的信息讀至數(shù)據(jù)總線。 A0用以選擇8259A內(nèi)部不同寄存器。通常與地址總線A0相連接。 CAS0CAS2級(jí)連信號(hào),對(duì)于主8259A,它們是輸出線,而對(duì)于從8259A,它們是輸入線。 SP/EN從程序/緩沖器允許信號(hào),是一個(gè)雙功能信號(hào)。,7.3.3、8259A的工作過(guò)程,若允許嵌套,PR依據(jù)ISR的狀態(tài),判斷新的中斷請(qǐng)求優(yōu)先權(quán)是否高于正在服務(wù)的中斷,是則送出IN

12、T1。 服務(wù)結(jié)束,8259A清除ISR響應(yīng)位。,7.3.4 8259A的工作方式,1、中斷請(qǐng)求觸發(fā)方式,當(dāng)IR3得到 中斷服務(wù)后,(1)電平觸發(fā) 性質(zhì):IR7IR0的中斷申請(qǐng)端出現(xiàn)高電平,觸發(fā)中斷服務(wù)。 特點(diǎn):響應(yīng)后,必須撤除申請(qǐng),否則發(fā)生二次中斷申請(qǐng)。,(2)邊沿觸發(fā) 性質(zhì):IR7IR0的中斷申請(qǐng)端出現(xiàn)低電平向高電平跳變時(shí),觸發(fā)中斷服務(wù) 特點(diǎn):申請(qǐng)端一直保持高電平,不會(huì)誤判。,7.3.4 8259A的工作方式,2、屏蔽中斷源方式: 由8259A的內(nèi)部屏蔽寄存器IMR決定。有一般屏蔽方式和特殊屏蔽方式兩種。,當(dāng)IR3得到 中斷服務(wù)后,(1)一般屏蔽方式 性質(zhì):通過(guò)編程置操作命令字OCW1的相應(yīng)

13、位為1,則使對(duì)應(yīng)中斷源被屏蔽。為0,則使對(duì)應(yīng)中斷源不被屏蔽。用輸出命令將OCW2寫入IMR中實(shí)現(xiàn)。 特點(diǎn):使某些中斷源可以申請(qǐng)服務(wù),某些被屏蔽不能申請(qǐng)中斷服務(wù)。,(2)特殊屏蔽方式 性質(zhì):通過(guò)編程置操作命令字OCW3的D6D5=11,進(jìn)入工作方式。通過(guò)編程置操作命令字OCW3的D6D5=10,退出工作方式。 特點(diǎn):使某些優(yōu)先權(quán)低的中斷源可以申請(qǐng)服務(wù),某些優(yōu)先權(quán)低的中斷源被屏蔽不能申請(qǐng)中斷服務(wù)。,7.3.4 8259A的工作方式,當(dāng)IR3得到 中斷服務(wù)后,3、中斷優(yōu)先權(quán)設(shè)置方式:,(1)普通全嵌套方式(固定優(yōu)先級(jí)方式): 默認(rèn)方式,IR0最高,IR7最低,(2)特殊全嵌套方式: 基本同普通全嵌套

14、方式, 但可以進(jìn)行同級(jí)嵌套。,(3)優(yōu)先級(jí)自動(dòng)循環(huán)方式: 初始優(yōu)先級(jí)順序IR0最高,IR7最低。 當(dāng)其中一個(gè)中斷源受到服務(wù), 則它為最低優(yōu)先權(quán)。 同時(shí)置比它低一級(jí)中斷源為最高級(jí), 其它自動(dòng)循環(huán)排列。,(4)優(yōu)先級(jí)指定(特殊)循環(huán)方式: 當(dāng)一中斷源指定為最低優(yōu)先權(quán), 則比它低一級(jí)中斷源為最高級(jí),其它順序排列。 如:指定IR3為最低,則優(yōu)先級(jí)順序?yàn)镮R4, IR5,IR6,IR7,IR0,IR1, IR2 , IR3 。,7.3.4 8259A的工作方式,4、中斷結(jié)束(EOI)方式 結(jié)束中斷處理是將中斷服務(wù)寄存器中對(duì)應(yīng)的位置0。結(jié)束中斷處理方式有三類: (1)一般中斷結(jié)束方式(EOI):通過(guò)編程置

15、初始化命令字ICW4的D1=0,設(shè)置。通過(guò)編程置操作命令字OCW2的D7D6D5=001,執(zhí)行輸出命令,實(shí)現(xiàn)自動(dòng)結(jié)束。 特點(diǎn):使當(dāng)前中斷服務(wù)寄存器(ISR)中優(yōu)先權(quán)級(jí)別最高的對(duì)應(yīng)位清0,即結(jié)束。 (2)特殊中斷結(jié)束方式(SEOI):通過(guò)編程置ICW4的D1=0,設(shè)置。然后通過(guò)編程置操作命令字OCW2的D7D6D5=X11,D2D1D0給出想結(jié)束的中斷源號(hào)。使結(jié)束。 特點(diǎn):使指定中斷服務(wù)寄存器(ISR)中的中斷源對(duì)應(yīng)位清0,即結(jié)束。 (3)自動(dòng)中斷結(jié)束方式(AEOI):通過(guò)編程置ICW4的D1=1實(shí)現(xiàn)。 特點(diǎn):只適用于一片8259A,且各中斷不發(fā)生嵌套。中斷服務(wù)寄存器(ISR)中的中斷源對(duì)應(yīng)位清

16、0由硬件自動(dòng)完成,但正在處理的中斷服務(wù)程序并沒有結(jié)束。,當(dāng)IR3得到 中斷服務(wù)后,7.3.4 8259A的工作方式,當(dāng)IR3得到 中斷服務(wù)后,5、連接總線方式,(1)緩沖方式 性質(zhì):通過(guò)編程置初始化命令字ICW4的D3=1,進(jìn)入工作方式。8259A的SP/EN :輸出低電平作為啟動(dòng)信號(hào)。 特點(diǎn):應(yīng)用于多片級(jí)連的大系統(tǒng)中,通過(guò)總線驅(qū)動(dòng)器和數(shù)據(jù)總線相連。,(2)非緩沖方式 性質(zhì):通過(guò)編程置初始化命令字ICW1的D3=0,進(jìn)入工作方式。 特點(diǎn):申請(qǐng)端一直保持高電平,不會(huì)誤判。8259A直接和數(shù)據(jù)總線相連,8259A工作之前需要用兩類控制字對(duì)它進(jìn)行工作方式的設(shè)定和啟動(dòng)它進(jìn)行規(guī)定的操作。 第一類是初始化

17、命令字ICW1ICW4,它通常是計(jì)算機(jī)系統(tǒng)啟動(dòng)時(shí)由初始化程序設(shè)置的,一旦設(shè)定一般在系統(tǒng)各種過(guò)程不在改變。 第二類是操作命令字OCW1OCW3,它是由應(yīng)用程序設(shè)定,用來(lái)對(duì)中斷處理過(guò)程進(jìn)行動(dòng)態(tài)控制。, 初始化命令字,ICW1的格式芯片控制字,1 = 需要ICW4 0 = 不需要ICW4,偶地址,A0 D7 D6 D5 D4 D3 D2 D1 D0,ICW1識(shí) 別 位,1 = 單片 0 = 級(jí)連,1 = 電平觸發(fā) 0 = 邊沿觸發(fā),ICW2的格式定義中斷類型碼,奇地址,A0 D7 D6 D5 D4 D3 D2 D1 D0,中斷類型碼的高5位,中斷類型碼的低3位,自動(dòng)填入,IR0:000

18、, IR1:001 IR2:010, IR3:011 IR4:100, IR5:101 IR6:110, IR7:111,ICW3的格式主/從片初始化,ICW4的格式方式控制字,8259A初始化流程, 8259A的操作命令字,(1) 操作命令字OCW1屏蔽操作命令字,該命令字用來(lái)設(shè)置或清除對(duì)中斷的屏蔽稱中斷屏蔽命令字。其格式如圖所示。,OCW1的格式,中斷屏蔽 1 = 置屏蔽 0 = 復(fù)位屏蔽,奇地址,A0 D7 D6 D5 D4 D3 D2 D1 D0,該命令字用來(lái)設(shè)置優(yōu)先級(jí)循環(huán)和中斷結(jié)束方式。 其格式如圖所示。,(2) 操作命令字OCW2中斷方式命令字,OCW2的格式,中斷級(jí)編碼 IR0 0 0 0 IR1 0 0 1 IR2 0 1 0 IR3 0 1 1 IR4 1 0 0 IR5 1 0 1 IR6 1 1 0 IR7 1 1 1,偶地址,A0 D7 D6 D5 D4 D3 D2 D1

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論