<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM處理器的浮點(diǎn)運算單元(FPU)

ARM處理器的浮點(diǎn)運算單元(FPU)

作者: 時(shí)間:2016-11-21 來(lái)源:網(wǎng)絡(luò ) 收藏
浮點(diǎn)運算單元(FPU)簡(jiǎn)介

Float Point Unit,浮點(diǎn)運算單元是專(zhuān)用于浮點(diǎn)運算的協(xié)處理器,在計算領(lǐng)域,例如三角函數以及時(shí)域頻域變換通常會(huì )用到浮點(diǎn)運算。當CPU執行一個(gè)需要浮點(diǎn)數運算的程序時(shí),有三種方式可以執行:軟件仿真器(浮點(diǎn)運算函數庫)、附加浮點(diǎn)運算器和集成浮點(diǎn)運算單元。 區別于以往的ARM9處理器,目前基于ContexTM構架的ARM處理均集成了浮點(diǎn)運算單元。如下圖Toradex ARM核心板產(chǎn)品所示,Nvidia TegraTM 2, TegraTM 3和 NXP/Freescale i.MX 6集成了VFPv3浮點(diǎn)運算單元。NXP/Freescale i.MX 7 集成了VFPv4浮點(diǎn)運算單元。ARM 浮點(diǎn)架構 (VFP) 為半精度、單精度和雙精度浮點(diǎn)運算中的浮點(diǎn)操作提供硬件支持。它完全符合 IEEE 754 標準,并提供完全軟件庫支持,與 NEONTM 多媒體處理功能結合使用時(shí),可增強圖像應用程序的性能(如縮放、2D 和 3D 轉換、字體生成和數字過(guò)濾)。

本文引用地址:http://dyxdggzs.com/article/201611/319521.htm

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

Colibri T20 核心板帶有一個(gè) VFPv3-D16 浮點(diǎn)運算單元(不帶 NEON) ,而 Colibri T30 和Apalis T30 帶有一個(gè)VFPv3-D32 (含有 NEON),通過(guò)以下的配置,將能夠有效的提高浮點(diǎn)運輸的效率,運算量愈大愈明顯。

./ Windows CE 編譯器的浮點(diǎn)優(yōu)化

在 Visual Studio 2008環(huán)境中,你可以直接為上述核心板生成含有浮點(diǎn)處理器加速的代碼,請在您的工程中按照以下步驟進(jìn)行:

對于 WinCE 6:

  • 打開(kāi) "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.
  • 關(guān)閉對話(huà)框并選擇"OK".

對于 WinCE 7:

  • 打開(kāi)"Project"菜單并選擇"Properties".
  • 選擇 "Configuration Properties : C/C++ : Command Line : Additional Options".
  • 添加 "/QRfpe-" to the set of options.
  • 關(guān)閉對話(huà)框并選擇"OK".

請注意,這些功能在Visual Studio 2005 不能被實(shí)現。

./ 性能比較舉例

通過(guò)Mark Riordan benchmark program我們做了一個(gè)簡(jiǎn)單c代碼的性能比較程序。我們計算了這個(gè)循環(huán)所需要的時(shí)間如下,時(shí)間越短性能越好:

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編譯器的浮點(diǎn)優(yōu)化打開(kāi)

Colibri T20 1.0GHz

about 80 ms

Linux optimized GCC settings編譯器的浮點(diǎn)優(yōu)化.

Colibri T30 1.3GHz

about 60 ms

VS08 WinCE 6/7 Release settings編譯器的浮點(diǎn)優(yōu)化打開(kāi)




評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>