




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第九章
微機(jī)信息傳遞方式中斷系統(tǒng)陸堯勝謝軍主講暨南大學(xué)信息科學(xué)技術(shù)學(xué)院電子工程系微機(jī)系統(tǒng)與接口1微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第1頁(yè)!【教學(xué)目標(biāo)】
了解三種不同的微機(jī)信息傳遞方式,掌握其軟件和硬件設(shè)計(jì)方法。
【教學(xué)重點(diǎn)】微機(jī)信息傳遞方式及其特點(diǎn)。
【教學(xué)難點(diǎn)】中斷技術(shù)。2微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第2頁(yè)!8.1輸入輸出的控制方式主機(jī)與外設(shè)之間數(shù)據(jù)傳送的控制方式有以下四種:無(wú)條件傳送查詢式傳送中斷方式傳送直接存儲(chǔ)器存取(DMA,DirectMemoryAccess)3微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第3頁(yè)!8.1.2查詢方式傳送適用于外設(shè)并不總是準(zhǔn)備好,而且對(duì)傳送速率、傳送效率要求不高的場(chǎng)合。CPU在與外設(shè)交換數(shù)據(jù)前必須詢問(wèn)外設(shè)狀態(tài)——“你準(zhǔn)備好沒(méi)有?”對(duì)外設(shè)的要求:應(yīng)提供設(shè)備狀態(tài)信息對(duì)接口的要求:需要提供狀態(tài)端口優(yōu)點(diǎn):軟件比較簡(jiǎn)單缺點(diǎn):CPU效率低,數(shù)據(jù)傳送的實(shí)時(shí)性差,速度較慢4微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第4頁(yè)!D5D7-D0A9|A3≥1&A15|A10≥1IOWD7-D03F8H外設(shè)D7D6D5D4D3D2D1D0BUSYCPQ7Q6Q5Q4Q3Q2Q1Q0狀態(tài)端口GG2AG2BCBAA2A1A074LS138Y0≥1IORY3OE74LS374CPQQDSSTROBE3FBH5微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第5頁(yè)!8.1.3中斷方式傳送CPU無(wú)需循環(huán)查詢外設(shè)狀態(tài),而是外部設(shè)備在需要進(jìn)行數(shù)據(jù)傳送時(shí)才中斷CPU正在進(jìn)行的工作,讓CPU來(lái)為其服務(wù)。即CPU在沒(méi)有外設(shè)請(qǐng)求時(shí)可以去做更重要的事情,有請(qǐng)求時(shí)才去傳輸數(shù)據(jù),從而大大提高了CPU的利用率。優(yōu)點(diǎn):CPU效率高,實(shí)時(shí)性好,速度快。缺點(diǎn):程序編制較為復(fù)雜。6微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第6頁(yè)!
DMA傳輸:
外設(shè)
內(nèi)存外設(shè)直接與存儲(chǔ)器進(jìn)行數(shù)據(jù)交換,CPU不再擔(dān)當(dāng)數(shù)據(jù)傳輸?shù)闹薪檎?;總線由DMA控制器(DMAC)進(jìn)行控制(CPU要放棄總線控制權(quán)),內(nèi)存/外設(shè)的地址和讀寫控制信號(hào)均由DMAC提供。優(yōu)點(diǎn):數(shù)據(jù)傳輸由DMA硬件來(lái)控制,數(shù)據(jù)直接在內(nèi)存和外設(shè)之間交換,可以達(dá)到很高的傳輸速率(可達(dá)幾MB/秒)7微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第7頁(yè)!中斷的定義CPU執(zhí)行程序時(shí),由于發(fā)生了某種隨機(jī)的事件(外部或內(nèi)部),引起CPU暫時(shí)中斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序(稱為中斷服務(wù)程序或中斷處理程序),以處理該事件,該事件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一過(guò)程稱為中斷。8微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第8頁(yè)!為何計(jì)算機(jī)中要引入中斷?提高數(shù)據(jù)傳輸率;避免了CPU不斷檢測(cè)外設(shè)狀態(tài)的過(guò)程,提高了CPU的利用率。實(shí)現(xiàn)對(duì)特殊事件的實(shí)時(shí)響應(yīng)。9微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第9頁(yè)!1)中斷請(qǐng)求外設(shè)接口(中斷源)發(fā)出中斷請(qǐng)求信號(hào),送到CPU的INTR或NMI引腳;中斷請(qǐng)求信號(hào):邊沿請(qǐng)求,電平請(qǐng)求
例如,NMI為邊沿請(qǐng)求,INTR為電平請(qǐng)求中斷請(qǐng)求信號(hào)應(yīng)保持到中斷被處理為止;CPU響應(yīng)中斷后,中斷請(qǐng)求信號(hào)應(yīng)及時(shí)撤銷。在8086/8088系統(tǒng)中,外設(shè)的中斷要經(jīng)過(guò)8259A可編程中斷控制器(PIC)的排隊(duì)判優(yōu)后向CPU發(fā)出:
(I/O接口)
→PIC→CPU10微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第10頁(yè)!2.2)中斷判優(yōu)多個(gè)中斷源產(chǎn)生中斷,CPU首先為誰(shuí)服務(wù)? ——中斷優(yōu)先級(jí)排隊(duì)問(wèn)題。中斷優(yōu)先級(jí)控制要處理兩種情況:對(duì)同時(shí)產(chǎn)生的中斷:應(yīng)首先處理優(yōu)先級(jí)別較高的中斷;若優(yōu)先級(jí)別相同,則按先來(lái)先服務(wù)的原則處理;對(duì)非同時(shí)產(chǎn)生的中斷:低優(yōu)先級(jí)別的中斷處理程序允許被高優(yōu)先級(jí)別的中斷源所中斷——即允許中斷嵌套。中斷優(yōu)先級(jí)的控制方法硬件判優(yōu)——鏈?zhǔn)脚袃?yōu)、并行判優(yōu)(中斷向量法)軟件判優(yōu)——順序查詢中斷請(qǐng)求,先查詢的先服務(wù)(即先查詢的優(yōu)先級(jí)別高)通常將中斷判優(yōu)與中斷源識(shí)別合并在一起進(jìn)行處理。x86系統(tǒng)中,這項(xiàng)任務(wù)由PIC和CPU共同完成。11微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第11頁(yè)!菊花鏈邏輯電路INTAinIREQINTR&=1
≥1INTAoutDB三態(tài)門中斷向量碼E外設(shè)接口中斷確認(rèn)菊花鏈邏輯電路12微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第12頁(yè)!3)中斷響應(yīng)(續(xù))CPU中斷響應(yīng)時(shí),要做下述三項(xiàng)工作:向中斷源發(fā)出INTA中斷響應(yīng)信號(hào);斷點(diǎn)保護(hù),包括CS、IP和PSW(FLAGS)。這主要是保證中斷結(jié)束后能返回被中斷的程序。獲得中斷服務(wù)程序首地址(入口)。如何得到中斷處理程序的首地址?固定入口法中斷向量法——常用13微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第13頁(yè)!5)中斷返回執(zhí)行中斷返回指令I(lǐng)RETIRET指令將使CPU把堆棧內(nèi)保存的斷點(diǎn)信息彈出到IP、CS和FLAG中,保證被中斷的程序從斷點(diǎn)處能夠繼續(xù)往下執(zhí)行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG進(jìn)入中斷服務(wù)程序時(shí)中斷返回后14微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第14頁(yè)!NMIINTR中斷邏輯軟件中斷指令溢出中斷除法錯(cuò)單步中斷非屏蔽中斷請(qǐng)求中斷控制器8259APIC8086/8088CPU內(nèi)部邏輯斷點(diǎn)中斷8086/8088中斷源類型可屏蔽中斷請(qǐng)求n4301215微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第15頁(yè)!中斷向量表(IVT)
存放各類中斷的中斷服務(wù)程序的入口地址(段和偏移)——中斷向量
表的地址位于內(nèi)存的00000H~003FFH,大小為1KB,共256個(gè)中斷向量每個(gè)中斷向量占用4Bytes,低字為段內(nèi)偏移,高字為段基址根據(jù)中斷類型號(hào)獲得中斷服務(wù)程序入口的方法:(n為中斷類型號(hào))中斷向量在IVT中的存放地址=4×n16微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第16頁(yè)!中斷向量表的初始化CLI;關(guān)中斷MOVAX,0MOVDS,AXMOVSI,48H*4;表的地址指針DS:SIMOVAX,OFFSETint48hMOV[SI],AX;送中斷入口之偏移地址MOVAX,SEGint48hMOV[SI+2],AX;送中斷入口之段基址
STI;開(kāi)中斷17微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第17頁(yè)!中斷響應(yīng)過(guò)程(續(xù))外部中斷響應(yīng)過(guò)程非屏蔽中斷,與內(nèi)部中斷響應(yīng)過(guò)程類似
可屏蔽中斷
①INTA#(1),PIC進(jìn)行優(yōu)先級(jí)排隊(duì)判優(yōu)處理
②INTA#(2),PIC把中斷類型碼n放到DB上,CPU讀入
③PUSHFLAG ④IF=0
⑤
PUSHCS
⑥PUSH
IP
⑦取中斷向量送入IP和CS與內(nèi)部中斷一樣(CPU自動(dòng)完成)18微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第18頁(yè)!NYNYNNNNNYY執(zhí)行指令執(zhí)行完否?取指令I(lǐng)F=1?內(nèi)部中斷?NMI?INTR?TF=1?類型碼=0~255類型碼=2類型碼=1中斷響應(yīng),讀回類型碼FLAG入棧TEMP←TFTF=TF=0CS、IP入棧計(jì)算向量表地址高字→CS低字→IP執(zhí)行中斷服務(wù)程序NMI?TEMP=1?轉(zhuǎn)入中斷服務(wù)程序恢復(fù)CS和IP恢復(fù)FLAGS返回被中斷的程序YYYYNIRET指令的操作8086/8088的中斷處理流程19微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第19頁(yè)!8.3可編程中斷控制器8259APIC,ProgrammableInterruptController可對(duì)8個(gè)中斷源實(shí)現(xiàn)優(yōu)先級(jí)控制
可擴(kuò)展至對(duì)64個(gè)中斷源實(shí)現(xiàn)優(yōu)先級(jí)控制
可編程設(shè)置不同工作方式根據(jù)中斷源向x86提供不同中斷類型碼引腳分配及功能20微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第20頁(yè)!8259A的內(nèi)部結(jié)構(gòu)中斷請(qǐng)求寄存器IRR保存從IR0~I(xiàn)R7來(lái)的中斷請(qǐng)求信號(hào),某位=1表示對(duì)應(yīng)的IRi有中斷請(qǐng)求
中斷服務(wù)寄存器ISR
保存所有正在服務(wù)的中斷源,某位=1表示對(duì)應(yīng)的IRi中斷正在被服務(wù)
中斷屏蔽寄存器IMR(區(qū)別于CPU的標(biāo)志寄存器的IF)存放中斷屏蔽字,某位=1表示對(duì)應(yīng)的IRi輸入被屏蔽
中斷優(yōu)先權(quán)判別電路
確定是否向CPU發(fā)出中斷請(qǐng)求,中斷響應(yīng)時(shí)確定ISR的哪位應(yīng)置位及把相應(yīng)中斷的類型碼放到數(shù)據(jù)總線上
21微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第21頁(yè)!8.3.28259A的工作過(guò)程8259A對(duì)中斷請(qǐng)求的處理過(guò)程如下:當(dāng)某IRi有效時(shí),IRR相應(yīng)位置1若有效的IRi未被屏蔽,則向CPU發(fā)出中斷請(qǐng)求檢測(cè)到第1個(gè)INTA#信號(hào)后,置ISRi=1,IRRi=0
(8259A-INTA接CPU-INTA,INT接CPU-INTR)檢測(cè)到第2個(gè)INTA#信號(hào)后,把ISRi=1中最高優(yōu)先級(jí)的中斷類型碼放到DB上若工作在AEOI方式,在第2個(gè)INTA#結(jié)束時(shí),使ISRi復(fù)位;否則由CPU發(fā)出EOI命令使ISRi復(fù)位22微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第22頁(yè)!中斷優(yōu)先方式與中斷嵌套中斷優(yōu)先方式
兩類優(yōu)先級(jí)控制方式:固定優(yōu)先級(jí)和循環(huán)優(yōu)先級(jí)固定優(yōu)先級(jí)方式所有中斷請(qǐng)求IRi的中斷優(yōu)先級(jí)固定不變優(yōu)先級(jí)排列順序可編程改變加電后8259A的默認(rèn)方式,默認(rèn)優(yōu)先級(jí)順序從高到低為IR0~I(xiàn)R7IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低級(jí)最高級(jí)最高級(jí)最低級(jí)優(yōu)先級(jí)IR7IR6IR5IR4IR3IR2IR1IR0默認(rèn)優(yōu)先級(jí)優(yōu)先級(jí)可編程改變23微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第23頁(yè)!中斷優(yōu)先方式與中斷嵌套(續(xù))中斷嵌套方式在中斷處理過(guò)程中允許被更高優(yōu)先級(jí)的事件所中斷稱為中斷嵌套。8259A有兩種中斷嵌套方式:普通全嵌套方式(默認(rèn)方式)
一中斷正被處理時(shí),只有更高優(yōu)先級(jí)的事件可以打斷當(dāng)前的中斷處理過(guò)程而被服務(wù)。特殊全嵌套方式
一中斷正被處理時(shí),允許同級(jí)或更高優(yōu)先級(jí)的事件可以打斷當(dāng)前的中斷處理過(guò)程而被服務(wù)。注:特殊全嵌套僅用于多個(gè)8259A級(jí)連時(shí)的主8259A,而不能用于從屬8259A或單8259A系統(tǒng)。24微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第24頁(yè)!
AEOI:在第2個(gè)INTA#結(jié)束時(shí),由8259A使ISRi自動(dòng)復(fù)位;因不保留當(dāng)前正在服務(wù)的中斷的狀態(tài),故AEOI不能用于中斷嵌套方式SEOI:由CPU發(fā)出一條SEOI命令,該EOI命令中指出了所要復(fù)位的ISR的位號(hào)。
用于特殊屏蔽方式NSEOI:由CPU發(fā)出正常EOI命令,該EOI命令使ISRi=1的位中優(yōu)先級(jí)最高的那一位復(fù)位。用于普通全嵌套方式25微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第25頁(yè)!特殊屏蔽例:
。;IR4中斷處理程序 CLI MOVAL,68H;OCW3:01101000 OUT0C0H,AL;設(shè)置特殊屏蔽方式 INAL,0C2H
ORAL,10H;屏蔽IR4 OUT0C2H,AL STI 。;IR7請(qǐng)求,響應(yīng),返回 。 CLI;為設(shè)命令字 INAL,0C2H;讀出屏蔽字 ANDAL,0EFH;清除IMR4 OUT0C2H,AL MOVAL,48H;OCW3:010
01000 OUT0C0H,AL;取消特殊屏蔽 STI 。 ;繼續(xù)IR4中斷服務(wù) MOVAL,20H;OCW2:00100000(EOI) OUT0C0,AL IRET
26微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第26頁(yè)!8.3.48259A的編程與使用8259A的控制命令分為初始化命令字ICWICW1~I(xiàn)CW4向8259A寫入ICW的過(guò)程稱為初始化編程操作命令字OCW
OCW1~OCW3向8259A寫入OCW的過(guò)程稱為操作方式編程27微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第27頁(yè)!8259A的初始化順序8259的初始化流程如圖注意次序不可顛倒寫ICW1寫ICW2級(jí)連?寫ICW3需ICW4?寫ICW4NNYY28微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第28頁(yè)!ICW1——初始化字LTIM:觸發(fā)方式=1高電平觸發(fā)=0上升沿觸發(fā)SNGL:級(jí)連控制=1單片=0級(jí)連IC4:ICW4控制=1要寫ICW4=0不寫ICW4(默認(rèn)ICW4為全0)A0 D7 D6 D5 D4 D3 D2 D1 D0
0 x
x
x 1 LTIM x SNGL
IC429微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第29頁(yè)!ICW3——級(jí)連控制字主片的級(jí)聯(lián)控制字
Si=1對(duì)應(yīng)IRi線上連接了從片
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 S7
S6 S5 S4 S3
S2
S1
S0從片的級(jí)聯(lián)控制字
ID2~I(xiàn)D0
標(biāo)識(shí)碼,說(shuō)明本從片連接到主片的哪個(gè)IR引腳上。000~111分別對(duì)應(yīng)IR0~I(xiàn)R7。
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 0
0 0 0 0
ID2 ID1
ID030微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第30頁(yè)!8259A的操作命令字OCWOCW用于設(shè)置8259的工作狀態(tài)在初始化后寫入OCW的寫入順序可任意寫入地址要求:OCW1必須寫入奇地址端口(A0=1)OCW2,OCW3必須寫入偶地址端口(A0=0)
31微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第31頁(yè)!OCW2——中斷結(jié)束和優(yōu)先級(jí)循環(huán)
L2~L0:優(yōu)先級(jí)編碼R:優(yōu)先級(jí)自動(dòng)循環(huán)SL:指定優(yōu)先級(jí)EOI:結(jié)束中斷命令
RSLEOI001非指定EOI命令(NSEOI),全嵌套方式011指定EOI命令(SEOI),全嵌套方式,按L2-L0編碼復(fù)位ISR101NSEOI命令,優(yōu)先級(jí)自動(dòng)循環(huán)100自動(dòng)EOI,設(shè)置優(yōu)先級(jí)自動(dòng)循環(huán)000自動(dòng)EOI,取消優(yōu)先級(jí)自動(dòng)循環(huán)(固定優(yōu)先級(jí))111SEOI命令,按L2-L0編碼循環(huán)優(yōu)先級(jí)(L2-L0設(shè)為最低優(yōu)先級(jí))110按L2-L0編碼循環(huán)優(yōu)先級(jí)(L2-L0設(shè)為最低優(yōu)先級(jí))
A0 D7 D6 D5 D4 D3 D2 D1 D0
0 R
SL EOI 0 0
L2
L1
L032微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第32頁(yè)!OCW3(續(xù))查詢方式允許8259A不工作于中斷方式,而是以查詢方式工作。CPU先寫一個(gè)D2=1的OCW3,再對(duì)同一地址讀入,即可得到如下?tīng)顟B(tài)字節(jié):
IxxxxR2R1R0
I=1表示有中斷請(qǐng)求,中斷請(qǐng)求號(hào)為R2-R0此查詢步驟可反復(fù)執(zhí)行,以響應(yīng)多個(gè)同時(shí)發(fā)生的中斷。
讀IRR/ISR:寫入此命令后,隨后再對(duì)同一地址讀,即可得到IRR或ISR的內(nèi)容。33微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第33頁(yè)!8259A編程舉例(續(xù))初始化程序如下:INIT8259A: MOV DX,20H ;A0=0,寫ICW1 MOV AL,12H ;上升沿觸發(fā),單片,不寫ICW4 OUT DX,AL MOV DX,21H ;A0=1,寫ICW2,OCW1 MOV AL,08H ;ICW2 OUT DX,AL MOV AL,0F0H ;OCW1:屏蔽IR4-IR7 OUT DX,AL34微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第34頁(yè)!中斷程序舉例PC機(jī)中主8259A的I/O地址為20H和21H,中斷向量碼為08H;中斷請(qǐng)求從IR6引入,故中斷類型號(hào)為0EH;主程序如下:
;保存原來(lái)的中斷向量
mov ah,35h;系統(tǒng)調(diào)用的功能號(hào) mov al,0eh ;中斷類型碼
int 21h ;取原中斷向量(在es:bx中) mov save_ip,bx ;保存原來(lái)的中斷向量 mov save_cs,es35微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第35頁(yè)! ;初始化堆棧指針
mov sp,my_stack_top;設(shè)置8259A的中斷屏蔽字 in al,21h and al,10111111b ;8259A開(kāi)放IR6中斷
out 21h,al sti;CPU開(kāi)中斷 …… <其他代碼放在這里> ……36微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第36頁(yè)!8.1.1無(wú)條件傳送方式適用于總是處于準(zhǔn)備好狀態(tài)的外設(shè)以下外設(shè)可采用無(wú)條件傳送方式:開(kāi)關(guān)發(fā)光器件(如發(fā)光二極管、7段數(shù)碼管、燈泡等)繼電器步進(jìn)電機(jī)優(yōu)點(diǎn):軟件及接口硬件簡(jiǎn)單缺點(diǎn):只適用于簡(jiǎn)單外設(shè),適應(yīng)范圍較窄37微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第37頁(yè)!查詢方式的流程圖超時(shí)?READY?與外設(shè)進(jìn)行數(shù)據(jù)交換超時(shí)錯(cuò)讀入并測(cè)試外設(shè)狀態(tài)YNYN傳送完?防止死循環(huán)復(fù)位計(jì)時(shí)器NY輸入演示輸出演示38微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第38頁(yè)!例:電路圖如上,用查詢方式進(jìn)行輸出外設(shè)狀態(tài)端口地址為3FBH,第5位(bit5)為狀態(tài)標(biāo)志(=1忙,=0準(zhǔn)備好)外設(shè)數(shù)據(jù)端口地址為3F8H,寫入數(shù)據(jù)會(huì)使?fàn)顟B(tài)標(biāo)志置1;外設(shè)把數(shù)據(jù)讀走后又把它置0。39微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第39頁(yè)!8.1.4DMA傳輸前面三種I/O方式都需要CPU作為中介:
外設(shè)CPU內(nèi)存兩個(gè)含義:
1)軟件:外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送是通過(guò)CPU執(zhí)行程序來(lái)完成的;
2)硬件:I/O接口和存儲(chǔ)器的讀寫控制信號(hào)、地址信號(hào)都是由CPU發(fā)出的(總線由CPU控制)。缺點(diǎn):程序的執(zhí)行速度限定了傳送的最大速度(約為幾十KB/秒)—解決:DMA傳輸40微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第40頁(yè)!8.2中斷技術(shù)8.2.1中斷的基本概念什么是中斷?與生活場(chǎng)景的比較正在看書電話鈴響接電話繼續(xù)看書執(zhí)行程序事件發(fā)生事件處理繼續(xù)執(zhí)行程序中斷處理中斷請(qǐng)求及響應(yīng)實(shí)際場(chǎng)景計(jì)算機(jī)中斷返回41微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第41頁(yè)!中斷源引起CPU中斷的事件——中斷源。例如:外設(shè)——請(qǐng)求輸入輸出數(shù)據(jù),報(bào)告故障等事件——掉電、硬件故障、軟件錯(cuò)誤、非法操作、定時(shí)時(shí)間到等中斷源分為:外部中斷、內(nèi)部中斷內(nèi)部中斷:CPU內(nèi)部執(zhí)行程序時(shí)自身產(chǎn)生的中斷外部中斷:CPU以外的設(shè)備、部件產(chǎn)生的中斷
8086/8088的外部中斷信號(hào):INTR、NMIINTR——可屏蔽中斷請(qǐng)求,高電平有效,受IF標(biāo)志的控制。IF=1時(shí),執(zhí)行完當(dāng)前指令后CPU對(duì)它作出響應(yīng)。NMI——非屏蔽中斷請(qǐng)求,上升沿有效,任何時(shí)候CPU都要響應(yīng)此中斷請(qǐng)求信號(hào)。42微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第42頁(yè)!8.2.2中斷過(guò)程五個(gè)步驟:中斷請(qǐng)求中斷判優(yōu)(有時(shí)還要進(jìn)行中斷源識(shí)別)中斷響應(yīng)中斷服務(wù)中斷返回以下以外部中斷為主介紹這五個(gè)步驟。43微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第43頁(yè)!2.1)中斷源識(shí)別計(jì)算機(jī)中的中斷源有很多,CPU必須識(shí)別是哪一個(gè)設(shè)備產(chǎn)生中斷。識(shí)別中斷源有兩個(gè)方法:軟件查詢。將中斷信號(hào)從數(shù)據(jù)總線讀入,用程序進(jìn)行判別。中斷矢量法。由中斷源提供中斷類型號(hào),CPU根據(jù)類型確定中斷源。(8086/8088即采用此種方法)44微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第44頁(yè)!INTAinCPUINTAINTR外設(shè)1外設(shè)2外設(shè)接口1菊花鏈邏輯電路外設(shè)接口2外設(shè)3外設(shè)接口3≥1菊花鏈邏輯電路菊花鏈邏輯電路┇I(xiàn)REQIREQIREQ中斷確認(rèn)鏈?zhǔn)脚袃?yōu)電路原理圖INTAinINTAin中斷確認(rèn)中斷確認(rèn)45微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第45頁(yè)!3)中斷響應(yīng)在每條指令的最后一個(gè)時(shí)鐘周期,CPU檢測(cè)INTR或NMI信號(hào)。若以下條件成立,則CPU響應(yīng)中斷:當(dāng)前指令執(zhí)行完。對(duì)INTR,還應(yīng)滿足以下條件當(dāng)前指令是STI和IRET,則下條指令也要執(zhí)行完。當(dāng)前指令帶有LOCK、REP等指令前綴時(shí),則把它們看成一個(gè)整體,要求完整地執(zhí)行完;對(duì)INTR,CPU應(yīng)處于開(kāi)中斷狀態(tài),即IF=1;當(dāng)前沒(méi)有復(fù)位(RESET)和保持(HOLD)信號(hào)。若NMI和
INTR同時(shí)發(fā)生,則首先響應(yīng)NMI。46微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第46頁(yè)!4)中斷處理(中斷服務(wù))中斷服務(wù)子程序特點(diǎn)為”遠(yuǎn)”過(guò)程(類型為FAR)要用IRET指令返回中斷服務(wù)子程序要做的工作保護(hù)現(xiàn)場(chǎng)(PUSH
reg’s)
開(kāi)中斷(STI)
進(jìn)行中斷處理
恢復(fù)現(xiàn)場(chǎng)(POP
reg’s)
中斷返回(IRET)
47微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第47頁(yè)!8.2.38088的中斷系統(tǒng)
與中斷有關(guān)的控制線為:NMI、INTR、INTA#8088系統(tǒng)的中斷源內(nèi)部中斷除法溢出:類型號(hào)0,商大于目的操作數(shù)所能表達(dá)的范圍時(shí)產(chǎn)生。單步中斷:類型號(hào)1,TF=1時(shí)產(chǎn)生(當(dāng)前指令需執(zhí)行完)斷點(diǎn)中斷:類型號(hào)3,這是一個(gè)軟件中斷,即INT3指令。溢出中斷:類型號(hào)4,這是一個(gè)軟件中斷,即INTO指令。軟件中斷:即INTn指令,類型號(hào)n(0-255)。外部中斷非屏蔽中斷NMI:類型號(hào)2,不可用軟件屏蔽,CPU必須響應(yīng)它。可屏蔽中斷INTR:類型號(hào)由PIC提供。IF=1時(shí)CPU才能響應(yīng)。48微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第48頁(yè)!中斷源的識(shí)別8088系統(tǒng)采用中斷類型碼來(lái)識(shí)別不同的中斷源,每個(gè)中斷源都有一個(gè)與它相對(duì)應(yīng)的中斷類型碼。溢出、斷點(diǎn)、除法溢出、單步、非屏蔽中斷的類型碼為固定值軟件中斷的類型碼由指令給出可屏蔽中斷的類型碼由PIC給出CPU響應(yīng)INTR中斷時(shí),會(huì)產(chǎn)生兩個(gè)中斷響應(yīng)總線周期,要求PIC在第2個(gè)中斷響應(yīng)總線周期把中斷類型碼放到數(shù)據(jù)總線上,供CPU讀入。49微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第49頁(yè)!中斷向量表的初始化初始化——將中斷服務(wù)程序的入口地址放入向量表例:中斷類型碼為48H的中斷處理子程序的名字為int48h,編寫程序段將該中斷處理子程序的入口地址放入向量表。50微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第50頁(yè)!8086/8088CPU的中斷響應(yīng)過(guò)程
內(nèi)部中斷響應(yīng)過(guò)程
無(wú)INTA#周期中斷類型碼固定或由指令給出響應(yīng)過(guò)程主要步驟(CPU自動(dòng)完成): ①PUSHFLAG ②IF=0
③PUSHCS
④PUSH
IP
⑤取中斷向量送入IP和CS51微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第51頁(yè)!8088系統(tǒng)中各中斷的優(yōu)先級(jí)優(yōu)先級(jí)從高到低順序如下:內(nèi)部中斷NMIINTR單步中斷52微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第52頁(yè)!NMI、INTR、單步和除法錯(cuò)中斷同時(shí)產(chǎn)生時(shí)的中斷處理過(guò)程DIVTF=1IF=1INTRNMIPUSHFLAGS、CS、IPCLEARIF&TF,中斷入口→CS:IP除法錯(cuò)NMI(IF、TF=0)PUSHFLAGS、CS、IPCLEARIF&TF,中斷入口→CS:IPNMI中斷處理程序除法錯(cuò)中斷處理程序(IF、TF=0)返回執(zhí)行下條指令識(shí)別出INTR(IF、TF=1)返回INTR仍然有效繼續(xù)單步執(zhí)行程序INTR中斷處理程序INTRPUSHFLAGS、CS、IPCLEARIF&TF,中斷入口→CS:IP單步(IF、TF=0)PUSHFLAGS、CS、IPCLEARIF&TF,中斷入口→CS:IP單步中斷處理程序(IF、TF=0)返回(IF、TF=1)返回53微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第53頁(yè)!8.3.1可編程中斷管理芯片8259A一、8259A的內(nèi)部結(jié)構(gòu)54微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第54頁(yè)!IRR—InterruptRequestRegisterPR---PriorityResolverISR---InterruptServiceRegisterIMR---InterruptMaskRegisterICWs---InitializationCommandWordsOCWs---OperationCommandWords7個(gè)CPU可訪問(wèn)的寄存器,分兩組:初始化命令字ICW1~ICW4---系統(tǒng)初啟時(shí)設(shè)定。操作命令字OCW1~OCW3—系統(tǒng)運(yùn)行時(shí),由應(yīng)用程序設(shè)定(實(shí)現(xiàn)對(duì)中斷處理的動(dòng)態(tài)管理和控制).
TheOCWscanbewrittenintothe8259Aanytimeafterinitialization.(手冊(cè)P6-137)。8259A的內(nèi)部結(jié)構(gòu)55微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第55頁(yè)!8.3.38259A的工作方式8259A的工作方式有如下幾類:中斷優(yōu)先方式與中斷嵌套中斷結(jié)束處理方式
屏蔽中斷源的方式中斷觸發(fā)方式級(jí)聯(lián)工作方式56微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第56頁(yè)!中斷優(yōu)先方式與中斷嵌套(續(xù))循環(huán)優(yōu)先級(jí)方式
中斷源輪流處于最高優(yōu)先級(jí),即自動(dòng)中斷優(yōu)先級(jí)循環(huán)初始優(yōu)先級(jí)順序可用編程改變某中斷請(qǐng)求IRi被處理后,其優(yōu)先級(jí)別自動(dòng)降為最低,原來(lái)比它低一級(jí)的中斷上升為最高級(jí)
IR7IR6IR5IR4IR3IR2IR1IR07654321021076543最低級(jí)最高級(jí)最高級(jí)最低級(jí)ISR內(nèi)容IR7IR6IR5IR4IR3IR2IR1IR0IR4的服務(wù)結(jié)束以前0101000001000000IR4的服務(wù)結(jié)束以后ISRi57微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第57頁(yè)!中斷結(jié)束處理方式當(dāng)某一IRi中斷被服務(wù)時(shí),ISR中的相應(yīng)位ISRi=1。當(dāng)服務(wù)結(jié)束后,則必須清零該ISRi位。使ISRi=0是通過(guò)向8259A發(fā)出中斷結(jié)束命令(EOI命令)實(shí)現(xiàn)的。三種EOI命令自動(dòng)EOI(AEOI)——(自動(dòng)EOI方式)非指定EOI(NSEOI)——(正常EOI方式)指定EOI(SEOI)——(特殊EOI方式)58微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第58頁(yè)!屏蔽中斷源的方式IMR屏蔽字決定了允許或禁止某位IRi所對(duì)應(yīng)的中斷:IMi=1禁止,IMi=0允許。特殊屏蔽方式:提供了允許較低優(yōu)先級(jí)的中斷能夠得到響應(yīng)的特殊手段。原理:假定當(dāng)前正在處理IR6,先進(jìn)入特殊屏蔽方式,然后設(shè)置IM6=1。這時(shí),除IR6外的所有中斷請(qǐng)求均能得到響應(yīng)。特殊屏蔽方式中只能用SEOI命令結(jié)束中斷。59微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第59頁(yè)!中斷觸發(fā)方式邊沿觸發(fā)IRi出現(xiàn)上升沿表示有中斷請(qǐng)求
電平觸發(fā)IRi出現(xiàn)高電平表示有中斷請(qǐng)求在第1個(gè)INTA#結(jié)束前,IRi必須保持高電平
60微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第60頁(yè)!8259A內(nèi)部寄存器的尋址方法CS#RD#WR#A0D4D3讀寫操作010000寫OCW2寫OCW3寫ICW1寫ICW2,ICW3,ICW4,OCW1(順序?qū)懭?00101x1xx00101xx讀出IRR、ISR讀出IMR需要CS#、A0、RD#、WR#和D4、D3的配合內(nèi)部寄存器的訪問(wèn)方法如下表:
61微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第61頁(yè)!8259A的控制命令字初始化8259A必須從ICW1開(kāi)始寫ICW1意味著重新初始化8259A寫入ICW1后,8259A的狀態(tài)如下:清除ISR和IMR(全0);將中斷優(yōu)先級(jí)設(shè)成初始狀態(tài):IR0最高,IR7最低;設(shè)定為一般屏蔽方式;采用非自動(dòng)中斷結(jié)束方式;狀態(tài)讀出邏輯預(yù)置為讀IRR。62微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第62頁(yè)!ICW2——中斷向量碼T7~T3:中斷向量碼的高5位T2~T0:最低3位為中斷源的序號(hào)IRn000~111分別對(duì)應(yīng)IR0~I(xiàn)R7由8259A根據(jù)中斷源的序號(hào)自動(dòng)填入
(依次為0–7)例如: 若ICW2命令字為48H,則IR0的中斷向量碼為48H,IR7的中斷向量碼為4FH,等等。A0 D7 D6 D5 D4 D3 D2 D1 D0
1 T7
T6 T5 T4 T3
x
x
x63微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第63頁(yè)!ICW4——中斷結(jié)束方式字SFNM:特殊全嵌套1特殊全嵌套方式0一般全嵌套方式AEOI:自動(dòng)EOI1自動(dòng)EOI方式0非自動(dòng)EOI方式A0 D7 D6 D5D4 D3 D2 D1 D0
1 0
0 0SFNM BUF M/S AEOI
1BUF:緩沖方式M/S:主/從緩沖選擇BUFM/S11緩沖方式/主PIC10緩沖方式/從PIC0x非緩沖方式/正常64微機(jī)信息傳遞方式與中斷共70頁(yè),您現(xiàn)在瀏覽的是第64頁(yè)!OCW1——中斷屏蔽字Mi=1中斷請(qǐng)求線IRi被屏蔽(不允許中斷)=0允許該IRi
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專利經(jīng)紀(jì)合同范本
- 雙控合同范本
- 南潯銀行消費(fèi)貸款合同范本
- 體育合同范本
- 產(chǎn)品補(bǔ)償貿(mào)易合同范本
- 合伙購(gòu)買門面合同范本
- 鹵菜香料采購(gòu)合同范本
- 會(huì)員合同范本
- 別墅安裝勞務(wù)合同范本
- 單位采購(gòu)電腦合同范本
- 初中英語(yǔ)語(yǔ)法時(shí)態(tài)總復(fù)習(xí)課件
- 零碳數(shù)據(jù)算力中心項(xiàng)目可行性研究報(bào)告
- 研究生復(fù)試流程
- 220KV線路監(jiān)理實(shí)施細(xì)則
- 濰坊市2025屆高三下學(xué)期開(kāi)學(xué)考(診斷性調(diào)研監(jiān)測(cè))政治試題(含答案)
- 2025年浙江國(guó)有資本運(yùn)營(yíng)有限公司招聘筆試參考題庫(kù)含答案解析
- 人教版(2025新版)七年級(jí)下冊(cè)數(shù)學(xué)第七章 相交線與平行線 單元測(cè)試卷(含答案)
- 汽輪機(jī)輔機(jī)培訓(xùn)
- 21ZJ111 變形縫建筑構(gòu)造
- 管道吹掃、試壓檢驗(yàn)批質(zhì)量驗(yàn)收記錄表
- 教學(xué)教案、作業(yè)、記錄檢查記錄表
評(píng)論
0/150
提交評(píng)論