第七章微型計(jì)算機(jī)和外設(shè)數(shù)據(jù)傳輸_第1頁
第七章微型計(jì)算機(jī)和外設(shè)數(shù)據(jù)傳輸_第2頁
第七章微型計(jì)算機(jī)和外設(shè)數(shù)據(jù)傳輸_第3頁
第七章微型計(jì)算機(jī)和外設(shè)數(shù)據(jù)傳輸_第4頁
第七章微型計(jì)算機(jī)和外設(shè)數(shù)據(jù)傳輸_第5頁
已閱讀5頁,還剩74頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第七章微機(jī)與外設(shè)之間的數(shù)據(jù)傳輸主要內(nèi)容

接口的基本概念

CPU與端口(外設(shè))之間的數(shù)據(jù)傳送方式簡單接口電路的擴(kuò)展第一頁,共79頁。第一頁,共79頁?!?.1接口的基本概念一、基本問題1、什么是I/O接口(電路)?I/O接口是位于系統(tǒng)與外設(shè)間、用來協(xié)助完成數(shù)據(jù)傳送和控制任務(wù)的邏輯電路PC機(jī)系統(tǒng)板的可編程接口芯片、I/O總線槽的電路板(適配器)都是接口電路CPU接口電路

I/O設(shè)備第二頁,共79頁。第二頁,共79頁。2、為什么需要I/O接口(電路)?需要分析一下外部設(shè)備的輸入/輸出操作和存儲器讀/寫操作的不同之處:存儲器都是用來保存信息的,功能單一,傳送方式單一(一次必定是傳送1個(gè)字節(jié)或者1個(gè)字),品種很有限(只有只讀類型和可讀/可寫類型),存取速度基本上和CPU的工作速度匹配。外部設(shè)備的功能多種多樣的(輸入設(shè)備,輸出設(shè)備,輸入設(shè)備/輸出設(shè)備),信息多樣(數(shù)字式的,模擬式的),信息傳輸?shù)姆绞剑ú⑿械?,串行的),外設(shè)的工作速度通常比CPU的速度低得多,而且各種外設(shè)的工作速度互不相同,因此,需要通過接口電路對輸入/輸出過程起一個(gè)緩沖(速度匹配)和聯(lián)絡(luò)的作用。第三頁,共79頁。第三頁,共79頁。微機(jī)的外部設(shè)備多種多樣工作原理不同機(jī)械、電子、機(jī)電、電磁……傳送信息類型多樣數(shù)字量、模擬量、開關(guān)量傳送速度差別極大傳送方式不盡相同串行、并行編碼方式不同二進(jìn)制、BCD碼、ASCII碼……第四頁,共79頁。第四頁,共79頁。它們不能與CPU直接相連必須經(jīng)過中間電路再與系統(tǒng)相連這部分電路被稱為I/O接口電路第五頁,共79頁。第五頁,共79頁。3、什么是微機(jī)接口技術(shù)?處理微機(jī)系統(tǒng)與外設(shè)間聯(lián)系的技術(shù)注意其軟硬結(jié)合的特點(diǎn)根據(jù)應(yīng)用系統(tǒng)的需要,使用和構(gòu)造相應(yīng)的接口電路,編制配套的接口程序,支持和連接有關(guān)的設(shè)備第六頁,共79頁。第六頁,共79頁。4、接口的功能

⑴區(qū)分不同外設(shè):對I/O端口進(jìn)行尋址,對送來的片選信號進(jìn)行識別;(2)解決速度匹配問題:根據(jù)讀/寫信號決定當(dāng)前進(jìn)行的是輸入操作還是輸出操作,對輸入輸出數(shù)據(jù)進(jìn)行緩沖和鎖存輸出接口有鎖存環(huán)節(jié);輸入接口有緩沖環(huán)節(jié)實(shí)際的電路常見:輸出鎖存緩沖環(huán)節(jié)、輸入鎖存緩沖環(huán)節(jié)第七頁,共79頁。第七頁,共79頁。鎖存器:功能是把來自設(shè)備的輸入信息鎖存起來,并一直穩(wěn)定地保持它,直到微處理器取走信息。如圖所示:18DDENCP.……….oQQoCP鎖存信號D數(shù)據(jù)輸入Q數(shù)據(jù)輸出功能:CP有效,Q=DCP無效,Q保持不變第八頁,共79頁。第八頁,共79頁。三態(tài)緩沖器是微處理器并行總線接口中必須要使用的一種接口部件。如圖所示:oEN輸入輸出為0其中EN=0開門:輸入為1時(shí)輸出為1輸入為0時(shí)其中EN=1關(guān)門:輸入為1/0,輸出為高阻第九頁,共79頁。第九頁,共79頁。(3)數(shù)據(jù)轉(zhuǎn)換功能:對信號的形式和數(shù)據(jù)的格式進(jìn)行變換;(4)聯(lián)絡(luò)功能:與CPU和I/O設(shè)備進(jìn)行聯(lián)絡(luò)常用就緒信號,忙信號等;⑸中斷管理:發(fā)出中斯請求信號、接收中斷響應(yīng)信號、發(fā)送中斷類型碼的功能。并具有優(yōu)先級管理功能;⑹復(fù)位:接收復(fù)位信號,從而使接口本身以及所連的外設(shè)進(jìn)行重新啟動;⑺可編程:用軟件來決定其工作方式,用軟件來設(shè)置有關(guān)的控制信號;第十頁,共79頁。第十頁,共79頁。⑻錯(cuò)誤檢測:一類是傳輸錯(cuò)誤,比如奇偶校驗(yàn)。另—類是覆蓋錯(cuò)誤,數(shù)據(jù)還沒有被取走之前就被新的數(shù)據(jù)覆蓋掉了。通過在相應(yīng)的狀態(tài)端口的某一位來控制實(shí)現(xiàn)。注:一些接口還可根據(jù)具體情況設(shè)置其它的檢測信息。第十一頁,共79頁。第十一頁,共79頁。5、接口的分類接口電路按功能可分為:是使微處理器正常工作所需要的輔助電路:時(shí)鐘信號或中斷請求等;是輸入/輸出接口電路:CPU與外部設(shè)備信息的傳送(接收、發(fā)送)。最常用的外部設(shè)備:如鍵盤、顯示裝置、打印機(jī)、磁盤機(jī)等都是通過輸入/輸出接口和總線相連的。第十二頁,共79頁。第十二頁,共79頁。接口電路按傳送數(shù)據(jù)的方式可分為:并行接口和串行接口接口電路按應(yīng)用的方式可分為:通用接口和專用接口第十三頁,共79頁。第十三頁,共79頁。二、CPU與輸入輸出設(shè)備之間的信號(三類)數(shù)據(jù)信息:包括三種形式:數(shù)字量、模擬量、開關(guān)量。狀態(tài)信息:是外設(shè)通過接口往CPU傳送的如:“準(zhǔn)備好”(READY)信號、“忙”(BUSY)信號??刂菩畔ⅲ菏荂PU通過接口傳送給外設(shè)的如:外設(shè)的啟動信號、停止信號就是常見的控制信息。第十四頁,共79頁。第十四頁,共79頁。三、接口與系統(tǒng)的連接1、接口部件的典型結(jié)構(gòu)控制總線CB地址總線ABI/O接口電路數(shù)據(jù)控制狀態(tài)數(shù)據(jù)總線DBCPU外設(shè)控制寄存器狀態(tài)寄存器數(shù)據(jù)寄存器接口芯片的典型結(jié)構(gòu)第十五頁,共79頁。第十五頁,共79頁。接口電路的內(nèi)部結(jié)構(gòu)CPU與外設(shè)主要有數(shù)據(jù)、狀態(tài)和控制信息需要相互交換,于是從應(yīng)用角度看內(nèi)部:⑴數(shù)據(jù)寄存器輸入數(shù)據(jù)寄存器:保存外設(shè)給CPU的數(shù)據(jù)輸出數(shù)據(jù)寄存器:保存CPU給外設(shè)的數(shù)據(jù)⑵狀態(tài)寄存器保存外設(shè)或接口電路的狀態(tài)⑶控制寄存器保存CPU給外設(shè)或接口電路的命令第十六頁,共79頁。第十六頁,共79頁。接口電路的外部特性主要體現(xiàn)在引腳上,分成兩側(cè)信號面向CPU一側(cè)的信號:用于與CPU連接主要是數(shù)據(jù)、地址和控制信號面向外設(shè)一側(cè)的信號:用于與外設(shè)連接提供的信號五花八門功能定義、時(shí)序及有效電平等差異較大第十七頁,共79頁。第十七頁,共79頁。接口電路芯片的分類接口電路核心部分往往是一塊或數(shù)塊大規(guī)模集成電路芯片(接口芯片):通用接口芯片支持通用的數(shù)據(jù)輸入輸出和控制的接口芯片面向外設(shè)的專用接口芯片針對某種外設(shè)設(shè)計(jì)、與該種外設(shè)接口面向微機(jī)系統(tǒng)的專用接口芯片與CPU和系統(tǒng)配套使用,以增強(qiáng)其總體功能第十八頁,共79頁。第十八頁,共79頁。接口電路的可編程性許多接口電路具有多種功能和工作方式,可以通過編程的方法選定其中一種接口需進(jìn)行物理連接,還需編寫接口軟件接口軟件有兩類:初始化程序段——設(shè)定芯片工作方式等數(shù)據(jù)交換程序段——管理、控制、驅(qū)動外設(shè),負(fù)責(zé)外設(shè)和系統(tǒng)間信息交換第十九頁,共79頁。第十九頁,共79頁。端口(PORT)2、接口部件的I/O端口CPU和外設(shè)進(jìn)行數(shù)據(jù)傳輸時(shí),各類信息在接口中進(jìn)入不同的寄存器,一般稱這些寄存器為I/O端口,每個(gè)端口有一個(gè)端口地址。

一個(gè)接口電路可以具有多個(gè)I/O端口(寄存器),每個(gè)端口用來保存和交換不同的信息數(shù)據(jù)寄存器、狀態(tài)寄存器和控制寄存器占有的I/O地址常依次被稱為數(shù)據(jù)端口、狀態(tài)端口和控制端口,用于保存數(shù)據(jù)、狀態(tài)和控制信息返回第二十頁,共79頁。第二十頁,共79頁。注意:⑴輸入還是輸出,所用到的地址總是對端口而言的,不是對接口部件而言的。⑵為了節(jié)省地址空間,將數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端口對應(yīng)同一個(gè)端口地址。同樣,狀態(tài)端口和控制端口也常用同一個(gè)端口地址。⑶CPU對外設(shè)的輸入/輸出操作就歸結(jié)為對接口芯片各端口的讀/寫操作。第二十一頁,共79頁。第二十一頁,共79頁。3、輸入輸出的尋址方式(端口的編址方式)接口電路占用的I/O端口有兩類編排形式I/O端口與存儲器統(tǒng)一編址它們共享一個(gè)地址空間如M6800I/O端口單獨(dú)編址I/O地址空間獨(dú)立于存儲地址空間如8086/8088第二十二頁,共79頁。第二十二頁,共79頁。統(tǒng)一編址方式優(yōu)點(diǎn):不需要專門的I/O指令I(lǐng)/O數(shù)據(jù)存取與存儲器數(shù)據(jù)存取一樣靈活(多種尋址方式)缺點(diǎn):I/O端口要占去部分存儲器地址空間程序不易閱讀(不易分清訪存和訪問外設(shè))內(nèi)存部分I/O部分存儲器空間00000FFFFF第二十三頁,共79頁。第二十三頁,共79頁。獨(dú)立編址方式優(yōu)點(diǎn):I/O端口的地址空間獨(dú)立控制和地址譯碼電路相對簡單專門的I/O指令使程序清晰易讀缺點(diǎn):I/O指令沒有存儲器指令豐富內(nèi)存空間I/O空間FFFFF0FFFF80x86采用I/O端口獨(dú)立編址第二十四頁,共79頁。第二十四頁,共79頁。對于8086,M和IO的不同之處:地址線的條數(shù):20、16地址的范圍:220、216、指令不同產(chǎn)生的信號不同:M/IO第二十五頁,共79頁。第二十五頁,共79頁。8088/8086的輸入輸出指令輸入輸出指令舉例輸入指令(IN:將外設(shè)數(shù)據(jù)傳送給CPU內(nèi)的AL/AX)INAL,8 ;字節(jié)輸入INAL,DX ;字節(jié)輸入INAX,8 ;字輸入INAX,DX ;字輸入輸出指令(OUT:將CPU內(nèi)的AL/AX數(shù)據(jù)傳送給外設(shè))OUT8,AL ;字節(jié)輸出OUTDX,AL ;字節(jié)輸出OUT8,AX ;字輸出OUTDX,AX ;字輸出第二十六頁,共79頁。第二十六頁,共79頁。INAL,21H返回第二十七頁,共79頁。第二十七頁,共79頁。OUT43H,AL返回第二十八頁,共79頁。第二十八頁,共79頁。8088只能通過輸入輸出指令與外設(shè)進(jìn)行數(shù)據(jù)交換;呈現(xiàn)給程序員的外設(shè)是端口(Port),即I/O地址8086用于尋址外設(shè)端口的地址線為16條,端口最多為216=65536(64K)個(gè),端口號為0000H~FFFFH每個(gè)端口用于傳送一個(gè)字節(jié)的外設(shè)數(shù)據(jù)第二十九頁,共79頁。第二十九頁,共79頁。8088/8086的端口有64K個(gè),無需分段,設(shè)計(jì)有兩種尋址方式直接尋址:只用于尋址00H~FFH前256個(gè)端口,操作數(shù)8表示端口號間接尋址:可用于尋址全部64K個(gè)端口,DX寄存器的值就是端口號對大于FFH的端口只能采用間接尋址方式第三十頁,共79頁。第三十頁,共79頁。如果輸入輸出一個(gè)字節(jié),利用AL寄存器如果輸入輸出一個(gè)字,利用AX寄存器輸入一個(gè)字,實(shí)際上是從連續(xù)兩個(gè)端口輸入兩個(gè)字節(jié),分別送AL(對應(yīng)低地址端口)和AH(對應(yīng)高地址端口)輸出一個(gè)字,實(shí)際上是將AL(對應(yīng)低地址端口)和AH(對應(yīng)高地址端口)兩個(gè)字節(jié)的內(nèi)容輸出給連續(xù)兩個(gè)端口第三十一頁,共79頁。第三十一頁,共79頁。IN指令實(shí)例(從20H端口輸入一個(gè)字);方法1:直接尋址,字量輸入

inax,20h;方法2:間接尋址,字量輸入

movdx,20h inax,dx;方法3:直接尋址,字節(jié)量輸入

inal,21h movah,al

inal,20h;方法4:間接尋址,字節(jié)量輸入

movdx,21h

inal,dx movah,al decdx

inal,dx第三十二頁,共79頁。第三十二頁,共79頁。OUT指令實(shí)例(向300H端口輸出一個(gè)字節(jié));唯一的方法:間接尋址,字節(jié)量輸出

moval,bvar ;bvar是字節(jié)變量

movdx,300h

outdx,al第三十三頁,共79頁。第三十三頁,共79頁。4、接口與系統(tǒng)的連接接口電路位于CPU與外設(shè)之間,從結(jié)構(gòu)上看,可以把一個(gè)接口分為兩個(gè)部分:⑴用來和I/O設(shè)備相連;⑵用來和系統(tǒng)總線相連,這部分接口電路結(jié)構(gòu)類似,連在同一總線上。下圖是一個(gè)典型的I/O接口和外部電路的連接圖第三十四頁,共79頁。第三十四頁,共79頁。第三十五頁,共79頁。第三十五頁,共79頁。聯(lián)絡(luò)信號:讀/寫信號,以便決定數(shù)據(jù)傳輸方向。地址譯碼器,片選信號:地址譯碼器除了接收地址信號外,還用來區(qū)分I/0地址空間和內(nèi)存地址空間的信號(M/)用于譯碼過程。

注:⑴一個(gè)接口通常有若干個(gè)寄存器可讀/寫,⑵一般用1-2位低位地址結(jié)合讀/寫信號來實(shí)現(xiàn)對接口內(nèi)部寄存器的尋址。第三十六頁,共79頁。第三十六頁,共79頁。P279第三十七頁,共79頁。第三十七頁,共79頁。§7.2CPU與外設(shè)之間數(shù)據(jù)的傳送方式

CPU與外設(shè)之間傳輸數(shù)據(jù)的控制方式通常有三種:程序方式:無條件傳送方式和有條件傳送方式中斷方式DMA方式

第三十八頁,共79頁。第三十八頁,共79頁。一、程序方式

指用輸入/輸出指令,來控制信息傳輸?shù)姆绞?,是一種軟件控制方式,根據(jù)程序控制的方法不同,又可以分為無條件傳送方式和條件傳送方式。第三十九頁,共79頁。第三十九頁,共79頁。1、無條件傳送方式條件:利用程控方式與外設(shè)交換信息時(shí),如果輸入/輸出的時(shí)刻,都可以保證外設(shè)總是處于“準(zhǔn)備好”狀態(tài),則可以直接利用輸入/輸出指令進(jìn)行信息的輸入/輸出操作。適合于簡單設(shè)備,如LED數(shù)碼管、按鍵或按紐等無條件傳送的接口和操作均十分簡單這種傳送有前提:外設(shè)必須隨時(shí)就緒第四十頁,共79頁。第四十頁,共79頁。工作原理圖第四十一頁,共79頁。第四十一頁,共79頁。無條件傳送流程第四十二頁,共79頁。第四十二頁,共79頁。2、條件傳送方式又稱查詢方式,即通過程序查詢相應(yīng)設(shè)備的狀態(tài),若狀態(tài)不符合,則CPU不能進(jìn)行輸入/輸出操作,需要等待;只有當(dāng)狀態(tài)信號符合要求時(shí),CPU才能進(jìn)行相應(yīng)的輸入/輸出操作。

CPU需要先了解(查詢)外設(shè)的工作狀態(tài),然后在外設(shè)可以交換信息的情況下(就緒)實(shí)現(xiàn)數(shù)據(jù)輸入或輸出對多個(gè)外設(shè)的情況,則CPU按一定順序依次查詢(輪詢)。先查詢的外設(shè)將優(yōu)先進(jìn)行數(shù)據(jù)交換查詢傳送的特點(diǎn)是:工作可靠,適用面寬,但傳送效率低第四十三頁,共79頁。第四十三頁,共79頁。就緒(Ready)在輸入場合“就緒”說明輸入接口已準(zhǔn)備好送往CPU的數(shù)據(jù),正等著CPU來讀取該狀態(tài)也可用接口中數(shù)據(jù)緩沖器已“滿”來描述在輸出場合“就緒”說明輸出接口已做好準(zhǔn)備,等待接收CPU要輸出的數(shù)據(jù)該狀態(tài)也可用接口數(shù)據(jù)緩沖器已“空”、或者用接口(外設(shè))“閑”或不“忙(Busy)”來描述返回就緒:滿,空、閑、不忙第四十四頁,共79頁。第四十四頁,共79頁。數(shù)據(jù)的傳送環(huán)節(jié)由三個(gè)環(huán)節(jié)組成(1)讀取狀態(tài)字尋址狀態(tài)口讀取狀態(tài)寄存器的標(biāo)志位(2)查詢環(huán)節(jié)檢測是否滿足,若不就緒就繼續(xù)查詢,直至就緒⑵傳送環(huán)節(jié)尋址數(shù)據(jù)口是輸入,通過輸入指令從數(shù)據(jù)端口讀入數(shù)據(jù)是輸出,通過輸出指令向數(shù)據(jù)端口輸出數(shù)據(jù)輸入狀態(tài)就緒?數(shù)據(jù)交換YN流程第四十五頁,共79頁。第四十五頁,共79頁。

查詢式輸入接口電路ooooo?oooo+5VIO/MRDABReadyRDIO/MCSCS

輸入裝置數(shù)據(jù)??選通信號DQ鎖存器緩沖器緩沖器地址譯碼地址譯碼狀態(tài)口數(shù)據(jù)口數(shù)據(jù)去DB狀態(tài)信息&R>數(shù)據(jù)端口狀態(tài)端口第四十六頁,共79頁。第四十六頁,共79頁。當(dāng)輸入裝置數(shù)據(jù)準(zhǔn)備好①發(fā)出一個(gè)選通信號,一面把數(shù)據(jù)鎖存起來,一面送D觸發(fā)器的CLK端,將D=1打入Q端,使Q=1;②CPU讀入狀態(tài)信息READY;③當(dāng)READY=1,輸入數(shù)據(jù);④讀入數(shù)據(jù)同時(shí),將狀態(tài)信號清零。程序段如下:G0: IN AL,STATUS-PORT ;讀入狀態(tài)信息

TEST AL,10H ;READY=1?

JZ G0 ;未準(zhǔn)備好,再查

IN AL,DATA-PORT ;準(zhǔn)備好,讀入第四十七頁,共79頁。第四十七頁,共79頁。查詢式輸出接口電路地址譯碼oooooooo?<<?IO/MWRIO/MRD+5VQDRACK“BUSY”DB去DB狀態(tài)信息BUSY輸出數(shù)據(jù)端口狀態(tài)端口數(shù)據(jù)輸出設(shè)備鎖存器緩沖器地址譯碼&CSCS地址譯碼第四十八頁,共79頁。第四十八頁,共79頁。在輸出時(shí)CPU需了解外設(shè)的狀態(tài),如無空則等待,有空執(zhí)行輸出指令,過程如下:①當(dāng)輸出裝置輸出數(shù)據(jù)后,發(fā)ACK信號,將D觸發(fā)器置0,即BUSY=0②CPU查詢BYSY,若為0,轉(zhuǎn)入③,否,繼續(xù)查③執(zhí)行輸出指令,把數(shù)據(jù)送至鎖存器④同時(shí)令D觸發(fā)器置1,它一方面告知外設(shè),數(shù)據(jù)已準(zhǔn)備好,另一方面讓BUSY=1,阻止CPU輸出新的數(shù)據(jù)第四十九頁,共79頁。第四十九頁,共79頁。查詢傳送流程返回第五十頁,共79頁。第五十頁,共79頁。程序段如下:G0: IN AL,STATUT-PORT ;輸入狀態(tài)信息

TEST AL,01 ;BUSY=0?

JNZ G0 ;為1,再查

MOV AL,STORE ;從緩沖區(qū)取數(shù)

OUT DATA-PORT,AL ;輸出數(shù)據(jù)第五十一頁,共79頁。第五十一頁,共79頁。優(yōu)先級問題:當(dāng)CPU需對多個(gè)設(shè)備進(jìn)行查詢時(shí),就出現(xiàn)了所謂的優(yōu)先級問題,即究竟先為哪個(gè)設(shè)備服務(wù)。查詢順序決定優(yōu)先順序。第五十二頁,共79頁。第五十二頁,共79頁。3、中斷傳送方式

(1)基本原理從查詢式的傳輸過程可以看出,它的優(yōu)點(diǎn)是硬件開銷小,使用起來比較簡單。但在此方式下,CPU要不斷地查詢外設(shè)的狀態(tài),當(dāng)外設(shè)未準(zhǔn)備好時(shí),CPU就只能循環(huán)等待,不能執(zhí)行其它程序,這樣就浪費(fèi)了CPU的大量時(shí)間,降低了主機(jī)的利用率。第五十三頁,共79頁。第五十三頁,共79頁。中斷傳送方式:即當(dāng)CPU進(jìn)行主程序操作時(shí),外設(shè)的數(shù)據(jù)已存入輸入端口的數(shù)據(jù)寄存器;或端口的數(shù)據(jù)輸出寄存器已空,由外設(shè)通過接口電路向CPU發(fā)出中斷請求信號,CPU在滿足一定的條件下,暫停執(zhí)行當(dāng)前正在執(zhí)行的主程序,轉(zhuǎn)入執(zhí)行能夠進(jìn)行輸入/輸出操作的子程序,待輸入/輸出操作執(zhí)行完畢之后CPU即返回繼續(xù)執(zhí)行原來被中斷的主程序。這樣CPU就避免了把大量時(shí)間耗費(fèi)在等待、查詢狀態(tài)信號的操作上,使其工作效率極大地提高??梢詫?shí)現(xiàn)CPU和外設(shè)并行工作。第五十四頁,共79頁。第五十四頁,共79頁。能夠向CPU發(fā)出中斷請求的設(shè)備或事件稱為中斷源。微機(jī)系統(tǒng)引入中斷機(jī)制后,使CPU與外設(shè)(甚至多個(gè)外設(shè))處于并行工作狀態(tài),便于實(shí)現(xiàn)信息的實(shí)時(shí)處理和系統(tǒng)的故障處理。

INTRCPU外設(shè)第五十五頁,共79頁。第五十五頁,共79頁。斷點(diǎn)主程序中斷服務(wù)程序中斷請求對外設(shè)進(jìn)行處理繼續(xù)執(zhí)行返回?cái)帱c(diǎn)CPU在執(zhí)行程序中,被內(nèi)部或外部的事件所打斷,轉(zhuǎn)去執(zhí)行一段預(yù)先安排好的中斷服務(wù)程序;服務(wù)結(jié)束后,又返回原來的斷點(diǎn),繼續(xù)執(zhí)行原來的程序流程第五十六頁,共79頁。第五十六頁,共79頁。中斷傳送是一種效率更高的程序傳送方式進(jìn)行傳送的中斷服務(wù)程序是預(yù)先設(shè)計(jì)好的中斷請求是外設(shè)隨機(jī)向CPU提出的CPU對請求的檢測是有規(guī)律的:一般是在每條指令的最后一個(gè)時(shí)鐘周期采樣中斷請求輸入引腳中斷還有著非常廣泛的應(yīng)用第五十七頁,共79頁。第五十七頁,共79頁。中斷傳送接口電路裝置中斷允許oooooo>>??輸入裝置數(shù)據(jù)鎖存器緩沖器緩沖器中斷矢量去DBINTA(中斷響應(yīng)信號)INTR去數(shù)據(jù)總線DB地址總線選通IOR+5VDQ&&RCS地址譯碼第五十八頁,共79頁。第五十八頁,共79頁。以輸入為例:輸入裝置輸入一數(shù)據(jù),發(fā)出選通信號,一方面把數(shù)據(jù)存入鎖存器,一方面又使D觸發(fā)器置1,在中斷允許下,發(fā)出INTR,CPU在現(xiàn)行指令執(zhí)行完后,發(fā)出INTA,把外設(shè)送來的中斷向量放到DB上,于是CPU轉(zhuǎn)入中斷服務(wù)程序,讀入數(shù)據(jù),同時(shí)清除中斷請求INTR,中斷處理完,CPU返回被中斷處理的程序繼續(xù)執(zhí)行。第五十九頁,共79頁。第五十九頁,共79頁。中斷請求中斷響應(yīng)關(guān)中斷斷點(diǎn)保護(hù)中斷識別現(xiàn)場保護(hù)中斷服務(wù)恢復(fù)現(xiàn)場開中斷中斷返回中斷服務(wù)是進(jìn)行數(shù)據(jù)交換的實(shí)質(zhì)性環(huán)節(jié)中斷工作過程第六十頁,共79頁。第六十頁,共79頁。3、中斷優(yōu)先級問題的解決

當(dāng)系統(tǒng)中有多個(gè)設(shè)備提出中斷請求時(shí),就有一個(gè)該響應(yīng)誰的問題,也就是一個(gè)優(yōu)先級的問題,解決優(yōu)先級的問題一般可有三種方法:軟件查詢法、簡單硬件方法及專用硬件方法。

第六十一頁,共79頁。第六十一頁,共79頁。①軟件查詢法

只需有簡單的硬件電路,如將A、B、C三臺設(shè)備的中斷請求信號“或”后作為系統(tǒng)INTR。進(jìn)入中斷服務(wù)子程序后,再用軟件查詢的方式分別對不同的設(shè)備的服務(wù),查詢程序的設(shè)計(jì)思想同查詢式。

第六十二頁,共79頁。第六十二頁,共79頁。A0~A15鎖存器INTR三態(tài)緩沖器譯碼

8001HD0~D7中斷A中斷B中斷C……IOR第六十三頁,共79頁。第六十三頁,共79頁。②簡單硬件方法:以鏈?zhǔn)街袛鄡?yōu)先權(quán)排隊(duì)電路為例,菊花鏈法基本設(shè)計(jì)思想:將所有的設(shè)備連成一條鏈,靠近CPU的設(shè)備優(yōu)先級最高,越遠(yuǎn)的設(shè)備優(yōu)先級別越低,則發(fā)出中斷響應(yīng)信號,若級別高的設(shè)備發(fā)出了中斷請求,在它接到中斷響應(yīng)信號的同時(shí),封鎖其后的較低級設(shè)備使得它們的中斷請求不能響應(yīng),只有等它的中斷服務(wù)結(jié)束以后才開放,允許為低級的設(shè)備服務(wù)。第六十四頁,共79頁。第六十四頁,共79頁。設(shè)備1設(shè)備2設(shè)備3接口接口接口Cpu以及總線控制邏輯INTAINTR菊花鏈邏輯電路菊花鏈邏輯電路菊花鏈邏輯電路中斷回答中斷請求INTAINTR菊花鏈邏輯電路中斷回答中斷請求中斷菊花鏈優(yōu)先級及其邏輯電路第六十五頁,共79頁。第六十五頁,共79頁。③專用硬件方式采用可編程的中斷控制器芯片,如Intel8259A

第六十六頁,共79頁。第六十六頁,共79頁。3、DMA傳送方式希望克服程序控制傳送的不足:外設(shè)→CPU→存儲器外設(shè)←CPU←存儲器直接存儲器存取DMA:外設(shè)→存儲器外設(shè)←存儲器CPU釋放總線,由DMA控制器管理第六十七頁,共79頁。第六十七頁,共79頁。4、傳送方式的比較無條件傳送:慢速外設(shè)需與CPU保持同步查詢傳送:簡單實(shí)用,效率較低中斷傳送:外設(shè)主動,可與CPU并行工作,但每次傳送需要大量額外時(shí)間開銷DMA傳送:DMAC控制,外設(shè)直接和存儲器進(jìn)行數(shù)據(jù)傳送,適合大量、快速數(shù)據(jù)傳送第六十八頁,共79頁。第六十八頁,共79頁?!?.3簡單接口電路的擴(kuò)展第六十九頁,共79頁。第六十九頁,共79頁。例1邏輯門電路進(jìn)行I/O地址譯碼A9A8A7A6A5A2A4A3AENA1A074LS033E7HA9A8A7A6A5A2111111A4A300A1A011A9A8A7A6A5A4A3A2A1A01111100111=3E7H第七十頁,共79頁。第七十頁,共79頁。例274LS138應(yīng)用舉例G1G2AG2BCBALS138Y0Y1Y2Y3Y4Y5Y6Y7A7A6A5A4A3A2A7A6A5A4A3A2A1A0G1G2AG2BCBA××100000××Y080H-83H100001××Y184H-87H100010××Y288H-8BH100011××Y38CH-8FH100100××Y490H-93H100101××Y594H-97H100110××Y698H-9BH100111××Y79CH-9FH第七十一頁,共79頁。第七十一頁,共79頁。無條件傳送:輸入示例MOV DX,160HINAL,DX第七十二頁,共79頁。第七十二頁,共79頁。無條件傳送:輸入實(shí)例MOV DX,160HINAL,DX74LS244+5V10Kx8G1G2數(shù)據(jù)總線CSRD第七十三頁,共79頁。第七十三頁,共79頁。無條件傳送:輸出示例MOVDX,160HMOVAL,[BX]OUTDX,AL第七十四頁,共79頁。第七十四頁,共79頁。無條件傳送:輸出實(shí)例MOVDX,160HMOVAL,[BX]OUTDX,AL+5V74LS373300

x8LEOE數(shù)據(jù)總線CSWR

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論