什么样的处理器会引领嵌入式行业的未来

本文来自华强电子网

尽管高科技市场的发展起伏不定,但是嵌入式行业却一直持续强劲地发展,在复杂性、有用和高效等方面都达到了一个前所未有的高度。随着嵌入式应用领域的日益扩展,如:手机、磁盘驱动器、PDA、网络交换机、打印机等等,要定义“嵌入式”这个概念本身正变得越来越困难。不过有一点可以肯定,那就是嵌入式领域内的诸多应用对诸如性能、价格、功耗等各项指标有着各种不同的要求。为了适应这些不同要求,直接驱动各种应用的处理器也在同时迅速发展。举例来说,过去的十年中,ARM处理器已经从简单的ARM7TDMI内核发展到了最新的ARM11EJ-S内核。

<script src="http://www.hqew.com/ASNew/Include/A_Service.asp?AS_PID=10" type="text/javascript"></script>

  从根本上来说,一个处理器(或处理器公司)的生存与成功取决于顾客的满意度。而顾客的满意度又由许多数量和质量上的因素决定。质量因素包括客户关系、技术支持、客户服务、新品开发、公司的稳定性以及丰富的产品线等等。尽管很难用这些弹性指标来对不同的处理器提供商进行具体比较,但有一个事实,那就是多数的处理器提供商(包括IP和芯片商)在上述各个方面都做得不是很令人满意。特别对于IP提供商来说,要做到这些似乎更加困难,因为他们首先要了解客户的各种不同要求。举个例子来说,一个IP提供商需要既能够为有着丰富芯片制造经验的大公司提供技术支持,同样要能够为那些无工厂、没有任何制造经验的新兴设计公司提供足够的帮助。

  嵌入式领域对处理器的需求分析

  虽然某些定量指标可以帮助用户在不同的处理器之间进行比较,但是作一次详尽的分析比较仍然更为重要。这些需要仔细衡量的因素包括:性能分析、功耗和效率分析、开发工具支持以及价格(要从设备和系统角度全面考虑)。

  嵌入式领域内有许多种处理器性能分析方法,比如执行一段指定程序的速度。当然,在选择处理平台时,最理想的测试向量应该是应用程序自己;在满足工作要求的条件下,价格最低、功耗最小的那一个就是用户所需要的。但是这样的性能分析方法很难实际应用,因为需要先把用户程序在各种不同的硬件平台上进行移植和优化,这个工作量会相当的惊人。尤其在众多的处理器当中进行初选的时候,这样的方法更不可行。

  目前,终端用户可以使用的测试向量非常之多,问题是如何正确选择最为接近目标应用的测试向量。换句话说,要先对最终应用程序在待选平台上的运行情况和测试目的有明确的预期,然后再有针对性地挑选符合要求的特定测试向量。

  如今适用范围最广(但不是最流行)的测试向量是Dhrystone。但是EEMBC验证实验室(EEMBC Certification Labs, 即ECL)的最新研究表明,Dhrystone不仅不适于当作嵌入式系统的测试向量,甚至在其他大多数场合下都不适合进行应用。Dhrystone有许多漏洞,例如:易被非法利用、人为痕迹明显、代码长度太短、缺乏验证及标准的运行规则等等。

  现在越来越流行的测试向量是业界统一标准的EEMBC测试向量。EEMBC (Embedded Microprocessor Benchmark Consortium)是一个非赢利性的机构,专门致力于帮助设计人员快速有效地选择处理器。该协会到目前为止一共发布了46个性能测试向量,分别应用于电信、网络、消费类产品、办公设备和汽车电子这五大领域(更多详细信息,请访问http://www.eembc.org/about.asp)。 EEMBC另外一个重要的功能是为所有的测试向量发布一个正式的测评结果认证。这样就有效地保证了该组织的权威性。

  EEMBC 一般使用两种测评方法:标准型的(out-of-the-box)和全定制型的( full-fury)。标准型方法允许用户使用各类代码编译器选项设置、但不可以改变测试向量的源代码。主要目的是测试处理器和响应编译器的能力。与之相反,全定制型方法则允许修改测试向量的代码,用户可以从性能最优的角度考虑,使用汇编、专用库函数、硬件加速程序等各种可能的有效手段,目的是测试该处理器的最大性能指标。如果用这两种方法测试下来的结果相差很大,说明系统设计者在使用该处理器的时候,针对性的移植工作量将会很大。反之,如果两者的差别很小,那么就说明很小的代码改动(甚至可能只需要作一些编译器优化设置)就可能带来大幅度的性能提高。

  多种嵌入式处理器大比拼

  分析和比较处理平台既是一门科学,也是一门艺术。说它是科学,因为它讲究求实事求是;说它是艺术,因为测试向量的设计和比较方法的确定充满了变数。举例来说:图1比较了几种不同处理器的性能。乍一看,摩托罗拉MPC7455显然是最好的一款处理器;对于苹果电脑或高端的网络路由器应用来说,这的确是对的。但是再问一下,您会选择哪一个作为手机的处理器呢?图1中各点表明了单位功耗下各处理器的性能比较。很明显,对于像手机这样的电池供电设备来说,ARM1020E是最好的选择。

 


  有时候,通过归一化测试向量,用频率来对不同的处理器做比较会比较容易。与之相对应的是,还可以用每MHz处理器完成的循环或迭代数来进行比较,这种方法能帮助统计系统每个指令花费的平均周期数(CPI )或每个周期能够完成的指令数(IPC)。显然,IPC是一个有用的指标,因为它以处理器每个时钟周期可以完成的工作量表示了该处理器的效率,这对于用电池供电的应用来说十分有用。当然,将测试向量归一化进行比较会抹杀掉一些处理器架构体系方面的特性。设计各种不同架构体系的目的是在面对特定应用的时候,处理器能有更高的效率。例如,某些内核被设计成带有很长的流水线和很复杂的存储器控制系统,目的是为了提高频率性能,在一定的时间可以内完成更多的工作。

 

  ARM处理器微体系结构的演变

  图2描述了ARM处理器结构发展的过程,从一个简单的三级流水线到先进的8级流水线结构。有趣,或者说令人惊讶的是,用单个的时钟来对这些处理器进行比较,性能差别非常的小。然而,在现实应用中,ARM11显然是ARM家族中性能最强的一个系列。这是因为ARM7TM 通常只能在200MHz以下的频率运行,而在0.13微米工艺下,ARM11TM的运行频率高达500-700MHz,自然就带来了更为强大的性能。

 


  ARM处理器在增加流水线级数的同时,还在结构设计方面进行了别的改进。比如在ARM1026EJ-STM内核里面,利用一个返回堆栈,可以减少子程序返回时的流水线刷新时间,从而极大地提高了系统性能。

 

  EEMBC的测试结果表明这种返回堆栈能够提供平均1.1%的性能提高,在某些特殊的应用中,这个数字还会增加。事实上,EEMBC的大多数测试向量并不使用太多的子程序,因而在一定程度上低估了这个返回堆栈的作用。

  ARM11中另一个重要的结构改进,是静、动态组合的跳转预判。ARM11包含一个64端口、4种状态的跳转目标地址缓存,用来存储最近使用过的跳转目标地址。静态跳转预判处理那些动态跳转预判没有在目标地址缓存里面找到的地址。通过EEMBC的测试结果分析,使用静态跳转预判可以正确判断出77%的跳转地址,使用动态跳转预判可以达到88%的正确率,而如果把静态和动态跳转预判组合使用,则有92%的跳转地址可以被正确预判。显然这将会极大地提高IPC指标,尤其是对那些存在许多条件跳转指令的测试向量或应用程序。

  除了那些架构及微体系技术继续发展之外,还有许多其他方法被用来提高处理器的性能。例如,新的ARM11支持单指令多数据(SIMD)指令,可以使某些算法的运算速度提高2-3倍。通过AMBA总线加入的特殊协处理器甚至可以使系统性能提高得更多。例如Amphion公司的一个JPEG2000编码器,使用通用ARM处理器,可以满足实时压缩尺寸超过电视标准图像的要求。

(编辑 Linda) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值