




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、DMA技術(shù)與DMA控制器 第第11章章 DMA技術(shù)與技術(shù)與DMA控制器控制器 11.1 DMA技術(shù)概述技術(shù)概述 11.2 可編程可編程DMA控制器控制器8237A 11.3 DMA技術(shù)在微機(jī)系統(tǒng)中的應(yīng)用技術(shù)在微機(jī)系統(tǒng)中的應(yīng)用 直接存儲(chǔ)器存取直接存儲(chǔ)器存取 DMA技術(shù)與DMA控制器 11.1 DMA技術(shù)概述技術(shù)概述 n1 1、DMA DMA 傳送方式的實(shí)現(xiàn)方法:傳送方式的實(shí)現(xiàn)方法: n由專用接口芯片DMA控制器 (簡(jiǎn)稱DMAC) 控制傳 送過程; n當(dāng)外設(shè)需傳送數(shù)據(jù)時(shí),通過 DMAC向CPU發(fā)出總 線請(qǐng)求; nCPU發(fā)出總線響應(yīng)信號(hào),釋放總線; nDMAC接管總線,控制外設(shè)、內(nèi)存之間進(jìn)行直接 數(shù)
2、據(jù)傳送。 nDMAC撤消總線請(qǐng)求; nCPU撤消總線響應(yīng),并重新接管總線。 DMA技術(shù)與DMA控制器 DMA技術(shù)概述技術(shù)概述 2 2、DMADMA傳送方式的特點(diǎn)傳送方式的特點(diǎn) 外設(shè)和內(nèi)存之間,直接進(jìn)行數(shù)據(jù)傳送, 不通過CPU, 傳送效率高。適用于在內(nèi)存 與高速外設(shè)、內(nèi)存兩個(gè)區(qū)域之間,或兩 個(gè)高速外設(shè)之間進(jìn)行大批量數(shù)據(jù)傳送。 電路結(jié)構(gòu)復(fù)雜,硬件開銷較大 DMA技術(shù)與DMA控制器 DMA 傳送過程示意圖傳送過程示意圖 總線總線 響應(yīng)響應(yīng) 總線總線 請(qǐng)求請(qǐng)求 CPU DMAC 內(nèi)內(nèi) 存存 外外 設(shè)設(shè) DMA請(qǐng)求請(qǐng)求 DREQ DMA響應(yīng)響應(yīng) DACK 總線總線 DMA技術(shù)與DMA控制器 11.1.1
3、 DMAC的基本功能的基本功能 接收接口往DMA控制器發(fā)出DMA請(qǐng)求信號(hào)后, DMA控制器能向CPU發(fā)出總線請(qǐng)求信號(hào) HOLD(高電平)。 當(dāng)CPU向DMA發(fā)出響應(yīng)信號(hào)HLDA(高電平)以 后,DMA能接管對(duì)總線的控制,進(jìn)入DMA方式。 能向地址總線發(fā)出內(nèi)存地址信息,對(duì)其進(jìn) 行尋址及修改地址指針。 DMA技術(shù)與DMA控制器 DMAC的基本功能的基本功能 能向存儲(chǔ)器或I/O接口發(fā)相應(yīng)的讀寫控制信 號(hào)。 能決定傳送字節(jié)數(shù),并判斷DMA傳送是否結(jié) 束。 DMA過程結(jié)束,能向CPU發(fā)出DMA結(jié)束信號(hào), HOLD變低,將總線控制權(quán)還給CPU,CPU恢復(fù) 正常工作。 DMA技術(shù)與DMA控制器 11.1.2
4、 DMAC的一般結(jié)構(gòu)的一般結(jié)構(gòu) 圖圖9.1 9.1 單通道 單通道DMAC DMAC的一般結(jié)構(gòu)及其與 的一般結(jié)構(gòu)及其與I/O I/O接口的連接 接口的連接 地址總線 地址 譯碼器 DMADMA控制器控制器 計(jì)數(shù)結(jié)束信號(hào) (可作為中斷請(qǐng)求信號(hào)) 字節(jié)計(jì)數(shù)寄存器 地址寄存器 狀態(tài)寄存器 控制寄存器 總線回答 總線請(qǐng)求 控制總線 數(shù)據(jù)總線 外設(shè) DMA請(qǐng)求 DMA響應(yīng) 中斷請(qǐng)求 數(shù)據(jù)輸出寄存器 數(shù)據(jù)輸入寄存器 狀態(tài)寄存器 控制寄存器 I/O接口 控制總線 數(shù)據(jù)總線 地址總線 DMA技術(shù)與DMA控制器 11.1.3 DMAC的工作方式的工作方式 1、單字節(jié)傳輸方式單字節(jié)傳輸方式 :在單字節(jié)傳輸方式下,
5、DMA控制器每 次請(qǐng)求總線只傳送一個(gè)字節(jié)數(shù)據(jù),傳送完后即釋放總線控制 權(quán)。 2、塊傳輸方式(也稱組傳輸方式)、塊傳輸方式(也稱組傳輸方式):塊傳輸方式是指DMA 控制器每次請(qǐng)求總線連續(xù)傳送一個(gè)數(shù)據(jù)塊,待整個(gè)數(shù)據(jù)塊全 部傳送完成后再釋放總線控制權(quán)。 n3、請(qǐng)求傳輸方式:請(qǐng)求傳輸方式:此方式與塊傳輸方式基本類似,不同的 是每傳輸完一個(gè)字節(jié),DMA控制器都要檢測(cè)由I/O接口發(fā)來 的DMA請(qǐng)求信號(hào)是否仍然有效,如果該信號(hào)仍有效,則繼續(xù) 進(jìn)行DMA傳輸;否則,就暫停傳輸,交還總線控制權(quán)給CPU, 直至DMA請(qǐng)求信號(hào)再次變?yōu)橛行В瑪?shù)據(jù)塊傳輸則從剛才暫停 的那一點(diǎn)繼續(xù)進(jìn)行下去。 DMA技術(shù)與DMA控制器 1
6、1.1.4 DMA操作過程操作過程 (以輸入數(shù)據(jù)塊為例)(以輸入數(shù)據(jù)塊為例) n若從外設(shè)往內(nèi)存輸入一個(gè)數(shù)據(jù)塊(輸入過程),在若從外設(shè)往內(nèi)存輸入一個(gè)數(shù)據(jù)塊(輸入過程),在 單字節(jié)傳輸方式下,主要工作過程為:?jiǎn)巫止?jié)傳輸方式下,主要工作過程為: n 從I/O接口向DMA控制器發(fā)送DMA請(qǐng)求信號(hào); n DMA控制器向CPU發(fā)總線請(qǐng)求信號(hào),當(dāng)?shù)玫紺PU送 來的總線允許信號(hào)后,DMA控制器獲得總線控制權(quán); n DMA控制器將其地址寄存器的內(nèi)容送到地址總線 上; n DMA控制器往I/O接口發(fā)送DMA響應(yīng)信號(hào),并接著 發(fā)出I/O接口的讀信號(hào),使I/O接口把數(shù)據(jù)送到數(shù)據(jù) 總線上; DMA技術(shù)與DMA控制器 D
7、MA操作過程操作過程 n DMA控制器發(fā)出端口讀信號(hào)和存儲(chǔ)器寫信 號(hào),使數(shù)據(jù)傳送到由地址總線的地址所指向 的內(nèi)存單元; n 地址寄存器加1; n 字節(jié)計(jì)數(shù)器減1; n 如果字節(jié)計(jì)數(shù)寄存器的值不為零,則返 回第步,否則進(jìn)入第步; n DMA控制器釋放總線; DMA技術(shù)與DMA控制器 內(nèi)存把數(shù)據(jù)送數(shù)據(jù)總線 內(nèi)存 8086和 總線控 制邏輯 HOLD HLDA 發(fā)送總線請(qǐng)求 控制總線 總線允許 地址總線 數(shù)據(jù)總線 接口 DMA 控制器 接口準(zhǔn)備就緒, 發(fā)送DMA請(qǐng)求 發(fā)端口讀和內(nèi)存寫信號(hào) I/O設(shè)備 DMA請(qǐng)求 得到確認(rèn) 3 2 5 1 6 4 8 9 DMA控制器把地址送地址總線 撤消總線請(qǐng)求 8
8、086收回總線控制權(quán) 7 圖圖11.2 以以DMA方式輸出一個(gè)字節(jié)數(shù)據(jù)的工作過程方式輸出一個(gè)字節(jié)數(shù)據(jù)的工作過程 DMA技術(shù)與DMA控制器 DMADMA控制器控制器 數(shù)據(jù)數(shù)據(jù) 端口端口 狀態(tài)狀態(tài)/ /控制控制 端口端口 地址寄存器地址寄存器 計(jì)數(shù)器計(jì)數(shù)器 控制控制/ /狀態(tài)狀態(tài) 寄存器寄存器 C C P P U U 存存 儲(chǔ)儲(chǔ) 器器 HOLDHOLD HLDAHLDA 數(shù)據(jù)緩沖數(shù)據(jù)緩沖 寄存器寄存器 DMADMA請(qǐng)求請(qǐng)求 觸發(fā)器觸發(fā)器 輸入設(shè)備輸入設(shè)備 DMADMA請(qǐng)求請(qǐng)求 DMADMA響應(yīng)響應(yīng) ReadyReady DMADMA控制器工作原理圖控制器工作原理圖1 1 DMA技術(shù)與DMA控制器
9、11.2 可編程可編程DMA控制器控制器8237A n11.2.1 8237A的主要特性的主要特性 n1具有四個(gè)獨(dú)立的DMA通道,每個(gè)通道都具 有64K的存貯器尋址能力,即一次傳送的最大 長(zhǎng)度為64K字節(jié)。 n2可實(shí)現(xiàn)內(nèi)存與外設(shè)之間的高速大批量數(shù)據(jù) 傳送 ,也可實(shí)現(xiàn)內(nèi)存兩個(gè)不同區(qū)域之間的高速 數(shù)據(jù)傳送。 n3每個(gè)通道的DMA請(qǐng)求均可分別允許或禁止, 且四個(gè)通道的DMA請(qǐng)求的優(yōu)先權(quán)可由軟件設(shè)置 為固定的或旋轉(zhuǎn)的。 DMA技術(shù)與DMA控制器 8237A的主要特性的主要特性 n4具有單字節(jié)傳送、數(shù)據(jù)塊傳送、請(qǐng)求傳送 和級(jí)聯(lián)傳送四種工作方式。 n5可用級(jí)聯(lián)方式擴(kuò)展DMA通道數(shù)目。 n6DMA傳送結(jié)束信
10、號(hào)可由內(nèi)部計(jì)數(shù)產(chǎn)生,也 可由外部輸入提供。 n7單一的+5V電源,40個(gè)引腳雙列直插式封 裝。 n8采用5MHz時(shí)鐘,傳送速率可達(dá)1.6M字節(jié)/ 秒。 n98237可以級(jí)連,任意擴(kuò)展通道數(shù)。 DMA技術(shù)與DMA控制器 11.2.2 8237A的工作原理的工作原理 n18237A的編程結(jié)構(gòu)的編程結(jié)構(gòu) n編程結(jié)構(gòu)見下頁(yè)圖 n內(nèi)部有大量寄存器,內(nèi)部寄存器的功能、 端口地址等信息 參見表11.1. DMA技術(shù)與DMA控制器 I O / M 地 址 譯 碼 器 A1 5A8 A7A0 接 數(shù) 據(jù) 總 線 A3A0 A7A4 C S D B7 D B0 A D S T B 鎖 存 器 S T B E N
11、A E N 使 C P U 的 地 址 鎖 存 器 無 效 時(shí) 鐘 H L D A H O L D C L K H L D A H R Q 地 電 源 控 制 寄 存 器 狀 態(tài) 寄 存 器 請(qǐng) 求 觸 發(fā) 器 屏 蔽 觸 發(fā) 器 模 式 寄 存 器 當(dāng) 前 地 址 寄 存 器基 地 址 寄 存 器 當(dāng) 前 字 節(jié) 計(jì) 數(shù) 器基 本 字 節(jié) 寄 存 器 暫 存 器 通 道 0 通 道 1 通 道 2 通 道 3 I O R M E M R I O W M E M W R E A D Y R E S E T D R E Q0 D A C K0 D R E Q1 D A C K1 D R E Q2
12、 D A C K2 D R E Q3 D A C K3 E O P + 5 V 圖圖11.3 8237 A的編程結(jié)構(gòu)的編程結(jié)構(gòu) DMA技術(shù)與DMA控制器 82C37A內(nèi)部邏輯框圖內(nèi)部邏輯框圖 DMA技術(shù)與DMA控制器 寄存器名稱 功能 位數(shù) 數(shù)量 所屬 CPU 訪 問方式 端口地址低 4 位 控制寄存器 存放命令字 8 1 四通道共用 只寫 1000 狀態(tài)寄存器 存放狀態(tài)字 8 1 四通道共用 只讀 1000 工作模式寄存器 存放模式字 8 4 每通道一個(gè) 只寫 1011 基地址寄存器 存放存貯器起始地址 16 4 每通道一個(gè) 只寫 00000111 中的偶地址 當(dāng)前地址寄存器 存放存貯器當(dāng)前
13、地址 16 4 每通道一個(gè) 可讀/寫 00000111 中的偶地址 基字節(jié)數(shù)計(jì)數(shù)器 存放傳送字節(jié)總數(shù) 16 4 每通道一個(gè) 只寫 00000111 中的奇地址 當(dāng)前字節(jié)計(jì)數(shù)器 存放尚未傳送的字節(jié)總數(shù) 16 4 每通道一個(gè) 可讀/寫 00000111 中的偶地址 請(qǐng)求觸發(fā)器 設(shè)置 DMA 請(qǐng)求標(biāo)志 1 4 每通道一個(gè) 只寫 1001 屏蔽觸發(fā)器 設(shè)置通道屏蔽標(biāo)志 1 4 每通道一個(gè) 只寫 1010 或 1111 暫存寄存器 用于兩存貯區(qū)之間的傳送 8 1 四通道共用 只讀 1101 表表11.1 8237A內(nèi)部寄存器的功能、端口地址等信息內(nèi)部寄存器的功能、端口地址等信息 DMA技術(shù)與DMA控制器
14、 幾點(diǎn)說明:幾點(diǎn)說明: n請(qǐng)求觸發(fā)器每通道一位,四個(gè)通道的請(qǐng)求觸 發(fā)器占用同一個(gè)端口地址,實(shí)際上構(gòu)成一個(gè) 4位的寄存器,屏蔽觸發(fā)器也是一樣。 n控制寄存器和狀態(tài)寄存器共用一個(gè)端口地址, 一個(gè)為只讀,一個(gè)為只寫。 n寫屏蔽字時(shí)有兩種方式: 某一通道的屏蔽字,應(yīng)寫到1010端口; 四個(gè)通道屏蔽字,則寫入1111端口。 DMA技術(shù)與DMA控制器 幾點(diǎn)說明:幾點(diǎn)說明: n各通道的基地址寄存器和當(dāng)前地址寄存器的端口地 址低四位是: 0000 0通道 0010 1通道 0100 2通道 0110 3通道 n各通道的基字節(jié)數(shù)寄存器和當(dāng)前字節(jié)計(jì)數(shù)器的端口 地址低四位是: 0001 0通道 0011 1通道 0
15、101 2通道 0111 3通道 DMA技術(shù)與DMA控制器 幾點(diǎn)說明:幾點(diǎn)說明: n8237A內(nèi)有一個(gè)先先/后觸發(fā)器后觸發(fā)器,占1位,當(dāng)其 為0時(shí)對(duì)16位寄存器的低8位進(jìn)行讀/寫操作, 當(dāng)其為1時(shí),則對(duì)高8位進(jìn)行讀/寫操作,且 每讀或?qū)懸淮?,?后觸發(fā)器的狀態(tài)就自動(dòng)翻 轉(zhuǎn)一次。 8237A復(fù)位后,先/后觸發(fā)器為0 n8237A除可用RESET=1信號(hào)進(jìn)行硬件控制的 復(fù)位外,還可以用主清除命令進(jìn)行軟件控制 的復(fù)位。軟件復(fù)位是通過對(duì)1101端口端口進(jìn)行 寫操作實(shí)現(xiàn)的。 DMA技術(shù)與DMA控制器 8237A的工作原理的工作原理 n28237A的總線模式的總線模式 主模式(主動(dòng)態(tài))主模式(主動(dòng)態(tài)):在
16、DMA操作其間,8237A就 處于主模式,這時(shí)它管理系統(tǒng)總線,發(fā)出地址和 有關(guān)控制信號(hào)使數(shù)據(jù)在內(nèi)存和外設(shè)端口之間或內(nèi) 存兩個(gè)不同區(qū)域之間傳遞。 從模式(被動(dòng)態(tài))從模式(被動(dòng)態(tài)):所謂從模式是指在沒有進(jìn)行 DMA操作時(shí),8237A象其他接口芯片一樣,可被 CPU訪問。即向其有關(guān)內(nèi)部寄存器寫入工作方式 控制字,傳送地址及字節(jié)數(shù)等,也可讀取其狀態(tài) 信息; DMA技術(shù)與DMA控制器 D R E Q0 D R E Q1 D R E Q2 D A C K3 4 0 3 9 3 8 3 7 3 6 3 5 3 4 3 3 3 2 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2
17、 2 12 0 1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 1 0 9 8 7 6 5 4 3 2 1 8 2 3 7 / 8 2 3 7 - 2 ( N O T E 1 1 ) R E A D Y H L D A A D S T B A E N E O P D B4 A3 A2 A1 A0 VC C( + 5 V ) D B0 D B1 D B2 D B3 H R Q C S C L K R E S E T D A C K2 D R E Q3 D A C K0 D A C K1 D B5 D B6 D B7 ( G N D ) VC C A4 A5 A6 A7 M
18、 E M W M E M R I O W I O R n38237A的的 外部引腳外部引腳 圖圖11.4 8237A的引腳配置的引腳配置 DMA技術(shù)與DMA控制器 11.2.3 8237A的編程的編程 n1命令字與狀態(tài)字命令字與狀態(tài)字 n模式寄存器 每個(gè)通道有一個(gè)8位的模式寄存器, 用以規(guī)定通道的工作模式。但編程寫入的 模式控制字仍是8位,其最低兩位用來指 定寫入的通道號(hào)。 模式字的格式如圖11.5所示。 DMA技術(shù)與DMA控制器 D7D6D5D4D3D1D0D2 00請(qǐng)求傳送方式 01單字節(jié)傳送方式 10塊傳送方式 11聯(lián)級(jí)方式 0地址增1 1地址減1 0禁止自動(dòng)初始化 1允許自動(dòng)初始化 0
19、0選擇通道0 01選擇通道1 10選擇通道2 11選擇通道3 00校驗(yàn)傳送 01寫傳送(I/O內(nèi)存) 10讀傳送(內(nèi)存I/O) 11非法 圖圖11.5 8237A11.5 8237A的模式字格式的模式字格式 DMA技術(shù)與DMA控制器 8237A的編程的編程 n命令寄存器 命令寄存器是四個(gè)通道公用的一個(gè)8 位寄存器,用以控制整個(gè)8237A的操作。 即一片8237A只有一個(gè)命令寄存器,其內(nèi) 容對(duì)四個(gè)通道都有效。 命令字的格式如圖11.6所示。 DMA技術(shù)與DMA控制器 D7D6D5D4D3D1D0D2 0 DACK低電平有效 1 DACK高電平有效 0 DREQ高電平有效 1 DREQ低電平有效
20、0 正常寫 1 擴(kuò)展寫 0 固定優(yōu)先級(jí) 1 循環(huán)優(yōu)先級(jí) 0 禁止存儲(chǔ)器到存儲(chǔ)器傳送 1 允許存儲(chǔ)器到存儲(chǔ)器傳送 0 禁止通道0地址保持 1 允許通道0地址保持 若D0=0 0 控制器允許 1 控制器禁止 0 普通時(shí)序 1 壓縮時(shí)序 若D0=1 若D3=1 圖圖11.6 8237A的命令字格式的命令字格式 DMA技術(shù)與DMA控制器 8237A的編程的編程 n請(qǐng)求寄存器 n8237A的每個(gè)通道除了可以響應(yīng)硬件的DMA請(qǐng)求信 號(hào)DREQ外,當(dāng)其工作在塊傳送方式時(shí)也可以響應(yīng) 由軟件發(fā)出的DMA請(qǐng)求。 n軟件的DMA請(qǐng)求是通過使相應(yīng)通道的“請(qǐng)求位” 置位來實(shí)現(xiàn)的,它等效于外部產(chǎn)生一個(gè)有效的 DREQ信號(hào)
21、。 n8237A每一個(gè)通道有一位“請(qǐng)求位”,四個(gè)通道 的請(qǐng)求位構(gòu)成一個(gè)4位的請(qǐng)求寄存器。 請(qǐng)求寄存器的命令字(請(qǐng)求命令字)格式如 圖11.8所示。 DMA技術(shù)與DMA控制器 D7D6D5D4D3D1D0D2 00選擇通道0 01選擇通道1 10選擇通道2 11選擇通道3 0清除請(qǐng)求 1設(shè)置請(qǐng)求 無關(guān) 圖圖11.8 8237A11.8 8237A的請(qǐng)求寄存器的命令字格式的請(qǐng)求寄存器的命令字格式 DMA技術(shù)與DMA控制器 8237A的編程的編程 n屏蔽寄存器 n8237A每個(gè)通道有一位“屏蔽位”,當(dāng)其通道的 “屏蔽位”置1時(shí),則外部對(duì)應(yīng)的DREQ信號(hào)被屏 蔽,不予響應(yīng),從而禁止了該通道的DMA操作
22、。 n四個(gè)通道的“屏蔽位”構(gòu)成一個(gè)4位的屏蔽寄存 器。 n有兩種屏蔽命令字格式, n單獨(dú)對(duì)某一個(gè)通道的屏蔽位進(jìn)行置位或復(fù)位, 如圖11.9(a)所示; n另一種是可以同時(shí)設(shè)定四個(gè)通道的屏蔽位,也 稱綜合屏蔽命令字,如圖11.9(b)所示。 DMA技術(shù)與DMA控制器 圖圖11.9 8237A 11.9 8237A屏蔽字的兩種格式 屏蔽字的兩種格式 D7D6D5D4D3D1D0D2 0 0 選 擇 通 道 0 0 1 選 擇 通 道 1 1 0 選 擇 通 道 2 1 1 選 擇 通 道 3 0 清 除 屏 蔽 位 1 置 位 屏 蔽 位 無 關(guān) D7D6D5D4D3D1D0D2 無 關(guān) ( a
23、) 0 清 除 通 道 0 屏 蔽 位 1 置 位 通 道 0 屏 蔽 位 0 清 除 通 道 1 屏 蔽 位 1 置 位 通 道 1 屏 蔽 位 0 清 除 通 道 2 屏 蔽 位 1 置 位 通 道 2 屏 蔽 位 0 清 除 通 道 3 屏 蔽 位 1 置 位 通 道 3 屏 蔽 位 ( b ) (a)單通道屏蔽字格式)單通道屏蔽字格式 (b)四通道屏蔽字格式)四通道屏蔽字格式 DMA技術(shù)與DMA控制器 8237A的編程的編程 n狀態(tài)寄存器 8237A有一個(gè)可由CPU讀取的狀態(tài)寄存 器,如圖11.10所示。 D7D6D5D4D3D1D0D2 1 通道3 有請(qǐng)求 1 通道2 有請(qǐng)求 1 通
24、道1 有請(qǐng)求 1 通道0 有請(qǐng)求 1 通道0 傳輸結(jié)束 1 通道1 傳輸結(jié)束 1 通道2 傳輸結(jié)束 1 通道3 傳輸結(jié)束 圖圖11.10 8237A11.10 8237A的狀態(tài)寄存器格式的狀態(tài)寄存器格式 DMA技術(shù)與DMA控制器 28237A編程步驟:編程步驟: n8237A的編程通??砂慈缦虏襟E進(jìn)行。的編程通??砂慈缦虏襟E進(jìn)行。 n輸出主清除命令,使8237A進(jìn)入初始狀態(tài); n將DMA傳送的存貯器起始地址寫入基地址和當(dāng)前地 址寄存器; n將要傳送的字節(jié)數(shù)寫入基字節(jié)寄存器和當(dāng)前字節(jié)計(jì) 數(shù)器; n寫模式寄存器,規(guī)定8237A的工作方式等; n寫命令寄存器,規(guī)定各通道優(yōu)先級(jí)及DREQ、DACK 的
25、有效電平等; n寫屏蔽寄存器,規(guī)定開放和屏蔽的通道; n寫請(qǐng)求寄存器,發(fā)DMA請(qǐng)求命令。 DMA技術(shù)與DMA控制器 8237A的編程的編程 n38237A的編程舉例的編程舉例 n例:設(shè)某8088系統(tǒng)使用一片8237A,現(xiàn)欲 將內(nèi)存地址為8000H開始的100個(gè)字節(jié)數(shù) 據(jù)以DMA方式輸出到某外設(shè),已知8237A 的端口地址為20H2FH,并規(guī)定8237A通 道1工作在方式2,硬件啟動(dòng)。試編寫初始 化程序段。 DMA技術(shù)與DMA控制器 8237A的編程的編程 n解:根據(jù)以上已知條件和要求,初始化程解:根據(jù)以上已知條件和要求,初始化程 序段為:序段為: OUT 2DH,AL ;發(fā)主清除命令 MOV
26、AL,89H ; 選通道1,讀傳送,禁 止自 動(dòng)預(yù)置,方 式2,地址遞增 OUT 2BH,AL MOV AL,80H ;寫命令字:普通時(shí)序,存 儲(chǔ)器到外設(shè)傳送,固定優(yōu)先級(jí) OUT 28H,AL ;正常寫,DREQ、DACK高 電平有效 MOV AL,00H ;寫基地址和當(dāng)前地址寄存 器 DMA技術(shù)與DMA控制器 8237A的編程的編程 OUT 22H,AL MOV AL,80H OUT 22H,AL MOV AL,64H ;寫基字節(jié)寄存器和當(dāng)前字節(jié)計(jì) 數(shù)器 OUT 23H,AL MOV AL,0 OUT 23H,AL MOV AL,00H ;清除所有通道屏蔽 OUT 2FH,AL DMA技術(shù)與
27、DMA控制器 11.2.4 8237A的工作方式的工作方式 nDMA傳送方式傳送方式 單字節(jié)傳送方式 數(shù)據(jù)塊傳送方式 請(qǐng)求傳送方式 級(jí)連方式 nDMA傳送類型傳送類型 DMA讀 DMA寫 DMA檢驗(yàn) n存儲(chǔ)器到存儲(chǔ)器的傳送存儲(chǔ)器到存儲(chǔ)器的傳送 DMA技術(shù)與DMA控制器 方式方式0 請(qǐng)求傳送方式請(qǐng)求傳送方式 nDREQ信號(hào)有效就連續(xù)傳送數(shù)據(jù) nDREQ信號(hào)無效,DMA傳送被暫時(shí)中止,8237A釋放總 線,CPU可繼續(xù)操作 nDMA通道的地址和字節(jié)數(shù)的中間值仍被保持 nDREQ信號(hào)再次有效,DMA傳送就繼續(xù)進(jìn)行 n如果字節(jié)數(shù)寄存器減到0,或者由外部送來一個(gè)有效的 信號(hào),將終止計(jì)數(shù) n特點(diǎn):特點(diǎn):
28、nDMA操作可由外設(shè)利用DREQ信號(hào)控制傳送的過程 DMA技術(shù)與DMA控制器 方式方式1單字節(jié)傳送方式單字節(jié)傳送方式 n每次DMA傳送時(shí)僅傳送一個(gè)字節(jié) n傳送一個(gè)字節(jié)之后,字節(jié)數(shù)寄存器減1,地址 寄存器加1或減1,HRQ變?yōu)闊o效 n8237A釋放系統(tǒng)總線,將控制權(quán)還給CPU n特點(diǎn): n一次傳送一個(gè)字節(jié),效率略低 nDMA傳送之間CPU有機(jī)會(huì)重新獲取總線控制 權(quán) DMA技術(shù)與DMA控制器 方式方式2 塊傳送方式塊傳送方式 n由DREQ啟動(dòng)就連續(xù)地傳送數(shù)據(jù),直到字節(jié)數(shù) 寄存器減到0終止計(jì)數(shù),或由外部輸入有效信 號(hào)終結(jié)DMA傳送 nDREQ只需維持有效到DACK有效 n特點(diǎn):特點(diǎn): n一次請(qǐng)求傳送
29、一個(gè)數(shù)據(jù)塊,效率高 n整個(gè)DMA傳送期間CPU長(zhǎng)時(shí)間無法控制總線 (無法響應(yīng)其他DMA請(qǐng)求、無法處理中斷等) DMA技術(shù)與DMA控制器 方式方式3 級(jí)聯(lián)方式級(jí)聯(lián)方式 n用于通過多個(gè)8237A級(jí)連以擴(kuò)展通道 n第二級(jí)的HRQ和HLDA信號(hào)連到第一級(jí)某個(gè)通 道的DREQ和DACK上 n第二級(jí)芯片的優(yōu)先權(quán)等級(jí)與所連通道的優(yōu)先權(quán) 相對(duì)應(yīng) n第一級(jí)只起優(yōu)先權(quán)網(wǎng)絡(luò)的作用,實(shí)際的操作由 第二級(jí)芯片完成 n還可由第二級(jí)擴(kuò)展到第三級(jí)等 DMA技術(shù)與DMA控制器 圖圖11.11 8237A的級(jí)聯(lián)的級(jí)聯(lián) . . 8237 HLDA HRQ HLDA HRQ 8237 第二級(jí) 第一級(jí) DACK3 DREQ3 DACK0 DREQ0 HLDA HRQ HLDA HOLD 微處理器 DMA技術(shù)與DMA控制器 DMA傳送類型傳送類型 nDMA讀讀把數(shù)據(jù)由存儲(chǔ)器傳送到外設(shè)把數(shù)據(jù)由存儲(chǔ)器傳送到外設(shè) n由 有效從存儲(chǔ)器讀出數(shù)據(jù),由 有 效把這一數(shù)據(jù)寫入外設(shè) nDMA寫寫把外設(shè)輸入的數(shù)據(jù)寫入存儲(chǔ)器把外設(shè)輸入的數(shù)據(jù)寫入存儲(chǔ)器 n由 有效
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 樓房買賣合同
- 商鋪裝造合同協(xié)議書
- 小型機(jī)動(dòng)車輛抵押合同
- 醫(yī)療設(shè)備維修合同
- 區(qū)塊鏈供應(yīng)鏈金融風(fēng)險(xiǎn)管理合作框架合同
- 商品房出租合同書
- 公司外聘兼職保密協(xié)議合同
- 工程招投標(biāo)與合同管理心得
- 月餅購(gòu)銷合同
- 國(guó)際汽車貿(mào)易城商鋪?zhàn)赓U合同
- 人教版二年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)大單元教學(xué)設(shè)計(jì)
- 《中西文化比較》(教學(xué)大綱)
- 神華準(zhǔn)能“一步酸溶法”粉煤灰生產(chǎn)氧化鋁焙燒爐的選型研究
- 學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)流圖
- 血?dú)夥治龊?jiǎn)易三步法
- 清遠(yuǎn)清城區(qū)中小學(xué)明細(xì)表
- 常規(guī)和加高前腿吊籃方案
- Trados簡(jiǎn)介以及如何運(yùn)用其創(chuàng)建翻譯項(xiàng)目
- 《中國(guó)漢字聽寫大會(huì)》詞語(yǔ)大全
- 柑橘采摘機(jī)器人的結(jié)構(gòu)設(shè)計(jì)說明書
- 2020年圍術(shù)期出凝血管理麻醉專家共識(shí)(完整版)
評(píng)論
0/150
提交評(píng)論