<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/201611/319521.htm

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

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

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

          在 Visual Studio 2008環(huán)境中,你可以直接為上述核心板生成含有浮點(diǎn)處理器加速的代碼,請(qǐng)?jiān)谀墓こ讨邪凑找韵虏襟E進(jìn)行:

          對(duì)于 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.
          • 關(guān)閉對(duì)話框并選擇"OK".

          對(duì)于 WinCE 7:

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

          請(qǐng)注意,這些功能在Visual Studio 2005 不能被實(shí)現(xiàn)。

          ./ 性能比較舉例

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

          Module

          Time

          Compile Settings

          Colibri PXA320 806MHz

          about 3400 ms

          VS08 WinCE 6 Release 默認(rèn)配置.

          Colibri T20 1.0GHz

          about 545 ms

          VS08 WinCE 6 Debug默認(rèn)配置.

          Colibri T20 1.0GHz

          about 315 ms

          VS08 WinCE 6 Release默認(rèn)配置.

          Colibri T20 1.0GHz

          about 80 ms

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

          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)化打開




          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();