[問題] 需要動用 DMA 作記憶體複製嗎 ?

看板LinuxDev作者 (Linux藍海帝國)時間13年前 (2011/05/02 16:28), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/2 (看更多)
大家好, 小弟想改善手邊程式的執行時間 分析後, 發現兩塊 buffer 的複製: src -> dst 花了太多時間... 原始程式的寫法採用 memcpy, 但 survey 了其他做法 (ex: 網路上找到的 fast memcpy), 其效能的增進不顯著. 使用的環境為 x86 平台, CPU 為 intel core 2 duo 等級, 想請教前輩們, 若改用硬體 DMA 幫忙作資料搬移, 是否能縮短 資料在記憶體之間 搬移的時間嗎 ? (已知 buffer size 為 page 的整數倍, 且起始位置也為 page align) 小弟想知道怎麼作, 才能讓 src 的資料 "盡量快速" 複製到 dst buffer.. 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.244.203

05/02 19:44, , 1F
我的想法是你可能要往精簡資料為主.萬一你的資料大到
05/02 19:44, 1F

05/02 19:45, , 2F
DMA也搬不動(不確定會不會),那你的程式碼不就浪費了
05/02 19:45, 2F

05/03 10:39, , 3F
不懂x86的硬體,請問上面的DMA Controller可以做到
05/03 10:39, 3F

05/03 10:41, , 4F
memory to memory的搬移嗎?
05/03 10:41, 4F
文章代碼(AID): #1Dlcj1rg (LinuxDev)
文章代碼(AID): #1Dlcj1rg (LinuxDev)