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

溫馨提示

  • 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)論