ARM Contex-A9 NEON/VFP

# ARM Contex-A9 NEON/VFP

Introduction

Xilinx Zynq-7000 AP SoC内部集成了一个双核ARM Contex-A9处理器。ARM Contex-A9处理器采用ARMv7架构,从下图可以看到,该架构内置SIMD(单指令多数据)引擎NEON和浮点计算单元VFPv3。

NEON支持的数据类型有:

  • Unsigned integer U8 U16 U32 U64
  • Signed integer S8 S16 S32 S64
  • Integer of unspecified type I8 I16 I32 I64
  • Floating-point number F16 F32
  • Polynomial over {0,1} P8

VFPv3支持单精度浮点和双精度浮点

NEON和VFPv3共用寄存器组,同时指令集也是集成在一起的,都以V开头:V{<mod>}<op>{<shape>}{<cond>}{.<dt>}(<dest>}, src1, src2

NEON vs VFP

NEON只工作于向量模式下,而VFP则不能SIMD,尽管其名字中有"vector"。

对于浮点型,NEON只支持单精度浮点,而VFPv3既支持单精度浮点,也支持双精度浮点。BTW,ARMv8中的NEON也能支持双精度浮点。

VFP在NEON更早之前出现,主要是为了完成浮点运算,尽管称为vector,但实际上并不能完成SIMD操作,数据都是顺序处理的。BTW,Contex-A9中VFP实现了流水。

VFP是一种遗留技术,随着版本的变化,后续可能被抛弃(瞎说的)。

猜你喜欢

转载自www.cnblogs.com/batianhu/p/10953085.html
今日推荐