多处理器片上系统软件编译与优化技术解析
1. 编译框架关键输入与特性
在多处理器片上系统(MPSoC)的编译过程中,除了将CPN程序作为功能规范外,用户提供的映射信息(mapping info)至关重要。映射信息明确了进程到处理元素的空间映射以及执行的时间顺序,它与CPN程序共同决定了应用程序在目标硬件平台上的性能。与试图自动计算映射和调度的整体方法不同,我们将映射信息设计为核心编译器的输入,以保持简洁的软件架构。映射信息既可以由用户手动提供,也可以由外部工具生成。
编译框架的转换以模块化方式实现,能够以即插即用的方式针对不同目标平台进行定制。大量常见的转换可以在许多MPSoC目标之间复用,这大大简化了框架的重定向过程。同时,还可以开发特定于目标的转换,以更好地利用特定的硬件细节。
得益于可扩展的设计,编译框架可以与其他先进工具协作。例如,智能映射信息生成器可以轻松集成到核心编译器框架中。在一些嵌入式系统设计场景中,软件开发需要与架构开发同时进行,我们的工作也有助于将编译器框架重定向,以与电子系统级(ESL)设计工具配合使用,实现早期的系统级设计。
这种灵活可扩展设计的主要理念是实现组件在构建不同MPSoC平台编译器框架时的复用,从而以最小的努力实现重定向,并且每个新平台只需进行一次重定向。由于当今嵌入式系统设计不可避免地涉及许多第三方和供应商工具,这种设计也便于与这些工具协作,保护现有的软件投资。
2. MAPS框架的软件分发
MAPS框架是为程序员在集成开发环境(IDE)中修改和优化应用程序而构建的交互式工具。为了进一步帮助程序员,MAPS还包含一组可配置的算法,用于自动化优化过程的不同步骤。其中最显著的过程是软