請問有關DMAㄉ問題



贊助商連結


kishau
2001-05-29, 09:29 PM
請問DMA是什麼.有什麼功用ㄋ..
我看到這兒文章後有把自己ㄉ光碟機.燒錄機ㄉDMA都打開ㄌ..
我ㄉ燒錄機是Aopen1320pro..看到有人說開他ㄉDMA是拔後面ㄉ一個JUMP...但是我是用
>開始>設定>控制台>系統>裝置管理員>cdrom>設定值>DMA打勾
這ㄍ方法ㄟ..然後重開機後就打開ㄌ..這樣和拔jump有差別ㄇ
ps.我ㄉ燒錄機DMA用上述打開後
12倍燒錄ㄉ時候好像justlink功能啟動ㄉ次數變少ㄌ..沒開時常常啟動約10次..開ㄌ後..燒12倍約只有啟動ㄍ1.2次甚至沒有啟動ㄉ.因此燒錄速度也變快ㄌ

贊助商連結


hjm
2001-05-29, 11:04 PM
DMA的全名是~~Direct Memory Access~~
叫做~~"記憶體直接存取"~~
是指直接對主記憶體讀寫資料的傳輸模式,是一種能在記憶體上直接進行存取動作的方式,透過DMA控制器,能有效減輕CPU的工作負擔.
由於採用DMA能跳過CPU而直接讀取記憶體上的資料,在資料傳輸效能上將更快速.

0936010
2001-05-30, 12:05 AM
告訴你一個小秘密﹙數位邏輯或微處理機課本可以找到﹚:
如上者所言,DMA雖然可以減少cpu於io動作的使用率,但是它卻會將cpu的bus佔住,因為它的工作流程是:﹙1﹚設定dma控制器﹙2﹚週邊向dma控制器提出dma要求﹙3﹚dma控制器向cpu提出bus要求或hold要求﹙4﹚cpu送出bus認可信號→此時cpu失去bus控制權,cpu只能在內部執行運算﹙5﹚dma控制器獲得bus控制權→dma控制器送dma認可信號給週邊﹙6﹚dma控制器負責memory與周邊的資料傳送﹙一次一個byte﹚→1.資料位址由dma控制器產生 2.memory與周邊藉由data bus傳送資料﹙7﹚傳送完畢﹙8﹚dma控制器收回bus要求﹙9﹚cpu收回bus認可信號→cpu重新獲得bus控制權

dma的優點:資料轉移速度快
dam的缺點:cpu失去bus控制權的時間越長,會影響cpu執行程式,使得執行程式效率低落,因為程式是存在memory中,存取必須經過對外的bus,失去bus控制權便不能存取外部資料。

改進方法:偷週期工作法﹙較常用的方法﹚
當cpu不使用bus時,立即執行dma,資料轉移1-byte後,立刻將bus還給cpu,如此cpu幾乎都可以掌握bus控制權,而不失執行軟體之效能,io動作時也會減少對cpu的依賴,但不是全部不會依賴cpu,因為要等cpu不使用bus時才能動用dma,如cpu正頻繁使用bus的話,io的部分還是要靠cpu協助,不要想說開啟dma後可以100%的高速傳輸還可以一邊正在執行大的程式,它只是能夠改善效能而已,不是萬靈丹,有得必有失嘛!不過比起pio模式,dma傳輸模式確實有相當的助益,所以在ide裝置中dma模式是有其必要的。