看一刻钟视频,C/C++代码运行效率就提高了?

作者:stark

我们在实现嵌入式系统功能的同时毫无疑问还需要进行系统工程的优化,尤其是代码的优化,这样才能够充分发挥嵌入式处理器的性能,让代码执行的更快。通常我们会采用三种方式:一是提升处理器的时钟速度,比如采用更高速度等级的器件,二是采用更多内核的处理来分担任务负载,三是采用更高端代码兼容性更强的处理器。这三种方式无疑会增加系统功耗和成本,另一种方式就是采用Xilinx All Programmable Zynq SoC和Zynq UltraScale+ MPSoC多核异构系列器件。

图1:Xilinx推出的Zynq UltraScale+ MPSoC多核异构器件

图1:Xilinx推出的Zynq UltraScale+ MPSoC多核异构器件

Zynq系列的可编程逻辑资源来实现,发挥其并行计算的特性技能大大提升代码执行的效率同时也降低了处理器(PS)部分的负载,从而降低处理器运行时钟频率相当于减少了系统功耗。

当然要实现自定义的硬件加速器也不是想象的那么简单,因此Xilinx推出了专业的开发工具——SDSoC,它包括简单易用的 Eclipse IDE 和综合设计环境提供业界首款 C/C++/OpenCL 全系统优化编译器,可实现系统级的特性描述、可编程逻辑中的自动软件加速、自动系统连接生成以及可加速编程的各种库。此外,它还可帮助最终用户及第三方平台开发人员快速定义、集成和验证系统级解决方案,为其最终用户实现定制化编程环境。SDSoC帮助开发人员充分发掘Zynq SoC和MPSoC的性能,提升超过10倍的软件性能加速。

图2:Xilinx SDSoC工程开发流程

图2:Xilinx SDSoC工程开发流程

将C/C++代码转换为硬件加速器来实现要采用三步来实现:

  • 代码分析,判断哪些是时间消耗型任务,哪些对实时型操作有严格的要求
  • 基于大量数据的软件/硬件模块划分
  • 基于系统划分的软件/硬件编译配置
  • 视频:【C/C++代码硬件加速,打破系统性能瓶颈】

    声明:本文为原创文章,转载需注明作者、出处及原文链接,否则,本网站将保留追究其法律责任的权利