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)_第1张图片

NEON with other SIMD

NEON with ARMv6 SIMD

ARMv6 SIMD 只支持两个4x8bit向量相加,因为其只是利用通用寄存器,不像NEON有特有的寄存器。
neon programmer's guide(1)_第2张图片

NEON with SSE

neon programmer's guide(1)_第3张图片
另外有一点强调一下,因为每一个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)_第4张图片

你可能感兴趣的:(NEON,嵌入式)