第四章輸入與輸出及IO端口、地址譯碼_第1頁
第四章輸入與輸出及IO端口、地址譯碼_第2頁
第四章輸入與輸出及IO端口、地址譯碼_第3頁
第四章輸入與輸出及IO端口、地址譯碼_第4頁
第四章輸入與輸出及IO端口、地址譯碼_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

§1.概述

一.外部設(shè)備特點由以上特點,對I/O部分設(shè)計必須考慮兩個問題:A外設(shè)如何與CPU連接----必須通過I/O接口.BCPU如何尋址相應(yīng)的I/O設(shè)備----通過尋址與設(shè)備對應(yīng)的I/O端口.

本章將圍繞這兩個問題,從I/O的一般特性入手,以80X86CPU為實例,闡述CPU通過各種I/O接口與I/O設(shè)備連接,對I/O設(shè)備的尋址,存取,CPU與設(shè)備之間進(jìn)行輸入/輸出的基本方法以及CPU對I/O的控制基本過程。注意:這里的I/O設(shè)備泛指:(1)品種繁多。(2)工作速度一般比CPU慢,且速度的分布也相當(dāng)寬。(3)信號類型與電平種類多樣化。(4)信息結(jié)構(gòu)形式復(fù)雜。第四章輸入與輸出及I/O端口

地址譯碼2/6/2023二。I/O接口和I/O端口

1。I/O接口.(Interface)(1)I/O接口是一電子電路(以IC芯片或接口板形式出現(xiàn)),其內(nèi)有若干專用寄存器和相應(yīng)的控制邏輯電路構(gòu)成.它是CPU和I/O設(shè)備之間交換信息的媒介和橋梁.(2)I/O接口的基本功能為:

?進(jìn)行端口地址譯碼設(shè)備選擇

?向CPU提供I/O設(shè)備的狀態(tài)信息和進(jìn)行命令譯碼?進(jìn)行定時和相應(yīng)時序控制。?對傳送數(shù)據(jù)提供緩沖,以消除計算機(jī)與外設(shè)在“定時”或數(shù)據(jù)處理速度上的差異。?提供計算機(jī)與外設(shè)間有關(guān)信息格式的相容性變換。提供有關(guān)電氣的適配?還可以中斷方式實現(xiàn)CPU與外設(shè)之間信息的交換2/6/2023(3)MPU與I/O之間的接口信號數(shù)字:如二進(jìn)制表示的字母.BCD碼.ASC2碼或字符。開關(guān)量:一些兩個狀態(tài)的量。狀態(tài)信號:表示I/O裝置狀態(tài)的量??刂菩盘枺喝鏑PU發(fā)出的R/W信號和從外設(shè)發(fā)來的中斷信號等。MPUI/O設(shè)置數(shù)據(jù)狀態(tài)控制2/6/2023對CPU來說,外設(shè)狀態(tài)信息須作為數(shù)據(jù)輸入,而其控制命令作為數(shù)據(jù)輸出,為使它們與數(shù)據(jù)相互區(qū)別------這三者必須從各自端口出入。2/6/20232.I/O端口(Port)是I/O接口中可通過編程實現(xiàn)尋址并進(jìn)行讀寫的寄存器。CPU與外設(shè)之間交換信息具體是通過I/O端口來進(jìn)行的。即端口寄存器Note:1.一個外設(shè)與CPU交換信息往往需要幾個端口:數(shù)據(jù)端口控制端口狀態(tài)端口有時可以合用2/6/20232.在微機(jī)系統(tǒng)中,每個端口分配有唯一的地址碼,稱之為端口地址。3.CPU對外設(shè)的訪問實際上是通過對I/O端口的訪問來實現(xiàn)的-----因為端口與設(shè)備是一一對應(yīng)的關(guān)系4.I/O通道也就是可以傳送和暫存數(shù)據(jù)的實際通路,所以I/O端口有時也稱作I/O通道。2/6/2023ABDBCBCPUI/O接口I/O設(shè)備

端口數(shù)據(jù)控制狀態(tài)CPU與外設(shè)通過I/O接口通信示意圖:2/6/2023§2I/O端口編址方式一。存儲器映象I/O尋址1?;窘Y(jié)構(gòu)

從存儲器空間劃出一部分地址空間給I/O設(shè)備,把I/O接口中的端口當(dāng)作存儲器單元一樣進(jìn)行訪問,不設(shè)置專門的I/O指令。2/6/20232:特點(1)主存單元與I/O端口一起編址。(2)據(jù)地址區(qū)分訪問是I/O端口還是主存。(3)系統(tǒng)中可以不設(shè)I/O指令。3:優(yōu)缺點(1)指令兼容性,存儲器指令也可用于I/O數(shù)據(jù)。(2)I/O接口有較大的編址空間。(3)I/O部分的控制邏輯比較簡單。但是,其指令功能不強(qiáng),且處理機(jī)芯片有額外的對I/O進(jìn)行操作的控制引腳。2/6/2023二。獨立I/O的尋址方式1:特點(1)主存單元與I/O端口分開尋址(2)設(shè)置I/O指令(3)指明是訪問I/O端口,還是主存單元?2:基本結(jié)構(gòu):略3:優(yōu)缺點:(1)獨立的控制結(jié)構(gòu),使其可與存儲器分開進(jìn)行設(shè)計。

2/6/2023

但是,其指令功能不強(qiáng),且處理機(jī)芯片有額外的對I/O進(jìn)行操作的控制引腳。(2)單獨的I/O指令,可與訪問存儲器的指令區(qū)分。(3)指令地址較短,所需譯碼硬件較少。(4)指令格式較短,執(zhí)行時間也短。2/6/2023三。80X86的I/O指令1。輸入指令I(lǐng)NINAL,nINAX,nINAL,DXINAX,DX2。輸出指令OUTOUTN,AL/AX;OUTDX,AL/AX;說明

兩種指令均可傳送一個字節(jié)或字,且只能通過AL或者AX傳送。如:IN指令中的目的操作數(shù)必須是AL(字節(jié)傳送)或AX(字傳送)2/6/2023四、獨立編址方式的端口訪問1.I/O指令中端口地址的寬度IBM-PC系列采用I/O(input/output)指令訪問端口,實現(xiàn)數(shù)據(jù)的I/O傳送。在I/O指令中可采用單字節(jié)地址或雙字節(jié)地址尋址方式。若用單字節(jié)地址作業(yè)端口地址,則最多可訪問256個端口。其指令格式為:INAL,PORT;輸入OUTPORT,AL;輸出這里,PORT是一個8位的字節(jié)地址。例如:INAL,60H;60H為系統(tǒng)板8255A的PA端口地址OUT61H,AL;61H為系統(tǒng)板8255A的PB端口地址2/6/2023雙字節(jié)地址作為端口地址,則最多可尋址216=64K個端口。MOVDX,××××HINAL,DX;8位傳送MOVDX,××××HOUTDX,AL;8位傳送這里,××××H為16位的兩字節(jié)地址。例如:MOVDX,300H;300H為擴(kuò)展板8255A的PA端口INAL,DXMOVDX,301H;301H為擴(kuò)展板8255A的PB端口OUTDX,AL2/6/20232.I/O端口訪問所謂對端口的訪問就是CPU對端口的讀/寫。將端口的數(shù)據(jù)傳送存儲器例如:輸入時MOVDX,300H;I/O端口

INAL,DX;從端口讀數(shù)據(jù)到ALMOV[DI],AL;將數(shù)據(jù)從AL→存儲器輸出時MOVDX,301H;I/O端口

MOVAL,[SI];從內(nèi)存取數(shù)到ALOUTDX,AL;數(shù)據(jù)從AL→端口2/6/2023

§3

I/O端口地址分配一、I/O接口硬件分類I/O接口的硬件分成兩類:1.系統(tǒng)板上的I/O芯片如定時/計數(shù)器、中斷控制器、DMA控制器、并行接口等。2.I/O擴(kuò)展槽上的接口控制卡如軟驅(qū)卡、硬驅(qū)卡、圖形卡、聲卡、打印卡、串行通信卡等。2/6/2023二、I/O端口地址分配PC微機(jī)是根據(jù)上述I/O接口的硬件分類,把I/O空間分成兩部分。PC微機(jī)I/O地址線可有16根,對應(yīng)的I/O端口編址可達(dá)64K字節(jié),其端口地址譯碼是采用部分譯碼法,即只使用了低10位地址線一個A0~A9,故其I/0端口地址范圍是0000H~003FFH,總共只有1024個端口。2/6/2023表2.1系統(tǒng)板上接口芯片的端口地址I/O芯片名稱端口地址DMA控制器1000~01FHDMA控制器20C0~0DFHDMA頁面寄存器080~09FH中斷控制器1020~03FH中斷控制器20A0~0BFH

定時器040~05FH并行接口芯片(鍵盤接口)060~06FHRT/CMOSRAM070~07FH

協(xié)處理器0F0~0FFH2/6/2023表2.2擴(kuò)展槽上接口控制卡的端口地址I/0接口名稱端口地址游戲控制卡200~20FH并行口控制卡1370~37FH并行口控制卡2270~27FH串行口控制卡13F8~3FFH串行口控制卡22F0~2FFH原型插件板(用戶可用)300~31FH同步通信卡13A0~3AFH同步通信卡2380~38FH單顯MDA3B0~3BFH彩顯CGA3D0~3DFH彩顯EGG/VGA3C0~3CFH硬驅(qū)控制卡1F0~1FFH軟驅(qū)控制卡3F0~3F7HPC網(wǎng)卡360~36FH2/6/2023三、I/O端口地址選用的原則①凡是被系統(tǒng)配置占用了的地址一律不能使用;②未被占用的地址,用戶可以使用,但申明保留的地址,不要使用。③用戶可使用300H~31FH地址。2/6/2023

§4I/O端口地址譯碼一、I/O地址譯碼電路工作原理及作用1.譯碼電路的輸入信號I/O地址譯碼電路不僅僅與地址信號有關(guān),而且與控制信號有關(guān)。二、I/O地址譯碼方法①高位地址線與CPU的控制信號進(jìn)行組合,經(jīng)譯碼電路產(chǎn)生I/O接口芯片CS的片選。②低位地址線不參加譯碼,直接連到I/O接口芯片,進(jìn)行I/O接口芯片的片內(nèi)端口尋址,即寄存器尋址。2/6/2023三、I/O端口地址譯碼電路設(shè)計1.固定式端口地址譯碼固定式是指接口中用到的端口地址不能更改。例1:使用74LS20/30/32和74LS04設(shè)計I/O端口地址為2F8H的只讀譯碼電路。分析:若要產(chǎn)生2F8H端口地址,則譯碼電路的輸入地址線就應(yīng)具有如下所示的值。譯碼電路輸入地址線的值地址線00A9A8A7A6A5A4A3A2A1A0

二進(jìn)制001011111000十六進(jìn)制2F82/6/2023譯碼電路輸入:地址線:10根,地址值:2F8HA9~A0=1011111000B 控制線:AEN=0IOR=0譯碼電路輸出: Y=0為譯碼選中。

2/6/2023A9A8A7A3A2A1A0AENIOR&&≥Y2/6/2023 當(dāng)執(zhí)行指令:MOVDX,2F8HINAL,DX時,Y=0,對應(yīng)端口被選中2/6/2023

例⒉用門電路設(shè)計地址為2E2H的讀寫譯碼電路。

Y2(寫)&≥&≥≥A9A8A7A4A3A2A1A0AENIORIOWY1(讀)2/6/2023例⒊使用專用譯碼器LS138設(shè)計PC機(jī)主板接口的譯碼電路。

LS138譯碼器功能:當(dāng)控制信號G2A=0,G2B=0G=1,對應(yīng)ABC任一組合,Y0~Y7中一定有一個為(0)。2/6/202374LS138譯碼器輸入與輸出對應(yīng)關(guān)如下: CBA輸出 000 /Y0=0其它輸出為高電平 001 /Y1=0其它輸出為高電平 010 /Y2=0其它輸出為高電平 011 /Y3=0其它輸出為高電平 100 /Y4=0其它輸出為高電平 101 /Y5=0其它輸出為高電平 110 /Y6=0其它輸出為高電平 111 /Y7=0其它輸出為高電平

2/6/2023A/Y0B/Y1C/Y2/Y3/G2B/Y4/G2A/Y5G1/Y6/Y774LS138≥≥A5A6A7A8

A9AENIOW/DMACS(8237)/INTERCS(8259)/TCCS(8253)/PPICS(8255)/WRTDMAPG/WRTNMIREG2/6/20232.可選式端口地址譯碼---即

采用比較器設(shè)計可選址的譯碼電路

地址線:A1A0不參加譯碼。 A4A3A2輸入組合使74LS138譯碼器輸出八個片選信號。 A5=0,A9A8A7A6采用比較器和跳線開關(guān)變址。比較器為74LS85,A0A1A2A3和B0B1B2B3為待比較的數(shù)據(jù)。輸入“A=B”為高選擇相等比較。輸出“A=B”為1輸入兩組數(shù)據(jù)相等,否則輸入兩組數(shù)據(jù)不相等。

2/6/2023A0A1A2A3B0B1B2B3A=BA=BABC/G2A/G2BG1A5A6A7A8SWLS138/Y0/Y1/Y2/Y3/Y4/Y5/Y6/Y7A2A3A4A5AENVCC2/6/2023例:設(shè)計擴(kuò)展板上的I/O端口地址譯碼電路,要求讓擴(kuò)展板上每個接口芯片的內(nèi)部端口數(shù)目為4個,并且,端口地址可選。例如,選擇地址范圍為300H~31FH.分析:①對于DIP開關(guān),有兩種狀態(tài):合(ON)和斷(OFF)。②對于比較器有兩點要考慮,一是比較的對象,二是比較的結(jié)果。2/6/2023

§5I/O程序傳送方式一。無條件傳送方式指在外部控制過程的定時是固定的或已知的條下,進(jìn)行數(shù)據(jù)傳送的方式。條件:必須在已知并確信外設(shè)已準(zhǔn)備就緒下,才能應(yīng)用。(1)輸入操作的進(jìn)行輸入時,認(rèn)為外設(shè)數(shù)據(jù)已至三態(tài)緩沖器,CPU執(zhí)行IN指令。

在這種傳送方式中,微型機(jī)與外設(shè)間的數(shù)據(jù)傳送由程序來控制。2/6/2023三太緩沖器地址譯碼器M/IORDDATA數(shù)據(jù)來自外設(shè)此時,指定端口地址送至譯碼器,CPU進(jìn)入輸入周期。選中的地址信號與M/IO及RD信號相‘與’,選通緩沖器,同時外設(shè)數(shù)據(jù)經(jīng)數(shù)據(jù)總線輸入CPU。1.無條件傳送的輸入方式1CPU2/6/2023

2。無條件傳送的輸出方式地址譯碼器鎖存器CE1M/IORD地址總線到外設(shè)此時,CPU信息經(jīng)數(shù)據(jù)總線輸出到鎖存器,端口地址送至譯碼器,選中的地址信號和M/IO及WR相“與”,去選通鎖存器,信息保留其中,由它把信息通過外設(shè)輸出。CPU2/6/2023測試I/O設(shè)備狀態(tài)準(zhǔn)備就緒?啟動執(zhí)行數(shù)據(jù)傳送I/O設(shè)備暫停結(jié)束NY3。查詢式I/O傳送例如:程序TEST:INAL,2:

溫馨提示

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

評論

0/150

提交評論