首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   TMS320C54x和ADSP218x性能比较      ★★★ 【字体: 】  
TMS320C54x和ADSP218x性能比较
收集整理:佚名    来源:本站整理  时间:2009-01-10 23:57:15   点击数:[]    

指令都是真正的单周期指令。除了访问慢速的外部存储设备,或者外部存储器出现控制权竞争而需要附加周期的情况外,任何指令的运行一般仅需一个周期。由于它的指令系统没什么“禁忌”,所以程序员大可像编写高级语言程序一样,只需要考虑算法如何实现,至于编程过程就可以不太注意。

可是,TMS320VC5402的指令系统却不是这样。TMS320VC5402的各个单元是基于流水线方式的结构,指令按流水线方式工作。它的大多数指令在单独执行时并不能在一个周期内完成,只是在流水线方式下工作或重复操作的,才可以做到平均每一个周期执行一条指令。因此,在它的指令系统中,不仅有不少的指令需要多个执行周期,而且由于“时延”的原因,如果处理的不好,还会出现额外的附加周期。因此为了保证每条指令准确执行,有时就不得不把程序打乱,就是说,相关联的几条语句要分散插入别的地方。程序的模块化遭到损害,显得杂乱无章,大大影响了可读性。

如下面语句中的句1、句2、句3、句4(选自Geffe发生器)是我们实际应用的形式(指令用代数符号格式,下面如果不特别指出,均为这要您)。

m_seq_ll: ;标号

……

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:

……

但是,它们正常语序则应该为

m_seq_11: ;标号

……

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:

……

不过,若以正常语序执行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-2186N实现时,必须将32位分为高16位和16位分别操作,最后再整合。这也是为什么在实现MD5算法时,用ADSP-2186N实现不如TMS320VC5402有效的主要原因。

表2 分别用TMS320VC5402和ADSP-2186N实现32位与运算和加法

 实现32位与运算实现32位加法运算
TMS320VC5402实现a=db1(*ar2);
b=b & a;
b=b+db1(*ar1);
b=db1(*ar3);
ADSP-2186N实现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;

另外,两者在编程时还有一些不同,例如,TMS320VC5402有标号必须顶格写等要求。总的来说,TMS320VC5402指令系统中有不少的“禁忌”,需要经验积累才可以发现,这就给编程者带来了不便。两款DSP芯片实现Geffe发生器和MD5算法的具体结果如表3所示。

表3 分别用两款DSP实现密码算法的结果分析(两者均在各自的最高主频下工作)

 比较项目程序大小/字需要指令周期数需要时间/μs
Geffe发生器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

可以看出,实现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公司这方面略有不足。

第三是第三方服务。市场上支持TI芯片的第三方服务要比支持ADI的多,这也是由于TI芯片的市场占有率高的缘故。反过来,大量支持TI芯片的第三方服务,又保证了TI芯片的市场占有率。两者是相辅相成的关系。

第四是继承性。DSP芯片有其特殊性,不同公司的芯片,其编程方式差异很大。因此,程序员一旦熟悉了一种芯片,就不愿意更换。在我国,TI公司的用户要远远多于ADI公司的用户。为便于交流和学习,新的用户也会倾向于选择TI公司的芯片。

第五是性能。虽然从技术性能看,TI的芯片稍稍逊色一些,但只要程序员付出一定精力,也可以得到高效的程序。

所以,TMS320C54X系列和ADSP-218X系列可以说是各有千秋,互有短长。ADSP-218X系列界面友好、TMS320C54X系列性价比高、服务体系完善、产品效益好,故公司企业多选用它。



上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:用高速DSP在频域上实现LFM信号的实时脉冲压缩

  • 下一篇文章:TMS320C6201在MPEG-4视频解码器中的应用
  • 返回上一页】【打 印】【关闭窗口
    中查找“TMS320C54x和ADSP218x性能比较”更多相关内容 5VAR论文频道
    中查找“TMS320C54x和ADSP218x性能比较”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››TMS320C2XX开发设计中应注意的问题...
  • ››TMS320C32DSP的中断编程方法及BOOT...
  • ››TMS320VC5402外部并行引导装载方法...
  • ››TMS320C6701在电离层垂直探测系统中...
  • ››TMS320C6711的FLASH引导装载系统研...
  • ››TMS320C6201在MPEG-4视频解码器中的...
  • ››TMS320C54x和ADSP218x性能比较
  • ››TMS320F206的中断技术及其实现
  • ››TMS320C55x的指令流水线及其效率的...
  • ››TMS320C32扩展异步串口的方法
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .