版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第6章 輸入輸出技術(shù) 6.1 輸入輸出的基本方法6.1.1 輸入輸出接口的概念及基本結(jié)構(gòu)o 為什么需要為什么需要I/O接口(電路)?接口(電路)?u 微機(jī)的外部設(shè)備多種多樣微機(jī)的外部設(shè)備多種多樣u 工作原理、驅(qū)動方式、信息格式、以及工作速度工作原理、驅(qū)動方式、信息格式、以及工作速度方面彼此差別很大方面彼此差別很大u 它們不能與它們不能與CPU直接相連直接相連u 必須經(jīng)過中間電路再與系統(tǒng)相連必須經(jīng)過中間電路再與系統(tǒng)相連u 這部分電路被稱為這部分電路被稱為I/O接口電路接口電路多種外多種外設(shè)設(shè)1. 接口電路6.1.1 輸入/輸出接口概述(續(xù)1)u 什么是什么是I/O接口(電路)?接口(電路)?o
2、I/O接口是位于系統(tǒng)與外設(shè)間、用來協(xié)助完成數(shù)據(jù)傳接口是位于系統(tǒng)與外設(shè)間、用來協(xié)助完成數(shù)據(jù)傳送和控制任務(wù)的邏輯電路送和控制任務(wù)的邏輯電路o PC機(jī)系統(tǒng)板的可編程接口芯片、機(jī)系統(tǒng)板的可編程接口芯片、I/O總線槽的電路板總線槽的電路板(適配器)都是接口電路(適配器)都是接口電路6.1.1 輸入/輸出接口概述(續(xù)2)u 什么是微機(jī)接口技術(shù)?什么是微機(jī)接口技術(shù)?o 處理微機(jī)系統(tǒng)與外設(shè)間聯(lián)系的技術(shù)處理微機(jī)系統(tǒng)與外設(shè)間聯(lián)系的技術(shù)o 注意其軟硬結(jié)合的特點(diǎn)注意其軟硬結(jié)合的特點(diǎn)o 根據(jù)應(yīng)用系統(tǒng)的需要,使用和構(gòu)造相應(yīng)的接口電路,根據(jù)應(yīng)用系統(tǒng)的需要,使用和構(gòu)造相應(yīng)的接口電路,編制配套的接口程序,支持和連接有關(guān)的設(shè)備編
3、制配套的接口程序,支持和連接有關(guān)的設(shè)備2. 接口電路分類 按接口電路的通用性按接口電路的通用性o 按數(shù)據(jù)傳送格式按數(shù)據(jù)傳送格式o 按接口是否可編程按接口是否可編程o 按時序控制方式按時序控制方式 專用接口 通用接口 并行接口 串行接口 可編程接口 不可編程接口 同步接口 異步接口 3. 接口的基本功能接口的基本功能 對輸入輸出數(shù)據(jù)進(jìn)行緩沖和鎖存對輸入輸出數(shù)據(jù)進(jìn)行緩沖和鎖存n 輸出接口有鎖存環(huán)節(jié)輸出接口有鎖存環(huán)節(jié)n 輸入接口有緩沖環(huán)節(jié)輸入接口有緩沖環(huán)節(jié) 對信號的形式和數(shù)據(jù)的格式進(jìn)行變換對信號的形式和數(shù)據(jù)的格式進(jìn)行變換n 微機(jī)直接處理:微機(jī)直接處理:數(shù)字量數(shù)字量、開關(guān)量開關(guān)量、脈沖量脈沖量 對對I
4、/O端口進(jìn)行尋址端口進(jìn)行尋址 與與CPU和和I/O設(shè)備進(jìn)行聯(lián)絡(luò)設(shè)備進(jìn)行聯(lián)絡(luò) 中斷管理中斷管理/DMA控制功能控制功能4. 接口電路的基本結(jié)構(gòu)控制總線控制總線CB地址總線地址總線ABI/O接口電路接口電路數(shù)據(jù)數(shù)據(jù)控制控制狀態(tài)狀態(tài)數(shù)據(jù)總線數(shù)據(jù)總線DBCPU外設(shè)外設(shè)控制寄存器控制寄存器狀態(tài)寄存器狀態(tài)寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器6.1.2 6.1.2 外設(shè)接口的編址方式外設(shè)接口的編址方式接口電路占用的接口電路占用的I/O端口有兩類編排形式端口有兩類編排形式o I/O端口單獨(dú)編址端口單獨(dú)編址n I/O地址空間獨(dú)立于存儲地址空間地址空間獨(dú)立于存儲地址空間n 如如8086/8088o I/O端口與存儲器統(tǒng)一編
5、址端口與存儲器統(tǒng)一編址n 它們共享一個地址空間它們共享一個地址空間n 如如M68001. I/O1. I/O端口與存儲器統(tǒng)一編址端口與存儲器統(tǒng)一編址o 優(yōu)點(diǎn):優(yōu)點(diǎn):n不需要專門的不需要專門的I/O指令指令nI/O數(shù)據(jù)存取與存儲器數(shù)據(jù)數(shù)據(jù)存取與存儲器數(shù)據(jù)存取一樣靈活存取一樣靈活o 缺點(diǎn):缺點(diǎn):nI/O端口要占去部分存儲器端口要占去部分存儲器地址空間地址空間n程序不易閱讀(不易分清程序不易閱讀(不易分清訪存和訪問外設(shè))訪存和訪問外設(shè))內(nèi)存內(nèi)存部分部分I/O部分部分存存儲儲空空間間0FFFFF2. I/O2. I/O端口單獨(dú)編址端口單獨(dú)編址o 優(yōu)點(diǎn):優(yōu)點(diǎn):n I/O端口的地址空間獨(dú)立端口的地址空間獨(dú)
6、立n 控制和地址譯碼電路相對簡單控制和地址譯碼電路相對簡單n 專門的專門的I/O指令使程序清晰易指令使程序清晰易讀讀o 缺點(diǎn):缺點(diǎn):n I/O指令沒有存儲器指令豐富指令沒有存儲器指令豐富內(nèi)存內(nèi)存空間空間I/O空間空間FFFFF0FFFF080 x86采用采用I/O端口獨(dú)立編址端口獨(dú)立編址補(bǔ)充補(bǔ)充: 8088/8086的輸入輸出指令的輸入輸出指令o 輸入指令輸入指令n IN AL,i8/DX;字節(jié)輸入字節(jié)輸入n IN AX,i8/DX;字輸入字輸入o 輸出指令輸出指令n OUT i8/DX,AL;字節(jié)輸出字節(jié)輸出n OUT i8/DX;字輸出字輸出功能演示功能演示功能演示功能演示6.1.3 輸入
7、輸出的基本方法1. 程序控制方式程序控制方式2. 中斷控制方式中斷控制方式3. 直接存儲器存取控制方式直接存儲器存取控制方式4. 通道方式通道方式5. 外圍處理方式外圍處理方式數(shù)據(jù)傳送方式數(shù)據(jù)傳送方式o程序控制下的數(shù)據(jù)傳送程序控制下的數(shù)據(jù)傳送通過通過CPU執(zhí)行程序中的執(zhí)行程序中的I/O指令來完指令來完成傳送,又分為:成傳送,又分為:n 無條件傳送無條件傳送n 查詢傳送查詢傳送n 中斷傳送中斷傳送o直接存儲器存取直接存儲器存?。―MA)傳送請求由外設(shè)向傳送請求由外設(shè)向DMA控制器控制器(DMAC)提出,后者向)提出,后者向CPU申請總線,最后申請總線,最后DMAC利用系統(tǒng)利用系統(tǒng)總線來完成外設(shè)和
8、存儲器間的數(shù)據(jù)傳送總線來完成外設(shè)和存儲器間的數(shù)據(jù)傳送oI/O處理機(jī)處理機(jī)CPU委托專門的委托專門的I/O處理機(jī)來管理外設(shè),完成傳送處理機(jī)來管理外設(shè),完成傳送和相應(yīng)的數(shù)據(jù)處理和相應(yīng)的數(shù)據(jù)處理1. 無條件傳送方式及其接口無條件傳送方式及其接口o在在CPU與慢速變化的設(shè)備交換數(shù)據(jù)時,可以認(rèn)為它們總是處于與慢速變化的設(shè)備交換數(shù)據(jù)時,可以認(rèn)為它們總是處于“就緒就緒”狀態(tài),隨時可以進(jìn)行數(shù)據(jù)傳送,這就是無條件傳送,或稱立即傳送、狀態(tài),隨時可以進(jìn)行數(shù)據(jù)傳送,這就是無條件傳送,或稱立即傳送、同步傳送同步傳送o適合于簡單設(shè)備,如適合于簡單設(shè)備,如LED 數(shù)碼管、按鍵數(shù)碼管、按鍵/按紐等按紐等o無條件傳送的接口和操
9、作均十分簡單無條件傳送的接口和操作均十分簡單o這種傳送有前提:外設(shè)必須隨時處于就緒狀態(tài)這種傳送有前提:外設(shè)必須隨時處于就緒狀態(tài)傳送傳送流程流程接口接口實(shí)例實(shí)例6.2 程序控制方式微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用數(shù)據(jù)輸入數(shù)據(jù)輸入緩沖器端緩沖器端口口數(shù)據(jù)輸出數(shù)據(jù)輸出鎖存器端鎖存器端口口輸入數(shù)據(jù)輸入數(shù)據(jù)輸出數(shù)據(jù)輸出數(shù)據(jù)端口端口譯碼譯碼器器RDABDBWRM/IO微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用就緒?2. 查詢傳送方式及其接口o CPU先了解(查詢)外設(shè)的工作狀態(tài),在外設(shè)先了解(查詢)外設(shè)的工作狀態(tài),在外設(shè)就緒就緒(可(可以交換信息的情況下)實(shí)現(xiàn)數(shù)據(jù)的輸入或輸出
10、以交換信息的情況下)實(shí)現(xiàn)數(shù)據(jù)的輸入或輸出o 對多個外設(shè)的情況,則對多個外設(shè)的情況,則CPU按一定順序依次查詢(按一定順序依次查詢(輪輪詢詢)。先查詢的外設(shè)將優(yōu)先進(jìn)行數(shù)據(jù)交換)。先查詢的外設(shè)將優(yōu)先進(jìn)行數(shù)據(jù)交換o 查詢傳送的特點(diǎn)是:工作可靠,適用面寬,但傳送效率查詢傳送的特點(diǎn)是:工作可靠,適用面寬,但傳送效率低低微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用READY? 讀取狀態(tài)端口讀取狀態(tài)端口 傳送數(shù)據(jù)傳送數(shù)據(jù)完成?微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用數(shù)據(jù)緩沖器數(shù)據(jù)緩沖器(輸入端口輸入端口)狀態(tài)緩沖器狀態(tài)緩沖器(輸入端口)(輸入端口)輸輸入入設(shè)設(shè)備備數(shù)據(jù)端口讀選通數(shù)據(jù)端口讀
11、選通狀態(tài)端口讀選通狀態(tài)端口讀選通DB(數(shù)據(jù)、狀態(tài)數(shù)據(jù)、狀態(tài))鎖鎖存存器器輸入數(shù)據(jù)輸入數(shù)據(jù)輸入選通輸入選通RQD5VREADYD0微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用READY? 輸入狀態(tài)信息輸入狀態(tài)信息 輸入數(shù)據(jù)信息輸入數(shù)據(jù)信息微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用數(shù)據(jù)端口狀態(tài)端口A/D 轉(zhuǎn)換器定時器模擬信號譯碼電路啟動信號狀態(tài)信號D4數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線控制信號控制信號50H51H微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用輸出選通輸出選通數(shù)據(jù)鎖存器數(shù)據(jù)鎖存器(輸出端口)(輸出端口)狀態(tài)緩沖器狀態(tài)緩沖器(輸入端口輸入端口)輸輸出出設(shè)設(shè)備備RQ
12、D5VDB(數(shù)據(jù)、狀態(tài))數(shù)據(jù)、狀態(tài))BUSY(1bit)ACK狀態(tài)端口讀選通狀態(tài)端口讀選通數(shù)據(jù)端口寫選通數(shù)據(jù)端口寫選通微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用輸入狀態(tài)信息輸入狀態(tài)信息 BUSY? 輸出數(shù)據(jù)信息輸出數(shù)據(jù)信息6.3 中斷傳送方式程序程序斷點(diǎn)斷點(diǎn)主程序主程序中斷請求中斷請求為為外外設(shè)設(shè)繼繼續(xù)續(xù)執(zhí)執(zhí)行行返回斷點(diǎn)返回斷點(diǎn)傳送流程傳送流程oCPU在執(zhí)行程序中,在執(zhí)行程序中,被內(nèi)部或外部的事件被內(nèi)部或外部的事件所打斷,轉(zhuǎn)去執(zhí)行一所打斷,轉(zhuǎn)去執(zhí)行一段預(yù)先安排好的中斷段預(yù)先安排好的中斷服務(wù)程序;服務(wù)程序;o服務(wù)結(jié)束后,又返回服務(wù)結(jié)束后,又返回原來的斷點(diǎn),繼續(xù)執(zhí)原來的斷點(diǎn),繼續(xù)執(zhí)行原來
13、的程序行原來的程序提提供供服服務(wù)務(wù)中斷服務(wù)程序中斷服務(wù)程序入口入口6.3.1 中斷的基本概念1. 中斷的概念 2. 中斷控制方式o 中斷傳送是一種效率更高的程序傳送方式中斷傳送是一種效率更高的程序傳送方式o 進(jìn)行傳送的進(jìn)行傳送的中斷服務(wù)程序是預(yù)先設(shè)計好的中斷服務(wù)程序是預(yù)先設(shè)計好的o 中斷請求是外設(shè)隨機(jī)向中斷請求是外設(shè)隨機(jī)向CPU提出的提出的o CPU對請求的檢測是有規(guī)律的對請求的檢測是有規(guī)律的:一般是在每條指:一般是在每條指令的最后一個時鐘周期采樣中斷請求輸入引腳令的最后一個時鐘周期采樣中斷請求輸入引腳o 本書主要論述中斷在輸入和輸出方面的應(yīng)用本書主要論述中斷在輸入和輸出方面的應(yīng)用o 中斷還有
14、著非常廣泛的應(yīng)用中斷還有著非常廣泛的應(yīng)用3. 中斷源o 能夠引發(fā)中斷的事件被稱為能夠引發(fā)中斷的事件被稱為中斷源中斷源。通常,中斷源有兩。通常,中斷源有兩類:類:內(nèi)部中斷源內(nèi)部中斷源和和外部中斷源外部中斷源。o 由處理機(jī)內(nèi)部產(chǎn)生的中斷事件稱為由處理機(jī)內(nèi)部產(chǎn)生的中斷事件稱為內(nèi)部中斷源內(nèi)部中斷源。常見的。常見的內(nèi)部中斷源有計算溢出、指令的單步運(yùn)行、執(zhí)行特定的內(nèi)部中斷源有計算溢出、指令的單步運(yùn)行、執(zhí)行特定的中斷指令等。中斷指令等。o 由處理機(jī)之外的外圍設(shè)備產(chǎn)生的中斷事件由處理機(jī)之外的外圍設(shè)備產(chǎn)生的中斷事件稱為外部中斷稱為外部中斷源源。常見的外部中斷源有外設(shè)的輸入。常見的外部中斷源有外設(shè)的輸入/輸出請求
15、、定時輸出請求、定時時間到、電源掉電、設(shè)備故障等。時間到、電源掉電、設(shè)備故障等。 三態(tài)三態(tài)緩沖器緩沖器中斷傳送與接口(續(xù))中斷傳送與接口(續(xù))D0D7+5V8D鎖存器鎖存器8位位三態(tài)三態(tài)緩沖器緩沖器RQ 譯碼譯碼8001H中斷向量號中斷向量號D0D7INTRD輸入輸入設(shè)備設(shè)備中斷允許中斷允許觸發(fā)器觸發(fā)器A0A15中斷請求中斷請求觸發(fā)器觸發(fā)器-IOR-INTA-STB4. 中斷處理過程中斷處理過程o中斷請求(外設(shè))中斷請求(外設(shè))o中斷響應(yīng)(中斷響應(yīng)(CPU)o關(guān)中斷(關(guān)中斷(CPU)o斷點(diǎn)保護(hù)(斷點(diǎn)保護(hù)(CPU)o中斷識別(硬件中斷識別(硬件/軟件)軟件)o 現(xiàn)場保護(hù)(用戶)現(xiàn)場保護(hù)(用戶)o
16、 中斷服務(wù)(用戶)中斷服務(wù)(用戶)o 恢復(fù)現(xiàn)場(用戶)恢復(fù)現(xiàn)場(用戶)o 開中斷(開中斷(CPU/用戶)用戶)o 中斷返回(用戶中斷返回(用戶)中斷服務(wù)是進(jìn)行數(shù)據(jù)交中斷服務(wù)是進(jìn)行數(shù)據(jù)交換的實(shí)質(zhì)性環(huán)節(jié)換的實(shí)質(zhì)性環(huán)節(jié)5. 5. 中斷系統(tǒng)的功能中斷系統(tǒng)的功能 能進(jìn)入中斷和退出中斷,即完成上述中斷響能進(jìn)入中斷和退出中斷,即完成上述中斷響應(yīng)和中斷返回的過程應(yīng)和中斷返回的過程. 能對某些中斷進(jìn)行屏蔽,并在必要時開放能對某些中斷進(jìn)行屏蔽,并在必要時開放. 能進(jìn)行優(yōu)先權(quán)排隊(duì)能進(jìn)行優(yōu)先權(quán)排隊(duì). 提供中斷嵌套能力提供中斷嵌套能力. 6.3.2 8086中斷系統(tǒng)o 8086的中斷系統(tǒng)采用的中斷系統(tǒng)采用向量中斷向量中
17、斷機(jī)制機(jī)制o 一共可處理一共可處理256個中斷個中斷o 采用中斷向量編號采用中斷向量編號0255,對,對256個中斷加以區(qū)別個中斷加以區(qū)別o 可屏蔽中斷需借助專用的中斷控制器可屏蔽中斷需借助專用的中斷控制器 Intel 8259A對系統(tǒng)中的可屏蔽中斷資源進(jìn)行管理:對系統(tǒng)中的可屏蔽中斷資源進(jìn)行管理:n擴(kuò)充系統(tǒng)的可屏蔽中斷資源,并管理它們:擴(kuò)充系統(tǒng)的可屏蔽中斷資源,并管理它們:n實(shí)現(xiàn)中斷優(yōu)先權(quán)比較實(shí)現(xiàn)中斷優(yōu)先權(quán)比較n實(shí)現(xiàn)中斷源的識別實(shí)現(xiàn)中斷源的識別1. 80861. 8086中斷類型中斷類型o 硬件中斷硬件中斷 軟件中斷軟件中斷 硬件中斷硬件中斷 硬件中斷,又稱硬件中斷,又稱外部中斷外部中斷,它是
18、由處理器外部的硬,它是由處理器外部的硬件、外圍設(shè)備的請求而引起的中斷。件、外圍設(shè)備的請求而引起的中斷。8086有兩條硬件中有兩條硬件中斷請求信號線:斷請求信號線:NMI(非屏蔽中斷)和(非屏蔽中斷)和INTR(可屏蔽中(可屏蔽中斷)。斷)。 軟件中斷軟件中斷(內(nèi)部中斷內(nèi)部中斷)o內(nèi)部中斷內(nèi)部中斷內(nèi)部機(jī)制產(chǎn)生內(nèi)部機(jī)制產(chǎn)生n除法錯中斷除法錯中斷(0號)號)除運(yùn)算除運(yùn)算結(jié)果溢出時產(chǎn)生結(jié)果溢出時產(chǎn)生n指令中斷指令中斷(n號)號)執(zhí)行執(zhí)行int n指令后產(chǎn)生(操作碼指令后產(chǎn)生(操作碼CDH)n斷點(diǎn)中斷斷點(diǎn)中斷(3號)號)執(zhí)行執(zhí)行int 3指令(單字節(jié)指令操作碼指令(單字節(jié)指令操作碼CCH )用于在調(diào)試中
19、設(shè)置斷點(diǎn),程序遇斷點(diǎn)則中斷)用于在調(diào)試中設(shè)置斷點(diǎn),程序遇斷點(diǎn)則中斷n溢出中斷溢出中斷(4號)號)執(zhí)行執(zhí)行into指令,且前面運(yùn)算有指令,且前面運(yùn)算有溢出溢出(OF=1)時產(chǎn)生)時產(chǎn)生n單步中斷單步中斷(1號)號)TF標(biāo)志置標(biāo)志置1后,每執(zhí)行一條子指令將發(fā)后,每執(zhí)行一條子指令將發(fā)生一次生一次o外部中斷外部中斷外部引腳觸發(fā)外部引腳觸發(fā)n可屏蔽中斷可屏蔽中斷(外設(shè)提供向量號)(外設(shè)提供向量號)觸發(fā)觸發(fā)INTR引腳產(chǎn)生引腳產(chǎn)生n非屏蔽中斷非屏蔽中斷(2號)號) 觸發(fā)觸發(fā)NMI引腳產(chǎn)生引腳產(chǎn)生8088的中斷類型的中斷類型中斷邏輯中斷邏輯INTO指令指令單步單步中斷中斷除法除法錯誤錯誤INT N指令指令C
20、PUNMI8259A中斷中斷控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外設(shè)設(shè)中中斷斷源源 -INTA可屏蔽中斷申請可屏蔽中斷申請 INTR不可屏蔽中斷申請不可屏蔽中斷申請可屏蔽中斷源可屏蔽中斷源不可屏蔽中斷源不可屏蔽中斷源內(nèi)部中斷內(nèi)部中斷 中斷優(yōu)先權(quán)中斷優(yōu)先權(quán) 8086規(guī)定中斷優(yōu)先權(quán)從高到低的順序?yàn)椋阂?guī)定中斷優(yōu)先權(quán)從高到低的順序?yàn)椋?除法錯、溢出中斷指令除法錯、溢出中斷指令I(lǐng)NTO、中斷指令、中斷指令I(lǐng)NT n 。 非屏蔽中斷非屏蔽中斷NMI。 可屏蔽中斷可屏蔽中斷INTR。 單步中斷。單步中斷。 2. 8088的中斷向量表o中斷向量中斷向量:指示中斷服務(wù)程序的:指示中斷服
21、務(wù)程序的入口地址入口地址,該地址包,該地址包括:括:偏移地址偏移地址IP 、段地址段地址CS (共共32位位)o每個中斷向量的低字是偏移地址、高字是段地址,需每個中斷向量的低字是偏移地址、高字是段地址,需占用占用4個字節(jié)(低對低,高對高)。個字節(jié)(低對低,高對高)。o8088 微處理器從物理地址微處理器從物理地址000H開始到開始到3FFH(1KB),),依次安排各個中斷向量,向量號從依次安排各個中斷向量,向量號從0到到255。o256個中斷向量所占用的個中斷向量所占用的1KB區(qū)域,稱區(qū)域,稱中斷向量表中斷向量表幾個概念:向量號幾個概念:向量號N/中斷向量中斷向量/中中斷服務(wù)程序的入口地址斷服
22、務(wù)程序的入口地址中斷向量的存放首址中斷向量的存放首址N44B4B中斷向量表1KB3FFH0H0號中斷向量號中斷向量IPCSo 內(nèi)部中斷是由于內(nèi)部中斷是由于8086內(nèi)部執(zhí)行程序出現(xiàn)特殊情況而內(nèi)部執(zhí)行程序出現(xiàn)特殊情況而引起引起的中斷的中斷n除法錯中斷:除法錯中斷:向量號為向量號為0n指令中斷(指令中斷(int n):):向量號為向量號為nn斷點(diǎn)中斷(斷點(diǎn)中斷(int 3 ):): 向量號為向量號為3n溢出中斷(溢出中斷(into ) : 向量號為向量號為4n單步中斷:單步中斷:向量號為向量號為1內(nèi)部中斷的中斷向量號已由內(nèi)部中斷的中斷向量號已由Intel公司確定公司確定o 外部中斷是由于外部中斷是由
23、于8086外部通過外部通過CPU引腳提出中斷請引腳提出中斷請求而引起求而引起的中斷的中斷n非屏蔽中斷非屏蔽中斷(NMI):): 向量號為向量號為2o 外部通過非屏蔽中斷外部通過非屏蔽中斷NMI請求,必須響應(yīng)請求,必須響應(yīng)o 非屏蔽中斷主要用于處理系統(tǒng)的意外或故障(如奇偶校非屏蔽中斷主要用于處理系統(tǒng)的意外或故障(如奇偶校驗(yàn)或協(xié)處理器運(yùn)算錯誤等)驗(yàn)或協(xié)處理器運(yùn)算錯誤等)n可屏蔽中斷可屏蔽中斷(INTR):): 向量號向量號由中斷控制器提供由中斷控制器提供o 外部通過可屏蔽中斷外部通過可屏蔽中斷 INTR 請求,由標(biāo)志位請求,由標(biāo)志位 IF 控制是否控制是否響應(yīng);響應(yīng)時將產(chǎn)生有效的響應(yīng);響應(yīng)時將產(chǎn)生
24、有效的 INTA 信號信號o 可屏蔽中斷主要用于外設(shè)中斷請求(請求交換數(shù)據(jù)等服可屏蔽中斷主要用于外設(shè)中斷請求(請求交換數(shù)據(jù)等服務(wù))務(wù))標(biāo)志位標(biāo)志位IF控制可屏蔽中斷的響應(yīng)控制可屏蔽中斷的響應(yīng)中斷標(biāo)志中斷標(biāo)志IFIF的狀態(tài)的狀態(tài)oIF0:可屏蔽中斷不會被響應(yīng)(禁止中斷,關(guān)中斷,中斷屏:可屏蔽中斷不會被響應(yīng)(禁止中斷,關(guān)中斷,中斷屏蔽)蔽)n系統(tǒng)復(fù)位,使系統(tǒng)復(fù)位,使IF0n任何一個中斷被響應(yīng),使任何一個中斷被響應(yīng),使IF0n執(zhí)行指令執(zhí)行指令CLI,使,使IF0oIF1:可屏蔽中斷會被響應(yīng)(允許中斷,開中斷,中斷開放):可屏蔽中斷會被響應(yīng)(允許中斷,開中斷,中斷開放)n執(zhí)行指令執(zhí)行指令STI,使,使
25、IF1o執(zhí)行指令執(zhí)行指令 IRET 后后IF 將恢復(fù)為中斷前的狀態(tài)將恢復(fù)為中斷前的狀態(tài)明確明確 IF 標(biāo)志的狀態(tài)是關(guān)鍵標(biāo)志的狀態(tài)是關(guān)鍵3. 80863. 8086中斷處理過程中斷處理過程 可屏蔽中斷的中斷過程可屏蔽中斷的中斷過程 o中斷源通過中斷控制器中斷源通過中斷控制器8259向向CPU發(fā)出中斷請求信號發(fā)出中斷請求信號 oCPU在每一個指令周期的最后一個時鐘周期采樣在每一個指令周期的最后一個時鐘周期采樣INTR信號線信號線 ,如如IF=1,CUP允許中斷,如允許中斷,如IF=0,則不理會,則不理會o當(dāng)當(dāng)CPU響應(yīng)可屏蔽級的中斷請求時,首先通過信號線向響應(yīng)可屏蔽級的中斷請求時,首先通過信號線向
26、8259連續(xù)連續(xù)發(fā)出兩個負(fù)脈沖的中斷響應(yīng)信號。發(fā)出兩個負(fù)脈沖的中斷響應(yīng)信號。 oCPU暫停執(zhí)行當(dāng)前程序,而轉(zhuǎn)去執(zhí)行相應(yīng)的中斷處理程序暫停執(zhí)行當(dāng)前程序,而轉(zhuǎn)去執(zhí)行相應(yīng)的中斷處理程序 o CPU執(zhí)行中斷服務(wù)程序執(zhí)行中斷服務(wù)程序 o返回斷點(diǎn),繼續(xù)執(zhí)行被打斷的程序返回斷點(diǎn),繼續(xù)執(zhí)行被打斷的程序 非屏蔽中斷和軟件中斷的執(zhí)行過程非屏蔽中斷和軟件中斷的執(zhí)行過程o查詢中斷的先后順序查詢中斷的先后順序決定了各中斷源的優(yōu)先級別決定了各中斷源的優(yōu)先級別n軟件中斷軟件中斷o 除法錯中斷除法錯中斷o 指令中斷指令中斷o 溢出中斷溢出中斷n非屏蔽中斷非屏蔽中斷n可屏蔽中斷可屏蔽中斷n單步中斷單步中斷高高低低8086808
27、6的中斷響應(yīng)過程的中斷響應(yīng)過程N(yùn)MIN軟件中斷軟件中斷INTRTF=1中斷響應(yīng)周期中斷響應(yīng)周期讀中斷向量號讀中斷向量號下條指令下條指令現(xiàn)行指令現(xiàn)行指令I(lǐng)F1NNNNYYYYY執(zhí)行中斷服務(wù)執(zhí)行中斷服務(wù)Y還有還有NMITEMP1標(biāo)志寄存器入棧標(biāo)志寄存器入棧TEMPTF,IFTF0CS:IP入棧入棧獲取中斷向量獲取中斷向量執(zhí)行服務(wù)程序執(zhí)行服務(wù)程序彈出彈出CS:IP彈出標(biāo)志寄存器彈出標(biāo)志寄存器返回被中斷程序返回被中斷程序(1)(2)(3)(4)(5)NNY(6)單步中斷單步中斷6.3.3 8259中斷控制器o Intel 8259A是可編程中斷控制器是可編程中斷控制器PICo 可配合可配合CPU(I8
28、080/85、I8086/88/286/386等)等)管理可屏蔽中斷管理可屏蔽中斷o 8259A的基本功能的基本功能n1片片8259A可以管理可以管理8級中斷,經(jīng)級聯(lián)最多可擴(kuò)展至級中斷,經(jīng)級聯(lián)最多可擴(kuò)展至64級級n每一級中斷都可單獨(dú)被屏蔽或允許每一級中斷都可單獨(dú)被屏蔽或允許n在中斷響應(yīng)周期,可提供相應(yīng)的調(diào)用指令(配合在中斷響應(yīng)周期,可提供相應(yīng)的調(diào)用指令(配合I8080/85 )或中斷向量號(配合或中斷向量號(配合I8086/88/286/386)n8259A設(shè)計有多種工作方式,通過初始化編程進(jìn)行設(shè)置設(shè)計有多種工作方式,通過初始化編程進(jìn)行設(shè)置1. 8259A的內(nèi)部結(jié)構(gòu)和引腳D7D0-INTAIN
29、T中斷請求寄存器中斷請求寄存器中斷屏蔽寄存器中斷屏蔽寄存器數(shù)據(jù)數(shù)據(jù)總線總線緩沖器緩沖器IR0IR7讀讀/寫寫控制控制邏輯邏輯級聯(lián)級聯(lián)緩沖器緩沖器比較器比較器-RD-WRA0-CSCAS0CSA1CAS2-SP/-EN優(yōu)先權(quán)判別電路優(yōu)先權(quán)判別電路中斷服務(wù)寄存器中斷服務(wù)寄存器控制邏輯控制邏輯 8259 8259的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)o中斷請求寄存器中斷請求寄存器IRRn保存保存8條外界中斷請求信號條外界中斷請求信號IR0IR7的請求狀態(tài)的請求狀態(tài)nDi位為位為1表示表示IRi引腳有中斷請求;為引腳有中斷請求;為0表示無請求表示無請求o中斷服務(wù)寄存器中斷服務(wù)寄存器ISRn保存正在被保存正在被8259A
30、服務(wù)著的中斷狀態(tài)服務(wù)著的中斷狀態(tài)nDi位為位為1表示表示IRi中斷正在服務(wù)中;為中斷正在服務(wù)中;為0表示沒有被服務(wù)表示沒有被服務(wù)o中斷屏蔽寄存器中斷屏蔽寄存器IMRn保存對中斷請求信號保存對中斷請求信號IR的屏蔽狀態(tài)的屏蔽狀態(tài)nDi位為位為1表示表示IRi中斷被屏蔽(禁止);為中斷被屏蔽(禁止);為0表示允許表示允許o 優(yōu)先權(quán)判別器優(yōu)先權(quán)判別器PRn 優(yōu)先權(quán)判別器(優(yōu)先權(quán)判別器(PR)用來識別各中斷請求的優(yōu)先級別)用來識別各中斷請求的優(yōu)先級別 o 讀讀/寫控制電路寫控制電路 讀讀/寫控制電路接收來自寫控制電路接收來自CPU的讀的讀/寫控制命令和片選控制信寫控制命令和片選控制信息息 o 數(shù)據(jù)總線
31、緩沖器數(shù)據(jù)總線緩沖器 這是一個這是一個8位的雙向三態(tài)緩沖器,使位的雙向三態(tài)緩沖器,使8259和和CPU數(shù)據(jù)總線數(shù)據(jù)總線D7D0直接掛接,完成命令和狀態(tài)信息的傳送。直接掛接,完成命令和狀態(tài)信息的傳送。 o 控制電路控制電路 它是它是8259內(nèi)部的控制器,根據(jù)內(nèi)部的控制器,根據(jù)CPU對對8259編程設(shè)定的工作方編程設(shè)定的工作方式產(chǎn)生內(nèi)部控制信號,向式產(chǎn)生內(nèi)部控制信號,向CPU發(fā)出中斷請求信號發(fā)出中斷請求信號INT,請求,請求CPU響應(yīng),同時產(chǎn)生與當(dāng)前中斷請求服務(wù)有關(guān)的控制信號,并在接收響應(yīng),同時產(chǎn)生與當(dāng)前中斷請求服務(wù)有關(guān)的控制信號,并在接收到來自到來自CPU的中斷響應(yīng)信號后,將中斷類型號送到數(shù)據(jù)總
32、線的中斷響應(yīng)信號后,將中斷類型號送到數(shù)據(jù)總線。 o 級聯(lián)緩沖級聯(lián)緩沖/比較器比較器 該功能部件用來實(shí)現(xiàn)多個該功能部件用來實(shí)現(xiàn)多個8259的級聯(lián)連接及數(shù)據(jù)緩沖方式。的級聯(lián)連接及數(shù)據(jù)緩沖方式。 CAS0 IR0CAS1 IR1CAS2 IR2 IR3-INTA IR4 IR5INT IR6 IR7-SP/-EN CAS0-INTA CAS1 CAS2INT IR0 IR1-SP/-EN IR7CAS0 IR0CAS1 IR1CAS2 IR2 IR3-INTA IR4 IR5INT IR6 IR7-SP/-EN-INTAINTR+5V8259級聯(lián)工作示意圖級聯(lián)工作示意圖8259A8259A的級連的級
33、連輸出得到響應(yīng)輸出得到響應(yīng)的從片編號的從片編號中斷級連中斷級連o8259A可以可以級連級連,1個個主片主片最多可以級連最多可以級連8個個從片從片o級連時,級連時,主片主片的級連線的級連線CAS0CAS2連至每個從片的連至每個從片的CAS0CAS2,輸出被選中的從片編號輸出被選中的從片編號,o每個每個從片從片的中斷請求信號的中斷請求信號 INT,連至主,連至主8259A的一個中斷請求輸?shù)囊粋€中斷請求輸入端入端IRx;主片;主片的的 INT 線連至線連至CPU的中斷請求輸入端的中斷請求輸入端INTRo在非緩沖方式下,引腳在非緩沖方式下,引腳-SP/-EN,通過接地指定該片充當(dāng)從片(,通過接地指定該
34、片充當(dāng)從片(-SP0);反之若接高電平則該片充當(dāng)主片();反之若接高電平則該片充當(dāng)主片(-SP1)。)。 8259 8259的引腳功能的引腳功能o 82598259芯片有芯片有2828條引條引腳,雙列直插式封腳,雙列直插式封裝裝. .1. 8259A的內(nèi)部結(jié)構(gòu)和引腳D7D0-INTAINT中斷請求寄存器中斷請求寄存器中斷屏蔽寄存器中斷屏蔽寄存器數(shù)據(jù)數(shù)據(jù)總線總線緩沖器緩沖器IR0IR7讀讀/寫寫控制控制邏輯邏輯級聯(lián)級聯(lián)緩沖器緩沖器比較器比較器-RD-WRA0-CSCAS0CSA1CAS2-SP/-EN優(yōu)先權(quán)判別電路優(yōu)先權(quán)判別電路中斷服務(wù)寄存器中斷服務(wù)寄存器控制邏輯控制邏輯2. 8259A2. 8
35、259A的中斷過程的中斷過程CAS0CAS2D0D7-SP/-ENIR0IR7CPU響應(yīng)周期響應(yīng)周期8259A工作波形工作波形INT第第1個總線周期個總線周期T1 T2 T3 T4ALECLK 第第2個總線周期個總線周期T1 T2 T3 T4第第1個個-INTA前保持高電平前保持高電平 -INTA-LOCK中斷向量主片輸出級聯(lián)信號從片接收3. 8259A3. 8259A的工作方式的工作方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自動循環(huán)方式自動循環(huán)方式特殊循環(huán)方式特殊循環(huán)方式優(yōu)先權(quán)固定方式優(yōu)先權(quán)固定方式優(yōu)先權(quán)循環(huán)方式優(yōu)先權(quán)循環(huán)方式 設(shè)置優(yōu)先權(quán)方式設(shè)置優(yōu)先權(quán)方式普通中斷結(jié)束方式普
36、通中斷結(jié)束方式特殊中斷結(jié)束方式特殊中斷結(jié)束方式自動中斷結(jié)束方式自動中斷結(jié)束方式非自動中斷結(jié)束方式非自動中斷結(jié)束方式 結(jié)束中斷方式結(jié)束中斷方式 中斷屏蔽方式中斷屏蔽方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式 中斷觸發(fā)方式中斷觸發(fā)方式邊沿觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式電平觸發(fā)方式 數(shù)據(jù)線連接方式數(shù)據(jù)線連接方式緩沖方式緩沖方式非緩沖方式非緩沖方式 與與CPU配合方式配合方式與與8080/8085 CPU配合配合與與8086/8088 CPU配合配合 級連方式級連方式級連級連不級連不級連(1 1)中斷結(jié)束處理方式)中斷結(jié)束處理方式什么是什么是8259A的中斷結(jié)束?的中斷結(jié)束?8259A利用
37、中斷服務(wù)寄存器利用中斷服務(wù)寄存器ISR判斷:判斷:n某位為某位為1,表示正在進(jìn)行中斷服務(wù);,表示正在進(jìn)行中斷服務(wù);n該位為該位為0,就是該中斷結(jié)束服務(wù)。,就是該中斷結(jié)束服務(wù)。 這里說明如何使這里說明如何使ISR某位為某位為0,不反映,不反映CPU的工作狀的工作狀態(tài)。態(tài)。(1 1)中斷結(jié)束處理方式(續(xù))中斷結(jié)束處理方式(續(xù))非自動中斷結(jié)束方式非自動中斷結(jié)束方式普通中斷結(jié)束方式普通中斷結(jié)束方式 配合全嵌套優(yōu)先權(quán)方式使用配合全嵌套優(yōu)先權(quán)方式使用 當(dāng)當(dāng)CPU用輸出指令往用輸出指令往8259A發(fā)出普通中斷結(jié)束發(fā)出普通中斷結(jié)束EOI命命令令時,時,8259A就會把所有正在服務(wù)的中斷中就會把所有正在服務(wù)的中
38、斷中優(yōu)先權(quán)最高優(yōu)先權(quán)最高的的ISR位復(fù)位。位復(fù)位。特殊中斷結(jié)束方式特殊中斷結(jié)束方式 配合循環(huán)優(yōu)先權(quán)方式使用配合循環(huán)優(yōu)先權(quán)方式使用 CPU在程序中向在程序中向8259A發(fā)送一條特殊中斷結(jié)束命令,發(fā)送一條特殊中斷結(jié)束命令,同時把中斷級別也送給同時把中斷級別也送給8259,使,使ISR中的中的指定級別指定級別相應(yīng)位相應(yīng)位清清0(1 1)中斷結(jié)束處理方式(續(xù))中斷結(jié)束處理方式(續(xù))自動中斷結(jié)束方式自動中斷結(jié)束方式 這種方式在中斷服務(wù)程序結(jié)束時,不需要提供任何這種方式在中斷服務(wù)程序結(jié)束時,不需要提供任何EOI操作,操作,而是由而是由8259在中斷響應(yīng)周期第二個響應(yīng)信號結(jié)束時,在中斷響應(yīng)周期第二個響應(yīng)信號
39、結(jié)束時,自動產(chǎn)自動產(chǎn)生生一個一個EOI信號,將信號,將ISR中相應(yīng)位清中相應(yīng)位清0(2 2) 緩沖方式緩沖方式o 緩沖方式緩沖方式(增強(qiáng)數(shù)據(jù)驅(qū)動能力增強(qiáng)數(shù)據(jù)驅(qū)動能力)n 8259A的數(shù)據(jù)線需加緩沖器予以驅(qū)動的數(shù)據(jù)線需加緩沖器予以驅(qū)動n 8259A把把SP*/EN*引腳作為輸出端,輸出允許引腳作為輸出端,輸出允許信號,用以鎖存或開啟緩沖器。信號,用以鎖存或開啟緩沖器。EN*=0表示表示允許緩沖器輸入,允許緩沖器輸入, EN*=1表示允許緩沖器輸表示允許緩沖器輸出出o 非緩沖方式非緩沖方式n SP*/EN*引腳為輸入端引腳為輸入端n 若若8259A級連,由級連,由SP*確定是主片或從片確定是主片或
40、從片 (3 3)嵌套方式)嵌套方式o 普通全嵌套方式普通全嵌套方式n8259A中,中,優(yōu)先級高的中斷可以打斷優(yōu)先級低的中斷優(yōu)先級高的中斷可以打斷優(yōu)先級低的中斷,反,反之不能,從高到低依次為之不能,從高到低依次為IR0、IR1、IR2、IR7n中斷請求后,中斷請求后,8259A對對當(dāng)前請求中斷中優(yōu)先權(quán)最高的中斷當(dāng)前請求中斷中優(yōu)先權(quán)最高的中斷IRi予以予以響應(yīng)響應(yīng),將其向量號送上數(shù)據(jù)總線,對應(yīng),將其向量號送上數(shù)據(jù)總線,對應(yīng)ISR的的Di位位置位,至到中斷結(jié)束(置位,至到中斷結(jié)束(ISR的的Di位復(fù)位)位復(fù)位)n在在ISR的的Di位置位期間,位置位期間,禁止再發(fā)生同級和低級優(yōu)先權(quán)的禁止再發(fā)生同級和低
41、級優(yōu)先權(quán)的中斷中斷,但允許高級優(yōu)先權(quán)中斷的嵌套,但允許高級優(yōu)先權(quán)中斷的嵌套o(hù) 特殊全嵌套方式特殊全嵌套方式o 用于級聯(lián),允許響應(yīng)同級的中斷用于級聯(lián),允許響應(yīng)同級的中斷o 區(qū)分同一從片發(fā)出的不同級別中斷區(qū)分同一從片發(fā)出的不同級別中斷(4 4) 中斷屏蔽方式中斷屏蔽方式o 普通屏蔽方式普通屏蔽方式n 將將IMR的的Di位置位置1,則對應(yīng)的中斷,則對應(yīng)的中斷IRi被屏蔽被屏蔽,該中斷請求不能從該中斷請求不能從8259A送到送到CPUn 如果如果IMR的的Di位置位置0,則允許,則允許IRi中斷產(chǎn)生中斷產(chǎn)生o 特殊屏蔽方式特殊屏蔽方式n 將將IMR的的Di位置位置1,對應(yīng)的中斷,對應(yīng)的中斷IRi被屏蔽
42、的同被屏蔽的同時,使時,使ISR的的Di位置位置0 優(yōu)先級的控制優(yōu)先級的控制 固定優(yōu)先級 所謂固定優(yōu)先級,即是指8259的8個中斷源中,IR0優(yōu)先級最高,IR1優(yōu)先級次之,依次降低,直到IR7優(yōu)先級最低,這個順序固定不變。 循環(huán)優(yōu)先級 8259將中斷源IR0IR7按下標(biāo)序號順序構(gòu)成一個環(huán),有兩種規(guī)定方式: 自動優(yōu)先循環(huán)級。 該方式規(guī)定:剛被服務(wù)過的中斷源,其優(yōu)先級別被改為最低級,而將最高優(yōu)先級賦給原來比它低一級的中斷源,其它中斷源的優(yōu)先順序依中斷源順序環(huán)確定。例如:CPU對IR3的中斷服務(wù)剛結(jié)束時,IR3的優(yōu)先級別變?yōu)樽畹停@時8259的8個中斷源優(yōu)先順序由高到低為IR4,IR5,IR6,IR
43、7,IR0,IR1,IR2,IR3。 指定優(yōu)先循環(huán)級。 該方式規(guī)定:在OCW2中指定的中斷源,其優(yōu)先級別被設(shè)為最低級,其它中斷源的優(yōu)先順序依中斷源順序環(huán)確定。例如:CPU在對IR3的中斷服務(wù)過程中,通過指令在OCW2中指定IR5具有最低優(yōu)先級,則IR3中斷服務(wù)結(jié)束時,2859A的8個中斷源優(yōu)先順序由高到低為IR6,IR7,IR0,IR1,IR2,IR3,IR4,IR5。 (6 6) 中斷觸發(fā)方式中斷觸發(fā)方式o 邊沿觸發(fā)方式邊沿觸發(fā)方式n 8259A將中斷請求輸入端出現(xiàn)的將中斷請求輸入端出現(xiàn)的上升沿作為中斷請求信號上升沿作為中斷請求信號o 電平觸發(fā)方式電平觸發(fā)方式n 中斷請求端出現(xiàn)的高電平是有效
44、中斷請求端出現(xiàn)的高電平是有效的中斷請求信號的中斷請求信號(7 7) 中斷級連中斷級連o一個系統(tǒng)中,一個系統(tǒng)中,8259A可以級連,有一個主可以級連,有一個主8259A,若干個(最多,若干個(最多8個)個)從從8259Ao級連時,主級連時,主8259A的三條級連線的三條級連線CAS0CAS2作為輸出線,連至每作為輸出線,連至每個從個從8259A的的CAS0CAS2o每個從每個從8259A的中斷請求信號的中斷請求信號INT,連至主,連至主8259A的一個中斷請求輸?shù)囊粋€中斷請求輸入端入端IRo主主8259A的的INT線連至線連至CPU的中斷請求輸入端的中斷請求輸入端oSP*/EN*在非緩沖方式下,
45、規(guī)定該在非緩沖方式下,規(guī)定該8259A是主片(是主片(SP*1)還是從)還是從片(片(SP*0)級連方式級連方式o 不級連不級連只用只用1片,如片,如 PC/XTo 級連級連使用使用29片,如片,如 PC/AT(2片)片)-INTAINTRIR0IR7IR7IR0CAS0CAS2=010INTINTD0D74. 8259A4. 8259A的編程的編程初始化編程初始化編程 8259A開始工作前,開始工作前, 用戶必須對用戶必須對8259A進(jìn)行初始化編程。通過寫入進(jìn)行初始化編程。通過寫入初始化初始化命令字命令字ICW對對8259A進(jìn)行初始化。進(jìn)行初始化。工作方式編程工作方式編程 在在8259A工作
46、期間工作期間 可以隨時向可以隨時向8259A寫入寫入操作命令字操作命令字OCW,使之按用戶,使之按用戶設(shè)置的新的工作方式進(jìn)行工作,用戶還可以通過寫設(shè)置的新的工作方式進(jìn)行工作,用戶還可以通過寫操作操作命令字命令字OCW通知通知8259A,下面的操作要讀取,下面的操作要讀取8259A中的中的狀態(tài)信息,以便了解其工作情況。狀態(tài)信息,以便了解其工作情況。 8259 8259的初始化編程的初始化編程8259初始化編程的主要任務(wù)有:初始化編程的主要任務(wù)有: 復(fù)位復(fù)位8259芯片。芯片。 設(shè)定中斷請求信號設(shè)定中斷請求信號INT有效的形式,是高電平有效,還是有效的形式,是高電平有效,還是上升沿有效。上升沿有效
47、。 設(shè)定設(shè)定8259工作在單片方式還是多片級聯(lián)方式。工作在單片方式還是多片級聯(lián)方式。 設(shè)定設(shè)定8259管理的中斷類型號的基值,即管理的中斷類型號的基值,即0級級IR0所對應(yīng)所對應(yīng)的中斷類型號。的中斷類型號。 設(shè)定各中斷級的優(yōu)先次序,設(shè)定各中斷級的優(yōu)先次序, IR0最高,最高,IR7最低。最低。 設(shè)定一次中斷處理結(jié)束時的結(jié)束方式。設(shè)定一次中斷處理結(jié)束時的結(jié)束方式。(1 1)初始化命令字)初始化命令字ICWICWo 初始化命令字初始化命令字ICW最多有最多有4個個o 8259A在開始工作前必須寫入在開始工作前必須寫入o 必須按照必須按照ICW1ICW4順序?qū)懭腠樞驅(qū)懭雘 ICW1和和ICW2是必須
48、送的是必須送的o ICW3和和ICW4由工作方式?jīng)Q定由工作方式?jīng)Q定流程流程D7D6D5D4D3D2D1D0ICW11LTIMSNGLIC4D7D6D5D4D3D2D1D0表示可以任意表示可以任意為為1為為0都可以(建議為都可以(建議為0) 1只能為只能為1,作為標(biāo)志,作為標(biāo)志中斷觸發(fā)方式:中斷觸發(fā)方式:LTIM1,電平觸發(fā)方式,電平觸發(fā)方式LTIM0,邊沿觸發(fā)方式,邊沿觸發(fā)方式 規(guī)定單片或級連方式:規(guī)定單片或級連方式:SNGL1,單片方式,單片方式SNGL0,級連方式,級連方式是否寫入是否寫入ICW4IC41,要寫入,要寫入ICW4IC40,不寫入,不寫入ICW4,即,即ICW4規(guī)定的位全為規(guī)
49、定的位全為0ICW2T7T6T5T4T3D7D6D5D4D3D2D1D0設(shè)置中斷向量號設(shè)置中斷向量號nT7T3為中斷向量號的高為中斷向量號的高5位位n低低3位由位由8259A自動確定:自動確定:nIR0為為000、IR1為為001、IR7為為111ICW3S7S6S5S4S3S2/ID2S1/ID1S0/ID0D7D6D5D4D3D2D1D0級連命令字級連命令字n主片主片8259A:Si1對應(yīng)對應(yīng)IRi接有從片;接有從片;否則否則IRi沒有連接從片沒有連接從片n從片從片8259A:高:高5位為位為0,ID0ID2編碼編碼說明從片說明從片INT引腳接到主片哪個引腳接到主片哪個IR引腳引腳ICW4
50、000SFNMBUFM/SAEOIPMD7D6D5D4D3D2D1D0嵌套方式:嵌套方式:n特殊全嵌套方式(特殊全嵌套方式(SFNM1)n普通全嵌套方式(普通全嵌套方式(SFNM0)數(shù)據(jù)線的緩沖方式:數(shù)據(jù)線的緩沖方式:n緩沖方式(緩沖方式(BUF1)n非緩沖方式(非緩沖方式(BUF0) 主片主片/從片選擇:從片選擇:n主片(主片(M/S=1)n從片(從片(M/S=0)中斷結(jié)束方式:中斷結(jié)束方式:n自動中斷結(jié)束(自動中斷結(jié)束(AEOI1)n非自動中斷結(jié)束(非自動中斷結(jié)束(AEOI0)微處理器類型:微處理器類型:n16位位80 x86( PM1)n8位位8080/8085( PM0)8259825
51、9芯片的初始化流程芯片的初始化流程 ICW4(A0=1)SNGL=0?ICW1的IC4=1?初始化完,準(zhǔn)備接受中斷請求輸入是是否ICW1(A0=0,D4=1)ICW2(A0=1)ICW3(A0=1)否初始化主片初始化主片8259A8259Amov al,11h;寫入寫入ICW1out 20h,aljmp intr1intr1:mov al,08h;寫入寫入ICW2out 21h,aljmp intr2intr2:mov al,04h;寫入寫入ICW3out 21h,aljmp intr3intr3:mov al,1h;寫入寫入ICW4out 21h,al初始化從片8259Amov al,11h
52、;寫入寫入ICW1out 0a0h,aljmp intr5intr5:mov al,70h;寫入寫入ICW2out 0a1h,aljmp intr6intr6:mov al,02h;寫入寫入ICW3out 0a1h,aljmp intr7intr7:mov al, 01h;寫入寫入ICW4out 0a1h,al 工作方式編程工作方式編程o 8259工作方式編程主要完成的任務(wù)是對中斷請求的屏工作方式編程主要完成的任務(wù)是對中斷請求的屏蔽、優(yōu)先級循環(huán)控制、中斷結(jié)束方式、內(nèi)部控制寄存蔽、優(yōu)先級循環(huán)控制、中斷結(jié)束方式、內(nèi)部控制寄存器的查詢等。器的查詢等。 o 8259A工作期間,可以隨時接受操作命令字工
53、作期間,可以隨時接受操作命令字OCWo OCW共有共有3個:個:OCW1OCW3o 寫入時沒有順序要求,需要哪個寫入時沒有順序要求,需要哪個OCW就寫入那個就寫入那個OCWD7D6D5D4D3D2D1D0OCW1M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字屏蔽命令字內(nèi)容寫入中斷屏蔽寄存器內(nèi)容寫入中斷屏蔽寄存器IMRDiMi對應(yīng)對應(yīng)IRi,為,為1禁止禁止IRi中斷;中斷;為為0允許允許IRi中斷。各位互相獨(dú)立。中斷。各位互相獨(dú)立。OCW2RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和和EOI配合使配合使用用產(chǎn)生中斷結(jié)束產(chǎn)生中斷結(jié)束EOI命命
54、令和改變優(yōu)先權(quán)順序令和改變優(yōu)先權(quán)順序L2L0的的3位編碼位編碼指定指定IR引腳引腳 OCW30ESMMSMM01PRRRISD7D6D5D4D3D2D1D0ESMM、SMM設(shè)置中斷屏蔽方式設(shè)置中斷屏蔽方式P、RR和和RIS規(guī)定隨后讀取的規(guī)定隨后讀取的狀態(tài)字狀態(tài)字含義含義查詢字查詢字IW2W1W0D7D6D5D4D3D2D1D0中斷位中斷位I位為位為1,有外設(shè)請求中斷有外設(shè)請求中斷W2W0的編碼的編碼當(dāng)前中斷請求的當(dāng)前中斷請求的最高優(yōu)先級最高優(yōu)先級讀取狀態(tài)字讀取狀態(tài)字o CPU可讀出可讀出IRR、ISR、IMR和查詢字和查詢字o A0為低,由為低,由OCW3中中RR和和RIS位設(shè)定讀取位設(shè)定讀取
55、IRR或或ISR,由,由OCW3中中P位設(shè)定讀取查詢字位設(shè)定讀取查詢字o 而而A0引腳為高電平時讀取的都是引腳為高電平時讀取的都是IMRo 查詢字反映查詢字反映8259A是否有中斷請求是否有中斷請求補(bǔ)充:補(bǔ)充: 命令字和狀態(tài)字的區(qū)別方法命令字和狀態(tài)字的區(qū)別方法 利用讀寫信號區(qū)別寫入的控制寄存器和讀出的利用讀寫信號區(qū)別寫入的控制寄存器和讀出的狀態(tài)寄存器狀態(tài)寄存器 利用地址信號區(qū)別不同利用地址信號區(qū)別不同I/O地址的寄存器地址的寄存器 由控制字中的標(biāo)志位說明是哪個寄存器由控制字中的標(biāo)志位說明是哪個寄存器 由芯片內(nèi)順序控制邏輯按一定順序識別不同的由芯片內(nèi)順序控制邏輯按一定順序識別不同的寄存器寄存器
56、由前面的控制字決定后續(xù)操作的寄存器由前面的控制字決定后續(xù)操作的寄存器(1)與)與CPU的配合方式的配合方式o與8080/8085 CPU配合 中斷響應(yīng)時,-INTA信號3次有效,8259A送CALL XXXXH指令(3個字節(jié))的機(jī)器代碼到數(shù)據(jù)總線;o與8086/8088 CPU配合中斷響應(yīng)時, -INTA信號2次有效,8259A送相應(yīng)的中斷向量號(1個字節(jié))到數(shù)據(jù)總線。8080/85 CPU8259A8086/88CPU8259ACALL XXXXH中斷向量號中斷向量號-INTAINTR-INTAINTR5. 80X865. 80X86微機(jī)的中斷控制器微機(jī)的中斷控制器(2)與處理器接口)與處理
57、器接口 -CS A0 -RD -WR功能功能 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 1 寫入寫入ICW1、OCW2和和OCW3寫入寫入ICW2ICW4和和OCW1讀出讀出IRR、ISR和查詢字和查詢字讀出讀出IMR數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)6.4 DMA6.4 DMA傳送方式傳送方式o 希望克服程序控制傳送的不足:希望克服程序控制傳送的不足:外設(shè)外設(shè)CPU存儲器存儲器外設(shè)外設(shè)CPU存儲器存儲器o 直接存儲器存取直接存儲器存取DMA:不經(jīng):不經(jīng)CPU,不用指令,不用指令 外設(shè)外設(shè)存儲器存儲器(DMA寫)寫) 外設(shè)外設(shè)存儲
58、器存儲器(DMA讀)讀) 擴(kuò)展擴(kuò)展:外設(shè)外設(shè) 外設(shè)外設(shè)o CPU出讓系統(tǒng)總線(輸出高阻),由出讓系統(tǒng)總線(輸出高阻),由DMA控制器控制器(DMAC)接管系統(tǒng)總線)接管系統(tǒng)總線6.4.1 DMA6.4.1 DMA傳送的工作過程傳送的工作過程 CPU對對DMA控制器進(jìn)行初始化設(shè)置控制器進(jìn)行初始化設(shè)置 外設(shè)、外設(shè)、DMAC、CPU, 3者通過應(yīng)答信號建立聯(lián)系:者通過應(yīng)答信號建立聯(lián)系:CPU將總線暫交將總線暫交DMAC控制,事后再將控制權(quán)返還??刂?,事后再將控制權(quán)返還。 DMA傳送傳送nDMA讀讀:存儲器:存儲器 外設(shè)外設(shè)nDMA寫寫:存儲器:存儲器 外設(shè)外設(shè) DMAC的功能:的功能:n對存儲器尋址
59、地址動加對存儲器尋址地址動加1/減減1n計數(shù)器減計數(shù)器減1n判斷傳送是否完成判斷傳送是否完成傳送流程傳送流程DMA傳送(傳送( 以以DMA 寫為例)寫為例)-MEMW-IOR數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線輸輸入入設(shè)設(shè)備備存存儲儲器器DMACCPUHOLDHLDADREQDACK微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用微機(jī)系統(tǒng)原理及接口技術(shù)應(yīng)用DMAC發(fā)存儲器地址發(fā)存儲器地址在總線上傳送數(shù)據(jù)在總線上傳送數(shù)據(jù)傳送結(jié)束?傳送結(jié)束?修改地址指針修改地址指針DMA結(jié)束,交還總線權(quán)結(jié)束,交還總線權(quán)CPU允許釋放總線,向允許釋放總線,向DMAC發(fā)出總線應(yīng)答信號發(fā)出總線應(yīng)答信號HLDADMAC向向CPU發(fā)總線申請發(fā)總線申
60、請HOLDYN傳送方式的比較傳送方式的比較o 無條件傳送無條件傳送:慢速外設(shè)需與:慢速外設(shè)需與CPU保持同步保持同步o 查詢傳送查詢傳送: 簡單實(shí)用,效率較低簡單實(shí)用,效率較低o 中斷傳送中斷傳送:外設(shè)主動,可與:外設(shè)主動,可與CPU并行工作,但并行工作,但每次傳送需要大量額外時間開銷每次傳送需要大量額外時間開銷 o DMA傳送傳送:DMAC控制,外設(shè)直接和存儲器進(jìn)控制,外設(shè)直接和存儲器進(jìn)行數(shù)據(jù)傳送,適合大量、快速數(shù)據(jù)傳送行數(shù)據(jù)傳送,適合大量、快速數(shù)據(jù)傳送6.4.2 DMA6.4.2 DMA控制器控制器82378237o 每個每個8237A芯片有芯片有4個個DMA通道,就是有通道,就是有4個個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高新技術(shù)產(chǎn)業(yè)區(qū)股權(quán)轉(zhuǎn)讓協(xié)議
- 2024年貨物運(yùn)輸合同運(yùn)輸標(biāo)的說明
- 2024年項(xiàng)目開發(fā)建議文檔編制協(xié)議典范版B版
- 2024年高級會所會員身份認(rèn)證協(xié)議3篇
- 2024年項(xiàng)目外包合作合同具體描述
- 2025年度桉樹苗木病蟲害防治與預(yù)防合同2篇
- 2024年運(yùn)動鞋品牌授權(quán)授權(quán)經(jīng)營及品牌推廣合同2篇
- 2024年銷售職位勞動協(xié)議樣書版B版
- 2024年電子商務(wù)爭議解決合同
- 2024年股權(quán)投資基金收益分配協(xié)議
- 下肢靜脈血栓形成課件
- 組織知識清單
- 《中華人民共和國職業(yè)分類大典》電子版
- 教程adams壓縮包群文件msc event files
- 肺功能檢查指南
- 海商法術(shù)語中英對照
- 自動酸洗生產(chǎn)線設(shè)計方案
- 地下水水資源論證報告書
- 【家庭自制】 南北香腸配方及28種制作方法
- 電梯調(diào)度問題模型(共3頁)
- 廠房施工總結(jié)報告
評論
0/150
提交評論