logo
首页 产品中心 支付方式 联系我们
AVR32应用笔记 AVR32单片机快速入门 AVR32与ARM的比较

AVR32与ARM的比较

以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!

  以往半导体厂商通过提高处理器运行速度来提高处理能力,但这对于便携式设备并不利,因为加快时钟周期会增加功耗并减少电池寿命。而ATMEL的AVR32所采取的措施是提高每个时钟周期内处理器的处理量。该架构将延长便携式视频播放器、MP3 播放器和移动电话等便携式和手持多媒体产品的电池寿命。例如,以100 MHz运行时,AVR32核心可完成解码四分之一 VGA MPEG4 电影所需的处理工作,该格式被 iPod等多种手持视频播放器使用,而其他处理器需要以266MHz运行。因此,对于终端用户而言,这就延长了电池使用寿命。

   通过将AVR32的时钟频率提高至400MHz或以上,该架构可用来处理更多任务,此外,还可减少附加的处理器或硬件加速器,从而减少成本,并改善系统整合和可靠性。

  测试结果
  

  ATMEL内部团队的测试结果:

  在执行‘差分绝对值之和(sad)'和‘反离散余弦变换(idct)'等目标算法时,AVR32 AP7每个指令周期的计算吞吐量较ARM11内核提高了35%。这相当于在100mhz的时钟频率下,具备以30帧/秒的速度对qvga mpeg-4视频解码的能力,如果用ARM11实现的话则需要150到175mhz的时钟频率。

  嵌入式微处理器基准协会(EEMBC)的测试结果:

  据测试,在许多方面,AVR32 AP7的表现都超过ARM9。由嵌入式微处理器基准协会(EEMBC)进行的AVR32初期基准测得,该产品每个时钟周期性能是其他处理器的三倍。更快的处理能力意味着应用产品可以更少的时钟运作,从而降低功耗,并延长终端产品的电池寿命。此外,与其他处理器相比,AVR32编码长度减少50%。

  AVR32性能分析

   ATMEL公司设计AVR32的目的,就是提供一种处理器,能够以极低功耗(便携式消费类多媒体设备的必要条件)有效完成日益增加的信号处理任务。此外,该内核还能够执行mpu和dsp双重功能。

   根据ATMEL的说法,AVR32架构代表了一个“众多优秀设计理念的集合”。这个集合包括一个独特的带有硬件分支预测的管线架构、专用dsp硬件(位于微处理器管线内部)以及单指令多数据(simd)扩展。

  “人们通常通过提高时钟频率并加入更多的门电路来提高微处理器的性能,但是这样的竞赛已经结束。”ATMEL挪威公司AVR业务部的执行总监alf-egil bogen说。反之,竞争的新重点是在提高单时钟周期吞吐量的同时,如何使所消耗的功率达到超低。

  “我们采取了一种非常学术的做法,通过关注微处理器架构的每一个细节,来达到更高的吞吐量和优化的代码密度。”ATMEL挪威公司的芯片设计师oyvind strom介绍。

  “从高级层面来说,AVR32架构与ARM11和mips24kec架构极为类似。”berkeley设计公司的bier评论道,“AVR32使用的大部分技术,似乎都可以从面向信号和多媒体处理应用的微处理器中找到。”

  32位内核AVR32拥有多条管线

  AVR32架构的重要特性包括一个单独的负载/存储管线、带有分支消除(branch folding)的分支预测、simd技术(例如借助单指令完成两个16位操作的能力)、一个16/32位指令集(自由混合,无需模式改变),以及执行sad算法的能力(加速视频压缩)。

  “上述特性没有一个是AVR32所独有的。”bier指出,“但是进一步观察AVR32架构的细节就会发现,其中诸多单元与arm11和mips24kec有着天壤之别,这些不同为AVR32带来了一些优势。”

  例如,因为其管线的工作方式,arm11和mips24kec存在与某些重要指令相关的多周期延迟。“这为编译者或汇编程序师获得最高性能带来了挑战。”bier说,“但是这个问题的难度对AVR32来说小得多。”

  更具体地来说,ATMEL在其AVR32多管线架构中支持“无序”执行,strom说。

  通常,一条复杂的指令需要多个时钟周期,而且管线在该指令完成之后就处于停顿状态。但是AVR32拥有三条管线,即负载/存储、乘法和算术逻辑单元,它们依据无序的不相关数据执行算术操作。例如,AVR32不是在除法完成之后才中止代码,而是让指令由可用的资源来执行。

  “AVR32另一个意义重大的地方在于可以自由混合16位和32位指令。”bier指出。这点之所以重要是因为并非所有的东西都以32位数据格式出现。如果没有这种混合能力,从一个字中挑选合适的字节就会困难得多。
“在其它一些内核,如arm1136中,你不得不执行一条模式变化指令才能实现16和32位指令集之间的切换。”bier说,“这个差别意味着AVR32可以获得更紧凑的代码密度。”

  确实,优化的代码密度十分重要。如果需要执行的程序能够减少,那么需要的时钟周期也会减少。此外,高代码密度意味着该代码在高速缓存器中占据较少的空间,这样高速缓存器中就可以存储更多的指令。“这样不仅可以减少高速缓存器丢失数据的可能,还有利于降低成本。”ATMEL公司的bogen补充道,“因为必需的程序存储器减小了。”

  forward concepts公司的总裁will strauss认为AVR32的表现很不赖,他引用了AVR32在eembc基准下的性能评估结果来证明其言论。评估结果显示,在需要mpu和dsp双重功能的应用中,AVR32击败了arm9和arm11家族。不仅如此,该款器件在代码密度方面的得分也优于arm1020。

  那么将AVR32与ti的omap解决方案相比结果又如何呢?strauss指出,ti的omap平台是一个包含多处理器的芯片(arm内核+ti dsp),而AVR32则从一开始就针对mpu和dsp设计,而且只需单独一套开发工具。”

  但是没有人真正希望ATMEL的AVR32打入手机世界。“AVR32不可能在手机领域获得设计胜出,该领域完全由基于arm的芯片所主导。”bier表示,“AVR32可能对pmp以及其它低成本消费电子更具吸引力。

  面向运算增强型应用的mpu内核

  “但是,如果对ti、adi以及飞思卡尔正在销售的多媒体应用芯片进行观察,你就会发现它们是带有大量现成软件和其它开发基础架构的复杂soc。”他说,“如果ATMEL想为AVR32寻找出路的话,它必须采取相应的措施。”

  ATMEL计划在AVR32内核基础上推出几个处理器系列。首先会是针对消费类多媒体应用的soc解决方案,预定产品在这个月就将面世。

  虽然AVR32内核在ATMEL晶圆厂制造的asic中得以使用,但是ATMEL表示它不会对其它的生产商发布授权。目前第三方可以通过定制芯片的形式获得内核,但是ATMEL将坚持自己生产该器件。

  在工具方面,ATMEL认为它已经尽全力去优化其开发工具,并尽可能地使现有AVR8 mcu的用户平滑过渡。公司位于挪威的团队已经同瑞典一家知名的工具公司iar进行了多年合作。iar的编译器有助于ATMEL测试AVR32的架构并优化其指令集。iar还对其编译器进行了改进,以便更好地适用于该架构。

  以往半导体厂商通过提高处理器运行速度来提高处理能力,但这对于便携式设备并不利,因为加快时钟周期会增加功耗并减少电池寿命。而ATMEL的AVR32所采取的措施是提高每个时钟周期内处理器的处理量。该架构将延长便携式视频播放器、MP3 播放器和移动电话等便携式和手持多媒体产品的电池寿命。例如,以100 MHz运行时,AVR32核心可完成解码四分之一 VGA MPEG4 电影所需的处理工作,该格式被 iPod等多种手持视频播放器使用,而其他处理器需要以266MHz运行。因此,对于终端用户而言,这就延长了电池使用寿命。

   通过将AVR32的时钟频率提高至400MHz或以上,该架构可用来处理更多任务,此外,还可减少附加的处理器或硬件加速器,从而减少成本,并改善系统整合和可靠性。据悉,AVR32样片将于四月份推出。

AVR32与ARM的比较

——