微機(jī)原理6-基本輸入輸出接口_第1頁(yè)
微機(jī)原理6-基本輸入輸出接口_第2頁(yè)
微機(jī)原理6-基本輸入輸出接口_第3頁(yè)
微機(jī)原理6-基本輸入輸出接口_第4頁(yè)
微機(jī)原理6-基本輸入輸出接口_第5頁(yè)
已閱讀5頁(yè),還剩66頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、12第6章 基本輸入輸出接口n教學(xué)重點(diǎn)教學(xué)重點(diǎn)n I/O接口電路的典型結(jié)構(gòu)接口電路的典型結(jié)構(gòu)n 無(wú)條件傳送方式無(wú)條件傳送方式n 查詢傳送方式查詢傳送方式n 中斷工作過(guò)程中斷工作過(guò)程36.1 I/O接口概述I/O設(shè)備有哪些?設(shè)備有哪些?為什么需要為什么需要I/O接口(電路)?接口(電路)?微機(jī)的外部設(shè)備多種多樣微機(jī)的外部設(shè)備多種多樣工作原理、驅(qū)動(dòng)方式、信息格式、以及工作工作原理、驅(qū)動(dòng)方式、信息格式、以及工作速度方面彼此差別很大速度方面彼此差別很大它們不能與它們不能與CPU直接相連,必須經(jīng)過(guò)中間電直接相連,必須經(jīng)過(guò)中間電路再與系統(tǒng)相連路再與系統(tǒng)相連46.1 I/O接口概述(續(xù)1)n什么是什么是I/

2、O接口(電路)?接口(電路)?nI/O接口是位于系統(tǒng)與外設(shè)間、用來(lái)協(xié)助完成數(shù)據(jù)傳送和控制接口是位于系統(tǒng)與外設(shè)間、用來(lái)協(xié)助完成數(shù)據(jù)傳送和控制任務(wù)的邏輯電路任務(wù)的邏輯電路n主板上的可編程接口芯片、主板上的可編程接口芯片、I/O總線插槽的接口卡電路板(適總線插槽的接口卡電路板(適配器配器adapter)都是接口電路)都是接口電路n接口一般還需要軟件支持(編程):接口一般還需要軟件支持(編程):初始設(shè)置,工作驅(qū)動(dòng)初始設(shè)置,工作驅(qū)動(dòng)56.1 I/O接口概述(續(xù)2)什么是微機(jī)接口技術(shù)?什么是微機(jī)接口技術(shù)?處理微機(jī)系統(tǒng)與外設(shè)間聯(lián)系的技術(shù)處理微機(jī)系統(tǒng)與外設(shè)間聯(lián)系的技術(shù)根據(jù)應(yīng)用系統(tǒng)的需要,根據(jù)應(yīng)用系統(tǒng)的需要,使

3、用或構(gòu)造相應(yīng)的接使用或構(gòu)造相應(yīng)的接口電路口電路,編制配套的接口程序編制配套的接口程序66.1.1 I/O接口的主要功能 對(duì)輸入輸出數(shù)據(jù)進(jìn)行對(duì)輸入輸出數(shù)據(jù)進(jìn)行緩沖緩沖 驅(qū)動(dòng)、隔離驅(qū)動(dòng)、隔離和和鎖存鎖存 對(duì)信號(hào)的形式和對(duì)信號(hào)的形式和數(shù)據(jù)的格式數(shù)據(jù)的格式進(jìn)行變換進(jìn)行變換 微機(jī)直接處理:微機(jī)直接處理:數(shù)字量數(shù)字量、開(kāi)關(guān)量開(kāi)關(guān)量、脈沖量,脈沖量,而外設(shè)工作信號(hào)而外設(shè)工作信號(hào)可能是如高電壓、大電流的模擬信號(hào),需要進(jìn)行信號(hào)變換。可能是如高電壓、大電流的模擬信號(hào),需要進(jìn)行信號(hào)變換。 對(duì)對(duì)I/O端口進(jìn)行尋址端口進(jìn)行尋址 一個(gè)外設(shè)可以有多個(gè)端口一個(gè)外設(shè)可以有多個(gè)端口 與與CPU和和I/O設(shè)備進(jìn)行聯(lián)絡(luò)設(shè)備進(jìn)行聯(lián)絡(luò)

4、外設(shè)狀態(tài),控制信號(hào),外設(shè)請(qǐng)求外設(shè)狀態(tài),控制信號(hào),外設(shè)請(qǐng)求76.1.2 I/O接口的典型結(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ù)寄存器8I/O接口的典型結(jié)構(gòu)1. 接口電路的接口電路的內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)2. 接口電路的接口電路的外部特性外部特性3. 接口芯片的接口芯片的分類分類4. 接口芯片的接口芯片的可編程性可編程性91. 接口電路的內(nèi)部結(jié)構(gòu)nCPU與外設(shè)主要有數(shù)據(jù)、狀態(tài)和控制信息與外設(shè)主要有數(shù)據(jù)、狀態(tài)和控制信息需要相互交換,于是從應(yīng)用角度看內(nèi)部:需要相互交換,

5、于是從應(yīng)用角度看內(nèi)部: 數(shù)據(jù)寄存器數(shù)據(jù)寄存器n保存外設(shè)給保存外設(shè)給CPU和和CPU發(fā)往外設(shè)的數(shù)據(jù)發(fā)往外設(shè)的數(shù)據(jù) 狀態(tài)寄存器狀態(tài)寄存器n保存外設(shè)或接口電路的狀態(tài)保存外設(shè)或接口電路的狀態(tài) 控制寄存器控制寄存器n保存保存CPU給外設(shè)或接口電路的命令給外設(shè)或接口電路的命令102. 接口電路的外部特性n面向面向CPU一側(cè)的信號(hào)(比較統(tǒng)一):一側(cè)的信號(hào)(比較統(tǒng)一):n用于與用于與CPU連接連接n主要是數(shù)據(jù)、地址和控制信號(hào)(與主要是數(shù)據(jù)、地址和控制信號(hào)(與M類似)類似)n面向外設(shè)一側(cè)的信號(hào)面向外設(shè)一側(cè)的信號(hào)(各不相同):各不相同):n用于與外設(shè)連接用于與外設(shè)連接n提供的信號(hào)五花八門提供的信號(hào)五花八門n功能定

6、義、時(shí)序及有效電平等差異較大功能定義、時(shí)序及有效電平等差異較大113. 接口芯片的分類n接口電路核心部分往往是一塊或數(shù)塊大規(guī)模集成接口電路核心部分往往是一塊或數(shù)塊大規(guī)模集成電路芯片(電路芯片(接口芯片接口芯片):):n通用接口芯片通用接口芯片n支持通用的數(shù)據(jù)輸入輸出和控制的接口芯片,如支持通用的數(shù)據(jù)輸入輸出和控制的接口芯片,如8255n面向外設(shè)的專用接口芯片面向外設(shè)的專用接口芯片n針對(duì)某種外設(shè)設(shè)計(jì)、與該種外設(shè)接口,如針對(duì)某種外設(shè)設(shè)計(jì)、與該種外設(shè)接口,如8279(鍵盤(鍵盤/顯示器接口芯片顯示器接口芯片n 面向微機(jī)系統(tǒng)的專用接口芯片面向微機(jī)系統(tǒng)的專用接口芯片n與與CPU和系統(tǒng)配套使用,以增強(qiáng)其總

7、體功能,如和系統(tǒng)配套使用,以增強(qiáng)其總體功能,如8259(中斷控制器),中斷控制器),8237(DMA控制器),控制器),8253(定(定時(shí)時(shí)/計(jì)數(shù)器)計(jì)數(shù)器)124. 接口電路的可編程性(Programmable)n許多接口電路具有多種功能和工作方式,許多接口電路具有多種功能和工作方式,可以通過(guò)編程的方法選定其中一種;可以通過(guò)編程的方法選定其中一種;n多數(shù)接口不僅需要進(jìn)行物理連接,還需要多數(shù)接口不僅需要進(jìn)行物理連接,還需要編寫接口軟件;編寫接口軟件;n其工作方式和內(nèi)部資源可通過(guò)編程加以控其工作方式和內(nèi)部資源可通過(guò)編程加以控制,因此為接口設(shè)計(jì)和應(yīng)用提供了更大的制,因此為接口設(shè)計(jì)和應(yīng)用提供了更大的

8、靈活性。靈活性。136.1.3 I/O端口的編址接口電路占用的接口電路占用的I/O端口有兩類編排形式端口有兩類編排形式nI/O端口單獨(dú)編址端口單獨(dú)編址nI/O地址空間獨(dú)立于存儲(chǔ)地址空間地址空間獨(dú)立于存儲(chǔ)地址空間n如如8086/8088nI/O端口與存儲(chǔ)器統(tǒng)一編址端口與存儲(chǔ)器統(tǒng)一編址n它們共享一個(gè)地址空間它們共享一個(gè)地址空間n如如M6800(Motrola)14I/O端口單獨(dú)編址n優(yōu)點(diǎn):優(yōu)點(diǎn):nI/O端口的地址空間獨(dú)立端口的地址空間獨(dú)立n控制和地址譯碼電路相對(duì)控制和地址譯碼電路相對(duì)簡(jiǎn)單簡(jiǎn)單n專門的專門的I/O指令使程序清指令使程序清晰易讀晰易讀n缺點(diǎn):缺點(diǎn):nI/O指令沒(méi)有存儲(chǔ)器指令指令沒(méi)有存儲(chǔ)

9、器指令豐富豐富80 x86采用采用I/O端口獨(dú)立編址,端口獨(dú)立編址,參見(jiàn)參見(jiàn)P14內(nèi)存內(nèi)存空間空間I/O空間空間FFFFF0FFFF015I/O端口與存儲(chǔ)器統(tǒng)一編址n優(yōu)點(diǎn):優(yōu)點(diǎn):n不需要專門的不需要專門的I/O指令指令nI/O數(shù)據(jù)存取與存儲(chǔ)器數(shù)據(jù)數(shù)據(jù)存取與存儲(chǔ)器數(shù)據(jù)存取一樣靈活存取一樣靈活n缺點(diǎn):缺點(diǎn):nI/O端口要占去部分存儲(chǔ)器端口要占去部分存儲(chǔ)器地址空間地址空間n程序不易閱讀(不易分清程序不易閱讀(不易分清訪存和訪問(wèn)外設(shè))訪存和訪問(wèn)外設(shè))內(nèi)存內(nèi)存部分部分I/O部分部分存儲(chǔ)空間0FFFFF166.1.4 8088/8086的輸入輸出指令n輸入指令輸入指令I(lǐng)N AL,i8/DX ; 字節(jié)輸入字

10、節(jié)輸入IN AX,i8/DX ; 字輸入字輸入n輸出指令輸出指令OUT i8/DX, AL ; 字節(jié)輸出字節(jié)輸出OUT i8/DX,AX;字輸出字輸出176.1.5 I/O地址的譯碼nI/O地址的譯碼方法與存儲(chǔ)器地址的譯碼地址的譯碼方法與存儲(chǔ)器地址的譯碼方法一樣,但有它的特點(diǎn):方法一樣,但有它的特點(diǎn):n允許允許“浪費(fèi)浪費(fèi)”n不強(qiáng)調(diào)地址的連續(xù)性,因?yàn)楦魍庠O(shè)的操作相不強(qiáng)調(diào)地址的連續(xù)性,因?yàn)楦魍庠O(shè)的操作相對(duì)獨(dú)立,且訪問(wèn)頻率遠(yuǎn)低于存儲(chǔ)器對(duì)獨(dú)立,且訪問(wèn)頻率遠(yuǎn)低于存儲(chǔ)器例例:書(shū):書(shū)P157,圖,圖6-218用門電路實(shí)現(xiàn)I/O地址譯碼A9A8A7A6A5A2A4A3AENA1A074LS30(8輸入與非門)

11、輸入與非門)I/O地址地址3E7HA9-A0:1111100111B19n用用跳線跳線和和撥動(dòng)開(kāi)關(guān)撥動(dòng)開(kāi)關(guān)設(shè)置接口地設(shè)置接口地址的例子(址的例子(P158)20IBM PC/XT主機(jī)板的I/O譯碼電路Y0 Y1 Y2 Y3 Y4 Y5Y6 Y7A5A6 A7A8A9 -AEN-IOWAB C-E1-E2E3-DMA CS(8237)-INTR CS(8259)-T/C CS(8253)-PPI CS(8255)-WRTDMAPG(寫(寫DMA頁(yè)面寄存器)頁(yè)面寄存器)-WRTNMIREG(寫(寫NMI屏蔽寄存器)屏蔽寄存器)接口芯片內(nèi)部譯碼接口芯片內(nèi)部譯碼A0A4-AEN:DMA地址有效21IB

12、M PC/AT主機(jī)板的I/O譯碼電路接口芯片內(nèi)部譯碼接口芯片內(nèi)部譯碼A0A4DMA控制器控制器1中斷控制器中斷控制器1定時(shí)計(jì)數(shù)器定時(shí)計(jì)數(shù)器并行接口電路并行接口電路DMA頁(yè)面寄存器頁(yè)面寄存器中斷控制器中斷控制器2DMA控制器控制器2協(xié)處理器協(xié)處理器A5A6A7A8A9138譯碼器譯碼器HLDAMASTERABCE1-E2-E3Y0Y1Y2Y3Y4Y5Y6Y7HLDA和MASTER有效,表示別的設(shè)備控制總線,CPU不能尋址I/O226.1.6 CPU與外設(shè)的數(shù)據(jù)傳送方式n程序控制下的數(shù)據(jù)傳送程序控制下的數(shù)據(jù)傳送通過(guò)通過(guò)CPU執(zhí)行程序中執(zhí)行程序中的的I/O指令來(lái)完成傳送,又分為:指令來(lái)完成傳送,又分

13、為:n無(wú)條件傳送無(wú)條件傳送n查詢傳送查詢傳送n中斷傳送中斷傳送n直接存儲(chǔ)器存取直接存儲(chǔ)器存?。―MA)傳送請(qǐng)求由外設(shè)傳送請(qǐng)求由外設(shè)向向DMA控制器(控制器(DMAC)提出,后者向)提出,后者向CPU申申請(qǐng)總線,最后請(qǐng)總線,最后DMAC利用系統(tǒng)總線來(lái)完成外設(shè)和利用系統(tǒng)總線來(lái)完成外設(shè)和存儲(chǔ)器間的數(shù)據(jù)傳送存儲(chǔ)器間的數(shù)據(jù)傳送nI/O處理機(jī)處理機(jī)CPU委托專門的委托專門的I/O處理機(jī)來(lái)管理處理機(jī)來(lái)管理外設(shè),完成傳送和相應(yīng)的數(shù)據(jù)處理外設(shè),完成傳送和相應(yīng)的數(shù)據(jù)處理236.2 無(wú)條件傳送方式及其接口n在在CPU與慢速變化的設(shè)備交換數(shù)據(jù)時(shí),可以認(rèn)為與慢速變化的設(shè)備交換數(shù)據(jù)時(shí),可以認(rèn)為它們總是處于它們總是處于“就

14、緒就緒”狀態(tài),隨時(shí)可以進(jìn)行數(shù)據(jù)狀態(tài),隨時(shí)可以進(jìn)行數(shù)據(jù)傳送,這就是傳送,這就是無(wú)條件傳送無(wú)條件傳送,或稱,或稱立即傳送、同步立即傳送、同步傳送傳送n適合于簡(jiǎn)單設(shè)備,如適合于簡(jiǎn)單設(shè)備,如LED 數(shù)碼管、按鍵數(shù)碼管、按鍵/按鈕等按鈕等n無(wú)條件傳送的接口和操作均十分簡(jiǎn)單無(wú)條件傳送的接口和操作均十分簡(jiǎn)單n這種傳送有前提:外設(shè)必須隨時(shí)處于就緒狀態(tài)這種傳送有前提:外設(shè)必須隨時(shí)處于就緒狀態(tài)傳送傳送流程流程接口接口實(shí)例實(shí)例24無(wú)條件傳送:輸入示例IOR三三態(tài)態(tài)緩緩沖沖器器OEI/O裝裝置置地地址址譯譯碼碼器器CSD7D0A15A1A00160HMOV DX, 160HIN AL, DX25無(wú)條件傳送:輸入示例M

15、OV DX, 160HIN AL, DX74LS244+5V10K x 8G1 G2數(shù)據(jù)總線數(shù)據(jù)總線CSRD26無(wú)條件傳送:輸出示例地地址址譯譯碼碼器器數(shù)數(shù)據(jù)據(jù)鎖鎖存存器器A15A0A14-IOWCS0160H輸輸出出設(shè)設(shè)備備D7D0MOV DX, 160HMOV AL, BXOUT DX, AL27無(wú)條件傳送:輸出實(shí)例MOV DX, 160HMOV AL, BXOUT DX, AL+5V74LS373300 x 8LE OE數(shù)據(jù)總線數(shù)據(jù)總線CSWR28無(wú)條件傳送:輸入輸出接口K7K1K0+5VD0D7A0A15CLK74LS06反相反相驅(qū)動(dòng)器驅(qū)動(dòng)器74LS2738D鎖存器鎖存器74LS244

16、三態(tài)三態(tài)緩沖器緩沖器8000H譯碼譯碼+5VLED0LED7-G-IOW-IOR兩個(gè)端口地址共用8000H,怎么區(qū)分?29無(wú)條件傳送:輸入輸出接口mov dx,8000h;DX指向數(shù)據(jù)端口指向數(shù)據(jù)端口next: in al,dx;從輸入端口讀開(kāi)關(guān)狀態(tài)從輸入端口讀開(kāi)關(guān)狀態(tài)not al;反相反相out dx,al;送輸出端口顯示送輸出端口顯示call delay;調(diào)子程序延時(shí)調(diào)子程序延時(shí)jmp next;重復(fù)重復(fù)程序執(zhí)行效果?K0閉合,LED0亮還是滅?306.3 查詢傳送方式及其接口nCPU先了解(查詢)外設(shè)的工作狀態(tài),先了解(查詢)外設(shè)的工作狀態(tài),在外設(shè)在外設(shè)就緒就緒(可以交換信息)的情況下(

17、可以交換信息)的情況下實(shí)現(xiàn)數(shù)據(jù)的輸入或輸出實(shí)現(xiàn)數(shù)據(jù)的輸入或輸出n對(duì)多個(gè)外設(shè)的情況,則對(duì)多個(gè)外設(shè)的情況,則CPU按一定順序按一定順序依次查詢(依次查詢(輪詢輪詢)。先查詢的外設(shè)將優(yōu))。先查詢的外設(shè)將優(yōu)先進(jìn)行數(shù)據(jù)交換先進(jìn)行數(shù)據(jù)交換n查詢傳送的特點(diǎn)是:工作可靠,適用面查詢傳送的特點(diǎn)是:工作可靠,適用面寬,但傳送效率低寬,但傳送效率低31查詢傳送的兩個(gè)環(huán)節(jié)n查詢環(huán)節(jié)查詢環(huán)節(jié)n尋址尋址狀態(tài)口狀態(tài)口n讀取狀態(tài)寄存器的標(biāo)志位讀取狀態(tài)寄存器的標(biāo)志位n若不就緒就繼續(xù)查詢,直至就緒若不就緒就繼續(xù)查詢,直至就緒n傳送環(huán)節(jié)傳送環(huán)節(jié)n尋址尋址數(shù)據(jù)口數(shù)據(jù)口n是輸入,通過(guò)輸入指令從數(shù)據(jù)口讀入數(shù)據(jù)是輸入,通過(guò)輸入指令從數(shù)據(jù)口

18、讀入數(shù)據(jù)n是輸出,通過(guò)輸出指令向數(shù)據(jù)口輸出數(shù)據(jù)是輸出,通過(guò)輸出指令向數(shù)據(jù)口輸出數(shù)據(jù)輸入狀態(tài)輸入狀態(tài)就緒?就緒?數(shù)據(jù)交換數(shù)據(jù)交換YN傳送流程傳送流程接口實(shí)例接口實(shí)例326.3.1 查詢輸入接口-IOR+5V8D鎖存器鎖存器8位位三態(tài)三態(tài)緩沖器緩沖器譯碼譯碼1位位三態(tài)三態(tài)緩沖器緩沖器 A0A158000H8001HD0D7D0輸入輸入設(shè)備設(shè)備-IOR-STB-RQD33查詢輸入接口 mov dx,8000h;DX指向狀態(tài)端口指向狀態(tài)端口status: in al,dx ;讀狀態(tài)端口讀狀態(tài)端口 test al,01h ;測(cè)試標(biāo)志位測(cè)試標(biāo)志位D0(al & 01h) jz status ;D00,未就

19、緒,繼續(xù)查詢,未就緒,繼續(xù)查詢 inc dx ;D01,就緒,就緒,DX指向數(shù)據(jù)端口指向數(shù)據(jù)端口in al,dx ;從數(shù)據(jù)端口輸入數(shù)據(jù)從數(shù)據(jù)端口輸入數(shù)據(jù)346.3.2 查詢輸出接口8D鎖存器鎖存器譯碼譯碼1位位三態(tài)三態(tài)緩沖器緩沖器RQ A0A158000H8001HD0D7D7D+5V-ACK-IOW-IOR輸出輸出設(shè)備設(shè)備狀態(tài)口35查詢輸出接口mov dx,8000h ;DX指向狀態(tài)端口指向狀態(tài)端口status: in al,dx;讀取狀態(tài)端口的狀態(tài)數(shù)據(jù)讀取狀態(tài)端口的狀態(tài)數(shù)據(jù)test al,80h;測(cè)試標(biāo)志位測(cè)試標(biāo)志位D7jnz status;D71,未就緒,繼續(xù)查詢,未就緒,繼續(xù)查詢inc

20、 dx;D70,就緒,就緒,DX指向數(shù)據(jù)端口指向數(shù)據(jù)端口mov al,buf;變量變量buf送送ALout dx,al;將數(shù)據(jù)輸出給數(shù)據(jù)端口將數(shù)據(jù)輸出給數(shù)據(jù)端口366.4 中斷傳送方式程序程序斷點(diǎn)斷點(diǎn)主程序主程序中斷請(qǐng)求中斷請(qǐng)求為為外外設(shè)設(shè)繼繼續(xù)續(xù)執(zhí)執(zhí)行行返回?cái)帱c(diǎn)返回?cái)帱c(diǎn)傳送流程傳送流程nCPU在執(zhí)行程序在執(zhí)行程序中,被內(nèi)部或外中,被內(nèi)部或外部的事件所打斷,部的事件所打斷,轉(zhuǎn)去執(zhí)行一段預(yù)轉(zhuǎn)去執(zhí)行一段預(yù)先安排好的中斷先安排好的中斷服務(wù)程序;服務(wù)程序;n服務(wù)結(jié)束后,又服務(wù)結(jié)束后,又返回原來(lái)的斷點(diǎn),返回原來(lái)的斷點(diǎn),繼續(xù)執(zhí)行原來(lái)的繼續(xù)執(zhí)行原來(lái)的程序程序提提供供服服務(wù)務(wù)中斷服務(wù)程序中斷服務(wù)程序入口入口3

21、76.4.1 中斷傳送與接口n中斷傳送是一種效率更高的程序傳送方式;中斷傳送是一種效率更高的程序傳送方式;n中斷過(guò)程的完成由中斷過(guò)程的完成由中斷系統(tǒng)中斷系統(tǒng)(硬件,如(硬件,如8259和和CPU)和)和中斷服務(wù)程序(軟件)中斷服務(wù)程序(軟件)共共同控制完成;同控制完成;n進(jìn)行傳送的進(jìn)行傳送的中斷服務(wù)程序是預(yù)先設(shè)計(jì)好的,中斷服務(wù)程序是預(yù)先設(shè)計(jì)好的,其入口地址已知;其入口地址已知;n中斷請(qǐng)求是外設(shè)中斷請(qǐng)求是外設(shè)隨機(jī)隨機(jī)向向CPU提出的(時(shí)間提出的(時(shí)間隨機(jī));程序執(zhí)行到何位置(斷點(diǎn))也是隨隨機(jī));程序執(zhí)行到何位置(斷點(diǎn))也是隨機(jī)的(地點(diǎn)隨機(jī));機(jī)的(地點(diǎn)隨機(jī));38n中斷可能來(lái)自中斷可能來(lái)自CPU

22、內(nèi)部,也可能來(lái)自內(nèi)部,也可能來(lái)自CPU外外部部n外部中斷可分為外部中斷可分為可屏蔽中斷可屏蔽中斷和和不可屏蔽中斷不可屏蔽中斷 可屏蔽中斷:可屏蔽中斷:INTR引入;引入;-INTA響應(yīng)。響應(yīng)。CPU可通過(guò)設(shè)置可通過(guò)設(shè)置IF=1(開(kāi)中斷)(開(kāi)中斷) 和和IF=0(關(guān)中斷)決定是否響應(yīng)。(關(guān)中斷)決定是否響應(yīng)。 不可屏蔽中斷:不可屏蔽中斷:NMI。必須響應(yīng),直接激活中服,如電源掉必須響應(yīng),直接激活中服,如電源掉電、奇偶校驗(yàn)出錯(cuò)、浮點(diǎn)運(yùn)算出錯(cuò)等。電、奇偶校驗(yàn)出錯(cuò)、浮點(diǎn)運(yùn)算出錯(cuò)等。39nCPU對(duì)中斷請(qǐng)求的檢測(cè)是有規(guī)律的:對(duì)中斷請(qǐng)求的檢測(cè)是有規(guī)律的:一般是一般是在每條指令的最后一個(gè)時(shí)鐘周在每條指令的最后

23、一個(gè)時(shí)鐘周期期采樣中斷請(qǐng)求輸入引腳采樣中斷請(qǐng)求輸入引腳n本章主要論述本章主要論述中斷在輸入和輸出方面中斷在輸入和輸出方面的應(yīng)用:即中斷傳送的應(yīng)用:即中斷傳送n中斷還有著非常廣泛的應(yīng)用,如程序中斷還有著非常廣泛的應(yīng)用,如程序調(diào)試(軟中斷)等;調(diào)試(軟中斷)等;時(shí)鐘時(shí)鐘中斷:多道程序并中斷:多道程序并發(fā)執(zhí)行的推動(dòng)力發(fā)執(zhí)行的推動(dòng)力40三態(tài)三態(tài)緩沖器緩沖器中斷輸入接口(向量中斷)D0D7+5V8D鎖存器鎖存器8位位三態(tài)三態(tài)緩沖器緩沖器RQ 譯碼譯碼8001H中斷向量號(hào)(中斷向量號(hào)(8259提供)提供)D0D7INTRD輸入輸入設(shè)備設(shè)備中斷允許中斷允許觸發(fā)器觸發(fā)器A0A15中斷請(qǐng)求中斷請(qǐng)求觸發(fā)器觸發(fā)器-

24、IOR-INTA-STB數(shù)據(jù)口1、數(shù)據(jù)準(zhǔn)備好,產(chǎn)生中斷請(qǐng)求信號(hào)2、CPU響應(yīng)中斷,接收中斷向量號(hào)3、根據(jù)中斷向量,找到中服程序,讀取數(shù)據(jù)41?中斷向量如何獲取n中斷向量表:在內(nèi)存的中斷向量表:在內(nèi)存的前前1K字節(jié)字節(jié),可容納,可容納256個(gè)中斷向量;每個(gè)中斷向量占用個(gè)中斷向量;每個(gè)中斷向量占用4個(gè)字節(jié)個(gè)字節(jié),用于存儲(chǔ)對(duì)應(yīng)中斷源的用于存儲(chǔ)對(duì)應(yīng)中斷源的服務(wù)程序入口地址服務(wù)程序入口地址。一部分為系統(tǒng)保留,其余用戶可用,可作為一部分為系統(tǒng)保留,其余用戶可用,可作為外部中斷源向量。每個(gè)中斷向量,外部中斷源向量。每個(gè)中斷向量,即一個(gè)即一個(gè)1字字節(jié)的中斷類型碼(節(jié)的中斷類型碼(00HFFH),比如),比如8

25、8H。426.4.2 中斷工作過(guò)程(可屏蔽)n中斷請(qǐng)求中斷請(qǐng)求(外設(shè))(外設(shè))n中斷響應(yīng)(中斷響應(yīng)(CPU)n關(guān)中斷(關(guān)中斷(CPU)n斷點(diǎn)保護(hù)(斷點(diǎn)保護(hù)(CPU)n中斷識(shí)別中斷識(shí)別(硬件硬件/軟件軟件)n現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)保護(hù)(用戶)(用戶)n中斷服務(wù)中斷服務(wù)(用戶)(用戶)n恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)(用戶)(用戶)n開(kāi)中斷(開(kāi)中斷(CPU/用戶)用戶)n中斷返回(中斷返回(IRET,用,用戶)戶)中斷服務(wù)是進(jìn)行數(shù)據(jù)交中斷服務(wù)是進(jìn)行數(shù)據(jù)交換的實(shí)質(zhì)性環(huán)節(jié)換的實(shí)質(zhì)性環(huán)節(jié)43CPU響應(yīng)中斷的條件n中斷請(qǐng)求時(shí),沒(méi)有更高級(jí)別的請(qǐng)求發(fā)生,如中斷請(qǐng)求時(shí),沒(méi)有更高級(jí)別的請(qǐng)求發(fā)生,如RESET、HOLD、NMI等;等;n中

26、斷請(qǐng)求應(yīng)保持到它被響應(yīng)為止;中斷請(qǐng)求應(yīng)保持到它被響應(yīng)為止;44斷點(diǎn)保護(hù)與現(xiàn)場(chǎng)保護(hù)的不同n斷點(diǎn)保護(hù)是斷點(diǎn)保護(hù)是CPU自動(dòng)完成的,保護(hù)內(nèi)容有:自動(dòng)完成的,保護(hù)內(nèi)容有:FLAGS、CS、IP等;等;n現(xiàn)場(chǎng)保護(hù):用戶根據(jù)需要在程序中施行,用現(xiàn)場(chǎng)保護(hù):用戶根據(jù)需要在程序中施行,用PUSH。456.4.3 中斷識(shí)別和中斷優(yōu)先權(quán)處理問(wèn)題問(wèn)題1: CPU如何識(shí)別中斷源?如何識(shí)別中斷源?一個(gè)中斷源一個(gè)中斷源: 向量中斷(硬件)向量中斷(硬件)P164,圖,圖6-12多個(gè)中斷源多個(gè)中斷源: 中斷查詢(軟中斷查詢(軟/硬件結(jié)合)硬件結(jié)合)中斷源的識(shí)別中斷源的識(shí)別46中斷查詢接口A0A15鎖鎖存存器器INTR三態(tài)三態(tài)

27、緩沖器緩沖器譯碼譯碼 8001HD0D7中斷中斷A中斷中斷B中斷中斷C中斷中斷H-IOR軟件流程見(jiàn)圖6-14中服程序依次查詢中斷A-H,看有否發(fā)出申請(qǐng),先查的優(yōu)先級(jí)高476.4.3 中斷優(yōu)先權(quán)(續(xù)1)問(wèn)題問(wèn)題2:有多個(gè)中斷同時(shí)請(qǐng)求,:有多個(gè)中斷同時(shí)請(qǐng)求,CPU如何應(yīng)對(duì)?如何應(yīng)對(duì)?硬件方案硬件方案1:鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路2:優(yōu)先權(quán)編碼電路優(yōu)先權(quán)編碼電路中斷中斷優(yōu)先級(jí)優(yōu)先級(jí)排隊(duì)排隊(duì)48鏈?zhǔn)街袛鄡?yōu)先權(quán)排隊(duì)電路A2A1C2C1D2D1B2B1中斷源中斷源A觸發(fā)器觸發(fā)器中斷源中斷源B觸發(fā)器觸發(fā)器中斷源中斷源C觸發(fā)器觸發(fā)器中斷矢量中斷矢量D中斷矢量中斷矢量C中斷矢量中斷矢量B中斷矢量中斷矢

28、量A中斷源中斷源D觸發(fā)器觸發(fā)器緩沖器緩沖器緩沖器緩沖器緩沖器緩沖器緩沖器緩沖器-INTA高優(yōu)先級(jí)INTRD0D71、產(chǎn)生請(qǐng)求信號(hào)2、關(guān)閉B23、送出中斷矢量49中斷優(yōu)先權(quán)編碼電路比較器失效信號(hào)比較器失效信號(hào)(當(dāng)前無(wú)中斷服務(wù)時(shí)有效)(當(dāng)前無(wú)中斷服務(wù)時(shí)有效)比較器比較器8:3優(yōu)先權(quán)優(yōu)先權(quán)編碼器編碼器優(yōu)先權(quán)優(yōu)先權(quán)寄存器寄存器D0D721AB中斷請(qǐng)求中斷請(qǐng)求0中斷請(qǐng)求中斷請(qǐng)求1中斷請(qǐng)求中斷請(qǐng)求2A0A1A2INTRB0B1B2有中斷請(qǐng)求有中斷請(qǐng)求中斷請(qǐng)求中斷請(qǐng)求7低優(yōu)先權(quán)記錄正在服務(wù)的中斷編碼,若無(wú),則輸出比較器失效信號(hào)50 設(shè)中斷源設(shè)中斷源2有中斷請(qǐng)求,有中斷請(qǐng)求,n1、若當(dāng)前沒(méi)有中斷服務(wù)、若當(dāng)前沒(méi)

29、有中斷服務(wù)n2、當(dāng)前正在服務(wù)的是中斷源、當(dāng)前正在服務(wù)的是中斷源1(優(yōu)先級(jí)高于(優(yōu)先級(jí)高于2)n3、當(dāng)前正在服務(wù)的是中斷源、當(dāng)前正在服務(wù)的是中斷源5(優(yōu)先級(jí)低于(優(yōu)先級(jí)低于2)516.4.3 中斷優(yōu)先權(quán)(續(xù)2)問(wèn)題問(wèn)題3:中斷處理過(guò)程中,:中斷處理過(guò)程中,又有中斷提出請(qǐng)求,怎么辦?又有中斷提出請(qǐng)求,怎么辦?辦法辦法1:鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路辦法辦法2:優(yōu)先權(quán)編碼電路優(yōu)先權(quán)編碼電路中斷嵌套中斷嵌套526.5 DMA傳送方式n希望克服程序控制傳送的不足:希望克服程序控制傳送的不足:外設(shè)外設(shè)CPU存儲(chǔ)器存儲(chǔ)器外設(shè)外設(shè)CPU存儲(chǔ)器存儲(chǔ)器n直接存儲(chǔ)器存取直接存儲(chǔ)器存取DMA:不經(jīng):不經(jīng)CPU

30、,不用指令,不用指令 外設(shè)外設(shè)存儲(chǔ)器存儲(chǔ)器(DMA寫寫) 外設(shè)外設(shè)存儲(chǔ)器存儲(chǔ)器(DMA讀讀)nCPU出讓系統(tǒng)總線(輸出高阻),由出讓系統(tǒng)總線(輸出高阻),由DMA控制器控制器(DMAC)接管系統(tǒng)總線)接管系統(tǒng)總線53DMA傳送特點(diǎn):nDMAC同時(shí)訪問(wèn)存儲(chǔ)器和同時(shí)訪問(wèn)存儲(chǔ)器和I/O設(shè)備;設(shè)備;n對(duì)一個(gè)對(duì)象讀,必然對(duì)另一個(gè)對(duì)象寫;對(duì)一個(gè)對(duì)象讀,必然對(duì)另一個(gè)對(duì)象寫;n只對(duì)存儲(chǔ)單元進(jìn)行尋址,對(duì)只對(duì)存儲(chǔ)單元進(jìn)行尋址,對(duì)I/O端口不尋址。端口不尋址。54DMA傳送的工作過(guò)程 CPU對(duì)對(duì)DMA控制器進(jìn)行初始化設(shè)置控制器進(jìn)行初始化設(shè)置 外設(shè)、外設(shè)、DMAC、CPU, 3者通過(guò)應(yīng)答信號(hào)建立者通過(guò)應(yīng)答信號(hào)建立聯(lián)系

31、:聯(lián)系:CPU將總線暫交將總線暫交DMAC控制,事后再將控制,事后再將控制權(quán)收回??刂茩?quán)收回。 DMA傳送傳送nDMA讀讀:存儲(chǔ)器:存儲(chǔ)器 外設(shè)外設(shè)nDMA寫寫:存儲(chǔ)器:存儲(chǔ)器 外設(shè)外設(shè) DMAC的功能:的功能:n對(duì)存儲(chǔ)器尋址地址動(dòng)加對(duì)存儲(chǔ)器尋址地址動(dòng)加1/減減1n計(jì)數(shù)器減計(jì)數(shù)器減1n判斷傳送是否完成判斷傳送是否完成傳送流程傳送流程55DMA傳送( 以DMA 寫為例)-MEMW-IOR數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線輸輸入入設(shè)設(shè)備備存存儲(chǔ)儲(chǔ)器器DMACCPUHOLDHLDA56DMA傳送流程HLDA發(fā)存儲(chǔ)器地址發(fā)存儲(chǔ)器地址傳送數(shù)據(jù)傳送數(shù)據(jù)傳送結(jié)束?傳送結(jié)束?DMA結(jié)束結(jié)束修改地址指針修改地址指針57傳送方式的比較n無(wú)條件傳送無(wú)條件傳送:慢速外設(shè)需與:慢速外設(shè)需與CPU保持同步保持同步n查詢傳送查詢傳送: 簡(jiǎn)單實(shí)用,效率較低簡(jiǎn)單實(shí)用,效率較低n中斷傳送中斷傳送:外設(shè)主動(dòng),可與:外設(shè)主動(dòng),可與CPU并行工作,并行工作,但每次傳送需要大量額外時(shí)間開(kāi)銷但每次傳送需要大量額外時(shí)間開(kāi)銷 nDMA傳送傳送:

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論