什麼是Scatter-Gather DMA(Direct Memory Access)?

更新 Nov 17, 2020

產品資訊

硬件

  • Multifunction I/O Device
  • GPIB Instrument Control Device

問題敘述

我的DAQ設備使用Scatter-Gather DMA (Direct Memory Access),將資料從開發板傳到我的電腦,這是什麼意思?

解決方案

當進行區塊移動操作(block move operation)時,傳統的DMA控制器需要一個連續的(未分段的, nonsegmented)的block of physical memory。在大多的系統上,很難從作業系統上取得回傳的未分段的記憶體內容。

MITE和NI-STC DMA控制器可以使用"scatter-gather" DMA來擷取分段記憶體並對該記憶體執行移動操作。在這種方法中,DMA控制器存儲所有分段記憶體的起始地址。移動操作開始後,在上一個分段記憶體完成後,DMA控制器自動向DMA控制器提供下一個段的起始地址。用這個方法你將不需要作業系統中的連續記憶體。這使得DMA非常適合非時間確定性的作業系統。

關於DMA及其如何與NI產品一起使用的更多訊息,請參考以下相關連結。