




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第七章 中斷技術(shù)7.1 基本概念基本概念 一、中斷一、中斷 中斷是一個(gè)過(guò)程中斷是一個(gè)過(guò)程。它。它是指是指CPUCPU在正常運(yùn)行程序時(shí),由于在正常運(yùn)行程序時(shí),由于內(nèi)部?jī)?nèi)部/ /外部事件,由主程序轉(zhuǎn)到為中斷事件服務(wù)的程序中去,外部事件,由主程序轉(zhuǎn)到為中斷事件服務(wù)的程序中去,服務(wù)完畢,再返回執(zhí)行原程序。這一過(guò)程稱為中斷。服務(wù)完畢,再返回執(zhí)行原程序。這一過(guò)程稱為中斷。 中斷可以分為中斷可以分為 硬件中斷:硬件中斷: 由外部硬件產(chǎn)生的中斷。由外部硬件產(chǎn)生的中斷。 軟件中斷:軟件中斷: 由程序預(yù)先安排的中斷。由程序預(yù)先安排的中斷。 中斷的特征:具有隨機(jī)性。中斷的特征:具有隨機(jī)性。第七章 中斷技術(shù)v二、中斷
2、的基本過(guò)程 分為四個(gè)階段 中斷請(qǐng)求 中斷響應(yīng) 中斷服務(wù) 中斷返回主程序入口服務(wù)程序 中斷請(qǐng)求 返回v1.1.中斷請(qǐng)求中斷請(qǐng)求v 外設(shè)先(通過(guò)接口)發(fā)送外設(shè)先(通過(guò)接口)發(fā)送“中斷請(qǐng)求中斷請(qǐng)求”信信號(hào)號(hào)v 給給CPUCPU。v CPUCPU檢查檢查“中斷請(qǐng)求中斷請(qǐng)求”輸入線。輸入線。v CPUCPU有權(quán)決定是否響應(yīng)中斷(有權(quán)決定是否響應(yīng)中斷(中斷允許中斷允許):):v若允許請(qǐng)求,、則中斷允許觸發(fā)器若允許請(qǐng)求,、則中斷允許觸發(fā)器IFIF置置“1”1”,v (使用(使用STISTI指令開中斷)。指令開中斷)。 不允許中斷請(qǐng)求的情況: 如:在實(shí)時(shí)控制時(shí),需采集一段連續(xù)數(shù)據(jù)為防上數(shù)據(jù) 丟失,不允許其他中
3、斷請(qǐng)求; 又:執(zhí)行管理程序中某些重要程序,CLI指令進(jìn)行屏蔽。 若不允許申請(qǐng),(用CLI指令)關(guān)中,觸發(fā)器IF=0。 沒有獲得允許向CPU發(fā)出中斷請(qǐng)求,則稱為 中斷被屏蔽(中斷屏蔽)。 CPU在當(dāng)前指令執(zhí)行結(jié)束時(shí),響應(yīng)中斷,進(jìn)入中斷的響應(yīng)周期; 發(fā)出二個(gè)中斷回答信號(hào)INTA完成一個(gè)中斷響應(yīng)周期 進(jìn)行斷點(diǎn)及標(biāo)志保存 如:段地址(CS),偏移地址(IP)標(biāo)志FR以及壓入堆棧。 讀取中斷類型號(hào),找到中斷源; 裝入中斷服務(wù)程序的入口地址(CS,IP)v3.中斷服務(wù)v 轉(zhuǎn)入中斷服務(wù)程序后,其服務(wù)程序的內(nèi)容有:v a.與CPU交換數(shù)據(jù),進(jìn)行I/O操作;v b.外部期望CPU給以控制,進(jìn)行參數(shù)修改。v 在程
4、序開頭,將可能使用的寄存器內(nèi)容進(jìn)棧,即保護(hù)現(xiàn)場(chǎng)。v 在服務(wù)程序的未尾,將入棧的寄存器內(nèi)容彈出,即恢復(fù)現(xiàn)場(chǎng)。v4.4.中斷返回中斷返回v 中斷服務(wù)程序結(jié)束,執(zhí)行中斷返回。中斷服務(wù)程序結(jié)束,執(zhí)行中斷返回。v 自動(dòng)將保存在堆棧中的標(biāo)志自動(dòng)將保存在堆棧中的標(biāo)志PSWPSW,斷點(diǎn)(,斷點(diǎn)(IPIP,CSCS)依次彈出并裝入。)依次彈出并裝入。v 返回到中斷前的地址(斷點(diǎn)地址)開始繼返回到中斷前的地址(斷點(diǎn)地址)開始繼續(xù)執(zhí)行主程序。續(xù)執(zhí)行主程序。v三、中斷源、中斷識(shí)別、優(yōu)先級(jí) 中斷源:發(fā)出中斷請(qǐng)求的外設(shè)或引起中斷的內(nèi)部原因稱為中斷源。 中斷識(shí)別:CPU響應(yīng)中斷后,只知道有中斷請(qǐng)求但不知道是哪一個(gè)中斷源,尋
5、找中斷源的操作過(guò)程稱為中斷識(shí)別。 中斷識(shí)別的目的:形成該中斷服務(wù)程序的入口地址。v CPUCPU識(shí)別中斷的方法:識(shí)別中斷的方法:v 二種: 向量中斷v 程序查詢中斷v 向量中斷:在CPU響應(yīng)中斷后,由中斷控v 制器將服務(wù)程序入口地址送到CPU。v 查詢中斷:采用軟件查詢技術(shù)來(lái)確定發(fā)出v 中斷請(qǐng)求。四、多重中斷(中斷嵌套)響應(yīng)1響應(yīng)2服務(wù) 器返回返回主程序五、中斷的軟硬件系統(tǒng)硬件:外設(shè)、中斷控制器、CPU、總線控制器、BIOS軟件:OS、中斷初始主程序、中斷處理子程序外設(shè):發(fā)出中斷請(qǐng)求(可以是邊沿觸發(fā)或電平觸發(fā))、數(shù)據(jù)輸入輸出、握手聯(lián)絡(luò)中斷控制器:中斷請(qǐng)求的鎖存、中斷排隊(duì)、中斷屏蔽、提供中斷向量
6、、中斷結(jié)束CPU:中斷檢測(cè)、中斷允許、狀態(tài)輸出(8288中斷周期)、斷點(diǎn)(FR、CS、IP)入棧、獲得向量n、計(jì)算入口地址、取子程序CS/IP、轉(zhuǎn)向執(zhí)行子程序v8288總線控制器:中斷響應(yīng)周期生成、發(fā)出INTA-1,告知中斷響應(yīng),發(fā)出INTA-2,獲取中斷向量v中斷初始主程序:見8255A方式1、2v中斷處理子程序:見8255A方式1、2v操作系統(tǒng):很多寫好的中斷處理子程序int21等、中斷響應(yīng)機(jī)制:事件驅(qū)動(dòng)處理(消息機(jī)制)、事件CLASS類DLL/VXD等。vBIOS:很多寫好的中斷處理子程序、開機(jī)初始化中斷向量。5。2 80X86的中斷系統(tǒng)的中斷系統(tǒng)一一. 80X86的中斷分類(的中斷分類
7、(256級(jí))級(jí))分類 1. 1.中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址-中斷向量中斷向量 CPU響應(yīng)中斷后,中斷源提供地址信息,由此地址信息對(duì)程序的執(zhí)行進(jìn)行導(dǎo)向,引導(dǎo)到中斷服務(wù)程序中去,故把這個(gè)地址信息稱為中斷向量。 中斷向量包括中斷服務(wù)程序的段基址CS,偏址IP共4個(gè)字節(jié)。 中斷向量表:所有的中斷向量集中存放到存儲(chǔ)器的某一區(qū)域,這一區(qū)域稱之為中斷向量表。二二.80X86的中斷類型碼及的中斷類型碼及中斷向量表中斷向量表中斷向量表0BA90125000003FF1024個(gè)單元000003FF共1024個(gè)字節(jié)存放256個(gè)向量2.中斷向量,中斷向量指針與中斷類型號(hào) 中斷向量:中斷服務(wù)程序入口地
8、址 中斷向量指針: 指出中斷向量存放在中斷矢量表中的位置(或地址)。 在在PCPC系列中中斷向量指針由中斷類型號(hào)提供系列中中斷向量指針由中斷類型號(hào)提供的,即的,即 向量地址向量地址=0000=0000:類型號(hào):類型號(hào)4 4如:硬盤“1NT13H”它的向量地址=0000:13H4 =0000:004CHn004CH開始連續(xù)4個(gè)單元中用來(lái)存放“INT 13H”的中斷向量:中斷向量寄存器中斷向量指針00700FC9CSHCSLIPHIPL004FH004EH004DH004CH圖7.2 中斷向量指針示意圖中斷號(hào)向量地址中斷向量硬盤13H13H4=4CH0070:0FC95。2 80X86的中斷系統(tǒng)的
9、中斷系統(tǒng)一一. 80X86的中斷分類的中斷分類分類二、硬中斷(見下表)1.不可屏蔽中斷NMI-通常用于處理緊急/災(zāi)難性事件 RAM奇偶校驗(yàn)錯(cuò)PCK I/O通道校驗(yàn)錯(cuò)I/O CHCK 協(xié)處理器8087運(yùn)算錯(cuò)INT 響應(yīng)時(shí)間響應(yīng)時(shí)間:在當(dāng)前機(jī)器周期之后立即響應(yīng)。在當(dāng)前機(jī)器周期之后立即響應(yīng)。 INTRINTR中斷可以被中斷可以被CPUCPU用指令用指令CLICLI來(lái)禁止,來(lái)禁止,由由STISTI允許允許。中斷響應(yīng)條件:I F=1 INTR=1中斷響應(yīng)時(shí)間:當(dāng)前指令執(zhí)行完以后,所以,INTR高電平信號(hào)需要一定的保持時(shí)間高電平信號(hào)需要一定的保持時(shí)間。INTR中斷響應(yīng)過(guò)程如下:2.2.可屏蔽中斷可屏蔽中斷
10、INTRINTRM80X86I PCSPSWINTR 1 INTA 2 類型碼N 3 中斷矢量表零頁(yè)地址空間4個(gè)字節(jié)TYPE 0TYPE 1IPCS6 N*4SS9PA(20位.入口)中斷服務(wù)程序STI CLI 10.IRET 11IF .TF清零57斷點(diǎn).現(xiàn)場(chǎng)恢復(fù)12 4 斷點(diǎn). .現(xiàn)場(chǎng)進(jìn)堆棧8中斷響應(yīng)過(guò)程INTR三.80X86的中斷響應(yīng)總線周期:當(dāng)當(dāng) CPU CPU收到收到INTRINTR中斷請(qǐng)求中斷請(qǐng)求 當(dāng)前一條指令執(zhí)行完,且中斷允許標(biāo)志位當(dāng)前一條指令執(zhí)行完,且中斷允許標(biāo)志位IF=1IF=1 那么:那么:CPUCPU進(jìn)入中斷響應(yīng)周期,它通過(guò)總線控制器進(jìn)入中斷響應(yīng)周期,它通過(guò)總線控制器發(fā)出
11、二個(gè)連續(xù)中斷應(yīng)答信號(hào)完成一個(gè)中斷響應(yīng)周期發(fā)出二個(gè)連續(xù)中斷應(yīng)答信號(hào)完成一個(gè)中斷響應(yīng)周期 在中斷響應(yīng)周期的兩個(gè)工作:在中斷響應(yīng)周期的兩個(gè)工作: 1.1.第一個(gè)第一個(gè)INTA-INTA-脈沖時(shí),通知中斷源,其中斷請(qǐng)求脈沖時(shí),通知中斷源,其中斷請(qǐng)求已被響應(yīng),準(zhǔn)備發(fā)送類型碼。此時(shí),已被響應(yīng),準(zhǔn)備發(fā)送類型碼。此時(shí),CPUCPU產(chǎn)生產(chǎn)生LOCK-LOCK-信號(hào),使總線處于封鎖狀態(tài),防止信號(hào),使總線處于封鎖狀態(tài),防止DMADMA占用總線。占用總線。 2.2.在第二個(gè)在第二個(gè)INTA-INTA-,CPUCPU通過(guò)數(shù)據(jù)總線低通過(guò)數(shù)據(jù)總線低8 8位讀取類位讀取類型碼。同時(shí),型碼。同時(shí),LOCK-LOCK-信號(hào)撤除,
12、總線解封信號(hào)撤除,總線解封 。 中斷響應(yīng)總線周期時(shí)序波形圖中斷響應(yīng)總線周期時(shí)序波形圖T1T2T3T4T1T2T3T4中斷號(hào)CLK(時(shí)鐘)ALE(地址允許)LOCK(總線鎖存)INTA(中斷應(yīng)答)D0D7(數(shù)據(jù))圖7.8 中斷響應(yīng)周期3. 8259A3. 8259A可編程中斷控制器可編程中斷控制器一、一、8259A8259A中斷控制器的功能。中斷控制器的功能。 1.1.一片一片82598259芯片可響應(yīng)芯片可響應(yīng)8 8級(jí)級(jí)INTRINTR中斷請(qǐng)求,通過(guò)級(jí)連中斷請(qǐng)求,通過(guò)級(jí)連INTRINTR可擴(kuò)展至可擴(kuò)展至6464級(jí)。級(jí)。 2.2.可對(duì)各級(jí)可對(duì)各級(jí)INTRINTR請(qǐng)求進(jìn)行優(yōu)先權(quán)管理,請(qǐng)求進(jìn)行優(yōu)先權(quán)
13、管理,82598259具有完全具有完全嵌套,循環(huán)優(yōu)先級(jí),特定屏蔽等多種優(yōu)先權(quán)管理方式。嵌套,循環(huán)優(yōu)先級(jí),特定屏蔽等多種優(yōu)先權(quán)管理方式。 3.3.對(duì)每一級(jí)中斷請(qǐng)求均可依需要給予屏蔽或開放。對(duì)每一級(jí)中斷請(qǐng)求均可依需要給予屏蔽或開放。 4.4.當(dāng)當(dāng)CPUCPU響應(yīng)響應(yīng)INTRINTR中斷請(qǐng)求后,中斷請(qǐng)求后,82598259可提供相應(yīng)的中斷可提供相應(yīng)的中斷類型碼,從而使類型碼,從而使CPUCPU迅速轉(zhuǎn)入中斷服務(wù)程序入口。迅速轉(zhuǎn)入中斷服務(wù)程序入口。 5.5.可通過(guò)編程手段,設(shè)置可通過(guò)編程手段,設(shè)置82598259的的8 8種不同工作方式。種不同工作方式。8259AWRRDCSINTINTAIR0IR1I
14、R2IR7外部中斷源。WRRD。地址譯碼A71A0。INTRINTAVCCC GNDCPUCAS0 1 2 SP/EN8259的引腳及其功能的引腳及其功能8259有28個(gè)引腳,具體如下:INT數(shù)據(jù)總線緩沖器讀/寫邏輯級(jí)聯(lián)緩沖/比較器控制邏輯正在服務(wù)寄存器ISR優(yōu)先級(jí)分析器PR中斷屏蔽寄存器 IMR中斷請(qǐng)求寄存器IRRIR0IR1IR2IR3IR4IR5IR6IR7D0D7A0CAS0CAS1CAS2SP/ENCSWRRD圖7.6 8259A內(nèi)部邏輯框圖INTA二、二、8259A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) CPU數(shù)據(jù)總線緩沖器讀/寫控制邏輯內(nèi)部控制邏輯DB8位CSWRRDA0所有與CPU交換信息通過(guò)它
15、進(jìn)出CPU8259中斷控制器由8個(gè)主要部分組成,根據(jù)8259是一專用接口芯片,可將它的8個(gè)部分按下面三個(gè)部分劃分: 1. 與與CPU接口部分:接口部分:CPU通過(guò)它實(shí)現(xiàn) 8259 的讀/寫操作控制以及對(duì) 8259進(jìn)行初始化操作對(duì)8259芯片內(nèi)部實(shí)現(xiàn)控制操作,使8259按初始化編程操作 2. 與外部硬件(中斷源)連接部分:與外部硬件(中斷源)連接部分: 中斷請(qǐng)求寄存器(IRR)一片8259有8條INTR中斷請(qǐng)求線 IR0IR7,每一條請(qǐng)求線有一個(gè)對(duì)應(yīng)的觸發(fā)器來(lái)存放中斷請(qǐng)求信號(hào)。 中斷請(qǐng)求寄存器IRRIR0IR1IR2IR3IR4IR5IR6IR7 (3)中斷屏蔽寄存器IMR的每一位可對(duì)IRR中相
16、應(yīng)的中斷源進(jìn)行屏蔽,如果禁止某IR提出中斷請(qǐng)求,就將其中在IMR中的相應(yīng)位量“1”。 IMR對(duì)于較低優(yōu)先權(quán)的IR實(shí)行屏蔽并不影響較低優(yōu)先權(quán)的IR的輸入 3. 內(nèi)部工作寄存器:內(nèi)部工作寄存器: (1)正在服務(wù)寄存器ISR,用于記錄已被獲準(zhǔn)的中斷請(qǐng)求(即將與IR對(duì)應(yīng)的IS位置位) (注意:注意:ISR除存放正在被服務(wù)的中斷源外,還包括尚未除存放正在被服務(wù)的中斷源外,還包括尚未服務(wù)完而中途被別的中斷源暫時(shí)中止的中斷)服務(wù)完而中途被別的中斷源暫時(shí)中止的中斷) ( 2)優(yōu)先權(quán)分析器 對(duì)保存在IRR的各個(gè)中斷請(qǐng)求經(jīng)過(guò)判斷 確定其中一個(gè)為最高優(yōu)先權(quán),然后在中斷響應(yīng)周期時(shí)間將它選通到中斷服務(wù)寄存器 中。分析器
17、分析器中斷屏蔽寄存器IMRD0D1D2D3D4D5D6D7中斷請(qǐng)求寄存器IRR & & 中斷請(qǐng)求優(yōu)先級(jí)編碼器1ISR編碼器 AB比較器B0B1B2A0A1A2 &INTIR0IR1IR2IR3IR4IR5IR6IR7圖7.7 中斷優(yōu)先級(jí)分析器的工作原理返回 8259的中斷響應(yīng)過(guò)程:的中斷響應(yīng)過(guò)程: 1。當(dāng)有一條或多條中斷請(qǐng)求引腳信號(hào)有效時(shí)(即IR70相應(yīng)引腳為“1”)。 中斷請(qǐng)求寄存器IRR的相應(yīng)位被置為“1”。 2。若中斷請(qǐng)求IR1線中至少有一個(gè)中斷請(qǐng)求被允許,則8259通過(guò)INT引腳向CPU的INTR送出中斷請(qǐng)求信號(hào)。 3。若CPU處于開中狀態(tài)(IF=1),則在當(dāng)前指令執(zhí)行完后,向8259
18、發(fā)回INTA信號(hào),表示中斷請(qǐng)求已被CPU響應(yīng)。 4。8259接收到CPU發(fā)出的INTA信號(hào)后。將中斷請(qǐng)求源(對(duì)應(yīng)于各IRi) 中 優(yōu)先權(quán)最高的對(duì)應(yīng)的ISR位置位,然后將IRR中相應(yīng)的IRi位復(fù)位。三、三、8259的工作過(guò)程的工作過(guò)程 5. 8086CPU繼續(xù)啟動(dòng)另一個(gè)中斷響應(yīng)周期,發(fā)送第二個(gè)INTA信號(hào),此時(shí) 8259向數(shù)據(jù)總線DB70送出8位的中斷類型碼。 返回Type碼N用戶在對(duì)8259初始 化編程時(shí)設(shè)定由中斷請(qǐng)求線IRi的進(jìn)制編碼決定,由8259自動(dòng)插入填寫D7D3D2D1D0 該中斷類型碼的生成:該中斷類型碼的生成: 非自動(dòng)結(jié)束方式非自動(dòng)結(jié)束方式:在中斷服務(wù)程序結(jié)束處寫一中斷結(jié)束命 令
19、(置EIO為“1”),相應(yīng)IS位 才會(huì)被復(fù)位。至此,至此,8259的一次中斷響應(yīng)過(guò)程完成。的一次中斷響應(yīng)過(guò)程完成。6、CPU讀取中斷類型碼N后,用N*4查中斷矢量表,獲取服務(wù)程序入口地址有關(guān)信息(IP和CS值),轉(zhuǎn)入服務(wù)程序入口執(zhí)行程序。7、中斷響應(yīng)周期完成后,8259中斷工作結(jié)束,被量位的ISR中的相應(yīng)位復(fù)位,其中斷方式有兩種: 當(dāng)8259工作于AEOI模式(自動(dòng)結(jié)束方式自動(dòng)結(jié)束方式):當(dāng)CPU送出的INTA脈沖結(jié)束時(shí),其后沿使在“4”中被量位的IS位復(fù)位(清零)。v 從8259各I/O端口讀狀態(tài)字,中斷類型碼及查詢字v 對(duì)8259各I/O端口寫入初始化命令字,工作方式命令字。 操作是由RD
20、-、WR-控制信號(hào)進(jìn)行控制,而對(duì)各端口的尋址則是由CS-和A0確定的。v具體I/O端口尋址及操作情況如下: (一片8259只占兩個(gè)端口地址,也就是說(shuō)8259只有兩個(gè)I/O端口-奇數(shù)口和偶數(shù)口 )四四 對(duì)對(duì)8259的端口尋址及其操作(讀的端口尋址及其操作(讀/寫基本操作)寫基本操作)PIC1 PIC2CS A0 WR RD 輸入操作(輸入操作(RD)20H 21H0A0H0A1H0 0 1 00 1 1 0 IRR ISR 查詢字(查詢字(OCW3)IMR(OCW1) CPU輸出操作(輸出操作(WR)20H21H0A0H0A1H0 0 0 0 0 10 0 0 1 0 10 0 1 X 0 10
21、 1 X X 0 1 OCW2CPU寫寫 OCW3 ICW1 寫(寫(IMR).OCW1.ICW2.3.4對(duì)對(duì)8259的端口尋址及其基本操作(讀的端口尋址及其基本操作(讀/寫基本操作)寫基本操作)注意注意:8259只有兩個(gè)端口,由只有兩個(gè)端口,由A0一位確定:一位確定: 1:奇數(shù)口:奇數(shù)口 0:偶數(shù):偶數(shù)口口 由奇由奇/偶數(shù)端口及控制字中的某些特定偶數(shù)端口及控制字中的某些特定 位來(lái)確定命令字往那位來(lái)確定命令字往那個(gè)個(gè)R中送。中送。DB7-0DB7-0B07TA078286OEB07TA078286OEB07TA078286OED07CAS02從片ASP/ENINTAINTD07CAS02從片B
22、SP/ENTITAINTD07CAS02主片SP/ENINTAIR5 IR6+5V1k+5V1k+5V1k數(shù)據(jù)總線數(shù)據(jù)總線局部數(shù)據(jù)總線DENDT/RINTRINT INTA圖7.9 緩沖方式級(jí)聯(lián)系統(tǒng)數(shù)據(jù)總線返回 必須在8259始工作前設(shè)量 可在啟動(dòng)8259之后的 任何地方設(shè)置 五、對(duì)五、對(duì)8259的編程:的編程: (初始化編程)(初始化編程) 啟動(dòng)8259開始工作:向8259送入24個(gè)字節(jié)的初始化命令字 (ICW14)對(duì)8259工作方式進(jìn)行設(shè)量:向8259送出3個(gè)字節(jié)的操作命令字 (OCW13) Initialigation CommandWordOperation Command Word
23、即向8259相應(yīng)端口送入24個(gè)字節(jié)的初始化命令字。 初始化命令字輸出順序如下: (一(一 ).對(duì)對(duì)8259的初始化編程順序:的初始化編程順序:ICW1ICW2單片?單片?ICW3N ( SNGL=0)Y需要需要ICW4設(shè)定中斷請(qǐng)求觸發(fā)方式設(shè)定中斷請(qǐng)求觸發(fā)方式中斷類型號(hào)的設(shè)定中斷類型號(hào)的設(shè)定Y(ICW4=1)ICW4準(zhǔn)備好進(jìn)行 中 斷 服 務(wù)設(shè)定特定完全設(shè)定特定完全嵌套方式嵌套方式設(shè)定級(jí)聯(lián)方式1 SNGL為“1”/“0”: 由ICW1中的D1位說(shuō)明 ICW4 需 要 否: 由ICW1中的D0位決定2 4個(gè)命令字中, ICW1 ICW2是必須的, 而ICW3 ,ICW4是由工作方式來(lái)確定是否需要。
24、說(shuō)明:說(shuō)明:A0=0、D4=1:是ICW1的標(biāo)志。A0=1 ICW2 利用A0=1和初始化的次序來(lái)尋址。A0=1 ICW3 特征位與特定順序A0=1 ICW4 特征位與特定順序 1LTIM XSNGLICW4D7D6D5D4D3D2D1D0只用于8位機(jī)一定為1(ICW1的特征位1 電平觸發(fā)0 邊沿觸發(fā)只用8位機(jī)1 單片0 級(jí)聯(lián)1 需要ICW40 不需要ICW4(二)、各初始化命令字的格式及其含義(二)、各初始化命令字的格式及其含義 1. ICW1:中斷請(qǐng)求觸發(fā)方式的設(shè)定中斷請(qǐng)求觸發(fā)方式的設(shè)定 格式如下: 當(dāng)某IRI中斷請(qǐng)求被CPU響應(yīng)后,在系統(tǒng)的第二個(gè)INTA周期8259須向CPU提供8位的T
25、YPE碼(其高5位由ICW2的D7D3位提供,其低3位由 IRI的二進(jìn)制編碼決定,在CPU讀取TYPE碼前,由8259自動(dòng)填入到DB7 0的D2 D1 D0三位數(shù)據(jù)總線上)vINTR中斷源的TYPE碼=(ICW2的)高5位+低3位(IRI的編碼) 2. ICW2 : 用于中斷類型碼的提供用于中斷類型碼的提供TYPE碼碼 v 編程舉例:在PC機(jī)中,硬盤中斷源的類型碼的高5位由用戶 或系統(tǒng)在ICW2中設(shè)定,ICW2內(nèi)容為08H,其中斷請(qǐng)求線與8259的IR5相連,類型 碼的形成過(guò)程如下: TYPE碼高5位已獲得:D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 用戶初始化編程:
26、MOV AL, 08H; AL ICW2內(nèi)容 OUT 21H, AL; AL ICW2對(duì)應(yīng)端口 (A0=1) CPU響應(yīng)硬盤中斷請(qǐng)求后,8259在INTA2送低3位至ICW2對(duì)應(yīng)端口中,將IR5 對(duì)應(yīng)101連同ICW2的高5位一齊送到DB70上:00001101IR5得到硬盤中斷TYPE碼為0DH在PC/XT和PC/AT中,IRI的二進(jìn)制編碼也就是在系統(tǒng)中斷優(yōu)先級(jí)的編碼。. PC/XT、PC/AT中斷類型碼的生成表見書P98 3 . ICW3(中斷級(jí)聯(lián)方式的設(shè)定): ICW3初始化命令字用于8259的級(jí)聯(lián),若系統(tǒng)中只有一片8259A,則不需要設(shè)置命令字ICW3,若有多片若有多片8259級(jí)聯(lián),則
27、主、從級(jí)聯(lián),則主、從8259片都必須設(shè)置片都必須設(shè)置ICW3命令字,且主、從片的ICW3格式有所區(qū)別,具體如下:主片ICW31S7S6S5S4S3S2S1S0A0D7D6D5D4D3D2D1D0(2)ICW3的格式: a.主片ICW3S 7-0:1-8259主片的IRi引腳上連接有8259從片0-無(wú)從片連接說(shuō)明:說(shuō)明:當(dāng)由多片8259A構(gòu)成級(jí)聯(lián)中斷控制器機(jī)構(gòu)時(shí),與中斷請(qǐng)求線IRI相連的8259A叫做從8259,與CPU的INTR引腳相連的那一片8259A叫做主8259A,級(jí)聯(lián)將中斷源由8擴(kuò)至64級(jí)。 編程舉例:若主8259的IR3和IR5兩 輸入端分別連接了從 8259A片,則有主主82598
28、259的的ICW3ICW3的值為的值為00101000B=28H00101000B=28H。 MOV AL, 28H; 主ICW3 AL OUT 21H, AL; AL 主ICW3對(duì)應(yīng) 端口A0=1從片ICW3A0D7D6D5D4D3D2D1D01ID2 ID1 ID0 b.從片ICW3D7D3ID2 D2ID1 D1 ID0 D0 未用未用0 0 0 IR00 0 1 IR10 1 0 IR20 1 1 IR31 O O IR4 標(biāo)明從標(biāo)明從8259的的INT引腳引腳1 0 1 IR5 具體與主具體與主8259的哪一個(gè)的哪一個(gè)1 1 0 IR6 IRI引腳相連引腳相連1 1 1 IR7 .從
29、從8259的從的從ICW3的設(shè)定過(guò)程與主的設(shè)定過(guò)程與主ICW3相同相同 例如 :有主8259的IR6和IR1分別連接了從片8259, 則 有: 從片A的ICW3=00000001B=01H-與主片IR1相連 從片B的ICW3=00000110B=06H-與主片IR6相連 編程如下: MOV AL, 01H; OUT 21H, AL; MOV AL, 06H; OUT 21H, AL; 級(jí)聯(lián)方式下級(jí)聯(lián)方式下CPU對(duì)從片中斷請(qǐng)求的響應(yīng):對(duì)從片中斷請(qǐng)求的響應(yīng): 1 . 從IRI 經(jīng)判優(yōu),最終到達(dá)CPU的INTR引腳。 2 .CPU響應(yīng)INTR請(qǐng)求,發(fā)出INTA,給所有8259(主及從) 3 . 主8
30、259通過(guò)級(jí)聯(lián)線CAS20向所有從片送出優(yōu)先權(quán)最高的 中斷源所在的從8259的標(biāo)識(shí)碼符 4 . 各從片將CAS20上來(lái)的ID2-0碼與自己的ID2-0碼核對(duì),進(jìn)行 比較以后,相符的從8259就在INTA2周期送出中斷類型碼。 5 . 在CPU發(fā)出INTA2時(shí),從DB70上讀取TYPE碼CPU INTR INTA WR RD DB8 CS A0SP/EN IR0 8259從INT INTA IR7WRRD CAS20 CS A0SP/ENN IR0 8259從INTINTA IR7WRRD CAS20 8259中斷級(jí)聯(lián)方式的連線中斷級(jí)聯(lián)方式的連線 CS A0SP/EN IR0 8259主 INT
31、 IR7INTAWRRD CAS20 返回返回49 4.ICW 4.ICW4 4格式:格式: (嵌套和中斷結(jié)束方式)1 16位CPU0 8位CPUD7 D6 D5 D4 D3 D2 D1 D00 0 0 SFNM BUF M/S AEOI MPM 1 特定的完全嵌套方式0 正常的完全嵌套方式 0 1 0 1 1 非緩沖方式緩沖方式/從緩沖方式/主主結(jié)束中斷的方式, 1 自動(dòng)EDI 由OCW2具體規(guī)定 0 非自動(dòng)EDI 注:注:非緩沖方式(BUF=0時(shí)),則M/S無(wú)意義,此時(shí)主/從 由SP端決定。主片:SP=+5V,從片:SP接地 編程舉例: 在TP-86單片機(jī)中,CPU8086為16位機(jī),采用
32、非自動(dòng)結(jié)束中斷方式, 使用1片8259,正常完全方式,8259與系統(tǒng)總線間采用緩沖器連接, 其對(duì)應(yīng)其對(duì)應(yīng)ICW4為為00001101B=0DH MOV DX, 0FFDEH; ICW4對(duì)應(yīng)端口地址 DX MOV AL, 0DH; 設(shè)置ICW4 送 AL OUT DX, AL; ICW4送8259奇數(shù)口(A0=1) (三)(三).設(shè)置設(shè)置8259的工作方式的工作方式通過(guò)設(shè)置OCW1-OCW3實(shí)現(xiàn) .特定完全嵌套方式的設(shè)定(ICW4) 問(wèn)題的提出: 在級(jí)聯(lián)方式中,當(dāng)從控接收到比“正在服務(wù)”中的那一個(gè)優(yōu)先等級(jí)更高的中斷申請(qǐng)時(shí),就不會(huì)被主控識(shí)別,就是說(shuō),從控的較高優(yōu)先級(jí)的中斷就不能被及時(shí)服務(wù)。 為了解
33、決這個(gè)問(wèn)題,8259提供了一種特定的完全嵌套方式。 如果在主控中采用這種方式,那么當(dāng)從控收到一個(gè)更高的中斷請(qǐng)求時(shí),它是會(huì)被主控識(shí)別的。這種完全嵌套方式是在初始化時(shí)由ICW4指定的。返回 8259的工作方式有:的工作方式有: 1 中斷屏蔽方式: 正常 OCW1 IMR 特定 OCW3(D6 D5=1)設(shè)定 2 中斷嵌套方式 : 完全固定,依IR0IRR7排優(yōu) 特定的完全嵌套 ICW4(D4 SFNM)=1 (CPU可以響應(yīng)所有與正在被響應(yīng)的ISRI同 級(jí)以及更高優(yōu)先權(quán)的中斷請(qǐng)求) 3 中斷優(yōu)先權(quán)排隊(duì)方式 :優(yōu)先權(quán)固定 優(yōu)先權(quán)輪轉(zhuǎn),由OCW2具體操作 4 中斷結(jié)束方式 : 自動(dòng)結(jié)束,在INTA2自
34、動(dòng)使ISRI置0, ICW4的D1=1 非自動(dòng)結(jié)束,通過(guò)ICW4的D1=0 以及 OCW2 指定/不指定,輪轉(zhuǎn)/不輪轉(zhuǎn) 5 級(jí)聯(lián) 6 緩沖 7 讀8259的狀態(tài) ,即 讀IRR, ISR 。先設(shè)量OCW3(D1 D0) 再使用IN命令 讀;對(duì)IMR進(jìn)行讀,可以直接通過(guò)IN指令對(duì)奇數(shù)端口進(jìn)行讀操作即可。 8 讀查詢字-查詢方式(適用于非80X86微機(jī)) 先設(shè)置OCW3(D2)=1 CPU輸出 RD信號(hào) 8259置位對(duì)應(yīng)ISRi=1,同時(shí) 送查詢字 DB70 方式方式v當(dāng)A0=1時(shí),尋址OCW1;v當(dāng)A0=0,D4=0,D3=0時(shí),尋址OCW2;v當(dāng)A0=0,D4=0,D3=1時(shí),尋址OCW3(1
35、)OCW1(中斷屏蔽寄存器操作數(shù)(中斷屏蔽寄存器操作數(shù)) OCW1用于設(shè)置用于設(shè)置8259A的屏蔽中斷操作,它可以直接的屏蔽中斷操作,它可以直接對(duì)中斷屏蔽寄存器對(duì)中斷屏蔽寄存器IMR的相應(yīng)屏蔽位進(jìn)行操作。的相應(yīng)屏蔽位進(jìn)行操作。1-禁止禁止 0-允許允許 其格式如下:其格式如下:M3M2M1M4M5M6M71A0D7D6D5D4D3D2D1D0 0:允許IR7 1:屏蔽IR7 0:允許IR0 1:屏蔽IR0 (2) OCW2。當(dāng)A0=0,D4=D3=0時(shí)可尋址OCW2。OCW2用于控制中斷結(jié)束、優(yōu)先權(quán)循環(huán)等操作。OCW2命令或方式的選擇以位的組合格式來(lái)設(shè)置,而不是按位設(shè)置。OCW2的格式和各位的
36、功能如圖8.15所示。 OCW2的格式0L2L1L00EOISLR0A0D7D6D5D4D3D2D1D0 IR的級(jí)別編碼一般EOI(正在服務(wù)的ISR復(fù)位)001011101100111110010特殊EOI(L0L2指定的ISR復(fù)位)一般EOI, 正在服務(wù)的IR優(yōu)先級(jí)置為最低自動(dòng)EOI下置循環(huán)優(yōu)先級(jí)自動(dòng)EOI下清循環(huán)優(yōu)先級(jí)特殊EOI, 正在服務(wù)的IR優(yōu)先級(jí)置為最低000不執(zhí)行EOI, L0L2指定的優(yōu)先級(jí)置為最低無(wú)操作 R:優(yōu)先權(quán)循環(huán)控制位。R=1為循環(huán)優(yōu)先權(quán),R=0為固定優(yōu)先權(quán)。 SL:選擇指定的IR級(jí)別位。SL=1,操作在L2L0指定的編碼級(jí)別上執(zhí)行;SL=0,L2L0無(wú)效。 EOI:中斷
37、結(jié)束命令位,在非自動(dòng)中斷結(jié)束命令情況下,EOI=1表示中斷結(jié)束命令,它使ISR中最高優(yōu)先權(quán)位復(fù)位;EOI=0則不起作用。 L0L2:指定操作起作用的IR級(jí)別碼。當(dāng)SL=1時(shí),L0L2指定的級(jí)別編碼才起作用。 以上各位的組合功能見圖8.15所示。 (3) OCW3。當(dāng)A0=0,D4=0,D3=1時(shí),尋址OCW3。OCW3主要控制8259A的中斷屏蔽、查詢和讀寄存器等狀態(tài)。OCW3的格式及各位功能如圖8.16所示。 ESMM:允許或禁止SMM位起作用的控制位。ESMM為1時(shí)允許SMM位起作用,為0時(shí)禁止SMM位起作用。OCW3的格式1PRRRIS0SMMESMMX0A0D7D6D5D4D3D2D1
38、D0 0 0 X:無(wú)效 0 1 0: 在下一讀指令讀IRR 0 1 1: 在下一讀指令讀ISR 1 X X:查詢命令(下一讀指令中斷狀態(tài)字) 0 X:無(wú)效 1 0: 復(fù)位特殊屏蔽方式 1 1: 設(shè)置特殊屏蔽方式 SMM:設(shè)置特殊屏蔽方式選擇位。與ESMM位共同起作用,如圖8.16所示。 P:查詢命令位。P=1時(shí),8259A發(fā)送查詢命令;P=0時(shí),不處于查詢方式。OCW3設(shè)置查詢方式以后,隨后送到8259A RD端的讀脈沖作為中斷響應(yīng)信號(hào),讀出最高優(yōu)先權(quán)的中斷請(qǐng)求IR級(jí)別碼。 RR:讀寄存器命令位。RR=1時(shí)允許讀IRR或ISR,RR=0時(shí)禁止讀這兩個(gè)寄存器。 RIS:讀IRR或ISR選擇位。其
39、具體功能如圖8.16所示。7.4 8259A在PC系統(tǒng)中的應(yīng)用一、單片方式IR0IR1IR2IR3IR4IR5IR6IR7A0CSSP/EN中斷控制器INTINTARDWRCPUINTRS2S1S0INTAIORIOW總線控制器S1S0數(shù)據(jù)D0D7S2+5V打印機(jī)軟盤硬盤串行口1串行口2保留鍵盤日時(shí)鐘 IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7圖7.13 單片8259A中斷系統(tǒng)的硬件連接v單片方式下的8259A初始化編程:vICW1=13H=00010011B 邊沿觸發(fā),單片要ICW4vICW2=08H=00001000B 中斷號(hào)的高5位,低3位由IR動(dòng)態(tài)產(chǎn)生vICW4=
40、09H=00001001B 全嵌套,8088非自動(dòng)結(jié)束vMOV AL,13HvOUT 20H,ALvMOV AL,8vOUT 21H,ALvMOV AL,9vOUT 21H,ALIR0IR1IR2IR7IRQ8IRQ9IRQ10CAS02IRQ11IRQ12IRQ13A0CSSP/ENINT從片INTARDWR8259AIR0IR1IR2IR7IRQ0IRQ1IRQ2CAS02IRQ3IRQ4IRQ5A0CSSP/ENINT主片INTARDWR8259AIRQ14IRQ15 保留硬盤協(xié)處理器保留保留保留保留保留日時(shí)鐘鍵盤串行口2串行口1并行口2并行口2IRQ6IRQ7軟盤S0S1S2S0S1S2D07D07D07INTRINTAIORIOWCPU總線控制器+5V圖7.14 雙片8259A中斷系統(tǒng)的硬件連接二、雙片方式二、雙片方式v中斷優(yōu)先級(jí)順序中斷優(yōu)先級(jí)順序:IRQIRQ0 0,IRQIRQ1 1,IR
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年智能家居與物聯(lián)網(wǎng)考試卷及答案
- 社區(qū)服務(wù)2025年社區(qū)工作者職業(yè)資格考試試卷及答案
- 2025年物流與供應(yīng)鏈管理考試試卷及答案
- 2025年情緒智力與領(lǐng)導(dǎo)力考試卷及答案
- 2025年信息安全工程師資格考試卷及答案
- 財(cái)務(wù)管理考試案例分析試題及答案
- 財(cái)務(wù)管理人才培養(yǎng)的趨勢(shì)分析試題及答案
- 2025年財(cái)務(wù)管理考試開題報(bào)告試題及答案
- 各類稅務(wù)相關(guān)中級(jí)會(huì)計(jì)實(shí)務(wù)試題及答案
- 社會(huì)學(xué)方法論的試題及答案
- 2023年04月江蘇南京師范大學(xué)附屬中學(xué)公開招聘教科室文員1人筆試參考題庫(kù)附答案詳解
- 監(jiān)事會(huì)成員任職決定
- 線段的垂直平分線 課件
- 桌面運(yùn)維工程師能力試卷試卷題庫(kù)面試版本
- 工業(yè)園區(qū)物業(yè)保潔工作作業(yè)指導(dǎo)手冊(cè)
- 消防安全工作例會(huì)制度
- GB/T 9634.4-2007鐵氧體磁心表面缺陷極限導(dǎo)則第4部分:環(huán)形磁心
- 2022年阜寧縣(中小學(xué)、幼兒園)教師招聘考試《教育綜合知識(shí)》試題及答案解析
- GB/T 15608-2006中國(guó)顏色體系
- 95598工單大數(shù)據(jù)分析及壓降策略
- 《游園不值》-完整版課件
評(píng)論
0/150
提交評(píng)論