版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
9.2.2 基本輸入輸出方法CPU與外設(shè)的工作速度不一致,如何使兩者高效、可靠地進行數(shù)據(jù)傳送,是接口技術(shù)討論的問題?;据斎胼敵龇椒ǎ撼绦蚩刂频妮斎?輸出方式;程序中斷輸入/輸出方式;直接存儲器存取(DMA:DirectMemoryAccess)方式;專用I/O處理器方式。概述1.無條件傳送(CPU與外設(shè)同步工作):外部控制過程各種動作時間是固定的,而且是已知的。2.查詢方式(CPU與外設(shè)不同步工作):傳送前,先查詢外設(shè)狀態(tài),準(zhǔn)備好才傳送,否則CPU處于等待狀態(tài)。3.中斷方式: 外設(shè)與CPU處于并行工作,一旦外設(shè)準(zhǔn)備好,外設(shè)向CPU發(fā)中斷申請,條件具備,CPU暫停原程序執(zhí)行,響應(yīng)中斷,外設(shè)與CPU串行工作。4.DMA方式(高速I/O及成組交換數(shù)據(jù)):
CPU不干予,由硬件實現(xiàn)存儲器與外設(shè)之間交換數(shù)據(jù),稱直接存取存儲器。程序控制的輸入/輸出無條件傳送程序數(shù)據(jù)傳送輸入狀態(tài)字?jǐn)?shù)據(jù)傳送YN數(shù)據(jù)準(zhǔn)備好?有條件傳送一、無條件傳送方式(同步傳送方式)實現(xiàn)方法
CPU不查詢外設(shè)工作狀態(tài),與外設(shè)速度的匹配通過在軟件上延時完成,在程序中直接用I/O指令,完成與外設(shè)的數(shù)據(jù)傳送
特點
1.適用于外設(shè)動作時間已知,在CPU與外設(shè)進行數(shù)據(jù)傳送時,外設(shè)保證已準(zhǔn)備好的情況
2.軟硬件十分簡單。例1
無條件輸入接口接口電路,即硬件上保證:只在CPU執(zhí)行從200H端口輸入數(shù)據(jù)時,
三態(tài)門處于工作狀態(tài),使輸入設(shè)備的數(shù)據(jù)送上總線側(cè),而CPU執(zhí)行其它指令時,
三態(tài)門均處于高阻狀態(tài),使輸入設(shè)備的數(shù)據(jù)線與總線側(cè)斷開三態(tài)緩沖器輸入設(shè)備數(shù)據(jù)線IOR地址譯碼地址線
200H000D7~D0A15~A0與非PC總線無條件輸入編程:
從端口200H讀入100個字節(jié)到內(nèi)存緩沖區(qū)buffer中。......MOVAX,SEGbufferMOVDS,AX;取緩沖區(qū)
LEADI,buffer;首地址
MOVCX,100;傳送個數(shù)
MOVDX,200H;端口地址next: CALLdelay ;延時等待
INAL,DX;讀入數(shù)據(jù)
MOV[DI],AL;送緩沖區(qū)
INCDI;修改指針
LOOPnext.......;延時子程delayPROCPUSHCXMOVCX,80Hcc:LOOPccPOPCXRETdelayENDP例2無條件輸出接口PC總線鎖存器輸出設(shè)備數(shù)據(jù)線IOW地址譯碼地址線
300H000D7~D0A15~A0與非例2
無條件輸出:編程控制系統(tǒng)板上揚聲器發(fā)聲。
4765321061H端口
8253與門放大器揚聲器01控制其它外設(shè)揚聲器控制電路圖:發(fā)聲原理:向揚聲器發(fā)送一串脈沖信號,推動揚聲器內(nèi)紙盆振動,發(fā)出聲音脈沖的頻率,控制音高;脈沖的個數(shù),控制音長1.使61H端口的0位輸出0,控制8253輸出1。2.使61H端口的1位按所需頻率交替輸出0和1,產(chǎn)生所需的聲音。編程方法:
4765321061H端口
8253與門放大器揚聲器01控制其它外設(shè)揚聲器控制電路圖:codeSEGMENTASSUMECS:codestart:MOVBX,3000H;控制脈沖個數(shù)
MOVDX,6000H;控制脈沖周期
INAL,61H
;讀入61H端口數(shù)據(jù)
ANDAL,11111100b;D0為0,8253輸出1sound:XORAL,00000010bOUT61H,AL;61H端口的D1交替為0和1MOVCX,DXdelay:LOOPdelay;延時
DECBX;控制脈沖數(shù)
JNZsoundMOVAH,4CHINT21HcodeENDSENDstart發(fā)聲程序:
61H端口8253與門放大器揚聲器01控制其它外設(shè)二、條件傳送方式(查詢傳送方式)實現(xiàn)方法:在與外設(shè)進行傳送數(shù)據(jù)前,CPU先查詢外設(shè)狀態(tài),當(dāng)外設(shè)準(zhǔn)備好后,才執(zhí)行I/O指令,實現(xiàn)數(shù)據(jù)傳送特點:1.CPU通過不斷查詢外設(shè)狀態(tài),實現(xiàn)與外設(shè)的速度匹配2.CPU的工作效率低查詢傳送方式,編程流程:NY從狀態(tài)端口讀入狀態(tài)信息從數(shù)據(jù)端口傳送一個數(shù)據(jù)外設(shè)準(zhǔn)備好否?例1
查詢方式輸入假設(shè)外設(shè)的狀態(tài)端口為21CH,其中D4=1時,表示外設(shè)數(shù)據(jù)準(zhǔn)備好外設(shè)的數(shù)據(jù)端口為218H。實現(xiàn)從外設(shè)讀入50H個字節(jié)到內(nèi)存緩沖區(qū)buffer中。21CH端口狀態(tài)端口218H端口數(shù)據(jù)端口地址譯碼數(shù)據(jù)緩沖控制電路輸入外備CPU地址線數(shù)據(jù)線控制線查詢方式輸入接口狀態(tài)端口D4=1表示外設(shè)準(zhǔn)備好三態(tài)緩沖器輸入設(shè)備數(shù)據(jù)線218H
數(shù)據(jù)端口地址譯碼地址線
狀態(tài)端口地址譯碼鎖存器IOR
R
Q
D三態(tài)緩沖器+5vD421CH
STBPC總線IORA15~A0D7~D0&&MOVDX,218HINAL,DXMOVDX,21CHask:INAL,DXTESTAL,10hJZask從21CH狀態(tài)端口讀入外設(shè)狀態(tài)信息從218H數(shù)據(jù)端口讀入一個字節(jié)數(shù)據(jù)YND4=1,外設(shè)準(zhǔn)備好否?N50H個數(shù)據(jù)傳送結(jié)束?Y編程從外設(shè)讀入50H個字節(jié)到內(nèi)存緩沖區(qū)buffer中......MOVAX,SEGbuffer;取緩沖區(qū)首地址
MOVDS,AXLEADI,bufferMOVCX,50H;傳送個數(shù)next:MOVDX,21CHask:INAL,DX;從狀態(tài)端口讀入狀態(tài)信息TESTAL,00010000B;檢測D4位JZask;D4=0,繼續(xù)查詢MOVDX,218HINAL,DX;從數(shù)據(jù)端口讀入數(shù)據(jù)MOV[DI],AL;送緩沖區(qū)INCDI;修改緩沖區(qū)指針LOOPnext;傳送下一個......查詢方式輸入程序段:例2
查詢方式輸出假設(shè)外設(shè)的狀態(tài)端口為21CH,其中D0=0時,表示外設(shè)準(zhǔn)備好外設(shè)的數(shù)據(jù)端口為219H。編程將緩沖區(qū)buffer的80H個字節(jié)輸出到外設(shè)。21CH端口狀態(tài)端口219H端口數(shù)據(jù)端口地址譯碼數(shù)據(jù)緩沖控制電路輸出外設(shè)CPU地址線數(shù)據(jù)線控制線查詢方式輸出接口狀態(tài)端口D0=0表示外設(shè)準(zhǔn)備好輸出設(shè)備數(shù)據(jù)線219H數(shù)據(jù)端口地址譯碼地址線
鎖存器
RD
Q
三態(tài)緩沖器+5vACKPC總線IORA15~A0D7~D0IOW狀態(tài)端口地址譯碼D021CH&&MOVDX,219HOUTDX,ALMOVDX,21CHAsk:INAL,DXTESTAL,01hJNZask
STB從21CH狀態(tài)端口讀入外設(shè)狀態(tài)信息將一字節(jié)數(shù)據(jù)送至219H數(shù)據(jù)端口YND0=0,外設(shè)準(zhǔn)備好否?N80H個數(shù)據(jù)傳送結(jié)束?Y編程將緩沖區(qū)buffer的80H個字節(jié)輸出到外設(shè)......MOVAX,SEGbuffer;取緩沖區(qū)首地址
MOVDS,AXLEASI,bufferMOVCX,80H;傳送個數(shù)next:MOVDX,21CHask:INAL,DX;從狀態(tài)端口讀入狀態(tài)信息
TESTAL,00000001B;檢測D0位
JNZask;D0≠0,繼續(xù)查詢
MOVAL,[SI];從緩沖區(qū)取數(shù)
MOVDX,219HOUTDX,AL;從數(shù)據(jù)端口輸出數(shù)據(jù)
INCSI;修改緩沖區(qū)指針
LOOPnext;輸出下一個
......查詢方式輸出程序段:
三、中斷傳送方式
實現(xiàn)方法:
1.
當(dāng)外設(shè)準(zhǔn)備好,向CPU發(fā)出中斷請求
2.CPU在滿足響應(yīng)中斷的條件下,發(fā)出中斷響應(yīng)信號;
3.CPU暫停當(dāng)前的程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,完成與外設(shè)的數(shù)據(jù)傳送;
4.CPU從中斷服務(wù)程序返回,繼續(xù)執(zhí)行被中斷的程序
缺點主要有:為了能接受中斷的請求信號,CPU內(nèi)部要有相應(yīng)的中斷控制電路,外圍設(shè)備要提供中斷請求信號及中斷類型號。利用中斷輸入/輸出,每傳送一次數(shù)據(jù)就要中斷一次CPU。CPU響應(yīng)中斷后,進入中斷處理將程序引導(dǎo)至“中斷服務(wù)程序”入口。在“中斷服務(wù)程序”中一般都要保護現(xiàn)場、恢復(fù)現(xiàn)場,這要安排多條指令,浪費了很多CPU時間。故此種傳送方式一般較適合于傳送少量的輸入/輸出數(shù)據(jù)以及中低速度的外圍設(shè)備。對于大量的輸入/輸出數(shù)據(jù),應(yīng)采用高速的直接存儲器存取方式DMA。中斷服務(wù)程序發(fā)申請中斷服務(wù)程序發(fā)申請中斷方式下CPU執(zhí)行程序流程外設(shè)使用中斷方式時:外設(shè)準(zhǔn)備數(shù)據(jù),CPU執(zhí)行程序,
CPU與外設(shè)并行工作;一旦外設(shè)準(zhǔn)備就緒,外設(shè)向CPU發(fā)中斷申請,CPU暫停原程序執(zhí)行,響應(yīng)中斷,進行數(shù)據(jù)傳輸。此時,CPU與外設(shè)是串行工作。
中斷傳送方式的特點:1.CPU和外設(shè)大部分時間處在并行工作狀態(tài),
只在CPU響應(yīng)外設(shè)的中斷申請后,進入數(shù)據(jù)傳送的過程2.中斷傳送方式提高了CPU的效率(1)當(dāng)外設(shè)數(shù)據(jù)準(zhǔn)備好,外設(shè)向接口電路發(fā)出選通信號:
將數(shù)據(jù)打入鎖存器;同時將中斷請求觸發(fā)器置“1”,(2)若此時,中斷請求屏蔽觸發(fā)器置“0”,允許本接口發(fā)出中斷,
接口電路向CPU發(fā)出中斷請求信號INTR;(3)CPU在運行程序時不斷訪問INTR,若查到INTR信號, 且CPU內(nèi)部中斷允許標(biāo)志IF=1,則CPU在現(xiàn)行指令執(zhí)行完后, 暫停程序的執(zhí)行,向接口電路發(fā)出中斷響應(yīng)信號INTA。(4)外設(shè)把中斷類型號送上數(shù)據(jù)總線;(5)CPU轉(zhuǎn)入中斷服務(wù)程序,執(zhí)行IN指令,讀入數(shù)據(jù); 清除中斷請求標(biāo)志。當(dāng)中斷處理完后,返回原程序。3.直接存儲器存取方式(DMA)
外圍設(shè)備通過DMAC向CPU申請DMA請求CPU響應(yīng)DMA請求交出總線控制權(quán)從源地址中讀取數(shù)據(jù)將數(shù)據(jù)寫到目標(biāo)地址DMA結(jié)束數(shù)據(jù)傳送結(jié)束否?修改地址指針NYDMA傳送方式(直接存儲器存取方式)
實現(xiàn)方法:
1.由專用接口芯片DMA控制器(稱DMAC)控制傳送過程,2.當(dāng)外設(shè)需傳送數(shù)據(jù)時,通過
DMAC向CPU發(fā)出總線請求;3.CPU發(fā)出總線響應(yīng)信號,釋放總線;4.DMAC接管總線,控制外設(shè)、內(nèi)存之間直接數(shù)據(jù)傳送DMA
傳送方式過程CPUDMAC內(nèi)存外設(shè)總線響應(yīng)總線請求DMA傳送方式的特點
1.外設(shè)和內(nèi)存之間,直接進行數(shù)據(jù)傳送,不通過CPU,傳送效率高。適用于在內(nèi)存與高速外設(shè)、或兩個高速外設(shè)之間進行大批量數(shù)據(jù)傳送。
2.電路結(jié)構(gòu)復(fù)雜,硬件開銷較大。
接收接口往DMA控制器發(fā)出DMA請求信號后,
DMA控制器能向CPU發(fā)出總線請求信號HOLD(高電平)。當(dāng)CPU向DMA發(fā)出響應(yīng)信號HLDA(高電平)以后,
DMA能接管對總線的控制,進入DMA方式。能向地址總線發(fā)出內(nèi)存地址信息,對其進行尋址及修改地址指針。能向存儲器或外設(shè)發(fā)#RD,#WR命令。能決定傳送字節(jié)數(shù),并判斷DMA傳送是否結(jié)束。
DMA過程結(jié)束,能向CPU發(fā)出DMA結(jié)束信號,HOLD變低,將總線控 制權(quán)還給CPU,CPU恢復(fù)正常工作。DMA控制器功能用DMA方式進行輸出過程與輸入過程類似,只是在DMA控制器發(fā)出回答信號后接著發(fā)出的是I/O寫信號和存儲器讀信號,數(shù)據(jù)傳送方向與輸入相反而已。DMA控制器工作原理4.專用I/O處理器方式
對于有大量的、高速的I/O設(shè)備的微機系統(tǒng),前面幾種方法都難以滿足要求,于是,人們又提出并實際上廣泛采用了一種專用I/O處理機(IOP)控制方式,比如8089。這種方式是把原來由CPU完成的各種I/O操作與控制全部交給I/O處理器去完成。I/O處理器能夠直接存取系統(tǒng)主存儲器,能夠中斷CPU或被CPU查詢,并能直接執(zhí)行I/O程序和數(shù)據(jù)預(yù)處理程序。因此,這種方式可以大大提高CPU對具有大量I/O設(shè)備的數(shù)據(jù)吞吐量。接口技術(shù)1.用簡單的邏輯電路2.用可編程集成接口芯片3.用多功能的芯片組1.用簡單的邏輯電路采用簡單的邏輯部件完成接口電路特點:原理清楚,但實際用得少。
例1無條件輸入接口例2無條件輸出接口例3查詢輸入接口例4查詢輸出接口注意:有些控制信號采用的是8088CPU工作于最小模式下的信號有些控制信號采用的是IBMPC/XT總線上的信號例1無條件輸入接口三態(tài)緩沖器輸入設(shè)備數(shù)據(jù)線IOR地址譯碼地址線
200H000D7~D0A15~A0與非PC總線注意:在邏輯門前輸入信號的,表示對信號求反。與鎖存器、三態(tài)門等控制端的意義不同。簡單的邏輯電路:例2無條件輸出接口PC總線鎖存器輸出設(shè)備數(shù)據(jù)線IOW地址譯碼地址線
300H000D7~D0A15~A0與非簡單的邏輯電路:例3
查詢輸入接口狀態(tài)端口D4=1表示外設(shè)準(zhǔn)備好三態(tài)緩沖器輸入設(shè)備數(shù)據(jù)線218H
數(shù)據(jù)端口地址譯碼地址線
狀態(tài)端口地址譯碼鎖存器IOR
R
Q
D三態(tài)緩沖器+5vD421CH
STBPC總線IORA15~A0D7~D0&&MOVDX,218HINAL,DXMOVDX,21CHINAL,DX簡單的邏輯電路:例4查詢輸出接口狀態(tài)端口D0=0表示外設(shè)準(zhǔn)備好輸出設(shè)備數(shù)據(jù)線219H數(shù)據(jù)端口地址譯碼地址線
鎖存器
RD
Q
三態(tài)緩沖器+5vACKPC總線IORA15~A0D7~D0IOW狀態(tài)端口地址譯碼D021CH&&MOVDX,219HOUTDX,ALMOVDX,21CHINAL,DX簡單的邏輯電路:STB2.用可編程集成接口芯片
將完成某一功能的接口電路集成在一個芯片上,通過對接口芯片編程,設(shè)置接口芯片的工作狀態(tài)。特點:1.體積小、功能強、可靠性高2.通常是專門為配合微機系統(tǒng)中的各種適配器設(shè)計,不必增加或增加很少的電路,就可直接與總線連接,使用方便。3.應(yīng)用時,應(yīng)掌握芯片的工作原理、外部特性、編程方法。接口芯片舉例:并行接口芯片8255A、8155A、Z80-PIO串行接口芯片8251A、8250、Z80-SIO定時/計數(shù)器8253、8254、Z80-CTC中斷控制器8259ADMA控制器8237A、Z80-DMA鍵盤控制器8279CRT控制器8275、6845硬盤控制器6843
D/A轉(zhuǎn)換器DAC0832A/D轉(zhuǎn)換器ADC0809例用可編程并行接口芯片8255A做打印機的接口。查詢方式接線圖A0A1CS并行接口8255A打印機PC總線A0A1數(shù)據(jù)線IORRDWRIOW片選譯碼PA0~PA7PC0PC4A2~A9數(shù)據(jù)線STROBEBUSYD0~D7D0~D7中斷方式接線圖A0A1CS并行接口8255A打印機PC總線A0A1數(shù)據(jù)線IORRDWRIOW片選譯碼PA0~PA7PC7PC6A2~A9數(shù)據(jù)線STROBEACKD0~D7D0~D7PC3IRQ33.用多功能的芯片組
將完成多個功能的接口電路集成在一個芯片上,通過編程,設(shè)置控制字,改變接口芯片的工作狀態(tài)。例
82206集成外設(shè)控制器,內(nèi)部包含:
2個8237DMA控制器2個8259A中斷控制器
1個8
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高考語文復(fù)習(xí)知識清單第2章文學(xué)類文本閱讀(一)小說專題01賞析小說故事情節(jié)(學(xué)生版+解析)
- 臍橙樹打藥安全責(zé)任書承包合同(2篇)
- 南京工業(yè)大學(xué)浦江學(xué)院《專業(yè)綜合實訓(xùn)(通信工程)》2022-2023學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《審計學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 多變的紙條說課稿
- 小石城7#樓 施工組織設(shè)計
- 南京工業(yè)大學(xué)浦江學(xué)院《建筑給水排水工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 《小石潭記》說課稿
- 小學(xué)音樂面試《哦十分鐘》說課稿
- 南京工業(yè)大學(xué)《中日比較文學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 當(dāng)代社會政策分析 課件 第五章 健康社會政策
- 建設(shè)項目使用草原可行性報告編寫規(guī)范
- 2024年安全月全員消防安全知識培訓(xùn)
- 交換機維護方案
- 2024防火窗技術(shù)規(guī)范
- 世界生態(tài)環(huán)境狀況簡介
- 2022年中國鐵路招聘考試試題及答案
- 安全標(biāo)準(zhǔn)化建設(shè)事件事故管理事故事件統(tǒng)計分析臺賬
- 中國風(fēng)書法練字字帖
- GB/T 43802-2024綠色產(chǎn)品評價物流周轉(zhuǎn)箱
- 扣好人生第一??圩訝幾鲂聲r代好少年班會課件
評論
0/150
提交評論