Linux, 工作, 生活, 家人

ARM

ARM NEON memcpy

FourDollar 在 Plurk 上提到的, NEON 是 SIMD 的指令, 可以同時做矩陣運算, 拿來做一些記憶體搬移和運算都會比較快.
VFP 是 SIMD 的指令, 不過背後是循序運算, 還是比 CPU 快, 但是相對上不會比較快.

Added NEON optimized memcpy + armv6 unaligned memory access.
imx-libc-neon / memcpy-neon.S
改善 Android 中 memcpy 效能
ARM: NEON optimized implementation of memcpy.
http://sourceware.org/ml/libc-ports/2009-07/msg00000.html

之前有碰過 DMA 搬 Data 和 CPU 搬速度差不多的狀況.
看起來拿閒置的 NEON 來用也是不錯的.
但是 NEON dimension 太大, 如果不是有關影像處理, 只拿來做 data copy 就有點浪費了.

Update:
NEON 是要配合 prefetch 才會快, 如果沒有 prefetch 是差不多的, 和我之前的認知類似.

發佈留言