




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第十二章 8237A DMA控制器及PC/XT機的系統(tǒng)板nDMA數(shù)據(jù)傳送方式(已在第六章講過)nDMA控制器的功能n8237DMA控制器的兩種工作狀態(tài)n8237A的組成和工作原理DMA數(shù)據(jù)傳送方式nDMA方式的提出nDMA數(shù)據(jù)傳送方式概述DMA方式的提出n程序控制傳送方式以CPU為中心,數(shù)據(jù)傳送由CPU來控制n利用中斷方式雖然可以提高效率,但也必須由CPU控制;CPU在執(zhí)行中斷服務程序、保護現(xiàn)場、恢復現(xiàn)場都會花費不少時間n總體評價:慢!不能滿足高速數(shù)據(jù)傳送的要求。n利用DMA可以實現(xiàn)高速數(shù)據(jù)傳送!DMA數(shù)據(jù)傳送方式概述n高速數(shù)據(jù)傳送的需求nDMA方式特點nDMA方式傳送數(shù)據(jù)路徑nDMA方式的優(yōu)
2、點nDMA方式不是萬能的nDMA的應用場合高速數(shù)據(jù)傳送的需求n某些外部設備的數(shù)據(jù)傳送非常快!n例如:硬盤,其數(shù)據(jù)的最低傳送速率達5MB/S。用程序控制方法傳送數(shù)據(jù)的速率最高也只能達到530KB/S。因此完成硬盤與存儲器之間的數(shù)據(jù)實時傳送實際上是不可能的!n因此,在這種情況下,數(shù)據(jù)傳送采用DMA方式。DMA方式特點nDMA-Direct Memory Accessn在存儲器和外部設備之間,直接開辟高速的數(shù)據(jù)傳送通路。n數(shù)據(jù)的傳送過程不需要CPU介入,只用一個總線周期,就能完成存儲器和外設之間的數(shù)據(jù)傳送。DMA方式傳送數(shù)據(jù)路徑CPU外設存儲器總線程序控制數(shù)據(jù)輸入/輸出DMA方式數(shù)據(jù)傳送DMA方式的
3、優(yōu)點n由DMAC提供源地址和目的地址;修改地址、控制傳送操作的結束和發(fā)出傳送控制信號都由DMAC承擔。即DMA方式是一種由硬件代替軟件的方法,因而數(shù)據(jù)傳送的速度顯著提高了。nDMA方式大大縮短了數(shù)據(jù)傳送的響應時間。DMA方式不是萬能的n在DMA方式傳送數(shù)據(jù)時,CPU把總線的控制權讓給DMAC,DMAC取代CPU控制總線,此時,CPU不能讀取指令;n當DMAC控制總線時,CPU不能去檢測和響應來自系統(tǒng)中其他設備的中斷請求;nDMA傳送也存在以下兩個額外開銷: 總線訪問時間; DMAC的初始化,CPU要對DMAC寫入控制字; n總之,采用DMA方式,會增加硬件投資,提高系統(tǒng)的成本!DMA控制器的功
4、能n能向CPU提出DMA請求,請求信號加到CPU的HOLD引腳上nCPU響應DMA請求后,DMA控制器從CPU那獲得對總線的控制權,CPU暫停工作。n提供讀/寫存儲器或I/O設備的各種命令n確定數(shù)據(jù)傳輸?shù)钠鹗嫉刂泛蛿?shù)據(jù)的長度,能自動修改地址和數(shù)據(jù)長度n數(shù)據(jù)傳送完畢,發(fā)出結束DMA傳送的信號8237DMA控制器的兩種工作狀態(tài)n從態(tài)方式:DMA控制器未取得總線控制權時,必須由CPU對DMA進行編程,以確定通道的選擇、數(shù)據(jù)傳送的方式和類型、內存單元起始地址、地址是遞增還是遞減、要傳送的總字節(jié)數(shù);CPU也可讀取DMA的狀態(tài)n主態(tài)方式:DMA控制器取得總線控制權后,系統(tǒng)完全在它的控制下,I/O設備和存儲
5、器之間或存儲器與存儲器之間進行直接的數(shù)據(jù)傳送8237A的組成和工作原理n8237A的內部結構n8237A的引腳功能n8237A的內部寄存器8237A的內部結構n時序與控制邏輯n優(yōu)先級編碼電路n數(shù)據(jù)和地址緩沖器n命令控制邏輯n內部寄存器組8237A引腳功能nCLK 時鐘信號,輸入nCS 片選信號nREADY 準備好nA3A0 DMAC的內部寄存器選擇信號nDB7DB0 數(shù)據(jù)線nAEN 地址允許信號nADSTB 地址選通信號nIOR和IOW I/O讀寫信號nMEMR和MEMW 存儲器讀寫信號nDREQ3DREQ0 通道30的DMA請求信號nHRQ和HLDA 保持請求和保持響應信號nDACK3DAC
6、K0 通道30的DMA響應信號nEOP 傳輸過程結束信號8237A的內部寄存器名稱位數(shù)數(shù)量當前地址寄存器164(每通道一個)當前字計數(shù)寄存器164(每通道一個)基地址寄存器164(每通道一個)基字計數(shù)寄存器164(每通道一個)工作方式寄存器64(每通道一個)命令寄存器81(4個通道公用一個)狀態(tài)寄存器81(4個通道公用一個)請求寄存器41(每通道1位)屏蔽寄存器41(每通道1位)暫存寄存器81(每通道1位)當前地址寄存器n每個通道都有一個16位的當前地址寄存器,用于存放DMA傳送的存儲器地址值。n每傳送一個數(shù)據(jù),地址值自動增1或減1,以指向下一個存儲單元。當前字計數(shù)寄存器n每個通道都有一個16
7、位的當前字計數(shù)寄存器,它的初值比實際傳送的字節(jié)數(shù)少1,該值是在編程狀態(tài)下由CPU寫入的。n在進行DMA傳送時,每傳送一個字節(jié),字計數(shù)器的內容自動減1,當它的值減為0,再由0減到FFFFH,將產生終止計數(shù)信號TC。基地址寄存器n每個通道都有一個16位的基地址寄存器,它用來存放對應通道當前地址寄存器的初值,該值是在CPU對DMA控制器進行編程時,與當前地址寄存器的值一起被寫入的,即兩個寄存器有相同的寫入端口地址,編程時寫入相同的內容。n但基地址寄存器的內容不能被CPU讀出,也不能被修改。當執(zhí)行自動預置操作時,使當前地址寄存器能恢復到初始值。基字計數(shù)寄存器n每個通道都有一個16位基字計數(shù)寄存器。用于
8、存放對應通道當前字計數(shù)器的初值,該值也是在CPU對8237A進行編程時與當前字計數(shù)器一起寫入的,且兩者具有相同的寫入端口,寫入相同的內容。n該寄存器的內容也不能被CPU讀出,主要用于自動預置操作時使當前字計數(shù)器恢復初值。工作方式寄存器n每個通道都有一個6位的工作方式寄存器,用于選擇DMA的傳送方式和類型。工作方式字的格式D7D600請求傳送方式01單字節(jié)傳送方式10數(shù)據(jù)塊傳送方式11級聯(lián)傳送方式D50地址增1地址減11D40禁止自動預置1允許自動預置D3D200校驗傳送寫傳送0110讀傳送11非法D1D000選擇通道0選擇通道10110選擇通道211選擇通道3命令寄存器n命令是一個8位寄存器,
9、用來控制8237A的操作。編程狀態(tài)時,由CPU對它進行編程,設置8237A的操作方式,復位時將其清除。命令字的格式D70DACK低電平有效1DACK高電平有效D60DREQ低電平有效1DREQ高電平有效D50不擴展寫選擇D3=1時不起作用1擴展寫選擇D40固定優(yōu)先權1循環(huán)優(yōu)先權D30正常時序D0=1時不起作用1壓縮時序D20允許8237A操作1禁止8237A操作D10禁止通道0地址保持不變D0=0時不起作用1允許通道0地址保持不變D00禁止存儲器到存儲器傳送1允許存儲器到存儲器傳送請求寄存器n在DMA內部有一個4位的請求寄存器,每位對應一個通道。n相應請求位置1,對應的通道可產生DMA請求,清
10、0時不產生請求。請求字的格式D7D6D5D4D3無關D20復位請求位1置位請求位D1D000選擇通道0選擇通道10110選擇通道211選擇通道3屏蔽寄存器nDMA內部有一個4位的屏蔽寄存器,每位對應一個通道。n相應屏蔽位置1時,禁止對應通道的DREQ請求進入請求寄存器,屏蔽位復位時,允許DREQ請求。狀態(tài)寄存器nDMA內部的8位狀態(tài)寄存器用來存放狀態(tài)信息,供CPU讀出。暫存寄存器n在存儲器到存儲器傳送時,暫存寄存器用來保存所傳送的數(shù)據(jù)。n當傳送完畢,暫存寄存器中始終保存著最后一個傳送的數(shù)據(jù)字節(jié),可以用RESET信號清除。軟件命令n在編程狀態(tài),DMA可執(zhí)行3個附加的特殊軟件命令,這3個軟件命令不
11、關心數(shù)據(jù)的具體格式,只要對特定的端口地址進行一次寫操作,命令就生效。n清除先/后觸發(fā)器n主清命令n清除屏蔽寄存器各寄存器對應的端口地址I/O口地址寄存器讀寫00H通道0當前地址寄存器通道0基地址與當前地址寄存器01H通道0當前字計數(shù)寄存器通道0基字計數(shù)與當前字計數(shù)寄存器02H通道1當前地址寄存器通道1基地址與當前地址寄存器03H通道1當前字計數(shù)寄存器通道1基字計數(shù)與當前字計數(shù)寄存器04H通道2當前地址寄存器通道2基地址與當前地址寄存器05H通道2當前字計數(shù)寄存器通道2基字計數(shù)與當前字計數(shù)寄存器06H通道3當前地址寄存器通道3基地址與當前地址寄存器07H通道3當前字計數(shù)寄存器通道3基字計數(shù)與當前
12、字計數(shù)寄存器08H狀態(tài)寄存器命令寄存器09H請求寄存器0AH屏蔽寄存器0BH工作方式寄存器0CH清除先/后觸發(fā)器0DH暫存寄存器主清命令寄存器0EH屏蔽寄存器(清除屏蔽)0FH屏蔽寄存器(主屏蔽字)8237A的時序n外設和內存間的DMA數(shù)據(jù)傳送時序n8237A有兩個主要的工作周期,即空閑周期(IDLE CYCLE)和有效周期(ACTIVE CYCLE)。n每個周期由若干個狀態(tài)構成。n空閑周期、有效周期和擴展寫周期n空閑周期:系統(tǒng)復位后或無DMA請求時處于空閑周期,這時DMA處于從態(tài)n有效周期:當外部向DMAC發(fā)出DMA請求,可處于有效周期,DMAC處于主態(tài)n擴展寫周期:8237A的編程和應用舉例nPC/XT機中的DMA的控制邏輯n8237A的一般編程方法nPC/XT機上的DMA控制器的使用PC/XT機中的DMA的控制邏輯n各通道的功能n通道0:用于動態(tài)RAM的刷新n通道1:保留n通道2:用于軟盤的DMA傳送n通道3:用于硬盤的DMA傳送8237A的編程方法n編程步驟:n 輸出主清命令,使8237A復位n 寫入基地址和現(xiàn)行地址寄存器,確定起始地址n 寫入基字和現(xiàn)行字計數(shù)器,確定要傳送的字節(jié)數(shù)n 寫入方式字,指定工作方式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年新疆生產建設兵團中考地理試卷及答案
- 海上風電并網技術突破與規(guī)模化發(fā)展中的電網適應性研究
- 培訓機構沒發(fā)票管理制度
- 施工項目招標管理制度
- 臨床技能培訓室管理制度
- 服務企業(yè)忠誠管理制度
- 日常落地檢查管理制度
- 安全教育培訓師管理制度
- 地下停車場車庫管理制度
- 出租車運營公司管理制度
- 第四單元 走進法治天地 復習課件-部編版道德與法治七年級下冊
- 深圳知名地產住宅項目機電策劃方案
- 結案申請書【范本】
- 變態(tài)心理學(全套課件)
- 高處吊籃使用審批表
- 華大自控說明書
- 防汛物資臺賬參考模板范本
- 建筑工程全套作業(yè)指導書模板
- 鄉(xiāng)土中國整本書閱讀批讀指導課教學設計
- 建筑門窗熱工性能計算書(LOW-E玻璃及隔熱系數(shù))
- 醫(yī)務人員血液體液職業(yè)暴露登記表
評論
0/150
提交評論