新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > DSP的匯編程序優化

        DSP的匯編程序優化

        作者: 時間:2010-08-24 來源:網絡 收藏

          xr4=[j4+:1];;

          xeomp(r4,r2);;

          if xah;do,xr4=0;;

          ifnxah;do,xr4=xr2;;

          [j5+=1]=xr4;;

          內循環結束*/

          _Pieture_Segment_Inner_Loop_End:

          if nlele,jump_Picture_Segment Inner Loop(p);;

          外循環結束*/

          _Picture_segment_Outter_Loop_End:

          if nleoe,jump_Pieture_Segment_Outter_Loop(p);;

          實例3:

          lcO=xr0;;

          xrl=lshifi r0 by一1;;_

          _Picture_Segment_Outter_Loop:

          lcl=xrl;;

          _Picture_Segment_Inner_Loop:

          xr3=[j4+=l];;

          xeomp(r3,r2);xr4=[j4+=1];;(1)

          ifxalt;do,xr3=0;;

          if nxalt;do,xr3=xr2;;

          [j5+=l]=xr3;xcomp(r4,r2);;(2)

          /*循環擴展部分*/

          if xalt;do,xr4:0;;

          ifnxah;do,xr4=xr2;;

          [j5+=1]=xr4;;

          _Picture_Segment_Inner_Loop_End:

          if nlele,jump_Pieture_Segmem Inner Loop(p);;

          _Picture segment_Outter_Loop_End:

          if nleoe,jump_Picture_Segment_Outter_Loop(p);;

          如實例3中的(1)、(2)所示,下一循環的取數和與閾值比較語句同上一循環中的指令達到了并行。分別運行實例1與實例3并計算其每個像素所花費的時間,可知實例1中平均每個像素花費7.12個時鐘周期,而實例3中平均每個像素花費5.12個時鐘周期,比前少用了差不多2個時鐘周期。

          (2)提前取數達到并行

          在循環外提前取數,徹底打破循環中各指令間時間的先后順序,增強其獨立性并最終達到并行的目的,這也是一種常用的方法。實例4利用此種方法,在實例3的基礎上對實例1的代碼段做了進一步的與精簡。

          如實例4中所示,(1)在循環外提前進行了取數,并在(2)達到了并行,(3)、(4)對由于提前取數造成的指針移位和額外的賦值進行了修正。但是,在使用此方法進行精簡時要特別注意循環結束后對指針的修正。經計算。實例4平均每個像素所花費的時間為4.18個指令周期。

          實例4:

          lcO=xrO::

          xrl=lshifi rO by-1;;

          _Picture_Segment_Outter_Loop:

          lcl=xrl::

          xr3=[j4=1];; (1)

          _Picture_Segment_Inner_Loop:



        關鍵詞: 優化 程序 匯編 DSP

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鄂伦春自治旗| 炉霍县| 福安市| 吉安县| 云龙县| 邯郸县| 祁门县| 焦作市| 龙游县| 屯留县| 台江县| 石首市| 耿马| 雷山县| 涟水县| 五峰| 周宁县| 昌都县| 增城市| 吴忠市| 怀仁县| 南川市| 玉树县| 客服| 永兴县| 鲁甸县| 化德县| 合肥市| 宝坻区| 托克托县| 孟州市| 雷山县| 怀仁县| 寻甸| 镇巴县| 合江县| 齐河县| 闻喜县| 江华| 贵阳市| 庆元县|