計(jì)算機(jī)組成及結(jié)構(gòu)第8章_輸入輸出系統(tǒng)_第1頁
計(jì)算機(jī)組成及結(jié)構(gòu)第8章_輸入輸出系統(tǒng)_第2頁
計(jì)算機(jī)組成及結(jié)構(gòu)第8章_輸入輸出系統(tǒng)_第3頁
計(jì)算機(jī)組成及結(jié)構(gòu)第8章_輸入輸出系統(tǒng)_第4頁
計(jì)算機(jī)組成及結(jié)構(gòu)第8章_輸入輸出系統(tǒng)_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第8章 輸入輸出系統(tǒng)2022年3月27日星期日2目錄目錄l8.1 外圍設(shè)備的速度分級(jí)與信息交換方式外圍設(shè)備的速度分級(jí)與信息交換方式 了解了解l8.2 程序查詢方式程序查詢方式 了解了解l8.3 程序中斷方式程序中斷方式掌握掌握l8.4 DMA方式方式掌握掌握l8.5 通道方式通道方式 了解了解l8.6 通用通用I/O標(biāo)準(zhǔn)接口標(biāo)準(zhǔn)接口了解了解2022年3月27日星期日3考研大綱要求考研大綱要求(一一) I/O系統(tǒng)基本概念系統(tǒng)基本概念(二二) 外部設(shè)備外部設(shè)備(三三) I/O接口接口(I/O控制器控制器)1. I/O接口的功能和基本結(jié)構(gòu)接口的功能和基本結(jié)構(gòu)2. I/O端口及其編址端口及其編址(四四

2、) I/O方式方式1. 程序查詢方式程序查詢方式2. 程序中斷方式程序中斷方式3. DMA方式方式 DMA控制器的組成;控制器的組成;DMA傳送過程。傳送過程。4. 通道方式通道方式第第7 7章章中斷的基本概念中斷的基本概念中斷響應(yīng)過程中斷響應(yīng)過程中斷處理過程中斷處理過程多重中斷和中斷屏蔽的概念多重中斷和中斷屏蔽的概念2022年3月27日星期日48.1 外圍設(shè)備的速度分級(jí)與信息交換方式外圍設(shè)備的速度分級(jí)與信息交換方式l8.1.1 外圍設(shè)備的速度分級(jí)外圍設(shè)備的速度分級(jí)l8.1.2 信息交換方式信息交換方式2022年3月27日星期日58.1.1 外圍設(shè)備的速度分級(jí)外圍設(shè)備的速度分級(jí)l根據(jù)外設(shè)的工作

3、速度,根據(jù)外設(shè)的工作速度,CPU與外設(shè)的定時(shí)方式有以下與外設(shè)的定時(shí)方式有以下3種:種:速度極慢或簡單的外圍設(shè)備速度極慢或簡單的外圍設(shè)備uCPU直接接收或發(fā)送數(shù)據(jù)。直接接收或發(fā)送數(shù)據(jù)。 慢速或中速的外圍設(shè)備慢速或中速的外圍設(shè)備u采用異步定時(shí)方式,或稱為應(yīng)答式數(shù)據(jù)交換;采用異步定時(shí)方式,或稱為應(yīng)答式數(shù)據(jù)交換;uCPU與外設(shè)之間通過兩個(gè)相互的聯(lián)絡(luò)信號(hào)來決定開始數(shù)據(jù)傳與外設(shè)之間通過兩個(gè)相互的聯(lián)絡(luò)信號(hào)來決定開始數(shù)據(jù)傳送的時(shí)間。送的時(shí)間。 高速的外圍設(shè)備高速的外圍設(shè)備u采用同步定時(shí)方式;采用同步定時(shí)方式;CPU以等間隔的速率執(zhí)行輸入輸出指令。以等間隔的速率執(zhí)行輸入輸出指令。詢問信號(hào)詢問信號(hào)應(yīng)答信號(hào)應(yīng)答信號(hào)

4、由時(shí)鐘脈沖控制由時(shí)鐘脈沖控制如何使如何使CPUCPU與外與外設(shè)同步工作設(shè)同步工作如:機(jī)械開關(guān)、發(fā)光二極管如:機(jī)械開關(guān)、發(fā)光二極管如:鍵盤、顯示器如:鍵盤、顯示器如:主存、輔存如:主存、輔存2022年3月27日星期日68.1.2外設(shè)信息交換方式外設(shè)信息交換方式l程序查詢方式程序查詢方式早期計(jì)算機(jī)中使用的一種方式,效率低。早期計(jì)算機(jī)中使用的一種方式,效率低。l程序中斷方式程序中斷方式適用于隨機(jī)出現(xiàn)的服務(wù)。適用于隨機(jī)出現(xiàn)的服務(wù)。l直接內(nèi)存訪問(直接內(nèi)存訪問(DMA)方式)方式適用于內(nèi)存和高速外圍設(shè)備之間大批數(shù)據(jù)交換的場合。適用于內(nèi)存和高速外圍設(shè)備之間大批數(shù)據(jù)交換的場合。 l通道方式通道方式增加一個(gè)具

5、有特殊功能的處理器增加一個(gè)具有特殊功能的處理器通道,將通道,將CPU的輸?shù)妮斎胼敵鰴?quán)力下放。入輸出權(quán)力下放。l外圍處理機(jī)方式外圍處理機(jī)方式(PPU)是通道方式的進(jìn)一步發(fā)展。是通道方式的進(jìn)一步發(fā)展。2022年3月27日星期日7程序查詢方式程序查詢方式l工作過程工作過程CPU傳送數(shù)據(jù)之前先檢查外設(shè)的狀態(tài),若沒有準(zhǔn)備好,則傳送數(shù)據(jù)之前先檢查外設(shè)的狀態(tài),若沒有準(zhǔn)備好,則繼續(xù)查詢等待繼續(xù)查詢等待,直至外設(shè)就緒即進(jìn)行數(shù)據(jù)傳送。,直至外設(shè)就緒即進(jìn)行數(shù)據(jù)傳送。l硬件要求硬件要求只需接口電路的狀態(tài)、數(shù)據(jù)口,不需增加其他控制電路。只需接口電路的狀態(tài)、數(shù)據(jù)口,不需增加其他控制電路。l特點(diǎn)特點(diǎn)CPU主動(dòng)查詢,主動(dòng)查詢

6、,程序控制數(shù)據(jù)傳送過程程序控制數(shù)據(jù)傳送過程,簡單易行;,簡單易行;每次查詢之后只能傳送一個(gè)字或一個(gè)字節(jié)的數(shù)據(jù),數(shù)據(jù)傳每次查詢之后只能傳送一個(gè)字或一個(gè)字節(jié)的數(shù)據(jù),數(shù)據(jù)傳輸率不高,輸率不高,CPU時(shí)間浪費(fèi)較多。時(shí)間浪費(fèi)較多。l適用場合適用場合CPU不太忙且對(duì)傳送速度要求不高的系統(tǒng)。不太忙且對(duì)傳送速度要求不高的系統(tǒng)。2022年3月27日星期日8l工作過程工作過程CPU有傳送要求時(shí),有傳送要求時(shí),啟動(dòng)外設(shè)后可處理其他事件啟動(dòng)外設(shè)后可處理其他事件,當(dāng)外設(shè),當(dāng)外設(shè)準(zhǔn)就緒后,通過準(zhǔn)就緒后,通過中斷的方式中斷的方式和和CPU完成數(shù)據(jù)傳送工作。完成數(shù)據(jù)傳送工作。l硬件要求硬件要求需要附加的需要附加的中斷控制電路

7、中斷控制電路。l特點(diǎn)特點(diǎn)一定程度上實(shí)現(xiàn)了一定程度上實(shí)現(xiàn)了CPU和外設(shè)的并行工作;和外設(shè)的并行工作;中斷操作過程增加了軟硬件的開銷,且每次數(shù)據(jù)傳送只能中斷操作過程增加了軟硬件的開銷,且每次數(shù)據(jù)傳送只能傳送一個(gè)字或一個(gè)字節(jié)的數(shù)據(jù),數(shù)據(jù)傳送效率低。傳送一個(gè)字或一個(gè)字節(jié)的數(shù)據(jù),數(shù)據(jù)傳送效率低。l適用場合適用場合CPU與與慢速外設(shè)慢速外設(shè)之間的數(shù)據(jù)傳送。之間的數(shù)據(jù)傳送。程序中斷方式程序中斷方式2022年3月27日星期日9l工作過程工作過程CPU分配總線使用權(quán)分配總線使用權(quán)之后,在硬件之后,在硬件DMA控制器(控制器(DMAC)的)的控制下完成存儲(chǔ)器與高速外設(shè)之間的大量數(shù)據(jù)的傳送??刂葡峦瓿纱鎯?chǔ)器與高速外

8、設(shè)之間的大量數(shù)據(jù)的傳送。l硬件要求硬件要求需要相應(yīng)的需要相應(yīng)的DMA控制器及數(shù)據(jù)通路控制器及數(shù)據(jù)通路,電路結(jié)構(gòu)復(fù)雜,硬件開,電路結(jié)構(gòu)復(fù)雜,硬件開銷大。銷大。l特點(diǎn)特點(diǎn)數(shù)據(jù)傳送不需要經(jīng)過數(shù)據(jù)傳送不需要經(jīng)過CPU,直接由硬件控制直接由硬件控制;外設(shè)與存儲(chǔ)器之間的數(shù)據(jù)傳送量大。外設(shè)與存儲(chǔ)器之間的數(shù)據(jù)傳送量大。l適用場合適用場合包含有高速外設(shè)的系統(tǒng)中。包含有高速外設(shè)的系統(tǒng)中。存儲(chǔ)器與外設(shè)之間存儲(chǔ)器與外設(shè)之間數(shù)據(jù)交換時(shí)使用數(shù)據(jù)交換時(shí)使用直接內(nèi)存訪問(直接內(nèi)存訪問(DMA)方式)方式2022年3月27日星期日10通道方式通道方式l工作過程工作過程CPU將將IO控制的權(quán)利下放給通道,由控制的權(quán)利下放給通道,

9、由通道統(tǒng)一管理所有的通道統(tǒng)一管理所有的輸入輸出操作輸入輸出操作。l硬件要求硬件要求需要需要IO通道(也稱通道(也稱IO處理器,處理器,IOP););通道是一個(gè)具有通道是一個(gè)具有特殊功能的處理器特殊功能的處理器。l特點(diǎn)特點(diǎn)硬件代價(jià)較高;硬件代價(jià)較高;IO傳送的效率高,并且減輕了傳送的效率高,并且減輕了CPU的工作負(fù)擔(dān)。的工作負(fù)擔(dān)。l適用場合適用場合高性能要求的系統(tǒng)中。高性能要求的系統(tǒng)中。2022年3月27日星期日118.2 程序查詢方式程序查詢方式 CPUIN AL , DX數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線/RD/WR/MIOIO0地址信息地址信息0ALOUT DX , AL00地址信息地址信息

10、AL數(shù)據(jù)的輸入數(shù)據(jù)的輸入輸出完全由輸出完全由程序控制!程序控制!2022年3月27日星期日121、設(shè)備編址、設(shè)備編址統(tǒng)一編址方式統(tǒng)一編址方式l統(tǒng)一編址方式統(tǒng)一編址方式將將I/O系統(tǒng)與主存系統(tǒng)作為系統(tǒng)與主存系統(tǒng)作為一個(gè)整體一個(gè)整體進(jìn)行編址;進(jìn)行編址;l優(yōu)點(diǎn):優(yōu)點(diǎn):訪問訪問I/O端口可使用端口可使用訪存指令訪存指令,操作類型多樣,操作類型多樣,使用靈活;使用靈活;I/O端口有較大的編址空間;端口有較大的編址空間;l缺點(diǎn):缺點(diǎn):占用主存空間占用主存空間,使實(shí)際主存容量減?。?,使實(shí)際主存容量減小;I/O訪問的指令字長較長,執(zhí)行速度慢。訪問的指令字長較長,執(zhí)行速度慢。以以2020位主存地址、位主存地址、

11、1616位位I/OI/O地址為例地址為例主主存存儲(chǔ)儲(chǔ)器器I/O設(shè)設(shè)備備EFFFFHF0000H2022年3月27日星期日131、設(shè)備編址、設(shè)備編址獨(dú)立編址方式獨(dú)立編址方式l獨(dú)立編址方式獨(dú)立編址方式將將I/O系統(tǒng)與主存系統(tǒng)系統(tǒng)與主存系統(tǒng)分別分別編址;編址;l特點(diǎn):特點(diǎn):I/O端口地址不占用主存空間;端口地址不占用主存空間;使用使用專用的專用的I/O指令指令,指令字長短,指令字長短,執(zhí)行速度快;執(zhí)行速度快;與主存空間區(qū)分容易。與主存空間區(qū)分容易。主主存存儲(chǔ)儲(chǔ)器器I/O設(shè)設(shè)備備以以2020位主存地址、位主存地址、1616位位I/OI/O地址為例地址為例2022年3月27日星期日142、輸入、輸入/輸

12、出指令輸出指令lIO指令指令 輸入指令:輸入指令:IN AL/AX , DX/PORTu從指定端口讀入一個(gè)字節(jié)從指定端口讀入一個(gè)字節(jié)/字?jǐn)?shù)據(jù)到累加器;字?jǐn)?shù)據(jù)到累加器; 輸出指令:輸出指令:OUT DX/PORT , AL/AXu將累加器中的一個(gè)字節(jié)將累加器中的一個(gè)字節(jié)/字?jǐn)?shù)據(jù)送到指定端口輸出;字?jǐn)?shù)據(jù)送到指定端口輸出;lIO指令一般的功能:指令一般的功能:對(duì)對(duì)I/O接口的控制觸發(fā)器置接口的控制觸發(fā)器置1或或0,控制其進(jìn)行某些操作;,控制其進(jìn)行某些操作;uCPU向向IO接口發(fā)命令字;接口發(fā)命令字;測試設(shè)備的某些狀態(tài);測試設(shè)備的某些狀態(tài);uCPU讀取讀取IO接口的狀態(tài)字;接口的狀態(tài)字;輸入或輸出數(shù)據(jù)

13、;輸入或輸出數(shù)據(jù);CPU與與IO接口之間的數(shù)據(jù)傳送;接口之間的數(shù)據(jù)傳送; 以數(shù)據(jù)形式傳送以數(shù)據(jù)形式傳送控制、狀態(tài)信息控制、狀態(tài)信息2022年3月27日星期日153、程序查詢方式的接口、程序查詢方式的接口lCPU通過地址信號(hào)通過地址信號(hào)選選中中某設(shè)備接口;某設(shè)備接口;lCPU通過向該接口發(fā)通過向該接口發(fā)送命令字的方式,送命令字的方式,啟動(dòng)啟動(dòng)外設(shè)外設(shè);l外設(shè)開始工作后,外設(shè)開始工作后,設(shè)設(shè)置當(dāng)前置當(dāng)前“忙忙”狀態(tài)狀態(tài);lCPU與外設(shè)通過接口與外設(shè)通過接口內(nèi)部的數(shù)據(jù)緩沖器內(nèi)部的數(shù)據(jù)緩沖器傳送傳送數(shù)據(jù)數(shù)據(jù);動(dòng)畫演示:動(dòng)畫演示:8-2.swf8-2.swf2022年3月27日星期日164、程序查詢輸入

14、、程序查詢輸入/輸出方式輸出方式l程序執(zhí)行動(dòng)作如下:程序執(zhí)行動(dòng)作如下: CPU請(qǐng)求數(shù)據(jù)傳送;請(qǐng)求數(shù)據(jù)傳送; CPU從從I/O接口接口讀入狀態(tài)字讀入狀態(tài)字; 檢查檢查狀態(tài)字中的標(biāo)志;狀態(tài)字中的標(biāo)志; 未就緒,則未就緒,則重復(fù)重復(fù)、步,步,直到設(shè)備就緒為止。直到設(shè)備就緒為止。 CPU輸入或輸出數(shù)據(jù),同時(shí)輸入或輸出數(shù)據(jù),同時(shí)復(fù)位接口中的狀態(tài)標(biāo)志。復(fù)位接口中的狀態(tài)標(biāo)志。l特點(diǎn)特點(diǎn)可通過改變查詢順序修改設(shè)可通過改變查詢順序修改設(shè)備的優(yōu)先權(quán);備的優(yōu)先權(quán);CPU工作效率低;工作效率低;動(dòng)畫演示:動(dòng)畫演示:8-3.swf8-3.swf2022年3月27日星期日178.3 程序中斷方式程序中斷方式l8.3.1

15、中斷的基本概念中斷的基本概念 l8.3.2 程序中斷方式的基本程序中斷方式的基本IO接口接口 l8.3.3 單級(jí)中斷單級(jí)中斷l(xiāng)8.3.4 多級(jí)中斷多級(jí)中斷l(xiāng)8.3.5 中斷控制器中斷控制器l8.3.6 PC系列機(jī)中斷機(jī)制系列機(jī)中斷機(jī)制2022年3月27日星期日188.3.1 中斷的基本概念中斷的基本概念 l定義:定義:中斷是指中斷是指CPU正常運(yùn)行程序時(shí),由正常運(yùn)行程序時(shí),由系統(tǒng)內(nèi)系統(tǒng)內(nèi)/外部非預(yù)期事件外部非預(yù)期事件或或程序中預(yù)先安排好的指令性事件程序中預(yù)先安排好的指令性事件引起的,引起的,CPU暫停暫停當(dāng)前程序當(dāng)前程序的執(zhí)行,的執(zhí)行,轉(zhuǎn)去轉(zhuǎn)去為該事件服務(wù)的程序中執(zhí)行,服務(wù)完畢后,再為該事件服

16、務(wù)的程序中執(zhí)行,服務(wù)完畢后,再返回返回原程序繼續(xù)執(zhí)行的過程。原程序繼續(xù)執(zhí)行的過程。l注意:注意:中斷中斷是一個(gè)是一個(gè)CPU執(zhí)行程序的執(zhí)行程序的變化過程變化過程;所有能引起中斷的事件均稱為所有能引起中斷的事件均稱為中斷源中斷源;處理中斷事件的處理中斷事件的中斷服務(wù)程序中斷服務(wù)程序是預(yù)先設(shè)置好的;是預(yù)先設(shè)置好的;結(jié)束中斷返回原程序時(shí),要以結(jié)束中斷返回原程序時(shí),要以原狀態(tài)返回原狀態(tài)返回暫停處繼續(xù)執(zhí)行。暫停處繼續(xù)執(zhí)行。2022年3月27日星期日19主主程程序序中中斷斷服服務(wù)務(wù)程程序序IP中斷請(qǐng)求中斷請(qǐng)求主程序主程序中斷響應(yīng)中斷響應(yīng)中斷服中斷服務(wù)程序務(wù)程序中斷返回中斷返回IRET斷斷點(diǎn)點(diǎn)IP IP IP

17、中中 斷斷 過過 程程 示示 意意2022年3月27日星期日20有關(guān)中斷有關(guān)中斷l(xiāng)中斷處理過程是由中斷處理過程是由硬件和軟件結(jié)合硬件和軟件結(jié)合來完成的。來完成的。l為什么要使用中斷?為什么要使用中斷?解決速度問題,使解決速度問題,使CPU和和I/O并行工作;并行工作;對(duì)意外情況對(duì)意外情況(如磁盤損壞、運(yùn)算溢出等如磁盤損壞、運(yùn)算溢出等)能夠及時(shí)處理。能夠及時(shí)處理。在實(shí)時(shí)控制領(lǐng)域中,及時(shí)響應(yīng)外來信號(hào)的請(qǐng)求。在實(shí)時(shí)控制領(lǐng)域中,及時(shí)響應(yīng)外來信號(hào)的請(qǐng)求。l中斷系統(tǒng)需要解決的問題中斷系統(tǒng)需要解決的問題各中斷源如何向各中斷源如何向CPU發(fā)出中斷請(qǐng)求;發(fā)出中斷請(qǐng)求;有多個(gè)中斷源時(shí),如何確定優(yōu)先級(jí);有多個(gè)中斷源

18、時(shí),如何確定優(yōu)先級(jí);CPU在什么條件、什么時(shí)候、以什么方式響應(yīng)中斷;在什么條件、什么時(shí)候、以什么方式響應(yīng)中斷;如何保護(hù)如何保護(hù)/恢復(fù)現(xiàn)場、如何轉(zhuǎn)入中斷服務(wù)程序的入口地址;恢復(fù)現(xiàn)場、如何轉(zhuǎn)入中斷服務(wù)程序的入口地址;如何處理多重中斷。如何處理多重中斷。2022年3月27日星期日21l 中斷請(qǐng)求中斷請(qǐng)求 CPU在結(jié)束一個(gè)指令周期后,在結(jié)束一個(gè)指令周期后,檢測中斷請(qǐng)求信號(hào)檢測中斷請(qǐng)求信號(hào);l 中斷響應(yīng)中斷響應(yīng) 關(guān)中斷;關(guān)中斷; 保護(hù)斷點(diǎn)現(xiàn)場;保護(hù)斷點(diǎn)現(xiàn)場; 判斷中斷源,獲取判斷中斷源,獲取中斷向量中斷向量; 根據(jù)中斷向量轉(zhuǎn)入中斷服務(wù)程序執(zhí)行根據(jù)中斷向量轉(zhuǎn)入中斷服務(wù)程序執(zhí)行;l 中斷服務(wù)中斷服務(wù) 保護(hù)保

19、護(hù)CPU現(xiàn)場;現(xiàn)場; 執(zhí)行中斷服務(wù)程序;執(zhí)行中斷服務(wù)程序; 開中斷;開中斷; 恢復(fù)恢復(fù)CPU現(xiàn)場;現(xiàn)場;l 中斷返回中斷返回 恢復(fù)斷點(diǎn)現(xiàn)場,恢復(fù)斷點(diǎn)現(xiàn)場,返回主程序返回主程序繼續(xù)執(zhí)行;繼續(xù)執(zhí)行;由硬件自動(dòng)完成由硬件自動(dòng)完成CPU的中斷處理流程的中斷處理流程由軟件完成由軟件完成第一個(gè)問題:第一個(gè)問題:CPUCPU公操作時(shí)檢測保存中公操作時(shí)檢測保存中斷請(qǐng)求信號(hào)的寄存器斷請(qǐng)求信號(hào)的寄存器對(duì)對(duì)CPU內(nèi)部寄存器的保護(hù)與恢復(fù)內(nèi)部寄存器的保護(hù)與恢復(fù)第三個(gè)問題:第三個(gè)問題:避免再次中斷影響當(dāng)前中避免再次中斷影響當(dāng)前中斷響應(yīng),屏蔽中斷源;斷響應(yīng),屏蔽中斷源;可實(shí)現(xiàn)中斷優(yōu)先權(quán)管理可實(shí)現(xiàn)中斷優(yōu)先權(quán)管理第四個(gè)問題:第

20、四個(gè)問題:中斷處理過程由中斷處理過程由軟硬件結(jié)合完成軟硬件結(jié)合完成由軟硬件共同完成由軟硬件共同完成第二個(gè)問題:第二個(gè)問題:為保證為保證CPUCPU能夠正常能夠正常返回主程序返回主程序2022年3月27日星期日22中斷向量中斷向量l中斷向量:中斷向量:中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址,包括段地址和段內(nèi)偏移地址,包括段地址和段內(nèi)偏移地址,共共4個(gè)字節(jié)的內(nèi)容;個(gè)字節(jié)的內(nèi)容;CPU響應(yīng)中斷時(shí),將中斷源對(duì)應(yīng)的中斷向量送入響應(yīng)中斷時(shí),將中斷源對(duì)應(yīng)的中斷向量送入CS、IP寄寄存器中,以跟蹤中斷服務(wù)程序的執(zhí)行。存器中,以跟蹤中斷服務(wù)程序的執(zhí)行。 l中斷向量表中斷向量表:集中存放系統(tǒng)中所有中斷向量的

21、存儲(chǔ)區(qū)。集中存放系統(tǒng)中所有中斷向量的存儲(chǔ)區(qū)。8086 PC機(jī)中,將存儲(chǔ)器物理地址為機(jī)中,將存儲(chǔ)器物理地址為03FFH的的1024個(gè)單元個(gè)單元作為中斷向量表,每個(gè)向量占用作為中斷向量表,每個(gè)向量占用4個(gè)字節(jié),可容納個(gè)字節(jié),可容納256個(gè)個(gè)中中斷向量。斷向量。2022年3月27日星期日23中中斷斷向向量量表表0000 : 00000000 : 00010000 : 00020000 : 0003 0000 : 00200000 : 00210000 : 00220000 : 0023 0000 : 03FC0000 : 03FD0000 : 03FE0000 : 03FF類型號(hào)類型號(hào) 0類型號(hào)類型

22、號(hào) 8類型號(hào)類型號(hào) 255偏移地址偏移地址段地址段地址偏移地址偏移地址段地址段地址偏移地址偏移地址段地址段地址每個(gè)中斷向量每個(gè)中斷向量在中斷向量表在中斷向量表中的序號(hào),值中的序號(hào),值為為0 0255255。中斷類型號(hào)中斷類型號(hào)2022年3月27日星期日24用中斷向量賦值用中斷向量賦值CSCS、IPIP中斷類型號(hào)與中斷向量中斷類型號(hào)與中斷向量 中斷類型號(hào)(中斷類型號(hào)(n)4 中斷向量在表中的偏移地址中斷向量在表中的偏移地址 如:如:n8,則應(yīng)從向量表,則應(yīng)從向量表20H23H中取出中斷向量中取出中斷向量中斷源提供中斷源提供中斷類型號(hào)中斷類型號(hào)n4中斷向量中斷向量地址地址查表查表中斷向量中斷向量C

23、PU轉(zhuǎn)向中斷轉(zhuǎn)向中斷服務(wù)程序執(zhí)行服務(wù)程序執(zhí)行 CPU使用向量中斷的過程:使用向量中斷的過程:2022年3月27日星期日25中斷處理流程中斷處理流程由中由中斷隱斷隱指令指令執(zhí)行執(zhí)行2022年3月27日星期日26中斷處理過程中的問題中斷處理過程中的問題l第一個(gè)問題第一個(gè)問題CPU只有在一條指令執(zhí)行完畢轉(zhuǎn)入公操作時(shí)時(shí),才能處理外只有在一條指令執(zhí)行完畢轉(zhuǎn)入公操作時(shí)時(shí),才能處理外設(shè)的中斷請(qǐng)求。設(shè)的中斷請(qǐng)求。l第二個(gè)問題第二個(gè)問題為了保證中斷服務(wù)程序執(zhí)行完畢后,能夠正確地返回到原斷為了保證中斷服務(wù)程序執(zhí)行完畢后,能夠正確地返回到原斷點(diǎn)位置,則必須保存點(diǎn)位置,則必須保存PC和當(dāng)前和當(dāng)前CPU的狀態(tài)到堆棧中。

24、的狀態(tài)到堆棧中。l第三個(gè)問題第三個(gè)問題CPU在中斷響應(yīng)期間,還可能有新的中斷請(qǐng)求。為了不致于在中斷響應(yīng)期間,還可能有新的中斷請(qǐng)求。為了不致于造成混亂,中斷管理部件中必須有中斷屏蔽觸發(fā)器,在中斷造成混亂,中斷管理部件中必須有中斷屏蔽觸發(fā)器,在中斷響應(yīng)期間屏蔽其他中斷源。響應(yīng)期間屏蔽其他中斷源。l第四個(gè)問題第四個(gè)問題中斷處理過程是由硬件和軟件結(jié)合來完成的;中斷處理過程是由硬件和軟件結(jié)合來完成的;中斷周期由硬件實(shí)現(xiàn),中斷處理程序由機(jī)器指令序列實(shí)現(xiàn)。中斷周期由硬件實(shí)現(xiàn),中斷處理程序由機(jī)器指令序列實(shí)現(xiàn)。中斷返回時(shí)再恢復(fù)斷點(diǎn)狀態(tài)中斷返回時(shí)再恢復(fù)斷點(diǎn)狀態(tài)對(duì)中斷源的優(yōu)先權(quán)管理對(duì)中斷源的優(yōu)先權(quán)管理2022年3月

25、27日星期日278.3.2 程序中斷方式的基本程序中斷方式的基本I/O接口接口l接口內(nèi)部組成接口內(nèi)部組成數(shù)據(jù)緩沖寄存器;數(shù)據(jù)緩沖寄存器;就緒觸發(fā)器就緒觸發(fā)器RD、忙狀態(tài)觸發(fā)器、忙狀態(tài)觸發(fā)器BS、允許中斷觸發(fā)器、允許中斷觸發(fā)器EI;中斷向量產(chǎn)生邏輯;中斷向量產(chǎn)生邏輯;lCPU的相應(yīng)部件的相應(yīng)部件中斷請(qǐng)求觸發(fā)器中斷請(qǐng)求觸發(fā)器IR、中斷屏蔽觸發(fā)器、中斷屏蔽觸發(fā)器IM;l程序中斷的數(shù)據(jù)傳送過程:程序中斷的數(shù)據(jù)傳送過程: CPU啟動(dòng)外設(shè)啟動(dòng)外設(shè)外設(shè)準(zhǔn)備就緒后,向外設(shè)準(zhǔn)備就緒后,向CPU請(qǐng)求中斷請(qǐng)求中斷CPU接受請(qǐng)求,完成數(shù)據(jù)傳送接受請(qǐng)求,完成數(shù)據(jù)傳送2022年3月27日星期日28程序中斷方式數(shù)據(jù)傳送示意

26、程序中斷方式數(shù)據(jù)傳送示意就緒觸發(fā)器就緒觸發(fā)器允許觸發(fā)器允許觸發(fā)器忙狀態(tài)觸發(fā)器忙狀態(tài)觸發(fā)器中斷請(qǐng)求中斷請(qǐng)求觸發(fā)器觸發(fā)器中斷屏蔽中斷屏蔽觸發(fā)器觸發(fā)器 數(shù)據(jù)數(shù)據(jù)一條指令結(jié)束一條指令結(jié)束 數(shù)據(jù)數(shù)據(jù)10110IF=00012022年3月27日星期日29中斷處理的策略中斷處理的策略l根據(jù)計(jì)算機(jī)系統(tǒng)對(duì)中斷處理的策略的不同,可分為:根據(jù)計(jì)算機(jī)系統(tǒng)對(duì)中斷處理的策略的不同,可分為:單級(jí)中斷系統(tǒng)單級(jí)中斷系統(tǒng)所有的中斷源都屬于同一個(gè)級(jí)別,不允許有中斷嵌套;所有的中斷源都屬于同一個(gè)級(jí)別,不允許有中斷嵌套;多級(jí)中斷系統(tǒng)多級(jí)中斷系統(tǒng)中斷源分為不同的級(jí)別,可以發(fā)生中斷嵌套,高優(yōu)先權(quán)中斷源分為不同的級(jí)別,可以發(fā)生中斷嵌套,高優(yōu)

27、先權(quán)的中斷源請(qǐng)求可以打斷低優(yōu)先權(quán)的中斷服務(wù);的中斷源請(qǐng)求可以打斷低優(yōu)先權(quán)的中斷服務(wù);l實(shí)現(xiàn)方法實(shí)現(xiàn)方法進(jìn)入中斷服務(wù)時(shí)的中斷屏蔽設(shè)置;進(jìn)入中斷服務(wù)時(shí)的中斷屏蔽設(shè)置;2022年3月27日星期日308.3.3單級(jí)中斷單級(jí)中斷l(xiāng)單級(jí)中斷中,所有中斷源屬于同一個(gè)級(jí)別,不允許中斷嵌套。單級(jí)中斷中,所有中斷源屬于同一個(gè)級(jí)別,不允許中斷嵌套。 中斷請(qǐng)求信號(hào)中斷請(qǐng)求信號(hào)優(yōu)先權(quán)高優(yōu)先權(quán)高優(yōu)先權(quán)低優(yōu)先權(quán)低中斷響應(yīng)信號(hào)中斷響應(yīng)信號(hào)2022年3月27日星期日312、單級(jí)中斷源的識(shí)別、單級(jí)中斷源的識(shí)別 串行排隊(duì)鏈法串行排隊(duì)鏈法 排隊(duì)鏈排隊(duì)鏈中斷響中斷響應(yīng)信號(hào)應(yīng)信號(hào)中斷排隊(duì)輸入信號(hào);中斷排隊(duì)輸入信號(hào);由高優(yōu)先權(quán)中斷得到由高

28、優(yōu)先權(quán)中斷得到中斷排隊(duì)中斷排隊(duì)輸出信號(hào)輸出信號(hào)選中選中信號(hào)信號(hào)中斷源的中中斷源的中斷請(qǐng)求信號(hào)斷請(qǐng)求信號(hào)2022年3月27日星期日32中斷向量的產(chǎn)生中斷向量的產(chǎn)生l向量中斷向量中斷由硬件直接產(chǎn)生一個(gè)與該中斷源對(duì)應(yīng)的由硬件直接產(chǎn)生一個(gè)與該中斷源對(duì)應(yīng)的向量地址向量地址;u向量地址向量地址中斷源的中斷服務(wù)程序入口地址;中斷源的中斷服務(wù)程序入口地址;要求:在硬件設(shè)計(jì)時(shí)考慮所有中斷源的向量地址。要求:在硬件設(shè)計(jì)時(shí)考慮所有中斷源的向量地址。 l位移量中斷位移量中斷由硬件直接產(chǎn)生一個(gè)由硬件直接產(chǎn)生一個(gè)位移量位移量,該位移量加上,該位移量加上CPU中某寄存器中某寄存器中的基地址,得到中斷處理程序的入口地址。中的

29、基地址,得到中斷處理程序的入口地址。l向量地址轉(zhuǎn)移向量地址轉(zhuǎn)移由硬件直接產(chǎn)生一個(gè)該中斷源對(duì)應(yīng)的由硬件直接產(chǎn)生一個(gè)該中斷源對(duì)應(yīng)的固定地址碼固定地址碼,該地址碼,該地址碼中存放可轉(zhuǎn)入中斷服務(wù)程序的入口地址。中存放可轉(zhuǎn)入中斷服務(wù)程序的入口地址。2022年3月27日星期日338.3.4 多級(jí)中斷多級(jí)中斷l(xiāng)當(dāng)當(dāng)CPU正在執(zhí)行某個(gè)中斷正在執(zhí)行某個(gè)中斷服務(wù)程序時(shí),另一個(gè)中斷服務(wù)程序時(shí),另一個(gè)中斷源又提出了新的中斷請(qǐng)求源又提出了新的中斷請(qǐng)求,而而CPU再次響應(yīng)這一新的再次響應(yīng)這一新的請(qǐng)求;請(qǐng)求;暫停當(dāng)前的中斷服務(wù)暫停當(dāng)前的中斷服務(wù)程序,轉(zhuǎn)去執(zhí)行新的程序,轉(zhuǎn)去執(zhí)行新的中斷服務(wù)程序。中斷服務(wù)程序。l多級(jí)中斷中需要

30、進(jìn)行優(yōu)先多級(jí)中斷中需要進(jìn)行優(yōu)先權(quán)的控制和判斷。權(quán)的控制和判斷。2022年3月27日星期日34l一維多級(jí)中斷結(jié)構(gòu)一維多級(jí)中斷結(jié)構(gòu)每級(jí)僅有一個(gè)中斷源;每級(jí)僅有一個(gè)中斷源;l中斷屏蔽觸發(fā)器中斷屏蔽觸發(fā)器IM其狀態(tài)決定對(duì)應(yīng)級(jí)別的中其狀態(tài)決定對(duì)應(yīng)級(jí)別的中斷源是否能夠被響應(yīng);斷源是否能夠被響應(yīng);l中斷優(yōu)先權(quán)控制中斷優(yōu)先權(quán)控制當(dāng)某中斷源的請(qǐng)求被響應(yīng)當(dāng)某中斷源的請(qǐng)求被響應(yīng)時(shí),將同時(shí)設(shè)置低級(jí)中斷時(shí),將同時(shí)設(shè)置低級(jí)中斷源的源的IM=1,而高級(jí)中斷,而高級(jí)中斷源的源的IM=0,可以發(fā)生中,可以發(fā)生中斷嵌套。斷嵌套。一維多級(jí)中斷結(jié)構(gòu)一維多級(jí)中斷結(jié)構(gòu)2022年3月27日星期日35二維多級(jí)中斷結(jié)構(gòu)二維多級(jí)中斷結(jié)構(gòu)l二維多

31、級(jí)中斷結(jié)構(gòu)二維多級(jí)中斷結(jié)構(gòu)每級(jí)包含多個(gè)中斷源每級(jí)包含多個(gè)中斷源;同級(jí)的中斷源的服務(wù)同級(jí)的中斷源的服務(wù)是不能嵌套的是不能嵌套的;l若設(shè)備若設(shè)備E、F、H同時(shí)請(qǐng)求同時(shí)請(qǐng)求中斷,則先響應(yīng)設(shè)備中斷,則先響應(yīng)設(shè)備E;l此時(shí),此時(shí),若設(shè)備若設(shè)備D請(qǐng)求中斷,請(qǐng)求中斷,則不響應(yīng)則不響應(yīng);l若設(shè)備若設(shè)備B請(qǐng)求中斷,則打請(qǐng)求中斷,則打斷設(shè)備斷設(shè)備E的中斷服務(wù),嵌的中斷服務(wù),嵌套響應(yīng)設(shè)備套響應(yīng)設(shè)備B;2022年3月27日星期日36CPU內(nèi)部的中斷請(qǐng)求內(nèi)部的中斷請(qǐng)求/屏蔽寄存器屏蔽寄存器l 對(duì)于每一個(gè)中斷源,對(duì)于每一個(gè)中斷源,CPU內(nèi)部會(huì)有一個(gè)內(nèi)部會(huì)有一個(gè)中斷請(qǐng)求觸發(fā)器中斷請(qǐng)求觸發(fā)器和一和一個(gè)個(gè)中斷屏蔽觸發(fā)器中斷屏蔽

32、觸發(fā)器,用于管理當(dāng)前該中斷源的狀態(tài);,用于管理當(dāng)前該中斷源的狀態(tài); 中斷請(qǐng)求觸發(fā)器:中斷請(qǐng)求觸發(fā)器:1有請(qǐng)求;有請(qǐng)求;0無請(qǐng)求;無請(qǐng)求; 中斷屏蔽觸發(fā)器:中斷屏蔽觸發(fā)器:1被屏蔽;被屏蔽;0未被屏蔽;未被屏蔽;l 若系統(tǒng)中共有若系統(tǒng)中共有n級(jí)中斷,則有兩個(gè)級(jí)中斷,則有兩個(gè)n位中斷請(qǐng)求寄存器和中斷位中斷請(qǐng)求寄存器和中斷屏蔽寄存器;屏蔽寄存器; CPU響應(yīng)中斷時(shí),系統(tǒng)需要進(jìn)行優(yōu)先權(quán)控制,實(shí)現(xiàn)正常響應(yīng)中斷時(shí),系統(tǒng)需要進(jìn)行優(yōu)先權(quán)控制,實(shí)現(xiàn)正常的中斷嵌套;的中斷嵌套;u置置“1”(關(guān)閉)本級(jí)和低級(jí)的中斷屏蔽觸發(fā)器;(關(guān)閉)本級(jí)和低級(jí)的中斷屏蔽觸發(fā)器;u清清“0”(開放)更高級(jí)的中斷屏蔽觸發(fā)器;(開放)更

33、高級(jí)的中斷屏蔽觸發(fā)器;2022年3月27日星期日37單重中斷和多重中斷的服務(wù)程序流程單重中斷和多重中斷的服務(wù)程序流程中斷否?中斷否?保護(hù)現(xiàn)場保護(hù)現(xiàn)場設(shè)備服務(wù)設(shè)備服務(wù)恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場 開中斷開中斷中斷返回中斷返回取指令取指令執(zhí)行指令執(zhí)行指令中斷服務(wù)程序中斷服務(wù)程序 中斷響應(yīng)中斷響應(yīng) 程序斷點(diǎn)進(jìn)棧程序斷點(diǎn)進(jìn)棧 關(guān)中斷關(guān)中斷 向量地址向量地址 PC中斷周期中斷周期是是中斷返回中斷返回保護(hù)現(xiàn)場保護(hù)現(xiàn)場設(shè)備服務(wù)設(shè)備服務(wù)恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場開中斷開中斷開中斷開中斷開中斷開中斷中斷隱指令中斷隱指令中斷隱指令中斷隱指令否否取指令取指令執(zhí)行指令執(zhí)行指令中斷否?中斷否?否否 中斷響應(yīng)中斷響應(yīng) 程序斷點(diǎn)進(jìn)棧程序斷點(diǎn)進(jìn)棧

34、 關(guān)中斷關(guān)中斷向量地址向量地址 PC中斷周期中斷周期是是中斷服務(wù)程序中斷服務(wù)程序單重單重 多重多重 2022年3月27日星期日382、多級(jí)中斷源的識(shí)別、多級(jí)中斷源的識(shí)別獨(dú)立請(qǐng)求方獨(dú)立請(qǐng)求方式式的中斷優(yōu)的中斷優(yōu)先級(jí)排隊(duì)與先級(jí)排隊(duì)與中斷向量產(chǎn)中斷向量產(chǎn)生邏輯;生邏輯;2022年3月27日星期日39課本課本P247【例例1】如圖如圖8.9的二維中斷系統(tǒng)中。問:的二維中斷系統(tǒng)中。問:l在中斷情況下,在中斷情況下,CPU和設(shè)備的優(yōu)先級(jí)如何考慮?請(qǐng)和設(shè)備的優(yōu)先級(jí)如何考慮?請(qǐng)按降序排列各設(shè)備的中斷優(yōu)先級(jí)。按降序排列各設(shè)備的中斷優(yōu)先級(jí)。 在中斷情況下,在中斷情況下,CPU的優(yōu)先級(jí)最低;的優(yōu)先級(jí)最低; 各設(shè)備的

35、優(yōu)先次序?yàn)楦髟O(shè)備的優(yōu)先次序?yàn)?ABC)(DEF)(GHI)CPU*括號(hào)中的為同級(jí)中斷源,不可進(jìn)行中斷嵌套,括號(hào)中的為同級(jí)中斷源,不可進(jìn)行中斷嵌套,但同時(shí)請(qǐng)求時(shí)會(huì)有優(yōu)先權(quán)的區(qū)分;但同時(shí)請(qǐng)求時(shí)會(huì)有優(yōu)先權(quán)的區(qū)分;2022年3月27日星期日40課本課本P247 【例例1】如圖如圖8.9的二維中斷系統(tǒng)中。問:的二維中斷系統(tǒng)中。問:l若若CPU現(xiàn)執(zhí)行設(shè)備現(xiàn)執(zhí)行設(shè)備B的中斷服務(wù)程序,則的中斷服務(wù)程序,則IM2、IM1、IM0的狀態(tài)是什么?如果的狀態(tài)是什么?如果CPU執(zhí)行設(shè)備執(zhí)行設(shè)備D的中斷服務(wù)程的中斷服務(wù)程序,則序,則IM2、IM1、IM0的狀態(tài)又是什么?的狀態(tài)又是什么? 由于設(shè)備由于設(shè)備B的優(yōu)先權(quán)最高,則

36、在執(zhí)行設(shè)備的優(yōu)先權(quán)最高,則在執(zhí)行設(shè)備B的中斷的中斷服務(wù)時(shí)要禁止同級(jí)和低級(jí)所有中斷源的請(qǐng)求,因此服務(wù)時(shí)要禁止同級(jí)和低級(jí)所有中斷源的請(qǐng)求,因此IM2IM1IM0=111; 若執(zhí)行設(shè)備若執(zhí)行設(shè)備D的中斷服務(wù),則設(shè)備的中斷服務(wù),則設(shè)備A、B、C均可發(fā)均可發(fā)生中斷嵌套,因此生中斷嵌套,因此IM2IM1IM0=011;2022年3月27日星期日41課本課本P247 【例例1】如圖如圖8.9的二維中斷系統(tǒng)中。問:的二維中斷系統(tǒng)中。問:l 每一級(jí)的每一級(jí)的IM能否對(duì)某個(gè)優(yōu)先級(jí)的個(gè)別設(shè)備單獨(dú)進(jìn)行屏蔽?如果能否對(duì)某個(gè)優(yōu)先級(jí)的個(gè)別設(shè)備單獨(dú)進(jìn)行屏蔽?如果不能,采取什么措施可以實(shí)現(xiàn)?不能,采取什么措施可以實(shí)現(xiàn)?每一級(jí)的

37、每一級(jí)的IM只能對(duì)同級(jí)所有設(shè)備進(jìn)行屏蔽,無法實(shí)現(xiàn)對(duì)個(gè)別只能對(duì)同級(jí)所有設(shè)備進(jìn)行屏蔽,無法實(shí)現(xiàn)對(duì)個(gè)別設(shè)備的單獨(dú)屏蔽;設(shè)備的單獨(dú)屏蔽;若要單獨(dú)屏蔽個(gè)別設(shè)備,則可在該設(shè)備的接口中實(shí)現(xiàn),將接若要單獨(dú)屏蔽個(gè)別設(shè)備,則可在該設(shè)備的接口中實(shí)現(xiàn),將接口內(nèi)的口內(nèi)的EI(中斷允許標(biāo)志)清(中斷允許標(biāo)志)清0;l 若要使設(shè)備若要使設(shè)備C一提出中斷請(qǐng)求,一提出中斷請(qǐng)求,CPU立即響應(yīng),則應(yīng)如何調(diào)整立即響應(yīng),則應(yīng)如何調(diào)整?使設(shè)備使設(shè)備C的優(yōu)先權(quán)最高,即可滿足題目要求;的優(yōu)先權(quán)最高,即可滿足題目要求;可將設(shè)備可將設(shè)備C單獨(dú)設(shè)置為第單獨(dú)設(shè)置為第3級(jí)中斷,并令級(jí)中斷,并令I(lǐng)M3=0即可。即可。2022年3月27日星期日42多級(jí)

38、中斷的中斷屏蔽技術(shù)多級(jí)中斷的中斷屏蔽技術(shù)l 關(guān)中斷關(guān)中斷 即使有中斷源產(chǎn)生中斷請(qǐng)求,但即使有中斷源產(chǎn)生中斷請(qǐng)求,但CPU因某種條件存在而因某種條件存在而不會(huì)中止現(xiàn)行程序,發(fā)生中斷;不會(huì)中止現(xiàn)行程序,發(fā)生中斷;l 中斷屏蔽中斷屏蔽 用程序方式有選擇地封鎖某些中斷源,而允許另一些中用程序方式有選擇地封鎖某些中斷源,而允許另一些中斷響應(yīng)。斷響應(yīng)。l 實(shí)現(xiàn)多級(jí)中斷的條件實(shí)現(xiàn)多級(jí)中斷的條件提前設(shè)置提前設(shè)置“開中斷開中斷”指令。指令。 優(yōu)先級(jí)高的中斷請(qǐng)求優(yōu)先級(jí)高的中斷請(qǐng)求有權(quán)有權(quán)中斷優(yōu)先級(jí)低的中斷服務(wù)。中斷優(yōu)先級(jí)低的中斷服務(wù)。由屏蔽字決定是否有權(quán)中斷由屏蔽字決定是否有權(quán)中斷2022年3月27日星期日43多

39、級(jí)中斷的中斷屏蔽技術(shù)多級(jí)中斷的中斷屏蔽技術(shù)l中斷屏蔽的實(shí)現(xiàn)方法:中斷屏蔽的實(shí)現(xiàn)方法:設(shè)優(yōu)先級(jí)從高到低依次為:設(shè)優(yōu)先級(jí)從高到低依次為: 7、6、5、4、3、2、1、0;則當(dāng)響應(yīng)第則當(dāng)響應(yīng)第3級(jí)中斷時(shí)級(jí)中斷時(shí)中斷屏蔽字設(shè)為:中斷屏蔽字設(shè)為:00001111l改變優(yōu)先級(jí)的方法:改變優(yōu)先級(jí)的方法:修改屏蔽字修改屏蔽字欲使第欲使第2級(jí)中斷的優(yōu)先權(quán)高于第級(jí)中斷的優(yōu)先權(quán)高于第3級(jí);級(jí);則可設(shè)置第則可設(shè)置第3級(jí)中的屏蔽字設(shè)為:級(jí)中的屏蔽字設(shè)為: 00001011 第第2級(jí)中的屏蔽字設(shè)為:級(jí)中的屏蔽字設(shè)為: 000011112022年3月27日星期日44中斷屏蔽技術(shù)舉例中斷屏蔽技術(shù)舉例例:某機(jī)有例:某機(jī)有5個(gè)中

40、斷源個(gè)中斷源L0L4,按中斷響應(yīng)優(yōu)先級(jí)從高,按中斷響應(yīng)優(yōu)先級(jí)從高到低為到低為L0L1L2L3L4,現(xiàn)要求將中斷處理,現(xiàn)要求將中斷處理次序改為次序改為L1L3L4L0L2,請(qǐng)寫出各中斷源,請(qǐng)寫出各中斷源的屏蔽字。的屏蔽字。10100111110010010111101012022年3月27日星期日458.3.5 中斷控制器中斷控制器2022年3月27日星期日468.3.6PC系列機(jī)中斷機(jī)制系列機(jī)中斷機(jī)制中斷源中斷源外部中斷外部中斷異常中斷異常中斷不可屏蔽中斷不可屏蔽中斷NMI可屏蔽中斷可屏蔽中斷INTR異常中斷異常中斷指令中斷指令中斷INT n除法錯(cuò)中斷除法錯(cuò)中斷單步中斷單步中斷斷點(diǎn)中斷斷點(diǎn)中斷

41、溢出中斷溢出中斷由執(zhí)行指令引起由執(zhí)行指令引起的中斷。的中斷。由由隨機(jī)的硬件信隨機(jī)的硬件信號(hào)號(hào)引起的中斷;引起的中斷;2022年3月27日星期日47不可屏蔽中斷不可屏蔽中斷NMIl由由CPU的的NMI引腳引腳引入該中斷請(qǐng)求,引入該中斷請(qǐng)求,CPU得到該中斷請(qǐng)求得到該中斷請(qǐng)求立即立即響應(yīng)響應(yīng),不需要,不需要CPU發(fā)響應(yīng)信號(hào);發(fā)響應(yīng)信號(hào);l中斷類型號(hào)固定為中斷類型號(hào)固定為2;l中斷優(yōu)先權(quán)高于可屏蔽中斷中斷優(yōu)先權(quán)高于可屏蔽中斷INTR,一般用于系統(tǒng)對(duì)緊急情況,一般用于系統(tǒng)對(duì)緊急情況的處理,用戶不能使用;的處理,用戶不能使用;l常見的常見的NMI中斷:中斷:系統(tǒng)系統(tǒng)RAM奇偶校驗(yàn)錯(cuò)、奇偶校驗(yàn)錯(cuò)、I/O通

42、道校驗(yàn)錯(cuò)、協(xié)處理器出錯(cuò)等。通道校驗(yàn)錯(cuò)、協(xié)處理器出錯(cuò)等。2022年3月27日星期日48可屏蔽中斷可屏蔽中斷INTRl由由CPU的的INTR引腳引腳引入該中斷請(qǐng)求;引入該中斷請(qǐng)求;該中斷請(qǐng)求只有在該中斷請(qǐng)求只有在CPU的中斷允許標(biāo)志位的中斷允許標(biāo)志位IF=1時(shí),時(shí),CPU才會(huì)通過發(fā)回才會(huì)通過發(fā)回響應(yīng)信號(hào)響應(yīng)信號(hào)的方式響應(yīng);的方式響應(yīng);CPU對(duì)對(duì)INTR中斷的響應(yīng)控制可由中斷的響應(yīng)控制可由STI(允許響應(yīng)(允許響應(yīng)INTR中中斷)、斷)、CLI(禁止響應(yīng)(禁止響應(yīng)INTR中斷)兩條指令完成。中斷)兩條指令完成。l此類中斷的中斷類型號(hào)由此類中斷的中斷類型號(hào)由中斷源中斷源提供;提供;l常見的常見的INT

43、R中斷:中斷:外部設(shè)備的中斷請(qǐng)求,如外部設(shè)備的中斷請(qǐng)求,如I/O設(shè)備的數(shù)據(jù)傳送請(qǐng)求,用戶設(shè)備的數(shù)據(jù)傳送請(qǐng)求,用戶可自行設(shè)計(jì);可自行設(shè)計(jì);2022年3月27日星期日49指令中斷指令中斷INT nl由由CPU執(zhí)行在程序中執(zhí)行在程序中預(yù)先安排好的預(yù)先安排好的中斷指令引起的;中斷指令引起的;該中斷是該中斷是可預(yù)期可預(yù)期的、且的、且不可屏蔽不可屏蔽的;的;l處理該中斷時(shí),處理該中斷時(shí),CPU不需要發(fā)響應(yīng)信號(hào)不需要發(fā)響應(yīng)信號(hào);l指令的操作數(shù)字段(指令的操作數(shù)字段(n)即為中斷類型號(hào);)即為中斷類型號(hào);中斷類型號(hào)的范圍為中斷類型號(hào)的范圍為5n255 ;l這類中斷包括這類中斷包括BIOS中斷、中斷、DOS中斷

44、以及一些未定義的自由中中斷以及一些未定義的自由中斷(可由系統(tǒng)擴(kuò)充或根據(jù)應(yīng)用需要自定義)。斷(可由系統(tǒng)擴(kuò)充或根據(jù)應(yīng)用需要自定義)。2022年3月27日星期日50異常中斷異常中斷l(xiāng)由由CPU內(nèi)部的突發(fā)事件內(nèi)部的突發(fā)事件引起的中斷,是引起的中斷,是不可屏蔽不可屏蔽中斷;中斷;l其中斷類型號(hào)固定;其中斷類型號(hào)固定;除法錯(cuò)中斷除法錯(cuò)中斷類型號(hào)為類型號(hào)為0;u執(zhí)行除法指令時(shí),除數(shù)為執(zhí)行除法指令時(shí),除數(shù)為0,或除得的商大于規(guī)定位數(shù);,或除得的商大于規(guī)定位數(shù);單步中斷單步中斷類型號(hào)為類型號(hào)為1;斷點(diǎn)中斷斷點(diǎn)中斷類型號(hào)為類型號(hào)為3;溢出中斷溢出中斷類型號(hào)為類型號(hào)為4;l該類中斷的實(shí)質(zhì)該類中斷的實(shí)質(zhì)由由CPU運(yùn)行

45、過程中的突發(fā)事件引起系統(tǒng)在適當(dāng)位置運(yùn)行過程中的突發(fā)事件引起系統(tǒng)在適當(dāng)位置自動(dòng)添加自動(dòng)添加一條中斷指令一條中斷指令,然后由,然后由CPU執(zhí)行該指令引起的中斷;執(zhí)行該指令引起的中斷;l同指令中斷一樣,處理該中斷時(shí),同指令中斷一樣,處理該中斷時(shí),CPU不需要發(fā)響應(yīng)信號(hào)不需要發(fā)響應(yīng)信號(hào)。2022年3月27日星期日51外部中斷外部中斷指令中斷指令中斷內(nèi)部異常中斷內(nèi)部異常中斷硬件故障中斷硬件故障中斷軟軟 件件 故故 障障 中中 斷斷2022年3月27日星期日52各類中斷的比較各類中斷的比較2022年3月27日星期日538.4 DMA方式方式lDMA(直接內(nèi)存訪問)方式(直接內(nèi)存訪問)方式完全由硬件控制完全

46、由硬件控制執(zhí)行執(zhí)行I/O交換的工作方式;交換的工作方式;DMAC完全完全接管系統(tǒng)總線接管系統(tǒng)總線的控制權(quán),利用總線控制數(shù)據(jù)在的控制權(quán),利用總線控制數(shù)據(jù)在主存和外設(shè)之間的直接傳送,主存和外設(shè)之間的直接傳送,所交換的數(shù)據(jù)不經(jīng)過所交換的數(shù)據(jù)不經(jīng)過CPU。lDMA特點(diǎn)特點(diǎn)速度快,但硬件復(fù)雜度高。速度快,但硬件復(fù)雜度高。lDMA方式中,方式中,DMAC的工作:的工作:接受外設(shè)的接受外設(shè)的DMA請(qǐng)求,并提交給請(qǐng)求,并提交給CPU;接管總線的控制權(quán),控制主存和外設(shè)之間的數(shù)據(jù)傳送;接管總線的控制權(quán),控制主存和外設(shè)之間的數(shù)據(jù)傳送;完成數(shù)據(jù)傳送后,交還總線使用權(quán)。完成數(shù)據(jù)傳送后,交還總線使用權(quán)。磁盤與主存之間的數(shù)

47、據(jù)傳送磁盤與主存之間的數(shù)據(jù)傳送8.4.1 DMA的基本概念的基本概念2022年3月27日星期日548.4.2 DMA傳送方式傳送方式lDMA傳送時(shí),傳送時(shí),CPU不能使用總線,會(huì)影響不能使用總線,會(huì)影響CPU的工作效率;的工作效率;當(dāng)當(dāng)CPU需要訪存,或者訪問外設(shè)時(shí),程序會(huì)阻塞;需要訪存,或者訪問外設(shè)時(shí),程序會(huì)阻塞;可使可使DMAC與與CPU分時(shí)復(fù)用總線;分時(shí)復(fù)用總線;l常用的常用的DMA傳送方式傳送方式停止停止CPU訪問方式訪問方式u早期使用的一種方式;早期使用的一種方式;周期挪用方式周期挪用方式(周期竊取方式)(周期竊取方式)u適用于外設(shè)讀寫周期大于主存的存取周期的系統(tǒng)中;適用于外設(shè)讀寫周

48、期大于主存的存取周期的系統(tǒng)中;DMA與與CPU交替訪問方式交替訪問方式(透明(透明DMA方式)方式)u適用于適用于CPU周期大于主存存取周期的系統(tǒng)中;周期大于主存存取周期的系統(tǒng)中;每次挪用的一個(gè)總線每次挪用的一個(gè)總線周期,對(duì)于周期,對(duì)于DMACDMAC來說來說需要需要2-52-5個(gè)周期,用個(gè)周期,用于總線控制權(quán)的申請(qǐng)、于總線控制權(quán)的申請(qǐng)、建立和歸還。建立和歸還。2022年3月27日星期日55停止停止CPU訪問方式訪問方式l 工作過程工作過程DMA傳送期間,由傳送期間,由DMAC長期占用總線,長期占用總線, CPU不能訪存,只有不能訪存,只有DMA傳送結(jié)束時(shí)才將總線歸還給傳送結(jié)束時(shí)才將總線歸還給

49、CPU使用;使用;l特點(diǎn)特點(diǎn)控制簡單,適于高速外設(shè)的數(shù)據(jù)成組傳送;控制簡單,適于高速外設(shè)的數(shù)據(jù)成組傳送;內(nèi)存使用效率不高。內(nèi)存使用效率不高。(一般外設(shè)的讀寫周期遠(yuǎn)大于主存的存取周期一般外設(shè)的讀寫周期遠(yuǎn)大于主存的存取周期)2022年3月27日星期日56周期挪用方式周期挪用方式l工作過程工作過程每次每次DMA傳送,都是通過外設(shè)挪用一個(gè)或幾個(gè)主存周期,傳送,都是通過外設(shè)挪用一個(gè)或幾個(gè)主存周期,分別完成數(shù)據(jù)的成塊傳送。分別完成數(shù)據(jù)的成塊傳送。l特點(diǎn):特點(diǎn):主存使用效率較高,常用;主存使用效率較高,常用;uCPU和外設(shè)訪存沖突時(shí),外設(shè)優(yōu)先訪問。和外設(shè)訪存沖突時(shí),外設(shè)優(yōu)先訪問。2022年3月27日星期日5

50、7DMA與與CPU交替訪存方式交替訪存方式l工作過程工作過程將將CPU的工作周期一分為二,分別用于的工作周期一分為二,分別用于DMA和和CPU訪存;訪存;l特點(diǎn):特點(diǎn):對(duì)主存的訪問時(shí)間不會(huì)發(fā)生沖突,也對(duì)主存的訪問時(shí)間不會(huì)發(fā)生沖突,也不需要總線控制權(quán)的不需要總線控制權(quán)的申請(qǐng)建立和歸還過程申請(qǐng)建立和歸還過程;l透明透明DMA方式方式DMA傳送不影響傳送不影響CPU的工作;的工作;2022年3月27日星期日588.4.3 DMA控制器控制器1、DMA控制器的基本組成控制器的基本組成2022年3月27日星期日592、DMA數(shù)據(jù)傳送過程數(shù)據(jù)傳送過程lDMA請(qǐng)求請(qǐng)求DMAC向向CPU請(qǐng)求總線使用權(quán);請(qǐng)求總

51、線使用權(quán);lDMA響應(yīng)響應(yīng)CPU給給DMAC分配總線使用權(quán);分配總線使用權(quán);lDMA傳送傳送DMAC尋址外設(shè)和存儲(chǔ)器;尋址外設(shè)和存儲(chǔ)器;DMAC控制外設(shè)與主存之間的數(shù)控制外設(shè)與主存之間的數(shù)據(jù)傳送,并檢測是否傳送結(jié)束;據(jù)傳送,并檢測是否傳送結(jié)束;lDMA結(jié)束結(jié)束DMAC歸還總線使用權(quán)。歸還總線使用權(quán)。之前要有對(duì)之前要有對(duì)DMAC芯芯片的編程操作片的編程操作傳傳送前的預(yù)處理送前的預(yù)處理2022年3月27日星期日60DMA方式和中斷控制方式的區(qū)別方式和中斷控制方式的區(qū)別l數(shù)據(jù)傳送的實(shí)現(xiàn)方式數(shù)據(jù)傳送的實(shí)現(xiàn)方式中斷中斷程序傳送;程序傳送;DMA硬件實(shí)現(xiàn);硬件實(shí)現(xiàn);lCPU響應(yīng)請(qǐng)求的時(shí)間響應(yīng)請(qǐng)求的時(shí)間中斷

52、中斷一個(gè)指令周期結(jié)束;一個(gè)指令周期結(jié)束;DMA一個(gè)總線周期結(jié)束;一個(gè)總線周期結(jié)束;l請(qǐng)求的目的請(qǐng)求的目的中斷中斷CPU的服務(wù);的服務(wù);DMA總線的使用權(quán);總線的使用權(quán);l是否需要保護(hù)現(xiàn)場是否需要保護(hù)現(xiàn)場中斷中斷需要;需要;DMA不需要(不需要(CPU不參與數(shù)據(jù)傳送);不參與數(shù)據(jù)傳送);lDMA的優(yōu)先權(quán)高于中斷的優(yōu)先權(quán)。的優(yōu)先權(quán)高于中斷的優(yōu)先權(quán)。2022年3月27日星期日618.4.4 DMAC的類型的類型l 選擇型選擇型DMACl 特點(diǎn)特點(diǎn) 物理上,可以連接物理上,可以連接多個(gè)設(shè)備;多個(gè)設(shè)備; 邏輯上,只允許連邏輯上,只允許連接一個(gè)設(shè)備;接一個(gè)設(shè)備;l 選擇型選擇型DMAC相當(dāng)于一個(gè)相當(dāng)于一個(gè)

53、邏輯開關(guān);邏輯開關(guān); 只增加少量硬件,只增加少量硬件,可實(shí)現(xiàn)為多個(gè)設(shè)備服務(wù)的目的;可實(shí)現(xiàn)為多個(gè)設(shè)備服務(wù)的目的;l 適用于數(shù)據(jù)傳輸率很高的設(shè)備;適用于數(shù)據(jù)傳輸率很高的設(shè)備;2022年3月27日星期日622. 多路型多路型DMACl特點(diǎn)特點(diǎn) 物理上,可以連接物理上,可以連接多個(gè)設(shè)備;多個(gè)設(shè)備;邏輯上,也允許多邏輯上,也允許多個(gè)個(gè) 設(shè)備同時(shí)工作;設(shè)備同時(shí)工作;l各設(shè)備以字節(jié)交叉方各設(shè)備以字節(jié)交叉方式進(jìn)行數(shù)據(jù)傳送;式進(jìn)行數(shù)據(jù)傳送;DMAC內(nèi)部需要多內(nèi)部需要多組寄存器;組寄存器;l設(shè)備對(duì)設(shè)備對(duì)DMAC的請(qǐng)求的請(qǐng)求可采用可采用鏈?zhǔn)芥準(zhǔn)?,或,或?dú)立請(qǐng)獨(dú)立請(qǐng)求方式求方式;2022年3月27日星期日63課本課本

54、P260【例例3】l設(shè)有磁盤、磁帶、打印機(jī)三個(gè)設(shè)備同時(shí)工作。設(shè)有磁盤、磁帶、打印機(jī)三個(gè)設(shè)備同時(shí)工作。l各設(shè)備各設(shè)備發(fā)出發(fā)出DMA請(qǐng)求的時(shí)間間隔如下請(qǐng)求的時(shí)間間隔如下磁盤磁盤30s;磁帶磁帶45s;打印機(jī)打印機(jī)150s;l設(shè)優(yōu)先權(quán)為磁盤最高,磁帶次之,打印機(jī)最低;設(shè)優(yōu)先權(quán)為磁盤最高,磁帶次之,打印機(jī)最低;l已知已知DMAC每完成一次每完成一次DMA傳送所需的時(shí)間是傳送所需的時(shí)間是5s。l若采用多路型若采用多路型DMAC,則請(qǐng)畫出,則請(qǐng)畫出DMAC為三個(gè)設(shè)備服為三個(gè)設(shè)備服務(wù)的工作時(shí)間圖。務(wù)的工作時(shí)間圖。2022年3月27日星期日64 T4T6 T7T2為磁盤為磁盤 服務(wù)服務(wù)T5T8T3為磁帶為磁帶

55、 服務(wù)服務(wù)為打印為打印機(jī)服務(wù)機(jī)服務(wù)T15sDMA 請(qǐng)求請(qǐng)求打印機(jī)打印機(jī)tDMA 請(qǐng)求請(qǐng)求DMA 請(qǐng)求請(qǐng)求DMA 請(qǐng)求請(qǐng)求45s磁帶磁帶tDMA 請(qǐng)求請(qǐng)求DMA 請(qǐng)求請(qǐng)求DMA 請(qǐng)求請(qǐng)求DMA 請(qǐng)求請(qǐng)求30s磁盤磁盤t課本課本P260【例例3】圖解圖解2022年3月27日星期日658.5 通道方式通道方式8.5.1 通道的功能通道的功能8.5.2 通道的類型通道的類型8.5.3 通道結(jié)構(gòu)的發(fā)展通道結(jié)構(gòu)的發(fā)展2022年3月27日星期日668.5.1 通道的功能通道的功能l通道的功能通道的功能 執(zhí)行通道指令、組織外圍設(shè)備和內(nèi)存進(jìn)行數(shù)據(jù)傳輸執(zhí)行通道指令、組織外圍設(shè)備和內(nèi)存進(jìn)行數(shù)據(jù)傳輸; 按按I/O指令

56、要求啟動(dòng)外圍設(shè)備,向指令要求啟動(dòng)外圍設(shè)備,向CPU報(bào)告中斷。報(bào)告中斷。lCPU對(duì)通道的管理對(duì)通道的管理 CPU通過執(zhí)行通過執(zhí)行I/O指令控制通道的數(shù)據(jù)傳送;指令控制通道的數(shù)據(jù)傳送; CPU處理來自通道的中斷,實(shí)現(xiàn)對(duì)通道的管理;處理來自通道的中斷,實(shí)現(xiàn)對(duì)通道的管理;u一種是數(shù)據(jù)傳送結(jié)束中斷;一種是故障中斷。一種是數(shù)據(jù)傳送結(jié)束中斷;一種是故障中斷。l通道對(duì)設(shè)備控制器的管理通道對(duì)設(shè)備控制器的管理 通道使用通道指令控制通道使用通道指令控制I/O模塊進(jìn)行數(shù)據(jù)傳送操作;模塊進(jìn)行數(shù)據(jù)傳送操作; 通道接收通道狀態(tài)字了解外設(shè)的狀態(tài)。通道接收通道狀態(tài)字了解外設(shè)的狀態(tài)。2022年3月27日星期日67通道結(jié)構(gòu)通道結(jié)構(gòu)

57、2022年3月27日星期日688.5.2 通道的類型通道的類型l選擇通道選擇通道物理上可以連接多個(gè)設(shè)備,但這些設(shè)備不能同時(shí)工作;物理上可以連接多個(gè)設(shè)備,但這些設(shè)備不能同時(shí)工作;u某一段時(shí)間內(nèi)通道只能選擇一個(gè)設(shè)備進(jìn)行工作。某一段時(shí)間內(nèi)通道只能選擇一個(gè)設(shè)備進(jìn)行工作。l多路通道多路通道同一時(shí)間能處理多個(gè)同一時(shí)間能處理多個(gè)I/O設(shè)備的數(shù)據(jù)傳輸。設(shè)備的數(shù)據(jù)傳輸。多路通道的類型多路通道的類型u數(shù)組多路通道數(shù)組多路通道 利用設(shè)備尋址的空隙為其他設(shè)備服務(wù);利用設(shè)備尋址的空隙為其他設(shè)備服務(wù);u字節(jié)多路通道字節(jié)多路通道 利用設(shè)備數(shù)據(jù)傳送中字節(jié)之間的空隙為其他設(shè)備服務(wù);利用設(shè)備數(shù)據(jù)傳送中字節(jié)之間的空隙為其他設(shè)備服務(wù);高速通道高速通道多路轉(zhuǎn)換通路多路轉(zhuǎn)換通路連接高速設(shè)備連接高速設(shè)備連接低速設(shè)備連接低速設(shè)備2022年3月27日星期日698.5.3 通道結(jié)構(gòu)的發(fā)展通道結(jié)構(gòu)的發(fā)展l通道結(jié)構(gòu)的通道結(jié)構(gòu)的I/O處理器處理器輸入輸出處理器輸入輸出處理器(IOP)IOP可以和可以和CPU并行工作,提供高速的并行工作,提供高速的DMA處理能處理能力,實(shí)現(xiàn)數(shù)據(jù)的高速傳送;力,實(shí)現(xiàn)數(shù)據(jù)的高速傳送;IOP不獨(dú)立于不獨(dú)立于CPU工作,它是主機(jī)的一個(gè)部件;工作,它是主機(jī)的一個(gè)部件;l外圍處理機(jī)(外圍處理機(jī)(PPU)PPU獨(dú)立于主機(jī)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論