浮点运算单元(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 转换、字体生成和数字过滤)。
基于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代码的性能比较程序。我们计算了这个循环所需要的时间如下,时间越短性能越好:
Module
|
Time
|
Compile Settings
|
Colibri PXA320 806MHz
|
about 3400 ms
|
VS08 WinCE 6 Release 默认配置.
|
Colibri T20 1.0GHz
|
about 545 ms
|
VS08 WinCE 6 Debug默认配置.
|
Colibri T20 1.0GHz
|
about 315 ms
|
VS08 WinCE 6 Release默认配置.
|
Colibri T20 1.0GHz
|
about 80 ms
|
VS08 WinCE 6/7 Release settings编译器的浮点优化打开
|
Colibri T20 1.0GHz
|
about 80 ms
|
Linux optimized GCC settings编译器的浮点优化.
|
Colibri T30 1.3GHz
|
about 60 ms
|
VS08 WinCE 6/7 Release settings编译器的浮点优化打开
|
关键字:ARM 处理器 浮点运算单元 FPU
引用地址:
ARM处理器的浮点运算单元(FPU)
推荐阅读最新更新时间:2024-03-16 14:48
基于ARM的移动视频监控终端设计与实现
0 引言 随着人们对生活和工作环境的安全性的要求不断提高,安全防范的重要性越来越突出。视频监控技术在各个领域发挥着越来越重要的作用,比如对森林、旅游景点、城市小区等通过视频监控来实时监控现场发生的情况。将嵌入式技术和无线网络技术应用于视频监控终端,与传统的有线视频监控相比,无线视频监控摆脱了网络电缆的束缚,提高了视频监控的灵活性和可扩展性。监控人员可以携带手持监控设备而不必在固定位置值守来监控现场。 在无线网络环境下传输视频,庞大的视频信息量对有限的传输带宽是难以承受的,成为阻碍其应用的瓶颈之一,因此,需要高效率的视频压缩标准来满足无线传输带宽的需求。新一代视频压缩标准H.264是面向Internet和无线网络的视频图像编
[单片机]
基于S3C4510B微处理器和uClinux实现存储系统的设计
1. 引言 对于嵌入式系统的开发人员来说,深刻地理解其存储系统的寻址原理和有效的管理存储系统对正确高效地设计嵌入式系统的硬件和底层软件编程具有重要的意义。目前嵌入式系统中最常用的存储器包括有EEPROM、FLASH、Normal DRAM和Sync.DRAM等。本文所采用的存储器包括有SDRAM和FLASH。S3C4510B(以下简称4510)微处理器是构建在ARM核ARM7TDMI之上的,ARM7TDMI的地址总线为32位的,4510的内部系统总线却是26bit:SA[25:0],它的外部地址总线却是22bit:ADDR[21:0],它们之间是如何译码的,而仅用14根外部地址总线为什么能够访问多达16MB的内存地址空间,本文就试
[单片机]
加深对ARM汇编中对stmfd和ldmfd的理解
AREA STMFD,CODE,READONLY ENTRY CODE32 START sub sp,sp,#4 ;经过此条语句过后,sp的值由原来的0变为了0xfffffffc mov r0,#0x1d ;将0x1d赋值给r0寄存器 mov r1,#0x1c ;将0x1c赋值给r1寄存器 stmfd sp!,{r0} ;将r0中的值压入堆栈,压入过程是,由于r0中的值为32位的,首先将sp减去4,将r0中的低八位放入sp这个位置(即fffffff8处放的是0x1d) 第九位到第十六位放入sp+1的地址即(fffffff9处放的是0x00),将第十七位到第二十四位放入sp+2的位置(
[单片机]
基于ARM和以太网供电的网络摄像机设计
引言 本文提出了一种基于ARM和POE的嵌入式系统的网络摄像机设计方案。该方案以AT91RM9200处理器及其外围模块作为硬件平台,以嵌入式Linux作为操作系统,构成整个系统。该系统应用以太网供电,实现网络摄像机的功能,不必提供专门供电线路,这种设计实现的网络摄像机是一个创新。同时,随着网络技术的高速发展,该设计将具有极好的市场应用前景。 1 系统的结构 整个系统由AT91RM9200处理器、CMOS传感器、音频采集系统、以太网供电系统和以太网数据通信等几部分组成。首先,通过CMOS传感器镜头采集图像,同时还可以进行音频采集,经过AT91RM9200处理器处理,整个过程通过网络进行数据传输,通过网络进行供电,从而实现以太
[单片机]
基于S3C2440的ARM9基础程序设计及分析
最近学习了ARM9基础程序的设计,记录下所学心得,希望对初学者提供一些帮助。学习ARM程序要注意方法,先去芯片手册的相应模块部分的结构原理框图,搞清楚所使用的模块的基本原理,然后根据框图搞清楚需要设置哪些对应的寄存器,再根据时序图搞明白相应寄存器应该怎样设置,再接着理清楚你所写程序的大概流程,最后就可以动手写程序了。 如果把流程理清楚了,你的程序基本上已经成功一半了。 我使用的是S3C2440 ARM芯片, 一 LED流水灯程序 流程: 1,设置端口控制寄存器将LED对应端口设为输出模式 (GPxCON)。 2,向端口对应的数据寄存器发送数据(GPxDAT)。 实现: //这段宏定义了使对应LED亮应该送的数据 #
[单片机]
ARM汇编编程基础之五-ADS开发环境的使用
掌握了基本的汇编指令和伪操作后,就具备了编写简单ARM汇编程序的基本理论能力,不过要实战得到真实可执行的程序,还需要可以对程序进行编辑和编译的开发环境(命令行编译器或IDE)的支持,同时程序在开发过程中免不了要进行调试,这就需要调试器的支持。一般而言,会有供应商将程序的编译器、编译器、调试器以及其它一些辅助工具组合在一起,形成程序的开发、调试集成开发环境(IDE)软件,提供给程序开发人员使用。对ARM程序开发而言,目前比较流行的IDE有2套:运行于windows平台的ADS和运行于Linux平台的gcc等交叉编译工具链。总的来看,ADS在程序的编译和调试方面要比gcc使用起来方便很多,也更容易掌握和使用,因此针对初学者,本文将展示A
[单片机]
英特尔发布两款低耗能四核至强处理器
3月13日外电报道,英特尔周一面向多核服务器发布了两款低功耗四核至强(Xeon)处理器。英特尔新推出的至强L5320和至强L5310 时钟频率分别为1.86GHz和1.60 GHz。这两款低功耗至强处理器功率仅为50瓦,折合每内核耗电量为12.5瓦,而英特尔普通四核至强5300系列的耗电量为120瓦。 与其他Xeon 5300系列型号一样,至强L5320和至强L5310拥有8MB二级缓存,每对核心共享4MB二级缓存。其前端总线被设定在1066MHz,等同于普通的Xeon E5320和E5310;前端总线被为1066MHz,和普通的至强E5320和E5310。 英特尔至强L5320和L5310每千颗单价分别为519美元和455美
[焦点新闻]
IBM下一代Power6处理器揭开面纱,速度达5.6GHz
IBM公司日前在国际固态电路会议(ISSCC)上,公布了其面向服务器的下9一代Power6处理器架构。IBM表示,Power6是一款工作于4GHz以上的65纳米处理器。Power6采用绝缘硅(SOI)和其它技术构建,是该公司当前Power5结构的后续处理器。 在一篇论文中,该公司描述了带64Kb 1级数据缓存的5.6GHz Power6处理器。该处理器据称有8路、集关联的设计和两级流水线,支持每循环周期两路独立的读或写操作。IBM还利用了面向处理器的5GHz占空比校正时钟分配网络。该公司实现了3微米宽1.2微米厚的铜分布线。 在另外一篇论文中,IBM介绍了用于Power6的低延迟定点和二进制浮点单元。浮点单元集成了“许多微结构
[焦点新闻]