浮点运算单元(FPU)简介

Float Point Unit,浮点运算单元是专用于浮点运算的协处理器,在计算领域,例如三角函数以及时域频域变换通常会用到浮点运算。当CPU执行一个需要浮点数运算的程序时,有三种方式可以执行:软件仿真器(浮点运算函数库)、附加浮点运算器和集成浮点运算单元。 区别于以往的ARM9处理器,目前基于ContexTM构架的ARM处理均集成了浮点运算单元。如下图Toradex ARM核心板产品所示,Nvidia TegraTM 2, TegraTM 3和 NXP/Freescale i.MX 6集成了VFPv3浮点运算单元。NXP/Freescale i.MX 7 集成了VFPv4浮点运算单元。ARM 浮点架构 (VFP) 为半精度、单精度和双精度浮点运算中的浮点操作提供硬件支持。它完全符合 IEEE 754 标准,并提供完全软件库支持,与 NEONTM 多媒体处理功能结合使用时,可增强图像应用程序的性能(如缩放、2D 和 3D 转换、字体生成和数字过滤)。本文引用地址:http://www.eepw.com.cn/article/201611/319521.htm

基于Toradex Colibri T20 和 Colibri/Apalis T30使用FPU

Colibri T20 核心板带有一个 VFPv3-D16 浮点运算单元(不带 NEON) ,而 Colibri T30 和Apalis T30 带有一个VFPv3-D32 (含有 NEON),通过以下的配置,将能够有效的提高浮点运输的效率,运算量愈大愈明显。

./ Windows CE 编译器的浮点优化

在 Visual Studio 2008环境中,你可以直接为上述核心板生成含有浮点处理器加速的代码,请在您的工程中按照以下步骤进行:

对于 WinCE 6:打开 "Project" 菜单并选择 "Properties".

选择 "Configuration Properties : C/C++ : Advanced".

改变 "Enable floating point emulation" 为 "No".

改变 "Compile for architecture"为 "ARM5T /QRarch5t".

选择 "Configuration Properties : C/C++ : Command Line : Additional Options".

添加 "/QRfpe-"to the set of options.

关闭对话框并选择"OK".

对于 WinCE 7:打开"Project"菜单并选择"Properties".

选择 "Configuration Properties : C/C++ : Command Line : Additional Options".

添加 "/QRfpe-" to the set of options.

关闭对话框并选择"OK".

请注意,这些功能在Visual Studio 2005 不能被实现。

./ 性能比较举例

通过Mark Riordan benchmark program我们做了一个简单c代码的性能比较程序。我们计算了这个循环所需要的时间如下,时间越短性能越好:

ModuleTimeCompile Settings

Colibri PXA320 806MHzabout 3400 msVS08 WinCE 6 Release 默认配置.

Colibri T20 1.0GHzabout 545 msVS08 WinCE 6 Debug默认配置.

Colibri T20 1.0GHzabout 315 msVS08 WinCE 6 Release默认配置.

Colibri T20 1.0GHzabout 80 msVS08 WinCE 6/7 Release settings编译器的浮点优化打开

Colibri T20 1.0GHzabout 80 msLinux optimized GCC settings编译器的浮点优化.

Colibri T30 1.3GHzabout 60 msVS08 WinCE 6/7 Release settings编译器的浮点优化打开

arm linux fpu,ARM处理器的浮点运算单元(FPU)相关推荐

  1. linux arm fpu初始化,ARM处理器的浮点运算单元(FPU)

    浮点运算单元(FPU)简介 Float Point Unit,浮点运算单元是专用于浮点运算的协处理器,在计算领域,例如三角函数以及时域频域变换通常会用到浮点运算.当CPU执行一个需要浮点数运算的程序时 ...

  2. 浮点运算单元FPU能给电机控制带来什么?

    编者按:在计算领域,例如三角函数以及时域频域变换通常会用到浮点运算.当CPU执行一个需要浮点数运算的程序时,有三种方式可以执行:软件仿真器(浮点运算函数库).附加浮点运算器和集成浮点运算单元.在控制应 ...

  3. fpu测试_浮点运算单元FPU能给电机控制带来什么?

    编者按:在计算领域,例如三角函数以及时域频域变换通常会用到浮点运算.当CPU执行一个需要浮点数运算的程序时,有三种方式可以执行:软件仿真器(浮点运算函数库).附加浮点运算器和集成浮点运算单元.在控制应 ...

  4. 嵌入式arm linux工控机,ARM工控机和X86嵌入式工控机的区别

    四信工控机采用ARM架构的处理器结合Android操作系统,动力强劲,轻盈优雅,为移动互联网时代的智能售货机带来全新的解决方案.ARM工控机和X86有什么不一样的地方呢? arm和x86这两个架构之间 ...

  5. STM32浮点运算单元(FPU)和DSP库使用

    文章目录 1. 浮点运算单元(FPU) 1.1 所用硬件 1.2 配置FPU 2. CMSIS-DSP 2.1 添加DSP库 2.2 测试 ====>>> 文章汇总(有代码汇总) & ...

  6. 关于STM32浮点运算单元FPU的小话题

    有人利用STM32芯片做些DSP处理,在启用FPU单元进行调试.验证过程中可能会遇到些小问题.小困惑,这里通过STM32F4芯片一个具体的应用示例简单分享下,希望顺便能给同仁提供些帮助或提醒. 我这里 ...

  7. arm linux 中断优先级,ARM中断处理过程

    以s3c2440 ARM9核为例: 一:s3c2440 ARM处理器特性: 1.S3C2440支持60个中断源,含子中断源: 2.ARM9采用五级流水线方式: 3.支持外部中断和内部中断: 二.s3c ...

  8. ffmpeg arm linux编译,arm linux 移植 ffmpeg 库 + x264 + x265

    背景 Ffmpeg 中带有h264的解码,没有编码,需要添加x264.libx264是一个自由的H.264编码库,是x264项目的一部分,使用广泛,ffmpeg的H.264实现就是用的libx264. ...

  9. STM32开启浮点运算单元FPU与DSP运算库,附性能测试

    STM32F4xx属于Cortex M4F架构,自带FPU硬件,可以加速float类型数据的加减乘除运算. 观察启动文件,发现,要启用FPU,需要启动满足两个宏:(__FPU_PRESENT == 1 ...

最新文章

  1. 安装Anaconda创建虚拟环境以及在pycharm中使用虚拟环境
  2. UA STAT687 线性模型II 最小二乘理论2 约束最小二乘估计
  3. MyBatis-07MyBatis注解方式之@Select
  4. 一个线性几何不等式猜想
  5. Sql Server字符串函数
  6. 亚马逊云科技中国线上峰会开幕,发力汽车产业链、少年人工智能等
  7. linux 环境搭建Jenkins
  8. linux 拷机软件,拷机软件跑起来,OS X平台下OpenGL初体验
  9. Media Queries语法总结
  10. 【已经解决】TypeError: read_img() missing 1 required positional argument: ‘filename‘
  11. C/C++经典程序训练1---最大公约数与最小公倍数 SDUT ACM
  12. Scala进阶之路-I/O流操作之文件处理
  13. 伺服电机常用参数设置_伺服电机功能及作用_伺服电机参数设置
  14. addr2line工具使用
  15. 解方程计算器,一款数学神器APP,有需要的自己收藏!
  16. Android沉浸式全面讲解(一)
  17. 关于反走样技术的基本介绍与分享
  18. MySQL调优篇:单机数据库如何在高并发场景下健步如飞?
  19. 笔记2 IKAnalyzer扩展词库
  20. python中的super是什么?

热门文章

  1. 关于Java的位移运算
  2. JZ77 按之字形顺序打印二叉树
  3. Python学习记录day6-反射、常用模块
  4. 计算机方向论文选题,初中计算机方向论文选题 初中计算机论文题目如何取
  5. python实现txt转word
  6. NeurIPS 2022 | 清华提出P2P:基于预训练图像模型的点到像素提示学习方法
  7. Scala中的集合排序
  8. 使用Python读取文件夹中的图片
  9. MySQL基础篇3——DDL、DML、DCL使用篇
  10. 毕设 - 大数据用户画像分析系统 - 数据分析可视化