為什么采用dma方式交換數(shù)據(jù)?
簡(jiǎn)單點(diǎn)就是讓CPU干簡(jiǎn)單但是大量的數(shù)據(jù)移動(dòng)操作比較占CPU資源,使用DMA控制器來(lái)做,讓CPU有更多的時(shí)間處理別的事件。
DirectMemoryAccess(存儲(chǔ)器直接訪問(wèn))是指1種高速的數(shù)據(jù)傳輸操作,允許在外部裝備和存儲(chǔ)器之間直接讀寫數(shù)據(jù),既不通過(guò)CPU,也不需要CPU干預(yù)。
全部數(shù)據(jù)傳輸操作在1個(gè)稱為“DMA控制器”的控制下進(jìn)行。
CPU除在數(shù)據(jù)傳輸開(kāi)始和結(jié)束時(shí)做1點(diǎn)處理外,在傳輸進(jìn)程中還可以進(jìn)行其他的工作。
這樣,在大部份時(shí)間里,CPU和輸入輸出都處于并行操作,因此使全部計(jì)算機(jī)系統(tǒng)的效力大大提高。DMA的概念和作用已大大延伸了,很多復(fù)雜CPU里面乃至?xí)ê芏鄠€(gè)DMA控制器,DMA操作也不再僅限于外部存儲(chǔ)器了,內(nèi)部存儲(chǔ)器之間、內(nèi)部和外部存儲(chǔ)器之間、各種標(biāo)準(zhǔn)外設(shè)和存儲(chǔ)器之間,都有DMA控制器來(lái)實(shí)現(xiàn)數(shù)據(jù)交換,這樣CPU的功能愈來(lái)愈強(qiáng),數(shù)據(jù)處理也愈來(lái)愈快DMA技術(shù)的弊端:由于DMA允許外設(shè)直接訪問(wèn)內(nèi)存,從而構(gòu)成對(duì)總線的獨(dú)占。
這在實(shí)時(shí)性強(qiáng)的硬實(shí)時(shí)系統(tǒng)的嵌入式開(kāi)發(fā)中將會(huì)造成中斷延時(shí)太長(zhǎng)。
這在軍事等系統(tǒng)中