【发布时间】:2012-08-29 22:32:56
【问题描述】:
这是参考问题: Checksum code implementation for Neon in Intrinsics
打开链接中列出的子问题作为单独的单独问题。由于多个问题不能作为单线程的一部分提出。
不管怎样,问题来了:
ARM 和 NEON(就 arm cortex-a8 架构而言)实际上可以并行工作吗?我怎样才能做到这一点?
有人可以指点我或分享一些示例实现(伪代码/算法/代码,而不是理论实现论文或演讲),它们一起使用了 ARM-NEON 的互操作? (使用内在函数或 inline-asm 实现都可以。)
【问题讨论】:
-
简短回答:可以,只要它们不共享相同的内存。同步内存访问非常慢,将字节从 NEON 寄存器移动到 ARM 寄存器也非常慢。相当快的是将 ARM regs 转移到 NEON regs
-
请注意,这只是指令级并行
-
还要注意,NEON 单元有相当长的流水线,并且控制或寄存器在向量和单元之间的传输以及整数单元会带来相当大的损失。
标签: arm inline-assembly simd neon cortex-a8