基于嵌入式CPU内核 IAR Systems 32位编译器执行周期减半

时间:2007-12-12

  IAR Systems日前发布了支持Atmel全新AVR32嵌入式CPU内核的IAR Embedded Workbench。同日发布的AVR32架构,结合IAR Embedded Workbench for AVR32,可用于开发要求苛刻的各种应用,例如消费者娱教、销售终端节点、生物特征扫描、语音识别以及运动探测。

  据介绍,在与Atmel公司合作研发AVR硬件设计的同时,IAR公司经过数年的迭代开发以及针对目标应用的软硬件整体分析,IAR Embedded Workbench for AVR32的C/C++编译器实现了先进的应用代码结构识别技术,并且能够充分利用AVR32指令架构中的Single-cycle load/store、SIMD以及DSP指令。因此,IAR Systems的C/C++编译器既能优化顺序执行的指令,也能优化并行算法的操作,从而获得良好的每周期处理能力;而对设计者而言这一切完全透明。 

  根据EEMBC基准测试的结果,IAR Embedded Workbench for AVR32编译生成的代码与其它主流的32位嵌入式微处理器的编译器编译的代码相比,编译之后的AVR32代码只需要1/3到1/2的执行周期和1/2左右的存储空间。如果运行由IAR Systems的C/C++编译器生成的代码,AVR32在每一项EEMBC基准测试中,其性能和代码密集度都始终优于其它主流的32位内核。

  据估计,RISC处理器平均有30%的时钟周期被用于执行load/store指令,而不是进行运算。通过实现与大多数常用指针操作密切相关的字节(8位)、半字(16位)、字(32位)和双字(64位)load/store指令,AVR32指令集架构将load/store指令所需的时钟周期数减至少。通过使用几种成熟而完善的技术,IAR Embedded Workbench for AVR32能够有效地利用这些指令以取得良好的效果:既减少了所生成代码的大小,又降低了运行所需的时钟周期数。

  此外,IAR Embedded Workbench for AVR32的高性能指令调度器能够透明地调度并行和顺序的运算操作(无相关数据),从而使得AVR32的三条次级算术流水线(multiplication/MAC、load/store和ALU)达到处理能力,且应用程序中总的流水线延迟周期数降到少。这将显著地提高任何一种应用的性能。

  该指令调度机制中的一些高端优化操作能够识别和优化SIMD指令循环中的数据通道。对于需要在单数据流上执行同样操作的特定多媒体运算而言(例如MPEG解码程序中的运动预测),该优化可以使处理能力提高四倍。

  IAR Embedded Workbench for Atmel AVR32还支持所有已发布的指令集扩展。这些扩展主要是针对使用饱和算法的信号处理应用,以及重视高效率位操作的控制应用。 

  除了成熟的C/C++编译器,还包含了调试功能,使得在AVR32上的开发和调试有效率。C-SPY调试器支持先进的基于JTAG的Trace功能,例如function trace;C-SPY Simulator能为整个AVR32 MMU提供精准的仿真。IAR Systems的调试器技术在Atmel公司设计AVR32内核的过程中同样得到了运用。

  IAR Embedded Workbench for AVR32将于Atmel首次发布AVR32芯片的同时在开始发售。全功能版本的IAR Embedded Workbench for AVR32的终用户许可单价将大约为4,995美元。 

 



  

参考文献:

[1]. RISC datasheet https://www.dzsc.com/datasheet/RISC_1189725.html.


上一篇:TriQuint推出四频GSM/EDGE功率放大器模块
下一篇:飞思卡尔低功耗UHF发射器适用于胎压监测系统

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料