zoukankan      html  css  js  c++  java
  • 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是一种遗留技术,随着版本的变化,后续可能被抛弃(瞎说的)。

  • 相关阅读:
    Generate Parentheses
    Length of Last Word
    Maximum Subarray
    Count and Say
    二分搜索算法
    Search Insert Position
    Implement strStr()
    Remove Element
    Remove Duplicates from Sorted Array
    Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/batianhu/p/10953085.html
Copyright © 2011-2022 走看看