版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1第5章輸入輸出與接口技術(shù)2
定義:接口是CPU與“外部世界”的連接電路,負(fù)責(zé)“中轉(zhuǎn)”各種信息。
分類:存儲(chǔ)器接口和I/O接口。
位置:介于系統(tǒng)總線與外部設(shè)備之間。1.接口的概念5.1.1I/O接口基本概念5.1接口概述32.為什么要引入接口微機(jī)和I/O設(shè)備的信息類型和格式可能不一樣。微機(jī)和I/O設(shè)備信號(hào)傳輸處理的速度可能不匹配。不用接口,I/O直接接CPU,隨著外設(shè)增加,會(huì)大大降低CPU的效率。I/O直接接CPU,會(huì)使外設(shè)硬件結(jié)構(gòu)過于依賴CPU,對(duì)外設(shè)本身發(fā)展不利。43.I/O接口與I/O設(shè)備不同I/O設(shè)備對(duì)應(yīng)I/O接口不同。I/O接口受CPU控制,I/O設(shè)備受I/O接口控制。為增加通用性,I/O接口電路一般均具有可編程功能。微機(jī)的應(yīng)用離不開外部設(shè)備接口的設(shè)計(jì)、選用和連接。CPU接口外設(shè)數(shù)據(jù)數(shù)據(jù)控制信號(hào)控制信號(hào)狀態(tài)信號(hào)狀態(tài)信號(hào)可能是單向的5
數(shù)據(jù)緩沖功能:通過寄存器或鎖存器實(shí)現(xiàn)。
接口中存放數(shù)據(jù)的寄存器或鎖存器稱之為數(shù)據(jù)口。
接受和執(zhí)行CPU命令功能:
接口中存放CPU命令代碼的寄存器稱之為命令口,
控制和監(jiān)視設(shè)備執(zhí)行功能:
接口中存放執(zhí)行狀態(tài)信息的寄存器稱之為狀態(tài)口。
設(shè)備選擇功能:CPU通過地址譯碼選擇不同外設(shè)。
即CPU通過地址譯碼選擇不同I/O接口和I/O接口中連接的不同的設(shè)備。
信號(hào)轉(zhuǎn)換功能:協(xié)調(diào)總線信號(hào)與I/O設(shè)備信號(hào)。
轉(zhuǎn)換包括信號(hào)的邏輯關(guān)系、時(shí)序配合和電平轉(zhuǎn)換。
可編程功能:增加接口的靈活性和智能性。5.1.2
I/O接口功能6
接口由接口硬件和接口軟件組成。1.接口硬件核心部分5.1.3、I/O接口組成7系統(tǒng)總線側(cè)引腳信號(hào):外設(shè)側(cè)引腳信號(hào):數(shù)據(jù)信號(hào):接口緩沖寄存器與外設(shè)間的數(shù)據(jù)交換;狀態(tài)信號(hào):外設(shè)工作狀態(tài)送給接口的狀態(tài)寄存器;控制信號(hào):接口的內(nèi)部控制邏輯控制外設(shè)工作的控制信號(hào)和同步信號(hào)。地址信號(hào):選擇I/O接口中的不同寄存器(端口);數(shù)據(jù)信號(hào):命令或數(shù)據(jù)寫入到相應(yīng)寄存器,或者從相關(guān)寄存器讀出數(shù)據(jù)或狀態(tài);控制信號(hào):控制命令的執(zhí)行、時(shí)序、信號(hào)同步和片選;狀態(tài)信號(hào):接口的部分工作狀態(tài)信號(hào)。內(nèi)部控制邏輯:
根據(jù)控制寄存器、狀態(tài)寄存器、總線控制信號(hào)及外設(shè)狀態(tài)信號(hào)控制I/O接口的工作。8常見接口插槽1PS2鼠標(biāo)PS2鍵盤千兆網(wǎng)10/100M網(wǎng)卡USB并行口MIDI/游戲接口VGA接口13941394a音箱/線入/麥克風(fēng)接口串行口9常見接口插槽2聲道輸入前置揚(yáng)聲器輸出麥克風(fēng)輸入中置與重低音后置揚(yáng)聲器輸出側(cè)置揚(yáng)聲器輸出102.接口軟件(設(shè)備驅(qū)動(dòng)程序)
初始化程序段:設(shè)置接口工作方式及初始條件。
傳送方式處理程序段:CPU針對(duì)不同的I/O設(shè)備有不同的處理方式。如設(shè)置中斷向量等。
主控程序段:完成接口任務(wù)的程序。
程序終止與退出程序段:對(duì)接口電路硬件保護(hù)及操作系統(tǒng)中數(shù)據(jù)恢復(fù)。
輔助程序段:提供人-機(jī)對(duì)話手段。115.2.1I/O端口1.I/O端口
I/O端口是供CPU直接存取訪問的接口中的寄存器或電路。
接口中的命令口、狀態(tài)口和數(shù)據(jù)口均為I/O端口。2.I/O端口地址
是對(duì)接口中的不同寄存器或電路的編號(hào),該編號(hào)加上該接口的基地址稱為該端口的I/O端口地址。
CPU通過向命令端口發(fā)命令來對(duì)接口,最終對(duì)設(shè)備進(jìn)行控制。訪問設(shè)備實(shí)際上是訪問相關(guān)的端口。3.命令、接口與I/O端口關(guān)系
一個(gè)接口中有多個(gè)I/O端口;
一個(gè)I/O端口可接受多種命令,對(duì)應(yīng)多個(gè)寄存器。5.2I/O編址與訪問121.I/O統(tǒng)一編址(存儲(chǔ)器映象I/O編址)
一個(gè)I/O端口等同于一個(gè)存儲(chǔ)器單元。存儲(chǔ)單元和I/O端口統(tǒng)一編址。
優(yōu)點(diǎn):對(duì)I/O端口的訪問命令與對(duì)存儲(chǔ)器單元訪問相同,不必使用專用I/O指令;外設(shè)數(shù)目或I/O寄存器數(shù)幾乎不受限制。系統(tǒng)讀寫控制邏輯較簡(jiǎn)單。
缺點(diǎn):I/O端口占用部分MEM空間,可用MEM空間減??;對(duì)MEM訪問指令較長(zhǎng),執(zhí)行速度較慢;
I/O端口地址譯碼時(shí)間較長(zhǎng)。MEM空間I/O空間N-1KK-10存儲(chǔ)類指令
應(yīng)用:Motorola系列和Apple系列均采用此方式5.2.2I/O端口編址132.I/O獨(dú)立編址I/O端口地址空間與存儲(chǔ)器地址空間相互獨(dú)立。
應(yīng)用:Z-80系列和x86系列均采用此方式。
優(yōu)點(diǎn):MEM地址空間不受I/O端口地址空間影響;I/O端口數(shù)量不多,占用地址線少,地址譯碼簡(jiǎn)單,速度較快,使得此類指令執(zhí)行速度快;使用專用I/O命令(IN/OUT),與MEM訪問命令(LOAD/STORE、MOV)有明顯區(qū)別,便于理解和檢查。MEMI/O設(shè)備N-10存儲(chǔ)類指令I(lǐng)/O類指令K-1014
缺點(diǎn):3.Intel系列微機(jī)I/O編址Intel系列微處理器支持I/O獨(dú)立編址方式和I/O統(tǒng)一編址(存儲(chǔ)器映象編址)方式。
Intel系列微機(jī)系統(tǒng)僅支持I/O獨(dú)立編址方式。
專用I/O指令增加指令系統(tǒng)復(fù)雜性,且I/O指令類型少,尋址方式也少,程序設(shè)計(jì)靈活性較差;
要求處理器提供MEMR#/MEMW#和IOR#/IOW#兩組控制信號(hào),增加了控制邏輯的復(fù)雜性。151.I/O端口地址空間
I/O端口地址空間:有64K個(gè)獨(dú)立編址的8位端口空間。兩個(gè)連續(xù)8位端口可作為16位端口,4個(gè)連續(xù)的8位端口可作為32位端口處理。注意端口地址對(duì)齊。5.2.3IA-32系列微機(jī)I/O端口訪問00~0FFH(256個(gè)端口)地址用于主板100~3FFH(768個(gè)端口)地址用于擴(kuò)展板400~0FFFFH地址用于I/O擴(kuò)展設(shè)備(如PCI設(shè)備)源于IBMPC
I/O端口地址信號(hào):借用地址線信號(hào)和IOW#/IOR#信號(hào)線以及表示DMA正在工作的AEN的反相信號(hào)組成。16I/O芯片名稱
地址范圍
DMAC1DMAC2DMA頁(yè)面寄存器
0000-001FH00C0-00DFH0080-009FH
中斷控制器1中斷控制器2
0020-003FH00A0-00BFH
定時(shí)器并行接口芯片(鍵盤接口)RT/CMOSRAM協(xié)處理器(現(xiàn)保留)0040-005FH0060-006FH0070-007FH00F0-00FFH
系統(tǒng)板I/O接口芯片口地址(0000H-00FFH):返回地址譯碼17
擴(kuò)展槽I/O接口卡端口地址(0100H-03FFH):I/O接口名稱地址范圍游戲控制卡0200-020FH并行口控制卡1并行口控制卡20370-037FH0270-027FH串行口控制卡1串行口控制卡203F8-03FFH02F8-02FFH原型插件板(用戶可用)0300-031FH同步通信卡1同步通信卡203A0-03AF0380-038FH單顯MDA彩顯CGA彩顯EGA/VGA03B0-03BFH03D0-03DFH03C0-03CFH軟驅(qū)控制卡硬驅(qū)控制卡03F0-03FFH01F0-01FFHPC網(wǎng)卡0360-036FH182.I/O端口地址尋址方式
I/O端口支持直接尋址和間接尋址方式。
直接尋址是使用一字節(jié)立即數(shù)尋址,端口尋址范圍為00H~FFH共256個(gè)。間接尋址是使用DX寄存器間接給出I/O端口地址,可尋址的范圍是0000H~FFFFH共64K個(gè)端口。3.I/O端口與累加器間I/O指令——寄存器I/O指令
格式:IN、OUT。
結(jié)果:完成I/O端口和EAX、AX、AL之間的數(shù)據(jù)傳送,可使用直接尋址和間接尋址方式。舉例:movdx,3fdh moval,36h inal,dx out43h,al194.I/O端口與存儲(chǔ)器間I/O指令——塊I/O指令
格式:INSB/W/D、OUTSB/W/D。
參數(shù):用DX指定I/O端口地址,輸入/輸出時(shí)的目的/源RAM地址用ES:DI(EDI)/DS:SI(ESI)指定。EFLAG寄存器中DF位來決定地址加和減。
結(jié)果:通過前綴REP在I/O端口和連續(xù)的存儲(chǔ)器空間之間傳送數(shù)據(jù)。5.I/O端口訪問CPU通過I/O指令對(duì)I/O接口進(jìn)行訪問。
匯編語(yǔ)言指令:IN、OUT。
C語(yǔ)言指令:inportb(inport)、outportb(outport)。
VC++指令:_inp(_inpw)、_outp(_outpw)。20
例:讀取CMOS信息。main(){shortinti,j;unsignedcharc_CmosMessage[64];for(i=0;i<=63;i++){j=i|0x80outportb(0x70,j);c_CmosMessage[i]=inportb(0x71);}printf("CMOS信息讀取完畢。\n");};功能:讀取CMOS信息;調(diào)用:AL=CMOS地址;返回:AL=CMOS內(nèi)容
proc_read_cmosprocclioral,80h;屏蔽NMIout70h,aljmp$+2 ;延遲
inal,71h;讀CMOS數(shù)據(jù)
stiretproc_read_cmosendp21或A19~A16/S6~S3CS8254#0H00H43H[AL]OUT43H,ALWR#(IOW#)IO/M#22作業(yè)1
請(qǐng)參照上頁(yè)OUT43H,AL指令的時(shí)序圖畫出INAL,21H的時(shí)序圖,假設(shè)從21H端口中讀到的數(shù)據(jù)是02H,21H是8259芯片的一個(gè)端口地址。23I/O保護(hù)在保護(hù)模式下有效,在實(shí)地址模式下無效。1.I/O特權(quán)級(jí)IOPL保護(hù)
保護(hù)通過比較當(dāng)前任務(wù)的特權(quán)級(jí)CPL和標(biāo)志寄存器的IOPL字段實(shí)現(xiàn)的。
若CPL≤IOPL,可執(zhí)行IN、OUT、INS、OUTS、CLI、STI等敏感指令(對(duì)IOPL敏感);否則不行。
每個(gè)任務(wù)都有自己的IOPL,用以表示指定的I/O操作處于特權(quán)級(jí)的哪一級(jí)。它在EFLAGS中。0級(jí)特權(quán)的過程可通過POPF和IRET指令修改任務(wù)的IOPL。5.2.4Pentium的I/O保護(hù)242.I/O允許位映象保護(hù)
I/O允許位映象用來修正IOPL對(duì)I/O敏感指令的影響,允許低特權(quán)的程序訪問某些I/O端口。
I/O允許位映象是一個(gè)位向量,每位對(duì)應(yīng)一個(gè)端口的操作權(quán)限(0表示允許)。
操作系統(tǒng)可通過改變?nèi)蝿?wù)TSS中的I/O允許映象來為某任務(wù)分配端口。(一定是在0級(jí))253.保護(hù)模式下的I/O端口訪問執(zhí)行in,out指令CPL≤IOPL?IOPM相關(guān)位=0?進(jìn)行I/O操作否否產(chǎn)生一個(gè)一般保護(hù)異常是是IOPM是對(duì)所有VM都起作用的權(quán)限機(jī)制,它以位(bit)來代表每個(gè)端口。某位為1,則該代表的端口被禁止訪問;某位為0;則允許訪問該位所代表的端口。IOPL用以表示指定的I/O操作處于特權(quán)級(jí)的哪一級(jí)。它在EFLAGS中。CPL當(dāng)前段的I/O優(yōu)先級(jí),它實(shí)際上是CS段選擇符的第0~第1位。
26V86模式下(DOSVM)的I/O端口訪問執(zhí)行in,out指令I(lǐng)OPM相關(guān)位=0?進(jìn)行I/O操作否產(chǎn)生一個(gè)一般保護(hù)異常是272)接口芯片內(nèi)部端口號(hào):地址線低位直接組成。端口地址=端口所在接口基地址+端口號(hào)5.3I/O端口地址譯碼方法1)片選(CS#)信號(hào):其有效表明該接口芯片可以通過系統(tǒng)總線與CPU進(jìn)行數(shù)據(jù)交換使用IOW#/IOR#信號(hào)(有效)、AEN信號(hào)(無效)和地址線高位(接口基地址)經(jīng)過譯碼得到片選信號(hào)。5.3.1接口芯片中與地址譯碼有關(guān)的管腳及其運(yùn)用285.3.2固定式端口地址譯碼
接口中只有一個(gè)端口時(shí)可采用門電路構(gòu)成。
接口中有多個(gè)端口時(shí)一般采用譯碼器電路構(gòu)成,常見的譯碼器有74LS138、74LS154等。74LS138譯碼器:工作條件:
G1=1,G2A#
=G2B#
=0。工作原理:
將復(fù)合的輸入信號(hào)變?yōu)槊杜e的輸出信號(hào)。15Y0#Y7#ABCG2B#G2A#G114131211109712345674LS13829輸入輸出G1G2A#G2B#CBAY7Y6Y5Y4Y3Y2Y1Y010000011111110100001111111011000101111101110001111110111100100111011111001011101111110011010111111100111011111110XXXXX11111111X1XXXX11111111XX1XXX1111111174LS138真值表30Y0#Y7#ABCG2B#G2A#G11514131211109712345674LS138A5A6A7A8A9AEN’#DMACS#(8237)INTRCS#(8259)T/CCS#(8253)PPICS#(8255)WRTDMAPG#≥1≥1WRTNMIREG#IOW#74LS138在PC機(jī)系統(tǒng)板端口譯碼的應(yīng)用:轉(zhuǎn)PC例子為何中斷控制1端口地址為0020H-003FH?軟件上和信號(hào)上如何區(qū)別訪問I/O還是MEMORY?31DMA825982538255系統(tǒng)…空閑00H20H40H60H3FFH1FH3FH5FH7FH::::數(shù)據(jù)總線地址總線控制總線CPUD7-D0CS#A0WR#RD#設(shè)備側(cè)信號(hào)D7-D0CS#A1A0WR#RD#設(shè)備側(cè)信號(hào)82598253MEMY0Y7ABCG2B#G2A#G115141312111097A5A6A7A9A8AEN#74LS138A1A0A0A15-A0D7-D0IOW#IOR#IOW#IOR#325.3.3可選式端口地址譯碼(1)使用比較器+地址開關(guān)方法74LS688比較器:當(dāng)P0~7≠Q(mào)0~7時(shí),
P=1,輸出高電平。當(dāng)P0~7=Q0~7時(shí),
P=0,輸出低電平。
比較器和地址開關(guān)產(chǎn)生一個(gè)信號(hào)參與片選。注意:當(dāng)系統(tǒng)時(shí)鐘頻率很高的時(shí)候,譯碼電路的延遲不能太大33(2)使用異或門+地址開關(guān)方法
用異或門代替比較器和地址開關(guān)比較。=1=1=1=11234567891011121314VCCGND74LS136
如用2片74LS136代替74LS688。74LS136:邏輯:
3=1⊕2;6=4⊕5;
8=9⊕10;11=12⊕13;連線:
異或門的輸入端分別接地址線和開關(guān)線。
片選:各異或門的輸出“或”的結(jié)果。34思考題1?35300H301H302H303H304H305H306H307H思考題1的答案36思考題2Y0Y7ABCG2BG2AG11514131211109712345674LS138__________AEN#00~1FH40~5FH80~9FH_________100~11FH___________________________A9~A0共10根線參與地址譯碼,請(qǐng)將上圖的空填對(duì)。37思考題2的答案A6A7A8A5A9
00~1FH40~5FH80~9FH
100~11FHC0~DFH140~15HH180~19FH1C0~1DFHA9A8A7A6A5A4A3A2A1A0第一步?????×××××第二步0???0×××××第三步0CBA0×××××Y0Y7ABCG2BG2AG11514131211109712345674LS138AEN###38思考題3要求接口芯片的端口地址范圍為260H,262H,264H,266H,268H,26AH,26CH,26EH,請(qǐng)問A0~A9這10根線需要怎么連。Y6ABC74LS138G1G2A#G2
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年幼兒園食品安全管理協(xié)議書
- 合作投資合同書示例
- 廣州市勞動(dòng)合同范本參考
- 2024燈飾采購(gòu)合同范文
- 安徽省淮南市七年級(jí)上學(xué)期語(yǔ)文期中試題3套【附答案】
- 提升機(jī)租賃合同樣式
- 2024抵押貸款合同協(xié)議書樣式
- 6.2 共筑生命家園(導(dǎo)學(xué)案) 2024-2025學(xué)年統(tǒng)編版道德與法治九年級(jí)上冊(cè)
- 購(gòu)房合同協(xié)議書范本
- 倉(cāng)庫(kù)租賃合同樣本
- 安徽省蕪湖市七年級(jí)上學(xué)期語(yǔ)文期中試卷(含答案)
- 兩癌知識(shí)科普課件
- 食用菌現(xiàn)代高效農(nóng)業(yè)示范園區(qū)建設(shè)項(xiàng)目建議書
- 東營(yíng)港加油、LNG加氣站工程環(huán)評(píng)報(bào)告表
- 2024年日歷(打印版每月一張)
- 車用動(dòng)力電池回收利用 管理規(guī)范 第2部分:回收服務(wù)網(wǎng)點(diǎn)征求意見稿編制說明
- 新劍橋少兒英語(yǔ)第六冊(cè)全冊(cè)配套文本
- 科學(xué)預(yù)測(cè)方案
- 職業(yè)生涯規(guī)劃網(wǎng)絡(luò)與新媒體專業(yè)
- T-WAPIA 052.2-2023 無線局域網(wǎng)設(shè)備技術(shù)規(guī)范 第2部分:終端
- 市政管道開槽施工-市政排水管道的施工
評(píng)論
0/150
提交評(píng)論