




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第六章 輸入/輸出第一節(jié) I/O接口概述為什么需要I/O接口(電路)?微機(jī)的外部設(shè)備多種多樣工作原理、驅(qū)動(dòng)方式、信息格式、以及工作速度方面彼此差別很大它們不能與CPU直接相連必須經(jīng)過(guò)中間電路再與系統(tǒng)相連這部分電路被稱為I/O接口電路多種外設(shè)I/O接口概述(續(xù)1)什么是I/O接口(電路)?I/O接口是位于系統(tǒng)與外設(shè)間、用來(lái)協(xié)助完成數(shù)據(jù)傳送和控制任務(wù)的邏輯電路PC機(jī)系統(tǒng)板的可編程接口芯片、I/O總線槽的電路板(適配器)都是接口電路CPU接口電路 I/O設(shè)備I/O接口概述(續(xù)2)什么是微機(jī)接口技術(shù)?處理微機(jī)系統(tǒng)與外設(shè)間聯(lián)系的技術(shù)注意其軟硬結(jié)合的特點(diǎn)根據(jù)應(yīng)用系統(tǒng)的需要,使用和構(gòu)造相應(yīng)的接口電路,編制配
2、套的接口程序,支持和連接有關(guān)的設(shè)備一、I/O接口的主要功能 對(duì)輸入輸出數(shù)據(jù)進(jìn)行緩沖和鎖存輸出接口有鎖存環(huán)節(jié)輸入接口有緩沖環(huán)節(jié) 對(duì)信號(hào)的形式和數(shù)據(jù)的格式進(jìn)行變換微機(jī)直接處理:數(shù)字量、開關(guān)量、脈沖量 對(duì)I/O端口進(jìn)行尋址 與CPU和I/O設(shè)備進(jìn)行聯(lián)絡(luò)二、I/O接口的典型結(jié)構(gòu)控制總線CB地址總線ABI/O接口電路數(shù)據(jù)控制狀態(tài)數(shù)據(jù)總線DBCPU外設(shè)控制寄存器狀態(tài)寄存器數(shù)據(jù)寄存器1. 接口電路的內(nèi)部結(jié)構(gòu)2. 接口電路的外部特性3. 接口電路芯片的分類4. 接口電路的可編程性1. 接口電路的內(nèi)部結(jié)構(gòu)CPU與外設(shè)主要有數(shù)據(jù)、狀態(tài)和控制信息需要相互交換,于是從應(yīng)用角度看內(nèi)部: 數(shù)據(jù)寄存器保存外設(shè)給CPU和CP
3、U發(fā)往外設(shè)的數(shù)據(jù) 狀態(tài)寄存器保存外設(shè)或接口電路的狀態(tài) 控制寄存器保存CPU給外設(shè)或接口電路的命令理解端口2. 接口電路的外部特性主要體現(xiàn)在引腳上,分成兩側(cè)信號(hào)面向CPU一側(cè)的信號(hào):用于與CPU連接主要是數(shù)據(jù)、地址和控制信號(hào)面向外設(shè)一側(cè)的信號(hào):用于與外設(shè)連接提供的信號(hào)五花八門功能定義、時(shí)序及有效電平等差異較大3. 接口電路芯片的分類接口電路核心部分往往是一塊或數(shù)塊大規(guī)模集成電路芯片(接口芯片):通用接口芯片支持通用的數(shù)據(jù)輸入輸出和控制的接口芯片面向外設(shè)的專用接口芯片針對(duì)某種外設(shè)設(shè)計(jì)、與該種外設(shè)接口 面向微機(jī)系統(tǒng)的專用接口芯片與CPU和系統(tǒng)配套使用,以增強(qiáng)其總體功能4. 接口電路的可編程性許多接口
4、電路具有多種功能和工作方式,可以通過(guò)編程的方法選定其中一種接口需要進(jìn)行物理連接,還需要編寫接口軟件接口軟件有兩類:初始化程序段設(shè)定芯片工作方式等數(shù)據(jù)交換程序段管理、控制、驅(qū)動(dòng)外設(shè),負(fù)責(zé)外設(shè)和系統(tǒng)間信息交換三、I/O端口的編址接口電路占用的I/O端口有兩類編排形式I/O端口單獨(dú)編址I/O地址空間獨(dú)立于存儲(chǔ)地址空間如8086/8088I/O端口與存儲(chǔ)器統(tǒng)一編址它們共享一個(gè)地址空間如M6800I/O端口單獨(dú)編址優(yōu)點(diǎn):I/O端口的地址空間獨(dú)立控制和地址譯碼電路相對(duì)簡(jiǎn)單專門的I/O指令使程序清晰易讀缺點(diǎn):I/O指令沒(méi)有存儲(chǔ)器指令豐富內(nèi)存空間I/O空間FFFFF0FFFF80 x86采用I/O端口獨(dú)立編址
5、I/O端口與存儲(chǔ)器統(tǒng)一編址優(yōu)點(diǎn):不需要專門的I/O指令I(lǐng)/O數(shù)據(jù)存取與存儲(chǔ)器數(shù)據(jù)存取一樣靈活缺點(diǎn):I/O端口要占去部分存儲(chǔ)器地址空間程序不易閱讀(不易分清訪存和訪問(wèn)外設(shè))內(nèi)存部分I/O部分存儲(chǔ)器空間00000FFFFF第二節(jié) CPU與外設(shè)之間數(shù)據(jù)傳送的方式程序控制下的數(shù)據(jù)傳送通過(guò)CPU執(zhí)行程序中的I/O指令來(lái)完成傳送,又分為:無(wú)條件傳送、查詢傳送、中斷傳送直接存儲(chǔ)器存?。―MA)傳送請(qǐng)求由外設(shè)向DMA控制器(DMAC)提出,后者向CPU申請(qǐng)總線,最后DMAC利用系統(tǒng)總線來(lái)完成外設(shè)和存儲(chǔ)器間的數(shù)據(jù)傳送(一)無(wú)條件傳送方式在CPU與慢速變化的設(shè)備交換數(shù)據(jù)時(shí),可以認(rèn)為它們總是處于“就緒”狀態(tài),隨時(shí)可
6、以進(jìn)行數(shù)據(jù)傳送,這就是無(wú)條件傳送,或稱立即傳送、同步傳送適合于簡(jiǎn)單設(shè)備,如LED數(shù)碼管、按鍵或按紐等無(wú)條件傳送的接口和操作均十分簡(jiǎn)單這種傳送有前提:外設(shè)必須隨時(shí)就緒傳送流程無(wú)條件傳送:輸入示例MOV DX, 160HINAL, DX無(wú)條件傳送:輸入實(shí)例MOV DX, 160HINAL, DX74LS244+5V10K x 8G1 G2數(shù)據(jù)總線CSRD無(wú)條件傳送:輸出示例MOV DX, 160HMOV AL, BXOUT DX, AL無(wú)條件傳送:輸出實(shí)例MOV DX, 160HMOV AL, BXOUT DX, AL+5V74LS373300 x 8LE OE數(shù)據(jù)總線CSWR無(wú)條件傳送:輸入輸出
7、接口K7K1K0+5VD0D7A0A15CLKLS06反相驅(qū)動(dòng)器LS2738D鎖存器LS244三態(tài)緩沖器8000H譯碼+5VLED0LED7GIOWIORnext:mov dx,8000h;DX指向數(shù)據(jù)端口in al,dx;從輸入端口讀開關(guān)狀態(tài)not al;反相out dx,al;送輸出端口顯示call delay;調(diào)子程序延時(shí)jmp next;重復(fù)(二)查詢傳送方式CPU需要選了解(查詢)外設(shè)的工作狀態(tài),然后在外設(shè)可以交換信息的情況下(就緒)實(shí)現(xiàn)數(shù)據(jù)輸入或輸出對(duì)多個(gè)外設(shè)的情況,則CPU按一定順序依次查詢(輪詢)。先查詢的外設(shè)將優(yōu)先進(jìn)行數(shù)據(jù)交換查詢傳送的特點(diǎn)是:工作可靠,適用面寬,但傳送效率低
8、就緒?查詢傳送的兩個(gè)環(huán)節(jié) 查詢環(huán)節(jié)尋址狀態(tài)口讀取狀態(tài)寄存器的標(biāo)志位若不就緒就繼續(xù)查詢,直至就緒 傳送環(huán)節(jié)尋址數(shù)據(jù)口是輸入,通過(guò)輸入指令從數(shù)據(jù)端口讀入數(shù)據(jù)是輸出,通過(guò)輸出指令向數(shù)據(jù)端口輸出數(shù)據(jù)輸入狀態(tài)就緒?數(shù)據(jù)交換YN傳送流程查詢傳送方式查詢式輸入IOR+5V8D鎖存器8位三態(tài)緩沖器譯碼1位三態(tài)緩沖器RQ A0A158000H8001HD0D7D0D輸入設(shè)備IORSTBmov dx,8000h;DX指向狀態(tài)端口status:in al,dx;讀狀態(tài)端口test al,01h;測(cè)試標(biāo)志位D0jz status;D00,未就緒,繼續(xù)查詢inc dx;D01,就緒,DX指向數(shù)據(jù)端口in al,dx;從
9、數(shù)據(jù)端口輸入數(shù)據(jù)查詢傳送方式查詢式輸出8D鎖存器譯碼1位三態(tài)緩沖器RQ A0A158000H8001HD0D7D7D+5V輸出設(shè)備ACKIOWIORmov dx,8000h;DX指向狀態(tài)端口status:in al,dx;讀取狀態(tài)端口的狀態(tài)數(shù)據(jù)test al,80h;測(cè)試標(biāo)志位D7jnz status;D71,未就緒,繼續(xù)查詢inc dx;D70,就緒,DX指向數(shù)據(jù)端口mov al,buf;變量buf送ALout dx,al;將數(shù)據(jù)輸出給數(shù)據(jù)端口(三)中斷傳送方式斷點(diǎn)主程序中斷服務(wù)程序中斷請(qǐng)求對(duì)外設(shè)進(jìn)行處理繼續(xù)執(zhí)行返回?cái)帱c(diǎn)CPU在執(zhí)行程序中,被內(nèi)部或外部的事件所打斷,轉(zhuǎn)去執(zhí)行一段預(yù)先安排好的中
10、斷服務(wù)程序;服務(wù)結(jié)束后,又返回原來(lái)的斷點(diǎn),繼續(xù)執(zhí)行原來(lái)的程序(三)中斷傳送方式(續(xù))中斷傳送是一種效率更高的程序傳送方式進(jìn)行傳送的中斷服務(wù)程序是預(yù)先設(shè)計(jì)好的中斷請(qǐng)求是外設(shè)隨機(jī)向CPU提出的CPU對(duì)請(qǐng)求的檢測(cè)是有規(guī)律的:一般是在每條指令的最后一個(gè)時(shí)鐘周期采樣中斷請(qǐng)求輸入引腳中斷有著非常廣泛的應(yīng)用(三)中斷傳送方式(續(xù))D0D7+5V8D鎖存器8位三態(tài)緩沖器三態(tài)緩沖器RQ 譯碼 8001H中斷向量號(hào)D0D7INTRD輸入設(shè)備中斷允許觸發(fā)器A0A15中斷請(qǐng)求觸發(fā)器IORINTASTB(四)DMA傳送方式希望克服程序控制傳送的不足:外設(shè)CPU存儲(chǔ)器外設(shè)CPU存儲(chǔ)器直接存儲(chǔ)器存取DMA:外設(shè)存儲(chǔ)器外設(shè)存
11、儲(chǔ)器CPU釋放總線,由DMA控制器管理DMA傳送的工作過(guò)程 CPU對(duì)DMA控制器進(jìn)行初始化設(shè)置 外設(shè)、DMAC和CPU三者通過(guò)應(yīng)答信號(hào)建立聯(lián)系:CPU將總線交給DMAC控制 DMA傳送DMA讀存儲(chǔ)器:存儲(chǔ)器 外設(shè)DMA寫存儲(chǔ)器:存儲(chǔ)器 外設(shè) 自動(dòng)增減地址和計(jì)數(shù),判斷傳送完成否傳送流程DMA傳送流程HLDA發(fā)存儲(chǔ)器地址傳送數(shù)據(jù)傳送結(jié)束?DMA結(jié)束修改地址指針NY傳送方式的比較無(wú)條件傳送:慢速外設(shè)需與CPU保持同步查詢傳送: 簡(jiǎn)單實(shí)用,效率較低中斷傳送:外設(shè)主動(dòng),可與CPU并行工作,但每次傳送需要大量額外時(shí)間開銷 DMA傳送:DMAC控制,外設(shè)直接和存儲(chǔ)器進(jìn)行數(shù)據(jù)傳送,適合大量、快速數(shù)據(jù)傳送第三節(jié)
12、 中 斷一、中斷的概念當(dāng)外部設(shè)備準(zhǔn)備好與CPU傳送數(shù)據(jù),或者有某些緊急情況需要處理,也許是定時(shí)時(shí)間到等等。這時(shí),外設(shè)向CPU發(fā)出中斷請(qǐng)求,CPU接收到請(qǐng)求并在一定條件下,暫時(shí)停止執(zhí)行原來(lái)的程序而轉(zhuǎn)去中斷處理,處理好中斷服務(wù)再返回繼續(xù)執(zhí)行原來(lái)程序,這就是一個(gè)中斷過(guò)程。下面將中斷過(guò)程分成三個(gè)階段來(lái)討論。 1.中斷請(qǐng)求 中斷源:發(fā)出中斷請(qǐng)求的外部設(shè)備。中斷源有:(1)數(shù)據(jù)輸入輸出外設(shè)請(qǐng)求中斷;(2)定時(shí)時(shí)間到申請(qǐng)中斷;(3)滿足規(guī)定狀態(tài)申請(qǐng)中斷;(4)電源掉電申請(qǐng)中斷;(5)故障報(bào)警申請(qǐng)中斷;(6)程序調(diào)試設(shè)置中斷等。 2.中斷響應(yīng)若為非屏蔽中斷申請(qǐng),則CPU執(zhí)行完現(xiàn)行指令后,做好保護(hù)現(xiàn)場(chǎng)工作即可去
13、處理中斷服務(wù)。若為可屏蔽中斷申請(qǐng),CPU要響應(yīng),必須滿足以下三個(gè)條件:(1)無(wú)總線請(qǐng)求;(2)CPU被允許中斷(IF=1);(3)CPU執(zhí)行完現(xiàn)行指令。2.中斷響應(yīng)(續(xù))CPU響應(yīng)中斷要自動(dòng)完成三項(xiàng)任務(wù):關(guān)閉中斷;保護(hù)現(xiàn)場(chǎng)和斷點(diǎn);獲得中斷服務(wù)程序入口地址,轉(zhuǎn)中斷服務(wù)程序。3.中斷處理 一旦CPU響應(yīng)中斷,就可轉(zhuǎn)入中斷服務(wù)程序:(1)保護(hù)現(xiàn)場(chǎng)CPU響應(yīng)中斷時(shí)自動(dòng)完成標(biāo)志寄存器內(nèi)容和斷點(diǎn)(IP、CS)的保護(hù),但主程序中使用的寄存器的保護(hù)則由用戶視使用情況而定。由于中斷服務(wù)程序中也要用到某些寄存器,若不保護(hù)這些寄存器在中斷前的內(nèi)容、中斷服務(wù)程序會(huì)將其修改,這樣,從中斷服務(wù)程序返回主程序后,程序不能正
14、確執(zhí)行,由用戶保護(hù)這些寄存器內(nèi)容的功能稱為保護(hù)現(xiàn)場(chǎng)。實(shí)質(zhì)上是執(zhí)行PUSH指令將需要保護(hù)的寄存器的內(nèi)容推入堆棧。 3.中斷處理(續(xù)1)(2)開中斷CPU接收并響應(yīng)一個(gè)中斷后自動(dòng)關(guān)閉中斷,是為了不允許其他的中斷來(lái)打斷它。但在某些情況下,有比該中斷更優(yōu)先的情況要處理,此時(shí),應(yīng)停止對(duì)該中斷的服務(wù)而轉(zhuǎn)入優(yōu)先級(jí)更高的中斷處理,故需要再開中斷(STI),若不允許響應(yīng)更高級(jí)別的中斷請(qǐng)求,在此也可不開中斷。3.中斷處理(續(xù)2)(3)中斷服務(wù) 中斷服務(wù)的核心就是對(duì)某些中斷情況的處理。如:傳送數(shù)據(jù),處理掉電緊急保護(hù),各種報(bào)警狀態(tài)的控制處理等等。3.中斷處理(續(xù)3)(4)關(guān)中斷 由于有(2)的開中斷,因而在此處對(duì)應(yīng)一
15、個(gè)關(guān)中斷過(guò)程,以便下面恢復(fù)現(xiàn)場(chǎng)的工作順利進(jìn)行而不被中斷。3.中斷處理(續(xù)4)(5)恢復(fù)現(xiàn)場(chǎng)在返回主程序前要將用戶保護(hù)的寄存器內(nèi)容從堆棧中彈出,以便返回主程序后繼續(xù)正確執(zhí)行主程序?;謴?fù)現(xiàn)場(chǎng)用POP指令。要注意的是:保護(hù)現(xiàn)場(chǎng)時(shí)寄存器入棧的先后次序要與出棧時(shí)的次序相反。3.中斷處理(續(xù)5)(6)開中斷返回 此處的開中斷對(duì)應(yīng)CPU響應(yīng)中斷后自動(dòng)關(guān)閉中斷,在返回主程序前,也就是中斷服務(wù)程序的倒數(shù)第二條指令往往是開中斷指令,最后一條是返回指令,執(zhí)行返回指令,CPU自動(dòng)從現(xiàn)行堆棧中彈出IP、CS和F的內(nèi)容,以便繼續(xù)執(zhí)行主程序。3.中斷處理(續(xù)6)中斷過(guò)程如圖所示。 4.中斷的優(yōu)點(diǎn) (1)同步操作 CPU在啟
16、動(dòng)外設(shè)工作后,就繼續(xù)執(zhí)行主程序,同時(shí)外設(shè)也在工作,當(dāng)外設(shè)把數(shù)據(jù)準(zhǔn)備好后,發(fā)出中斷請(qǐng)求,請(qǐng)求CPU中斷它的程序,執(zhí)行中斷處理,處理完以后,CPU恢復(fù)執(zhí)行主程序,外設(shè)也繼續(xù)工作。這樣就大大提高了CPU的利用率,也提高了輸入輸出的速度。4.中斷的優(yōu)點(diǎn)(續(xù))(2)實(shí)現(xiàn)實(shí)時(shí)處理 現(xiàn)場(chǎng)的各個(gè)參數(shù)、信息,可在任何時(shí)間發(fā)出中斷請(qǐng)求,CPU就可以馬上響應(yīng)加以處理。在查詢方式下是做不到的。(3)故障處理 計(jì)算機(jī)在運(yùn)行過(guò)程中,往往會(huì)出現(xiàn)事先預(yù)料不到的情況:電源掉電、運(yùn)算溢出等,計(jì)算機(jī)就可以利用中斷系統(tǒng)自行處理,而不必停機(jī)或報(bào)告工作人員。二、中斷系統(tǒng)的功能實(shí)現(xiàn)中斷及返回能實(shí)現(xiàn)優(yōu)先權(quán)排隊(duì) 設(shè)計(jì)者必須事先根據(jù)中斷源的輕重
17、緩急,給每個(gè)中斷源一個(gè)中斷級(jí)別優(yōu)先權(quán)。當(dāng)多個(gè)中斷源同時(shí)發(fā)出中斷請(qǐng)求時(shí),CPU能找到優(yōu)先級(jí)別最高的中斷源,響應(yīng)它的中斷請(qǐng)求。在優(yōu)先級(jí)別最高的中斷源處理完以后,再響應(yīng)級(jí)別較低的中斷源。高級(jí)中斷源能中斷低級(jí)中斷源的中斷處理。三、中斷優(yōu)先權(quán)的確定 在一個(gè)微機(jī)系統(tǒng)中,常常遇到多個(gè)中斷源同時(shí)申請(qǐng)中斷的情況。這時(shí),CPU必須確定首先為哪一個(gè)中斷源服務(wù),以及服務(wù)的順序。有些中斷服務(wù)是不允許其他中斷打斷的。有些中斷要優(yōu)先處理。有些中斷在服務(wù)期間可以接受比它更需要緊急處理的中斷等等解決這些問(wèn)題就是解決中斷的優(yōu)先排隊(duì)問(wèn)題。有兩種方法解決中斷優(yōu)先級(jí)的問(wèn)題。1.軟件查詢 中斷優(yōu)先級(jí)由查詢順序決定,先被查詢的中斷源具有高
18、的優(yōu)先級(jí)。使用這種方法需要設(shè)置一個(gè)中斷請(qǐng)求信號(hào)的觸發(fā)器,將各中斷源的請(qǐng)求信號(hào)保存下來(lái),以便查詢并可對(duì)還沒(méi)有服務(wù)的中斷請(qǐng)求作一個(gè)備忘錄。1.軟件查詢(續(xù))優(yōu)點(diǎn):可以用修改軟件來(lái)改變中斷優(yōu)先級(jí),而不必要更改硬件。缺點(diǎn):響應(yīng)中斷慢,服務(wù)效率低,因?yàn)閮?yōu)先級(jí)最低的中斷源申請(qǐng)的服務(wù),必須先將優(yōu)先級(jí)高的設(shè)備查詢一遍,若設(shè)備較多,有可能優(yōu)先級(jí)低的中斷源很難得到服務(wù)。2.硬件處理編碼器組成中斷優(yōu)先級(jí)電路 2.硬件處理鏈?zhǔn)絻?yōu)先級(jí)排隊(duì)2.硬件處理(續(xù))硬件判優(yōu),特點(diǎn)是速度快,但需增加設(shè)備。 第四節(jié) 8086/8088的中斷方式 一、中斷類型80868088中斷屬矢量中斷也叫類型中斷,共有0-255種類型中斷,可分為
19、軟件中斷和硬件中斷。 1.硬件中斷由CPU外部中斷請(qǐng)求引腳NMI和INTR引起的中斷稱為硬件中斷(亦稱外部中斷)。硬件中斷又分為非屏蔽中斷和可屏蔽中斷兩種。 (1)非屏蔽中斷若是CPU的NMI引腳接收到一個(gè)正跳變信號(hào),則可能產(chǎn)生一次非屏蔽中斷。這種中斷的響應(yīng)不受中斷允許標(biāo)志IF的控制。80868088要求NMI信導(dǎo)跳變成高電平后至少保持兩個(gè)時(shí)鐘周期以上的寬度,以便鎖存下來(lái),待當(dāng)前指令完成之后響應(yīng)。NMI被響應(yīng)時(shí),自動(dòng)產(chǎn)生中斷類型號(hào)2中斷,并轉(zhuǎn)入相應(yīng)服務(wù)程序。 (2)可屏蔽中斷 若是一個(gè)高電平信號(hào)加到CPU的INTR引腳,且中斷允許標(biāo)志IF1,則產(chǎn)生一次可屏蔽中斷。當(dāng)IF0時(shí),INTR的中斷請(qǐng)求
20、被屏蔽。 2.軟件中斷由CPU執(zhí)行某些指令引起的中斷稱為軟件中斷(亦稱內(nèi)部中斷)。(1)除法出錯(cuò)中斷(類型為0)在CPU作除法運(yùn)算時(shí),若除數(shù)為零或商超出了有關(guān)寄存器所能表示的數(shù)值范圍,即時(shí)產(chǎn)生除法出錯(cuò)中斷。(2)單步中斷(類型為1)在跟蹤標(biāo)志TF1且中斷允許標(biāo)志IF1時(shí)就引起一次中斷。在單步調(diào)試程序時(shí)使用。(3)INTO溢出中斷(類型為4)當(dāng)溢出標(biāo)志OF1時(shí),執(zhí)行指令I(lǐng)NTO,則產(chǎn)生溢出中斷。(4)中斷指令I(lǐng)NT n在80868088指令系統(tǒng)中有一類中斷指令I(lǐng)NT n,其中n為中斷類型號(hào)(0-255)。CPU執(zhí)行一條這種指令,發(fā)生一次中斷。二、中斷處理過(guò)程 1.中斷處理順序8086CPU的中斷
21、優(yōu)先級(jí)序列從高到低為:(1)除法出錯(cuò)中斷,溢出中斷,INT n(2)NMI(3)INTR(4)單步中斷2.中斷向量表中斷服務(wù)程序入口地址表又可稱為中斷向量表,每個(gè)入口都是低位字為偏移地址,高位字為段基值。 中斷向量表3.中斷類型號(hào)的獲取 有兩種方法獲取類型號(hào):第一種是直接獲取。對(duì)于類型號(hào)0-4的中斷,由于8086CPU已規(guī)定了產(chǎn)生中斷的原因,只要有相應(yīng)中斷就可獲得相應(yīng)類型號(hào),同理,許多系統(tǒng)調(diào)用功能是用INT n指令直接獲取類型號(hào)的。第二種是由外部引入的INTR中斷,這類中斷必須由硬件提供中斷類型號(hào),當(dāng)CPU在響應(yīng)中斷的響應(yīng)周期,進(jìn)行到第二個(gè)響應(yīng)周期時(shí),由外設(shè)將類型號(hào)放入數(shù)據(jù)總線,CPU從數(shù)據(jù)總
22、線上獲取類型號(hào),并自動(dòng)將類型號(hào)乘4,作為地址指針,獲得中斷服務(wù)程序的入口地址,轉(zhuǎn)入相應(yīng)服務(wù)程序。4.中斷處理順序第五節(jié) 中斷控制器8259AIntel 8259A是可編程中斷控制器PIC8259A的基本功能一片8259A可以管理8級(jí)中斷,可擴(kuò)展至64級(jí)每一級(jí)中斷都可單獨(dú)被屏蔽或允許在中斷響應(yīng)周期,可提供相應(yīng)的中斷向量號(hào)8259A設(shè)計(jì)有多種工作方式,可通過(guò)編程選擇一、8259A的內(nèi)部結(jié)構(gòu)和引腳(一)內(nèi)部結(jié)構(gòu)中斷請(qǐng)求寄存器IRR保存8條外界中斷請(qǐng)求信號(hào)IR0IR7的請(qǐng)求狀態(tài)Di位為1表示IRi引腳有中斷請(qǐng)求;為0表示無(wú)請(qǐng)求中斷服務(wù)寄存器ISR保存正在被8259A服務(wù)著的中斷狀態(tài)Di位為1表示IRi
23、中斷正在服務(wù)中;為0表示沒(méi)有被服務(wù)圖示(一)內(nèi)部結(jié)構(gòu)(續(xù))優(yōu)先級(jí)判別器(PR) 當(dāng)輸入端IR7-IR0中有多個(gè)中斷請(qǐng)求信號(hào)同時(shí)產(chǎn)生時(shí),由PR判定哪個(gè)中斷請(qǐng)求具有最高優(yōu)先級(jí),并在INTA脈沖期間把它置入中斷服務(wù)寄存器ISR的相應(yīng)位。 中斷屏蔽寄存器IMR保存對(duì)中斷請(qǐng)求信號(hào)IR的屏蔽狀態(tài)Di位為1表示IRi中斷被屏蔽(禁止);為0表示允許圖示(二)8259A的引腳8295A芯片的引腳可分為如下四類:與外部設(shè)備連接的中斷請(qǐng)求輸入引腳IR7-IR0;與CPU連接的數(shù)據(jù)通路和控制信號(hào):D7-D0,WR,RD,INTA,INT;端口地址選擇信號(hào)CS,A0片選信號(hào)由地址線的高位控制。A0用于選擇8259A內(nèi)
24、部的不同寄存器,通常直接連到地址總線A0。(二)8259A的引腳(續(xù))用于8259A級(jí)聯(lián)的引腳CAS2-CAS0,SPEN;一片8259A只能接收8級(jí)中斷,當(dāng)超過(guò)8級(jí)時(shí),可用多片8259A級(jí)聯(lián)使用,構(gòu)成主從關(guān)系。對(duì)于主8259A,其級(jí)聯(lián)信號(hào)CAS2-CAS0是輸出信號(hào),而對(duì)于從8259A,級(jí)聯(lián)信號(hào)CAS2-CAS0是輸入信號(hào)。 中斷級(jí)連數(shù)據(jù)線連接方式緩沖方式8259A的數(shù)據(jù)線需加緩沖器予以驅(qū)動(dòng)8259A把SP/EN引腳作為輸出端,輸出允許信號(hào),用以鎖存或開啟緩沖器非緩沖方式SP/EN引腳為輸入端若8259A級(jí)連,由其確定是主片或從片 二、8259A的中斷管理方式8259A具有非常靈活的中斷管理
25、方式,可滿足使用者的各種不同要求。8259A對(duì)中斷的管理可分為對(duì)優(yōu)先級(jí)的管理和對(duì)中斷結(jié)束的管理來(lái)討論。1.中斷優(yōu)先級(jí)管理8259A對(duì)中斷優(yōu)先級(jí)的管理可分為四種情況:(1)完全嵌套方式(2)自動(dòng)循環(huán)方式(3)中斷屏蔽方式(4)特殊完全嵌套方式2.中斷結(jié)束的管理方式 當(dāng)8259A響應(yīng)某一級(jí)中斷而為其服務(wù)時(shí),中斷服務(wù)寄存器ISR的相應(yīng)位置“1”,當(dāng)有更高級(jí)的中斷申請(qǐng)進(jìn)入時(shí),ISR的相應(yīng)位又要置“1”,因而ISR寄存器中可有多位同時(shí)置“1”。在中斷服務(wù)結(jié)束時(shí),ISR中相應(yīng)位應(yīng)清“0”,以便再次接收同級(jí)別的中斷。中斷結(jié)束的管理就是用不同的方式使ISR中相應(yīng)位清“0”,并確定下面的優(yōu)先級(jí)排隊(duì)。8259A中
26、斷結(jié)束的管理分三種情況討論: (1)完全嵌套方式 在中斷嵌套過(guò)程中,中斷服務(wù)寄存器ISR的內(nèi)容在不斷變化。在完全嵌套方式下,最多可達(dá)8級(jí)中斷嵌套,在中斷服務(wù)結(jié)束時(shí)也應(yīng)按從高到低的次序結(jié)束,每個(gè)中斷結(jié)束,使ISR中相應(yīng)位清“0”,待全部嵌套中斷均結(jié)束,則ISR中每位均為“0”。 8259A在完全嵌套方式下,可采用三種中斷結(jié)束方式:一般EOI方式 當(dāng)任何一級(jí)中斷服務(wù)程序結(jié)束時(shí),給8259A傳送一個(gè)EOI命令,8259A將ISR寄存器中級(jí)別最高的位清“0”。特殊EOI方式 當(dāng)中斷服務(wù)程序結(jié)束時(shí),給8259A傳送一個(gè)EOI命令,將ISR寄存器中指定級(jí)別的相應(yīng)位清“0”。自動(dòng)EOI方式 CPU進(jìn)入中斷響
27、應(yīng)總線周期的第二個(gè)中斷響應(yīng)信號(hào)INTA結(jié)束時(shí),自動(dòng)將ISR寄存器相位清“0”。中斷結(jié)束時(shí),不需要向8259A送EOI命令,這是一種最簡(jiǎn)單的結(jié)束方式。但是這種方式不能用于中斷嵌套的情況。(2)自動(dòng)循環(huán)情況和前面完全嵌套的情況相同,但結(jié)束后的優(yōu)先級(jí)處理有所不同。一般EOI方式特殊EOI方式自動(dòng)EOI方式(3)特殊完全嵌套方式 這種情況是因?yàn)?259A有級(jí)聯(lián),因而CPU應(yīng)發(fā)出兩個(gè)中斷結(jié)束命令EOI,一個(gè)送主8259A,用來(lái)將其主8259A的ISR寄存器相應(yīng)位清“0”;另一個(gè)送從8259A,用來(lái)將其從8259A中的ISR寄存器相應(yīng)位清“0”。 三、8259A的編程初始化編程8259A開始工作前,必須進(jìn)
28、行初始化編程給8259A寫入初始化命令字ICW中斷操作編程在8259A工作期間可以寫入操作命令字OCW將選定的操作傳送給8259A,使之按新的要求工作還可以讀取8259A的信息,以便了解他的工作狀態(tài)1. 初始化命令字ICW初始化命令字ICW最多有4個(gè)8259A在開始工作前必須寫入必須按照ICW1ICW4順序?qū)懭隝CW1和ICW2是必須送的ICW3和ICW4由工作方式?jīng)Q定流程ICW10001LTIM0SNGLIC4D7D6D5D4D3D2D1D0表示可以任意為1為0都可以(建議為0) 1只能為1,作為標(biāo)志中斷觸發(fā)方式:LTIM1,電平觸發(fā)方式LTIM0,邊沿觸發(fā)方式 規(guī)定單片或級(jí)連方式:SNGL
29、1,單片方式SNGL0,級(jí)連方式是否寫入ICW4IC41,要寫入ICW4IC40,不寫入ICW4ICW2T7T6T5T4T3D7D6D5D4D3D2D1D0設(shè)置中斷向量號(hào)T7T3為中斷向量號(hào)的高5位低3位由8259A自動(dòng)確定:IR0為000、IR1為001、IR7為111ICW3S7S6S5S4S3S2/ID2S1/ID1S0/ID0D7D6D5D4D3D2D1D0級(jí)連命令字主片8259A:Si1對(duì)應(yīng)IRi接有從片;否則IRi沒(méi)有連接從片從片8259A:ID0ID2編碼說(shuō)明從片INT引腳接到主片哪個(gè)IR引腳ICW4000SFNMBUFM/SAEOIPMD7D6D5D4D3D2D1D0嵌套方式:
30、特殊全嵌套方式(SFNM1)普通全嵌套方式(SFNM0)數(shù)據(jù)線的緩沖方式:緩沖方式(BUF1)非緩沖方式(BUF0) 主片/從片選擇:主片(M/S=1)從片(M/S=0)中斷結(jié)束方式:自動(dòng)中斷結(jié)束(AEOI1)非自動(dòng)中斷結(jié)束(AEOI0)微處理器類型:16位80 x86(PM1)8位8080/8085(PM0)2. 操作命令字OCW8259A工作期間,可以隨時(shí)接受操作命令字OCWOCW共有3個(gè):OCW1OCW3寫入時(shí)沒(méi)有順序要求,需要哪個(gè)OCW就寫入那個(gè)OCWOCW1OCW2OCW3多種多樣的外設(shè)工作原理不同機(jī)械、電子、機(jī)電、電磁傳送信息類型多樣數(shù)字量、模擬量、開關(guān)量傳送速度差別極大傳送方式不
31、盡相同串行、并行編碼方式不同二進(jìn)制、BCD碼、ASCII碼輸出接口的鎖存環(huán)節(jié)內(nèi)部數(shù)據(jù)總線外部數(shù)據(jù)引腳鎖存控制DCQDCQDCQ輸出接口的鎖存、緩沖環(huán)節(jié)內(nèi)部數(shù)據(jù)總線外部數(shù)據(jù)引腳鎖存控制DCQDCQDCQ讀數(shù)據(jù)輸入接口的緩沖環(huán)節(jié)內(nèi)部數(shù)據(jù)總線外部數(shù)據(jù)引腳選通緩沖器輸入接口的鎖存、緩沖環(huán)節(jié)內(nèi)部數(shù)據(jù)總線外部數(shù)據(jù)引腳鎖存控制鎖存器緩沖器DCDCDCQQQ選通端口(PORT)端口泛指I/O地址,通常對(duì)應(yīng)寄存器一個(gè)接口電路可以具有多個(gè)I/O端口,每個(gè)端口用來(lái)保存和交換不同的信息數(shù)據(jù)寄存器、狀態(tài)寄存器和控制寄存器占有的I/O地址常依次被稱為數(shù)據(jù)端口、狀態(tài)端口和控制端口,用于保存數(shù)據(jù)、狀態(tài)和控制信息輸入、輸出端口
32、可以是同一個(gè)I/O地址一定要理解無(wú)條件傳送流程就緒(Ready)在輸入場(chǎng)合“就緒”說(shuō)明輸入接口已準(zhǔn)備好送往CPU的數(shù)據(jù),正等著CPU來(lái)讀取該狀態(tài)也可用接口中數(shù)據(jù)緩沖器已“滿”來(lái)描述 在輸出場(chǎng)合“就緒”說(shuō)明輸出接口已做好準(zhǔn)備,等待接收CPU要輸出的數(shù)據(jù)該狀態(tài)也可用接口數(shù)據(jù)緩沖器已“空”、或者用接口(外設(shè))“閑”或不“忙(Busy)”來(lái)描述就緒:滿,空、閑、不忙查詢傳送流程DMA傳送流程8259A的引腳圖中斷級(jí)連一個(gè)系統(tǒng)中,8259A可以級(jí)連,有一個(gè)主8259A,若干個(gè)(最多8個(gè))從8259A級(jí)連時(shí),主8259A的三條級(jí)連線CAS0CAS2作為輸出線,連至每個(gè)從8259A的CAS0CAS2每個(gè)從8
33、259A的中斷請(qǐng)求信號(hào)INT,連至主8259A的一個(gè)中斷請(qǐng)求輸入端IR主8259A的INT線連至CPU的中斷請(qǐng)求輸入端SP/EN在非緩沖方式下,規(guī)定該8259A是主片(SP1)還是從片(SP0)CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/EN CAS0INTA CAS1 CAS2INT IR0 IR1SP/EN IR7CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/ENINTAINTR+5V8259級(jí)聯(lián)工作示意圖完全嵌套方式 在此種方式下,8259A的中斷請(qǐng)求輸入端引入的中斷具有固定的優(yōu)先級(jí)序列,IR0為最高優(yōu)先級(jí),IR7為最低優(yōu)先級(jí)。同時(shí),高優(yōu)先級(jí)的中斷可中斷低優(yōu)先級(jí)的服務(wù),實(shí)現(xiàn)中斷嵌套。自動(dòng)循環(huán)方式 在這種方式下,從IR0-IR7引入的中斷輪流具有最高優(yōu)先級(jí)。當(dāng)任何一級(jí)中斷被處理完,它
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)計(jì)技術(shù)咨詢服務(wù)合同書
- 產(chǎn)品研發(fā)合作合同與要求規(guī)范說(shuō)明
- 歷史文化名城保護(hù)合同
- 宿舍管理與維護(hù)度合同
- 私人借款合同范本買賣合同示例
- 租客與房東出租房合同電子版
- 公共交通車輛維修保養(yǎng)服務(wù)合同
- 房產(chǎn)交易居間代理合同模板
- 超市供貨簡(jiǎn)單版合同6篇
- 2025年人工費(fèi)合同7篇
- 2025年南昌理工學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)審定版
- 2025年廣西職業(yè)院校技能大賽高職組(商務(wù)數(shù)據(jù)分析賽項(xiàng))參考試題庫(kù)資料及答案
- 2025年黑龍江農(nóng)墾職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)帶答案
- 2025年黃山職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)及參考答案
- 四年級(jí)下冊(cè) 道德與法治 全冊(cè)教案
- 個(gè)人租房房屋合同范本
- 學(xué)校食堂食材采購(gòu)合同范本
- MSA測(cè)量系統(tǒng)培訓(xùn)
- 冷庫(kù)安全培訓(xùn)
- 年度得到 · 沈祖蕓全球教育報(bào)告(2024-2025)
- 2025年日歷表(A4版含農(nóng)歷可編輯)
評(píng)論
0/150
提交評(píng)論