ARM-NEON如何同步?

ngu*_*uns 4 embedded arm simd neon cortex-a8

就ARM Cortex-A8而言,当NEON执行其指令时,ARM模块是等待还是继续运行?这种同步是如何实现的?如果ARM和NEON正在处理相同的数据/代码段,ARM和NEON内核如何同步?

uni*_*urf 8

简短的回答是它们是自动同步的...它们的同步方式与所有其他指令同步的方式相同(即管道危险检查).在每个时钟周期可以发出多个指令的处理器中,NEON指令可以与非NEON指令一起发出.

NEON是核心的一部分,并使用与常规加载/存储指令相同的缓存.但是,这也意味着在某些处理器上混合NEON和非NEON加载和存储,或在NEON和通用寄存器之间移动数据可能效率低下.