×
嵌入式 > 技术百科 > 详情

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

发布时间:2021-06-16 发布时间:
|

IARSystems日前发布了支持Atmel全新AVR32嵌入式CPU内核的IAREmbeddedWorkbench。同日发布的AVR32架构,结合IAREmbeddedWorkbenchforAVR32,可用于开发要求苛刻的各种应用,例如消费者娱教、销售终端节点、生物特征扫描、语音识别以及运动探测。 据介绍,在与Atmel公司合作研发AVR硬件设计的同时,IAR公司经过数年的迭代开发以及针对目标应用的软硬件整体分析,IAREmbeddedWorkbenchforAVR32的C/C++编译器实现了先进的应用代码结构识别技术,并且能够充分利用AVR32指令架构中的Single-cycleload/store、SIMD以及DSP指令。因此,IARSystems的C/C++编译器既能优化顺序执行的指令,也能优化并行算法的操作,从而获得良好的每周期处理能力;而对设计者而言这一切完全透明。根据EEMBC基准测试的结果,IAREmbeddedWorkbenchforAVR32编译生成的代码与其它主流的32位嵌入式微处理器的编译器编译的代码相比,编译之后的AVR32代码只需要1/3到1/2的执行周期和1/2左右的存储空间。如果运行由IARSystems最新的C/C++编译器生成的代码,AVR32在每一项EEMBC基准测试中,其性能和代码密集度都始终优于其它主流的32位内核。 据估计,RISC处理器平均有30%的时钟周期被用于执行load/store指令,而不是进行运算。通过实现与大多数常用指针操作密切相关的字节(8位)、半字(16位)、字(32位)和双字(64位)load/store指令,AVR32指令集架构将load/store指令所需的时钟周期数减至最少。通过使用几种成熟而完善的技术,IAREmbeddedWorkbenchforAVR32能够有效地利用这些指令以取得良好的效果:既减少了所生成代码的大小,又降低了运行所需的时钟周期数。 此外,IAREmbeddedWorkbenchforAVR32的高性能指令调度器能够透明地调度并行和顺序的运算操作(无相关数据),从而使得AVR32的三条次级算术流水线(multiplication/MAC、load/store和ALU)达到最大处理能力,且应用程序中总的流水线延迟周期数降到最少。这将显著地提高任何一种应用的性能。 该指令调度机制中的一些高端优化操作能够识别和优化SIMD指令循环中的数据通道。对于需要在单数据流上执行同样操作的特定多媒体运算而言(例如MPEG解码程序中的运动预测),该优化可以使处理能力提高四倍。 IAREmbeddedWorkbenchforAtmelAVR32还支持所有已发布的指令集扩展。这些扩展主要是针对使用饱和算法的信号处理应用,以及重视高效率位操作的控制应用。除了成熟的C/C++编译器,还包含了调试功能,使得在AVR32上的开发和调试最有效率。C-SPY调试器支持先进的基于JTAG的Trace功能,例如functiontrace;C-SPYSimulator能为整个AVR32MMU提供精准的仿真。IARSystems的调试器技术在Atmel公司设计AVR32内核的过程中同样得到了运用。 IAREmbeddedWorkbenchforAVR32将于Atmel首次发布AVR32芯片的同时在全球开始发售。全功能版本的IAREmbeddedWorkbenchforAVR32的最终用户许可单价将大约为4,995美元。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
分拣机器人的工作原理是什么