dma



贊助商連結


ovv
2001-07-28, 10:10 PM
請問一下 請問使用燒錄時 DMA 要不要勾選阿 他又是什麼東東ㄋ

贊助商連結


0936010
2001-07-29, 03:32 AM
這在數位邏輯或微處理機課本可以找到,燒錄器有支援的話就勾吧!有極大的用處!Direct Memory Access:﹙DMA﹚中文名稱為直接記憶體存取,目的為減少CPU中介IO的控制,使資料直接對記憶體傳送,而增加資料在匯流排的傳送速度,也可減少CPU的負擔,使CPU可以有時間做內部運算...

如上者所言,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模式是有其必要的。