浮点ARM 浮点体系结构 (VFP) 为半精度、单精度和双精度浮点运算中的浮点操作提供硬件支持。它完全符合 IEEE 754 标准,并提供完全软件库支持。 ARM VFP 的浮点功能为汽车动力系统、车身控制应用和图像应用(如打印中的缩放、转换和字体生成以及图形中的 3D 转换、FFT 和过滤)中使用的浮点运算提供增强的性能。下一代消费类产品(如 Internet 设备、机顶盒和家庭网关)可直接从 ARM VFP 受益。
VFP 应用工业和汽车领域中的许多实时控制应用都得益于 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® 和 ThumbEE 指令集的可选扩展。可使用 32 个或 16 个双字长寄存器实现 VFPv3。术语 VFPv3-D32 和 VFPv3-D16 用于区别这两个实现选项。可通过半精度扩展对 VFPv3 进行扩展,这些扩展可在半精度浮点和单精度浮点之间提供双向转换功能。</ol>
VFP9-SARM 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 应用
- 汽车控制应用:
- 3D 图形
- 数字消费类产品
- 图像
- 工业控制系统
工业和汽车领域中的许多实时控制应用都得益于 ARM VFP9-S 提供的浮点的动态范围和准确性。汽车动力系统、防抱死制动系统、牵引控制和主动悬架系统都是关键业务应用,它们对准确性和可预测性的要求必不可少。
将 VFP9-S 整合到 SoC 设计中后,可使开发速度更快、性能更可靠,因为技术计算工具(MatLab、MATRIxx 等)可用于直接对系统建模和派生应用程序代码,从而确保系统设计行为更准确、可靠和可预测。
|