第7章+輸入輸出接口_第1頁
第7章+輸入輸出接口_第2頁
第7章+輸入輸出接口_第3頁
第7章+輸入輸出接口_第4頁
第7章+輸入輸出接口_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理與接口技術(shù)朱華貴2016年05月03日微機原理與接口技術(shù)第7章輸入輸出接口朱華貴2016年05月03日微機原理與接口技術(shù)本章主要內(nèi)容

I/O接口概述1常用I/O接口芯片2

CPU與外設(shè)之間的數(shù)據(jù)傳送方式3

8086CPU的輸入輸出47.1I/O接口概述輸入和輸出設(shè)備是計算機系統(tǒng)的重要組成部分,完成輸入/輸出(簡稱I/O)操作的部件稱為輸入/輸出接口。各種外部設(shè)備通過輸入輸出接口與系統(tǒng)相連,并在接口電路的支持下實現(xiàn)數(shù)據(jù)傳輸和操作控制。計算機系統(tǒng)中接口的位置7.1.1CPU與I/O設(shè)備之間的接口信息1.數(shù)據(jù)(Data)數(shù)字量模擬量開關(guān)量2.狀態(tài)信息(Status)3.控制信息(Control)7.1.2I/O接口的主要功能1.對輸入輸出數(shù)據(jù)進行緩沖和鎖存2.對信號的形式和數(shù)據(jù)的格式進行變換3.對I/O端口進行尋址4.提供聯(lián)絡(luò)信號7.1.3I/O接口的結(jié)構(gòu)數(shù)據(jù)端口:用于數(shù)據(jù)信息I/O的端口。CPU通過數(shù)據(jù)接收端口輸入數(shù)據(jù),有的能保存外設(shè)發(fā)往CPU的數(shù)據(jù);CPU通過數(shù)據(jù)輸出端口輸出數(shù)據(jù),一般能將CPU發(fā)往外設(shè)的數(shù)據(jù)鎖存。狀態(tài)端口:CPU通過狀態(tài)端口了解外設(shè)或接口部件本身的狀態(tài)??刂贫丝冢篊PU通過控制端口發(fā)出控制命令,以控制接口部件或外設(shè)的動作。7.1.4輸入輸出的尋址方式1.存儲器映像的I/O尋址

存儲單元和I/O端口的地址統(tǒng)一編址。把一個外設(shè)端口作為存儲器的一個單元來對待,故每一個外設(shè)端口占有存儲器的一個地址。

從外部設(shè)備輸入一個數(shù)據(jù),作為一次存儲器讀的操作;而向外部設(shè)備輸出一個數(shù)據(jù),則作為一次存儲器寫的操作。優(yōu)點:CPU對外設(shè)的操作可使用全部的存儲器操作指令,故指令多,使用方便。如可以對外設(shè)中的數(shù)據(jù)(存于外設(shè)的寄存器中)進行算術(shù)和邏輯運算,進行循環(huán)或移位等。內(nèi)存和外設(shè)的地址分布圖是同一個。不需要專門的輸入輸出指令以及區(qū)分是存儲器還是I/O操作的控制信號。缺點:外設(shè)占用了內(nèi)存單元,使內(nèi)存容量減小。7.1.4輸入輸出的尋址方式2.I/O映像的I/O尋址

I/O端口地址與存儲單元地址分開編址。CPU有專門的I/O指令,用地址來區(qū)分不同的外設(shè)。

但要注意實際上是以端口(Port)作為地址單元,因為一個外設(shè)不僅有數(shù)據(jù)寄存器還有狀態(tài)寄存器和控制命令寄存器,它們各需要一個端口才能加以區(qū)分,故一個外設(shè)往往需要數(shù)個端口地址。優(yōu)點:I/O端口不占用存儲器地址,故不會減少用戶的存儲器地址空間;采用單獨的I/O指令,使程序中I/O操作和其他操作層次清晰,便于理解。缺點:單獨I/O指令的功能有限,只能對端口數(shù)據(jù)進行輸入/輸出操作,不能直接進行移位、比較等其他操作;采用專用的I/O操作時序及I/O控制信號線,因而增加了微處理器本身控制邏輯的復(fù)雜性。I/O芯片名稱

地址范圍

DMAC1DMAC2DMA頁面寄存器

0000-001FH00C0-00DFH0080-009FH

中斷控制器1中斷控制器2

0020-003FH00A0-00BFH

定時器并行接口芯片(鍵盤接口)RT/CMOSRAM協(xié)處理器0040-005FH0060-006FH0070-007FH00F0-00FFH系統(tǒng)板I/O接口芯片端口地址(0000H-00FFH):PC/AT/Pentium:A8=A9=0端口(256個)為系統(tǒng)板所用,其他端口(768個)為擴展槽所用。例如:讀取計算機的實時時鐘并顯示。根據(jù)COMSRAM實時鐘信息存放位置表,是編寫程序顯示當(dāng)前的時間,格式為時時:分分:秒秒。MOVAL,4H;04H是存放“小時"的單元偏移地址OUT70H,AL;送地址端口IN AL,71H;讀數(shù)據(jù)端口7.2常用I/O接口芯片7.2常用I/O接口芯片7.3CPU與外設(shè)之間的數(shù)據(jù)傳送方式

CPU與外設(shè)之間的數(shù)據(jù)傳送方式一般有:程序控制方式中斷方式直接存儲器存取方式DMA通道控制方式7.3.1程序控制方式采用程序控制方式時,狀態(tài)和數(shù)據(jù)的傳輸由CPU執(zhí)行一系列指令完成。數(shù)據(jù)傳送過程中,或者由CPU查詢外設(shè)狀態(tài),或者由外設(shè)向CPU發(fā)出請求。這種方式又可分為無條件傳輸方式和程序查詢方式。1.無條件傳輸方式CPU不需要了解外設(shè)狀態(tài),直接與外設(shè)傳輸數(shù)據(jù),適用于按鈕開關(guān)、發(fā)光二極管等簡單外設(shè)與CPU的數(shù)據(jù)傳送過程。這種傳輸方式的特點是硬件電路和程序設(shè)計都比較簡單,一般用于能夠確信外設(shè)已經(jīng)準(zhǔn)備就緒的場合。CPU譯碼數(shù)據(jù)線M/IOWR或門地址線接口外設(shè)輸出CPU譯碼數(shù)據(jù)線M/IORD或門地址線接口外設(shè)輸入【例7-1】接口電路如圖所示。編程不斷掃描開關(guān)Ki(i=0~7)。若開關(guān)Ki閉合,對應(yīng)的發(fā)光二極管LEDi(i=0~7)點亮,否則LEDi熄滅。CODE SEGMENTASSUME CS:CODEMAIN PROC FARSTART:

PUSHDSMOVAX,0PUSHAXAGAIN: MOVDX,200HINAL,DX;讀取開關(guān)狀態(tài)NOTAL;取反OUTDX,AL;輸出控制LEDJMPAGAIN

RET;返回DOSMAIN ENDPCODE ENDSENDSTART【例7-2】硬件連接如前例圖所示,要求LED0~LED7循環(huán)電亮。自到按“ESC”時退出。CODESEGMENTASSUMECS:CODEMAINPROCFAR

START:PUSHDSMOVAX,0PUSHAXMOVDX,200H;設(shè)置I/O端口MOVCL,01H;設(shè)置輸出初值A(chǔ)GAIN: MOVAH,1;讀鍵盤緩沖區(qū)字符INT16H

CMPAL,1BH;若為“ESC”鍵,則退出JZEXITMOVAL,CLOUTDX,AL;輸出控制LED

MOVBX,100;向子程序傳遞參數(shù),實現(xiàn)1秒軟延時CALLDELAY;子程序DELAY實現(xiàn)10ms延時

ROLCL,1;循環(huán)左移1位

JMPAGAINEXIT:RETDELAYPROCNEAR;延時子程序DELAYPUSHBXPUSHCXWAIT0: MOVCX,2801WAIT1: LOOPWAIT1DECBXJNZWAIT0POPCXPOPBXRETDELAYENDPMAINENDPCODEENDSENDSTART2.程序查詢方式也稱為條件傳輸方式,常用于慢速設(shè)備與CPU交換數(shù)據(jù)。CPU與外設(shè)傳輸數(shù)據(jù)之前,先檢查外設(shè)狀態(tài),如果外設(shè)處于“準(zhǔn)備好”狀態(tài)(輸入設(shè)備)或“空閑”狀態(tài)(輸出設(shè)備),才可以傳輸數(shù)據(jù)。為此,接口電路中除了數(shù)據(jù)端口外,還必須有狀態(tài)端口。程序查詢方式的一般過程為:CPU從接口中讀取狀態(tài)字;CPU檢測狀態(tài)字的相應(yīng)位,是否滿足“就緒”條件,如不滿足,則轉(zhuǎn)1);如狀態(tài)位表明外設(shè)已處于“就緒”條件,則傳輸數(shù)據(jù)。輸入時,狀態(tài)寄存器的狀態(tài)指示要輸入的數(shù)據(jù)是否已經(jīng)準(zhǔn)備就緒;

準(zhǔn)備好?讀取狀態(tài)信息輸入數(shù)據(jù)是否數(shù)據(jù)線狀態(tài)線外設(shè)常用的狀態(tài)線有IBF,READY功能:1、輸入設(shè)備準(zhǔn)備好數(shù)據(jù),狀態(tài)線有效;2、CPU讀數(shù)據(jù)端口,取走數(shù)據(jù)后,狀態(tài)線轉(zhuǎn)換為無效1、STB有效,(1)、輸入設(shè)備數(shù)據(jù)進入鎖存器;(2)、IBF有效2、CPU讀狀態(tài)端口3、CPU讀數(shù)據(jù)端口,同時清IBF外設(shè)STBIBF/RD123輸出時,狀態(tài)寄存器的狀態(tài)指示輸出設(shè)備是否空閑。忙?讀取狀態(tài)信息輸出數(shù)據(jù)否是數(shù)據(jù)線狀態(tài)線外設(shè)常用的狀態(tài)線有empty,busy功能:1、輸出設(shè)備空閑,BUSY無效;2、CPU寫數(shù)據(jù)端口,輸出設(shè)備輸出數(shù)據(jù),狀態(tài)線轉(zhuǎn)換為有效1、CPU讀狀態(tài)端口,查BUSY線2、CPU寫數(shù)據(jù),(1)、數(shù)據(jù)進入數(shù)據(jù)鎖存器;(2)、BUSY有效3、輸出設(shè)備工作完畢,busy無效外設(shè)7.3.2中斷方式不讓CPU主動去查詢外設(shè)的狀態(tài),而是讓外設(shè)在數(shù)據(jù)準(zhǔn)備好之后再通知CPU。這樣,CPU在沒接到外設(shè)通知前只管做自己的事情,只有接到通知時才執(zhí)行與外設(shè)的數(shù)據(jù)傳輸工作,從而大大提高CPU的利用率。中斷方式詳見第10章。7.3.2中斷方式主程序中斷服務(wù)子程序中斷申請信號7.3.3直接存儲器存?。―MA)方式DMA方式就是在系統(tǒng)中建立一種機制,將外設(shè)與內(nèi)存間建立起直接的通道,CPU不再直接參加外設(shè)與內(nèi)存間的數(shù)據(jù)傳輸,而是在系統(tǒng)需要進行DMA傳輸時,將CPU對地址總線、數(shù)據(jù)總線及控制總線的管理權(quán)交由DMA控制器進行控制。當(dāng)完成一次DMA數(shù)據(jù)傳輸后,再將這個控制權(quán)還給CPU。7.3.3直接存儲器存?。―MA)方式DMA方式由硬件自動實現(xiàn)的,并不需要程序進行控制。DMAC(稱為DMA控制器)芯片來完成相關(guān)工作,如內(nèi)存地址的修改、字節(jié)長度的控制。當(dāng)CPU放棄數(shù)據(jù)總線、地址總線及控制總線的控制權(quán)時,由DMAC實現(xiàn)外設(shè)和內(nèi)存間的數(shù)據(jù)交換,同時也包括與CPU之間必要的連接。ABDBCB

CPUDMACMemoryI/OHOLDHLDA(1)DMAC接收I/O接口的DMA請求,并向CPU發(fā)出總線請求信號HOLD;DMA的基本功能和步驟(2)當(dāng)CPU發(fā)出總線回答信號HLAD后,接管對總線的控制,進入DMA傳送過程;(3)能實現(xiàn)有效的尋址,即能輸出地址信息并在數(shù)據(jù)傳送過程中自動修改地址;(4)能向存儲器和I/O接口發(fā)出相應(yīng)的讀/寫控制信號;(5)能控制數(shù)據(jù)傳送的字節(jié)數(shù),控制DMA傳送是否結(jié)束;(6)在DMA傳送結(jié)束后,能釋放總線給CPU,恢復(fù)CPU對總線的控制。7.3.4通道控制方式和I/O處理器在大、中型計算機系統(tǒng)中,配置的I/O設(shè)備很多,輸入輸出操作十分頻繁,如果僅用DMA控制器,則需要CPU不斷地對各個DMA控制器進行設(shè)置,影響CPU的正常工作。將DMA控制器的功能增強,使其能夠按CPU的意圖自行設(shè)置操作方式,控制數(shù)據(jù)傳送。于是,DMA控制器發(fā)展成了通道控制器。1.I/O通道(I/OChannel)早期的“通道”是由一些簡單的、主要用于數(shù)據(jù)輸入輸出的CPU構(gòu)成,可配置簡單的輸入輸出程序。主CPU只需使用簡單的通道命令啟動通道,二者即可并行工作。輸入輸出程序可以在主存中,也可以在通道的局部存儲器中。主CPU一旦啟動通道工作,通道控制器即從主存或通道存儲器中取出相應(yīng)的程序,控制數(shù)據(jù)的輸入輸出。2.I/O處理器(IOP)通道控制器發(fā)展成I/O處理器(I/OProcessor),也稱為I/O處理機。主要由一個進行I/O操作的CPU、內(nèi)部寄存器、局部存儲器和設(shè)備控制器組成。在一個通道處理器中可有多個通道,分別與多個設(shè)備控制器連接;而一個設(shè)備控制器可控制多臺外設(shè)工作。在實際使用中,I/O處理器與主CPU構(gòu)成多處理器(或稱多處理機)系統(tǒng),相互并行工作。3.外圍處理機(PPU)I/O處理器的功能不斷增強,又出現(xiàn)了外圍處理機PPU(PeripheralProcessorUnit)。除了完成I/O通道所要完成的I/O控制之外,還增強了路由選擇、數(shù)碼轉(zhuǎn)換、格式處理、數(shù)據(jù)塊檢錯/糾錯等功能。它的算術(shù)邏輯處理功能增強,緩沖寄存器增多,基本上獨立于主機完成所有的輸入輸出操作。1、I/O

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論