新DMA技術與CPU內存訪問方式的比較與優劣
DMA技術介紹DMA技術的發展使外圍設備可以通過DMA控制器直接訪問內存,而CPU則可以繼續執行程序。在DMA控制器與CPU分時使用內存時,通常采用停止CPU訪內、周期挪用和DMA與CPU交替訪內三
DMA技術介紹
DMA技術的發展使外圍設備可以通過DMA控制器直接訪問內存,而CPU則可以繼續執行程序。在DMA控制器與CPU分時使用內存時,通常采用停止CPU訪內、周期挪用和DMA與CPU交替訪內三種方法。
停止CPU訪問內存
當外圍設備需要傳送數據時,DMA控制器會向CPU發出停止信號,要求CPU放棄內存訪問權。DMA控制器獲得總線控制權后開始數據傳輸,傳輸完成后將總線控制權交還給CPU。這種方式簡單易行,適用于高數據傳輸率設備,但CPU大部分時間處于空閑狀態,內存效能未被充分發揮。
周期挪用
在沒有DMA請求時,CPU按程序要求訪問內存;一旦I/O設備有DMA請求,則挪用一個或幾個內存周期。這種方式能較好地發揮內存和CPU效率,是被廣泛采用的方法,但每次挪用都需申請總線控制權,傳輸一個字對內存占用一個周期。
DMA與CPU交替訪內
在CPU工作周期遠長于內存存取周期時,采用交替訪內方法可使DMA傳輸和CPU同時高效運行。這種方式能最大程度發揮DMA與CPU的性能,適用于CPU工作周期明顯長于內存存取周期的情況。
結論
不同的DMA與CPU內存訪問方式各有優劣,選擇合適的方式取決于具體應用場景。停止CPU訪內簡單但效率低,周期挪用平衡了效率和性能,而DMA與CPU交替訪內則能最大程度發揮性能。在實際應用中,需根據設備性能需求和內存存取速度選擇合適的DMA與CPU內存訪問方式,以達到最佳性能表現。