微型計算機原理及應用課件第六章輸入和輸出第一講.ppt_第1頁
微型計算機原理及應用課件第六章輸入和輸出第一講.ppt_第2頁
微型計算機原理及應用課件第六章輸入和輸出第一講.ppt_第3頁
微型計算機原理及應用課件第六章輸入和輸出第一講.ppt_第4頁
微型計算機原理及應用課件第六章輸入和輸出第一講.ppt_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第六章 輸入/輸出與中斷,1,6. 1 I/O接口概述 6. 2 I/O端口地址譯碼 6.3 基本的并行輸入/輸出接口 6.4 程序控制I/O方式 6.5 中斷方式 6.6 直接存儲器存取(DMA)方式 習題,6.1 輸入/輸出接口概述,接口解決微處理器與外設之間的差異 外設種類多 信號類型有機械的、物理的、電信號等 信號形式有脈沖、模擬量或數字量 數據傳輸率不同 數據格式不同 數據傳輸方式不同,有并行、串行之分 CPU與外設都是面向接口而非直接聯絡,2,第6章 輸入/輸出技術,圖6.1 典型I/O接口模型,3,數據信息、狀態(tài)信息及控制信息,數據信息,數據信息:要交換的數據本身。 數字量:通常以8位或16位的二進制數以及ASCII碼的形式傳輸,主要指由鍵盤、磁帶機、磁盤等輸入的信息或主機送給打印機、顯示器、繪圖儀等的信息 開關量:用“0”和“1”來表示兩種狀態(tài),如開關的通/斷 模擬量:模擬的電壓、電流或者非電量。對模擬量輸入而言,需先經過傳感器轉換成電信號,再經A/D轉換器變成數字量;如果需要輸出模擬控制量的話,就要進行上述過程的逆轉換 數據傳輸方向:CPU I/O接口外設,4,控制信息,控制信息:控制外設工作的命令,CPU通過接口發(fā)出,如A/D轉換器的啟/停信號 數據傳輸方向:CPUI/O接口處設,5,狀態(tài)信息,狀態(tài)信息:表征外設工作狀態(tài)的信息 對輸入接口, CPU是否準備好接收數據,READY” 準備好嗎? 對輸出接口, 外設是否準備好接收數據,“BUSY” 外設忙嗎? 數據傳輸方向:CPUI/O接口外設,6,I/O端口,傳送這三種信息的接口電路中的寄存器稱為數據、狀態(tài)和控制端口 不同的寄存器有不同的端口地址,即用地址訪問 端口由一個或多個寄存器組成 接口由若干個端口加上相應的控制邏輯組成,7,接口的基本功能,數據緩沖功能 設備選擇功能 信號轉換功能 接收、解釋并執(zhí)行CPU命令的功能 中斷管理功能 可編程功能,8,接口電路的結構,實現對CPU數據總線速度和驅動能力的匹配,實現各寄存器端口尋址操作,實現接口電路中的各寄存器端口的讀/寫操作和時序控制,9,接口電路的分類,數據傳送方式: 并行接口 串行接口 功能選擇的靈活性: 可編程接口 不可編程接口 數據傳送操作的同步方式: 同步接口 異步接口 通用性: 通用接口 專用接口,10,6.2 I/O端口的編址方式,為了區(qū)分接口電路的各個寄存器,系統(tǒng)為它們各自分配了一個地址,稱為I/O端口地址,以便對它們進行尋址并與存儲器地址相區(qū)別 I/O端口有兩種編址方式:存儲器映像方式、I/O獨立編址方式,11,1、存儲器映像編址,指I/O端口與存儲器共享一個尋址空間,又稱為統(tǒng)一編址。在這種系統(tǒng)中,CPU可以用同樣的指令對I/O端口和存儲器單元的進行訪問。 優(yōu)點:對I/O口的訪問靈活方便,有利于提高端口數據的處理能力。 缺點:I/O端口占用了主存地址,相對減少了主存的可用范圍。,12,2、I/O獨立編址(一),指主存地址空間和I/O端口地址空間相互獨立,分別編址。CPU通過指令來區(qū)分是訪問I/O口還是存儲單元 優(yōu)點:主存和I/O端口的地址可用范圍都比較大; 缺點:I/O指令的功能一般比較弱,在I/O操作中必須借助CPU的寄存器進行中轉,13,2、I/O獨立編址(二),80X86系列微處理器采用獨立的I/O編址方式 CPU使用地址總線中的A0A15來尋址I/O口,故最大I/O空間是64K個字節(jié)端口(或32K個字端口),14,兩種編址方式比較(一),分別是分離編址?還統(tǒng)一編址?,15,兩種編址方式比較(二),16,6.3 I/O接口的訪問控制,微機系統(tǒng)的每個端口都有惟一的端口地址 端口地址:經譯碼電路譯碼后產生端口選通信號,控制端口的讀/寫操作,17,I/O端口的地址分配,80X86系列微處理器提供16條地址線訪問I/O端口,編址可達64K個字節(jié)端口或者32K個字端口。 IBM系列采用非完全譯碼方式,即只考慮了低10位地址線A0-A9,I/O端口地址范圍是0000H-03FFH,總共只有1024個字節(jié)端口 80386微處理器或此后的微處理器構成的微機系統(tǒng),采用全譯碼的方法,端口為64K個字節(jié)端口或32K個字端口,18,I/O端口地址選用的原則,自行設計接口電路或給微機系統(tǒng)添加接口卡時,必須避免端口地址發(fā)生沖突 申明保留的地址,不要使用 用戶可使用300H-31FH地址,19,I/O端口的地址譯碼,將來自地址總線上的地址代碼翻譯成為所需要訪問端口的選通信號 I/O端口地址譯碼電路結構 譯碼電路的輸入信號 地址信號:由地址范圍決定 控制信號:數據流向(讀/寫)、數據寬度(8位/16位)、是否采用奇/偶地址和DMA傳送方式 譯碼電路的輸出信號:接口芯片的片選信號 端口的讀寫控制:輸入需要緩沖,輸出需要鎖存,20,I/O地址譯碼方法,地址譯碼的方法靈活多樣 高位地址線與CPU的控制信號進行組合,經譯碼電路產生I/O接口芯片的片選信號CS,實現系統(tǒng)中的接口芯片尋址 低位地址線直接接到I/O接口芯片的地址引腳,進行I/O接口芯片的片內端口尋址,21,6.5 I/O接口的數據傳輸控制方式,外設的速度與CPU相比要慢好幾個數量級,且不同外設之間的速度也相差很大,為了保證數據傳輸的可靠性,CPU一定要等外設準備就緒之后才能執(zhí)行輸入/輸出操作,而外設就緒的時刻對CPU而言是隨機的,因此需要同步。 三種I/O同步控制方式: 程序控制方式:無條件程序控制和程序查詢 中斷控制方式 直接存儲器存取方式,DMA方式,22,無條件程序控制方式(一),最簡單的I/O控制方式,CPU可以隨時根據需要無條件地讀寫I/O端口 外設要求:簡單,數據變化緩慢,操作時間固定,如一組開關或LED顯示管。外設被認為始終處于就緒狀態(tài) 接口特點 CPU的DBI/O接口(輸出鎖存器)外設 CPU的DBI/O接口(輸入緩沖器)外設,23,無條件程序控制方式(二),24,無條件程序控制方式(三),例 START: MOV DX,INPORT IN AL,DX;讀入按鍵狀態(tài) TEST AL,01H;判斷最低位按鍵 JNZ K1;最低位按鍵沒閉合,轉 MOV AL,01H;最低位發(fā)光 JMP DISP K1:TEST AL,02H; JNZ K2;次低位按鍵沒閉合,轉 MOV AL,03H;最低2位發(fā)光 JMP DISP .,DISP: MOV DX,OUTPORT OUT DX,AL; JMP START,25,程序查詢輸入方式(條件傳送方式 ),接口特點:避免了對端口的“盲讀”、“盲寫” ,數據傳送的可靠性高,并且硬件接口相對簡單。缺點是CPU工作效率低,I/O響應速度慢;,外設要求:狀態(tài)口和數據口,在有多個外設的系統(tǒng)中,CPU的查詢順序由外設的優(yōu)先級確定,一種CPU主動、外設被動的I/O操作方式,很好地解決了CPU與外設之間的同步問題,26,查詢控制的程序流程,27,程序查詢方式的輸入接口電路,28,數據端口(8位),狀態(tài)端口(1位),狀態(tài)信息占用數據線的D0位,查詢程序如下: QUERY:IN AL,S_PORT;狀態(tài)口地址 SAR AL,1 JNC QUERY IN AL,D_PORT;D_PORT是數據口地址,查詢輸入程序,29,查詢方式的A/D采樣,WAIT:IN AL,51H;讀狀態(tài)端口的值 TEST AL,10H;判斷D4是否為1? JZ WAIT;不是1,等待 IN AL,50H;讀數據端口的值 MOV BUF,AL;將數據送到數據緩沖單元,30,程序查詢輸出方式,31,數據端口(8位),狀態(tài)端口(1位),BUSY,輸入狀態(tài)信息,BUSY?,輸出數據信息,N,Y,QUERY:IN AL,S_PORT;狀態(tài)口地址 SAR AL,1 JC QUERY OUT D_PORT,AL;D_PORT數據口地址,查詢輸出程序,32,查詢方式的打印機接口,WAIT:IN 7AH,AL ;讀狀態(tài)端口 TEST AL,04H ;判斷D2是否為0? JNZ WAIT ;不是0,等待 MOV AL,BUF ;取數據 OUT 78H,AL ;將數據送到打印機接口,33,多個外設的查詢,CPU周期性地依次查詢每個外設的狀態(tài) 優(yōu)先權決定了查詢次序 不具有實時性,34,圖6.17 用查詢方式實現I/O傳送的示例 (a) 外設與微機接口電路;(b) 外設工作時序,35,第6章 輸入/輸出技術,圖6.18 幾種輪詢控制流程,36,中斷控制方式,接口特點:避免了CPU 反復低效率的查詢,適用于CPU任務繁忙、而數據傳送不太頻繁的系統(tǒng)中。缺點是硬件電路和處理過程都比較復雜;(中斷控制芯片),CPU被動而外設主動的I/O操作方式,較大地提高了CPU的工作效率,并使系統(tǒng)具有了實時處理功能,37,中斷控制方式,數據緩沖,控制端口,外 設,INTR,中斷可被響應的條件: 中斷請求觸發(fā)器置位;中斷屏蔽觸發(fā)器清零;CPU內部開放中斷;CPU未處理更高級中斷;CPU現行指令執(zhí)行完,38,中斷工作過程,外設需要CPU服務時 外設I/O接口向CPU發(fā)中斷請求,INTR=H(中斷請求有效) CPU執(zhí)行完當前指令后, (注: 若IF = 1) CPU I/O接口 外設發(fā)中斷響應,/INTA = L CPU執(zhí)行中斷服務程序, CPUI/O接口外設讀寫數據,39,DMA控制方式(存儲器直接存取),內存與外設間有大量數據交換時,采用中斷方式,每傳送一次數據,就必須經歷中斷處理的全部步驟,而且一般需要借助CPU內部的寄存器作為中介 DMA方式:不用CPU的寄存器作傳數中介, 完成存儲器和外設間的直接傳數,CPU必須將系統(tǒng)總線的控制權讓給DMAC,40,DMA方式原理方框圖,DB HOLD CPU HLDA AB,DMAC,MEM,I/O,41,DMA的工作流程,DMAC發(fā)存儲器地址,在總線上傳送數據,傳送結束?,修改地址指針,DMA結束,交還總線權,Y,N,42,能實現上述操作的DMA控制器的硬件方框圖下如圖所示。,隨著大規(guī)模集成電路技術的發(fā)展,DMA傳送已不局限于存儲器與外設間的信息交換,而可以擴展為在存儲器的兩個區(qū)域之間,或兩種高速外設之間進行DMA傳送,如右圖所示。,DMA的三種傳輸方式: 連續(xù)傳送(塊傳送) DMAC申請到總線后,將一塊數據傳送完后才釋放總線,而不管中間DREQ是否有效。 單次傳送(每次傳送一個字節(jié)) 每個DMA周期只傳送一個字節(jié)就立即釋放總線。 按需傳送(猝發(fā)傳送) 只要I/O接口的數據緩沖可用,就進行傳送。 (注:I/O接口需要有一定大小的FIFO緩沖),45,Y,N,允許DMA,DMA請求?,DMAC請求總線,CPU響應, DMAC獲總線控制權,DMA傳送一個字節(jié),塊結束?,地址增量,計數器減量,DMAC釋放總線,Y,數據塊傳送,N,46,N,Y

溫馨提示

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

評論

0/150

提交評論