現(xiàn)代微機(jī)原理與接口技術(shù).ppt_第1頁(yè)
現(xiàn)代微機(jī)原理與接口技術(shù).ppt_第2頁(yè)
現(xiàn)代微機(jī)原理與接口技術(shù).ppt_第3頁(yè)
現(xiàn)代微機(jī)原理與接口技術(shù).ppt_第4頁(yè)
現(xiàn)代微機(jī)原理與接口技術(shù).ppt_第5頁(yè)
已閱讀5頁(yè),還剩40頁(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)介

1,第5章 輸入輸出與接口技術(shù),2,定義:接口是CPU與“外部世界”的連接電路,負(fù)責(zé)“中轉(zhuǎn)”各種信息。,分類:存儲(chǔ)器接口和I/O接口。,位置:介于系統(tǒng)總線與外部設(shè)備之間。,1.接口的概念,5.1.1 I/O接口基本概念,5.1 接口概述,3,2.為什么要引入接口,微機(jī)和I/O設(shè)備的信息類型和格式可能不一樣。 微機(jī)和I/O設(shè)備信號(hào)傳輸處理的速度可能不匹配。 不用接口, I/O直接接CPU,隨著外設(shè)增加,會(huì)大大降低CPU的效率。 I/O直接接CPU,會(huì)使外設(shè)硬件結(jié)構(gòu)過(guò)于依賴CPU,對(duì)外設(shè)本身發(fā)展不利。,4,3.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)用離不開(kāi)外部設(shè)備接口的設(shè)計(jì)、選用和連接。,CPU,接口,外設(shè),數(shù)據(jù),數(shù)據(jù),控制信號(hào),控制信號(hào),狀態(tài)信號(hào),狀態(tài)信號(hào),可能是單向的,5,數(shù)據(jù)緩沖功能:通過(guò)寄存器或鎖存器實(shí)現(xiàn)。,接口中存放數(shù)據(jù)的寄存器或鎖存器稱之為數(shù)據(jù)口。,接受和執(zhí)行CPU命令功能:,接口中存放CPU命令代碼的寄存器稱之為命令口, 控制和監(jiān)視設(shè)備執(zhí)行功能: 接口中存放執(zhí)行狀態(tài)信息的寄存器稱之為狀態(tài)口。,設(shè)備選擇功能:CPU通過(guò)地址譯碼選擇不同外設(shè)。,即CPU通過(guò)地址譯碼選擇不同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,CPU側(cè)引腳信號(hào):,外設(shè)側(cè)引腳信號(hào):,內(nèi)部控制邏輯:,根據(jù)控制寄存器、狀態(tài)寄存器、總線控制信號(hào)及外設(shè)狀態(tài)信號(hào)控制I/O接口的工作。,8,常見(jiàn)接口插槽,PS2鼠標(biāo),PS2鍵盤,千兆網(wǎng),10/100M網(wǎng)卡,USB,并行口,MIDI/游戲接口,顯示器接口,1394,1394a,音箱/線入接口/麥克風(fēng),串行口,9,常見(jiàn)接口插槽2,聲道輸入,前置揚(yáng)聲器輸出,麥克風(fēng)輸入,中置與重低音,后置揚(yáng)聲器輸出,側(cè)置揚(yáng)聲器輸出,10,2.接口軟件(設(shè)備驅(qū)動(dòng)程序),初始化程序段:設(shè)置接口工作方式及初始條件。,傳送方式處理程序段:CPU針對(duì)不同的I/O設(shè)備有不同的處理方式。如設(shè)置中斷向量等。,主控程序段:完成接口任務(wù)的程序。,程序終止與退出程序段:對(duì)接口電路硬件保護(hù)及操作系統(tǒng)中數(shù)據(jù)恢復(fù)。,輔助程序段:提供人-機(jī)對(duì)話手段。,11,5.2.1 程序控制方式,1. 無(wú)條件傳送方式,2.條件傳送方式(查詢方式),5.2 數(shù)據(jù)傳輸控制方式,12,3.中斷傳送方式,5.2.2 直接存儲(chǔ)器存取(DMA)方式,13,5.2.3 I/O處理機(jī)方式,特點(diǎn): I/O處理機(jī)接管了CPU的各種I/O操作及I/O控制功能,CPU能與IO處理機(jī)并行工作。I/O處理機(jī)有自己的指令系統(tǒng),能獨(dú)立地直接存取主存儲(chǔ)器、對(duì)外設(shè)和I/O過(guò)程進(jìn)行管理。,要求:需要IO處理機(jī)支持。,應(yīng)用:高速I/O歸IO處理機(jī)管理,低速I/O設(shè)備歸CPU管理。,14,5.3.1 I/O端口,1.I/O端口,I/O端口是供CPU直接存取訪問(wèn)的接口中的寄存器或電路。,接口中的命令口、狀態(tài)口和數(shù)據(jù)口均為I/O端口。,2.I/O端口地址,是對(duì)接口中的不同寄存器或電路的編號(hào),該編號(hào)加上該接口的基地址稱為該端口的I/O端口地址。,CPU通過(guò)向命令端口發(fā)命令來(lái)對(duì)接口,最終對(duì)設(shè)備進(jìn)行控制。訪問(wèn)設(shè)備實(shí)際上是訪問(wèn)相關(guān)的端口。,3.命令、接口與I/O端口關(guān)系,一個(gè)接口中有多個(gè)I/O端口;,一個(gè)I/O端口可接受多種命令,對(duì)應(yīng)多個(gè)寄存器。,5.3 I/O編址與訪問(wèn),15,1.I/O統(tǒng)一編址(存儲(chǔ)器映象I/O編址),一個(gè)I/O端口等同于一個(gè)存儲(chǔ)器單元。存儲(chǔ)單元和I/O端口統(tǒng)一編址。,優(yōu)點(diǎn):,對(duì)I/O端口的訪問(wèn)命令與對(duì)存儲(chǔ)器單元訪問(wèn)相同,不必使用專用I/O指令; 外設(shè)數(shù)目或I/O寄存器數(shù)幾乎不受限制。 系統(tǒng)讀寫控制邏輯較簡(jiǎn)單。,缺點(diǎn):,I/O端口占用部分MEM空間,可用MEM空間減??; 對(duì)MEM訪問(wèn)指令較長(zhǎng),執(zhí)行速度較慢; I/O端口地址譯碼時(shí)間較長(zhǎng)。,應(yīng)用:Motorola系列和Apple 系列均采用此方式,5.3.2 I/O端口編址,16,2.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訪問(wèn)命令(LOAD/STORE、MOV)有明顯區(qū)別,便于理解和檢查。,MEM,I/O設(shè)備,N-1 0,存儲(chǔ)類指令,I/O類指令,K-1 0,17,缺點(diǎn):,3.Intel系列微機(jī)I/O編址,Intel系列微處理器支持I/O獨(dú)立編址方式和I/O統(tǒng)一編址(存儲(chǔ)器映象編址)方式。,Intel系列微機(jī)系統(tǒng)僅支持I/O獨(dú)立編址方式。,18,1.I/O端口地址空間,I/O端口地址空間:有64K個(gè)獨(dú)立編址的8位端口空間。兩個(gè)連續(xù)8位端口可作為16位端口,4個(gè)連續(xù)的8位端口可作為32位端口處理。注意端口地址對(duì)齊。,5.3.3 IA-32系列微機(jī)I/O端口訪問(wèn),000FFH(256個(gè)端口)地址用于主板 1003FFH(768個(gè)端口)地址用于擴(kuò)展板 4000FFFFH地址用于I/O擴(kuò)展設(shè)備(如PCI設(shè)備),源于IBM PC,I/O端口地址信號(hào):借用地址線信號(hào)和IOW#/IOR#信號(hào)線以及表示DMA正在工作的AEN的反相信號(hào)組成。,19,系統(tǒng)板I/O接口芯片口地址(0000H-00FFH):,返回地址譯碼,20,擴(kuò)展槽I/O接口卡端口地址(0100H-03FFH):,21,2.I/O端口地址尋址方式,I/O端口支持直接尋址和間接尋址方式。 直接尋址是使用一字節(jié)立即數(shù)尋址,端口尋址范圍為00HFFH共256個(gè)。 間接尋址是使用DX寄存器間接給出I/O端口地址,可尋址的范圍是0000HFFFFH共64K個(gè)端口。,3.I/O端口與累加器間I/O指令寄存器I/O指令,格式:IN、OUT。,結(jié)果:完成I/O端口和EAX、AX、AL之間的數(shù)據(jù)傳送,可使用直接尋址和間接尋址方式。 舉例:mov dx, 3fdh mov al, 36h in al, dx out 43h, al,22,4. 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位來(lái)決定地址加和減。,結(jié)果:通過(guò)前綴REP在I/O端口和連續(xù)的存儲(chǔ)器空間之間傳送數(shù)據(jù)。,5.I/O端口訪問(wèn),CPU通過(guò)I/O指令對(duì)I/O接口進(jìn)行訪問(wèn)。,匯編語(yǔ)言指令:IN、OUT。,C語(yǔ)言指令:inportb(inport)、outportb(outport)。,VC+指令:_inp(_inpw)、_outp(_outpw)。,23,例:讀取CMOS信息。,main() short int i, j; unsigned char c_CmosMessage64; for (i=0;i=63;i+) j=i|0x80 outportb(0x70,j); c_CmosMessagei=inportb(0x71) ; printf(“CMOS信息讀取完畢。n“); ,;功能:讀取CMOS信息 ;調(diào)用:AL=CMOS地址 ;返回:AL=CMOS內(nèi)容 proc_read_cmos proc cli or al,80h ;屏蔽NMI out 70h,al jmp $+2 ;延遲 in al,71h ;讀CMOS數(shù)據(jù) sti ret proc_read_cmos endp,24,或,A19A16/S6S3,CS8254 #,0H,00H,43H,AL,OUT 43H, AL,WR #( IOW# ),IO/M#,25,作業(yè)1 請(qǐng)參照上頁(yè)OUT 43H, AL 指令的時(shí)序圖畫(huà)出IN AL,21H的時(shí)序圖,假設(shè)從21H端口中讀到的數(shù)據(jù)是02H,21H是8259芯片的一個(gè)端口地址。,26,I/O保護(hù)在保護(hù)模式下有效,在實(shí)地址模式下無(wú)效。,1.I/O特權(quán)級(jí)IOPL保護(hù),保護(hù)通過(guò)比較當(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,0級(jí)特權(quán)的過(guò)程可通過(guò)POPF和IRET指令修改任務(wù)的IOPL。,5.3.4 Pentium的I/O保護(hù),27,2.I/O允許位映象保護(hù),I/O允許位映象用來(lái)修正IOPL對(duì)I/O敏感指令的影響,允許低特權(quán)的程序訪問(wèn)某些I/O端口。,I/O允許位映象是一個(gè)位向量,每位對(duì)應(yīng)一個(gè)端口的操作權(quán)限(0表示允許)。,操作系統(tǒng)可通過(guò)改變?nèi)蝿?wù)TSS中的I/O允許映象來(lái)為某任務(wù)分配端口。(一定是在0級(jí)),思考:如何讓普通任務(wù)訪問(wèn)I/O端口?,通過(guò)操作系統(tǒng)提供的接口函數(shù); 通過(guò)設(shè)備驅(qū)動(dòng)程序(其運(yùn)行在0級(jí)上); 通過(guò)操作系統(tǒng)的漏洞。,思路:設(shè)法進(jìn)入到0級(jí),28,3. 保護(hù)模式下的I/O端口訪問(wèn),執(zhí)行in, out指令,CPL IOPL?,IOPM相關(guān)位=0?,進(jìn)行I/O操作,否,否,產(chǎn)生一個(gè)一般保護(hù)異常,是,是,IOPM是對(duì)所有VM都起作用的權(quán)限機(jī)制,它以位(bit)來(lái)代表每個(gè)端口。某位為1,則該代表的端口被禁止訪問(wèn);某位為0;則允許訪問(wèn)該位所代表的端口。,IOPL用以表示指定的I/O操作處于特權(quán)級(jí)的哪一級(jí)。它在EFLAGS中。 CPL當(dāng)前段的I/O優(yōu)先級(jí),它實(shí)際上是CS段選擇符的第0第1位。,29,V86模式下(DOSVM)的I/O端口訪問(wèn),執(zhí)行in, out指令,IOPM相關(guān)位=0?,進(jìn)行I/O操作,否,產(chǎn)生一個(gè)一般保護(hù)異常,是,30,2) 接口芯片內(nèi)部端口號(hào):,地址線低位直接組成。,端口地址=端口所在接口基地址+端口號(hào),5.4 I/O端口地址譯碼方法,1)片選(CS#)信號(hào):其有效表明該接口芯片可以通過(guò)系統(tǒng)總線與CPU進(jìn)行數(shù)據(jù)交換,使用IOW#/IOR#信號(hào)(有效)、AEN信號(hào)(無(wú)效)和地址線高位(接口基地址)經(jīng)過(guò)譯碼得到片選信號(hào)。,5.4.1 接口芯片中與地址譯碼有關(guān)的管腳及其運(yùn)用,31,5.4.2 固定式端口地址譯碼,接口中只有一個(gè)端口時(shí)可采用門電路構(gòu)成。,接口中有多個(gè)端口時(shí)一般采用譯碼器電路構(gòu)成,常見(jiàn)的譯碼器有74LS138、74LS154等。,74LS138譯碼器:,工作條件:,工作原理:,將復(fù)合的輸入信號(hào)變?yōu)槊杜e的輸出信號(hào)。,32,74LS138真值表,33,Y0#,Y7#,A,B,C,G2B#,G2A#,G1,15,14,13,12,11,10,9,7,1,2,3,4,5,6,74LS138,A5,A6,A7,A8,A9,AEN#,DMACS#(8237),INTRCS#(8259),T/C CS#(8253),PPICS#(8255),WRTDMAPG#,1,1,WRTNMIREG#,IOW#,74LS138在PC機(jī)系統(tǒng)板端口譯碼的應(yīng)用:,轉(zhuǎn)PC例子,為何中斷控制1端口地址為0020H-003FH?,軟件上和信號(hào)上如何區(qū)別訪問(wèn)I/O還是MEMORY?,34,數(shù)據(jù)總線,地址總線,控制總線,D7-D0,CS#,A0,WR#,RD#,設(shè) 備 側(cè) 信 號(hào),D7-D0,CS#,A1 A0,WR#,RD#,設(shè) 備 側(cè) 信 號(hào),8259,8253,Y0,Y7,A,B,C,G2B#,G2A#,G1,15,14,13,12,11,10,9,7,A5,A6,A7,A9,A8,AEN#,74LS138,A1 A0,A0,A15-A0,D7-D0,IOW#,IOR#,IOW#,IOR#,35,5.4.3 可選式端口地址譯碼,(1)使用比較器+地址開(kāi)關(guān)方法,74LS688比較器:,當(dāng)P07Q07時(shí), P=1,輸出高電平。,當(dāng)P07=Q07時(shí), P=0,輸出低電平。,比較器和地址開(kāi)關(guān)產(chǎn)生一個(gè)信號(hào)參與片選。,注意:當(dāng)系統(tǒng)時(shí)鐘頻率很高的時(shí)候,譯碼電路的延遲不能太大,36,(2)使用異或門+地址開(kāi)關(guān)方法,用異或門代替比較器和地址開(kāi)關(guān)比較。,如用2片74LS136代替74LS688。,74LS136:,邏輯: 3=12;6=45; 8=910;11=1213;,連線: 異或門的輸入端分別接地址線和開(kāi)關(guān)線。,片選:各異或門的輸出“或”的結(jié)果。,37,思考題1,?,38,300H 301H 302H 303H 304H 305H 306H 307H,思考題1 的答案,39,思考題2,Y0,Y7,A,B,C,G1,15,14,13,12,11,10,9,7,1,2,3,4,5,6,74LS138,_,_,_,_,_,AEN#,001FH 405FH 809FH _ 10011FH _ _ _,A9A0共10根線參與地址譯碼,請(qǐng)將上圖的空填對(duì)。,40,思考題2的答案,001FH 405FH 809FH 10011FH,A9A8A7A6A5A4A3A2A1A0,第一步 ? ? ? ? ? ,第二步 0 ? ? ? 0 ,第三步 0 C B A 0 ,41,思考題3,要求接口芯片的端口地址范圍為260H,262H,264H,266H,268H,26AH,26CH,26EH,請(qǐng)問(wèn)A0A9這10根線需要怎么連。,42,思考題3答案,A9 A8 A7 A6 A5 A4 A3 A2 A1 A0,1 0 0 1 1 0,Y6

溫馨提示

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