※ 引述《visor (~~~~~~~~~~)》之銘言:
: ※ 引述《tsairay (火の紅寶石)》之銘言:
: : 而這個DMA engine的目的不是為了降低在I/O時CPU的負擔
: : 而是用CPU去加速I/O
: : http://en.wikipedia.org/wiki/Direct_memory_access
: : DMA engine
: : In addition to hardware interaction, DMA can also be used to offload
: : expensive memory operations, such as large copies or scatter-gather
: : operations, from the CPU to a dedicated DMA engine. Intel includes such
: : engines on high-end servers, called I/O Acceleration Technology (IOAT).
: 以上你的講法會讓懂 DMA 的人笑死.....
: : ============================================================================
: : 綜合以上幾點,可以證明PS3的USB傳輸是會耗用CPU資源的
: : 想不耗用資源就只能像NIC那樣多加一個DMAC
: 不管怎樣,讀取 USB 一定會耗用 CPU 資源,畢竟 CPU 一定要下指令要 USB host
: controller 去讀取哪個裝置上的資料,但是到了資料傳輸時,就可以省去 CPU 的時間
: 轉交由 DMAC 幫你讀取然後將資料轉存到 DRAM 上,DMA主要是不讓 CPU 去等待 device
: 回應的時間然後可以做其他事情,也可以減少 CPU 從 device 讀資料出來再寫回記憶體的
: 指令數量,並不是什麼用 CPU 去加速 I/O....
http://en.wikipedia.org/wiki/Direct_memory_access
DMA-engine本來就是拿來做I/O加速的,跟用來降低CPU loading的DMA controller
完全是兩種不同的應用,我想你需要仔細的分辨一下兩者的不同
DMA engine
In addition to hardware interaction, DMA can also be used to
offload expensive memory operations, such as large copies or scatter-gather
operations, from the CPU to a dedicated DMA engine. Intel includes such
engines on high-end servers, called I/O Acceleration Technology (IOAT).
IO Accelerator in Xeon
As an example of DMA engine incorporated in a general-purpose CPU,
newer Intel Xeon chipsets include a DMA engine technology called
I/O Acceleration Technology (I/OAT), meant to improve network performance
on high-throughput network interfaces, in particular gigabit Ethernet
and faster. However, various benchmarks with this approach by
Intel's Linux kernel developer Andrew Grover indicate no more than 10%
improvement in CPU utilization with receiving workloads, and no
improvement when transmitting data.
--
: ※ 引述《tsairay (火の紅寶石)》之銘言:
: : 而這個DMA engine的目的不是為了降低在I/O時CPU的負擔
: : 而是用CPU去加速I/O
: : http://en.wikipedia.org/wiki/Direct_memory_access
: : DMA engine
: : In addition to hardware interaction, DMA can also be used to offload
: : expensive memory operations, such as large copies or scatter-gather
: : operations, from the CPU to a dedicated DMA engine. Intel includes such
: : engines on high-end servers, called I/O Acceleration Technology (IOAT).
: 以上你的講法會讓懂 DMA 的人笑死.....
: : ============================================================================
: : 綜合以上幾點,可以證明PS3的USB傳輸是會耗用CPU資源的
: : 想不耗用資源就只能像NIC那樣多加一個DMAC
: 不管怎樣,讀取 USB 一定會耗用 CPU 資源,畢竟 CPU 一定要下指令要 USB host
: controller 去讀取哪個裝置上的資料,但是到了資料傳輸時,就可以省去 CPU 的時間
: 轉交由 DMAC 幫你讀取然後將資料轉存到 DRAM 上,DMA主要是不讓 CPU 去等待 device
: 回應的時間然後可以做其他事情,也可以減少 CPU 從 device 讀資料出來再寫回記憶體的
: 指令數量,並不是什麼用 CPU 去加速 I/O....
http://en.wikipedia.org/wiki/Direct_memory_access
DMA-engine本來就是拿來做I/O加速的,跟用來降低CPU loading的DMA controller
完全是兩種不同的應用,我想你需要仔細的分辨一下兩者的不同
DMA engine
In addition to hardware interaction, DMA can also be used to
offload expensive memory operations, such as large copies or scatter-gather
operations, from the CPU to a dedicated DMA engine. Intel includes such
engines on high-end servers, called I/O Acceleration Technology (IOAT).
IO Accelerator in Xeon
As an example of DMA engine incorporated in a general-purpose CPU,
newer Intel Xeon chipsets include a DMA engine technology called
I/O Acceleration Technology (I/OAT), meant to improve network performance
on high-throughput network interfaces, in particular gigabit Ethernet
and faster. However, various benchmarks with this approach by
Intel's Linux kernel developer Andrew Grover indicate no more than 10%
improvement in CPU utilization with receiving workloads, and no
improvement when transmitting data.
--
All Comments