微機(jī)原理教程06_第1頁(yè)
微機(jī)原理教程06_第2頁(yè)
微機(jī)原理教程06_第3頁(yè)
微機(jī)原理教程06_第4頁(yè)
微機(jī)原理教程06_第5頁(yè)
已閱讀5頁(yè),還剩38頁(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)介

第6章輸入輸出接口第6章輸入輸出接口教學(xué)重點(diǎn)

I/O接口電路的典型結(jié)構(gòu)無(wú)條件傳送查詢傳送

中斷傳送6.1I/O接口概述為什么需要I/O接口(電路)?微機(jī)的外部設(shè)備多種多樣工作原理、驅(qū)動(dòng)方式、信息格式、以及工作速度方面彼此差別很大它們不能與CPU直接相連必須經(jīng)過(guò)中間電路再與系統(tǒng)相連這部分電路被稱為I/O接口電路多種外設(shè)6.1I/O接口概述(續(xù)1)什么是I/O接口(電路)?I/O接口是位于系統(tǒng)與外設(shè)間、用來(lái)協(xié)助完成數(shù)據(jù)傳送和控制任務(wù)的邏輯電路PC機(jī)系統(tǒng)板的可編程接口芯片、I/O總線槽的電路板(適配器)都是接口電路CPU接口電路

I/O設(shè)備6.1I/O接口概述(續(xù)2)什么是微機(jī)接口技術(shù)?處理微機(jī)系統(tǒng)與外設(shè)間聯(lián)系的技術(shù)注意其軟硬結(jié)合的特點(diǎn)根據(jù)應(yīng)用系統(tǒng)的需要,使用和構(gòu)造相應(yīng)的接口電路,編制配套的接口程序,支持和連接有關(guān)的設(shè)備6.1.1I/O接口的典型結(jié)構(gòu)控制總線CB地址總線ABI/O接口電路數(shù)據(jù)控制狀態(tài)數(shù)據(jù)總線DBCPU外設(shè)控制寄存器狀態(tài)寄存器數(shù)據(jù)寄存器1.內(nèi)部結(jié)構(gòu)2.外部特性3.基本功能4.軟件編程1.內(nèi)部結(jié)構(gòu)CPU與外設(shè)主要有數(shù)據(jù)、狀態(tài)和控制信息需要相互交換,于是從應(yīng)用角度看內(nèi)部:⑴數(shù)據(jù)寄存器輸入數(shù)據(jù)寄存器:保存外設(shè)給CPU的數(shù)據(jù)輸出數(shù)據(jù)寄存器:保存CPU給外設(shè)的數(shù)據(jù)⑵狀態(tài)寄存器保存外設(shè)或接口電路的狀態(tài)⑶控制寄存器保存CPU給外設(shè)或接口電路的命令2.外部特性主要體現(xiàn)在引腳上,分成兩側(cè)信號(hào)面向CPU一側(cè)的信號(hào):用于與CPU連接主要是數(shù)據(jù)、地址和控制信號(hào)面向外設(shè)一側(cè)的信號(hào):用于與外設(shè)連接提供的信號(hào)五花八門(mén)功能定義、時(shí)序及有效電平等差異較大3.基本功能數(shù)據(jù)緩沖匹配快速的處理器與相對(duì)慢速的外設(shè)的數(shù)據(jù)交換緩沖:實(shí)現(xiàn)接口雙方數(shù)據(jù)傳輸?shù)乃俣绕ヅ湫盘?hào)變換把信號(hào)相互轉(zhuǎn)換為適合對(duì)方的形式計(jì)算機(jī)直接處理的信號(hào)數(shù)字量(0和1組成的信號(hào)編碼)開(kāi)關(guān)量(只有兩種狀態(tài)的信號(hào))脈沖量(低脈沖信號(hào),高脈沖信號(hào))4.軟件編程接口具有可編程性(Programmable)命令字(控制字)寫(xiě)入接口芯片、選擇工作方式、控制數(shù)據(jù)傳輸初始化程序選擇I/O接口工作方式、設(shè)置原始工作狀態(tài)等驅(qū)動(dòng)程序操縱I/O接口完成具體工作硬件接口電路需要軟件編程配合工作6.1.2I/O端口的編址I/O端口=I/O地址,對(duì)應(yīng)I/O接口的寄存器一個(gè)接口電路可以具有多個(gè)I/O端口,每個(gè)端口用來(lái)保存和交換不同的信息數(shù)據(jù)寄存器、狀態(tài)寄存器和控制寄存器占有的I/O地址常依次被稱為數(shù)據(jù)端口、狀態(tài)端口和控制端口輸入、輸出端口可以是同一個(gè)I/O地址如何編排存儲(chǔ)器地址和I/O地址?端口?

1.I/O端口與存儲(chǔ)器地址獨(dú)立編址優(yōu)點(diǎn):I/O端口的地址空間獨(dú)立控制和地址譯碼電路相對(duì)簡(jiǎn)單專門(mén)的I/O指令使程序清晰易讀缺點(diǎn):I/O指令沒(méi)有存儲(chǔ)器指令豐富主存空間I/O空間FFFFF0FFFF80x86支持I/O端口獨(dú)立編址2.I/O端口與存儲(chǔ)器地址統(tǒng)一編址優(yōu)點(diǎn):不需要專門(mén)的I/O指令I(lǐng)/O數(shù)據(jù)存取與存儲(chǔ)器數(shù)據(jù)存取一樣靈活缺點(diǎn):I/O端口要占去部分存儲(chǔ)器地址空間程序不易閱讀(不易分辨訪問(wèn)存儲(chǔ)器和訪問(wèn)外設(shè))主存部分I/O部分存儲(chǔ)器空間00000FFFFF3.I/O地址譯碼與存儲(chǔ)器地址譯碼在原理和方法上完全相同I/O地址不太強(qiáng)調(diào)連續(xù),多采用部分譯碼6.1.3輸入輸出指令輸入指令(IN:將外設(shè)數(shù)據(jù)傳送給CPU內(nèi)的AL/AX)INAL,i8 ;字節(jié)輸入INAL,DX ;字節(jié)輸入INAX,i8 ;字輸入INAX,DX ;字輸入輸出指令(OUT:將CPU內(nèi)的AL/AX數(shù)據(jù)傳送給外設(shè))OUTi8,AL ;字節(jié)輸出OUTDX,AL ;字節(jié)輸出OUTi8,AX ;字輸出OUTDX,AX ;字輸出演示8088/8086的I/O端口8088只能通過(guò)輸入輸出指令與外設(shè)進(jìn)行數(shù)據(jù)交換;呈現(xiàn)給程序員的外設(shè)是端口(Port),即I/O地址8086用于尋址外設(shè)端口的地址線為16條,端口最多為216=65536(64K)個(gè),端口號(hào)為0000H~FFFFH每個(gè)端口用于傳送一個(gè)字節(jié)的外設(shè)數(shù)據(jù)1.I/O尋址方式8088/8086的端口有64K個(gè),無(wú)需分段,設(shè)計(jì)有兩種尋址方式直接尋址:只用于尋址00H~FFH前256個(gè)端口,操作數(shù)i8表示端口號(hào)間接尋址:可用于尋址全部64K個(gè)端口,DX寄存器的值就是端口號(hào)對(duì)大于FFH的端口只能采用間接尋址方式2.I/O數(shù)據(jù)傳輸量如果輸入輸出一個(gè)字節(jié),利用AL寄存器如果輸入輸出一個(gè)字,利用AX寄存器輸入一個(gè)字,實(shí)際上是從連續(xù)兩個(gè)端口輸入兩個(gè)字節(jié),分別送AL(對(duì)應(yīng)低地址端口)和AH(對(duì)應(yīng)高地址端口)輸出一個(gè)字,實(shí)際上是將AL(對(duì)應(yīng)低地址端口)和AH(對(duì)應(yīng)高地址端口)兩個(gè)字節(jié)的內(nèi)容輸出給連續(xù)兩個(gè)端口IN指令實(shí)例(從20H端口輸入一個(gè)字);方法1:直接尋址,字量輸入

inax,20h;方法2:間接尋址,字量輸入

movdx,20h

inax,dx;方法3:直接尋址,字節(jié)量輸入

inal,21h

mov

ah,al

inal,20h;方法4:間接尋址,字節(jié)量輸入

movdx,21h

inal,dx

mov

ah,al

dec

dx

inal,dxOUT指令實(shí)例(向300H端口輸出一個(gè)字節(jié));唯一的方法:間接尋址,字節(jié)量輸出

mov

al,bvar

;bvar是字節(jié)變量

movdx,300h

outdx,al6.1.4數(shù)據(jù)傳送方式附加硬件控制軟件程序控制無(wú)條件傳送查詢傳送中斷傳送直接存儲(chǔ)器存取(DMA傳送)I/O處理器控制傳送6.2無(wú)條件傳送在CPU與慢速變化的設(shè)備交換數(shù)據(jù)時(shí),可以認(rèn)為它們總是處于“準(zhǔn)備好”狀態(tài),隨時(shí)可以進(jìn)行數(shù)據(jù)傳送,這就是無(wú)條件傳送,或稱立即傳送、同步傳送適合于簡(jiǎn)單設(shè)備,如LED數(shù)碼管、按鍵或按紐等無(wú)條件傳送的接口和操作均十分簡(jiǎn)單這種傳送有前提:外設(shè)必須隨時(shí)就緒無(wú)條件傳送:輸入示例MOV DX,160HINAL,DX無(wú)條件傳送:輸入實(shí)例MOV DX,160HINAL,DX74LS244+5V10Kx8G1G2數(shù)據(jù)總線CSRD無(wú)條件傳送:輸出示例MOVDX,160HMOVAL,[BX]OUTDX,AL無(wú)條件傳送:輸出實(shí)例MOVDX,160HMOVAL,[BX]OUTDX,AL+5V74LS373300

x8LEOE數(shù)據(jù)總線CSWRK7K1K0+5VD0~D7A0~A15CLK8位反相驅(qū)動(dòng)器8位鎖存器8位三態(tài)緩沖器6000H譯碼+5VLED0LED7……GIOWIOR無(wú)條件傳送:輸入輸出接口

movdx,6000h ;DX指向數(shù)據(jù)端口

inal,dx ;從輸入端口讀開(kāi)關(guān)狀態(tài)

notal ;反相

outdx,al ;送輸出端口顯示

calldelay ;調(diào)子程序延時(shí)6.3查詢傳送CPU需要先了解(查詢)外設(shè)的工作狀態(tài),然后在外設(shè)可以交換信息的情況下(準(zhǔn)備好)實(shí)現(xiàn)數(shù)據(jù)輸入或輸出對(duì)多個(gè)外設(shè)的情況,則CPU按一定順序依次查詢(輪詢)。先查詢的外設(shè)將優(yōu)先進(jìn)行數(shù)據(jù)交換查詢傳送的特點(diǎn)是:工作可靠,適用面寬,但傳送效率低準(zhǔn)備好?查詢傳送的兩個(gè)環(huán)節(jié)⑴查詢環(huán)節(jié)尋址狀態(tài)口讀取狀態(tài)寄存器的標(biāo)志位若不就緒就繼續(xù)查詢,直至準(zhǔn)備好⑵傳送環(huán)節(jié)尋址數(shù)據(jù)口是輸入,通過(guò)輸入指令從數(shù)據(jù)端口讀入數(shù)據(jù)是輸出,通過(guò)輸出指令向數(shù)據(jù)端口輸出數(shù)據(jù)輸入狀態(tài)準(zhǔn)備好?數(shù)據(jù)交換YN超時(shí)IOR+5V8位鎖存器8位三態(tài)緩沖器譯碼1位三態(tài)緩沖器RQ

A0~A155001H5000HD0~D7D0D輸入設(shè)備IORSTB

movdx,5001h

;DX指向狀態(tài)端口status:

inal,dx

;讀狀態(tài)端口

testal,01h

;測(cè)試標(biāo)志位D0

jzstatus

;D0=0,未準(zhǔn)備好,繼續(xù)查詢

dec

dx

;D0=1,準(zhǔn)備好,DX指向數(shù)據(jù)端口

inal,dx

;從數(shù)據(jù)端口輸入數(shù)據(jù)2.查詢輸入接口8位鎖存器譯碼1位三態(tài)緩沖器RQ

A0~A155001H5002HD0~D7D7D+5V輸出設(shè)備ACKIOWIOR

movdx,5001h

;DX指向狀態(tài)端口status:

inal,dx

;讀取狀態(tài)端口的狀態(tài)數(shù)據(jù)

testal,80h

;測(cè)試標(biāo)志位D7

jnzstatus

;D7=1,未就緒,繼續(xù)查詢

incdx

;D7=0,就緒,DX指向數(shù)據(jù)端口

mov

al,buf

;變量buf送AL

outdx,al

;將數(shù)據(jù)輸出給數(shù)據(jù)端口3.查詢輸出接口6.4中斷傳送斷點(diǎn)主程序中斷服務(wù)程序中斷請(qǐng)求對(duì)外設(shè)進(jìn)行處理繼續(xù)執(zhí)行返回?cái)帱c(diǎn)外設(shè)主動(dòng)提出請(qǐng)求處理器響應(yīng)請(qǐng)求執(zhí)行中斷服務(wù)程序, 完成一次數(shù)據(jù)傳送中斷處理結(jié)束, 繼續(xù)執(zhí)行原來(lái)程序6.4.1中斷工作過(guò)程中斷請(qǐng)求中斷響應(yīng)中斷關(guān)閉斷點(diǎn)保護(hù)

中斷源識(shí)別

現(xiàn)場(chǎng)保護(hù)中斷服務(wù)

恢復(fù)現(xiàn)場(chǎng)中斷開(kāi)放中斷返回中斷流程數(shù)據(jù)交換的實(shí)質(zhì)性環(huán)節(jié)中斷接口1.中斷請(qǐng)求和響應(yīng)中斷請(qǐng)求外設(shè)以硬件信號(hào)的形式、向處理器發(fā)送有效信號(hào),應(yīng)保持有效到被響應(yīng)中斷傳送過(guò)程由外設(shè)的中斷請(qǐng)求啟動(dòng),獲得處理器認(rèn)可,才真正進(jìn)入中斷傳送過(guò)程處理器需要滿足一定條件,才能響應(yīng)中斷請(qǐng)求:(1)指令執(zhí)行結(jié)束后才能響應(yīng)外設(shè)的中斷請(qǐng)求(2)處理器處于開(kāi)放中斷的狀態(tài)(3)中斷請(qǐng)求的同時(shí),沒(méi)有更高級(jí)別的其他請(qǐng)求中斷流程2.中斷關(guān)閉和開(kāi)放中斷開(kāi)放允許可屏蔽中斷被響應(yīng)中斷允許、開(kāi)中斷中斷關(guān)閉不允許可屏蔽中斷被響應(yīng)中斷被屏蔽了、被禁止了,關(guān)中斷2級(jí)(多級(jí))中斷響應(yīng)控制處理器的中斷屏蔽位:控制所有可屏蔽中斷外設(shè)接口電路的中斷屏蔽位:靈活控制某個(gè)外設(shè)中斷流程中斷屏蔽位用于實(shí)現(xiàn)中斷的靈活控制3.斷點(diǎn)保護(hù)和中斷返回?cái)帱c(diǎn)是指被中斷執(zhí)行的指令位置斷點(diǎn)保護(hù)保護(hù)斷點(diǎn)指令所在的存儲(chǔ)器地址斷點(diǎn)保護(hù)一般由處理器自動(dòng)完成有的處理器還可能自動(dòng)保護(hù)程序狀態(tài)中斷返回處理器返回?cái)帱c(diǎn)繼續(xù)執(zhí)行原來(lái)的程序中斷服務(wù)程序最后的一條中斷返回指令實(shí)現(xiàn)中斷流程5.現(xiàn)場(chǎng)保護(hù)和恢復(fù)現(xiàn)場(chǎng):對(duì)處理器執(zhí)行程序有影響的工作環(huán)境進(jìn)入中斷后需要保護(hù)現(xiàn)場(chǎng)中斷返回前需要恢復(fù)現(xiàn)場(chǎng)斷點(diǎn)地址(或加上程序狀態(tài))由處理器硬件自動(dòng)保護(hù)其他需要由中斷服務(wù)程序進(jìn)行保護(hù)和恢復(fù)(通常是處理器的通用寄存器)具體的編程方法可以類似子程序編程中斷流程中斷源的識(shí)別4.中斷源識(shí)別問(wèn)題1:系統(tǒng)有多個(gè)中斷請(qǐng)求,CPU如何識(shí)別中斷源?解答1:中斷向量(圖6-12)解答2:中斷查詢(圖6-13)中斷向量接口中斷查詢接口中斷流程中斷優(yōu)先權(quán)排隊(duì)6.4.2中斷優(yōu)先權(quán)管理問(wèn)題2:有多個(gè)中斷同時(shí)請(qǐng)求,CPU如何應(yīng)對(duì)?解答1:軟件查詢:逐個(gè)判斷解答2:硬件電路:編碼電路、鏈?zhǔn)脚抨?duì)電路中斷嵌套6.4.2中斷優(yōu)先權(quán)管理(續(xù))問(wèn)題3:中斷處理過(guò)程中,又有中斷提出請(qǐng)求,怎么辦?原則1:優(yōu)先權(quán)低于或等于,不予理會(huì)原則2:優(yōu)先權(quán)高于,中斷嵌套6.5DMA傳送希望克服程序控制傳送的不足:外設(shè)→CPU→存儲(chǔ)器外設(shè)←CPU←存儲(chǔ)器直接存儲(chǔ)器存取DMA:外設(shè)→存儲(chǔ)器外設(shè)←存儲(chǔ)器CPU釋放總線,由DMA控制器管理傳送方式的比較無(wú)條件傳送慢速外設(shè)需與CPU保持同步查詢傳送簡(jiǎn)單實(shí)用,效率較低中斷傳送外設(shè)主動(dòng),可與CPU并行工作,但每次傳送需要大量額外時(shí)間開(kāi)銷DMA傳送DMAC控制,外設(shè)直接和存儲(chǔ)器進(jìn)行數(shù)據(jù)傳送,適合大量、快速數(shù)據(jù)傳送第6章:教學(xué)要求1.了解I/O接口電路的主要功能、內(nèi)部和外部特點(diǎn)、端口編址方法、I/O地址譯碼特點(diǎn)2.掌握輸入輸出指令3.掌握無(wú)條件、查詢傳送方式4.理解中斷、中斷源、中斷工作過(guò)程、中斷源識(shí)別、優(yōu)先權(quán)排隊(duì)和中斷嵌套多種多樣的外設(shè)工作原理不同機(jī)械、電子、機(jī)電、電磁……傳送信息類型多樣數(shù)字量、模擬量、開(kāi)關(guān)量傳送速度差別極大傳送方式不盡相同串行、并行編碼方式不同二進(jìn)制、BCD碼、ASCII碼……返回端口(PORT)端口泛指I/O地址,通常對(duì)應(yīng)接口電路的寄存器一個(gè)接口電路可以具有多個(gè)I/O端口(寄存器),每個(gè)端口用來(lái)保存和交換不同的信息數(shù)據(jù)寄存器、狀態(tài)寄存器和控制寄存器占有的I/O地址常依次被稱為數(shù)據(jù)端口、狀態(tài)端口和控制端口,用于保存數(shù)據(jù)、狀態(tài)和控制信息輸入、輸出端口可以是同一個(gè)I/O地址一定要理解返回輸入輸出指令返回輸入接口的緩沖環(huán)節(jié)內(nèi)部數(shù)據(jù)總線外部數(shù)據(jù)引腳選通緩沖器返回輸出接口的鎖存環(huán)節(jié)內(nèi)部數(shù)據(jù)總線外部數(shù)據(jù)引腳鎖存控制DCQDCQDCQ返回輸入接口的鎖存、緩沖環(huán)節(jié)內(nèi)部數(shù)據(jù)總線外部數(shù)據(jù)引腳鎖存控制鎖存器緩沖器DCDCDCQQQ選通返回輸出接口的鎖存、緩沖環(huán)節(jié)內(nèi)部數(shù)據(jù)總線外部數(shù)據(jù)引腳鎖存控制DCQDCQDCQ讀數(shù)據(jù)返回準(zhǔn)備好(Ready)在輸入場(chǎng)合“準(zhǔn)

溫馨提示

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