版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、8.1 概 述8.2 CPU與外設(shè)數(shù)據(jù)傳送的方式8.3 DMA控制器退出第8章 輸入和輸出8.1 概 述8.1.1 輸入輸出的尋址方式CPU尋址外設(shè)可以有兩種方式。1存儲(chǔ)器對(duì)應(yīng)輸入輸出方式在這種方式中,把一個(gè)外設(shè)端口作為存儲(chǔ)器的一個(gè)單元來(lái)對(duì)待,故每一個(gè)外設(shè)端口占有存儲(chǔ)器的一個(gè)地址。從外部設(shè)備輸入一個(gè)數(shù)據(jù),作為一次存儲(chǔ)器讀的操作;而向外部設(shè)備輸出一個(gè)數(shù)據(jù),那么作為一次存儲(chǔ)器寫的操作。這種方式的優(yōu)點(diǎn)是:1CPU對(duì)外設(shè)的操作可使用全部的存儲(chǔ)器操作指令,故指令多,使用方便。如可以對(duì)外設(shè)中的數(shù)據(jù)存于外設(shè)的存放器中進(jìn)行算術(shù)和邏輯運(yùn)算,進(jìn)行循環(huán)或移位等。2內(nèi)存和外設(shè)的地址分布圖是同一個(gè)。3不需要專門的輸入輸
2、出指令以及區(qū)分是存儲(chǔ)器還是I/O操作的控制信號(hào)。缺點(diǎn)是:外設(shè)占用了內(nèi)存單元,使內(nèi)存容量減小。2端口尋址的輸入輸出方式在這種工作方式中:CPU有專門的I/O指令,用地址來(lái)區(qū)分不同的外設(shè)。但要注意實(shí)際上是以端口Port作為地址的單元,因?yàn)橐粋€(gè)外設(shè)不僅有數(shù)據(jù)存放器還有狀態(tài)存放器和控制命令存放器,它們各需要一個(gè)端口才能加以區(qū)分,故一個(gè)外設(shè)往往需要數(shù)個(gè)端口地址。CPU用地址來(lái)選擇外設(shè)。要尋址的外設(shè)的端口地址,顯然比內(nèi)存單元的地址要少得多。所以,在用直接尋址方式尋址外設(shè)時(shí),它的地址字節(jié),通常總要比尋址內(nèi)存單元的地址少一個(gè)字節(jié),因而節(jié)省了指令的存儲(chǔ)空間,縮短了指令的執(zhí)行時(shí)間。8.1.2 CPU與I/O設(shè)備之
3、間的接口信息1數(shù)據(jù)Data在微型機(jī)中,數(shù)據(jù)通常為8位、16位或32位。它大致可以分為三種根本類型:1數(shù)字量2模擬量3開(kāi)關(guān)量2狀態(tài)信息Status在輸入時(shí),有輸入設(shè)備是否準(zhǔn)備好Ready的狀態(tài)信息;在輸出時(shí),有輸出設(shè)備是否有空Empty的狀態(tài)信息,假設(shè)輸出設(shè)備正在輸出,那么以忙Busy指示等等。3控制信息Control控制輸入輸出設(shè)備啟動(dòng)或停止等等。狀態(tài)信息和控制信息與數(shù)據(jù)是不同性質(zhì)的信息,必須要分別傳送。但在大局部微型機(jī)中8086也如此,只有通用的IN和OUT指令,因此,外設(shè)的狀態(tài)也必須作為一種數(shù)據(jù)輸入;而CPU的控制命令也必須作為一種數(shù)據(jù)輸出。所以,一個(gè)外設(shè)往往要幾個(gè)端口地址,CPU尋址的是
4、端口,而不是籠統(tǒng)的外設(shè)。8.1.3 CPU的輸入輸出時(shí)序通常I/O接口電路的工作速度較慢,往往要插入等待狀態(tài)。8.1.4 CPU與接口電路間數(shù)據(jù)傳送的形式CPU與外設(shè)的信息交換稱為通信Communication。根本的通信方式有兩種: 并行通信數(shù)據(jù)的各位同時(shí)傳送; 串行通信數(shù)據(jù)一位一位順序傳送。8.2 CPU與外設(shè)數(shù)據(jù)傳送的方式8.2.1 查詢傳送方式CPU與I/O設(shè)備的工作往往是異步的,很難保證當(dāng)CPU執(zhí)行輸入操作時(shí),外設(shè)已把要輸入的信息準(zhǔn)備好了;而當(dāng)CPU執(zhí)行輸出時(shí),外設(shè)的存放器用于存放CPU輸出數(shù)據(jù)的存放器一定是空的。所以,通常程序控制的傳送方式在傳送之前,必須要查詢一下外設(shè)的狀態(tài),當(dāng)外
5、設(shè)準(zhǔn)備就緒了才傳送;假設(shè)未準(zhǔn)備好,那么CPU等待。1查詢式輸入在輸入時(shí),CPU必須了解外設(shè)的狀態(tài),看外設(shè)是否準(zhǔn)備好。當(dāng)輸入設(shè)備的數(shù)據(jù)已準(zhǔn)備好后,發(fā)出一個(gè)選通信號(hào),一邊把數(shù)據(jù)送入鎖存器,一邊使D觸發(fā)器為“1,給出“準(zhǔn)備好Ready的狀態(tài)信號(hào)。而數(shù)據(jù)與狀態(tài)必須由不同的端口輸至CPU數(shù)據(jù)總線。當(dāng)CPU要由外設(shè)輸入信息時(shí),先輸入狀態(tài)信息,檢查數(shù)據(jù)是否已準(zhǔn)備好,當(dāng)數(shù)據(jù)已經(jīng)準(zhǔn)備好后,才輸入數(shù)據(jù)。讀入數(shù)據(jù)的指令,使?fàn)顟B(tài)信息清“0。這種查詢輸入方式的程序流程圖,如圖8-11所示。2查詢式輸出同樣的,在輸出時(shí)CPU也必須了解外設(shè)的狀態(tài),看外設(shè)是否有空即外設(shè)不是正處在輸出狀態(tài),或外設(shè)的數(shù)據(jù)存放器是空的,可以接收C
6、PU輸出的信息,假設(shè)有空,那么CPU執(zhí)行輸出指令,否那么就等待。查詢式輸出的程序流程圖如圖8-14所示。8.2.2 中斷傳送方式在上述的查詢傳送方式中,CPU要不斷地詢問(wèn)外設(shè),當(dāng)外設(shè)沒(méi)有準(zhǔn)備好時(shí),CPU要等待,不能進(jìn)行別的操作,這樣就浪費(fèi)了CPU的時(shí)間。而且許多外設(shè)的速度是較低的,如鍵盤、打印機(jī)等等,它們輸入或輸出一個(gè)數(shù)據(jù)的速度是很慢的,在這個(gè)過(guò)程中,CPU可以執(zhí)行大量的指令。為了提高CPU的效率,可采用中斷的傳送方式:在輸入時(shí),假設(shè)外設(shè)的輸入數(shù)據(jù)已存入存放器;在輸出時(shí),假設(shè)外設(shè)已把上一個(gè)數(shù)據(jù)輸出,輸出存放器已空,由外設(shè)向CPU 發(fā)出中斷請(qǐng)求,CPU就暫停原執(zhí)行的程序 即實(shí)現(xiàn)中斷,轉(zhuǎn)去執(zhí)行輸入
7、或輸出操作中斷效勞,待輸入輸出操作完成后即返回,CPU再繼續(xù)執(zhí)行原來(lái)的程序。這樣就可以大大提高CPU的效率,而且允許CPU與外設(shè)甚至多個(gè)外設(shè)同時(shí)工作。8.2.3 直接數(shù)據(jù)通道傳送DMA中斷傳送仍是由CPU通過(guò)程序來(lái)傳送,每次要保護(hù)斷點(diǎn),保護(hù)現(xiàn)場(chǎng)需用多條指令,每條指令要有取指和執(zhí)行時(shí)間。這對(duì)于一個(gè)高速I/O設(shè)備,以及成組交換數(shù)據(jù)的情況,例如磁盤與內(nèi)存間的信息交換,就顯得速度太慢了。所以希望用硬件在外設(shè)與內(nèi)存間直接進(jìn)行數(shù)據(jù)交換DMA,而不通過(guò)CPU,這樣數(shù)據(jù)傳送的速度的上限就取決于存儲(chǔ)器的工作速度。但是,通常系統(tǒng)的地址和數(shù)據(jù)總線以及一些控制信號(hào)線例如IO/、等是由CPU管理的。在DMA方式時(shí),就希
8、望CPU把這些總線讓出來(lái)即CPU連到這些總線上的線處于第三態(tài)高阻狀態(tài),而由DMA控制器接管,控制傳送的字節(jié)數(shù),判斷DMA是否結(jié)束,以及發(fā)出DMA結(jié)束等信號(hào)。這些都是由硬件實(shí)現(xiàn)的。1DMA控制器的根本功能DMAC是控制存儲(chǔ)器和外部設(shè)備之間直接高速地傳送數(shù)據(jù)的硬件電路,它應(yīng)能取代CPU,用硬件完成圖8-17所示的各項(xiàng)功能。具體地說(shuō)應(yīng)具有如下功能:1能接收外設(shè)的請(qǐng)求,向CPU發(fā)出DMA請(qǐng)求信號(hào)。2當(dāng)CPU發(fā)出DMA響應(yīng)信號(hào)之后,接管對(duì)總線的控制,進(jìn)入DMA方式。3能尋址存儲(chǔ)器,即能輸出地址信息和修改地址。4能向存儲(chǔ)器和外設(shè)發(fā)出相應(yīng)的讀/寫控制信號(hào)。5能控制傳送的字節(jié)數(shù),判斷DMA傳送是否結(jié)束。6在D
9、MA傳送結(jié)束以后,能結(jié)束DMA請(qǐng)求信號(hào),釋放總線,使CPU恢復(fù)正常工作。2DMA傳送方式各種DMAC一般都有兩種根本的DMA傳送方式:1單字節(jié)方式:每次DMA請(qǐng)求只傳送一個(gè)字節(jié)數(shù)據(jù),每傳送完一個(gè)字節(jié),都撤除DMA請(qǐng)求信號(hào),釋放總線。2字節(jié)字符組方式:每次DMA請(qǐng)求連續(xù)傳送一個(gè)數(shù)據(jù)塊,待規(guī)定長(zhǎng)度的數(shù)據(jù)塊傳送完了以后,才撤除DMA請(qǐng)求,釋放總線。8.3 DMA控制器8237的工作周期8237在設(shè)計(jì)時(shí)規(guī)定它有兩種主要的工作周期或工作狀態(tài),即空閑周期和有效周期。每一個(gè)周期又是由假設(shè)干個(gè)時(shí)鐘周期所組成的。8237的工作方式8237在DMA傳送時(shí)有四種工作方式。1單字節(jié)傳送方式這種方式一次只傳送一個(gè)字節(jié)。
10、數(shù)據(jù)傳送后字節(jié)計(jì)數(shù)器減量,地址要相應(yīng)修改增量或減量取決于編程。HRQ變?yōu)闊o(wú)效,釋放系統(tǒng)總線。假設(shè)傳送使字節(jié)數(shù)減為0,TC發(fā)生或者終結(jié)DMA傳送,或重新初始化。2塊傳送方式在這種傳送方式下,8237由DREQ啟動(dòng)后就連續(xù)地傳送數(shù)據(jù),直至字節(jié)數(shù)計(jì)數(shù)器減到零產(chǎn)生TCTerminal Count,或者由外部輸入有效的信號(hào)來(lái)終結(jié)DMA傳送。3請(qǐng)求傳送方式在這種工作方式下,8237可以進(jìn)行連續(xù)的數(shù)據(jù)傳送。當(dāng)出現(xiàn)以下三種情況之一時(shí)停止傳送。1字節(jié)數(shù)計(jì)數(shù)器減到0,發(fā)生TC;2由外界送來(lái)一個(gè)有效的 信號(hào);3外界的DREQ信號(hào)變?yōu)闊o(wú)效外設(shè)的數(shù)據(jù)已傳送完。4級(jí)連方式這種方式用于通過(guò)級(jí)連以擴(kuò)展通道的情況。第二級(jí)的HR
11、Q和HLDA信號(hào)連到第一級(jí)的DREQ和DACK上。在前三種工作方式下,DMA傳送有三種類型:DMA讀、寫和校驗(yàn)。8237的存放器組和編程1現(xiàn)行地址存放器每一個(gè)通道有一個(gè)16位的現(xiàn)行地址存放器。在這個(gè)存放器中保存著用于DMA傳送的地址值,在每次傳送后,這個(gè)存放器的值自動(dòng)增量或減量。這個(gè)存放器的值可由CPU寫入或讀出分兩次連續(xù)操作。2現(xiàn)行字節(jié)數(shù)存放器每個(gè)通道有一個(gè)16位的現(xiàn)行字節(jié)數(shù)存放器,它保持著要傳送的字節(jié)數(shù),在每次傳送后此存放器減量。當(dāng)這個(gè)存放器的值減為零時(shí),TC將產(chǎn)生。這個(gè)存放器的值在編程狀態(tài)可由CPU讀出和寫入。3基地址和基字節(jié)數(shù)存放器每一個(gè)通道有一對(duì)16位的基地址和基字節(jié)數(shù)存放器,它們存
12、放著與現(xiàn)行存放器相聯(lián)系的初始值。4命令存放器這是一個(gè)8位存放器,用以控制8237的工作。命令字的格式如圖8-24所示。5模式存放器每一個(gè)通道有一個(gè)6位的模式存放器以規(guī)定通道的工作模式,如圖8-26所示。在編程時(shí)用最低兩位來(lái)選擇寫入哪個(gè)通道的模式存放器。6請(qǐng)求存放器8237的每個(gè)通道有一條硬件的DREQ請(qǐng)求線,當(dāng)工作在數(shù)據(jù)塊傳送方式時(shí),也可以由軟件發(fā)出DREQ請(qǐng)求。所以,在8237中有一種請(qǐng)求存放器,如圖8-27所示。每個(gè)通道的軟件請(qǐng)求可以分別設(shè)置。軟件請(qǐng)求是非屏蔽的,它們的優(yōu)先權(quán)同樣受優(yōu)先權(quán)邏輯的控制。7屏蔽存放器每個(gè)通道外設(shè)通過(guò)DREQ線發(fā)出的請(qǐng)求,可以單獨(dú)地屏蔽或允許,所以在8237中有一個(gè)屏蔽存放器,如圖8-28所示。8狀態(tài)存放器8237中有一個(gè)可由CPU讀取的狀態(tài)存放器,如圖8-29所示。9臨時(shí)存放器在存儲(chǔ)器到存儲(chǔ)器的傳送方式下,臨時(shí)存放器保存從源單元讀出的數(shù)據(jù),又由它寫入至目的單元。在傳送完成時(shí),它保存?zhèn)魉偷淖詈笠粋€(gè)字節(jié),此字節(jié)可由CPU讀出。10軟件命令8237在編程狀態(tài)還有兩種軟件命令,軟件命令不需要通
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人民版九年級(jí)歷史上冊(cè)階段測(cè)試試卷含答案
- 二零二五版農(nóng)村集體資產(chǎn)農(nóng)民房屋租賃合同2篇
- 2025年度智能化農(nóng)場(chǎng)承包經(jīng)營(yíng)合同4篇
- 二零二五年度建筑幕墻施工安全協(xié)議合同4篇
- 二零二五年度健康營(yíng)養(yǎng)面包研發(fā)與訂購(gòu)合同4篇
- 二零二五版專業(yè)攝影棚場(chǎng)地租賃及拍攝服務(wù)合同范本4篇
- 2025年度木飾面產(chǎn)品市場(chǎng)推廣與廣告投放合同
- 房屋抵債合同(2篇)
- 2025版南京商業(yè)地產(chǎn)租賃稅費(fèi)結(jié)算合同4篇
- 著火場(chǎng)景的火源辨識(shí)與處置
- 紅色革命故事《王二小的故事》
- 《白蛇緣起》賞析
- 海洋工程用高性能建筑鋼材的研發(fā)
- 蘇教版2022-2023學(xué)年三年級(jí)數(shù)學(xué)下冊(cè)開(kāi)學(xué)摸底考試卷(五)含答案與解析
- 英語(yǔ)48個(gè)國(guó)際音標(biāo)課件(單詞帶聲、附有聲國(guó)際音標(biāo)圖)
- GB/T 6892-2023一般工業(yè)用鋁及鋁合金擠壓型材
- 冷庫(kù)安全管理制度
- 2023同等學(xué)力申碩統(tǒng)考英語(yǔ)考試真題
- 家具安裝工培訓(xùn)教案優(yōu)質(zhì)資料
- 在雙減政策下小學(xué)音樂(lè)社團(tuán)活動(dòng)有效開(kāi)展及策略 論文
- envi二次開(kāi)發(fā)素材包-idl培訓(xùn)
評(píng)論
0/150
提交評(píng)論