天天看点

neon programmer's guide(1)

Data processing technologies

  1. SISD, 单指令单数据。常规指令集干的事情。
  2. SIMD(vector mode)。一条指令处理n个数据,但是是按照顺序执行的,比如VFP。
  3. SIMD(packed data mode)。一条指令处理n个数据,并行执行,比如NEON。
    neon programmer's guide(1)

NEON with other SIMD

NEON with ARMv6 SIMD

ARMv6 SIMD 只支持两个4x8bit向量相加,因为其只是利用通用寄存器,不像NEON有特有的寄存器。

neon programmer's guide(1)

NEON with SSE

neon programmer's guide(1)

另外有一点强调一下,因为每一个ARM核都有一个NEON单元,所以在多核处理器上跑多线程NEON运算,也是有并行加速的效果的。

Fundamentals of NEON technology

  1. NEON和VFP共用一个register file。
    • 使用NEON的时候,可以将寄存器看作16个128bit寄存器Q或者32个64bit寄存器D。
    • 使用VFP的时候,可以将寄存器看作32个32bit寄存器S或者16个64bit寄存器D。
    • 其mapping关系如下
      neon programmer's guide(1)