第06章_IO接口與總線_第1頁
第06章_IO接口與總線_第2頁
第06章_IO接口與總線_第3頁
第06章_IO接口與總線_第4頁
第06章_IO接口與總線_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第六章第六章 I/OI/O接口和總線接口和總線本章介紹本章介紹1. I/O接口接口I/O接口的功能接口的功能簡(jiǎn)單的輸入輸出接口芯片簡(jiǎn)單的輸入輸出接口芯片I/O端口及其尋址方式端口及其尋址方式CPU與外設(shè)間的數(shù)據(jù)傳送方式與外設(shè)間的數(shù)據(jù)傳送方式PC機(jī)的機(jī)的I/O地址分配地址分配2. 總線總線IBM PC總線總線AT總線或總線或ISA總線總線I/O接口是位于系統(tǒng)與外設(shè)間、用來協(xié)助完接口是位于系統(tǒng)與外設(shè)間、用來協(xié)助完成數(shù)據(jù)傳送和控制任務(wù)的邏輯電路成數(shù)據(jù)傳送和控制任務(wù)的邏輯電路PC機(jī)系統(tǒng)板的可編程接口芯片、機(jī)系統(tǒng)板的可編程接口芯片、I/O總線總線槽的電路板(適配器)都是接口電路槽的電路板(適配器)都是接

2、口電路什么是什么是I/OI/O接口?接口?一一I/O接口的功能接口的功能1.采用采用I/O接口接口的必要性的必要性計(jì)算機(jī)和外設(shè)之間的信息交換帶來一些問題:計(jì)算機(jī)和外設(shè)之間的信息交換帶來一些問題:速度不匹配速度不匹配信號(hào)電平不匹配信號(hào)電平不匹配信號(hào)格式不匹配信號(hào)格式不匹配時(shí)序不匹配時(shí)序不匹配因此因此I/O設(shè)備不能直接與設(shè)備不能直接與CPU的系統(tǒng)總線相連,必須在的系統(tǒng)總線相連,必須在CPU與外設(shè)之間設(shè)置專門的接口電路來解決這些問題。與外設(shè)之間設(shè)置專門的接口電路來解決這些問題。2. 接口的功能:接口的功能: 設(shè)置數(shù)據(jù)緩沖器以解決兩者速度差異所帶來的不協(xié)調(diào)設(shè)置數(shù)據(jù)緩沖器以解決兩者速度差異所帶來的不協(xié)調(diào)

3、問題問題 設(shè)置信號(hào)電平轉(zhuǎn)換電路設(shè)置信號(hào)電平轉(zhuǎn)換電路 設(shè)置信息轉(zhuǎn)換邏輯以滿足對(duì)各自格式的要求設(shè)置信息轉(zhuǎn)換邏輯以滿足對(duì)各自格式的要求 設(shè)置時(shí)序控制電路來同步設(shè)置時(shí)序控制電路來同步CPU和外設(shè)的工作和外設(shè)的工作 提供地址譯碼電路,使提供地址譯碼電路,使CPU在同一時(shí)刻只能選中某一在同一時(shí)刻只能選中某一個(gè)個(gè)I/O端口。端口。I/O接口電路是外設(shè)和計(jì)算機(jī)之間傳送信息的交換部件,接口電路是外設(shè)和計(jì)算機(jī)之間傳送信息的交換部件,也成為界面,它使兩者之間能很好地協(xié)調(diào)工作,每一個(gè)也成為界面,它使兩者之間能很好地協(xié)調(diào)工作,每一個(gè)外設(shè)都要通過接口電路才能和主機(jī)相連。外設(shè)都要通過接口電路才能和主機(jī)相連??删幊梯斎胼敵鼋?/p>

4、口芯片可編程輸入輸出接口芯片隨著大規(guī)模集成電路技術(shù)的發(fā)展,出現(xiàn)了許多通用的可隨著大規(guī)模集成電路技術(shù)的發(fā)展,出現(xiàn)了許多通用的可編程接口芯片,可用它們來方便地構(gòu)成接口電路。編程接口芯片,可用它們來方便地構(gòu)成接口電路。后面幾章將介紹常見的可編程后面幾章將介紹常見的可編程I/O接口芯片的原理、編接口芯片的原理、編程方法及與程方法及與CPU的連接方法。的連接方法??删幊讨袛嗫刂破骺删幊讨袛嗫刂破?259A可編程計(jì)數(shù)器可編程計(jì)數(shù)器/定時(shí)器定時(shí)器8253可編程外圍接口芯片可編程外圍接口芯片8255A串行通信和可編程接口芯片串行通信和可編程接口芯片8251AA/D和和D/A轉(zhuǎn)換芯片。轉(zhuǎn)換芯片。本章介紹最常用的

5、簡(jiǎn)單本章介紹最常用的簡(jiǎn)單I/O接口芯片接口芯片,主要有緩沖器主要有緩沖器(Buffer)和鎖存器和鎖存器(Latch)。二、簡(jiǎn)單的輸入輸出接口芯片二、簡(jiǎn)單的輸入輸出接口芯片最常用的簡(jiǎn)單輸入輸出接口芯片主要有緩沖器(最常用的簡(jiǎn)單輸入輸出接口芯片主要有緩沖器(BufferBuffer)和鎖存器(和鎖存器(LatchLatch)。)。緩沖器緩沖器74LS24474LS244和和74LS24574LS245鎖存器鎖存器74LS37374LS373二、簡(jiǎn)單的輸入輸出接口芯片二、簡(jiǎn)單的輸入輸出接口芯片1. 緩沖器緩沖器74LS244和和74LS245連接在總線上的緩沖器都具有三態(tài)輸出能力。連接在總線上的緩

6、沖器都具有三態(tài)輸出能力。在在CPU或或I/O接口電路需要輸入輸出數(shù)據(jù)時(shí),在它接口電路需要輸入輸出數(shù)據(jù)時(shí),在它的使能控制端的使能控制端EN(或(或G)作用一個(gè)低電平脈沖,使它的)作用一個(gè)低電平脈沖,使它的內(nèi)部的各緩沖單元接通,即處在輸出內(nèi)部的各緩沖單元接通,即處在輸出0或或1的透明狀態(tài)。的透明狀態(tài)。數(shù)據(jù)被送上總線。數(shù)據(jù)被送上總線。當(dāng)使能脈沖撤除后,它處于高阻態(tài)。這時(shí),各緩沖單元當(dāng)使能脈沖撤除后,它處于高阻態(tài)。這時(shí),各緩沖單元像一個(gè)斷開的開關(guān),等于將它所連接的電路從總線脫開。像一個(gè)斷開的開關(guān),等于將它所連接的電路從總線脫開。74LS244和和74LS245就是最常用的數(shù)據(jù)緩沖。除緩沖作用就是最常用

7、的數(shù)據(jù)緩沖。除緩沖作用外,它們還能提高總線的驅(qū)動(dòng)能力。外,它們還能提高總線的驅(qū)動(dòng)能力。單向數(shù)據(jù)緩沖器單向數(shù)據(jù)緩沖器74LS24474LS2448 8路數(shù)據(jù)緩沖器,分為兩組,分別由片選信號(hào)路數(shù)據(jù)緩沖器,分為兩組,分別由片選信號(hào)CE1CE1和和CE2CE2控制控制用于用于8 8位數(shù)據(jù)緩沖時(shí),位數(shù)據(jù)緩沖時(shí),CE1CE1和和CE2CE2連在一起連在一起當(dāng)當(dāng)CE1CE1和和CE2CE2為高電平時(shí),輸出呈高阻狀態(tài)為高電平時(shí),輸出呈高阻狀態(tài)74LS244雙向緩沖器74LS245雙向雙向8 8路數(shù)據(jù)緩沖器,路數(shù)據(jù)緩沖器,控制信號(hào)為片選信號(hào)控制信號(hào)為片選信號(hào)輸入端輸入端G G,方向控制,方向控制信號(hào)信號(hào)DIRD

8、IR。只有當(dāng)只有當(dāng)G G為低電平,緩為低電平,緩沖器才工作沖器才工作DIR=1DIR=1,數(shù)據(jù)從,數(shù)據(jù)從A A到到B BDIR=0DIR=0,數(shù)據(jù)從,數(shù)據(jù)從B B到到A A雙向數(shù)據(jù)緩沖器雙向數(shù)據(jù)緩沖器74LS24574LS245鎖存器鎖存器74LS37374LS373鎖存器具有暫存數(shù)據(jù)的能力,能將鎖存器具有暫存數(shù)據(jù)的能力,能將數(shù)據(jù)鎖住,在輸出控制信號(hào)的作用下數(shù)據(jù)鎖住,在輸出控制信號(hào)的作用下將數(shù)據(jù)傳送出去。將數(shù)據(jù)傳送出去。74LS373是一種常是一種常用的用的8D鎖存器,它可以直接掛在總線鎖存器,它可以直接掛在總線上,并具有三態(tài)總線驅(qū)動(dòng)能力。上,并具有三態(tài)總線驅(qū)動(dòng)能力。兩個(gè)控兩個(gè)控制輸入端:輸入

9、使能端制輸入端:輸入使能端G和允和允許輸出端許輸出端OE。OE為低時(shí):為低時(shí):G為高時(shí),為高時(shí),D端數(shù)據(jù)到端數(shù)據(jù)到O端;端;G為低時(shí),為低時(shí),O端將是前面鎖存的端將是前面鎖存的數(shù)數(shù)據(jù),不受據(jù),不受D端的變化影響。端的變化影響。OE為高時(shí):輸出將呈為高時(shí):輸出將呈高阻態(tài)。高阻態(tài)。OEGDO低低高高高高高高低低高高低低低低低低低低X鎖存鎖存高高XX高阻態(tài)高阻態(tài)三三 I/OI/O端口的尋址方式端口的尋址方式1. I/O1. I/O端口端口CPUCPU與外設(shè)通信時(shí),傳送的信息主要包括與外設(shè)通信時(shí),傳送的信息主要包括數(shù)據(jù)信息、狀態(tài)信數(shù)據(jù)信息、狀態(tài)信息和控制信息息和控制信息。這些信息分別進(jìn)入不同的寄存器,

10、通常將這些寄存器和它們這些信息分別進(jìn)入不同的寄存器,通常將這些寄存器和它們的控制邏輯統(tǒng)稱為的控制邏輯統(tǒng)稱為I/OI/O端口(端口(PortPort),),CPUCPU可對(duì)端口中的信息可對(duì)端口中的信息直接進(jìn)行讀寫。直接進(jìn)行讀寫。1)數(shù)據(jù)端口(數(shù)據(jù)端口(Data Port)用來存放用來存放CPU與外設(shè)之間交換的數(shù)據(jù),長(zhǎng)度一般為與外設(shè)之間交換的數(shù)據(jù),長(zhǎng)度一般為1-2個(gè)字節(jié),個(gè)字節(jié),主要起緩沖作用。主要起緩沖作用。2)狀態(tài)端口(狀態(tài)端口(Status Port)用來指示外設(shè)的當(dāng)前狀態(tài)。每種狀態(tài)用用來指示外設(shè)的當(dāng)前狀態(tài)。每種狀態(tài)用1位表示,由位表示,由CPU讀取。讀取。幾種最常用的狀態(tài)位有:幾種最常用的

11、狀態(tài)位有:準(zhǔn)備就緒位(準(zhǔn)備就緒位(Ready)針對(duì)針對(duì)CPU輸入端口:輸入端口:1:數(shù)據(jù)寄存器已準(zhǔn)備好數(shù)據(jù),等待數(shù)據(jù)寄存器已準(zhǔn)備好數(shù)據(jù),等待CPU讀取,取走后,位清讀取,取走后,位清0。針對(duì)針對(duì)CPU輸出端口輸出端口:1:輸出數(shù)據(jù)寄存器已空,可以接收下輸出數(shù)據(jù)寄存器已空,可以接收下一個(gè)數(shù)據(jù);新數(shù)據(jù)到達(dá)后,位清一個(gè)數(shù)據(jù);新數(shù)據(jù)到達(dá)后,位清0。忙碌位(忙碌位(Busy)表明外設(shè)是否能接收數(shù)據(jù)。表明外設(shè)是否能接收數(shù)據(jù)。1:外設(shè)忙,暫時(shí)不允許:外設(shè)忙,暫時(shí)不允許CPU送送信的數(shù)據(jù)過來。信的數(shù)據(jù)過來。0:外設(shè)已空閑,允許:外設(shè)已空閑,允許CPU發(fā)送下一個(gè)數(shù)據(jù)。發(fā)送下一個(gè)數(shù)據(jù)。錯(cuò)誤位(錯(cuò)誤位(Error)

12、1:指示在數(shù)據(jù)傳送過程中出現(xiàn)錯(cuò)誤。指示在數(shù)據(jù)傳送過程中出現(xiàn)錯(cuò)誤。CPU進(jìn)行相應(yīng)的處理,進(jìn)行相應(yīng)的處理,如重新傳送或中止操作等。如重新傳送或中止操作等。3)命令端口(命令端口(Command Port)也稱為控制端口(也稱為控制端口(Control Port),用來存放),用來存放CPU向接口發(fā)出的向接口發(fā)出的各種命令和控制字,以便控制接口和設(shè)備的動(dòng)作。各種命令和控制字,以便控制接口和設(shè)備的動(dòng)作。常見的命令信息有常見的命令信息有啟動(dòng)位、停止位、允許中斷位啟動(dòng)位、停止位、允許中斷位等。等。接口芯片不同,控制字的格式和內(nèi)容是各不相同的,常見的控制接口芯片不同,控制字的格式和內(nèi)容是各不相同的,常見的控

13、制字有字有方式控制字、操作命令字方式控制字、操作命令字等。等。在微型計(jì)算機(jī)系統(tǒng)中,在微型計(jì)算機(jī)系統(tǒng)中,CPU通過接口和外設(shè)交換數(shù)據(jù)時(shí),只有通過接口和外設(shè)交換數(shù)據(jù)時(shí),只有輸輸入(入(IN)和輸出()和輸出(OUT)兩種指令,所以只能把狀態(tài)信息和命)兩種指令,所以只能把狀態(tài)信息和命令信息當(dāng)作數(shù)據(jù)來令信息當(dāng)作數(shù)據(jù)來傳送,并且傳送,并且將狀態(tài)信息作為輸入數(shù)據(jù),控制信將狀態(tài)信息作為輸入數(shù)據(jù),控制信息作為輸出數(shù)據(jù),于是三種信息都可以通過數(shù)據(jù)總線來傳送了。息作為輸出數(shù)據(jù),于是三種信息都可以通過數(shù)據(jù)總線來傳送了。這三種這三種信息被送入三種不同端口的寄存器,因而能實(shí)施不同的功信息被送入三種不同端口的寄存器,因而

14、能實(shí)施不同的功能。能。三種I/O端口的比較端口名稱主要作用傳送方向數(shù)據(jù)端口CPU與外設(shè)交換信息的通道;起緩沖作用CPU外設(shè)CPU外設(shè)狀態(tài)端口存放外設(shè)的當(dāng)前狀態(tài)由CPU讀取,實(shí)現(xiàn)CPU與外設(shè)的握手CPU外設(shè)控制端口存放CPU向接口發(fā)出的各種命令,控制外設(shè)的動(dòng)作CPU外設(shè)I/O I/O 端口端口存儲(chǔ)單元存儲(chǔ)單元I/O I/O 地址地址空間空間存儲(chǔ)器地址存儲(chǔ)器地址空間空間整個(gè)地整個(gè)地址空間址空間1) 1) 存儲(chǔ)器映像的存儲(chǔ)器映像的I/OI/O尋址尋址 存儲(chǔ)單元和存儲(chǔ)單元和I/OI/O端口的地址統(tǒng)一編址端口的地址統(tǒng)一編址2、I/O端口的尋址方式端口的尋址方式特點(diǎn):特點(diǎn):把系統(tǒng)中的每個(gè)把系統(tǒng)中的每個(gè)I/

15、OI/O端口都看作一個(gè)存儲(chǔ)單端口都看作一個(gè)存儲(chǔ)單元,并與存儲(chǔ)單元一起統(tǒng)一編址,這樣訪問存元,并與存儲(chǔ)單元一起統(tǒng)一編址,這樣訪問存儲(chǔ)器的所有指令均可用來訪問儲(chǔ)器的所有指令均可用來訪問I/OI/O端口,不用設(shè)端口,不用設(shè)置專門的置專門的I/OI/O指令指令優(yōu)點(diǎn):優(yōu)點(diǎn):簡(jiǎn)化指令;能用類型多、功能強(qiáng)的訪問存簡(jiǎn)化指令;能用類型多、功能強(qiáng)的訪問存儲(chǔ)器指令對(duì)儲(chǔ)器指令對(duì)I/OI/O設(shè)備進(jìn)行操作;設(shè)備進(jìn)行操作;I/OI/O地址空間大地址空間大小可以靈活變化小可以靈活變化缺點(diǎn):缺點(diǎn):I/OI/O譯碼電路較復(fù)雜;輸入輸出操作較慢譯碼電路較復(fù)雜;輸入輸出操作較慢; ;由于由于I/OI/O端口占用了一部分存儲(chǔ)器地址空間

16、,因端口占用了一部分存儲(chǔ)器地址空間,因而使用戶的存儲(chǔ)地址空間相對(duì)減小。另外不利而使用戶的存儲(chǔ)地址空間相對(duì)減小。另外不利于程序閱讀。于程序閱讀。典型典型CPUCPU:MC6800MC6800、MC68000MC68000和和68HC0568HC052)I/O2)I/O映像的映像的I/OI/O尋址尋址 I/OI/O端口地址與存儲(chǔ)單元地址分開編址端口地址與存儲(chǔ)單元地址分開編址 存儲(chǔ)單元存儲(chǔ)單元存儲(chǔ)地址空存儲(chǔ)地址空間間I/O 端口端口I/O 地址空間地址空間特點(diǎn):特點(diǎn):對(duì)系統(tǒng)中的輸入輸出端口地址單獨(dú)編址,構(gòu)對(duì)系統(tǒng)中的輸入輸出端口地址單獨(dú)編址,構(gòu)成一個(gè)成一個(gè)I/OI/O空間,它們不占存儲(chǔ)空間,而是用專空

17、間,它們不占存儲(chǔ)空間,而是用專門的門的ININ、OUTOUT指令來訪問端口指令來訪問端口優(yōu)點(diǎn):優(yōu)點(diǎn):程序可讀性強(qiáng);執(zhí)行速度快;程序可讀性強(qiáng);執(zhí)行速度快;I/OI/O譯碼電路譯碼電路簡(jiǎn)單簡(jiǎn)單缺點(diǎn):缺點(diǎn):必須有專門的必須有專門的ININ和和OUTOUT指令來訪問指令來訪問I/OI/O端口;端口;必須配有必須配有M/IOM/IO信號(hào)信號(hào)典型典型CPUCPU:80868086系列、系列、Z80Z808086CPU I/O8086CPU I/O端口尋址端口尋址1 1、地址線:、地址線:A15A0A15A02 2、M/IO=1M/IO=13 3、用、用I/OI/O指令指令(in out)(in out)四

18、、四、CPU與外設(shè)間的數(shù)據(jù)傳送方式與外設(shè)間的數(shù)據(jù)傳送方式軟件實(shí)現(xiàn):軟件實(shí)現(xiàn):程序控制方式、中斷方式。程序控制方式、中斷方式。硬件實(shí)現(xiàn):硬件實(shí)現(xiàn):DMADMA方式。方式。程序控制方式程序控制方式CPUCPU與外設(shè)之間的數(shù)據(jù)傳送是在程序控制下完成的,分為;與外設(shè)之間的數(shù)據(jù)傳送是在程序控制下完成的,分為;無條件傳送方式(同步傳送方式)無條件傳送方式(同步傳送方式)條件傳送方式(查詢傳送方式)條件傳送方式(查詢傳送方式) 無條件方式(同步傳送方式)無條件方式(同步傳送方式)最簡(jiǎn)單的傳送方式,主要用于對(duì)簡(jiǎn)單的外設(shè)進(jìn)行操作,最簡(jiǎn)單的傳送方式,主要用于對(duì)簡(jiǎn)單的外設(shè)進(jìn)行操作,或者外設(shè)的定時(shí)是固定的或已知的場(chǎng)合

19、?;蛘咄庠O(shè)的定時(shí)是固定的或已知的場(chǎng)合。程序可以不必檢查外設(shè)的狀態(tài),認(rèn)為外設(shè)已經(jīng)準(zhǔn)備就緒,程序可以不必檢查外設(shè)的狀態(tài),認(rèn)為外設(shè)已經(jīng)準(zhǔn)備就緒,而在需要進(jìn)行而在需要進(jìn)行I/OI/O操作時(shí),直接執(zhí)行操作時(shí),直接執(zhí)行I/OI/O指令指令, ,與外設(shè)傳送與外設(shè)傳送數(shù)據(jù)。數(shù)據(jù)。CPU譯碼數(shù)據(jù)線M/IORD或門地址線 接口外設(shè)同步輸同步輸 入方式入方式簡(jiǎn)單輸入接口電路(簡(jiǎn)單輸入接口電路()10KSEL161514131211109248613111517432561871912A42A32A11A31A41A21A11Y12A21G2G1Y31Y21Y51Y41Y61Y71Y8141618912753U174

20、ALS24412345678VCC161514131211109CPU譯碼數(shù)據(jù)線M/IOWR或門地址線 接口外設(shè)2、同步輸出方式簡(jiǎn)單輸出接口電路簡(jiǎn)單輸出接口電路SELSEL330330D0D0Q0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5Q6Q6Q7Q7D4D4D5D5D6D6D7D7D3D3D2D2D1D1DATADATABUSBUS74ALS37374ALS373U1U1OCOCCLKCLK2 23 34 47 75 56 69 98 812121515161619191313141417171818+5V+5V1 11111條件傳送(查詢式傳送)條件傳送(查詢式傳送)一般情況下,一般情

21、況下,CPU在執(zhí)行在執(zhí)行I/O時(shí),很難保證輸入設(shè)備總是時(shí),很難保證輸入設(shè)備總是準(zhǔn)備好數(shù)據(jù),或是輸出設(shè)備已經(jīng)處在接收數(shù)據(jù)狀態(tài)。準(zhǔn)備好數(shù)據(jù),或是輸出設(shè)備已經(jīng)處在接收數(shù)據(jù)狀態(tài)。CPU必須先確認(rèn)外設(shè)已處于準(zhǔn)備傳送數(shù)據(jù)狀態(tài),才能進(jìn)行傳送。必須先確認(rèn)外設(shè)已處于準(zhǔn)備傳送數(shù)據(jù)狀態(tài),才能進(jìn)行傳送。CPU必須先執(zhí)行一條輸入指令,從外設(shè)的狀態(tài)口讀取當(dāng)必須先執(zhí)行一條輸入指令,從外設(shè)的狀態(tài)口讀取當(dāng)前的狀態(tài)。前的狀態(tài)。如果外設(shè)未準(zhǔn)備好或處于忙碌狀態(tài),則程序要如果外設(shè)未準(zhǔn)備好或處于忙碌狀態(tài),則程序要轉(zhuǎn)回去反復(fù)執(zhí)行讀狀態(tài)指令,不斷檢測(cè)外設(shè)的狀態(tài)轉(zhuǎn)回去反復(fù)執(zhí)行讀狀態(tài)指令,不斷檢測(cè)外設(shè)的狀態(tài);直到直到外設(shè)準(zhǔn)備就緒為止,然后外設(shè)準(zhǔn)

22、備就緒為止,然后CPU才可以進(jìn)行正常的才可以進(jìn)行正常的I/O操作。操作。 輸入時(shí),狀態(tài)寄存器的狀態(tài)指示要輸入的數(shù)據(jù)是否已經(jīng)輸入時(shí),狀態(tài)寄存器的狀態(tài)指示要輸入的數(shù)據(jù)是否已經(jīng)準(zhǔn)備就緒;準(zhǔn)備就緒; 數(shù)據(jù)線數(shù)據(jù)線狀態(tài)線狀態(tài)線外設(shè)外設(shè)查詢式輸入查詢式輸入查詢式輸入工作過程查詢式輸入工作過程外設(shè)的數(shù)據(jù)已經(jīng)準(zhǔn)備好后,發(fā)出選通信號(hào),一方面將數(shù)外設(shè)的數(shù)據(jù)已經(jīng)準(zhǔn)備好后,發(fā)出選通信號(hào),一方面將數(shù)據(jù)送入據(jù)送入8 8位鎖存器,另一方面對(duì)位鎖存器,另一方面對(duì)D D觸發(fā)器觸發(fā),使?fàn)顟B(tài)觸發(fā)器觸發(fā),使?fàn)顟B(tài)信息標(biāo)志位信息標(biāo)志位D D0 0為為1 1。當(dāng)當(dāng)CPUCPU要求外設(shè)輸入信息時(shí),先檢查狀態(tài)信息。若數(shù)據(jù)已要求外設(shè)輸入信息時(shí),

23、先檢查狀態(tài)信息。若數(shù)據(jù)已經(jīng)準(zhǔn)備好,則輸入相應(yīng)數(shù)據(jù),并使?fàn)顟B(tài)信息清經(jīng)準(zhǔn)備好,則輸入相應(yīng)數(shù)據(jù),并使?fàn)顟B(tài)信息清“0”0”。否則,等待數(shù)據(jù)準(zhǔn)備否則,等待數(shù)據(jù)準(zhǔn)備“就緒就緒”。 準(zhǔn)備好?準(zhǔn)備好?讀取狀態(tài)信息讀取狀態(tài)信息輸入數(shù)據(jù)輸入數(shù)據(jù)是是否否狀態(tài)位復(fù)位狀態(tài)位復(fù)位查詢式輸入流程圖常用的狀態(tài)線有常用的狀態(tài)線有IBFIBF,READYREADY功能:功能:1 1、輸入設(shè)備準(zhǔn)備好數(shù)據(jù),狀態(tài)線有效;、輸入設(shè)備準(zhǔn)備好數(shù)據(jù),狀態(tài)線有效;2 2、CPUCPU讀數(shù)據(jù)端口,取走數(shù)據(jù)后,狀態(tài)線轉(zhuǎn)換為無讀數(shù)據(jù)端口,取走數(shù)據(jù)后,狀態(tài)線轉(zhuǎn)換為無效效1、STB有效,有效,(1)、輸入設(shè)備數(shù)據(jù)進(jìn)入鎖存器;、輸入設(shè)備數(shù)據(jù)進(jìn)入鎖存器;(2

24、)、IBF 有效有效2、CPU讀狀態(tài)端口讀狀態(tài)端口3、CPU讀數(shù)據(jù)端口,同時(shí)清讀數(shù)據(jù)端口,同時(shí)清IBF外設(shè)外設(shè)查詢式輸入代碼片段查詢式輸出時(shí),狀態(tài)寄存器的狀態(tài)指示輸出設(shè)備是否空查詢式輸出時(shí),狀態(tài)寄存器的狀態(tài)指示輸出設(shè)備是否空閑。閑。數(shù)據(jù)線數(shù)據(jù)線狀態(tài)線狀態(tài)線外設(shè)外設(shè)查詢式輸出查詢式輸出查詢式輸出工作過程查詢式輸出工作過程當(dāng)輸出設(shè)備將數(shù)據(jù)輸出后,會(huì)發(fā)出一個(gè)當(dāng)輸出設(shè)備將數(shù)據(jù)輸出后,會(huì)發(fā)出一個(gè)ACKACK信號(hào),使信號(hào),使D D觸觸發(fā)器翻轉(zhuǎn)為發(fā)器翻轉(zhuǎn)為0 0。CPUCPU查詢到這個(gè)狀態(tài)信息后,便知道外設(shè)空閑,可以執(zhí)行查詢到這個(gè)狀態(tài)信息后,便知道外設(shè)空閑,可以執(zhí)行輸出指令,將新的輸出數(shù)據(jù)發(fā)送到數(shù)據(jù)總線上,

25、同時(shí)輸出指令,將新的輸出數(shù)據(jù)發(fā)送到數(shù)據(jù)總線上,同時(shí)把數(shù)據(jù)口地址發(fā)送到地址總線上。把數(shù)據(jù)口地址發(fā)送到地址總線上。由地址譯碼器產(chǎn)生的譯碼信號(hào)和由地址譯碼器產(chǎn)生的譯碼信號(hào)和WRWR相相“與與”后,發(fā)出選后,發(fā)出選通信號(hào),將輸出數(shù)據(jù)送至通信號(hào),將輸出數(shù)據(jù)送至8 8位鎖存器。同時(shí),將位鎖存器。同時(shí),將D D觸發(fā)觸發(fā)器置為器置為1 1,并通知外設(shè)進(jìn)行數(shù)據(jù)輸出操作。,并通知外設(shè)進(jìn)行數(shù)據(jù)輸出操作。 查詢式輸出流程圖查詢式輸出流程圖常用的狀態(tài)線有常用的狀態(tài)線有emptyempty,busybusy功能:功能:1 1、輸出設(shè)備空閑,、輸出設(shè)備空閑,BUSYBUSY無效;無效;2 2、CPUCPU寫數(shù)據(jù)端口,輸出設(shè)

26、備輸出數(shù)據(jù),寫數(shù)據(jù)端口,輸出設(shè)備輸出數(shù)據(jù),狀態(tài)狀態(tài)線轉(zhuǎn)換為有效線轉(zhuǎn)換為有效1、CPU讀狀態(tài)端口,查讀狀態(tài)端口,查BUSY線線2、CPU寫數(shù)據(jù),寫數(shù)據(jù),(1)、數(shù)據(jù)進(jìn)入數(shù)據(jù)鎖存器;、數(shù)據(jù)進(jìn)入數(shù)據(jù)鎖存器;(2)、BUSY 有效有效3、輸出設(shè)備工作完畢,、輸出設(shè)備工作完畢,busy無效無效外設(shè)外設(shè)查詢式輸出代碼片段查詢式輸出代碼片段條件傳送特點(diǎn)條件傳送特點(diǎn)優(yōu)點(diǎn):電路簡(jiǎn)單優(yōu)點(diǎn):電路簡(jiǎn)單缺點(diǎn):降低缺點(diǎn):降低CPUCPU效率,實(shí)時(shí)性不強(qiáng)效率,實(shí)時(shí)性不強(qiáng)2 2、中斷方式、中斷方式 當(dāng)外設(shè)作好傳送準(zhǔn)備后,主動(dòng)向當(dāng)外設(shè)作好傳送準(zhǔn)備后,主動(dòng)向CPUCPU請(qǐng)求中斷,請(qǐng)求中斷,CPUCPU響響應(yīng)中斷后在中斷處理程序中

27、與外設(shè)交換數(shù)據(jù)。應(yīng)中斷后在中斷處理程序中與外設(shè)交換數(shù)據(jù)。 在中斷未發(fā)生時(shí),在中斷未發(fā)生時(shí),CPUCPU可以執(zhí)行其他程序,這樣可以可以執(zhí)行其他程序,這樣可以提高提高CPUCPU的利用率。的利用率。/BUSY送打印機(jī)數(shù)據(jù)送打印機(jī)數(shù)據(jù)/BUSY送打印機(jī)數(shù)據(jù)送打印機(jī)數(shù)據(jù)檢測(cè)狀態(tài)線檢測(cè)狀態(tài)線檢測(cè)狀態(tài)線檢測(cè)狀態(tài)線中斷申請(qǐng)信號(hào)中斷申請(qǐng)信號(hào)主程序主程序中斷服務(wù)子程序中斷服務(wù)子程序中斷邏輯中斷邏輯主程序中斷服務(wù)子程序中斷申請(qǐng)信號(hào) 在高速的外設(shè)或成塊交換數(shù)據(jù)的情況,采用程序在高速的外設(shè)或成塊交換數(shù)據(jù)的情況,采用程序控制方式進(jìn)行數(shù)據(jù)的傳輸,是無法滿足要求的。在控制方式進(jìn)行數(shù)據(jù)的傳輸,是無法滿足要求的。在這種情況下,

28、采用這種情況下,采用DMADMA方式。方式。 3. DMA 3. DMA (直接存儲(chǔ)器存取方式(直接存儲(chǔ)器存取方式 )(Direct Memory Access)(Direct Memory Access)DMADMA方式的提出方式的提出程序控制傳送方式程序控制傳送方式以以CPUCPU為中心,數(shù)據(jù)傳送由為中心,數(shù)據(jù)傳送由CPUCPU來控制來控制利用利用中斷方式中斷方式雖然可以提高效率,但也必須由雖然可以提高效率,但也必須由CPUCPU控制;控制;CPUCPU在執(zhí)行中斷服務(wù)程序、保護(hù)現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)都會(huì)花費(fèi)不少在執(zhí)行中斷服務(wù)程序、保護(hù)現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)都會(huì)花費(fèi)不少時(shí)間時(shí)間總體評(píng)價(jià):總體評(píng)價(jià):慢!不能滿

29、足高速數(shù)據(jù)傳送的要求。慢!不能滿足高速數(shù)據(jù)傳送的要求。利用利用DMADMA可以實(shí)現(xiàn)高速數(shù)據(jù)傳送!可以實(shí)現(xiàn)高速數(shù)據(jù)傳送!高速數(shù)據(jù)傳送的需求高速數(shù)據(jù)傳送的需求某些外部設(shè)備的數(shù)據(jù)傳送非???!某些外部設(shè)備的數(shù)據(jù)傳送非???!例如:硬盤,其數(shù)據(jù)的最低傳送速率達(dá)例如:硬盤,其數(shù)據(jù)的最低傳送速率達(dá)5MB/S5MB/S。用程序控制。用程序控制方法傳送數(shù)據(jù)的速率最高也只能達(dá)到方法傳送數(shù)據(jù)的速率最高也只能達(dá)到530KB/S530KB/S。因此完成。因此完成硬盤與存儲(chǔ)器之間的數(shù)據(jù)實(shí)時(shí)傳送實(shí)際上是不可能的!硬盤與存儲(chǔ)器之間的數(shù)據(jù)實(shí)時(shí)傳送實(shí)際上是不可能的!因此,在這種情況下,數(shù)據(jù)傳送采用因此,在這種情況下,數(shù)據(jù)傳送采用D

30、MADMA方式。方式。 DMADMA方式是在外設(shè)與內(nèi)存間建立起直接的通道,方式是在外設(shè)與內(nèi)存間建立起直接的通道,CPUCPU不再直接參加外設(shè)和內(nèi)存間的數(shù)據(jù)傳輸。不再直接參加外設(shè)和內(nèi)存間的數(shù)據(jù)傳輸。當(dāng)系統(tǒng)需要進(jìn)行當(dāng)系統(tǒng)需要進(jìn)行DMADMA傳輸時(shí),將傳輸時(shí),將CPUCPU對(duì)地址和數(shù)據(jù)對(duì)地址和數(shù)據(jù)及控制線的管理權(quán)交由及控制線的管理權(quán)交由DMADMA控制器進(jìn)行控制,當(dāng)控制器進(jìn)行控制,當(dāng)完成了一次完成了一次DMADMA數(shù)據(jù)傳輸后,再將這個(gè)控制權(quán)還數(shù)據(jù)傳輸后,再將這個(gè)控制權(quán)還給給CPUCPU,這些工作都是由硬件自動(dòng)實(shí)現(xiàn)的,并不,這些工作都是由硬件自動(dòng)實(shí)現(xiàn)的,并不需要程序進(jìn)行控制。需要程序進(jìn)行控制。 DMA

31、DMA方式特點(diǎn)方式特點(diǎn)DMA-Direct Memory AccessDMA-Direct Memory Access在存儲(chǔ)器和外部設(shè)備之間,直接開辟高速的數(shù)據(jù)傳送通路。在存儲(chǔ)器和外部設(shè)備之間,直接開辟高速的數(shù)據(jù)傳送通路。數(shù)據(jù)的傳送過程不需要數(shù)據(jù)的傳送過程不需要CPUCPU介入,介入,只用一個(gè)總線周期,就能只用一個(gè)總線周期,就能完成存儲(chǔ)器和外設(shè)之間的數(shù)據(jù)傳送。完成存儲(chǔ)器和外設(shè)之間的數(shù)據(jù)傳送。ABDBCB CPU DMAC RAM/ROM I/ODMA方式傳送數(shù)據(jù)路徑CPU外設(shè)存儲(chǔ)器總線程序控制數(shù)據(jù)輸入程序控制數(shù)據(jù)輸入/輸出輸出DMA方式數(shù)據(jù)傳送方式數(shù)據(jù)傳送ABDBCB CPU DMAC Mem

32、ory I/On(4) (4) 能向存儲(chǔ)器和能向存儲(chǔ)器和I/OI/O接口發(fā)出相應(yīng)的讀接口發(fā)出相應(yīng)的讀/ /寫控寫控制信號(hào);制信號(hào);n(5) (5) 能控制數(shù)據(jù)傳送的字節(jié)數(shù),控制能控制數(shù)據(jù)傳送的字節(jié)數(shù),控制DMADMA傳送是傳送是否結(jié)束;否結(jié)束;n(6) (6) 在在DMADMA傳送結(jié)束后,能釋放總線給傳送結(jié)束后,能釋放總線給CPUCPU,恢,恢復(fù)復(fù)CPUCPU對(duì)總線的控制。對(duì)總線的控制。內(nèi)存外設(shè)DMAC輸出輸入外設(shè)外設(shè)DMAC內(nèi)存內(nèi)存DMACDMA傳送的幾種形式傳送的幾種形式8086CPU8086CPU為為DMADMA提供兩根信號(hào)線提供兩根信號(hào)線1 1、HOLD HOLD 總線保持請(qǐng)求總線保持請(qǐng)求2 2、HLDA HLDA 總線保持響應(yīng)總線保持響應(yīng)一、總線的概念為使系統(tǒng)靈活、簡(jiǎn)單和便于功能擴(kuò)展,多數(shù)微型計(jì)為使系統(tǒng)靈活、簡(jiǎn)單和便于功能擴(kuò)展,多數(shù)微型計(jì)算機(jī)系統(tǒng)都采用模塊化的結(jié)構(gòu)。算機(jī)系統(tǒng)都采用模塊化的結(jié)構(gòu)。一臺(tái)微機(jī)由多個(gè)具有獨(dú)立功能的模塊組成,一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論