下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TMS320C54x和 ADSP218x性能比较论文从 1982 年第一片数字信号处理器( Digital Signal Processor,DSP )TMS320C10产生以来,经过二十年的发展, DSP以其卓越的性能、独有的特点,已成为通信、计算机、消费类电子产品等领域的基础器件。业内人干预言, DSP将是未来集成电路中发展最快的电子产品,并成为电子产品更新换代的决定因素,它将 _ 变革人们的作、学习和生活方式。DSP689具有两种算术结构:定点和浮点。从理论上讲,虽然浮点 DSP的动态范围比定点DSP大,且更适合于 DSP的应用场合,但定点运算的 DSP器件的成本较低, 对存储器的要求也
2、较低, 而且耦电较省。定点运算的可编程DSP器件仍是市场上的主流产品。 据统计,目前销售的 DSP器件中的 80%以上属于 16 位定点可编程 DSP器件。其中, TI 公司的 TMS320C54X系列和 ADI 公司的 ADSP-218X系列是目前广泛使用的主流定点DSP芯片。下面就以它们为研究对象,结合Geffe 发生器 7 和 MD5算法的实现,对其性能进行分析比较。由于TI 的 TMS320VC5402和 ADI 的 ADSP-2186N是使用较多的两款,硬件性能指标又相近, 有很好的可比性, 所以编程实现时选择它们为具体芯片。虽然两款 DSP芯片都提供 C编译器,但是因为效率都不高,
3、这里我们就不作讨论。下面的论述都是基于直接用汇编语言编程的。先简单介绍一眄两个算法。 Geffe 发生器是一种密钥序列发生器,它利用线性反馈移位寄存器( Linear Feedback Shift Register,LFSR )产生序列密码。 Geffe 发生器使用了三个 LFSR,它们以非线性方式结合,其中两个 LFSR作为复合器的输入,第三个 LFSR 控制复合器的输出。因为运算量很大,所以 LFSR用软件实现起来比较慢,但是用汇编语言实现比用 C语言实现快。MD5 (MD,即 Message Digest )是一个单向散列函数,它对输入消息产生 128 位散列值(或消息摘要)。该算法需要
4、进行大量的移位和逻辑操作,用 DSP实现比较方便。2.1硬件结构 145TMS320C54X 系列采用改进的Harvard 结构体系,有一组程序总线和三组数据总线、高度并行性的算术逻辑单元ALU、乘法 / 累加器MAC、桶形移位器、缓冲串口、专用硬件逻辑、片内存储器、片内外设和高度专业化的指令集等等。支持 32 位长操作数指令,支持并行存储和并行装入的算术指令。ADSP-218X 系列借装了 TMS320X系列的优缺点,重新设计。它也是采用改进的 Harvard 结构体系。 ALUMAC、桶形移位器这三个独立的运算部件均可以单周期操作。还有丰富的双缓冲串口、中断(分外中断和内中断)等。在 TM
5、S320C54x系列中,程序存储区和数据存储区是混在一起的, 而 ADSP-218X系列从物理上就将两者分开, 这就使多功能指令操作显得非常方便。因此, ADSP-218X系列程序实现更有高效性。两款芯片主要技术指标的比较如表1 所示。比较项目 MIPSCycle Time/nsRAM/千字 TMS320C54X3053233.3 1.885 640ADSP-218X33803012.58 1042.2程序编程 2346下面分别用 TMS320VC5402和 ADSP-2186N实现 Geffe 发生器和MD5算法,以此来比较两款芯片在编程过程中的优劣。其中,Geffe发生器产生 96 字的序
6、列, MD5处理的消息长 63 个字。2.2.1指令系统概述ADSP-2186N 指令系统使用代数符号来表示算术运算和数据传送,源代码具有较高的可读性, 且不会损坏运行特性。 它的指令系统很精简,程序员可以快速掌握。 ADSP-2186N的编程方式和高级语言类似,如果用户有高级语言编程的经验,上手较快。TMS320VC5402 指令系统很丰富,灵活多变,虽然使用时很方便,但是完全掌握却有一定的困难, 这对程序员来说是个不小的难题。 它的指令系统有传统的助记符和代数符号两种方式, 程序员可以根据所好任选一种。助记符方式对于习惯了汇编语言的开者易于接受, 代数符号方式则表达简洁、 较为直观、易于理
7、解。但是,合作完成项目时,往往会由于不同的程序员选择不同的格式而造成麻烦。 解决的方法有两个,一是使用 TI 提供的转换工具,另一是只将两者的 obj 文件链接调试,但调试时有些方便。另外,两者的编译环境也有差别。相比较而言, ADSP-2186N的界面要友好一些,它和 VC+非常相像,很方便。2.2.2指令的“单周期性”ADSP-2186N 的每条程序语言都汇编成仅需一个执行周期的 24 位指令机器码。 它完全在并行处理方式下工作, 所有的指令都是真正的单周期指令。 除了访问慢速的外部存储设备, 或者外部存储器出现控制权竞争而需要附加周期的情况外, 任何指令的运行一般仅需一个周期。由于它的指
8、令系统没什么“禁忌”,所以程序员大可像编写高级语言程序一样, 只需要考虑算法如何实现, 至于编程过程就可以不太注意。可是,TMS320VC5402的指令系统却不是这样。 TMS320VC5402的各个单元是基于流水线方式的结构,指令按流水线方式工作。它的大多数指令在单独执行时并不能在一个周期内完成,只是在流水线方式下工作或重复操作的, 才可以做到平均每一个周期执行一条指令。因此,在它的指令系统中,不仅有不少的指令需要多个执行周期,而且由于“时延”的原因,如果处理的不好,还会出现额外的附加周期。 因此为了保证每条指令准确执行, 有时就不得不把程序打乱,就是说,相关联的几条语句要分散插入别的地方。
9、程序的模块化遭到损害,显得杂乱无章,大大影响了可读性。如下面语句中的句 1、句 2、句 3、句 4(选自 Geffe 发生器)是我们实际应用的形式 (指令用代数符号格式, 下面如果不特别指出,均为这要您)。m_seq_ll:;标号b=a & #1 ;句 1if(aeq)goto m_seq_12 ;句 2,if a=0,goto m_seq_12a=a>>1 ;句 3if(beq)goto m_seq_11 ;句 4,if b=0,goto m_seq_11m_seq_12:但是,它们正常语序则应该为m_seq_11: ;标号a=a>>1;句 3(若这样, a
10、的初始值随之改变)if(aeq)goto m_seq_12 ;句 2,if a=0,goto m_seq_12b=a & #1 ;句 1if(beq)goto m_seq_11;句 4,if b=0,goto m_seq_l1m_seq_l2:不过,若以正常语序执行if语句时, a、b 的值会因为时延不够,来不及改变而导致程序出错。为避免这种情况,要么在句3 和句2 以及句 1 和句 4 之间分别加上若干个空操作(nop),这样就会影响速度;要么调整它们的顺序,如实际应用中的句1、句 2、句 3、句 4. 有时候,语句顺序实在无法调整,就不得不加上一些空操作。尤其是循环的主体部分, 往
11、往一条语句处理的不好, 就会导致整个程序多运行成千上万条指令。因此, TMS320C54系列编程对程序员的要求较高,必须非常熟悉指令系统,才可以得到高效的程序。2.2.3对数组的循环操作关于对数组进行循环操作,两者平分秋色。它们都支持寄存器地址自动加减。只不过ADSP-2186N的调试界面看上去更直观些。2.2.4对 32 位长操作数操作ADSP-2186N不支持 32 位操作,如果需要的话,必须多条指令共同完成。而 TMS320VC5402经过简单的设置,就可以直接进行一些32 位操作。例如, MD5算法中 4 轮主循环都需要大量的 32 位逻辑运算及加法操作。表 2 示出“与”运算和加法的
12、实例,显然,用 TMS320VC-2186N 实现时,必须将 32 位分为高 16 位和 16 位分别操作,最后再整合。这也是为什么在实现 MD5算法时,用 ADSP-2186N实现不如TMS320VC5402有效的主要原因。实现 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(
13、i0,m1);AR=AX1+AY1+C,AX0=AR;AR;AX1=AR;另外,两者在编程时还有一些不同,例如, TMS320VC5402有标号必须顶格写等要求。总的来说, TMS320VC5402指令系统中有不少的“禁忌”,需要经验积累才可以发现,这就给编程者带来了不便。两款 DSP芯片实现 Geffe 发生器和 MD5算法的具体结果如表3 所示。比较项目程序大小 / 字需要指令周期数需要时间/ sGeffe 发生器 TMS320VC5402ADSP-2186N252188444,816268,2994,448.163,353.74MD5算法 TMS320VC5402ADSP-2186N90
14、03,00934.0037.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芯片有其特殊性,不同公司的芯片,其编程方式差异很大。因此,程序员一旦
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2019人教版小学一年级数学上册期末试卷含答案
- 2025国网安徽省高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题附答案详解(b卷)
- 2026秋季国家管网集团液化天然气接收站管理公司高校毕业生招聘考试备考试题(浓缩500题)附参考答案详解(培优b卷)
- 2026秋季国家管网集团北方管道公司高校毕业生招聘考试参考试题(浓缩500题)含答案详解(培优b卷)
- 2026秋季国家管网集团东部原油储运公司高校毕业生招聘笔试参考题库(浓缩500题)附参考答案详解(研优卷)
- 2025国网陕西省电力校园招聘(提前批)笔试模拟试题浓缩500题参考答案详解
- 2026国网江西省电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题及答案详解(历年真题)
- 2026国网广西高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题及1套完整答案详解
- 2025国网甘肃省电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题及参考答案详解一套
- 2026国网黑龙江省电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题附答案详解
- 英语课程标准研究与教材分析(第2版)课件全套 第1-9章 英语课程标准和英语课程的基本概念 -英语教材难度分析
- 版式设计课件:版式设计概述
- 土方公司挂靠协议书
- 湖北省襄阳四中2025届高三(最后冲刺)生物试卷含解析
- 《思想道德与法治》课件-第四章 明确价值要求 践行价值准则
- 差价居间合同协议
- 2024-2025学年江苏省南京市鼓楼区九年级上学期期中英语试题及答案
- 水土保持生态建设工程施工监理手册-水土保持生态建设工程质量评定表常用表式
- 龙杠会管理制度
- PEM电解系统的控制策略
- 服装厂质量管理手册 1
评论
0/150
提交评论