第9講微型計(jì)算機(jī)和外設(shè)的數(shù)據(jù)傳輸_第1頁(yè)
第9講微型計(jì)算機(jī)和外設(shè)的數(shù)據(jù)傳輸_第2頁(yè)
第9講微型計(jì)算機(jī)和外設(shè)的數(shù)據(jù)傳輸_第3頁(yè)
第9講微型計(jì)算機(jī)和外設(shè)的數(shù)據(jù)傳輸_第4頁(yè)
第9講微型計(jì)算機(jī)和外設(shè)的數(shù)據(jù)傳輸_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微型計(jì)算機(jī)系統(tǒng)的硬件結(jié)構(gòu)控制總線CB數(shù)據(jù)總線DB地址總線AB系統(tǒng)總線形成CPU

I/O設(shè)備

I/O接口主存系統(tǒng)總線BUS外設(shè)主機(jī)1第五章微型計(jì)算機(jī)和外設(shè)的數(shù)據(jù)傳輸教學(xué)重點(diǎn)I/O端口的編址I/O指令CPU和外設(shè)之間的數(shù)據(jù)傳送方式和控制方法25.1為什么要用接口按照功能,接口電路可分為兩類:使微處理器正常工作所需要的輔助電路;輸入輸出(I/O)接口電路3為什么要用接口電路?微機(jī)的外部設(shè)備多種多樣,例如打印機(jī)、掃描儀、硬盤等,它們的功能、工作原理、信息格式、以及工作速度等方面彼此差別很大,因此不能與CPU直接相連,必須經(jīng)過中間電路再與系統(tǒng)相連,這部分電路被稱為I/O接口電路。4接口的用途對(duì)于輸入設(shè)備來說,接口通常起信息轉(zhuǎn)換和緩沖的功能,將輸入設(shè)備送來的信息變換成CPU能夠接收的格式,并將其放在緩沖器中讓CPU來接收;對(duì)輸出設(shè)備來說,接口起信息變換和鎖存的功能,將CPU輸出的信息轉(zhuǎn)換成設(shè)備需要的格式。總結(jié):輸入輸出接口電路是為了解決計(jì)算機(jī)和外部設(shè)備之間的信息變換問題而提出來的,是計(jì)算機(jī)和外設(shè)之間傳送信息的部件,每個(gè)外設(shè)都要通過接口和主機(jī)系統(tǒng)相連。接口技術(shù)專門研究CPU和外設(shè)之間的數(shù)據(jù)傳送方式、接口電路的工作原理和使用方法。55.2CPU和輸入輸出設(shè)備之間的信號(hào)(1)數(shù)據(jù)信息數(shù)字量模擬量開關(guān)量(2)狀態(tài)信息(輸入)外設(shè)通過接口送往CPU對(duì)輸入設(shè)備來講,一般是用READY表示數(shù)據(jù)準(zhǔn)備就緒對(duì)輸出設(shè)備來講,一般是用BUSY表示設(shè)備是否空閑(3)控制信息(輸出)CPU通過接口送給外設(shè),控制外設(shè)的工作在微型機(jī)系統(tǒng)中,CPU通過接口與外設(shè)交換信息時(shí),數(shù)據(jù)信息、狀態(tài)信息和控制信息都被看做一種數(shù)據(jù)信息,通過數(shù)據(jù)總線傳輸。它們對(duì)應(yīng)三種不同的寄存器:數(shù)據(jù)寄存器、狀態(tài)寄存器和控制寄存器。65.3接口部件的I/O端口什么是端口?

每個(gè)接口部件都包含一組寄存器,CPU和外設(shè)進(jìn)行數(shù)據(jù)傳輸時(shí),各類信息在接口中進(jìn)入不同的寄存器,一般稱這些寄存器為I/O端口。輸入輸出所用的地址是針對(duì)端口而言的,不是接口。一個(gè)接口芯片一般對(duì)應(yīng)幾個(gè)端口,每一個(gè)端口有一個(gè)地址。例,地址為20H的端口通常被稱作20H號(hào)端口。一定要理解7外設(shè)通過接口和系統(tǒng)的連接8接口部件的寄存器:⑴數(shù)據(jù)寄存器對(duì)來自CPU和內(nèi)存的數(shù)據(jù)或者對(duì)送往CPU和內(nèi)存的數(shù)據(jù)起緩沖作用⑵狀態(tài)寄存器存放外設(shè)或接口部件本身的狀態(tài)⑶控制寄存器存放CPU發(fā)出的命令,以便控制接口和設(shè)備的動(dòng)作數(shù)據(jù)寄存器、狀態(tài)寄存器和控制寄存器占有的I/O地址常依次被稱為數(shù)據(jù)端口、狀態(tài)端口和控制端口,用于保存數(shù)據(jù)、狀態(tài)和控制信息9I/O端口的編址接口電路占用的I/O端口有兩類編址方式:

統(tǒng)一編址方式I/O端口與存儲(chǔ)器統(tǒng)一編址,它們共享一個(gè)地址空間如M6800獨(dú)立編址方式I/O端口單獨(dú)編址,I/O地址空間獨(dú)立于存儲(chǔ)地址空間如8086/808810優(yōu)點(diǎn):不需要專門的I/O指令;I/O數(shù)據(jù)存取與存儲(chǔ)器數(shù)據(jù)存取一樣靈活。缺點(diǎn):I/O端口要占去部分存儲(chǔ)器地址空間;程序不易閱讀(不易分清訪存和訪問外設(shè))。內(nèi)存部分I/O部分存儲(chǔ)器空間00000FFFFF統(tǒng)一編址方式11優(yōu)點(diǎn):專門的I/O指令使程序閱讀方便I/O端口的地址空間獨(dú)立,使存儲(chǔ)器地址范圍擴(kuò)大缺點(diǎn):I/O指令沒有存儲(chǔ)器指令豐富內(nèi)存空間I/O空間FFFFF0FFFF獨(dú)立編址方式128086使用A0~A15或者A0~A7尋址I/O端口地址的形成(片選,片內(nèi)尋址)I/O端口地址的形成13使用8086CPU內(nèi)存擴(kuò)展連線14I/O端口的地址譯碼15I/O端口地址的形成如果CPU用8088,與8086的地址形成有什么區(qū)別?16有關(guān)端口地址問題

8086CPU與外設(shè)交換數(shù)據(jù)可以字或字節(jié)進(jìn)行,當(dāng)以字節(jié)進(jìn)行時(shí),偶地址端口的字節(jié)數(shù)據(jù)由低8位數(shù)據(jù)線D7~D0位傳送,奇地址端口的字節(jié)數(shù)據(jù)由高8位數(shù)據(jù)線D15~D8傳送,當(dāng)用戶在安排外設(shè)的端口地址時(shí),如果外設(shè)是以8位的方式與CPU連接,就只能將其數(shù)據(jù)線或者與CPU的低八位或者與高八位連接,這樣同一臺(tái)外設(shè)的所有寄存器端口地址都只能是偶地址或是奇地址,這時(shí)設(shè)備的端口地址就會(huì)是不連續(xù)的。17185.48086的輸入輸出指令輸入指令I(lǐng)N輸出指令OUT參考P83輸入/輸出指令I(lǐng)N/OUT或匯編課本第12章19輸入指令I(lǐng)N指令匯編格式:IN累加器AL或AX,端口地址操作:執(zhí)行IN指令時(shí),CPU可以從一個(gè)8位端口讀入一個(gè)字節(jié)到AL中,或者從一個(gè)16位端口讀一個(gè)字到AX中,取決于端口的位數(shù)。例:INAL,50H ;字節(jié)直接輸入INAX,70H ;字直接輸入20輸出指令OUT指令匯編格式:OUT端口地址,累加器AL或AX操作:執(zhí)行OUT指令時(shí),CPU可以將AL中的1個(gè)字節(jié)寫入一個(gè)8位端口,或者將AX中的一個(gè)字寫入一個(gè)16位端口。例:OUT44H,AL ;字節(jié)直接輸出OUT80H,AX ;字直接輸出21注意:只能用累加器AL或者AX作為執(zhí)行輸入輸出的機(jī)構(gòu),不能用其它的寄存器代替;輸入輸出指令可以分為兩大類:一類是直接的輸入輸出指令,端口地址直接給出;一類是間接的輸入輸出指令,端口地址由DX寄存器給出;用直接輸入輸出指令時(shí),尋址范圍為0~255(0FFH),間接輸入輸出指令的范圍是0~65535。0~255之間的地址也可用間接輸入輸出指令,但256~65535之間的端口必須要用DX尋址,使用DX前要使用指令如MOVDX,端口地址給DX設(shè)置端口號(hào)。228位數(shù)據(jù)長(zhǎng)度的I/O端口地址為3FEH,從該端口讀入數(shù)據(jù)使用的指令段為:MOVDX,3FEH INAL,DX

16位數(shù)據(jù)長(zhǎng)度的I/O端口地址為3FCH,向該端口寫入數(shù)據(jù)使用的指令段為:MOVDX,3FCH OUTDX,AX23a.

8086CPU的讀總線周期AD15~AD0I/O端口的讀時(shí)序24

程序方式:通過CPU執(zhí)行程序中的I/O指令完成信息傳送。中斷方式:CPU響應(yīng)外設(shè)中斷請(qǐng)求完成數(shù)據(jù)傳輸。

DMA方式:傳送請(qǐng)求由外設(shè)向DMA控制器(DMAC)提出,后者向CPU申請(qǐng)總線,最后DMAC利用系統(tǒng)總線來完成外設(shè)和存儲(chǔ)器間的數(shù)據(jù)傳送。5.5CPU和外設(shè)之間的數(shù)據(jù)傳送方式25無條件傳送方式條件傳送方式程序方式26又稱“同步傳送方式”在CPU與設(shè)備交換數(shù)據(jù)時(shí),可以認(rèn)為它們總是處于“就緒”狀態(tài),隨時(shí)可以進(jìn)行數(shù)據(jù)傳輸適于簡(jiǎn)單外設(shè),如發(fā)光二極管、開關(guān)、七段顯示器等這種傳送有前提:外設(shè)必須隨時(shí)就緒,傳送不能太頻繁無條件傳送方式27無條件傳送方式的工作原理28舉例K7K1K0+5VD0~D7A1~A15CPLS06反相驅(qū)動(dòng)器LS2738D鎖存器LS244三態(tài)緩沖器8000H譯碼+5VLED0LED7譯碼……GWRRDM/IO29next: movdx,8000h ;DX指向數(shù)據(jù)端口

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

notal ;反相

outdx,al ;送輸出端口顯示

calldelay ;調(diào)子程序延時(shí)

jmpnext ;重復(fù)代碼30有8個(gè)發(fā)光二極管,其陰極加低電平則亮,用74LS273作為I/O接口與8086通信,端口地址是20H。要求發(fā)光二極管由低位向高位依次循環(huán)顯示。畫出電路圖,寫出實(shí)現(xiàn)該功能的程序。思考題31思考題答案

MOVAL,01HNEXT:OUT20H,AL CALLDELAY ROLAL,1;不帶CF循環(huán)左移

JMPNEXT+5VD0~D7A1~A7CPLS06反相驅(qū)動(dòng)器LS2738D鎖存器20H譯碼LED0LED7譯碼…WRM/IO32條件傳送方式又稱“查詢傳送方式”CPU需要先了解(查詢)外設(shè)的工作狀態(tài),然后在外設(shè)可以交換信息的情況下(就緒)實(shí)現(xiàn)數(shù)據(jù)輸入或輸出接口部件除了有數(shù)據(jù)端口,還需傳送狀態(tài)的端口對(duì)多個(gè)外設(shè)的情況,則CPU按一定順序依次查詢(輪詢),先查詢的外設(shè)將優(yōu)先進(jìn)行數(shù)據(jù)交換查詢傳送的特點(diǎn)是:工作可靠,適用面寬,但傳送效率低33條件傳送的兩個(gè)環(huán)節(jié)⑴查詢環(huán)節(jié)尋址狀態(tài)口讀取狀態(tài)寄存器的標(biāo)志位若不就緒就繼續(xù)查詢,直至就緒⑵

傳送環(huán)節(jié)尋址數(shù)據(jù)口是輸入,通過輸入指令從數(shù)據(jù)端口讀入數(shù)據(jù)是輸出,通過輸出指令向數(shù)據(jù)端口輸出數(shù)據(jù)輸入狀態(tài)就緒?數(shù)據(jù)交換YN34查詢式輸入的接口電路RD+5V8位鎖存器8位三態(tài)緩沖器譯碼1位三態(tài)緩沖器RQ

A1~A15300H310HD0~D7D0DDQCP輸入設(shè)備輸入設(shè)備RDSTBRM/IOM/IO35SPORTEQU300HDPORTEQU310H …… TEST1: MOVDX,SPORT;DX指向狀態(tài)端口

INAL,DX ;讀狀態(tài)端口

TESTAL,01H ;測(cè)試標(biāo)志位D0 JZTEST1 ;D0=0,未就緒,繼續(xù)查詢

MOVDX,DPORT;D0=1,就緒,DX指向數(shù)據(jù)端口

INAL,DX ;從數(shù)據(jù)端口輸入數(shù)據(jù)

……36查詢式輸出的接口電路8D鎖存器譯碼1位三態(tài)緩沖器RQ

A1~A15300H310HD0~D7D0D+5VQD

R輸出設(shè)備輸出設(shè)備ACKWRRDCPM/IOM/IO37SPORTEQU300HDPORTEQU310H …… MOVDX,SPORT;DX指向狀態(tài)端口TEST2: INAL,DX ;讀狀態(tài)端口

TESTAL,01H ;測(cè)試標(biāo)志位D0 JNZTEST2 ;D0=1,數(shù)據(jù)未寫入,繼續(xù)等待

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

MOVAL,[BX];待輸出數(shù)據(jù)在緩沖區(qū)

OUTDX,AL ;從數(shù)據(jù)端口輸出數(shù)據(jù)

38在條件傳送方式時(shí),CPU要用大量時(shí)間去執(zhí)行狀態(tài)查詢程序,使CPU的效率大大降低。中斷方式則是讓外設(shè)在準(zhǔn)備好之后通知CPU,執(zhí)行與外設(shè)的數(shù)據(jù)傳輸工作。這樣可以大大提高CPU的利用率。中斷方式INTR主程序響應(yīng)中斷服務(wù)程序返回CPU外設(shè)39當(dāng)外設(shè)準(zhǔn)備好(輸入)或閑(輸出),向CPU發(fā)出申請(qǐng),CPU響應(yīng)后,暫停執(zhí)行原程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。中斷傳送的接口電路如下:40中斷方式輸入的接口電路R41以輸入為例:輸入裝置輸入一數(shù)據(jù),發(fā)出選通信號(hào),一方面把數(shù)據(jù)存入鎖存器,一方面又使D觸發(fā)器置1,在中斷允許下,發(fā)出INTR,CPU在現(xiàn)行指令執(zhí)行完后,發(fā)出INTA,把外設(shè)送來的中斷向量放到DB上,于是CPU轉(zhuǎn)入中斷服務(wù)程序,讀入數(shù)據(jù),同時(shí)清除中斷請(qǐng)求INTR,中斷處理完,CPU返回被中斷處理的程序繼續(xù)執(zhí)行。42DMA方式希望克服程序控制

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論