高等學校21世紀教材《微機原理與接口技術》全套電子課件教案-輸入和輸出_第1頁
高等學校21世紀教材《微機原理與接口技術》全套電子課件教案-輸入和輸出_第2頁
高等學校21世紀教材《微機原理與接口技術》全套電子課件教案-輸入和輸出_第3頁
高等學校21世紀教材《微機原理與接口技術》全套電子課件教案-輸入和輸出_第4頁
高等學校21世紀教材《微機原理與接口技術》全套電子課件教案-輸入和輸出_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、8.1 概 述8.2 CPU與外設數據傳送的方式8.3 DMA控制器退出第8章 輸入和輸出8.1 概 述8.1.1 輸入輸出的尋址方式CPU尋址外設可以有兩種方式。1存儲器對應輸入輸出方式在這種方式中,把一個外設端口作為存儲器的一個單元來對待,故每一個外設端口占有存儲器的一個地址。從外部設備輸入一個數據,作為一次存儲器讀的操作;而向外部設備輸出一個數據,那么作為一次存儲器寫的操作。這種方式的優(yōu)點是:1CPU對外設的操作可使用全部的存儲器操作指令,故指令多,使用方便。如可以對外設中的數據存于外設的存放器中進行算術和邏輯運算,進行循環(huán)或移位等。2內存和外設的地址分布圖是同一個。3不需要專門的輸入輸

2、出指令以及區(qū)分是存儲器還是I/O操作的控制信號。缺點是:外設占用了內存單元,使內存容量減小。2端口尋址的輸入輸出方式在這種工作方式中:CPU有專門的I/O指令,用地址來區(qū)分不同的外設。但要注意實際上是以端口Port作為地址的單元,因為一個外設不僅有數據存放器還有狀態(tài)存放器和控制命令存放器,它們各需要一個端口才能加以區(qū)分,故一個外設往往需要數個端口地址。CPU用地址來選擇外設。要尋址的外設的端口地址,顯然比內存單元的地址要少得多。所以,在用直接尋址方式尋址外設時,它的地址字節(jié),通??傄葘ぶ穬却鎲卧牡刂飞僖粋€字節(jié),因而節(jié)省了指令的存儲空間,縮短了指令的執(zhí)行時間。8.1.2 CPU與I/O設備之

3、間的接口信息1數據Data在微型機中,數據通常為8位、16位或32位。它大致可以分為三種根本類型:1數字量2模擬量3開關量2狀態(tài)信息Status在輸入時,有輸入設備是否準備好Ready的狀態(tài)信息;在輸出時,有輸出設備是否有空Empty的狀態(tài)信息,假設輸出設備正在輸出,那么以忙Busy指示等等。3控制信息Control控制輸入輸出設備啟動或停止等等。狀態(tài)信息和控制信息與數據是不同性質的信息,必須要分別傳送。但在大局部微型機中8086也如此,只有通用的IN和OUT指令,因此,外設的狀態(tài)也必須作為一種數據輸入;而CPU的控制命令也必須作為一種數據輸出。所以,一個外設往往要幾個端口地址,CPU尋址的是

4、端口,而不是籠統(tǒng)的外設。8.1.3 CPU的輸入輸出時序通常I/O接口電路的工作速度較慢,往往要插入等待狀態(tài)。8.1.4 CPU與接口電路間數據傳送的形式CPU與外設的信息交換稱為通信Communication。根本的通信方式有兩種: 并行通信數據的各位同時傳送; 串行通信數據一位一位順序傳送。8.2 CPU與外設數據傳送的方式8.2.1 查詢傳送方式CPU與I/O設備的工作往往是異步的,很難保證當CPU執(zhí)行輸入操作時,外設已把要輸入的信息準備好了;而當CPU執(zhí)行輸出時,外設的存放器用于存放CPU輸出數據的存放器一定是空的。所以,通常程序控制的傳送方式在傳送之前,必須要查詢一下外設的狀態(tài),當外

5、設準備就緒了才傳送;假設未準備好,那么CPU等待。1查詢式輸入在輸入時,CPU必須了解外設的狀態(tài),看外設是否準備好。當輸入設備的數據已準備好后,發(fā)出一個選通信號,一邊把數據送入鎖存器,一邊使D觸發(fā)器為“1,給出“準備好Ready的狀態(tài)信號。而數據與狀態(tài)必須由不同的端口輸至CPU數據總線。當CPU要由外設輸入信息時,先輸入狀態(tài)信息,檢查數據是否已準備好,當數據已經準備好后,才輸入數據。讀入數據的指令,使狀態(tài)信息清“0。這種查詢輸入方式的程序流程圖,如圖8-11所示。2查詢式輸出同樣的,在輸出時CPU也必須了解外設的狀態(tài),看外設是否有空即外設不是正處在輸出狀態(tài),或外設的數據存放器是空的,可以接收C

6、PU輸出的信息,假設有空,那么CPU執(zhí)行輸出指令,否那么就等待。查詢式輸出的程序流程圖如圖8-14所示。8.2.2 中斷傳送方式在上述的查詢傳送方式中,CPU要不斷地詢問外設,當外設沒有準備好時,CPU要等待,不能進行別的操作,這樣就浪費了CPU的時間。而且許多外設的速度是較低的,如鍵盤、打印機等等,它們輸入或輸出一個數據的速度是很慢的,在這個過程中,CPU可以執(zhí)行大量的指令。為了提高CPU的效率,可采用中斷的傳送方式:在輸入時,假設外設的輸入數據已存入存放器;在輸出時,假設外設已把上一個數據輸出,輸出存放器已空,由外設向CPU 發(fā)出中斷請求,CPU就暫停原執(zhí)行的程序 即實現中斷,轉去執(zhí)行輸入

7、或輸出操作中斷效勞,待輸入輸出操作完成后即返回,CPU再繼續(xù)執(zhí)行原來的程序。這樣就可以大大提高CPU的效率,而且允許CPU與外設甚至多個外設同時工作。8.2.3 直接數據通道傳送DMA中斷傳送仍是由CPU通過程序來傳送,每次要保護斷點,保護現場需用多條指令,每條指令要有取指和執(zhí)行時間。這對于一個高速I/O設備,以及成組交換數據的情況,例如磁盤與內存間的信息交換,就顯得速度太慢了。所以希望用硬件在外設與內存間直接進行數據交換DMA,而不通過CPU,這樣數據傳送的速度的上限就取決于存儲器的工作速度。但是,通常系統(tǒng)的地址和數據總線以及一些控制信號線例如IO/、等是由CPU管理的。在DMA方式時,就希

8、望CPU把這些總線讓出來即CPU連到這些總線上的線處于第三態(tài)高阻狀態(tài),而由DMA控制器接管,控制傳送的字節(jié)數,判斷DMA是否結束,以及發(fā)出DMA結束等信號。這些都是由硬件實現的。1DMA控制器的根本功能DMAC是控制存儲器和外部設備之間直接高速地傳送數據的硬件電路,它應能取代CPU,用硬件完成圖8-17所示的各項功能。具體地說應具有如下功能:1能接收外設的請求,向CPU發(fā)出DMA請求信號。2當CPU發(fā)出DMA響應信號之后,接管對總線的控制,進入DMA方式。3能尋址存儲器,即能輸出地址信息和修改地址。4能向存儲器和外設發(fā)出相應的讀/寫控制信號。5能控制傳送的字節(jié)數,判斷DMA傳送是否結束。6在D

9、MA傳送結束以后,能結束DMA請求信號,釋放總線,使CPU恢復正常工作。2DMA傳送方式各種DMAC一般都有兩種根本的DMA傳送方式:1單字節(jié)方式:每次DMA請求只傳送一個字節(jié)數據,每傳送完一個字節(jié),都撤除DMA請求信號,釋放總線。2字節(jié)字符組方式:每次DMA請求連續(xù)傳送一個數據塊,待規(guī)定長度的數據塊傳送完了以后,才撤除DMA請求,釋放總線。8.3 DMA控制器8237的工作周期8237在設計時規(guī)定它有兩種主要的工作周期或工作狀態(tài),即空閑周期和有效周期。每一個周期又是由假設干個時鐘周期所組成的。8237的工作方式8237在DMA傳送時有四種工作方式。1單字節(jié)傳送方式這種方式一次只傳送一個字節(jié)。

10、數據傳送后字節(jié)計數器減量,地址要相應修改增量或減量取決于編程。HRQ變?yōu)闊o效,釋放系統(tǒng)總線。假設傳送使字節(jié)數減為0,TC發(fā)生或者終結DMA傳送,或重新初始化。2塊傳送方式在這種傳送方式下,8237由DREQ啟動后就連續(xù)地傳送數據,直至字節(jié)數計數器減到零產生TCTerminal Count,或者由外部輸入有效的信號來終結DMA傳送。3請求傳送方式在這種工作方式下,8237可以進行連續(xù)的數據傳送。當出現以下三種情況之一時停止傳送。1字節(jié)數計數器減到0,發(fā)生TC;2由外界送來一個有效的 信號;3外界的DREQ信號變?yōu)闊o效外設的數據已傳送完。4級連方式這種方式用于通過級連以擴展通道的情況。第二級的HR

11、Q和HLDA信號連到第一級的DREQ和DACK上。在前三種工作方式下,DMA傳送有三種類型:DMA讀、寫和校驗。8237的存放器組和編程1現行地址存放器每一個通道有一個16位的現行地址存放器。在這個存放器中保存著用于DMA傳送的地址值,在每次傳送后,這個存放器的值自動增量或減量。這個存放器的值可由CPU寫入或讀出分兩次連續(xù)操作。2現行字節(jié)數存放器每個通道有一個16位的現行字節(jié)數存放器,它保持著要傳送的字節(jié)數,在每次傳送后此存放器減量。當這個存放器的值減為零時,TC將產生。這個存放器的值在編程狀態(tài)可由CPU讀出和寫入。3基地址和基字節(jié)數存放器每一個通道有一對16位的基地址和基字節(jié)數存放器,它們存

12、放著與現行存放器相聯(lián)系的初始值。4命令存放器這是一個8位存放器,用以控制8237的工作。命令字的格式如圖8-24所示。5模式存放器每一個通道有一個6位的模式存放器以規(guī)定通道的工作模式,如圖8-26所示。在編程時用最低兩位來選擇寫入哪個通道的模式存放器。6請求存放器8237的每個通道有一條硬件的DREQ請求線,當工作在數據塊傳送方式時,也可以由軟件發(fā)出DREQ請求。所以,在8237中有一種請求存放器,如圖8-27所示。每個通道的軟件請求可以分別設置。軟件請求是非屏蔽的,它們的優(yōu)先權同樣受優(yōu)先權邏輯的控制。7屏蔽存放器每個通道外設通過DREQ線發(fā)出的請求,可以單獨地屏蔽或允許,所以在8237中有一個屏蔽存放器,如圖8-28所示。8狀態(tài)存放器8237中有一個可由CPU讀取的狀態(tài)存放器,如圖8-29所示。9臨時存放器在存儲器到存儲器的傳送方式下,臨時存放器保存從源單元讀出的數據,又由它寫入至目的單元。在傳送完成時,它保存?zhèn)魉偷淖詈笠粋€字節(jié),此字節(jié)可由CPU讀出。10軟件命令8237在編程狀態(tài)還有兩種軟件命令,軟件命令不需要通

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論