<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è) > 嵌入式系統 > 設計應用 > 獨立于硬件技術(shù)的XC166單片機的DSP程序優(yōu)化方法

獨立于硬件技術(shù)的XC166單片機的DSP程序優(yōu)化方法

作者: 時(shí)間:2012-02-13 來(lái)源:網(wǎng)絡(luò ) 收藏

 的指令流水線(xiàn)存在著(zhù)不可避免的阻塞現象,MAC單元指令也一樣。盡管在硬件設計時(shí)已經(jīng)采用了專(zhuān)用模塊來(lái)減少阻塞,但有些阻塞是不可避免的,從的角度來(lái)說(shuō),可以充分利用指令流水線(xiàn)阻塞現象,通過(guò)重排指令流水線(xiàn)上的指令,消除阻塞,以使得的運行時(shí)間縮短,從而達到的目的。

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

  通常可以分為兩類(lèi):一類(lèi)是與芯片相關(guān)的,另一類(lèi)是與芯片無(wú)關(guān)的。與芯片無(wú)關(guān)的優(yōu)化硬件,適用于所有處理器,下面根據使用單片機的經(jīng)驗總結一些優(yōu)化。

  1 通用優(yōu)化方法

  1.1 數據組處理

  數據組處理的基本思想是通過(guò)成組的處理數據,以節約每次調用處理子程序所需的附加指令。數據組處理可以在C語(yǔ)言或匯編語(yǔ)言程序中實(shí)現。一般而言,對于開(kāi)發(fā)DSP程序,最常用的程序語(yǔ)言為C和匯編。下面分別介紹如何在C和匯編程序中使用數據組處理優(yōu)化方法。

  (1)C程序

  在C環(huán)境中開(kāi)發(fā)DSP程序,通常算法本身由匯編編寫(xiě),以便優(yōu)化實(shí)現。C主程序通過(guò)調用匯編實(shí)現的核心處理子程序來(lái)完成對數據的處理。核心處理子程序有兩種實(shí)現方法,一種是數組處理,另一種是單值處理,假設單值處理子程序的核心部分與數組處理子程序的核心部分所需機器周期相同,并且調用子程序的前期處理需M個(gè)機器周期,后期處理需要N個(gè)機器周期,如果子程序被調用K次,那么理想情況下,數據組處理可以節約(K-1)(M+N)個(gè)機器周期,如圖1所示。

  


  (2)匯編程序

  在匯編程序中實(shí)現數據組處理有多種方法,比如數組操作,數組讀入/寫(xiě)出等。

  1、數組操作。數組操作是將多個(gè)不同的短操作數裝入一個(gè)長(cháng)位數的寄存器,然后進(jìn)行運算操作。比如,1個(gè)16位的寄存器可以裝入2個(gè)8位的來(lái)自A/D轉換器的數據。下面舉例說(shuō)明數據組處理在匯編程序中的應用。

  

  2、數組讀入寫(xiě)出。這種方法是將多個(gè)短操作數合并為一個(gè)長(cháng)操作數后進(jìn)行讀入/寫(xiě)出操作,如上面例子中的輸入/輸出部分。

  1.2 數據存儲器交織

  數據存儲器交織的目的是通過(guò)重新排列數據在存儲器中的位置,以使得程序讀寫(xiě)數據的時(shí)間最短,比如有2個(gè)8位的復數x和y,一般情況下,復數將按下列順序存入內存:real(x),image(x),real(y),image(y)。但如果想使得讀取復數的實(shí)部更容易,可以把數據重新排列如下:real(x),real(y),image(x),image(y),如圖2所示。

  

  1.3 循環(huán)展開(kāi)

  循環(huán)展開(kāi)是一種非常傳統的程序優(yōu)化方法,可以用于所有程序優(yōu)化中,循環(huán)展開(kāi)的目的是通過(guò)重復循環(huán)中的程序,減少循環(huán)次數,從而減少循環(huán)判斷指令的執行次數,以此來(lái)降低程序執行所需的機器周期,下面舉一個(gè)例子來(lái)說(shuō)明循環(huán)展開(kāi)在XC164CS單片機中的應用。

  


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(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>