《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 兩款主流定點DSP芯片的性能比較

兩款主流定點DSP芯片的性能比較

2008-12-18
作者:劉長軍 顧夏華 林嘉宇

  摘? 要: TI(Texas Instruments)公司的TMS320C54X系列和ADI(Analog Devices Inc.)公司的ADSP-218X系列是目前應用廣泛的兩款主流16位定點DSP芯片。以Geffe發生器和MD5算法的實現為例,通過對這兩款芯片性能的詳細比較,分析研究了它們各自的優缺點。?

  關鍵詞: DSP芯片? TMS320C54X? ADSP-218X? 性能比較

?

  從1982年第一片數字信號處理器(Digital Signal Processor,DSP)TMS320C10產生以來,經過二十年的發展,DSP以其卓越的性能、獨有的特點,已成為通信、計算機、消費類電子產品等領域的基礎器件。業內人士預言,DSP將是未來集成電路中發展最快的電子產品,并成為電子產品更新換代的決定因素,它將徹底變革人們的工作、學習和生活方式。?

  DSP[6][8][9]具有兩種算術結構:定點和浮點。從理論上講,雖然浮點DSP的動態范圍比定點DSP大,且更適合于DSP的應用場合,但定點運算的DSP器件的成本較低,對存儲器的要求也較低,而且耗電較省。定點運算的可編程DSP器件仍是市場上的主流產品。據統計,目前銷售的DSP器件中的80%以上屬于16位定點可編程DSP器件。其中,TI公司的TMS320C54X系列和ADI公司的ADSP-218X系列是目前廣泛使用的主流定點DSP芯片。下面就以它們為研究對象,結合Geffe發生器[7]和MD5算法的實現,對其性能進行分析比較。由于TI的TMS320VC5402和ADI的ADSP-2186N是使用較多的兩款,硬件性能指標又相近,有很好的可比性,所以編程實現時就選擇它們為具體芯片。雖然兩款DSP芯片都提供C編譯器,但是因為效率都不高,這里我們就不作討論。下面的論述都是基于直接用匯編語言" title="匯編語言">匯編語言編程的。?

1 Geffe發生器與MD5算法?

  先簡單介紹一下兩個算法。Geffe發生器是一種密鑰序列發生器,它利用線性反饋移位寄存器(Linear Feedback Shift Register,LFSR)產生序列密碼。Geffe發生器使用了三個LFSR,它們以非線性方式組合,其中兩個LFSR作為復合器的輸入,第三個LFSR控制復合器的輸出。因為運算量很大,所以LFSR用軟件實現起來比較慢,但是用匯編語言實現比用C語言實現快。?

  MD5(MD,即Message Digest)是一個單向散列函數,它對輸入消息產生128位散列值(或消息摘要)。該算法需要進行大量的移位和邏輯操作,用DSP實現比較方便。?

2 TMS320C54X系列與ADSP-218X系列性能比較" title="性能比較">性能比較?

2.1 硬件結構[1][4][5]?

  TMS320C54X系列采用改進的Harvard結構體系,有一組程序總線和三組數據總線、高度并行性的算術邏輯單元ALU、乘法/累加器MAC、桶形移位器、緩沖串口、專用硬件邏輯、片內存儲器、片內外設和高度專業化的指令集等等。支持32位長操作數指令,支持并行存儲和并行裝入的算術指令。?

  ADSP-218X系列借鑒了TMS320X系列的優缺點,重新設計。它也是采用改進的Harvard結構體系。ALU、MAC、桶形移位器這三個獨立的運算部件均可以單周期操作。還有豐富的雙緩沖串口、中斷(分外中斷和內中斷)等。在TMS320C54X系列中,程序存儲區和數據存儲區是混在一起的,而ADSP-218X系列從物理上就將兩者分開,這就使多功能指令操作顯得非常方便。因此,ADSP-218X系列程序實現更有高效性。?

  兩款芯片主要技術指標的比較如表1所示。?

?

?

  可見,兩款系列芯片性能指標的選擇范圍都很大,而TMS320C54X系列的選擇空間更大一些。具體到本文選用的TMS320VC5402和ADSP-2186N,主要參數(MIPS/Cycle Time/RAM)為:TMS320VC5402是100/10ns/16kword,ADSP-2186N是80/12.5ns/16Kword。這兩種芯片的硬件性能指標相仿,用它們實現相同的算法,具有很好的可比性。?

2.2 程序編程[2][3][4][6]?

  下面分別用TMS320VC5402和ADSP-2186N實現Geffe發生器和MD5算法,以此來比較兩款芯片在編程過程中的優劣。其中,Geffe發生器產生96字的序列,MD5處理的消息長63個字。?

2.2.1 指令系統" title="指令系統">指令系統概述?

  ADSP-2186N指令系統使用代數符號來表示算術運算和數據傳送,源代碼具有較高的可讀性,且不會損壞運行特性。它的指令系統很精簡,程序員可以快速掌握。ADSP-2186N的編程方式" title="編程方式">編程方式和高級語言類似,如果用戶有高級語言編程的經驗,上手較快。?

  TMS320VC5402指令系統很豐富,靈活多變,雖然使用時很方便,但是完全掌握卻有一定的困難,這對程序員來說是個不小的難題。它的指令系統有傳統的助記符和代數符號兩種方式,程序員可以根據所好任選一種。助記符方式對于習慣了匯編語言的開發者易于接受,代數符號方式則表達簡潔、較為直觀、易于理解。但是,合作完成項目時,往往會由于不同的程序員選擇不同的格式而造成麻煩。解決的方法有兩個,一是使用TI提供的轉換工具,另一是只將兩者的obj文件鏈接調試,但調試時有些不方便。?

  另外,兩者的編譯環境也有差別。相比較而言,ADSP-2186N的界面要友好一些,它和VC++非常相像,很方便。?

2.2.2 指令的“單周期性”?

  ADSP-2186N的每條程序語言都匯編成僅需一個執行周期的24位指令機器碼。它完全在并行處理方式下工作,所有的指令都是真正的單周期指令。除了訪問慢速的外部存儲設備,或者外部存儲器出現控制權競爭而需要附加周期的情況外,任何指令的運行一般僅需一個周期。由于它的指令系統沒什么“禁忌”,所以程序員大可像編寫高級語言程序一樣,只需要考慮算法如何實現,至于編程過程就可以不太注意。?

  可是,TMS320VC5402的指令系統卻不是這樣。TMS320VC5402的各個單元是基于流水線方式的結構,指令按流水線方式工作。它的大多數指令在單獨執行時并不能在一個周期內完成,只是在流水線方式下工作或重復操作時,才可以做到平均每一個周期執行一條指令。因此,在它的指令系統中,不僅有不少的指令需要多個執行周期,而且由于“時延”的原因,如果處理的不好,還會出現額外的附加周期。因此為了保證每條指令準確執行,有時就不得不把程序打亂,就是說,相關聯的幾條語句要分散插入別的地方。程序的模塊化遭到損害,顯得雜亂無章,大大影響了可讀性。?

  如下面語句中的句1、句2、句3、句4(選自Geffe發生器)是我們實際應用的形式(指令用代數符號格式,下面如果不特別指出,均為這樣)。?

??? m_seq_l1:?????????????????? ;標號?

??????????? ……? ?

??????????? b=a & #1????????? ? ??;句1?

??????????? if(aeq)goto m_seq_l2?? ;句2,if a=0, goto m_seq_l2?

??????????? a=a>>1????????????? ;句3?

??????????? if(beq)goto m_seq_l1?? ;句4,if b=0, goto m_seq_l1?

??????????? ……?

??? m_seq_l2:?

??????????? ……?

??? 但是,它們正常語序則應該為?

??? m_seq_l1:?????????????????? ??? ;標號?

??????? ……? ?

??????? a=a>>1????????????? ??? ;句3(若這樣,a的初始值隨之改變)?

??????? if(aeq)goto m_seq_l2??? ;句2,if a=0,goto m_seq_l2?

??????? b=a & #1??????? ??? ??? ;句1?

??????? if(beq)goto m_seq_l1?? ;句4,if b=0,goto m_seq_l1?

??????? ……?

??? m_seq_l2:?

??????? ……?

  不過,若以正常語序執行if語句時,a、b的值會因為時延不夠,來不及改變而導致程序出錯。為避免這種情況,要么在句3和句2以及句1和句4之間分別加上若干個空操作(nop),這樣就會影響速度;要么調整它們的順序,如實際應用中的句1、句2、句3、句4。有時候,語句順序實在無法調整,就不得不加上一些空操作。尤其是循環的主體部分,往往一條語句處理的不好,就會導致整個程序多運行成千上萬條指令。因此,TMS320C54系列編程對程序員的要求較高,必須非常熟悉指令系統,才可以得到高效的程序。?

2.2.3 對數組的循環操作?

  關于對數組進行循環操作,兩者平分秋色。它們都支持寄存器地址自動加減。只不過ADSP-2186N的調試界面看上去更直觀些。?

2.2.4 對32位長操作數操作?

  ADSP-2186N不支持32位操作,如果需要的話,必須多條指令共同完成。而TMS320VC5402經過簡單的設置,就可以直接進行一些32位操作。?

  例如,MD5算法中4輪主循環都需要大量的32位邏輯運算及加法操作。?

  表2示出“與”運算和加法的實例,顯然,用TMS320VC-5402實現要方便簡潔的多。用ADSP-2186N實現時,必須將32位分為高16位和低16位分別操作,最后再整合。這也是為什么在實現MD5算法時,用ADSP-2186N實現不如TMS320VC5402有效的主要原因。?

?

?

  另外,兩者在編程時還有一些不同,例如,TMS320VC5402有標號必須頂格寫等要求。總的來說,TMS320VC5402指令系統中有不少的“禁忌”,需要經驗積累才可以發現,這就給編程者帶來了不便。兩款DSP芯片實現Geffe發生器和MD5算法的具體結果如表3所示。?

?

?

  可以看出,實現Geffe發生器時,ADSP-2186N較快,主要是因為其指令系統的單周期性;實現MD5算法時,TMS320VC5402稍快,主要原因是它支持32位操作。?

2.3 其它?

  總而言之,從技術上看,ADSP-218X系列稍占優勢。但目前的實際情況是:1999年TI占有全球DSP市場48%的份額,市場排名第一。2000年其市場占有率也是第二名的兩倍多。尤其在中國,市場占有率在80%左右。主要原因如下:?

  第一是價格。性能相近的芯片,TI比ADI要便宜很多。如TMS320VC5402的單片價格為$5.66,ADSP-2186N的單片價格則為$8.50。從性價比看,TI占優勢。從產品效益看,如果大批量生產,顯然TI的芯片實惠。?

  第二是服務。這里指的是指生產商提供的服務。TI公司有非常完善的服務體系,從產品宣傳到課程培訓,非常齊全。ADI公司這方面略有不足。?

  第三是第三方" title="第三方">第三方服務。市場上支持TI芯片的第三方服務要比支持ADI的多,這也是由于TI芯片的市場占有率高的緣故。反過來,大量支持TI芯片的第三方服務,又保證了TI芯片的市場占有率。兩者是相輔相成的關系。?

  第四是繼承性。DSP芯片有其特殊性,不同公司的芯片,其編程方式差異很大。因此,程序員一旦熟悉了一種芯片,就不愿意更換。在我國,TI公司的用戶要遠遠多于ADI公司的用戶。為便于交流和學習,新的用戶也會傾向于選擇TI公司的芯片。?

  第五是性能。雖然從技術性能看,TI的芯片稍稍遜色一些,但只要程序員付出一定精力,也可以得到高效的程序。?

  所以,TMS320C54X系列和ADSP-218X系列可以說是各有千秋,互有短長。ADSP-218X系列界面友好、指令簡潔、方便新手學習,因此適于教學應用。而TMS320C54X系列性價比高、服務體系完善、產品效益好,故公司企業多選用它。?

參考文獻?

1 TMS320C54x DSP CPU and Peripherals Reference Set,Volume 1. Texas Instruments,2001?

2 TMS320C54x DSP Set Volume 3:Algebraic Instruction.Texas Instruments,2001?

3 TMS320C54x Assembly Language Tools User’s Guide. Texas Instruments, 2001?

4 ADSP-218x DSP Hardware Reference. Analog Devices,2001?

5 DSP Selection Guide 2001 Edition. Analog Devices,2001?

6 蘇 濤. 高性能數字信號處理器與高速實時信號處理.西安:西安電子科技大學出版社,2000?

7 (美)Bruce Schneier著,吳世忠,祝世雄,張文政等譯.應用密碼學——協議、算法與C源程序.北京:機械工業出版社,2001?

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美另类69精品久久久久9999| 欧美午夜电影在线观看| 亚洲精品在线免费| 亚洲大胆女人| 欧美一区二视频| 亚洲欧美日本精品| 亚洲午夜一区二区三区| 99伊人成综合| 一本久久综合亚洲鲁鲁五月天| 亚洲国产婷婷香蕉久久久久久99| 激情六月综合| 在线观看精品| 亚洲第一精品在线| 亚洲第一页自拍| 亚洲国产精选| 亚洲毛片在线| 99热免费精品| 亚洲视频在线观看网站| 亚洲午夜一二三区视频| 亚洲一区在线观看视频 | 亚洲国产天堂久久综合网| 亚洲国产一区二区a毛片| 亚洲精品国产日韩| 99香蕉国产精品偷在线观看| 一区二区欧美在线| 亚洲在线观看视频| 欧美一级免费视频| 亚洲第一精品久久忘忧草社区| 亚洲国产高清在线| 亚洲免费高清视频| 亚洲午夜精品久久久久久app| 亚洲欧美成人精品| 久久九九精品| 欧美大色视频| 欧美午夜不卡影院在线观看完整版免费| 欧美午夜免费影院| 国产一区二区三区高清在线观看 | 亚洲高清在线播放| 日韩视频专区| 亚洲女同性videos| 久久久久一区二区三区| 欧美成人免费全部| 国产精品v欧美精品v日韩精品| 国产精品日韩二区| 伊人夜夜躁av伊人久久| 亚洲美女av网站| 性欧美video另类hd性玩具| 亚洲国产成人高清精品| 亚洲作爱视频| 欧美中文在线视频| 欧美高清在线视频| 国产精品亚洲成人| 精品999网站| 制服丝袜亚洲播放| 亚洲第一中文字幕| 国产精品99久久久久久www| 午夜国产精品影院在线观看| 噜噜噜噜噜久久久久久91| 欧美美女bbbb| 国产日韩欧美高清| 亚洲国产一区二区三区青草影视 | 亚洲国产婷婷| 亚洲午夜高清视频| 久久婷婷激情| 欧美亚州一区二区三区| 激情成人在线视频| 一区二区三区国产| 亚洲高清不卡av| 亚洲午夜久久久久久久久电影院 | 最新成人av网站| 亚洲免费影院| 亚洲精品国产精品国自产在线| 亚洲一区在线视频| 免费成人毛片| 国产免费成人av| 亚洲乱码国产乱码精品精98午夜| 欧美亚洲综合另类| 一区二区日韩| 久久久久久有精品国产| 欧美日韩影院| 激情综合在线| 亚洲伊人伊色伊影伊综合网| 亚洲人在线视频| 久久九九免费| 国产精品久久久久影院亚瑟| 在线观看欧美一区| 亚洲欧美在线一区二区| 99视频有精品| 麻豆精品国产91久久久久久| 国产精品亚洲аv天堂网| 亚洲人人精品| 亚洲经典一区| 久久久久久久综合| 国产精品久久久久久户外露出| 亚洲福利视频专区| 欧美一区二区三区视频免费播放 | 亚洲精品孕妇| 久久婷婷亚洲| 国产欧美日韩精品丝袜高跟鞋| 亚洲精品美女91| 亚洲欧洲一区二区天堂久久| 久久先锋资源| 国产片一区二区| 亚洲一区日本| 亚洲尤物视频在线| 欧美日韩成人综合在线一区二区 | 欧美亚洲视频在线观看| 欧美日韩国产精品一区| 永久域名在线精品| 欧美在线高清视频| 欧美一区观看| 国产精品毛片一区二区三区| 最新成人在线| 亚洲欧洲在线观看| 免费观看国产成人| 国内久久精品| 欧美影院成人| 久久精品国产亚洲aⅴ| 国产精品日日摸夜夜添夜夜av| 99精品国产高清一区二区| 日韩视频亚洲视频| 欧美精品首页| 亚洲人午夜精品| 99国内精品久久| 欧美区日韩区| 亚洲九九精品| 中文有码久久| 欧美性色视频在线| 在线亚洲成人| 午夜天堂精品久久久久| 国产精品自拍小视频| 亚洲欧美自拍偷拍| 久久久久www| 伊人婷婷久久| 亚洲精品欧洲精品| 欧美精品一区二区精品网| 亚洲日韩成人| 亚洲少妇自拍| 国产精品高清一区二区三区| 亚洲一区尤物| 久久久91精品| 在线观看成人网| 99视频精品| 国产精品高清在线观看| 亚洲尤物精选| 久久久蜜桃精品| 亚洲第一精品夜夜躁人人爽| 日韩亚洲欧美成人| 国产精品超碰97尤物18| 亚洲欧美激情视频| 久久精品国产综合精品| 樱桃成人精品视频在线播放| 亚洲精品一区二| 欧美丝袜一区二区| 午夜精品视频在线观看一区二区| 久久狠狠一本精品综合网| 激情欧美亚洲| 99国产精品视频免费观看| 欧美新色视频| 午夜国产不卡在线观看视频| 久久精品一二三| 亚洲国产精品一区二区www在线| 99精品国产一区二区青青牛奶| 欧美性一区二区| 久久精品久久综合| 欧美黄免费看| 一区二区三区在线观看欧美 | 性视频1819p久久| 依依成人综合视频| 亚洲视频一区| 国内精品久久久久影院 日本资源| 亚洲狼人综合| 国产精品自拍视频| 日韩亚洲欧美精品| 国产精品一区二区黑丝| 久久精品国产免费观看| 欧美日韩国产在线| 香蕉成人久久| 欧美日韩八区| 欧美自拍偷拍| 欧美日韩亚洲一区二区三区在线观看| 亚洲免费影视第一页| 欧美成人激情视频免费观看| 亚洲一区在线观看免费观看电影高清 | 国产精品久久久久久福利一牛影视 | 欧美婷婷久久| 亚洲黄色尤物视频| 国产欧美日本一区二区三区| 日韩午夜在线电影| 国产色爱av资源综合区| av成人免费| 经典三级久久| 欧美在线亚洲一区| 日韩一区二区免费看| 久久综合免费视频影院| 一区二区三区视频在线观看| 久久综合婷婷| 亚洲欧美三级在线| 欧美日精品一区视频| 亚洲黄色成人|