TMS320C54x和ADSP218x性能比較
出處:likuifuzi 發(fā)布于:2007-04-18 11:43:29
關(guān)鍵詞:DSP芯片 TMS320C54X ADSP-218X 性能比較
從1982年片數(shù)字信號(hào)處理器(Digital Signal Processor,DSP)TMS320C10產(chǎn)生以來,經(jīng)過二十年的發(fā)展,DSP以其卓越的性能、獨(dú)有的特點(diǎn),已成為通信、計(jì)算機(jī)、消費(fèi)類電子產(chǎn)品等領(lǐng)域的基礎(chǔ)器件。業(yè)內(nèi)人干預(yù)言,DSP將是未來集成電路中發(fā)展快的電子產(chǎn)品,并成為電子產(chǎn)品更新?lián)Q代的決定因素,它將徹底變革人們的作、學(xué)習(xí)和生活方式。
DSP[6][8][9]具有兩種算術(shù)結(jié)構(gòu):定點(diǎn)和浮點(diǎn)。從理論上講,雖然浮點(diǎn)DSP的動(dòng)態(tài)范圍比定點(diǎn)DSP大,且更適合于DSP的應(yīng)用場(chǎng)合,但定點(diǎn)運(yùn)算的DSP器件的成本較低,對(duì)存儲(chǔ)器的要求也較低,而且耦電較省。定點(diǎn)運(yùn)算的可編程DSP器件仍是市場(chǎng)上的主流產(chǎn)品。據(jù)統(tǒng)計(jì),目前銷售的DSP器件中的80%以上屬于16位定點(diǎn)可編程DSP器件。其中,TI公司的TMS320C54X系列和ADI公司的ADSP-218X系列是目前廣泛使用的主流定點(diǎn)DSP芯片。下面就以它們?yōu)檠芯繉?duì)象,結(jié)合Geffe發(fā)生器[7]和MD5算法的實(shí)現(xiàn),對(duì)其性能進(jìn)行分析比較。由于TI的TMS320VC5402和ADI的ADSP-2186N是使用較多的兩款,硬件性能指標(biāo)又相近,有很好的可比性,所以編程實(shí)現(xiàn)時(shí)選擇它們?yōu)榫唧w芯片。雖然兩款DSP芯片都提供C編譯器,但是因?yàn)樾识疾桓?,這里我們就不作討論。下面的論述都是基于直接用匯編語言編程的。
1 Geffe發(fā)生器與MD5算法
先簡(jiǎn)單介紹一眄兩個(gè)算法。Geffe發(fā)生器是一種密鑰序列發(fā)生器,它利用線性反饋移位寄存器(Linear Feedback Shift Register,LFSR)產(chǎn)生序列密碼。Geffe發(fā)生器使用了三個(gè)LFSR,它們以非線性方式結(jié)合,其中兩個(gè)LFSR作為復(fù)合器的輸入,第三個(gè)LFSR控制復(fù)合器的輸出。因?yàn)檫\(yùn)算量很大,所以LFSR用軟件實(shí)現(xiàn)起來比較慢,但是用匯編語言實(shí)現(xiàn)比用C語言實(shí)現(xiàn)快。
MD5(MD,即Message Digest)是一個(gè)單向散列函數(shù),它對(duì)輸入消息產(chǎn)生128位散列值(或消息摘要)。該算法需要進(jìn)行大量的移位和邏輯操作,用DSP實(shí)現(xiàn)比較方便。
2 TMS320C54X系列與ADSP-218X系列性能比較
2.1 硬件結(jié)構(gòu)[1][4][5]
TMS320C54X系列采用改進(jìn)的Harvard結(jié)構(gòu)體系,有一組程序總線和三組數(shù)據(jù)總線、高度并行性的算術(shù)邏輯單元ALU、乘法/累加器MAC、桶形移位器、緩沖串口、專用硬件邏輯、片內(nèi)存儲(chǔ)器、片內(nèi)外設(shè)和高度化的指令集等等。支持32位長操作數(shù)指令,支持并行存儲(chǔ)和并行裝入的算術(shù)指令。
ADSP-218X系列借裝了TMS320X系列的優(yōu)缺點(diǎn),重新設(shè)計(jì)。它也是采用改進(jìn)的Harvard結(jié)構(gòu)體系。ALUMAC、桶形移位器這三個(gè)獨(dú)立的運(yùn)算部件均可以單周期操作。還有豐富的雙緩沖串口、中斷(分外中斷和內(nèi)中斷)等。在TMS320C54x系列中,程序存儲(chǔ)區(qū)和數(shù)據(jù)存儲(chǔ)區(qū)是混在一起的,而ADSP-218X系列從物理上就將兩者分開,這就使多功能指令操作顯得非常方便。因此,ADSP-218X系列程序?qū)崿F(xiàn)更有高效性。
兩款芯片主要技術(shù)指標(biāo)的比較如表1所示。
表1 兩款DSP芯片主要技術(shù)指標(biāo)比較
| 比較項(xiàng)目 | MIPS | Cycle Time/ns | RAM/千字 |
| TMS320C54X | 30~532 | 33.3~1.88 | 5~640 |
| ADSP-218X | 33~80 | 30~12.5 | 8~104 |
可見,兩款系列芯片性能指標(biāo)的選擇范圍都很大,而TSM320C54X系列的選擇空間更大一些。具體到本文選用的TMS320VC5400和ADSP-2186N,主要參數(shù)(MIPS/Cycle Time/RAM)為:TMS320VC5402是100/10ns/16kword,ADSP-2186N是80/12.5ns/16Kword。這兩種芯片的硬件性能指標(biāo)相仿,用它們實(shí)現(xiàn)相同的算法,具有很好的可比性。
2.2 程序編程[2][3][4][6]
下面分別用TMS320VC5402和ADSP-2186N實(shí)現(xiàn)Geffe發(fā)生器和MD5算法,以此來比較兩款芯片在編程過程中的優(yōu)劣。其中,Geffe發(fā)生器產(chǎn)生96字的序列,MD5處理的消息長63個(gè)字。
2.2.1 指令系統(tǒng)概述
ADSP-2186N指令系統(tǒng)使用代數(shù)符號(hào)來表示算術(shù)運(yùn)算和數(shù)據(jù)傳送,源代碼具有較高的可讀性,且不會(huì)損壞運(yùn)行特性。它的指令系統(tǒng)很精簡(jiǎn),程序員可以快速掌握。ADSP-2186N的編程方式和語言類似,如果用戶有語言編程的經(jīng)驗(yàn),上手較快。
TMS320VC5402指令系統(tǒng)很豐富,靈活多變,雖然使用時(shí)很方便,但是完全掌握卻有一定的困難,這對(duì)程序員來說是個(gè)不小的難題。它的指令系統(tǒng)有傳統(tǒng)的助記符和代數(shù)符號(hào)兩種方式,程序員可以根據(jù)所好任選一種。助記符方式對(duì)于習(xí)慣了匯編語言的開者易于接受,代數(shù)符號(hào)方式則表達(dá)簡(jiǎn)潔、較為直觀、易于理解。但是,合作完成項(xiàng)目時(shí),往往會(huì)由于不同的程序員選擇不同的格式而造成麻煩。解決的方法有兩個(gè),一是使用TI提供的轉(zhuǎn)換工具,另一是只將兩者的obj文件鏈接調(diào)試,但調(diào)試時(shí)有些方便。
另外,兩者的編譯環(huán)境也有差別。相比較而言,ADSP-2186N的界面要友好一些,它和VC++非常相像,很方便。
2.2.2 指令的“單周期性”
ADSP-2186N的每條程序語言都匯編成僅需一個(gè)執(zhí)行周期的24位指令機(jī)器碼。它完全在并行處理方式下工作,所有的指令都是真正的單周期指令。除了訪問慢速的外部存儲(chǔ)設(shè)備,或者外部存儲(chǔ)器出現(xiàn)控制權(quán)競(jìng)爭(zhēng)而需要附加周期的情況外,任何指令的運(yùn)行一般僅需一個(gè)周期。由于它的指令系統(tǒng)沒什么“禁忌”,所以程序員大可像編寫語言程序一樣,只需要考慮算法如何實(shí)現(xiàn),至于編程過程就可以不太注意。
可是,TMS320VC5402的指令系統(tǒng)卻不是這樣。TMS320VC5402的各個(gè)單元是基于流水線方式的結(jié)構(gòu),指令按流水線方式工作。它的大多數(shù)指令在單獨(dú)執(zhí)行時(shí)并不能在一個(gè)周期內(nèi)完成,只是在流水線方式下工作或重復(fù)操作的,才可以做到平均每一個(gè)周期執(zhí)行一條指令。因此,在它的指令系統(tǒng)中,不僅有不少的指令需要多個(gè)執(zhí)行周期,而且由于“時(shí)延”的原因,如果處理的不好,還會(huì)出現(xiàn)額外的附加周期。因此為了保證每條指令準(zhǔn)確執(zhí)行,有時(shí)就不得不把程序打亂,就是說,相關(guān)聯(lián)的幾條語句要分散插入別的地方。程序的模塊化遭到損害,顯得雜亂無章,大大影響了可讀性。
如下面語句中的句1、句2、句3、句4(選自Geffe發(fā)生器)是我們實(shí)際應(yīng)用的形式(指令用代數(shù)符號(hào)格式,下面如果不特別指出,均為這要您)。
m_seq_ll: ;標(biāo)號(hào)
……
b=a & #1 ;句1
if(aeq)goto m_seq_12 ;句2,if a=0,goto m_seq_12
a=a>>1 ;句3
if(beq)goto m_seq_11 ;句4,if b=0,goto m_seq_11
……
m_seq_12:
……
但是,它們正常語序則應(yīng)該為
m_seq_11: ;標(biāo)號(hào)
……
a=a>>1 ;句3(若這樣,a的初始值隨之改變)
if(aeq)goto m_seq_12 ;句2,if a=0,goto m_seq_12
b=a & #1 ;句1
if(beq)goto m_seq_11 ;句4,if b=0,goto m_seq_l1
……
m_seq_l2:
……
不過,若以正常語序執(zhí)行if語句時(shí),a、b的值會(huì)因?yàn)闀r(shí)延不夠,來不及改變而導(dǎo)致程序出錯(cuò)。為避免這種情況,要么在句3和句2以及句1和句4之間分別加上若干個(gè)空操作(nop),這樣就會(huì)影響速度;要么調(diào)整它們的順序,如實(shí)際應(yīng)用中的句1、句2、句3、句4.有時(shí)候,語句順序?qū)嵲跓o法調(diào)整,就不得不加上一些空操作。尤其是循環(huán)的主體部分,往往一條語句處理的不好,就會(huì)導(dǎo)致整個(gè)程序多運(yùn)行成千上萬條指令。因此,TMS320C54系列編程對(duì)程序員的要求較高,必須非常熟悉指令系統(tǒng),才可以得到高效的程序。
2.2.3 對(duì)數(shù)組的循環(huán)操作
關(guān)于對(duì)數(shù)組進(jìn)行循環(huán)操作,兩者平分秋色。它們都支持寄存器地址自動(dòng)加減。只不過ADSP-2186N的調(diào)試界面看上去更直觀些。
2.2.4 對(duì)32位長操作數(shù)操作
ADSP-2186N不支持32位操作,如果需要的話,必須多條指令共同完成。而TMS320VC5402經(jīng)過簡(jiǎn)單的設(shè)置,就可以直接進(jìn)行一些32位操作。
例如,MD5算法中4輪主循環(huán)都需要大量的32位邏輯運(yùn)算及加法操作。
表2示出“與”運(yùn)算和加法的實(shí)例,顯然,用TMS320VC-2186N實(shí)現(xiàn)時(shí),必須將32位分為高16位和16位分別操作,再整合。這也是為什么在實(shí)現(xiàn)MD5算法時(shí),用ADSP-2186N實(shí)現(xiàn)不如TMS320VC5402有效的主要原因。
表2 分別用TMS320VC5402和ADSP-2186N實(shí)現(xiàn)32位與運(yùn)算和加法
| 實(shí)現(xiàn)32位與運(yùn)算 | 實(shí)現(xiàn)32位加法運(yùn)算 | |
| TMS320VC5402實(shí)現(xiàn) | a=db1(*ar2); b=b & a; b=b+db1(*ar1); |
b=db1(*ar3); |
| ADSP-2186N實(shí)現(xiàn) | ay0=DM(i0,m1); ar=ax0 and ay0, ay1=DM(i0,m1); sr0=ar; sr1=ar; |
ay0=DM(i0,m1); AR=AX0+AY0, ay1=DM(i0,m1); AR=AX1+AY1+C,AX0=AR; AR; AX1=AR; |
另外,兩者在編程時(shí)還有一些不同,例如,TMS320VC5402有標(biāo)號(hào)必須頂格寫等要求??偟膩碚f,TMS320VC5402指令系統(tǒng)中有不少的“禁忌”,需要經(jīng)驗(yàn)積累才可以發(fā)現(xiàn),這就給編程者帶來了不便。兩款DSP芯片實(shí)現(xiàn)Geffe發(fā)生器和MD5算法的具體結(jié)果如表3所示。
表3 分別用兩款DSP實(shí)現(xiàn)密碼算法的結(jié)果分析(兩者均在各自的主頻下工作)
| 比較項(xiàng)目 | 程序大小/字 | 需要指令周期數(shù) | 需要時(shí)間/μs | |
| Geffe發(fā)生器 | TMS320VC5402 ADSP-2186N |
252 188 |
444,816 268,299 |
4,448.16 3,353.74 |
| MD5算法 | TMS320VC5402 ADSP-2186N |
900 436 |
3,400 3,009 |
34.00 37.61 |
可以看出,實(shí)現(xiàn)Geffe發(fā)生器時(shí),ADSP-2186N較快,主要是因?yàn)槠渲噶钕到y(tǒng)的單周期性;實(shí)現(xiàn)MD5算法時(shí),TMS320VC5402稍快,主要原因是它支持32位操作。
2.3 其它
總而言之,從技術(shù)上看,ADSP-218X系列稍占優(yōu)勢(shì)。但目前的實(shí)際情況是:1999年TI占有DSP市場(chǎng)48%的份額,市場(chǎng)。2000年其市場(chǎng)占有率也是第二名的兩倍多。尤其在中國,高層占有率在80%左右。主要原因如下:
是價(jià)格。性能相近的芯片,TI比ADI要便宜很多。如TMS320VC5402的單片價(jià)格為$5.66,ADSP-2186N的單片價(jià)格則為$8.50。從性價(jià)比看,TI占優(yōu)勢(shì)。從產(chǎn)品效益看,如果大指生產(chǎn),顯然TI的芯片實(shí)惠。
第二是服務(wù)。這里指的是指生產(chǎn)商提供的服務(wù)。TI公司有非常完善的服務(wù)體系,從產(chǎn)品宣傳到課程培訓(xùn),非常齊全。ADI公司這方面略有不足。
第三是第三方服務(wù)。市場(chǎng)上支持TI芯片的第三方服務(wù)要比支持ADI的多,這也是由于TI芯片的市場(chǎng)占有率高的緣故。反過來,大量支持TI芯片的第三方服務(wù),又保證了TI芯片的市場(chǎng)占有率。兩者是相輔相成的關(guān)系。
第四是繼承性。DSP芯片有其特殊性,不同公司的芯片,其編程方式差異很大。因此,程序員一旦熟悉了一種芯片,就不愿意更換。在我國,TI公司的用戶要遠(yuǎn)遠(yuǎn)多于ADI公司的用戶。為便于交流和學(xué)習(xí),新的用戶也會(huì)傾向于選擇TI公司的芯片。
第五是性能。雖然從技術(shù)性能看,TI的芯片稍稍遜色一些,但只要程序員付出一定精力,也可以得到高效的程序。
所以,TMS320C54X系列和ADSP-218X系列可以說是各有千秋,互有短長。ADSP-218X系列界面友好、TMS320C54X系列性價(jià)比高、服務(wù)體系完善、產(chǎn)品效益好,故公司企業(yè)多選用它。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機(jī)技術(shù)特性與嵌入式開發(fā)實(shí)踐指南2026/1/7 10:00:02
- 單片機(jī)(MCU)與數(shù)字信號(hào)處理器(DSP)分類及選型技術(shù)指南2025/12/30 10:02:37
- 工業(yè)級(jí)DSP信號(hào)處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內(nèi)建N/N預(yù)驅(qū)電機(jī)專用SoC單片機(jī)2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴(kuò)充定義2025/10/27 13:59:22
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)









