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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ARM NEON技術在車位識別算法中的應用

          ARM NEON技術在車位識別算法中的應用

          作者: 時間:2013-12-04 來源:網(wǎng)絡 收藏

            

            

            3 圖像處理算法在CORTEX-A8 平臺上的優(yōu)化

            本系統(tǒng)是Cortex-A8和Linux系統(tǒng)上搭建,Linux下使用的編譯器為GCC.本文中使用普通C 語言優(yōu)化和NEON編程優(yōu)化對圖像相關函數(shù)進行了優(yōu)化,并進行了測試對比,下面給出方差函數(shù)variance代碼進行優(yōu)化前后的對比說明,如圖5優(yōu)化前的代碼。

            

            3.1 C語言級別優(yōu)化

            對于一般C語言級別的優(yōu)化,對于圖像這類矩陣數(shù)據(jù)而言,主要針對循環(huán)優(yōu)化。以第一個循環(huán)為例,如圖6對于C語言級別循環(huán)優(yōu)化后的代碼如圖6所示。

            

            由優(yōu)化后的結果可見,通過對循環(huán)展開,有效的減少了循環(huán)跳轉次數(shù),跳轉為原來的1 4 .但是也可以發(fā)現(xiàn),加法運算次數(shù),幾乎和原來相同并沒有減少。對于其他for循環(huán)和其他函數(shù)進行優(yōu)化后,測試時間對比如表2所示。

            

            由表中數(shù)據(jù)可見,使用普通C 語言界別優(yōu)化,并沒有明顯提升,原因是在Linux系統(tǒng)上使用GCC編譯器進行編譯的,在選擇-O2 級別優(yōu)化的時候,已經(jīng)對循環(huán)進行了優(yōu)化,所以運行速度沒有明顯提升。

            3.2 使用的優(yōu)化

            GCC 編譯器從4.3 版本開始,很好地提供了對 NEON 技術的支持。例如GCC 中的函數(shù):

            uint32x2_t vadd_u32(uint32x2_t,uint32x2_t),對應匯語言:vadd.i32 d0,d0,d0.uint32x2_t代表這個數(shù)據(jù)類型是2 個32 位無符號整型。在使用GCC 編譯器中的NEON 技術時,需要包含頭文件arm_neon.h>.NEON增強指令集是在Cortex-A系列發(fā)布后才具有的功能,因此11 無法使用NEON 技術。對方差函數(shù)variance第一個for循環(huán)優(yōu)化后的代碼對比如圖7所示。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();