第10章 微機(jī)原理接口_第1頁(yè)
第10章 微機(jī)原理接口_第2頁(yè)
第10章 微機(jī)原理接口_第3頁(yè)
第10章 微機(jī)原理接口_第4頁(yè)
第10章 微機(jī)原理接口_第5頁(yè)
已閱讀5頁(yè),還剩239頁(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、第十章輸入輸出接口(第十章輸入輸出接口(1)內(nèi)容提要內(nèi)容提要n 輸入輸出接口基礎(chǔ)輸入輸出接口基礎(chǔ)n 并行接口和并行接口芯片并行接口和并行接口芯片8255An 中斷系統(tǒng)和中斷控制芯片中斷系統(tǒng)和中斷控制芯片8259An DMA和和DMA控制器控制器8237n 定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器8254/8253的功能和編程的功能和編程微型計(jì)算機(jī)系統(tǒng)硬件組成微型計(jì)算機(jī)系統(tǒng)硬件組成接口和接口技術(shù)接口和接口技術(shù)n接口接口指指CPU和外設(shè)之間通過(guò)系統(tǒng)總線進(jìn)行連接的和外設(shè)之間通過(guò)系統(tǒng)總線進(jìn)行連接的電路部分,是電路部分,是CPU與外界進(jìn)行信息交換的中轉(zhuǎn)站。與外界進(jìn)行信息交換的中轉(zhuǎn)站。p原始數(shù)據(jù)通過(guò)接口由輸入設(shè)備送進(jìn)去原始

2、數(shù)據(jù)通過(guò)接口由輸入設(shè)備送進(jìn)去p運(yùn)算結(jié)果通過(guò)接口由輸出設(shè)備送出來(lái)運(yùn)算結(jié)果通過(guò)接口由輸出設(shè)備送出來(lái)p控制命令通過(guò)接口發(fā)出去控制命令通過(guò)接口發(fā)出去p現(xiàn)場(chǎng)數(shù)據(jù)通過(guò)接口從輸入設(shè)備送進(jìn)去現(xiàn)場(chǎng)數(shù)據(jù)通過(guò)接口從輸入設(shè)備送進(jìn)去接口和接口技術(shù)接口和接口技術(shù)n接口技術(shù)接口技術(shù)是研究是研究CPU如何與外部世界進(jìn)行最佳耦如何與外部世界進(jìn)行最佳耦合與匹配,實(shí)現(xiàn)雙方高效、可靠地交換信息的一合與匹配,實(shí)現(xiàn)雙方高效、可靠地交換信息的一門技術(shù),是軟件、硬件結(jié)合的體現(xiàn),是微機(jī)應(yīng)用門技術(shù),是軟件、硬件結(jié)合的體現(xiàn),是微機(jī)應(yīng)用的關(guān)鍵。的關(guān)鍵。n為什么要用接口電路?為什么要用接口電路?p外設(shè)是用來(lái)實(shí)現(xiàn)人機(jī)交互的一些機(jī)電設(shè)備。外設(shè)處理外設(shè)是用

3、來(lái)實(shí)現(xiàn)人機(jī)交互的一些機(jī)電設(shè)備。外設(shè)處理信息的類型、速度、通信方式與信息的類型、速度、通信方式與CPU不匹配不匹配, 不能直不能直接掛在總線上,必須通過(guò)接口和系統(tǒng)相連。接掛在總線上,必須通過(guò)接口和系統(tǒng)相連。接口和接口技術(shù)接口和接口技術(shù)接口電路的作用接口電路的作用數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線地址總線地址總線接口電路接口電路外部設(shè)備外部設(shè)備數(shù)據(jù)線數(shù)據(jù)線控制線控制線狀態(tài)線狀態(tài)線n外設(shè)必須通過(guò)接口電路與外設(shè)必須通過(guò)接口電路與CPU相連接,輸入輸出操作是相連接,輸入輸出操作是由復(fù)雜的由復(fù)雜的I/O接口控制實(shí)現(xiàn)的。接口控制實(shí)現(xiàn)的。n接口電路的作用是把計(jì)算機(jī)輸出的信息變成外設(shè)能夠識(shí)接口電路的作用是把計(jì)算機(jī)

4、輸出的信息變成外設(shè)能夠識(shí)別的信息,把外設(shè)輸入的信息轉(zhuǎn)化成計(jì)算機(jī)所能接受的別的信息,把外設(shè)輸入的信息轉(zhuǎn)化成計(jì)算機(jī)所能接受的信息。信息。接口電路的典型結(jié)構(gòu)接口電路的典型結(jié)構(gòu)數(shù)據(jù)數(shù)據(jù)緩沖器緩沖器狀態(tài)狀態(tài)寄存器寄存器控制控制寄存器寄存器接外設(shè)一側(cè)接外設(shè)一側(cè) 主主機(jī)機(jī)外外設(shè)設(shè) 總線驅(qū)動(dòng)總線驅(qū)動(dòng)地址譯碼地址譯碼控制邏輯控制邏輯接接CPU一側(cè)一側(cè)DBABCB數(shù)據(jù)信息數(shù)據(jù)信息控制信息控制信息狀態(tài)信息狀態(tài)信息端口端口實(shí)現(xiàn)各寄存器端實(shí)現(xiàn)各寄存器端口尋址操作口尋址操作 實(shí)現(xiàn)接口電路中的各寄存器端實(shí)現(xiàn)接口電路中的各寄存器端口的讀口的讀/ /寫操作和時(shí)序控制寫操作和時(shí)序控制接口電路的典型結(jié)構(gòu)接口電路的典型結(jié)構(gòu)n從編程角

5、度看,接口內(nèi)部主要包括一個(gè)或多個(gè)從編程角度看,接口內(nèi)部主要包括一個(gè)或多個(gè)CPU可以進(jìn)行讀可以進(jìn)行讀/寫操作的寄存器,又稱為寫操作的寄存器,又稱為I/O端口。端口。n各各I/O端口由端口地址區(qū)分。端口由端口地址區(qū)分。接口電路的典型結(jié)構(gòu)接口電路的典型結(jié)構(gòu)n按存放信息的不同,按存放信息的不同,I/O端口可分為三種類型端口可分為三種類型p數(shù)據(jù)端口:用于存放數(shù)據(jù)端口:用于存放CPU與外設(shè)間傳送的數(shù)據(jù)信息與外設(shè)間傳送的數(shù)據(jù)信息p狀態(tài)端口:用于暫存外設(shè)的狀態(tài)信息狀態(tài)端口:用于暫存外設(shè)的狀態(tài)信息p控制端口:用于存放控制端口:用于存放CPU對(duì)外設(shè)或接口的控制信息對(duì)外設(shè)或接口的控制信息,控制外設(shè)或接口的工作方式。

6、控制外設(shè)或接口的工作方式。nCPU對(duì)外設(shè)輸入對(duì)外設(shè)輸入/輸出的控制,是通過(guò)對(duì)接口電輸出的控制,是通過(guò)對(duì)接口電路中各路中各I/O端口的讀端口的讀/寫操作完成。寫操作完成。 (讀操作用讀操作用IN指令,寫操作用指令,寫操作用OUT指令指令)接口電路的典型結(jié)構(gòu)接口電路的典型結(jié)構(gòu)n數(shù)據(jù)傳送方式:數(shù)據(jù)傳送方式:p并行接口并行接口p串行接口串行接口n功能選擇的靈活性:功能選擇的靈活性:p可編程接口,其芯片可編程接口,其芯片功能可以由指令來(lái)控制功能可以由指令來(lái)控制p不可編程接口不可編程接口, ,即即硬步線邏輯接口芯片硬步線邏輯接口芯片n通用性:通用性:p通用接口(通用接口(8253 8253 定時(shí)定時(shí)/ /

7、計(jì)數(shù)器、計(jì)數(shù)器、8259 8259 中斷控制器、中斷控制器、8237 DMA8237 DMA、8250 8251 8250 8251 串行接口、串行接口、 8255 8255 并行接口)并行接口)p專用接口(軟盤控制器專用接口(軟盤控制器 8271 82728271 8272、CRT 8275CRT 8275、鍵、鍵盤顯示盤顯示 82798279)I/O接口電路分類接口電路分類n接口電路按通用性分為兩類:通用接口和專用接口接口電路按通用性分為兩類:通用接口和專用接口通用接口:可供多種外部設(shè)備使用的標(biāo)準(zhǔn)接口,目的是使通用接口:可供多種外部設(shè)備使用的標(biāo)準(zhǔn)接口,目的是使微機(jī)正常工作微機(jī)正常工作p通用

8、接口通常制造成集成電路芯片,稱為接口芯片。通用接口通常制造成集成電路芯片,稱為接口芯片。p最初的最初的IBM-PC使用了使用了6塊接口芯片:塊接口芯片:8284、8288、8255、8259、8237、8253p后來(lái)的微機(jī)將這些芯片集成為大規(guī)模集成電路芯片,稱為芯片組。后來(lái)的微機(jī)將這些芯片集成為大規(guī)模集成電路芯片,稱為芯片組。p如如82430TX芯片組,由兩片芯片組成:芯片組,由兩片芯片組成:北橋:北橋:82439TX南橋:南橋:82371AB專用接口:為某種用途或某類外設(shè)而專門設(shè)計(jì)的接口電路,專用接口:為某種用途或某類外設(shè)而專門設(shè)計(jì)的接口電路,目的在于擴(kuò)充微機(jī)系統(tǒng)的功能。目的在于擴(kuò)充微機(jī)系統(tǒng)

9、的功能。p專用接口專用接口通常制造成接口卡,插在主板總線插槽上使用。專用接口專用接口通常制造成接口卡,插在主板總線插槽上使用。p通用接口和專用接口的界限并不嚴(yán)格。通用接口和專用接口的界限并不嚴(yán)格。I/O接口電路分類接口電路分類輸入輸出的基本方式輸入輸出的基本方式n輸入輸出指令輸入輸出指令p微機(jī)系統(tǒng)中存在著存儲(chǔ)器地址空間和輸入輸出空間。存微機(jī)系統(tǒng)中存在著存儲(chǔ)器地址空間和輸入輸出空間。存儲(chǔ)器的每個(gè)字節(jié)單元都占存儲(chǔ)器地址空間的一個(gè)地址。儲(chǔ)器的每個(gè)字節(jié)單元都占存儲(chǔ)器地址空間的一個(gè)地址。p與此相類似,在輸入輸出地址空間中,占據(jù)一個(gè)輸入輸與此相類似,在輸入輸出地址空間中,占據(jù)一個(gè)輸入輸出地址的稱為一個(gè)輸入

10、輸出端口或簡(jiǎn)稱端口(出地址的稱為一個(gè)輸入輸出端口或簡(jiǎn)稱端口(PORT)。)。pCPU可以從端口讀入數(shù)據(jù),也可以向端口輸出數(shù)據(jù)??梢詮亩丝谧x入數(shù)據(jù),也可以向端口輸出數(shù)據(jù)。p對(duì)對(duì)8086微處理器,微處理器,CPU從端口讀入數(shù)據(jù)的指令稱為輸入從端口讀入數(shù)據(jù)的指令稱為輸入指令,助記符為指令,助記符為IN;CPU向端口輸出數(shù)據(jù)的指令稱為輸向端口輸出數(shù)據(jù)的指令稱為輸出指令,助記符為出指令,助記符為OUT。接口(接口(interface)與端口()與端口(port)n傳送這三種信息傳送這三種信息(數(shù)據(jù)數(shù)據(jù)、狀態(tài)狀態(tài)、控制控制)的接口電路的接口電路中的寄存器稱為數(shù)據(jù)、狀態(tài)和控制端口。中的寄存器稱為數(shù)據(jù)、狀態(tài)和

11、控制端口。n不同的寄存器有不同的端口地址,即用地址來(lái)訪問(wèn)。不同的寄存器有不同的端口地址,即用地址來(lái)訪問(wèn)。n端口由一個(gè)或多個(gè)寄存器組成。接口由若干個(gè)端口端口由一個(gè)或多個(gè)寄存器組成。接口由若干個(gè)端口加上相應(yīng)的控制邏輯組成,地址不是對(duì)接口而言。加上相應(yīng)的控制邏輯組成,地址不是對(duì)接口而言。I/O端口的編址方式端口的編址方式n端口與存儲(chǔ)器分別獨(dú)立編址端口與存儲(chǔ)器分別獨(dú)立編址n端口與存儲(chǔ)器統(tǒng)一編址端口與存儲(chǔ)器統(tǒng)一編址n端口與存儲(chǔ)器分別獨(dú)立編址端口與存儲(chǔ)器分別獨(dú)立編址p例例Intel的的80X86系列、系列、Z80系列系列n特點(diǎn):特點(diǎn):p不占用內(nèi)存空間不占用內(nèi)存空間p設(shè)有專門的設(shè)有專門的I/O指令對(duì)端口進(jìn)行

12、讀寫,指令對(duì)端口進(jìn)行讀寫, 對(duì)內(nèi)存操作的指令不能用于對(duì)內(nèi)存操作的指令不能用于I/O端口操作端口操作I/O端口的編址方式端口的編址方式例例: n對(duì)內(nèi)存操作對(duì)內(nèi)存操作 MOV 00000H , AL MOV DL , BXn對(duì)端口操作對(duì)端口操作 OUT 0000H, AL IN AL,0010HI/O端口的編址方式端口的編址方式n端口與存儲(chǔ)器統(tǒng)一編址端口與存儲(chǔ)器統(tǒng)一編址p例例Motorola的的M6800系列、系列、Intel 51單片機(jī)系列單片機(jī)系列n特點(diǎn)特點(diǎn):pI/O端口相當(dāng)于內(nèi)存的一部分端口相當(dāng)于內(nèi)存的一部分,使內(nèi)存容量減小使內(nèi)存容量減小;p對(duì)對(duì)I/O端口的讀端口的讀/寫與對(duì)存儲(chǔ)器的讀寫與對(duì)

13、存儲(chǔ)器的讀/寫相同,所有可寫相同,所有可對(duì)內(nèi)存操作的指令對(duì)對(duì)內(nèi)存操作的指令對(duì)I/O端口均可使用端口均可使用;p指令系統(tǒng)中不專設(shè)指令系統(tǒng)中不專設(shè)I/O指令。指令。I/O端口的編址方式端口的編址方式端口與存儲(chǔ)器端口與存儲(chǔ)器統(tǒng)一編址統(tǒng)一編址I/O端口的編址方式端口的編址方式8088/8086輸入輸入/輸出指令輸出指令n8088/8086CPU采用采用I/O端口與存儲(chǔ)器分別獨(dú)立編端口與存儲(chǔ)器分別獨(dú)立編址。址。p可尋址可尋址220= 1M個(gè)內(nèi)存單元個(gè)內(nèi)存單元p內(nèi)存范圍內(nèi)存范圍00000 FFFFFHp內(nèi)存單元的地址有內(nèi)存單元的地址有5種尋址種尋址p可尋址可尋址216= 64 K個(gè)個(gè)I/O端口端口pI/O

14、端口范圍端口范圍0000 FFFFHpI/O端口的地址由一端口的地址由一8位二進(jìn)制數(shù)位二進(jìn)制數(shù) 直接尋址或直接尋址或DX寄存器間接尋址寄存器間接尋址存儲(chǔ)器存儲(chǔ)器I/O端口端口指令的一般格式:指令的一般格式:名稱名稱助記符和格式助記符和格式操作功能操作功能輸入輸入IN AL, PORTIN AX, PORTIN AL, DXIN AX, DX(AL)(PORT)(AX)(PORT+1:PORT)(AL)(DX)(AX)(DX)+1:(DX)輸出輸出OUT PORT, ALOUT PORT, AXOUT DX, ALOUT DX, AX(PORT)(AL) (PORT+1:PORT)(AX) (D

15、X)(AL) (DX)+1:(DX)(AX) port 為端口地址(直接尋址)為端口地址(直接尋址), 大小為大小為0255 或或0FFHn對(duì)于對(duì)于IN指令,目的地址指令,目的地址DST的尋址方式為寄存器方的尋址方式為寄存器方式,字節(jié)輸入時(shí)為式,字節(jié)輸入時(shí)為AL,字輸入時(shí)為,字輸入時(shí)為AX。p源操作數(shù)的尋址方式有兩種:源操作數(shù)的尋址方式有兩種: 直接尋址方式,即在直接尋址方式,即在SRC的位置上直接寫上代表端口地的位置上直接寫上代表端口地址的數(shù)或能求出值的表達(dá)式。其端口地址不能大于址的數(shù)或能求出值的表達(dá)式。其端口地址不能大于255。 寄存器間接尋址方式。間址寄存器為寄存器間接尋址方式。間址寄存

16、器為DX。這種方式需。這種方式需要在要在IN指令之前,把輸入端口地址傳送至指令之前,把輸入端口地址傳送至DX寄存器,端口寄存器,端口地址的大小沒(méi)有限制。地址的大小沒(méi)有限制。n對(duì)于對(duì)于OUT指令,源操作數(shù)的尋址方式和指令,源操作數(shù)的尋址方式和IN指令的目指令的目的操作數(shù)的尋址方式相同。的操作數(shù)的尋址方式相同。n輸入輸出指令的執(zhí)行不影響任何標(biāo)志位的狀態(tài)。輸入輸出指令的執(zhí)行不影響任何標(biāo)志位的狀態(tài)。8088/8086輸入輸入/輸出指令輸出指令輸入輸入/輸出指令舉例輸出指令舉例n(1)IN AL,28H 若若(28H端口端口) = 1010 1111B 執(zhí)行后執(zhí)行后(AL) = (28H端口端口)= 0

17、AFHn(2)IN AX,28H若若(28H端口端口)= 1010 1111B (29H端口端口)= 0101 0000B執(zhí)行后執(zhí)行后(AL) = (28H端口端口)= 0AFH (AH) = (29H端口端口)= 50Hn(3)MOV DX,300Hn IN AL,DX 若若(300H端口端口)= 69H執(zhí)行后執(zhí)行后(AL) = (300H端口端口)= 69Hn(1)OUT 21H, ALp若(AL)= 1100 1100Bp執(zhí)行后(21H端口)= 0CCHn(2)MOV DX ,21BHn OUT DX,ALp若(AL)= 1010 0110Bp執(zhí)行后(21BH端口)= (AL) = 0A

18、6H輸入輸入/輸出指令舉例輸出指令舉例輸入輸入/輸出指令(輸出指令(IN、OUT)特點(diǎn))特點(diǎn)(1) 累加器累加器AL、AX的專用指令的專用指令n對(duì)輸入指令對(duì)輸入指令I(lǐng)N ,目的操作數(shù)只能為,目的操作數(shù)只能為AL, 或或AXpIN AL, 21H pIN AX, DX pIN BX, 21H n對(duì)輸出指令對(duì)輸出指令OUT ,源操作數(shù)只能為,源操作數(shù)只能為AL, 或或AXpOUT 20H, ALpOUT DX, AXpOUT DX, CX 輸入輸入/輸出指令(輸出指令(IN、OUT)特點(diǎn))特點(diǎn)(2)端口地址可為直接尋址方式或間接間接方式)端口地址可為直接尋址方式或間接間接方式n當(dāng)端口號(hào)在當(dāng)端口號(hào)在

19、0FFH,即,即0255時(shí),可在指令中直時(shí),可在指令中直接指定端口號(hào)接指定端口號(hào)p例例IN AL, 21HpOUT 20H, ALn當(dāng)端口號(hào)當(dāng)端口號(hào)FFH,即,即255時(shí)時(shí),需把端口號(hào)放在需把端口號(hào)放在DX寄存器中,寄存器中,DX是一個(gè)是一個(gè)16位寄存器,范圍在位寄存器,范圍在0FFFFH之間。之間。n當(dāng)端口號(hào)在當(dāng)端口號(hào)在0FFH,即,即0255時(shí),可在指令中直時(shí),可在指令中直接指定端口號(hào),稱雙字節(jié)指令。接指定端口號(hào),稱雙字節(jié)指令。n當(dāng)端口號(hào)當(dāng)端口號(hào)FFH,即,即255時(shí)時(shí), 需把端口號(hào)放在需把端口號(hào)放在DX寄存器中,稱單字節(jié)指令。寄存器中,稱單字節(jié)指令。n例:指令例:指令 機(jī)器碼機(jī)器碼 IN

20、 AL, 21H E421 ;兩個(gè)字節(jié)兩個(gè)字節(jié) OUT 20H, AL E620 IN AL, DX EC ;一個(gè)字節(jié)一個(gè)字節(jié) OUT DX, AL EE輸入輸入/輸出指令(輸出指令(IN、OUT)特點(diǎn))特點(diǎn)(3)可進(jìn)行字節(jié)或字傳送)可進(jìn)行字節(jié)或字傳送p由指令中由指令中AL或或AX的類型決定的類型決定 IN AL, 20H ;字節(jié)傳送字節(jié)傳送 IN AX, 20H ;字傳送字傳送 IN AL, DX ;字節(jié)傳送字節(jié)傳送 IN AX, DX ;字傳送字傳送 OUT 20H, AL;字節(jié)傳送字節(jié)傳送 OUT 20H, AX;字傳送字傳送 OUT DX, AL;字節(jié)傳送字節(jié)傳送 OUT DX, AX

21、;字傳送字傳送(4)輸入輸出指令的執(zhí)行不影響任何狀態(tài)標(biāo)志。)輸入輸出指令的執(zhí)行不影響任何狀態(tài)標(biāo)志。輸入輸入/輸出指令(輸出指令(IN、OUT)特點(diǎn))特點(diǎn)在實(shí)際數(shù)據(jù)傳輸過(guò)程中,有一個(gè)突出要解決的問(wèn)題,在實(shí)際數(shù)據(jù)傳輸過(guò)程中,有一個(gè)突出要解決的問(wèn)題,就是主機(jī)與外部設(shè)備之間時(shí)間同步的問(wèn)題,具體表現(xiàn)在:就是主機(jī)與外部設(shè)備之間時(shí)間同步的問(wèn)題,具體表現(xiàn)在:p外部設(shè)備工作時(shí)有自己的定時(shí)機(jī)構(gòu),主機(jī)在運(yùn)行程序、外部設(shè)備工作時(shí)有自己的定時(shí)機(jī)構(gòu),主機(jī)在運(yùn)行程序、執(zhí)行指令時(shí)也有自己的定時(shí)系統(tǒng),它們?cè)跁r(shí)間上是不同執(zhí)行指令時(shí)也有自己的定時(shí)系統(tǒng),它們?cè)跁r(shí)間上是不同步的。輸入數(shù)據(jù)時(shí),步的。輸入數(shù)據(jù)時(shí),CPU如何確定輸入設(shè)備已經(jīng)

22、準(zhǔn)備如何確定輸入設(shè)備已經(jīng)準(zhǔn)備好數(shù)據(jù),輸出數(shù)據(jù)時(shí),好數(shù)據(jù),輸出數(shù)據(jù)時(shí),CPU如何確定輸出設(shè)備已經(jīng)準(zhǔn)如何確定輸出設(shè)備已經(jīng)準(zhǔn)備好接收數(shù)據(jù)。備好接收數(shù)據(jù)。p一個(gè)微機(jī)系統(tǒng)中,如果有多個(gè)外部設(shè)備存在,也就存在一個(gè)微機(jī)系統(tǒng)中,如果有多個(gè)外部設(shè)備存在,也就存在這種可能性:兩個(gè)或多個(gè)設(shè)備同時(shí)要求與主機(jī)交換信息。這種可能性:兩個(gè)或多個(gè)設(shè)備同時(shí)要求與主機(jī)交換信息。出現(xiàn)這種情況,出現(xiàn)這種情況,CPU如何確定先響應(yīng)哪個(gè)設(shè)備的請(qǐng)求,如何確定先響應(yīng)哪個(gè)設(shè)備的請(qǐng)求,再響應(yīng)哪個(gè)設(shè)備的請(qǐng)求。再響應(yīng)哪個(gè)設(shè)備的請(qǐng)求。輸入輸出同步問(wèn)題輸入輸出同步問(wèn)題 無(wú)條件傳送:傳送之前不查詢外設(shè)狀態(tài)無(wú)條件傳送:傳送之前不查詢外設(shè)狀態(tài) 程序控制方式程

23、序控制方式 查詢傳送:傳送之前查詢外設(shè)狀態(tài)查詢傳送:傳送之前查詢外設(shè)狀態(tài) 中斷方式中斷方式:外設(shè)準(zhǔn)備好后向:外設(shè)準(zhǔn)備好后向CPU申請(qǐng)中斷,申請(qǐng)中斷, CPU響應(yīng)中斷完成數(shù)據(jù)傳送。響應(yīng)中斷完成數(shù)據(jù)傳送。 DMA(直接存儲(chǔ)器存?。┓绞剑河蓪S糜布ㄖ苯哟鎯?chǔ)器存取)方式:由專用硬件“DMA控制器控制器” 控制內(nèi)存和外設(shè)之間直接傳送數(shù)據(jù)。控制內(nèi)存和外設(shè)之間直接傳送數(shù)據(jù)。 (不需要(不需要CPU干預(yù))干預(yù))數(shù)據(jù)輸入輸出的基本方式數(shù)據(jù)輸入輸出的基本方式程序直接控制傳送方式程序直接控制傳送方式 程序直接控制輸入輸出方式就是完全通過(guò)執(zhí)行程序?qū)崿F(xiàn)主機(jī)與外部設(shè)備之間的數(shù)程序直接控制輸入輸出方式就是完全通過(guò)執(zhí)行程序

24、實(shí)現(xiàn)主機(jī)與外部設(shè)備之間的數(shù)據(jù)交換。據(jù)交換。n無(wú)條件傳送方式:無(wú)條件傳送方式:又稱又稱同步方式同步方式,是最簡(jiǎn)單的一種,是最簡(jiǎn)單的一種I/O控制方式控制方式p外設(shè)已準(zhǔn)備好,不查詢外設(shè)的狀態(tài)外設(shè)已準(zhǔn)備好,不查詢外設(shè)的狀態(tài)p輸入時(shí),外設(shè)的數(shù)據(jù)已送到三態(tài)緩沖器。輸入時(shí),外設(shè)的數(shù)據(jù)已送到三態(tài)緩沖器。p輸出時(shí),輸出時(shí),CPUCPU的輸出信息已送到輸出鎖存器的輸入端的輸出信息已送到輸出鎖存器的輸入端p多用于多用于CPU與低速口之間的信息交換。如開關(guān),與低速口之間的信息交換。如開關(guān),LED顯示器,它們總是被認(rèn)顯示器,它們總是被認(rèn)為處于為處于“待命待命”狀態(tài)。狀態(tài)。n條件(查詢)傳送方式條件(查詢)傳送方式p程

25、序測(cè)試外設(shè)的狀態(tài),若滿足,傳送,程序測(cè)試外設(shè)的狀態(tài),若滿足,傳送, 不滿足,等待。不滿足,等待。p多用于多用于CPU與中速口之間的信息交換。與中速口之間的信息交換。p數(shù)據(jù)傳送過(guò)程:數(shù)據(jù)傳送過(guò)程:CPUCPU從接口讀取狀態(tài)字;從接口讀取狀態(tài)字;CPUCPU檢測(cè)狀態(tài)字的對(duì)應(yīng)位是否滿足檢測(cè)狀態(tài)字的對(duì)應(yīng)位是否滿足“就緒就緒” ” 條件,如果不滿足,回到第條件,如果不滿足,回到第一步讀取狀態(tài)字;如狀態(tài)字表明外設(shè)已處于一步讀取狀態(tài)字;如狀態(tài)字表明外設(shè)已處于“就緒就緒”狀態(tài),則傳送數(shù)據(jù)。狀態(tài),則傳送數(shù)據(jù)。程序直接控制程序直接控制I/O的程序結(jié)構(gòu)的程序結(jié)構(gòu)其他功能其他功能其他功能其他功能I/O指令傳輸數(shù)據(jù)指令

26、傳輸數(shù)據(jù)從狀態(tài)端口讀入信息從狀態(tài)端口讀入信息傳輸準(zhǔn)備好?傳輸準(zhǔn)備好?YN 數(shù)據(jù)的傳輸靠執(zhí)行指令來(lái)實(shí)現(xiàn)數(shù)據(jù)的傳輸靠執(zhí)行指令來(lái)實(shí)現(xiàn)。這就是說(shuō),程序直接控制。這就是說(shuō),程序直接控制輸入輸出每個(gè)數(shù)據(jù),必須執(zhí)行輸入輸出每個(gè)數(shù)據(jù),必須執(zhí)行I/O指令,必須經(jīng)過(guò)微處理器指令,必須經(jīng)過(guò)微處理器中的寄存器中的寄存器AL和和AX。 外部設(shè)備的狀態(tài)信息用外部設(shè)備的狀態(tài)信息用IN指令輸入,然后測(cè)試;主機(jī)用指令輸入,然后測(cè)試;主機(jī)用OUT指令向外設(shè)提供狀態(tài)信息,從而達(dá)到連絡(luò)的目的。指令向外設(shè)提供狀態(tài)信息,從而達(dá)到連絡(luò)的目的。這種輸入輸出方式的優(yōu)點(diǎn)是簡(jiǎn)單、實(shí)現(xiàn)容易。這種輸入輸出方式的優(yōu)點(diǎn)是簡(jiǎn)單、實(shí)現(xiàn)容易。但存在明顯但存在明

27、顯的缺點(diǎn):第一,為了測(cè)試和等待外部設(shè)備作好傳輸數(shù)據(jù)的準(zhǔn)的缺點(diǎn):第一,為了測(cè)試和等待外部設(shè)備作好傳輸數(shù)據(jù)的準(zhǔn)備常?;ㄙM(fèi)大量的時(shí)間。在這段時(shí)間內(nèi),程序不能完成其他備常?;ㄙM(fèi)大量的時(shí)間。在這段時(shí)間內(nèi),程序不能完成其他任務(wù),所以使系統(tǒng)的任務(wù),所以使系統(tǒng)的時(shí)間利用率大大降低時(shí)間利用率大大降低。第二,。第二,CPU在一在一段時(shí)間里只能和一個(gè)外部設(shè)備之間傳輸數(shù)據(jù),段時(shí)間里只能和一個(gè)外部設(shè)備之間傳輸數(shù)據(jù),其它設(shè)備只能其它設(shè)備只能等待等待。第三,不能發(fā)現(xiàn)和處理。第三,不能發(fā)現(xiàn)和處理預(yù)先無(wú)法估計(jì)預(yù)先無(wú)法估計(jì)的錯(cuò)誤和異?,F(xiàn)的錯(cuò)誤和異?,F(xiàn)象。所以這種輸入輸出方式只適用于象。所以這種輸入輸出方式只適用于CPU數(shù)據(jù)處理任

28、務(wù)不煩數(shù)據(jù)處理任務(wù)不煩忙,而且外部設(shè)備數(shù)較少的情況。忙,而且外部設(shè)備數(shù)較少的情況。程序直接控制傳送方式特點(diǎn)程序直接控制傳送方式特點(diǎn)n使用查詢方式,使用查詢方式,CPU必須檢測(cè)接口電路的狀態(tài)寄存器,如必須檢測(cè)接口電路的狀態(tài)寄存器,如果設(shè)備未準(zhǔn)備好,果設(shè)備未準(zhǔn)備好,CPU就要不斷地查詢,降低了就要不斷地查詢,降低了CPU運(yùn)行運(yùn)行效率效率n中斷方式中斷方式:CPU對(duì)一個(gè)隨機(jī)的請(qǐng)求進(jìn)行處理的過(guò)程。當(dāng)外對(duì)一個(gè)隨機(jī)的請(qǐng)求進(jìn)行處理的過(guò)程。當(dāng)外設(shè)作好傳送準(zhǔn)備后,主動(dòng)向設(shè)作好傳送準(zhǔn)備后,主動(dòng)向CPU請(qǐng)求中斷,請(qǐng)求中斷,CPU響應(yīng)中斷響應(yīng)中斷后在中斷處理程序中與外設(shè)交換數(shù)據(jù)。若外設(shè)未準(zhǔn)備好,后在中斷處理程序中與外

29、設(shè)交換數(shù)據(jù)。若外設(shè)未準(zhǔn)備好,CPU可以執(zhí)行其他程序,提高了可以執(zhí)行其他程序,提高了CPU的利用率的利用率n每條指令完成后,每條指令完成后,CPU均可響應(yīng)中斷,因此當(dāng)設(shè)備準(zhǔn)備好均可響應(yīng)中斷,因此當(dāng)設(shè)備準(zhǔn)備好時(shí),可及時(shí)與時(shí),可及時(shí)與CPU交換數(shù)據(jù),實(shí)現(xiàn)了對(duì)信息的實(shí)時(shí)處理,交換數(shù)據(jù),實(shí)現(xiàn)了對(duì)信息的實(shí)時(shí)處理,提高了計(jì)算機(jī)的使用效率。提高了計(jì)算機(jī)的使用效率。程序中斷控制方式程序中斷控制方式程序中斷控制方式硬件實(shí)現(xiàn)框圖程序中斷控制方式硬件實(shí)現(xiàn)框圖程序中斷控制方式特點(diǎn)程序中斷控制方式特點(diǎn) 雖然程序中斷功能參與了控制,但數(shù)據(jù)的傳輸雖然程序中斷功能參與了控制,但數(shù)據(jù)的傳輸仍然要靠在程序中排入仍然要靠在程序中排入

30、I/O指令完成。指令完成。外部設(shè)備要求與外部設(shè)備要求與CPU傳輸數(shù)據(jù)的狀態(tài)信息,不傳輸數(shù)據(jù)的狀態(tài)信息,不是用指令輸入和測(cè)試的,而是從是用指令輸入和測(cè)試的,而是從CPU的中斷請(qǐng)求的中斷請(qǐng)求輸入端直接加入的。輸入端直接加入的。中斷控制輸入輸出是靠硬件和軟件相配合實(shí)現(xiàn)中斷控制輸入輸出是靠硬件和軟件相配合實(shí)現(xiàn)的。的。n DMA (Direct Memory Access)方式,即直接存儲(chǔ)器存取方式,即直接存儲(chǔ)器存取方式,是一種不需要方式,是一種不需要CPU干預(yù)也不需要軟件介入的高速數(shù)據(jù)干預(yù)也不需要軟件介入的高速數(shù)據(jù)傳送方式。傳送方式。n 這種傳送方式中,這種傳送方式中,CPU只是啟動(dòng)只是啟動(dòng)DMA過(guò)程

31、,但是不干預(yù)這過(guò)程,但是不干預(yù)這一過(guò)程,這個(gè)一過(guò)程,這個(gè)DMA過(guò)程是過(guò)程是由硬件自動(dòng)完成由硬件自動(dòng)完成的,也不需要軟件的,也不需要軟件的介入。的介入。n 在在DMA控制器(控制器(DMAC)的控制下,外設(shè)和存儲(chǔ)器利用)的控制下,外設(shè)和存儲(chǔ)器利用數(shù)數(shù)據(jù)總線據(jù)總線直接進(jìn)行數(shù)據(jù)交換。直接進(jìn)行數(shù)據(jù)交換。存儲(chǔ)器直接存取方式存儲(chǔ)器直接存取方式n首先,微處理器本身在設(shè)計(jì)時(shí)就能實(shí)現(xiàn)這種功能。首先,微處理器本身在設(shè)計(jì)時(shí)就能實(shí)現(xiàn)這種功能。8086的的HOLD和和HLDA這兩個(gè)引腳就是為這種這兩個(gè)引腳就是為這種I/O方式服務(wù)的。方式服務(wù)的。CPU將總線的控制權(quán)交將總線的控制權(quán)交給給DMA控制器,使外部設(shè)備與存儲(chǔ)器之

32、間有直接通路連通,并控制傳控制器,使外部設(shè)備與存儲(chǔ)器之間有直接通路連通,并控制傳輸一個(gè)或多個(gè)字節(jié)。輸一個(gè)或多個(gè)字節(jié)。n其次,組成微機(jī)系統(tǒng)時(shí),還必須配有其次,組成微機(jī)系統(tǒng)時(shí),還必須配有DMA控制器,共同組成控制器,共同組成DMA控控制機(jī)構(gòu),實(shí)現(xiàn)制機(jī)構(gòu),實(shí)現(xiàn)DMA傳輸所需要的全部功能。傳輸所需要的全部功能。n優(yōu)點(diǎn):優(yōu)點(diǎn):由于在數(shù)據(jù)傳輸時(shí)沒(méi)有程序和指令介入,由于在數(shù)據(jù)傳輸時(shí)沒(méi)有程序和指令介入,CPU只是暫停一個(gè)或只是暫停一個(gè)或幾個(gè)總線周期的時(shí)間,幾個(gè)總線周期的時(shí)間,CPU內(nèi)各寄存器的內(nèi)容沒(méi)有任何改變,所以內(nèi)各寄存器的內(nèi)容沒(méi)有任何改變,所以CPU的時(shí)間利用率比前兩種的時(shí)間利用率比前兩種I/O方式大大提

33、高。這種方式大大提高。這種I/O方式最適用于方式最適用于高速外部設(shè)備與存儲(chǔ)器之間交換成批數(shù)據(jù)的情況。高速外部設(shè)備與存儲(chǔ)器之間交換成批數(shù)據(jù)的情況。n缺點(diǎn):缺點(diǎn):說(shuō)沒(méi)有程序和指令介入僅僅是指數(shù)據(jù)傳輸期間,并不意味著說(shuō)沒(méi)有程序和指令介入僅僅是指數(shù)據(jù)傳輸期間,并不意味著DMA輸入輸出的全過(guò)程都沒(méi)有程序介入。恰恰相反,數(shù)據(jù)傳輸前的準(zhǔn)輸入輸出的全過(guò)程都沒(méi)有程序介入。恰恰相反,數(shù)據(jù)傳輸前的準(zhǔn)備工作,都是用程序預(yù)置于備工作,都是用程序預(yù)置于DMA控制器中的??刂破髦械?。存儲(chǔ)器直接存取方式存儲(chǔ)器直接存取方式接口和接口技術(shù)接口和接口技術(shù)n接口(接口(Interface)的基本意思是交接界面,所以任何相關(guān)的)的基本

34、意思是交接界面,所以任何相關(guān)的異體之間總存在著接口。異體之間總存在著接口。p兩個(gè)微機(jī)系統(tǒng),如果它們之間有數(shù)據(jù)往來(lái),它們之間就存在接口;兩個(gè)微機(jī)系統(tǒng),如果它們之間有數(shù)據(jù)往來(lái),它們之間就存在接口;p在一個(gè)微機(jī)系統(tǒng)內(nèi),由于各部分之間要交換信息,各部分之間也存在一個(gè)微機(jī)系統(tǒng)內(nèi),由于各部分之間要交換信息,各部分之間也存在接口;就是微處理器內(nèi)部,各部分之間也存在接口。在接口;就是微處理器內(nèi)部,各部分之間也存在接口。n輸入輸出接口即輸入輸出界面,狹義地說(shuō),在輸入輸出接口即輸入輸出界面,狹義地說(shuō),在IBM PC系列系列微機(jī)中,就是在主機(jī)的擴(kuò)充插槽上的系統(tǒng)級(jí)總線。因?yàn)槿魏挝C(jī)中,就是在主機(jī)的擴(kuò)充插槽上的系統(tǒng)級(jí)總

35、線。因?yàn)槿魏卧O(shè)備,無(wú)論要增加什么輔助邏輯,最終都要通過(guò)系統(tǒng)總線與設(shè)備,無(wú)論要增加什么輔助邏輯,最終都要通過(guò)系統(tǒng)總線與主板相連。主板相連。I/O接口的組成框圖接口的組成框圖部分存儲(chǔ)器部分存儲(chǔ)器和控制邏輯和控制邏輯并行打印機(jī)并行打印機(jī)接口接口CRT顯示器顯示器接口接口RS232C串串行接口行接口磁盤機(jī)接口磁盤機(jī)接口其他設(shè)備其他設(shè)備接口接口系統(tǒng)總線系統(tǒng)總線部分存儲(chǔ)器部分存儲(chǔ)器和控制邏輯和控制邏輯I/O指令指令控制邏輯控制邏輯中斷中斷控制機(jī)構(gòu)控制機(jī)構(gòu)DMA控制機(jī)構(gòu)控制機(jī)構(gòu)其其 它它I/O邏輯邏輯微微處處理理器器主板主板其他其他設(shè)備設(shè)備磁盤機(jī)磁盤機(jī)顯示器顯示器打印機(jī)打印機(jī)外設(shè)接口外設(shè)接口在主機(jī)板與輸入輸

36、出有關(guān)的邏輯包括微處理器支持訪在主機(jī)板與輸入輸出有關(guān)的邏輯包括微處理器支持訪問(wèn)擴(kuò)充板上存儲(chǔ)器操作的邏輯,支持執(zhí)行輸入輸出指令的問(wèn)擴(kuò)充板上存儲(chǔ)器操作的邏輯,支持執(zhí)行輸入輸出指令的邏輯,支持外部中斷方式的以邏輯,支持外部中斷方式的以8259芯片為核心組成的中斷芯片為核心組成的中斷控制邏輯和支持存儲(chǔ)器直接讀寫(控制邏輯和支持存儲(chǔ)器直接讀寫(DMA)操作的以)操作的以8237為為核心組成的核心組成的DMA控制邏輯。這些邏輯,一側(cè)與微處理器相控制邏輯。這些邏輯,一側(cè)與微處理器相連,受微處理器控制和管理,另一側(cè)則形成系統(tǒng)總線接到連,受微處理器控制和管理,另一側(cè)則形成系統(tǒng)總線接到擴(kuò)充插槽的接點(diǎn)上,成為與輸入

37、輸出接口板的物理連接點(diǎn)。擴(kuò)充插槽的接點(diǎn)上,成為與輸入輸出接口板的物理連接點(diǎn)。此外主板上還有此外主板上還有CMOS和和8254組成的系統(tǒng)計(jì)時(shí)系統(tǒng)和鍵盤組成的系統(tǒng)計(jì)時(shí)系統(tǒng)和鍵盤接口邏輯,它們不接入系統(tǒng)總線。接口邏輯,它們不接入系統(tǒng)總線。I/O接口接口I/O控制邏輯從功能上總結(jié)如下:控制邏輯從功能上總結(jié)如下:n為執(zhí)行為執(zhí)行I/O指令服務(wù)的邏輯;指令服務(wù)的邏輯;n實(shí)現(xiàn)中斷控制功能的邏輯;實(shí)現(xiàn)中斷控制功能的邏輯;n實(shí)現(xiàn)實(shí)現(xiàn)DMA控制的邏輯;控制的邏輯;n某些外設(shè)的接口邏輯。某些外設(shè)的接口邏輯。n接口一詞也與軟件有關(guān)。接口與軟件的關(guān)系有兩方接口一詞也與軟件有關(guān)。接口與軟件的關(guān)系有兩方面的含義面的含義。p一

38、方面的含義是接口的軟件。接口的功能的實(shí)現(xiàn)常常包一方面的含義是接口的軟件。接口的功能的實(shí)現(xiàn)常常包括軟件,輸入輸出接口一般都是由硬件和軟件共同支持括軟件,輸入輸出接口一般都是由硬件和軟件共同支持完成的,接口的開發(fā)自然包括必要的軟件開發(fā)。完成的,接口的開發(fā)自然包括必要的軟件開發(fā)。p另一方面含義是軟件的接口。許多系統(tǒng)軟件包含許多子另一方面含義是軟件的接口。許多系統(tǒng)軟件包含許多子程序。為減輕應(yīng)用軟件開發(fā)的負(fù)擔(dān),允許應(yīng)用軟件調(diào)用程序。為減輕應(yīng)用軟件開發(fā)的負(fù)擔(dān),允許應(yīng)用軟件調(diào)用系統(tǒng)軟件中的子程序完成應(yīng)用軟件中某些要求的功能。系統(tǒng)軟件中的子程序完成應(yīng)用軟件中某些要求的功能。接口與軟件接口與軟件IBM PC系統(tǒng)

39、提供的接口資源系統(tǒng)提供的接口資源基本配置的系統(tǒng)為基本配置的系統(tǒng)為I/O接口既提供了硬件資源又提供了接口既提供了硬件資源又提供了軟件資源。軟件資源。 提供硬件資源包括:提供硬件資源包括:在擴(kuò)充插槽上提供了系統(tǒng)級(jí)總線;在擴(kuò)充插槽上提供了系統(tǒng)級(jí)總線;主板上有鍵盤接口邏輯和揚(yáng)聲器接口邏輯;主板上有鍵盤接口邏輯和揚(yáng)聲器接口邏輯;主板上有以兩片主板上有以兩片8259中斷控制器為核心組成的中斷控制邏中斷控制器為核心組成的中斷控制邏輯;輯;主板上有以兩片主板上有以兩片8237DMA控制器為核心組成的控制器為核心組成的DMA傳送傳送控制邏輯,共有控制邏輯,共有8個(gè)數(shù)據(jù)通道,用于實(shí)現(xiàn)內(nèi)存與外設(shè)之間和個(gè)數(shù)據(jù)通道,用

40、于實(shí)現(xiàn)內(nèi)存與外設(shè)之間和內(nèi)存存儲(chǔ)區(qū)之間直接、快速、成批數(shù)據(jù)的傳送。內(nèi)存存儲(chǔ)區(qū)之間直接、快速、成批數(shù)據(jù)的傳送。主板上有一片主板上有一片8254定時(shí)計(jì)數(shù)器,有定時(shí)計(jì)數(shù)器,有3個(gè)功能:第個(gè)功能:第1個(gè)功能是用于當(dāng)個(gè)功能是用于當(dāng)日計(jì)時(shí),和日計(jì)時(shí),和CMOS共同組成定時(shí)計(jì)時(shí)系統(tǒng);第共同組成定時(shí)計(jì)時(shí)系統(tǒng);第2個(gè)功能是為動(dòng)態(tài)存儲(chǔ)個(gè)功能是為動(dòng)態(tài)存儲(chǔ)器刷新提供定時(shí)信號(hào);第器刷新提供定時(shí)信號(hào);第3個(gè)功能是通過(guò)編程向揚(yáng)聲器提供聲音信號(hào)。個(gè)功能是通過(guò)編程向揚(yáng)聲器提供聲音信號(hào)?;九渲玫南到y(tǒng)微機(jī)包含的基本配置的系統(tǒng)微機(jī)包含的I/O接口卡可能有不同的組合,但在功能接口卡可能有不同的組合,但在功能上和編程上是兼容的。通常包含

41、以下接口邏輯:上和編程上是兼容的。通常包含以下接口邏輯:p顯示器接口;顯示器接口;p兩個(gè)標(biāo)準(zhǔn)(兩個(gè)標(biāo)準(zhǔn)(Centronics)的并行打印機(jī)接口;)的并行打印機(jī)接口;p兩個(gè)標(biāo)準(zhǔn)(兩個(gè)標(biāo)準(zhǔn)(RS232)串行異步通信接口;)串行異步通信接口;p磁盤驅(qū)動(dòng)器接口,通常能連接兩個(gè)軟盤驅(qū)動(dòng)器和兩個(gè)硬盤驅(qū)動(dòng)器。磁盤驅(qū)動(dòng)器接口,通常能連接兩個(gè)軟盤驅(qū)動(dòng)器和兩個(gè)硬盤驅(qū)動(dòng)器。p此外,系統(tǒng)總線中還提供了相當(dāng)容量的此外,系統(tǒng)總線中還提供了相當(dāng)容量的5V、5V、12V和和12V直流電源。直流電源。IBM PC系統(tǒng)提供的接口資源系統(tǒng)提供的接口資源n主要包括主要包括DOS的功能調(diào)用和的功能調(diào)用和BIOS(Basic Input

42、/Output System)調(diào)用。)調(diào)用。n駐留在駐留在ROM中的中的BIOS給給PC系列的不同微處理器提供了兼容系列的不同微處理器提供了兼容的系統(tǒng)加電自檢、引導(dǎo)裝入、主要的系統(tǒng)加電自檢、引導(dǎo)裝入、主要I/O設(shè)備的處理程序以及設(shè)備的處理程序以及接口控制等功能模塊來(lái)處理所有的系統(tǒng)中斷。接口控制等功能模塊來(lái)處理所有的系統(tǒng)中斷。n使用使用BIOS功能調(diào)用,給程序員編程帶來(lái)很大的方便。程序功能調(diào)用,給程序員編程帶來(lái)很大的方便。程序員不必了解硬件操作的具體細(xì)節(jié),直接使用指令設(shè)置參數(shù),員不必了解硬件操作的具體細(xì)節(jié),直接使用指令設(shè)置參數(shù),并利用并利用INT指令,中斷調(diào)用指令,中斷調(diào)用BIOS,所以利用,所

43、以利用BIOS功能編寫功能編寫的程序簡(jiǎn)潔,可讀性好。的程序簡(jiǎn)潔,可讀性好。系統(tǒng)為系統(tǒng)為I/O接口提供的軟件資源接口提供的軟件資源I/O指令所需的接口邏輯指令所需的接口邏輯 IBM PC/XT系列微機(jī)系列微機(jī)I/O地址線可有地址線可有16根根,最大可尋址,最大可尋址I/O端口地址空間為端口地址空間為64 K。由于。由于IBM公司最初設(shè)計(jì)微機(jī)主板公司最初設(shè)計(jì)微機(jī)主板及規(guī)劃接口卡時(shí),采用了及規(guī)劃接口卡時(shí),采用了非完全譯碼方式非完全譯碼方式,只將,只將低低10位地址位地址線線A0A9進(jìn)行譯碼,進(jìn)行譯碼,而不考慮高而不考慮高6位地址線位地址線A10A15,因此其因此其I/O端口地址范圍是端口地址范圍是0

44、000H03FFH,總共只有,總共只有1024個(gè)端口,并且把個(gè)端口,并且把前前512個(gè)端口分配給了主板個(gè)端口分配給了主板,后后512個(gè)端口個(gè)端口分配給了擴(kuò)展槽上的常規(guī)外設(shè)分配給了擴(kuò)展槽上的常規(guī)外設(shè)。后來(lái)在。后來(lái)在PC/AT系統(tǒng)中,又作系統(tǒng)中,又作了一些調(diào)整,其中前了一些調(diào)整,其中前256個(gè)端口個(gè)端口(000H0FFH)供系統(tǒng)板上供系統(tǒng)板上的的I/O接口芯片使用,后接口芯片使用,后768個(gè)端口個(gè)端口(100H3FFH)供擴(kuò)展槽供擴(kuò)展槽上的上的I/O接口控制卡使用。接口控制卡使用。I/O指令所需的接口邏輯指令所需的接口邏輯n無(wú)論哪種輸入輸出方式,無(wú)論哪種輸入輸出方式,I/O指令是實(shí)現(xiàn)輸入輸出控制的

45、基礎(chǔ)。在外部設(shè)指令是實(shí)現(xiàn)輸入輸出控制的基礎(chǔ)。在外部設(shè)備的接口邏輯中,必須有一部分邏輯能使備的接口邏輯中,必須有一部分邏輯能使I/O指令得以執(zhí)行。指令得以執(zhí)行。nI/O指令執(zhí)行時(shí),都必須有指令執(zhí)行時(shí),都必須有I/O端口地址的選擇。端口地址的選擇。n端口地址的選擇與訪問(wèn)存儲(chǔ)器時(shí)對(duì)存儲(chǔ)單元的地址選擇很相似,也是用端口地址的選擇與訪問(wèn)存儲(chǔ)器時(shí)對(duì)存儲(chǔ)單元的地址選擇很相似,也是用譯碼器邏輯對(duì)系統(tǒng)總線中的地址總線進(jìn)行譯碼實(shí)現(xiàn)的。譯碼器邏輯對(duì)系統(tǒng)總線中的地址總線進(jìn)行譯碼實(shí)現(xiàn)的。n對(duì)于接口設(shè)計(jì)者來(lái)說(shuō),系統(tǒng)對(duì)于接口設(shè)計(jì)者來(lái)說(shuō),系統(tǒng)I/O端口地址分配十分重要。端口地址分配十分重要。哪些地址已分哪些地址已分配給了別的

46、設(shè)備,哪些是計(jì)算機(jī)制造商為今后開發(fā)而保留的,哪些地址配給了別的設(shè)備,哪些是計(jì)算機(jī)制造商為今后開發(fā)而保留的,哪些地址是空閑的,了解這些信息是計(jì)算機(jī)系統(tǒng)接口設(shè)計(jì)的首要工作。是空閑的,了解這些信息是計(jì)算機(jī)系統(tǒng)接口設(shè)計(jì)的首要工作。n在開發(fā)一個(gè)在開發(fā)一個(gè)I/O端口時(shí),必須先為它指定一個(gè)端口地址,并要設(shè)計(jì)一個(gè)地端口時(shí),必須先為它指定一個(gè)端口地址,并要設(shè)計(jì)一個(gè)地址譯碼器。在輸入端的地址狀態(tài)與指定的端口地址一致時(shí),譯碼器恰好址譯碼器。在輸入端的地址狀態(tài)與指定的端口地址一致時(shí),譯碼器恰好輸出有效信號(hào),作為端口選擇信號(hào)。輸出有效信號(hào),作為端口選擇信號(hào)。A9A2A1A0AENIORIOW74LS3074LS2074

47、LS3274LS3274LS32讀讀300H寫寫300H000110000000000000單端口地址譯碼電路單端口地址譯碼電路n應(yīng)該特別注意的是,系統(tǒng)總線中的應(yīng)該特別注意的是,系統(tǒng)總線中的AEN信號(hào)必須(經(jīng)過(guò)反相)參加譯信號(hào)必須(經(jīng)過(guò)反相)參加譯碼。這是因?yàn)榇a。這是因?yàn)锳EN信號(hào)在信號(hào)在DMA傳輸時(shí)為高電平,此時(shí)傳輸時(shí)為高電平,此時(shí)A9A0地址總線地址總線上將有存儲(chǔ)器地址選擇碼,有可能與指定的上將有存儲(chǔ)器地址選擇碼,有可能與指定的I/O端口地址相符,就可能端口地址相符,就可能發(fā)生這樣的錯(cuò)誤:在其它設(shè)備與存儲(chǔ)器之間進(jìn)行發(fā)生這樣的錯(cuò)誤:在其它設(shè)備與存儲(chǔ)器之間進(jìn)行DMA傳輸,或利用傳輸,或利用DM

48、A機(jī)構(gòu)進(jìn)行動(dòng)態(tài)存儲(chǔ)器刷新時(shí),機(jī)構(gòu)進(jìn)行動(dòng)態(tài)存儲(chǔ)器刷新時(shí),I/O端口地址譯碼器的輸出端可能輸端口地址譯碼器的輸出端可能輸出不應(yīng)有的有效選擇信號(hào)。為了避免這種錯(cuò)誤發(fā)生,將出不應(yīng)有的有效選擇信號(hào)。為了避免這種錯(cuò)誤發(fā)生,將AEN信號(hào)反相信號(hào)反相加入譯碼器與非門的輸入端,在加入譯碼器與非門的輸入端,在DMA傳輸時(shí)就會(huì)封閉譯碼器的輸出。傳輸時(shí)就會(huì)封閉譯碼器的輸出。n有些外部設(shè)備,一個(gè)設(shè)備就占用多個(gè)有些外部設(shè)備,一個(gè)設(shè)備就占用多個(gè)I/O端口地址。例如一部簡(jiǎn)單的并端口地址。例如一部簡(jiǎn)單的并行打印機(jī)接口就占用行打印機(jī)接口就占用3個(gè)端口,一個(gè)輸出打印字符碼,一個(gè)用于輸入打個(gè)端口,一個(gè)輸出打印字符碼,一個(gè)用于輸入打印

49、機(jī)狀態(tài),一個(gè)輸出控制信號(hào)。這就需要選擇合適的端口地址譯碼電印機(jī)狀態(tài),一個(gè)輸出控制信號(hào)。這就需要選擇合適的端口地址譯碼電路。路。單端口地址譯碼電路單端口地址譯碼電路多端口地址譯碼電路多端口地址譯碼電路IBM PC/AT機(jī)的機(jī)的I/O端口地址分配端口地址分配n用戶可以使用用戶可以使用的的I/O地址有:地址有: 1001EF 22026F 2802AF 30035F并行通信和串行通信并行通信和串行通信n通信指計(jì)算機(jī)與外設(shè),計(jì)算機(jī)與計(jì)算機(jī)之間的信通信指計(jì)算機(jī)與外設(shè),計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換。息交換。n通信的基本方法:串行通信和并行通信通信的基本方法:串行通信和并行通信p并行通信:并行通信:8位或位

50、或16位或位或32位數(shù)據(jù)同時(shí)傳輸,位數(shù)據(jù)同時(shí)傳輸, 速度快,速度快,信息率高,成本高信息率高,成本高p串行通信:一位一位數(shù)據(jù)傳送串行通信:一位一位數(shù)據(jù)傳送(在一條線上順序傳送在一條線上順序傳送),成本低。成本低。p實(shí)現(xiàn)并行通信的接口就是并行接口。實(shí)現(xiàn)并行通信的接口就是并行接口。p一個(gè)并行接口可以設(shè)計(jì)為只用來(lái)作為輸出接口,也可一個(gè)并行接口可以設(shè)計(jì)為只用來(lái)作為輸出接口,也可以只用來(lái)作為輸入接口,此外,還可以將它設(shè)計(jì)成既以只用來(lái)作為輸入接口,此外,還可以將它設(shè)計(jì)成既作為輸入又作為輸出的接口作為輸入又作為輸出的接口并行通信和串行通信并行通信和串行通信n串行通信:數(shù)據(jù)的各位依次由發(fā)送方到達(dá)目的地串行通信

51、:數(shù)據(jù)的各位依次由發(fā)送方到達(dá)目的地p優(yōu)點(diǎn):遠(yuǎn)程,費(fèi)用低優(yōu)點(diǎn):遠(yuǎn)程,費(fèi)用低p缺點(diǎn):通信速度慢缺點(diǎn):通信速度慢p應(yīng)用:長(zhǎng)距離、中低速通信應(yīng)用:長(zhǎng)距離、中低速通信TDRD發(fā)發(fā)送送接接收收0110 1010并行通信和并行接口并行通信和并行接口n并行通信:數(shù)據(jù)的各位同時(shí)由發(fā)送方到達(dá)接收方并行通信:數(shù)據(jù)的各位同時(shí)由發(fā)送方到達(dá)接收方p優(yōu)點(diǎn):通信速度快優(yōu)點(diǎn):通信速度快p缺點(diǎn):距離短,通信費(fèi)用高缺點(diǎn):距離短,通信費(fèi)用高p應(yīng)用:短距離、高速通信應(yīng)用:短距離、高速通信D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7發(fā)發(fā)送送接接收收并行通信和并行接口并行通信和并行接口n并行接口連接并行接口連接CPU與

52、并行外設(shè),實(shí)現(xiàn)兩者間的并行與并行外設(shè),實(shí)現(xiàn)兩者間的并行通信,在信息傳送過(guò)程中,起到輸出鎖存和輸入緩?fù)ㄐ?,在信息傳送過(guò)程中,起到輸出鎖存和輸入緩沖的作用。沖的作用。n并行接口的典型硬件結(jié)構(gòu)包括:并行接口的典型硬件結(jié)構(gòu)包括:p一個(gè)或一個(gè)以上具有鎖存或緩沖的數(shù)據(jù)端口一個(gè)或一個(gè)以上具有鎖存或緩沖的數(shù)據(jù)端口p與與CPU進(jìn)行數(shù)據(jù)交換所必須的控制和狀態(tài)信號(hào)進(jìn)行數(shù)據(jù)交換所必須的控制和狀態(tài)信號(hào)p與外設(shè)進(jìn)行數(shù)據(jù)交換所必須的控制和狀態(tài)信號(hào)與外設(shè)進(jìn)行數(shù)據(jù)交換所必須的控制和狀態(tài)信號(hào)p端口譯碼電路端口譯碼電路p控制電路控制電路n 一個(gè)控制寄存器一個(gè)控制寄存器 ,用來(lái)接收,用來(lái)接收CPU對(duì)它的控制命令對(duì)它的控制命令n 一個(gè)

53、狀態(tài)寄存器,提供各種狀態(tài)位供一個(gè)狀態(tài)寄存器,提供各種狀態(tài)位供CPU查詢查詢n 輸入緩沖寄存器和輸出寄存器,實(shí)現(xiàn)數(shù)據(jù)輸入和輸入緩沖寄存器和輸出寄存器,實(shí)現(xiàn)數(shù)據(jù)輸入和輸出輸出并行接口并行接口輸入設(shè)備輸入設(shè)備CPU控制寄存器控制寄存器輸入緩沖寄存器輸入緩沖寄存器輸出鎖存器輸出鎖存器狀態(tài)寄存器狀態(tài)寄存器片選片選A0A1地址地址譯碼譯碼數(shù)據(jù)總線數(shù)據(jù)總線數(shù)據(jù)輸入數(shù)據(jù)輸入數(shù)據(jù)輸入準(zhǔn)備好數(shù)據(jù)輸入準(zhǔn)備好數(shù)據(jù)輸入響應(yīng)數(shù)據(jù)輸入響應(yīng)讀信號(hào)讀信號(hào)寫信號(hào)寫信號(hào)復(fù)位復(fù)位準(zhǔn)備好準(zhǔn)備好中斷請(qǐng)求中斷請(qǐng)求并行接口的基本概念并行接口的輸出過(guò)程并行接口的輸出過(guò)程u并行接口向并行接口向CPU發(fā)出發(fā)出“準(zhǔn)備就緒準(zhǔn)備就緒”信號(hào)或者發(fā)出中斷請(qǐng)

54、求信號(hào),表信號(hào)或者發(fā)出中斷請(qǐng)求信號(hào),表示端口寄存器(輸出鎖存器)中已經(jīng)作好接收數(shù)據(jù)的準(zhǔn)備,示端口寄存器(輸出鎖存器)中已經(jīng)作好接收數(shù)據(jù)的準(zhǔn)備,CPU可可以發(fā)來(lái)數(shù)據(jù)了。以發(fā)來(lái)數(shù)據(jù)了。uCPU將數(shù)據(jù)寫入輸出端口(鎖存器),并發(fā)送將數(shù)據(jù)寫入輸出端口(鎖存器),并發(fā)送“回執(zhí)回執(zhí)”信號(hào);接口信號(hào);接口收到收到“回執(zhí)回執(zhí)”信號(hào)后,撤銷信號(hào)后,撤銷“準(zhǔn)備就緒準(zhǔn)備就緒”信號(hào)。信號(hào)。u并行接口向外設(shè)發(fā)出并行接口向外設(shè)發(fā)出“數(shù)據(jù)準(zhǔn)備好數(shù)據(jù)準(zhǔn)備好”信號(hào)。信號(hào)。u外設(shè)取走數(shù)據(jù),并向接口發(fā)出外設(shè)取走數(shù)據(jù),并向接口發(fā)出“數(shù)據(jù)輸入響應(yīng)數(shù)據(jù)輸入響應(yīng)”信號(hào),表示外設(shè)已信號(hào),表示外設(shè)已取走數(shù)據(jù)。取走數(shù)據(jù)。u并行接口撤銷并行接口撤

55、銷“數(shù)據(jù)輸出準(zhǔn)備好數(shù)據(jù)輸出準(zhǔn)備好”信號(hào),同時(shí)再次向信號(hào),同時(shí)再次向CPU發(fā)出發(fā)出“準(zhǔn)準(zhǔn)備就緒備就緒”信號(hào)或者發(fā)出中斷請(qǐng)求信號(hào)。信號(hào)或者發(fā)出中斷請(qǐng)求信號(hào)。8255可編程并行通信接口可編程并行通信接口n8255A是是Intel系列的系列的8位并行接口芯片,通用性強(qiáng),使用靈活,位并行接口芯片,通用性強(qiáng),使用靈活,可用程序設(shè)置改變芯片的工作方式,是一種常用的可編程并行接可用程序設(shè)置改變芯片的工作方式,是一種常用的可編程并行接口芯片。口芯片。n具有兩個(gè)具有兩個(gè)8位(位(A口和口和B口)和兩個(gè)口)和兩個(gè)4位(位(C口高口高/低低4位)并行位)并行I/O端口的接口芯片。端口的接口芯片。n能適應(yīng)能適應(yīng)CPU與

56、與I/O接口之間的多種數(shù)據(jù)傳送方式的要求。接口之間的多種數(shù)據(jù)傳送方式的要求。u可執(zhí)行功能很強(qiáng),內(nèi)容豐富的命令(方式字和控制字)為用戶如可執(zhí)行功能很強(qiáng),內(nèi)容豐富的命令(方式字和控制字)為用戶如何根據(jù)外界條件(何根據(jù)外界條件(I/O設(shè)備需要哪些信號(hào)線以及它能提供哪些狀態(tài)設(shè)備需要哪些信號(hào)線以及它能提供哪些狀態(tài)線)來(lái)使用線)來(lái)使用8255A構(gòu)成多種接口電路,組成微機(jī)應(yīng)用系統(tǒng)提供了構(gòu)成多種接口電路,組成微機(jī)應(yīng)用系統(tǒng)提供了靈活方便的編程環(huán)境。靈活方便的編程環(huán)境。u8255芯片內(nèi)部主要由控制寄存器、狀態(tài)寄存器和數(shù)據(jù)寄器組成。芯片內(nèi)部主要由控制寄存器、狀態(tài)寄存器和數(shù)據(jù)寄器組成。8255A內(nèi)部結(jié)構(gòu)框圖內(nèi)部結(jié)構(gòu)框

57、圖8255A內(nèi)部結(jié)構(gòu)由以下四部分組成:內(nèi)部結(jié)構(gòu)由以下四部分組成: n數(shù)據(jù)端口數(shù)據(jù)端口A、B、C;A組控制和組控制和B組控制;讀組控制;讀/寫控制邏寫控制邏輯電路;數(shù)據(jù)總線緩沖器。輯電路;數(shù)據(jù)總線緩沖器。 n端口端口A: 包括一個(gè)包括一個(gè) 8 位的數(shù)據(jù)輸出鎖存位的數(shù)據(jù)輸出鎖存/緩沖器和一個(gè)緩沖器和一個(gè) 8位的數(shù)據(jù)輸入鎖存器,可作為數(shù)據(jù)輸入或輸出端口,位的數(shù)據(jù)輸入鎖存器,可作為數(shù)據(jù)輸入或輸出端口, 并并工作于三種方式中的任何一種。工作于三種方式中的任何一種。n端口端口B: 包括一個(gè)包括一個(gè) 8 位的數(shù)據(jù)輸出鎖存位的數(shù)據(jù)輸出鎖存/緩沖器和一個(gè)緩沖器和一個(gè) 8位的數(shù)據(jù)輸入緩沖器,可作為數(shù)據(jù)輸入或輸出端

58、口,位的數(shù)據(jù)輸入緩沖器,可作為數(shù)據(jù)輸入或輸出端口, 但但不能工作于方式不能工作于方式2。 8255A內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)n端口端口C: 包括一個(gè)包括一個(gè) 8 位的數(shù)據(jù)輸出鎖存位的數(shù)據(jù)輸出鎖存/緩沖器和一個(gè)緩沖器和一個(gè) 8位的數(shù)據(jù)輸入緩沖器,位的數(shù)據(jù)輸入緩沖器, 可在方式字控制下分為兩個(gè)可在方式字控制下分為兩個(gè)4位位的端口(的端口(C端口上和下),每個(gè)端口上和下),每個(gè)4位端口都有位端口都有4位的鎖存位的鎖存器,器, 用來(lái)配合端口用來(lái)配合端口A與端口與端口B鎖存輸出控制信號(hào)和輸入鎖存輸出控制信號(hào)和輸入狀態(tài)信號(hào),不能工作于方式狀態(tài)信號(hào),不能工作于方式1或或2。nA組和組和B組控制的作用如下:組控制的作

59、用如下:p A組控制邏輯控制端口組控制邏輯控制端口A及端口及端口C的上半部;的上半部;p B組控制邏輯控制端口組控制邏輯控制端口B及端口及端口C的下半部。的下半部。8255A內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)8255A外部特性外部特性8255A芯片引腳信號(hào)芯片引腳信號(hào)123456789101112131415161718192021222324252627282930313233343536373839408255APA3PA2PA1PA0PA4PA5PA6PA7PB7PB6PB5PB4PB3PB2PB1PB0PC7PC6PC5PC4PC0PC1PC2PC3WRRESETD0D1D2D3D4D5D6D7VCCR

60、DCSGNDA0A1 8255A是一個(gè)是一個(gè)40引腳雙引腳雙列直插的集成芯片列直插的集成芯片其引腳分為五類:其引腳分為五類:1、數(shù)據(jù)線、數(shù)據(jù)線2、地址線、地址線 3、控制線、控制線 4、I/O端口線端口線5、電源與地線、電源與地線芯片引腳信號(hào)介紹芯片引腳信號(hào)介紹n和外設(shè)相連和外設(shè)相連PA7PA0:A組數(shù)據(jù)信號(hào);組數(shù)據(jù)信號(hào);PB7PB0:B組數(shù)據(jù)信號(hào);組數(shù)據(jù)信號(hào);PC7PC0:C組數(shù)據(jù)信號(hào)。組數(shù)據(jù)信號(hào)。n和和CPU相連相連RESET:復(fù)位信號(hào),低電平有效。當(dāng):復(fù)位信號(hào),低電平有效。當(dāng)RESET信號(hào)來(lái)到時(shí),信號(hào)來(lái)到時(shí),所有內(nèi)部寄存器都被清除,同時(shí)所有內(nèi)部寄存器都被清除,同時(shí)3個(gè)數(shù)據(jù)端口被自動(dòng)設(shè)為輸

溫馨提示

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