首页 » 业界动态 » 高主频并不意味着高性能

高主频并不意味着高性能

作者:  时间:2009-03-16 15:50  来源:eaw

在过去的几年中,AMD公司一直在向OEM厂商,PC制造商和消费者灌输一个思想,即时钟频率并不能准确反映个人电脑中CPU的性能。原因在于,即使不提高主频,处理器设计者也可以通过改进处理器的架构来提升性能。事实上,高主频的处理器在获得性能提升的同时功耗增加更为明显,所以,当前的主流CPU供应商都在生产较低频率的多核处理器而不是拼命提高单个处理器的主频。

在嵌入式处理器领域,同样存在这种趋势并且更甚,因为对于嵌入式移动设备来说,为了延长电池使用时间,对处理器的功耗/能耗都提出了更高的要求。非移动嵌入式设备虽然不存在电池的问题,但消费者希望他们的机顶盒和平板电视不要传出吵人的风扇声,IT经理们则希望机房中的路由器足够省电从而降低运行成本,这都要求SOC设计团队在尽可能低的主频下达到性能要求。

消费者希望获得高性能的同时也有更长的电池使用时间

在消费类移动设备领域,为了在不断变化的市场中保持份额,系统设计者们必须不断为嵌入式产品添加新的功能:听音乐,看电影,打电话,阅读文档,收发电子邮件, PMP、手机或者PDA上的这些新功能都需要应用和多媒体芯片能够提供更强的运算能力。

多年以来,传统的固定架构RISC处理器一直通过加长流水线,提高主频来提高运算能力。采用这种办法,在过去五年中,处理器主频的增长速度比同期半导体工艺提升的速度还要快。虽然更高的主频暂时可以满足一般应用程序的性能需求,但对于多媒体或者无线基带处理这样的DSP应用程序,因为不能像通用处理器那样利用高速的片上缓存(SRAM)来弥补片外大容量DRAM速度的不足,性能需求依然无法满足。而且高主频还会带来功耗增加,面积变大,甚至总体性能下降等其他问题,下面我们会一一进行讨论。

加长流水线、提高主频带来的问题

传统的RISC处理器通过加长流水线来获得更高的主频。流水线级数的增加使每一级中的逻辑电路都变得更简单,执行起来更快,从而使整个处理器可以工作在更高的主频上。但是,加长流水线也会带来许多严重的问题:

• 分支跳转与分支预测失败带来的开销变大
• 控制逻辑和各级流水线间的数据传递将占用更大的芯片面积
• 为了减少分支跳转开销需要更强大的分支预测逻辑从而占用更大的芯片面积
这些问题都会降低处理器的效率,由于这些因素导致的性能下降会抵消高主频带来的性能提升。

然而,最严重的问题并不是这些,而是由于提高处理器主频带来的功耗和能耗迅速增加。在最好的情况下,功耗随处理器主频成比例增长;而实际上,加长流水线所增加的芯片面积带来的功耗增长更快;芯片的静态功耗与主频之间更是呈指数关系—静态功耗随处理器主频增加的速度要快得多。
在依靠加长流水线来提供更强运算能力的同时,这种方法也大大降低了电池的使用时间,而电池使用时间已经成为消费者们决定是否购买个人媒体播放器、手机、PDA等移动设备时的关键因素。因此,芯片功耗已经同面积和性能一样成为SOC设计人员非常重视的设计指标。

单纯依靠提高处理器主频来达到性能指标已经不再是一个好的设计策略,因为过高的主频使处理器功耗迅速增加,而与之配合运行的高速缓存(SRAM)也会增加功耗。那么,有没有办法在不提高主频的前提下增强处理器的性能呢?

不提高主频的前提下增强处理器性能

如果在设计处理器时已经知道将要运行在上面的应用程序,那么设计者就可以根据应用程序的特点来优化处理器,从而在不提高主频的前提下大幅度增强性能,一般来说,这种性能提升可以达到一两个数量级,即10倍到100倍。通过发掘应用中指令和数据的并行性,为处理器添加专用指令和硬件单元来加速某种或某类特定应用程序的执行。现在,使用自动化配置和扩展工具来定制一颗针对特定应用优化的Tensilica Xtensa处理器已经非常简单方便。优化的过程并不需要专业的处理器设计人员,自动化的处理器生成器可以产生优化后的处理器硬件和对应的软件工具链。

即使在设计处理器时还不能确定将要在上面运行什么样的程序,我们仍然可以不提高主频而增强处理器性能。例如,一颗基于超长指令字架构的处理器就可以在相对比较低的主频下提供较高的性能。Tensilica的Diamond 570T是一颗三发射超长指令字处理器,在EEMBC的嵌入式处理器评测中获得了最高分,运行在200-250MHz的频率下的570T可以提供主频比它高2倍的单发射处理器同样的性能。

EEMBC的测试结果经常用来作为不同类型处理器间性能比较的基准,因为该测试集覆盖了广泛的应用领域,并且都是各个领域中运行在嵌入式处理器上的典型应用程序。如图1 所示,Diamond 570T处理器的性能超越了ARM 11和MIPS 24K超长指令字架构的处理器每条指令完成不止一种操作,像Diamond 570T这样的三发射超长指令字处理器每个指令周期可以做三个操作,理论上可以提供三倍于同频单发射RISC处理器的性能。(某些DSP处理器也采用超长指令字架构来提高性能,例如TI的C6x系列高性能DSP。)

Diamond 570T: 高性能的嵌入式处理器

Diamond 570T 基于RISC 5级流水线架构,在Xtensa基本指令集上增加了超长指令字功能。Xtensa基本指令集使用16位或24位的指令长度以获得很高的代码密度,减小了对指令存储器的需求从而降低成本。与此同时,570T的超长指令字使用64位指令长度,但与其它超长指令字架构不同的是,570T的64位超长指令可以无缝的与16位、24位的指令混存,并且执行时无须进行模式切换。编译器可以自动选择合适的指令,在提高性能的同时保持很高的代码密度。

570T的软件开发套件(SDK)包括Xtensa C/C++编译器(XCC),以及一整套基于GNU的工具链,包括调试器(debugger)、性能分析器(profiler)、汇编器(assembler)和链接器(linker)。XCC编译器可以自动分析出C/C++源代码中可以并行执行的指令,并且用64位的超长指令来替换它们。SDK中还包括一个周期精确的指令集仿真器,一个快速功能仿真器以及用于系统仿真的处理器模型(基于C的模型和基于System C的模型)以较小的芯片面积获得高性能意味着较低的功耗.

虽然570T是一个3发射静态超标量处理器,它所占用的芯片面积却比那些高主频的处理器要小很多。这也是采用超长指令字架构的优势之一:利用指令并行而不是加长流水线的方式来提高处理器的性能。

Diamond 570T的面积大约是其它两款处理器的50%,在EEMBC的测试中,其单位频率的性能
平均可以达到ARM11的2.5倍或MIPS24K的2.2倍。更小的芯片面积也带来了更低的功耗,在提供同样性能的前提下,Diamond 570T的功耗只有ARM11和MIPS24K的1/6。

总结

衡量一颗嵌入式SOC处理器的指标包括面积、性能、功耗和价格。传统的方法将处理器性能与主频等同起来,而Diamond 570T采用指令并行的方式在不提高主频的前提下也可以增强处理器性能,并且具有更小的芯片面积和更低的功耗。

消费者对于移动设备中静音和电池使用时间的需求使得功耗水平成为SOC芯片中选择处理器的关键因素。这种趋势需要在较低主频下提供高性能,从而推动了像Tensilica Xtensa这样针对应用优化的处理器和Diamond 570T这样的多发射通用处理器的应用。

相关推荐

Ctrack选用u-blox GPS和蜂巢式模组开发车队管理解决方案

u-blox  嵌入式  Ctrack  2014-05-21

动作撷取追踪的嵌入式体感控制新技术

嵌入式  体感控制  2013-12-06

嵌入式系统的固件更新

嵌入式  Flash  RAM  缓冲区  2013-09-12

汽车电子向一体化集成、网络化与智能化发展

汽车电子  嵌入式  2013-05-23

东芝开发嵌入式SRAM低功耗技术智能手机

东芝  嵌入式  SRAM  2013-02-23

飞思卡尔基于ARM平台全系列MCU引领嵌入式应用新趋势

飞思卡尔  ARM  嵌入式  2013-01-29
在线研讨会
焦点