




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第十二章 8237A DMA控制器及PC/XT機(jī)的系統(tǒng)板nDMA數(shù)據(jù)傳送方式(已在第六章講過(guò))nDMA控制器的功能n8237DMA控制器的兩種工作狀態(tài)n8237A的組成和工作原理DMA數(shù)據(jù)傳送方式nDMA方式的提出nDMA數(shù)據(jù)傳送方式概述DMA方式的提出n程序控制傳送方式以CPU為中心,數(shù)據(jù)傳送由CPU來(lái)控制n利用中斷方式雖然可以提高效率,但也必須由CPU控制;CPU在執(zhí)行中斷服務(wù)程序、保護(hù)現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)都會(huì)花費(fèi)不少時(shí)間n總體評(píng)價(jià):慢!不能滿(mǎn)足高速數(shù)據(jù)傳送的要求。n利用DMA可以實(shí)現(xiàn)高速數(shù)據(jù)傳送!DMA數(shù)據(jù)傳送方式概述n高速數(shù)據(jù)傳送的需求nDMA方式特點(diǎn)nDMA方式傳送數(shù)據(jù)路徑nDMA方式的優(yōu)
2、點(diǎn)nDMA方式不是萬(wàn)能的nDMA的應(yīng)用場(chǎng)合高速數(shù)據(jù)傳送的需求n某些外部設(shè)備的數(shù)據(jù)傳送非常快!n例如:硬盤(pán),其數(shù)據(jù)的最低傳送速率達(dá)5MB/S。用程序控制方法傳送數(shù)據(jù)的速率最高也只能達(dá)到530KB/S。因此完成硬盤(pán)與存儲(chǔ)器之間的數(shù)據(jù)實(shí)時(shí)傳送實(shí)際上是不可能的!n因此,在這種情況下,數(shù)據(jù)傳送采用DMA方式。DMA方式特點(diǎn)nDMA-Direct Memory Accessn在存儲(chǔ)器和外部設(shè)備之間,直接開(kāi)辟高速的數(shù)據(jù)傳送通路。n數(shù)據(jù)的傳送過(guò)程不需要CPU介入,只用一個(gè)總線周期,就能完成存儲(chǔ)器和外設(shè)之間的數(shù)據(jù)傳送。DMA方式傳送數(shù)據(jù)路徑CPU外設(shè)存儲(chǔ)器總線程序控制數(shù)據(jù)輸入/輸出DMA方式數(shù)據(jù)傳送DMA方式的
3、優(yōu)點(diǎn)n由DMAC提供源地址和目的地址;修改地址、控制傳送操作的結(jié)束和發(fā)出傳送控制信號(hào)都由DMAC承擔(dān)。即DMA方式是一種由硬件代替軟件的方法,因而數(shù)據(jù)傳送的速度顯著提高了。nDMA方式大大縮短了數(shù)據(jù)傳送的響應(yīng)時(shí)間。DMA方式不是萬(wàn)能的n在DMA方式傳送數(shù)據(jù)時(shí),CPU把總線的控制權(quán)讓給DMAC,DMAC取代CPU控制總線,此時(shí),CPU不能讀取指令;n當(dāng)DMAC控制總線時(shí),CPU不能去檢測(cè)和響應(yīng)來(lái)自系統(tǒng)中其他設(shè)備的中斷請(qǐng)求;nDMA傳送也存在以下兩個(gè)額外開(kāi)銷(xiāo): 總線訪問(wèn)時(shí)間; DMAC的初始化,CPU要對(duì)DMAC寫(xiě)入控制字; n總之,采用DMA方式,會(huì)增加硬件投資,提高系統(tǒng)的成本!DMA控制器的功
4、能n能向CPU提出DMA請(qǐng)求,請(qǐng)求信號(hào)加到CPU的HOLD引腳上nCPU響應(yīng)DMA請(qǐng)求后,DMA控制器從CPU那獲得對(duì)總線的控制權(quán),CPU暫停工作。n提供讀/寫(xiě)存儲(chǔ)器或I/O設(shè)備的各種命令n確定數(shù)據(jù)傳輸?shù)钠鹗嫉刂泛蛿?shù)據(jù)的長(zhǎng)度,能自動(dòng)修改地址和數(shù)據(jù)長(zhǎng)度n數(shù)據(jù)傳送完畢,發(fā)出結(jié)束DMA傳送的信號(hào)8237DMA控制器的兩種工作狀態(tài)n從態(tài)方式:DMA控制器未取得總線控制權(quán)時(shí),必須由CPU對(duì)DMA進(jìn)行編程,以確定通道的選擇、數(shù)據(jù)傳送的方式和類(lèi)型、內(nèi)存單元起始地址、地址是遞增還是遞減、要傳送的總字節(jié)數(shù);CPU也可讀取DMA的狀態(tài)n主態(tài)方式:DMA控制器取得總線控制權(quán)后,系統(tǒng)完全在它的控制下,I/O設(shè)備和存儲(chǔ)
5、器之間或存儲(chǔ)器與存儲(chǔ)器之間進(jìn)行直接的數(shù)據(jù)傳送8237A的組成和工作原理n8237A的內(nèi)部結(jié)構(gòu)n8237A的引腳功能n8237A的內(nèi)部寄存器8237A的內(nèi)部結(jié)構(gòu)n時(shí)序與控制邏輯n優(yōu)先級(jí)編碼電路n數(shù)據(jù)和地址緩沖器n命令控制邏輯n內(nèi)部寄存器組8237A引腳功能nCLK 時(shí)鐘信號(hào),輸入nCS 片選信號(hào)nREADY 準(zhǔn)備好nA3A0 DMAC的內(nèi)部寄存器選擇信號(hào)nDB7DB0 數(shù)據(jù)線nAEN 地址允許信號(hào)nADSTB 地址選通信號(hào)nIOR和IOW I/O讀寫(xiě)信號(hào)nMEMR和MEMW 存儲(chǔ)器讀寫(xiě)信號(hào)nDREQ3DREQ0 通道30的DMA請(qǐng)求信號(hào)nHRQ和HLDA 保持請(qǐng)求和保持響應(yīng)信號(hào)nDACK3DAC
6、K0 通道30的DMA響應(yīng)信號(hào)nEOP 傳輸過(guò)程結(jié)束信號(hào)8237A的內(nèi)部寄存器名稱(chēng)位數(shù)數(shù)量當(dāng)前地址寄存器164(每通道一個(gè))當(dāng)前字計(jì)數(shù)寄存器164(每通道一個(gè))基地址寄存器164(每通道一個(gè))基字計(jì)數(shù)寄存器164(每通道一個(gè))工作方式寄存器64(每通道一個(gè))命令寄存器81(4個(gè)通道公用一個(gè))狀態(tài)寄存器81(4個(gè)通道公用一個(gè))請(qǐng)求寄存器41(每通道1位)屏蔽寄存器41(每通道1位)暫存寄存器81(每通道1位)當(dāng)前地址寄存器n每個(gè)通道都有一個(gè)16位的當(dāng)前地址寄存器,用于存放DMA傳送的存儲(chǔ)器地址值。n每傳送一個(gè)數(shù)據(jù),地址值自動(dòng)增1或減1,以指向下一個(gè)存儲(chǔ)單元。當(dāng)前字計(jì)數(shù)寄存器n每個(gè)通道都有一個(gè)16
7、位的當(dāng)前字計(jì)數(shù)寄存器,它的初值比實(shí)際傳送的字節(jié)數(shù)少1,該值是在編程狀態(tài)下由CPU寫(xiě)入的。n在進(jìn)行DMA傳送時(shí),每傳送一個(gè)字節(jié),字計(jì)數(shù)器的內(nèi)容自動(dòng)減1,當(dāng)它的值減為0,再由0減到FFFFH,將產(chǎn)生終止計(jì)數(shù)信號(hào)TC。基地址寄存器n每個(gè)通道都有一個(gè)16位的基地址寄存器,它用來(lái)存放對(duì)應(yīng)通道當(dāng)前地址寄存器的初值,該值是在CPU對(duì)DMA控制器進(jìn)行編程時(shí),與當(dāng)前地址寄存器的值一起被寫(xiě)入的,即兩個(gè)寄存器有相同的寫(xiě)入端口地址,編程時(shí)寫(xiě)入相同的內(nèi)容。n但基地址寄存器的內(nèi)容不能被CPU讀出,也不能被修改。當(dāng)執(zhí)行自動(dòng)預(yù)置操作時(shí),使當(dāng)前地址寄存器能恢復(fù)到初始值。基字計(jì)數(shù)寄存器n每個(gè)通道都有一個(gè)16位基字計(jì)數(shù)寄存器。用于
8、存放對(duì)應(yīng)通道當(dāng)前字計(jì)數(shù)器的初值,該值也是在CPU對(duì)8237A進(jìn)行編程時(shí)與當(dāng)前字計(jì)數(shù)器一起寫(xiě)入的,且兩者具有相同的寫(xiě)入端口,寫(xiě)入相同的內(nèi)容。n該寄存器的內(nèi)容也不能被CPU讀出,主要用于自動(dòng)預(yù)置操作時(shí)使當(dāng)前字計(jì)數(shù)器恢復(fù)初值。工作方式寄存器n每個(gè)通道都有一個(gè)6位的工作方式寄存器,用于選擇DMA的傳送方式和類(lèi)型。工作方式字的格式D7D600請(qǐng)求傳送方式01單字節(jié)傳送方式10數(shù)據(jù)塊傳送方式11級(jí)聯(lián)傳送方式D50地址增1地址減11D40禁止自動(dòng)預(yù)置1允許自動(dòng)預(yù)置D3D200校驗(yàn)傳送寫(xiě)傳送0110讀傳送11非法D1D000選擇通道0選擇通道10110選擇通道211選擇通道3命令寄存器n命令是一個(gè)8位寄存器,
9、用來(lái)控制8237A的操作。編程狀態(tài)時(shí),由CPU對(duì)它進(jìn)行編程,設(shè)置8237A的操作方式,復(fù)位時(shí)將其清除。命令字的格式D70DACK低電平有效1DACK高電平有效D60DREQ低電平有效1DREQ高電平有效D50不擴(kuò)展寫(xiě)選擇D3=1時(shí)不起作用1擴(kuò)展寫(xiě)選擇D40固定優(yōu)先權(quán)1循環(huán)優(yōu)先權(quán)D30正常時(shí)序D0=1時(shí)不起作用1壓縮時(shí)序D20允許8237A操作1禁止8237A操作D10禁止通道0地址保持不變D0=0時(shí)不起作用1允許通道0地址保持不變D00禁止存儲(chǔ)器到存儲(chǔ)器傳送1允許存儲(chǔ)器到存儲(chǔ)器傳送請(qǐng)求寄存器n在DMA內(nèi)部有一個(gè)4位的請(qǐng)求寄存器,每位對(duì)應(yīng)一個(gè)通道。n相應(yīng)請(qǐng)求位置1,對(duì)應(yīng)的通道可產(chǎn)生DMA請(qǐng)求,清
10、0時(shí)不產(chǎn)生請(qǐng)求。請(qǐng)求字的格式D7D6D5D4D3無(wú)關(guān)D20復(fù)位請(qǐng)求位1置位請(qǐng)求位D1D000選擇通道0選擇通道10110選擇通道211選擇通道3屏蔽寄存器nDMA內(nèi)部有一個(gè)4位的屏蔽寄存器,每位對(duì)應(yīng)一個(gè)通道。n相應(yīng)屏蔽位置1時(shí),禁止對(duì)應(yīng)通道的DREQ請(qǐng)求進(jìn)入請(qǐng)求寄存器,屏蔽位復(fù)位時(shí),允許DREQ請(qǐng)求。狀態(tài)寄存器nDMA內(nèi)部的8位狀態(tài)寄存器用來(lái)存放狀態(tài)信息,供CPU讀出。暫存寄存器n在存儲(chǔ)器到存儲(chǔ)器傳送時(shí),暫存寄存器用來(lái)保存所傳送的數(shù)據(jù)。n當(dāng)傳送完畢,暫存寄存器中始終保存著最后一個(gè)傳送的數(shù)據(jù)字節(jié),可以用RESET信號(hào)清除。軟件命令n在編程狀態(tài),DMA可執(zhí)行3個(gè)附加的特殊軟件命令,這3個(gè)軟件命令不
11、關(guān)心數(shù)據(jù)的具體格式,只要對(duì)特定的端口地址進(jìn)行一次寫(xiě)操作,命令就生效。n清除先/后觸發(fā)器n主清命令n清除屏蔽寄存器各寄存器對(duì)應(yīng)的端口地址I/O口地址寄存器讀寫(xiě)00H通道0當(dāng)前地址寄存器通道0基地址與當(dāng)前地址寄存器01H通道0當(dāng)前字計(jì)數(shù)寄存器通道0基字計(jì)數(shù)與當(dāng)前字計(jì)數(shù)寄存器02H通道1當(dāng)前地址寄存器通道1基地址與當(dāng)前地址寄存器03H通道1當(dāng)前字計(jì)數(shù)寄存器通道1基字計(jì)數(shù)與當(dāng)前字計(jì)數(shù)寄存器04H通道2當(dāng)前地址寄存器通道2基地址與當(dāng)前地址寄存器05H通道2當(dāng)前字計(jì)數(shù)寄存器通道2基字計(jì)數(shù)與當(dāng)前字計(jì)數(shù)寄存器06H通道3當(dāng)前地址寄存器通道3基地址與當(dāng)前地址寄存器07H通道3當(dāng)前字計(jì)數(shù)寄存器通道3基字計(jì)數(shù)與當(dāng)前
12、字計(jì)數(shù)寄存器08H狀態(tài)寄存器命令寄存器09H請(qǐng)求寄存器0AH屏蔽寄存器0BH工作方式寄存器0CH清除先/后觸發(fā)器0DH暫存寄存器主清命令寄存器0EH屏蔽寄存器(清除屏蔽)0FH屏蔽寄存器(主屏蔽字)8237A的時(shí)序n外設(shè)和內(nèi)存間的DMA數(shù)據(jù)傳送時(shí)序n8237A有兩個(gè)主要的工作周期,即空閑周期(IDLE CYCLE)和有效周期(ACTIVE CYCLE)。n每個(gè)周期由若干個(gè)狀態(tài)構(gòu)成。n空閑周期、有效周期和擴(kuò)展寫(xiě)周期n空閑周期:系統(tǒng)復(fù)位后或無(wú)DMA請(qǐng)求時(shí)處于空閑周期,這時(shí)DMA處于從態(tài)n有效周期:當(dāng)外部向DMAC發(fā)出DMA請(qǐng)求,可處于有效周期,DMAC處于主態(tài)n擴(kuò)展寫(xiě)周期:8237A的編程和應(yīng)用舉例nPC/XT機(jī)中的DMA的控制邏輯n8237A的一般編程方法nPC/XT機(jī)上的DMA控制器的使用PC/XT機(jī)中的DMA的控制邏輯n各通道的功能n通道0:用于動(dòng)態(tài)RAM的刷新n通道1:保留n通道2:用于軟盤(pán)的DMA傳送n通道3:用于硬盤(pán)的DMA傳送8237A的編程方法n編程步驟:n 輸出主清命令,使8237A復(fù)位n 寫(xiě)入基地址和現(xiàn)行地址寄存器,確定起始地址n 寫(xiě)入基字和現(xiàn)行字計(jì)數(shù)器,確定要傳送的字節(jié)數(shù)n 寫(xiě)入方式字,指定工作方式
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省東臺(tái)市第七聯(lián)盟2025年初三第一次聯(lián)考綜合試題含解析
- 遼寧師范大學(xué)海華學(xué)院《機(jī)電設(shè)備概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇省泰興市城黃北區(qū)教研中學(xué)心2025屆初三下學(xué)期入學(xué)考試題物理試題文試題含解析
- 咸陽(yáng)市重點(diǎn)中學(xué)2025年高三學(xué)情摸底生物試題含解析
- 青光眼的護(hù)理
- 湛江市大成中學(xué)高一下學(xué)期物理期中測(cè)試題
- 2025電商代運(yùn)營(yíng)合同樣本(版)
- 2025智能解決方案平臺(tái)運(yùn)營(yíng)服務(wù)外包合同
- 脛骨近端骨折護(hù)理查房
- 基礎(chǔ)護(hù)理學(xué):護(hù)士職業(yè)防護(hù)
- 2024-2025學(xué)年七年級(jí)下學(xué)期期中英語(yǔ)模擬試卷(深圳專(zhuān)用)(原卷版)
- 生物樣本庫(kù)建設(shè)及其在研究中的應(yīng)用試題及答案
- 北京市海淀區(qū)2024-2025學(xué)年第二學(xué)期期中練習(xí)暨海淀高三高三一模(海淀一模)(英語(yǔ)試卷+答案 )
- 2024年河南輕工職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)必考題
- 工程塑膠材料采購(gòu)合同(2篇)
- 山西省華遠(yuǎn)國(guó)際陸港集團(tuán)專(zhuān)業(yè)技術(shù)人員招聘筆試真題2024
- 新污染物環(huán)境風(fēng)險(xiǎn)評(píng)估:理論與制度構(gòu)建
- 2025中考英語(yǔ)沖刺-傳統(tǒng)文化詩(shī)詞
- 2025山西地質(zhì)集團(tuán)招聘37人筆試參考題庫(kù)附帶答案詳解
- 金融科技學(xué)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋重慶工商大學(xué)
- 2025屆北京市朝陽(yáng)區(qū)高三語(yǔ)文一模議論文“說(shuō)托舉”寫(xiě)作導(dǎo)引(5篇范文)
評(píng)論
0/150
提交評(píng)論