版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第9章DMA控制接口9.1DMA控制器概述9.2可編程DMA控制器8237A1第9章DMA控制接口為了實(shí)現(xiàn)CPU與I/O設(shè)備之間的數(shù)據(jù)傳送,通常采用程序控制方式、中斷方式和DMA方式這樣三種數(shù)據(jù)傳送方式。2程序控制方式和中斷方式程序控制方式和中斷方式都需要CPU作為中介:
外設(shè)
CPU內(nèi)存兩個(gè)含義:
1)軟件:外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送是通過(guò)CPU執(zhí)行程序來(lái)完成的
2)硬件:I/O接口和存儲(chǔ)器的讀寫(xiě)控制信號(hào)、地址信號(hào)都是由CPU發(fā)出的(總線由CPU控制)。缺點(diǎn):程序的執(zhí)行速度限定了傳送的最大速度—解決:DMA傳輸39.1.1、DMA傳送的特點(diǎn)1.DMA傳送的特點(diǎn):
外設(shè)
內(nèi)存外設(shè)直接與存儲(chǔ)器進(jìn)行數(shù)據(jù)交換,CPU不再擔(dān)當(dāng)數(shù)據(jù)傳輸?shù)闹薪檎?;總線由DMA控制器(DMAC)進(jìn)行控制(CPU要放棄總線控制權(quán)),內(nèi)存/外設(shè)的地址和讀寫(xiě)控制信號(hào)均由DMAC提供。優(yōu)點(diǎn):數(shù)據(jù)傳輸由DMA硬件來(lái)控制,數(shù)據(jù)直接在內(nèi)存和外設(shè)之間交換,可以達(dá)到很高的傳輸速率4DMA傳送類型DMA讀——把數(shù)據(jù)由存儲(chǔ)器傳送到外設(shè)由MEMR*有效從存儲(chǔ)器讀出數(shù)據(jù),由IOW*有效把這一數(shù)據(jù)寫(xiě)入外設(shè)DMA寫(xiě)——把外設(shè)輸入的數(shù)據(jù)寫(xiě)入存儲(chǔ)器由IOR*有效從外設(shè)輸入數(shù)據(jù),由MEMW*有效把這一數(shù)據(jù)寫(xiě)入存儲(chǔ)器。DMA檢驗(yàn)——空操作8237A不進(jìn)行任何檢驗(yàn)外設(shè)可以進(jìn)行DMA校驗(yàn)存儲(chǔ)器和I/O控制線保持無(wú)效,不進(jìn)行傳送5CPU外設(shè)存儲(chǔ)器總線:執(zhí)行程序指令的數(shù)據(jù)傳送路徑;:DMA方式的數(shù)據(jù)傳送路徑兩種不同的數(shù)據(jù)傳送路徑6DMA傳送方式通常用來(lái)高速傳送大批量的數(shù)據(jù)塊。如:硬盤和軟盤I/O;快速通信通道I/O;多處理機(jī)和多程序數(shù)據(jù)塊傳送;在圖像處理中,對(duì)CRT屏幕送數(shù)據(jù);快速數(shù)據(jù)采集;
DRAM的刷新操作。72、DMA控制器的基本功能①能接收外設(shè)的DMA請(qǐng)求,并能向CPU發(fā)出總線保持請(qǐng)求,以便取得總線使用權(quán)。②能接收CPU的總線保持允許信號(hào),并能實(shí)行對(duì)總線的控制。③在獲得總線控制權(quán)后,能提供訪問(wèn)存儲(chǔ)器和I/O端口的地址,并在數(shù)據(jù)傳送過(guò)程中能夠自動(dòng)修改地址指針,以便指向下一個(gè)要傳送的數(shù)據(jù)單元。④在DMA期間向存儲(chǔ)器和I/O設(shè)備發(fā)出所需要的控制信號(hào),如讀/寫(xiě)控制信號(hào)等。⑤能控制數(shù)據(jù)傳送過(guò)程的進(jìn)行和結(jié)束。⑥當(dāng)DMA傳送結(jié)束時(shí),能向CPU發(fā)出DMA結(jié)束信號(hào),以便CPU恢復(fù)對(duì)總線的控制。83、DMA控制器的基本組成①地址寄存器②字節(jié)計(jì)數(shù)器③控制寄存器④狀態(tài)寄存器⑤內(nèi)部定時(shí)與控制邏輯99.1.2DMA傳送機(jī)制
①系統(tǒng)總線CPUDMAC存儲(chǔ)器外設(shè)接口AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADRQDACK②③④⑤AENIOWIORMEMWMEMR①外設(shè)發(fā)出DMA請(qǐng)求②DMAC向CPU申請(qǐng)總線③CPU完成當(dāng)前總線周期后響應(yīng),并釋放總線控制權(quán)④DMAC得到總線控制權(quán),并發(fā)出DMA響應(yīng)信號(hào)⑤由DMAC發(fā)出各種控制信號(hào),控制外設(shè)與存儲(chǔ)器之間的數(shù)據(jù)傳送⑥數(shù)據(jù)傳送完后,DMAC撤銷HOLD信號(hào)⑦CPU釋放HLDA信號(hào),并重新控制總線⑥⑦10DMA傳送流程返回11DMAC占用總線控制權(quán)的方法(1)周期挪用(2)周期擴(kuò)展(3)CPU停機(jī)12單字節(jié)操作方式。每個(gè)DMA周期只傳送一個(gè)字節(jié)就立即釋放總線。連續(xù)操作方式。只要DMA操作開(kāi)始,DMAC始終占用總線,而不管中間DREQ是否有效,直到DMA操作完成,才把總線控制權(quán)交還CPU。請(qǐng)求操作方式。如果有DMA請(qǐng)求,則DMAC就占用總線;當(dāng)DMA請(qǐng)求無(wú)效,或DMA操作完成,或由外部傳來(lái)過(guò)程結(jié)束信號(hào)(EOP)時(shí),DMAC都會(huì)釋放總線。級(jí)聯(lián)傳送方式。
2.DMA控制器的傳送方式131)主動(dòng)態(tài)在DMAC獲得總線控制權(quán)之后,DMAC取代CPU而成為系統(tǒng)的主控者,接管和控制系統(tǒng)總線(數(shù)據(jù)總線、地址總線和控制總線)。通過(guò)總線向存儲(chǔ)器或I/O設(shè)備發(fā)出地址、讀/寫(xiě)信號(hào),以控制在兩個(gè)實(shí)體之間的傳送2)被動(dòng)態(tài)
在DMAC獲得總線控制權(quán)之前,DMAC受CPU控制。此時(shí),CPU可對(duì)DMAC進(jìn)行初始化編程,也可從DMAC中讀出狀態(tài)。當(dāng)DMAC上電或復(fù)位時(shí),DMAC自動(dòng)處于被動(dòng)態(tài)。3、DMA控制器在系統(tǒng)中的地位149.2可編程DMA控制器8237A9.2.18237A的引腳信號(hào)和內(nèi)部結(jié)構(gòu)8237A的主要特性①具有4個(gè)獨(dú)立的DMA通道,每個(gè)通道都可獨(dú)立地進(jìn)行初始化。②每個(gè)通道的DMA請(qǐng)求都可以被允許或禁止。③每個(gè)通道的DMA有不同的優(yōu)先級(jí),既可以是固定優(yōu)先級(jí),也可以是循環(huán)優(yōu)先級(jí)。④每個(gè)通道進(jìn)行一次傳送的最大字節(jié)數(shù)為64K。⑤提供4種傳送方式:?jiǎn)巫止?jié)傳送方式、數(shù)據(jù)塊傳送方式、請(qǐng)求傳送方式和級(jí)聯(lián)傳送方式。⑥多個(gè)8237A芯片可以級(jí)連,擴(kuò)展通道數(shù)15182C37A的引腳功能162.8237A內(nèi)部邏輯結(jié)構(gòu)178237A的內(nèi)部寄存器
18端口通道I/O口地址寄
存
器讀
操
作寫(xiě)
操
作DMA+0000H讀通道0的地址計(jì)數(shù)器寫(xiě)通道0的地址初值寄存器和地址計(jì)數(shù)器DMA+101H讀通道0的字節(jié)數(shù)計(jì)數(shù)器寫(xiě)通道0的字節(jié)數(shù)初值寄存器和字節(jié)數(shù)計(jì)數(shù)器DMA+2102H讀通道1的地址計(jì)數(shù)器寫(xiě)通道1的地址初值寄存器和地址計(jì)數(shù)器DMA+303H讀通道1的字節(jié)數(shù)計(jì)數(shù)器寫(xiě)通道1的字節(jié)數(shù)初值寄存器和字節(jié)數(shù)計(jì)數(shù)器DMA+4204H讀通道2的地址計(jì)數(shù)器寫(xiě)通道2的地址初值寄存器和地址計(jì)數(shù)器DMA+505H讀通道2的字節(jié)數(shù)計(jì)數(shù)器寫(xiě)通道2的字節(jié)數(shù)初值寄存器和字節(jié)數(shù)計(jì)數(shù)器DMA+6306H讀通道3的地址計(jì)數(shù)器寫(xiě)通道3的地址初值寄存器和地址計(jì)數(shù)器DMA+707H讀通道3的字節(jié)數(shù)計(jì)數(shù)器寫(xiě)通道3的字節(jié)數(shù)初值寄存器和字節(jié)數(shù)計(jì)數(shù)器DMA+8公用08H讀狀態(tài)寄存器寫(xiě)控制(命令)寄存器DMA+909H—寫(xiě)請(qǐng)求寄存器DMA+100AH—寫(xiě)單個(gè)通道屏蔽寄存器DMA+110BH—寫(xiě)工作方式寄存器DMA+120CH—寫(xiě)清除先/后觸發(fā)器命令(軟命令)DMA+130DH讀暫存寄存器寫(xiě)總清除命令(軟命令)DMA+140EH—寫(xiě)清除屏蔽寄存器命令(軟命令)DMA+150FH—寫(xiě)綜合屏蔽命令191.工作方式寄存器的格式D7D6D5D4D3D2D1D0工作方式選擇地址增減選擇自動(dòng)預(yù)置選擇傳送類型選擇通道選擇00=請(qǐng)求傳送01=單字節(jié)傳送10=塊字節(jié)傳送11=級(jí)聯(lián)傳送0=地址加11=地址減10=禁止1=允許00=校驗(yàn)傳送01=寫(xiě)傳送10=讀傳送11=無(wú)意義00=選擇通道001=選擇通道110=選擇通道211=選擇通道39.2.28237A的寄存器格式及其編程命令209.2.28237A的寄存器格式及其編程命令【例9.1】PC系列微機(jī)軟盤讀/寫(xiě)操作選擇DMA通道2,單字節(jié)傳送,地址增1,不用自動(dòng)預(yù)置,其讀、寫(xiě)、校驗(yàn)操作的方式如下:寫(xiě)操作:01000110B=46H ;讀盤,DMA寫(xiě)讀操作:01001010B=4AH ;寫(xiě)盤,DMA讀校驗(yàn)操作:01000010B=42H ;校驗(yàn)盤,DMA校驗(yàn)212.控制寄存器的格式22【例9.2】PC微機(jī)中的8237A按照如下要求工作:禁止存儲(chǔ)器到存儲(chǔ)器傳送,正常時(shí)序,滯后寫(xiě)入,固定優(yōu)先級(jí),允許工作,DREQ高有效,DACK低有效,控制字為00H,將此命令寫(xiě)入控制寄存器的程序段為:MOVAL,00H ;控制字=00000000BOUT08H,AL ;控制口地址08H233.請(qǐng)求寄存器存放軟件DMA請(qǐng)求狀態(tài)除硬件DMA請(qǐng)求外,當(dāng)工作在數(shù)據(jù)塊傳送方式時(shí)也可以通過(guò)軟件發(fā)出DMA請(qǐng)求若是存貯器到存貯器傳送,則必須由軟件請(qǐng)求啟動(dòng)通道0243.請(qǐng)求寄存器的格式25例如,如果用軟件請(qǐng)求使用通道1進(jìn)行DMA傳送,則向請(qǐng)求寄存器寫(xiě)入05H代碼即可。MOVAL,05H ;請(qǐng)求字=00000101BOUT09H,AL ;請(qǐng)求寄存器端口地址09H264.屏蔽寄存器的格式控制外設(shè)硬件DMA請(qǐng)求是否被響應(yīng)(為0允許),各個(gè)通道互相獨(dú)立。3種方法:?jiǎn)瓮ǖ榔帘巫种粚?duì)一個(gè)DMA通道屏蔽位進(jìn)行設(shè)置主屏蔽字對(duì)4個(gè)DMA通道屏蔽位同時(shí)進(jìn)行設(shè)置清屏蔽寄存器命令使4個(gè)屏蔽位都清零(允許)復(fù)位使4個(gè)通道全置于屏蔽狀態(tài)當(dāng)一個(gè)通道的DMA過(guò)程結(jié)束,如果不是工作在自動(dòng)初始化方式,則這一通道的屏蔽位置位,必須再次編程為允許,才能進(jìn)行下次DMA傳送27單通道屏蔽字格式28主屏蔽字格式D7D6D5D4D3D2D1D0任意Di=0清通道I屏蔽位Di=1置通道I屏蔽位29D7D6D5D4D3D2D1D0通道3通道2通道1通道0通道3通道2通道1通道00=沒(méi)有請(qǐng)求;1=有請(qǐng)求0=計(jì)數(shù)未結(jié)束;1=計(jì)數(shù)結(jié)束可由CPU讀取低4位反映讀命令這個(gè)瞬間每個(gè)通道是否產(chǎn)生TC(為1,表示該通道傳送結(jié)束)高4位反映每個(gè)通道的DMA請(qǐng)求情況(為1,表示該通道有請(qǐng)求)狀態(tài)位在復(fù)位或被讀出后,均被清零5.狀態(tài)寄存器306軟命令2)清字節(jié)指示器軟命令MOV AL,0XXH ;0XXH為AL中任意值OUT 0CH,AL ;先/后觸發(fā)器被清“0”1)總清除軟命令MOVAL,0XXH ;0XXH為AL中任意值OUT 0DH,AL ;寫(xiě)入總清端口,執(zhí)行總清除命令3)清屏蔽寄存器軟命令。MOVAL,0XXH;0XXH為AL中任意值OUT0EH,AL ;寫(xiě)入清屏蔽寄存器端口319.2.48237A的使用和編程◆初始化編程的步驟:①輸出主清除命令②方式字寫(xiě)入方式寄存器③命令字寫(xiě)入控制寄存器④寫(xiě)入相應(yīng)通道當(dāng)前地址寄存器和基地址寄存器初值⑤寫(xiě)入當(dāng)前字節(jié)寄存器和基字節(jié)寄存器的初值⑥解除屏蔽,準(zhǔn)備接收DMA請(qǐng)求⑦寫(xiě)入請(qǐng)求寄存器,可以由軟件啟動(dòng)DMA,否則由DREQ啟動(dòng)32DMA傳送實(shí)驗(yàn)在內(nèi)存6000H:0開(kāi)始單元存放10個(gè)數(shù)據(jù),對(duì)DMA控制器8237進(jìn)行初始化,使每一次DMA請(qǐng)求從內(nèi)存向外設(shè)傳送一字節(jié)數(shù)據(jù)。33DMA傳送實(shí)驗(yàn);由內(nèi)存向外設(shè)輸出數(shù)據(jù)。datasegmentout_datadb01,02,04,08,10h,20h,40h,80h,0ffh,00hdataendsextrasegmentat6000hextdb10dup(?)extraends34codesegmentassumecs:code,ds:data,es:extrastart:mov
ax,data
mov
ds,ax
mov
ax,extra
mov
es,ax leasi,out_data leadi,ext
cld
movcx,10 repmovsb35
out0ch,al;清字節(jié)指針
moval,49h;寫(xiě)方式字
out0bh,al
moval,06
溫馨提示
- 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年度臨時(shí)彩鋼活動(dòng)房租賃合同范本3篇
- 2024碎磚再利用工程采購(gòu)合同書(shū)3篇
- 2024消防無(wú)人機(jī)系統(tǒng)采購(gòu)合同
- 2025年度鮮蛋養(yǎng)殖戶互助合作供銷合同范本(2025版)3篇
- 二零二五年度航空物流樞紐建設(shè)與運(yùn)營(yíng)合同3篇
- 2025年度項(xiàng)目部承包智慧社區(qū)建設(shè)項(xiàng)目合同2篇
- 2024版工程勞務(wù)分包合同參考范本
- 2025便利店品牌升級(jí)商品采購(gòu)合作協(xié)議3篇
- 2024簡(jiǎn)單的家政服務(wù)合同協(xié)議
- 2025年度私人住宅買賣合同(含社區(qū)服務(wù))3篇
- 2025年河北供水有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- Unit3 Sports and fitness Discovering Useful Structures 說(shuō)課稿-2024-2025學(xué)年高中英語(yǔ)人教版(2019)必修第一冊(cè)
- 農(nóng)發(fā)行案防知識(shí)培訓(xùn)課件
- 社區(qū)醫(yī)療抗菌藥物分級(jí)管理方案
- NB/T 11536-2024煤礦帶壓開(kāi)采底板井下注漿加固改造技術(shù)規(guī)范
- 2024年九年級(jí)上德育工作總結(jié)
- 2024年儲(chǔ)罐呼吸閥項(xiàng)目可行性研究報(bào)告
- 除氧器出水溶解氧不合格的原因有哪些
- 沖擊式機(jī)組水輪機(jī)安裝概述與流程
- 新加坡SM2數(shù)學(xué)試題
- 畢業(yè)論文-水利水電工程質(zhì)量管理
評(píng)論
0/150
提交評(píng)論