Data processing technologies
- SISD, 单指令单数据。常规指令集干的事情。
- SIMD(vector mode)。一条指令处理n个数据,但是是按照顺序执行的,比如VFP。
- SIMD(packed data mode)。一条指令处理n个数据,并行执行,比如NEON。
neon programmer's guide(1)
NEON with other SIMD
NEON with ARMv6 SIMD
ARMv6 SIMD 只支持两个4x8bit向量相加,因为其只是利用通用寄存器,不像NEON有特有的寄存器。
NEON with SSE
另外有一点强调一下,因为每一个ARM核都有一个NEON单元,所以在多核处理器上跑多线程NEON运算,也是有并行加速的效果的。
Fundamentals of NEON technology
- NEON和VFP共用一个register file。
- 使用NEON的时候,可以将寄存器看作16个128bit寄存器Q或者32个64bit寄存器D。
- 使用VFP的时候,可以将寄存器看作32个32bit寄存器S或者16个64bit寄存器D。
- 其mapping关系如下
neon programmer's guide(1)