版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第11章 DMA技術(shù)與DMA控制器,11.1 DMA技術(shù)概述 11.2 可編程DMA控制器8237A 11.3 DMA技術(shù)在微機系統(tǒng)中的應用,11.1 DMA技術(shù)概述,1、DMA 傳送方式的實現(xiàn)方法: 由專用接口芯片DMA控制器 (稱DMAC) 控制傳送過程; 當外設(shè)需傳送數(shù)據(jù)時,通過DMAC向CPU發(fā)出總線請求; CPU發(fā)出總線響應信號,釋放總線; DMAC接管總線,控制外設(shè)、內(nèi)存之間直接數(shù)據(jù)傳送。,DMA技術(shù)概述,2、DMA傳送方式的特點 外設(shè)和內(nèi)存之間,直接進行數(shù)據(jù)傳送,不通過CPU, 傳送效率高。適用于在內(nèi)存與高速外設(shè)、或兩個高速外設(shè)之間進行大批量數(shù)據(jù)傳送。 電路結(jié)構(gòu)復雜,硬件開銷較大
2、,DMA 傳送過程示意圖,CPU,DMAC,內(nèi)存,外設(shè),總線 響應,總線 請求,DREQ,DACK,11.1.1 DMAC的基本功能,接收接口往DMA控制器發(fā)出DMA請求信號后,DMA控制器能向CPU發(fā)出總線請求信號HOLD(高電平)。 當CPU向DMA發(fā)出響應信號HLDA(高電平)以后,DMA能接管對總線的控制,進入DMA方式。 能向地址總線發(fā)出內(nèi)存地址信息,對其進行尋址及修改地址指針。,DMAC的基本功能,能向存儲器或I/O接口發(fā)相應的讀寫控制信號。 能決定傳送字節(jié)數(shù),并判斷DMA傳送是否結(jié)束。 DMA過程結(jié)束,能向CPU發(fā)出DMA結(jié)束信號,HOLD變低,將總線控制權(quán)還給CPU,CPU恢復
3、正常工作。,11.1.2 DMAC的一般結(jié)構(gòu),圖9.1 單通道DMAC的一般結(jié)構(gòu)及其與I/O接口的連接,11.1.3 DMAC的工作方式,1、單字節(jié)傳輸方式 :在單字節(jié)傳輸方式下,DMA控制器每次請求總線只傳送一個字節(jié)數(shù)據(jù),傳送完后即釋放總線控制權(quán)。 2、塊傳輸方式(也稱組傳輸方式):塊傳輸方式是指DMA控制器每次請求總線連續(xù)傳送一個數(shù)據(jù)塊,待整個數(shù)據(jù)塊全部傳送完成后再釋放總線控制權(quán)。,DMAC的工作方式,3、請求傳輸方式:此方式與塊傳輸方式基本類似,不同的是每傳輸完一個字節(jié),DMA控制器都要檢測由I/O接口發(fā)來的DMA請求信號是否仍然有效,如果該信號仍有效,則繼續(xù)進行DMA傳輸;否則,就暫停
4、傳輸,交還總線控制權(quán)給CPU,直至DMA請求信號再次變?yōu)橛行?,?shù)據(jù)塊傳輸則從剛才暫停的那一點繼續(xù)進行下去。,11.1.4 DMA操作過程,若從外設(shè)往內(nèi)存輸入一個數(shù)據(jù)塊(輸入過程),在單字節(jié)傳輸方式下,主要工作過程為: 從I/O接口向DMA控制器發(fā)送DMA請求信號; DMA控制器向CPU發(fā)總線請求信號,當?shù)玫紺PU送來的總線允許信號后,DMA控制器獲得總線控制權(quán); DMA控制器將其地址寄存器的內(nèi)容送到地址總線上; DMA控制器往I/O接口發(fā)送DMA響應信號,并接著發(fā)出I/O接口的讀信號,使I/O接口把數(shù)據(jù)送到數(shù)據(jù)總線上;,DMA操作過程, DMA控制器發(fā)出存儲器寫信號,使數(shù)據(jù)傳送到由地址總線的地
5、址所指向的內(nèi)存單元; 地址寄存器加1; 字節(jié)計數(shù)器減1; 如果字節(jié)計數(shù)寄存器的值不為零,則返回第步,否則進入第步; DMA控制器釋放總線;,圖11.2 以DMA方式輸出一個字節(jié)數(shù)據(jù)的工作過程,11.2 可編程DMA控制器8237A,11.2.1 8237A的主要特性 1具有四個獨立的DMA通道,每個通道都具有64K的存貯器尋址能力,即一次傳送的最大長度為64K字節(jié)。 2可實現(xiàn)內(nèi)存與外設(shè)之間的高速大批量數(shù)據(jù)傳送 ,也可實現(xiàn)內(nèi)存兩個不同區(qū)域之間的高速數(shù)據(jù)傳送。 3每個通道的DMA請求均可分別允許或禁止,且四個通道的DMA請求的優(yōu)先權(quán)可由軟件設(shè)置為固定的或旋轉(zhuǎn)的。,8237A的主要特性,4具有單字節(jié)
6、傳送、數(shù)據(jù)塊傳送、請求傳送和級聯(lián)傳送四種工作方式。 5可用級聯(lián)方式擴展DMA通道數(shù)目。 6DMA傳送結(jié)束信號可由內(nèi)部計數(shù)產(chǎn)生,也可由外部輸入提供。 7單一的+5V電源,40個引腳雙列直插式封裝。 8采用5MHz時鐘,傳送速率可達1.6M字節(jié)/秒。 98237可以級連,任意擴展通道數(shù)。,11.2.2 8237A的工作原理,18237A的編程結(jié)構(gòu) 編程結(jié)構(gòu)見下頁圖 內(nèi)部有大量寄存器,內(nèi)部寄存器的功能、端口地址等信息 參見表11.1.,圖11.3 8237 A的編程結(jié)構(gòu),82C37A內(nèi)部邏輯框圖,表11.1 8237A內(nèi)部寄存器的功能、端口地址等信息,幾點說明:,請求觸發(fā)器每通道一位,四個通道的請求
7、觸發(fā)器占用同一個端口地址,實際上構(gòu)成一個4位的寄存器,屏蔽觸發(fā)器也是一樣。 控制寄存器和狀態(tài)寄存器共用一個端口地址,一個為只讀,一個為只寫。 寫屏蔽字時有兩種方式: 某一通道的屏蔽字,應寫到1010端口; 四個通道屏蔽字,則寫入1111端口。,幾點說明:,各通道的基地址寄存器和當前地址寄存器的端口地址低四位是: 0000 0通道 0010 1通道 0100 2通道 0110 3通道 各通道的基字節(jié)數(shù)寄存器和當前字節(jié)計數(shù)器的端口地址低四位是: 0001 0通道 0011 1通道 0101 2通道 0111 3通道,幾點說明:,8237A內(nèi)有一個先/后觸發(fā)器,占1位,當其為0時對16位寄存器的低8
8、位進行讀/寫操作,當其為1時,則對高8位進行讀/寫操作,且每讀或?qū)懸淮?,?后觸發(fā)器的狀態(tài)就自動翻轉(zhuǎn)一次。 8237A復位后,先/后觸發(fā)器為0 8237A除可用RESET=1信號進行硬件控制的復位外,還可以用主清除命令進行軟件控制的復位。軟件復位是通過對1101端口進行寫操作實現(xiàn)的。,8237A的工作原理,28237A的總線模式 主模式(主動態(tài)):在DMA操作其間,8237A就處于主模式,這時它管理系統(tǒng)總線,發(fā)出地址和有關(guān)控制信號使數(shù)據(jù)在內(nèi)存和外設(shè)端口之間或內(nèi)存兩個不同區(qū)域之間傳遞。 從模式(被動態(tài)):所謂從模式是指在沒有進行DMA操作時,8237A象其他接口芯片一樣,可被CPU訪問。即向其有
9、關(guān)內(nèi)部寄存器寫入工作方式控制字,傳送地址及字節(jié)數(shù)等,也可讀取其狀態(tài)信息;,38237A的外部引腳,圖11.4 8237A的引腳配置,11.2.3 8237A的編程,1命令字與狀態(tài)字 模式寄存器 每個通道有一個8位的模式寄存器,用以規(guī)定通道的工作模式。但編程寫入的模式控制字仍是8位,其最低兩位用來指定寫入的通道號。 模式字的格式如圖11.5所示。,圖11.5 8237A的模式字格式,8237A的編程,命令寄存器 命令寄存器是四個通道公用的一個8位寄存器,用以控制整個8237A的操作。即一片8237A只有一個命令寄存器,其內(nèi)容對四個通道都有效。 命令字的格式如圖11.6所示。,圖11.6 8237
10、A的命令字格式,8237A的編程,請求寄存器 8237A的每個通道除了可以響應硬件的DMA請求信號DREQ外,當其工作在塊傳送方式時也可以響應由軟件發(fā)出的DMA請求。 軟件的DMA請求是通過使相應通道的“請求位”置位來實現(xiàn)的,它等效于外部產(chǎn)生一個有效的DREQ信號。 8237A每一個通道有一位“請求位”,四個通道的請求位構(gòu)成一個4位的請求寄存器。 請求寄存器的命令字(請求命令字)格式如圖11.8所示。,圖11.8 8237A的請求寄存器的命令字格式,8237A的編程,屏蔽寄存器 8237A每個通道有一位“屏蔽位”,當其通道的“屏蔽位”置1時,則外部對應的DREQ信號被屏蔽,不予響應,從而禁止了
11、該通道的DMA操作。 四個通道的“屏蔽位”構(gòu)成一個4位的屏蔽寄存器。 有兩種屏蔽命令字格式, 單獨對某一個通道的屏蔽位進行置位或復位,如圖11.9(a)所示; 另一種是可以同時設(shè)定四個通道的屏蔽位,也稱綜合屏蔽命令字,如圖11.9(b)所示。,圖11.9 8237A屏蔽字的兩種格式,8237A的編程,狀態(tài)寄存器 8237A有一個可由CPU讀取的狀態(tài)寄存器,如圖11.10所示。,圖11.10 8237A的狀態(tài)寄存器格式,28237A編程步驟:,8237A的編程通??砂慈缦虏襟E進行。 輸出主清除命令,使8237A進入初始狀態(tài); 將DMA傳送的存貯器起始地址寫入基地址和當前地址寄存器; 將要傳送的字
12、節(jié)數(shù)寫入基字節(jié)寄存器和當前字節(jié)計數(shù)器; 寫模式寄存器,規(guī)定8237A的工作方式等; 寫命令寄存器,規(guī)定各通道優(yōu)先級及DREQ、DACK的有效電平等; 寫屏蔽寄存器,規(guī)定開放和屏蔽的通道; 寫請求寄存器,發(fā)DMA請求命令。,8237A的編程,38237A的編程舉例 例:設(shè)某8088系統(tǒng)使用一片8237A,現(xiàn)欲將內(nèi)存地址為8000H開始的100個字節(jié)數(shù)據(jù)以DMA方式輸出到某外設(shè),已知8237A的端口地址為20H2FH,并規(guī)定8237A通道1工作在方式2,硬件啟動。試編寫初始化程序段。,8237A的編程,解:根據(jù)以上已知條件和要求,初始化程序段為: OUT 2DH,AL ;發(fā)主清除命令 MOV AL
13、,89H ; 選通道1,讀傳送,禁止自 動預置,方式2,地址遞增 OUT 2BH,AL MOV AL,80H ;寫命令字:普通時序,存儲器到外設(shè)傳送,固定優(yōu)先級 OUT 28H,AL ;正常寫,DREQ、DACK高電平有效 MOV AL,00H ;寫基地址和當前地址寄存器,8237A的編程,OUT 22H,AL MOV AL,80H OUT 22H,AL MOV AL,64H ;寫基字節(jié)寄存器和當前字節(jié)計數(shù)器 OUT 23H,AL MOV AL,0 OUT 23H,AL MOV AL,00H ;清除所有通道屏蔽 OUT 2FH,AL,11.2.4 8237A的工作方式,DMA傳送方式 單字節(jié)傳
14、送方式 數(shù)據(jù)塊傳送方式 請求傳送方式 級連方式 DMA傳送類型 DMA讀 DMA寫 DMA檢驗 存儲器到存儲器的傳送,方式0 請求傳送方式,DREQ信號有效就連續(xù)傳送數(shù)據(jù) DREQ信號無效,DMA傳送被暫時中止,8237A釋放總線,CPU可繼續(xù)操作 DMA通道的地址和字節(jié)數(shù)的中間值仍被保持 DREQ信號再次有效,DMA傳送就繼續(xù)進行 如果字節(jié)數(shù)寄存器減到0,或者由外部送來一個有效的信號,將終止計數(shù) 特點: DMA操作可由外設(shè)利用DREQ信號控制傳送的過程,方式1單字節(jié)傳送方式,每次DMA傳送時僅傳送一個字節(jié) 傳送一個字節(jié)之后,字節(jié)數(shù)寄存器減1,地址寄存器加1或減1,HRQ變?yōu)闊o效 8237A釋
15、放系統(tǒng)總線,將控制權(quán)還給CPU 特點: 一次傳送一個字節(jié),效率略低 DMA傳送之間CPU有機會重新獲取總線控制權(quán),方式2 塊傳送方式,由DREQ啟動就連續(xù)地傳送數(shù)據(jù),直到字節(jié)數(shù)寄存器減到0終止計數(shù),或由外部輸入有效信號終結(jié)DMA傳送 DREQ只需維持有效到DACK有效 特點: 一次請求傳送一個數(shù)據(jù)塊,效率高 整個DMA傳送期間CPU長時間無法控制總線(無法響應其他DMA請求、無法處理中斷等),方式3 級聯(lián)方式,用于通過多個8237A級連以擴展通道 第二級的HRQ和HLDA信號連到第一級某個通道的DREQ和DACK上 第二級芯片的優(yōu)先權(quán)等級與所連通道的優(yōu)先權(quán)相對應 第一級只起優(yōu)先權(quán)網(wǎng)絡的作用,實際的操作由第二級芯片完成 還可由第二級擴展到第三級等,圖11.11 8237A的級聯(lián),DMA傳送類型,DMA讀把數(shù)據(jù)由存儲器傳送到外設(shè) 由 有效從存儲器讀出數(shù)據(jù),由 有效把這一數(shù)據(jù)寫入外設(shè) DMA寫把外設(shè)輸入的數(shù)據(jù)寫入存儲器 由 有效從外設(shè)輸入數(shù)據(jù),由 有效把這一數(shù)據(jù)寫入存儲器。 DMA檢驗空操作 8237A不進行任何傳送,只產(chǎn)生地址并響應 信號,不產(chǎn)生讀寫控制信號,用以校驗8237的功能是否正常。,存儲器到存儲器的傳送,固定使用通道0和通道1 通道0的地址寄存器存源區(qū)地址 通道1的地址寄存器存目的區(qū)地址,通道
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 橋梁基礎(chǔ)抗震加固施工詳細方案
- 圍護挖土施工方案(3篇)
- 櫥柜專項施工方案(3篇)
- 動物逃逸應急預案(3篇)
- 醫(yī)院應急藥品預案(3篇)
- 宣恩噴泉施工方案(3篇)
- 冬季彩鋼瓦施工方案(3篇)
- 沖壓-環(huán)保應急預案(3篇)
- 村委應急供水預案(3篇)
- 小學語文閱讀理解題解析與訓練
- 污泥安全管理制度范本
- 開題報告范文基于人工智能的醫(yī)學像分析與診斷系統(tǒng)設(shè)計
- 大黃附子細辛湯課件
- 《人間充質(zhì)基質(zhì)細胞來源細胞外囊泡凍干粉質(zhì)量要求》(征求意見稿)
- 中潤盛和(孝義)新能源科技 孝義市杜村鄉(xiāng)分散式微風發(fā)電項目可行性研究報告
- 入團申請書教學課件
- 2026年中國農(nóng)業(yè)銀行秋季校園招聘即將開始考試筆試試題(含答案)
- 2025年江蘇省招聘警務輔助人員考試真題及答案
- 山東濟南2019-2024年中考滿分作文87篇
- (2025年標準)sm調(diào)教協(xié)議書
- 醫(yī)院急救應急體系構(gòu)建與實施
評論
0/150
提交評論