版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
DMATrainning
2007.8.15
1.DMATrainning1.一.基本概念
1.DirectMemoryAccess(直接存儲器存?。?。這是指一種高速的數(shù)據(jù)傳輸操作,允許在外部設(shè)備和存儲器之間直接讀寫數(shù)據(jù),既不通過CPU,也不需要CPU干預(yù)。整個數(shù)據(jù)傳輸操作在一個稱為“DMA控制器”的控制下進行的。CPU除了在數(shù)據(jù)傳輸開始和結(jié)束時做一點處理外,在傳輸過程中CPU可以進行其他的工作。這樣,在大部分時間里,CPU和輸入輸出都處于并行操作。因此,使整個計算機系統(tǒng)的效率大大提高。
DMA技術(shù)中,數(shù)據(jù)的傳送是在DMA控制器(DMAC)的控制下進行的。
2.DMAC傳送數(shù)據(jù)的三個階段:a.傳送前的預(yù)處理
b.數(shù)據(jù)傳送
c.傳送結(jié)束處理3.DMAC有兩種工作狀態(tài):主動工作狀態(tài)(有效周期)和被動工作狀態(tài)(空閑周期)。
4.DMA控制器對總線的占用方式有a.獨占方式b.周期挪用方式。2.一.基本概念2.三、基本的DMA控制器1.DMA控制器的基本組成一個DMA控制器,實際上是采用DMA方式的外圍設(shè)備與系統(tǒng)總線之間的接口電路,這個接口電路是在中斷接口的基礎(chǔ)上再加DMA機構(gòu)組成.習(xí)慣上將DMA方式的接口電路稱為DMA控制器。下頁圖示出了一個最簡單的DMA控制器組成示意圖。一個最簡單的DMA控制器由以下邏輯部件組成:
(1)內(nèi)存地址計數(shù)器用于存放內(nèi)存中要交換的數(shù)據(jù)的地址。在DMA傳送前,須通過程序?qū)?shù)據(jù)在內(nèi)存中的起始位置(首地址)送到內(nèi)存地址計數(shù)器。而當(dāng)DMA傳送時,每交換一次數(shù)據(jù),將地址計數(shù)器加“1”,從而以增量方式給出內(nèi)存中要交換的一批數(shù)據(jù)的地址。(2)字計數(shù)器用于記錄傳送數(shù)據(jù)塊的長度(多少字?jǐn)?shù))。其內(nèi)容也是在數(shù)據(jù)傳送之前由程序預(yù)置,交換的字?jǐn)?shù)通常以補碼形式表示。在DMA傳送時,每傳送一個字,字計數(shù)器就加“1”,當(dāng)計數(shù)器溢出即最高位產(chǎn)生進位時,表示這批數(shù)據(jù)傳送完畢,于是引起DMA控制器向CPU發(fā)中斷信號。3.三、基本的DMA控制器3.4.4.(3)數(shù)據(jù)緩沖寄存器
用于暫存每次傳送的數(shù)據(jù)(一個字)。當(dāng)輸入時,由設(shè)備(如磁盤)送往數(shù)據(jù)緩沖寄存器,再由緩沖寄存器通過數(shù)據(jù)總線送到內(nèi)存。反之,輸出時,由內(nèi)存通過數(shù)據(jù)總線送到數(shù)據(jù)緩沖寄存器,然后再送到設(shè)備。(4)“DMA請求”標(biāo)志每當(dāng)設(shè)備準(zhǔn)備好一個數(shù)據(jù)字后給出一個控制信號,使“DMA請求”標(biāo)志置“1”。該標(biāo)志置位后向“控制/狀態(tài)”邏輯發(fā)出DMA請求,后者又向CPU發(fā)出總線使用權(quán)的請求(HOLD),CPU響應(yīng)此請求后發(fā)回響應(yīng)信號HLDA,“控制/狀態(tài)”邏輯接收此信號后發(fā)出DMA響應(yīng)信號,使“DMA請求”標(biāo)志復(fù)位,為交換下一個字做好準(zhǔn)備。(5)“控制/狀態(tài)”邏輯由控制和時序電路以及狀態(tài)標(biāo)志等組成,用于修改內(nèi)存地址計數(shù)器和字計數(shù)器,指定傳送類型(輸入或輸出),并對“DMA請求”信號和CPU響應(yīng)信號進行協(xié)調(diào)和同步。(6)中斷機構(gòu)當(dāng)字計數(shù)器溢出時(為0時),意味著一組數(shù)據(jù)交換完畢,由溢出信號觸發(fā)中斷機構(gòu),向CPU提出中斷報告。這里的中斷與上一節(jié)介紹的I/O中斷所采用的技術(shù)相同,但中斷的目的不同,前面是為了數(shù)據(jù)的輸入或輸出,而這里是為了報告一組數(shù)據(jù)傳送結(jié)束。因此它們是I/O系統(tǒng)中不同的中斷事件。5.(3)數(shù)據(jù)緩沖寄存器用于暫存每次傳送的數(shù)據(jù)(一個字)。當(dāng)輸2.DMA數(shù)據(jù)傳送過程
DMA的數(shù)據(jù)塊傳送過程可分為三個階段:傳送前預(yù)處理;正式傳送;傳送后處理。預(yù)處理由CPU執(zhí)行幾條輸入輸出指令,測試設(shè)備狀態(tài),向DMA控制器的設(shè)備地址寄存器中送入設(shè)備號并啟動設(shè)備,向內(nèi)存地址計數(shù)器中送入起始地址,向字計數(shù)器中送入交換的數(shù)據(jù)字個數(shù)。在這些工作完成后,CPU繼續(xù)執(zhí)行原來的主程序。正式傳送當(dāng)外設(shè)準(zhǔn)備好發(fā)送數(shù)據(jù)(輸入)或接受數(shù)據(jù)(輸出)時,它發(fā)出DMA請求,由DMA控制器向CPU發(fā)出總線使用權(quán)的請求(HOLD)。下頁圖示出了停止CPU訪內(nèi)方式的DMA傳送數(shù)據(jù)的流程圖。當(dāng)外圍設(shè)備發(fā)出DMA請求時,CPU在本機器周期執(zhí)行結(jié)束后響應(yīng)該請求,并使CPU的總線驅(qū)動器處于第二態(tài)(高阻狀態(tài)).之后,CPU與系統(tǒng)總線相脫離,而DMA控制器接管數(shù)據(jù)總線與地址總線的控制,并向內(nèi)存提供地址.6.2.DMA數(shù)據(jù)傳送過程6.7.7.
于是,在內(nèi)存和外圍設(shè)備之間進行數(shù)據(jù)交換.每交換一個字,則地址計數(shù)器和字計數(shù)器加“l(fā)”,當(dāng)計數(shù)值到達零時,DMA操作結(jié)束,DMA控制器向CPU提出中斷報告。DMA的數(shù)據(jù)傳送是以數(shù)據(jù)塊為基本單位進行的,因此,每次DMA控制器占用總線后,無論是數(shù)據(jù)輸入操作,還是輸出操作,都是通過循環(huán)來實現(xiàn)的。當(dāng)進行輸入操作時,外圍設(shè)備的數(shù)據(jù)(一次一個字或一個字節(jié))傳向內(nèi)存;當(dāng)進行輸出操作時,內(nèi)存的數(shù)據(jù)傳向外圍設(shè)備。后處理一旦DMA的中斷請求得到響應(yīng),CPU停止主程序的執(zhí)行,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序做一些DMA的結(jié)束處理工作。這些工作包括校驗送入內(nèi)存的數(shù)據(jù)是否正確;決定繼續(xù)用DMA方式傳送下去,還是結(jié)束傳送;測試在傳送過程中是否發(fā)生了錯誤等等。基本DMA控制器與系統(tǒng)的連接方式:(1)公用的DMA請求方式;(2)獨立的DMA請求方式,這與中斷方式類似。8.于是,在內(nèi)存和外圍設(shè)備之間進行數(shù)據(jù)交換.每交換一個字,四、選擇型和多路型DMA控制器前面介紹的是最簡單的DMA控制器,一個控制器只控制一個I/O設(shè)備.實際中經(jīng)常采用的是選擇型DMA控制器和多路型DMA控制器,它們已經(jīng)被做成集成電路片子.1.選擇型DMA控制器下頁圖是選擇型DMA控制器的邏輯框圖,它在物理上可以連接多個設(shè)備,而在邏輯上只允許接—個設(shè)備.換句話說,在某一段時間內(nèi)只能為一個設(shè)備服務(wù).選擇型DMA控制器工作原理與前面的簡單DMA控制器基本相同.除了前面講到的基本邏輯部件外,還有一個設(shè)備號寄存器.?dāng)?shù)據(jù)傳送是以數(shù)據(jù)塊為單位進行的,在每個數(shù)據(jù)塊傳送之前的預(yù)置階段,除了用程序中I/O指令給出數(shù)據(jù)塊的傳送個數(shù)、起始地址、操作命令外,還要給出所選擇的設(shè)備號.從預(yù)置開始,一直到這個數(shù)據(jù)塊傳送結(jié)束,DMA控制器只為所選設(shè)備服務(wù).下—次預(yù)置再根據(jù)I/O指令指出的設(shè)備號,為另—選擇的設(shè)備服務(wù).9.四、選擇型和多路型DMA控制器9.10.10.顯然,選擇型DMA控制器相當(dāng)于一個邏輯開關(guān),根據(jù)I/O指令來控制此開關(guān)與某個設(shè)備連接.選擇型DMA控制器只增加少量硬件達到了為多個外圍設(shè)備服務(wù)的目的,它特別適合數(shù)據(jù)傳輸串很高以至接近內(nèi)存存取速度的設(shè)備.在很快地傳送完一個數(shù)據(jù)塊后,控制器又可為其他設(shè)備服務(wù).2.多路型DMA控制器選擇型DMA控制器不適用于慢速設(shè)備.但是多路型DMA控制器卻適合于同時為多個慢速外圍設(shè)備服務(wù).下頁圖(a)是鏈?zhǔn)蕉嗦沸虳MA控制器,而(b)是獨立請求方式多路型DMA控制器.多路型DMA不僅在物理上可以連接多個外圍設(shè)備,而且在邏輯上也允許這些外圍設(shè)備同時一工作,各設(shè)備以字節(jié)交叉方式通過DMA控制器進行數(shù)據(jù)傳送.11.顯然,選擇型DMA控制器相當(dāng)于一個邏輯開關(guān),根據(jù)I/O
12.12.
當(dāng)某個外圍設(shè)備請求DMA服務(wù)時,操作過程如下:
(1)DMA控制器接到設(shè)備發(fā)出的DMA請求時,將請求轉(zhuǎn)送到CPU。(2)CPU在適當(dāng)?shù)臅r刻響應(yīng)DMA請求。若CPU不需要占用總線則繼續(xù)執(zhí)行指令;若CPU需要占用總線,則CPU進入等待狀態(tài)。(3)DMA控制器接到CPU的響應(yīng)信號后,進行以下工作:①對現(xiàn)有DMA請求中優(yōu)先權(quán)最高的請求給予DMA響應(yīng);②選擇相應(yīng)的地址寄存器的內(nèi)容驅(qū)動地址總線;③根據(jù)所選設(shè)備操作寄存器的內(nèi)容,向總線發(fā)讀、寫信號;④外圍設(shè)備向數(shù)據(jù)總線傳送數(shù)據(jù),或從數(shù)據(jù)總線接收數(shù)據(jù);
⑤每個字節(jié)傳送完畢后,DMA控制器使相應(yīng)的地址寄存器和長度寄存器加“1”或減“1”。13.13.
以上是一個DMA請求的過程,在一批數(shù)據(jù)傳送過程中,要多次重復(fù)上述過程,直到外圍設(shè)備表示一個數(shù)據(jù)塊已傳送完畢,或該設(shè)備的長度控制器判定傳送長度已滿?!纠咳鐖D所示為8237DMA的組成示意圖根據(jù)圖中所示,請簡單分析其與外設(shè)(如軟盤)工作過程原理。【解】
CPU和外設(shè)(如軟盤)控制器之間的接口電路包括DMA控制和總線控制兩部分。DMA地址寄存器存放被尋址的主存首地址,字節(jié)計數(shù)寄存器存放本次DMA傳送的字節(jié)數(shù)。操作方式寄存器中包含工作方式(讀、寫、校驗)等信息(狀態(tài)寄存器)。14.以上是一個DMA請求的過程,在一批數(shù)據(jù)傳送過程中,
DMA傳輸前,CPU對8237進行初始化,將數(shù)據(jù)在主存中的起始地址、數(shù)據(jù)字節(jié)個數(shù)、工作方式等參數(shù)送入8237相應(yīng)的寄存器中。然后才允許外設(shè)控制器向8237發(fā)出DMA傳輸請求信號DRQ。8237接收到DRQ信號后,立即發(fā)HRQ信號給總數(shù)控制線路,請求總線控制權(quán)。CPU在識別到HRQ信號,完成當(dāng)前總線周期后,發(fā)出HLDA響應(yīng)信號,并放棄總線控制權(quán)。此時8237向軟盤控制器發(fā)出DACK回答信號,通知軟盤控制器開始DMA傳輸,并發(fā)出讀/寫控制信號(MEMR/MEMW、IOR/IOW),以便軟盤控制器從主存被尋址的單元讀取一個字節(jié)或?qū)懭胍粋€字節(jié)。只要外設(shè)(如軟盤)控制器保持對DMA的請求,8257將保持對總線的控制,并順序地重復(fù)傳送,直到被指定的數(shù)據(jù)塊傳送完畢,通知外設(shè)(如軟盤)控制器,取消DMA請求,并使HRQ為無效
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國二乙基羥胺市場調(diào)查研究報告
- 2025至2031年中國食品玻璃包裝瓶行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國粉煤灰自卸車行業(yè)投資前景及策略咨詢研究報告
- 證券投資居間服務(wù)傭金協(xié)議
- 2025至2031年中國民用壁掛電采暖爐行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國方形薄螺母行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國簾片膠條行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國風(fēng)速記錄儀數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國青梗菜種子數(shù)據(jù)監(jiān)測研究報告
- 裝修人工費節(jié)能標(biāo)準(zhǔn)協(xié)議
- GB/T 37238-2018篡改(污損)文件鑒定技術(shù)規(guī)范
- 普通高中地理課程標(biāo)準(zhǔn)簡介(湘教版)
- 河道治理工程監(jiān)理通知單、回復(fù)單范本
- 超分子化學(xué)簡介課件
- 高二下學(xué)期英語閱讀提升練習(xí)(一)
- 易制爆化學(xué)品合法用途說明
- 【PPT】壓力性損傷預(yù)防敷料選擇和剪裁技巧
- 大氣喜慶迎新元旦晚會PPT背景
- DB13(J)∕T 242-2019 鋼絲網(wǎng)架復(fù)合保溫板應(yīng)用技術(shù)規(guī)程
- 心電圖中的pan-tompkins算法介紹
- 羊絨性能對織物起球的影響
評論
0/150
提交評論