Login

ARM The Architecture For The Digital World  

浮点

ARM 浮点体系结构 (VFP) 为半精度、单精度和双精度浮点运算中的浮点操作提供硬件支持。它完全符合 IEEE 754 标准,并提供完全软件库支持。 

ARM VFP 的浮点功能为汽车动力系统、车身控制应用和图像应用(如打印中的缩放、转换和字体生成以及图形中的 3D 转换、FFT 和过滤)中使用的浮点运算提供增强的性能。下一代消费类产品(如 Internet 设备、机顶盒家庭网关)可直接从 ARM VFP 受益。

VFP 应用

  • 汽车控制应用
    • 动力系统
    • ABS、牵引控制和主动悬架
  • 3D 图形
    • 数字消费类产品
    • 机顶盒、游戏
  • 图像
  • 工业控制系统
    • 运动控制

工业和汽车领域中的许多实时控制应用都得益于 ARM VFP 提供的浮点的动态范围和准确性。汽车动力系统、防抱死制动系统、牵引控制和主动悬架系统都是关键业务应用,它们对准确性和可预测性的要求必不可少。

VFP 体系结构版本

在 ARMv7 体系结构之前,VFP 代表矢量浮点体系结构,并曾用于矢量运算。

对于许多应用来说,设置硬件浮点至关重要,并且硬件浮点可用作使用高级设计工具(如 MatLab、MATRIXx 和 LabVIEW)直接对系统建模和派生应用程序代码的片上系统 (SoC) 设计流程的一部分。在与 NEON™ 多媒体处理功能结合使用时,硬件浮点可用于增强图像应用程序的性能(如缩放、2D 和 3D 转换、字体生成和数字过滤)。

迄今为止,VFP 主要有三个版本:

<ol>
  • VFPv1 已废弃。要获取详细信息,可向 ARM 发送相关请求。
  • VFPv2 是对 ARMv5TE、ARMv5TEJ 和 ARMv6 体系结构中 ARM 指令集的可选扩展。
  • VFPv3 是对 ARMv7-A 和 ARMv7-R 配置文件中 ARM、Thumb&reg; 和 ThumbEE 指令集的可选扩展。可使用 32 个或 16 个双字长寄存器实现 VFPv3。术语 VFPv3-D32 和 VFPv3-D16 用于区别这两个实现选项。可通过半精度扩展对 VFPv3 进行扩展,这些扩展可在半精度浮点和单精度浮点之间提供双向转换功能。
  • </ol>
     
     


    VFP9-S

    ARM VFP9-S 可合成矢量浮点 (VFP) 协处理器与所有 ARM9E™ 系列处理器内核兼容。它支持单精度和双精度浮点;使 ARM 支持软件完全符合 IEEE754,或仅使硬件大致符合 IEEE754。支持代码包含两个组件:例行程序库和一组异常处理程序,前者执行未实现函数(如超越函数)和一些支持的函数(如除法),后者用于处理异常情况。

    VFP9-S 功能

    • ARM VFPv2 ISA
    • 16 个双精度或 32 个单精度寄存器
    • 使 ARM 支持代码完全符合 IEEE754
    • 大致符合 IEEE754 的快速运行模式(仅硬件)
    • 与 VFP10 和 VFP11 保持二进制兼容
    • 可使用支持工具和单元库移植到任何工艺
    • 100 - 130K 门
    • 1.3Mflops/MHz
    • 面积 <1.0mm2 TSMC 0.13µm G
    • 180 - 210MHz(最坏情况)TSMC 0.13µm G
    • <0.4mW/MHz(典型情况)功耗 TSMC 0.13µm G

    VFP9-S 优点

    ARM VFP9-S 的矢量处理功能对汽车动力系统、车身控制应用和图像应用(如打印中的缩放、转换和字体生成以及图形中的 3D 转换、FFT 和过滤)中使用的浮点体系结构提供增强的性能。下一代消费类产品(如 Internet 设备、机顶盒和家庭网关)可直接从 ARM VFP9 受益。

    VFP9-S 应用

    • 汽车控制应用:
      • 动力系统
      • ABS、牵引控制和主动悬架
    • 3D 图形
    • 数字消费类产品
      • 机顶盒、游戏机
    • 图像
      • 激光打印机、静态数码相机、数码摄像机
    • 工业控制系统
      • 运动控制

    工业和汽车领域中的许多实时控制应用都得益于 ARM VFP9-S 提供的浮点的动态范围和准确性。汽车动力系统、防抱死制动系统、牵引控制和主动悬架系统都是关键业务应用,它们对准确性和可预测性的要求必不可少。

    将 VFP9-S 整合到 SoC 设计中后,可使开发速度更快、性能更可靠,因为技术计算工具(MatLab、MATRIxx 等)可用于直接对系统建模和派生应用程序代码,从而确保系统设计行为更准确、可靠和可预测。


    VFP10

    ARM VFP10 是硬宏单元矢量浮点 (VFP) 协处理器,与所有 ARM10E™ 系列的 CPU 内核兼容。它支持单精度和双精度浮点;使 ARM 支持软件完全符合 IEEE754,或仅使硬件大致符合 IEEE754。支持代码包含两个组件:例行程序库和一组异常处理程序,前者执行未实现功能(如超越函数)和一些支持的功能(如分割),后者用于处理异常情况。

    VFP10 功能

    • ISA 是 ARM VFPv2
    • 16 个双精度或 32 个单精度寄存器
    • 具有 64 位 LD/ST 接口的大型独立寄存器文件
    • 使 ARM 支持代码完全符合 IEEE754
    • 大致符合 IEEE754 的快速运行模式(仅硬件)
    • 与 VFP9 和 VFP11 保持二进制兼容
    • 标量和矢量操作支持(FP DSP 的理想选择)
    • 并行 LD/ST、FMAC 和 DIV/SQRT 执行引擎
    • 2.0Mflops/MHz
    • 面积 ~1.16mm 2 TSMC 0.13µm LV
    • 最多 325MHz(最坏情况)TSMC 0.13µm LV
    • <0.4mW/MHz(典型情况)功耗 TSMC 0.13µm LV

    VFP10 指令集 (VFPv2)

    • 运算:
      • Add、Sub、Mult、Neg-Mult、Negate、Abs Value、Compare、Div、Square Root
    • FMAC(单版本和双版本):
      • Multiply-Add、Multiply-Subtract、Neg-Multiply-Add、Neg-Multiply-Subtract
    • 类型转换
    • 加载/存储标量和矢量,64 位/周期

    VFP10 优点

    ARM VFP10 的矢量处理功能为汽车动力系统、车身控制应用和图像应用(如打印中的缩放、转换和字体生成以及图形中的 3D 转换、FFT 和过滤)中使用的浮点体系结构提供增强的性能。下一代消费类产品(如 Internet 设备、机顶盒和家庭)可直接从 ARM VFP10 受益。

    许多应用程序本身可从浮点的动态范围和准确性中受益。许多应用程序将移至到嵌入式应用程序,这些应用程序多年来始终基于浮点。推出 VFP10 后,可使用技术计算工具(如 MatLab 或 MATRIxx)轻松转换到嵌入式领域。

    VFP10 应用

    • 汽车控制应用
      • 动力系统
      • ABS
      • 牵引控制和主动悬架
    • 数字消费类产品
      • 机顶盒、游戏机
    • 3D 图形
      • FFT 和 FIR 过滤
    • 图像
      • 激光打印机、静态数码相机、数码摄像机
    • 工业控制系统
      • 运动控制

    工业和汽车领域中的许多实时控制应用程序均从 ARM VFP10 提供的动态范围和准确性中受益。汽车动力系统、防抱死制动系统、牵引控制和主动悬架系统都是关键业务应用程序,它们对准确性和可预测性的要求必不可少。将 VFP10 整合到 SoC 设计中后,可使开发速度更快、性能更可靠,因为技术计算工具(MatLab、MATRIxx 等)可用于直接对系统建模和派生应用程序代码,从而确保系统设计行为更准确、可靠和可预测。

     


    Maximise