版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、8.1 概 述8.2 CPU與外設(shè)數(shù)據(jù)傳送的方式8.3 DMA控制器退出第8章 輸入和輸出8.1 概 述8.1.1 輸入輸出的尋址方式CPU尋址外設(shè)可以有兩種方式。1存儲器對應(yīng)輸入輸出方式在這種方式中,把一個外設(shè)端口作為存儲器的一個單元來對待,故每一個外設(shè)端口占有存儲器的一個地址。從外部設(shè)備輸入一個數(shù)據(jù),作為一次存儲器讀的操作;而向外部設(shè)備輸出一個數(shù)據(jù),那么作為一次存儲器寫的操作。這種方式的優(yōu)點是:1CPU對外設(shè)的操作可使用全部的存儲器操作指令,故指令多,使用方便。如可以對外設(shè)中的數(shù)據(jù)存于外設(shè)的存放器中進行算術(shù)和邏輯運算,進行循環(huán)或移位等。2內(nèi)存和外設(shè)的地址分布圖是同一個。3不需要專門的輸入輸
2、出指令以及區(qū)分是存儲器還是I/O操作的控制信號。缺點是:外設(shè)占用了內(nèi)存單元,使內(nèi)存容量減小。2端口尋址的輸入輸出方式在這種工作方式中:CPU有專門的I/O指令,用地址來區(qū)分不同的外設(shè)。但要注意實際上是以端口Port作為地址的單元,因為一個外設(shè)不僅有數(shù)據(jù)存放器還有狀態(tài)存放器和控制命令存放器,它們各需要一個端口才能加以區(qū)分,故一個外設(shè)往往需要數(shù)個端口地址。CPU用地址來選擇外設(shè)。要尋址的外設(shè)的端口地址,顯然比內(nèi)存單元的地址要少得多。所以,在用直接尋址方式尋址外設(shè)時,它的地址字節(jié),通常總要比尋址內(nèi)存單元的地址少一個字節(jié),因而節(jié)省了指令的存儲空間,縮短了指令的執(zhí)行時間。8.1.2 CPU與I/O設(shè)備之
3、間的接口信息1數(shù)據(jù)Data在微型機中,數(shù)據(jù)通常為8位、16位或32位。它大致可以分為三種根本類型:1數(shù)字量2模擬量3開關(guān)量2狀態(tài)信息Status在輸入時,有輸入設(shè)備是否準(zhǔn)備好Ready的狀態(tài)信息;在輸出時,有輸出設(shè)備是否有空Empty的狀態(tài)信息,假設(shè)輸出設(shè)備正在輸出,那么以忙Busy指示等等。3控制信息Control控制輸入輸出設(shè)備啟動或停止等等。狀態(tài)信息和控制信息與數(shù)據(jù)是不同性質(zhì)的信息,必須要分別傳送。但在大局部微型機中8086也如此,只有通用的IN和OUT指令,因此,外設(shè)的狀態(tài)也必須作為一種數(shù)據(jù)輸入;而CPU的控制命令也必須作為一種數(shù)據(jù)輸出。所以,一個外設(shè)往往要幾個端口地址,CPU尋址的是
4、端口,而不是籠統(tǒng)的外設(shè)。8.1.3 CPU的輸入輸出時序通常I/O接口電路的工作速度較慢,往往要插入等待狀態(tài)。8.1.4 CPU與接口電路間數(shù)據(jù)傳送的形式CPU與外設(shè)的信息交換稱為通信Communication。根本的通信方式有兩種: 并行通信數(shù)據(jù)的各位同時傳送; 串行通信數(shù)據(jù)一位一位順序傳送。8.2 CPU與外設(shè)數(shù)據(jù)傳送的方式8.2.1 查詢傳送方式CPU與I/O設(shè)備的工作往往是異步的,很難保證當(dāng)CPU執(zhí)行輸入操作時,外設(shè)已把要輸入的信息準(zhǔn)備好了;而當(dāng)CPU執(zhí)行輸出時,外設(shè)的存放器用于存放CPU輸出數(shù)據(jù)的存放器一定是空的。所以,通常程序控制的傳送方式在傳送之前,必須要查詢一下外設(shè)的狀態(tài),當(dāng)外
5、設(shè)準(zhǔn)備就緒了才傳送;假設(shè)未準(zhǔn)備好,那么CPU等待。1查詢式輸入在輸入時,CPU必須了解外設(shè)的狀態(tài),看外設(shè)是否準(zhǔn)備好。當(dāng)輸入設(shè)備的數(shù)據(jù)已準(zhǔn)備好后,發(fā)出一個選通信號,一邊把數(shù)據(jù)送入鎖存器,一邊使D觸發(fā)器為“1,給出“準(zhǔn)備好Ready的狀態(tài)信號。而數(shù)據(jù)與狀態(tài)必須由不同的端口輸至CPU數(shù)據(jù)總線。當(dāng)CPU要由外設(shè)輸入信息時,先輸入狀態(tài)信息,檢查數(shù)據(jù)是否已準(zhǔn)備好,當(dāng)數(shù)據(jù)已經(jīng)準(zhǔn)備好后,才輸入數(shù)據(jù)。讀入數(shù)據(jù)的指令,使?fàn)顟B(tài)信息清“0。這種查詢輸入方式的程序流程圖,如圖8-11所示。2查詢式輸出同樣的,在輸出時CPU也必須了解外設(shè)的狀態(tài),看外設(shè)是否有空即外設(shè)不是正處在輸出狀態(tài),或外設(shè)的數(shù)據(jù)存放器是空的,可以接收C
6、PU輸出的信息,假設(shè)有空,那么CPU執(zhí)行輸出指令,否那么就等待。查詢式輸出的程序流程圖如圖8-14所示。8.2.2 中斷傳送方式在上述的查詢傳送方式中,CPU要不斷地詢問外設(shè),當(dāng)外設(shè)沒有準(zhǔn)備好時,CPU要等待,不能進行別的操作,這樣就浪費了CPU的時間。而且許多外設(shè)的速度是較低的,如鍵盤、打印機等等,它們輸入或輸出一個數(shù)據(jù)的速度是很慢的,在這個過程中,CPU可以執(zhí)行大量的指令。為了提高CPU的效率,可采用中斷的傳送方式:在輸入時,假設(shè)外設(shè)的輸入數(shù)據(jù)已存入存放器;在輸出時,假設(shè)外設(shè)已把上一個數(shù)據(jù)輸出,輸出存放器已空,由外設(shè)向CPU 發(fā)出中斷請求,CPU就暫停原執(zhí)行的程序 即實現(xiàn)中斷,轉(zhuǎn)去執(zhí)行輸入
7、或輸出操作中斷效勞,待輸入輸出操作完成后即返回,CPU再繼續(xù)執(zhí)行原來的程序。這樣就可以大大提高CPU的效率,而且允許CPU與外設(shè)甚至多個外設(shè)同時工作。8.2.3 直接數(shù)據(jù)通道傳送DMA中斷傳送仍是由CPU通過程序來傳送,每次要保護斷點,保護現(xiàn)場需用多條指令,每條指令要有取指和執(zhí)行時間。這對于一個高速I/O設(shè)備,以及成組交換數(shù)據(jù)的情況,例如磁盤與內(nèi)存間的信息交換,就顯得速度太慢了。所以希望用硬件在外設(shè)與內(nèi)存間直接進行數(shù)據(jù)交換DMA,而不通過CPU,這樣數(shù)據(jù)傳送的速度的上限就取決于存儲器的工作速度。但是,通常系統(tǒng)的地址和數(shù)據(jù)總線以及一些控制信號線例如IO/、等是由CPU管理的。在DMA方式時,就希
8、望CPU把這些總線讓出來即CPU連到這些總線上的線處于第三態(tài)高阻狀態(tài),而由DMA控制器接管,控制傳送的字節(jié)數(shù),判斷DMA是否結(jié)束,以及發(fā)出DMA結(jié)束等信號。這些都是由硬件實現(xiàn)的。1DMA控制器的根本功能DMAC是控制存儲器和外部設(shè)備之間直接高速地傳送數(shù)據(jù)的硬件電路,它應(yīng)能取代CPU,用硬件完成圖8-17所示的各項功能。具體地說應(yīng)具有如下功能:1能接收外設(shè)的請求,向CPU發(fā)出DMA請求信號。2當(dāng)CPU發(fā)出DMA響應(yīng)信號之后,接管對總線的控制,進入DMA方式。3能尋址存儲器,即能輸出地址信息和修改地址。4能向存儲器和外設(shè)發(fā)出相應(yīng)的讀/寫控制信號。5能控制傳送的字節(jié)數(shù),判斷DMA傳送是否結(jié)束。6在D
9、MA傳送結(jié)束以后,能結(jié)束DMA請求信號,釋放總線,使CPU恢復(fù)正常工作。2DMA傳送方式各種DMAC一般都有兩種根本的DMA傳送方式:1單字節(jié)方式:每次DMA請求只傳送一個字節(jié)數(shù)據(jù),每傳送完一個字節(jié),都撤除DMA請求信號,釋放總線。2字節(jié)字符組方式:每次DMA請求連續(xù)傳送一個數(shù)據(jù)塊,待規(guī)定長度的數(shù)據(jù)塊傳送完了以后,才撤除DMA請求,釋放總線。8.3 DMA控制器8237的工作周期8237在設(shè)計時規(guī)定它有兩種主要的工作周期或工作狀態(tài),即空閑周期和有效周期。每一個周期又是由假設(shè)干個時鐘周期所組成的。8237的工作方式8237在DMA傳送時有四種工作方式。1單字節(jié)傳送方式這種方式一次只傳送一個字節(jié)。
10、數(shù)據(jù)傳送后字節(jié)計數(shù)器減量,地址要相應(yīng)修改增量或減量取決于編程。HRQ變?yōu)闊o效,釋放系統(tǒng)總線。假設(shè)傳送使字節(jié)數(shù)減為0,TC發(fā)生或者終結(jié)DMA傳送,或重新初始化。2塊傳送方式在這種傳送方式下,8237由DREQ啟動后就連續(xù)地傳送數(shù)據(jù),直至字節(jié)數(shù)計數(shù)器減到零產(chǎn)生TCTerminal Count,或者由外部輸入有效的信號來終結(jié)DMA傳送。3請求傳送方式在這種工作方式下,8237可以進行連續(xù)的數(shù)據(jù)傳送。當(dāng)出現(xiàn)以下三種情況之一時停止傳送。1字節(jié)數(shù)計數(shù)器減到0,發(fā)生TC;2由外界送來一個有效的 信號;3外界的DREQ信號變?yōu)闊o效外設(shè)的數(shù)據(jù)已傳送完。4級連方式這種方式用于通過級連以擴展通道的情況。第二級的HR
11、Q和HLDA信號連到第一級的DREQ和DACK上。在前三種工作方式下,DMA傳送有三種類型:DMA讀、寫和校驗。8237的存放器組和編程1現(xiàn)行地址存放器每一個通道有一個16位的現(xiàn)行地址存放器。在這個存放器中保存著用于DMA傳送的地址值,在每次傳送后,這個存放器的值自動增量或減量。這個存放器的值可由CPU寫入或讀出分兩次連續(xù)操作。2現(xiàn)行字節(jié)數(shù)存放器每個通道有一個16位的現(xiàn)行字節(jié)數(shù)存放器,它保持著要傳送的字節(jié)數(shù),在每次傳送后此存放器減量。當(dāng)這個存放器的值減為零時,TC將產(chǎn)生。這個存放器的值在編程狀態(tài)可由CPU讀出和寫入。3基地址和基字節(jié)數(shù)存放器每一個通道有一對16位的基地址和基字節(jié)數(shù)存放器,它們存
12、放著與現(xiàn)行存放器相聯(lián)系的初始值。4命令存放器這是一個8位存放器,用以控制8237的工作。命令字的格式如圖8-24所示。5模式存放器每一個通道有一個6位的模式存放器以規(guī)定通道的工作模式,如圖8-26所示。在編程時用最低兩位來選擇寫入哪個通道的模式存放器。6請求存放器8237的每個通道有一條硬件的DREQ請求線,當(dāng)工作在數(shù)據(jù)塊傳送方式時,也可以由軟件發(fā)出DREQ請求。所以,在8237中有一種請求存放器,如圖8-27所示。每個通道的軟件請求可以分別設(shè)置。軟件請求是非屏蔽的,它們的優(yōu)先權(quán)同樣受優(yōu)先權(quán)邏輯的控制。7屏蔽存放器每個通道外設(shè)通過DREQ線發(fā)出的請求,可以單獨地屏蔽或允許,所以在8237中有一個屏蔽存放器,如圖8-28所示。8狀態(tài)存放器8237中有一個可由CPU讀取的狀態(tài)存放器,如圖8-29所示。9臨時存放器在存儲器到存儲器的傳送方式下,臨時存放器保存從源單元讀出的數(shù)據(jù),又由它寫入至目的單元。在傳送完成時,它保存?zhèn)魉偷淖詈笠粋€字節(jié),此字節(jié)可由CPU讀出。10軟件命令8237在編程狀態(tài)還有兩種軟件命令,軟件命令不需要通
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣場舞蹈課程設(shè)計
- 我的新年愿望課程設(shè)計
- 廣州vr教學(xué)課程設(shè)計
- 合工大模擬電路課程設(shè)計
- 圍棋教學(xué)課程設(shè)計
- 小型水輪機課程設(shè)計
- 扎發(fā)盤發(fā)課程設(shè)計
- 幼兒園薯類主題課程設(shè)計
- 幼兒園走進亞洲課程設(shè)計
- 幼兒生日會課程設(shè)計
- 啟航計劃培訓(xùn)總結(jié)與反思
- 《電力工程電纜防火封堵施工工藝導(dǎo)則》
- MOOC 作物育種學(xué)-四川農(nóng)業(yè)大學(xué) 中國大學(xué)慕課答案
- 變電站隱患排查治理總結(jié)報告
- 車輛救援及維修服務(wù)方案
- 三體讀書分享
- 《腎內(nèi)科品管圈》
- 空氣預(yù)熱器市場前景調(diào)研數(shù)據(jù)分析報告
- 2024年南平實業(yè)集團有限公司招聘筆試參考題庫附帶答案詳解
- PLC在變電站自動化控制中的應(yīng)用案例
- 2024版國開電大法學(xué)本科《合同法》歷年期末考試案例分析題題庫
評論
0/150
提交評論