论文部分内容阅读
GNU GCC编译器已经被广泛应用于CISC、RISC等各种处理平台,是一种支持多平台、多语言的、易于移植的编译系统。随着DSP技术的发展,特别是新一代DSP芯片的诞生,采用汇编语言对DSP进行的程序设计,已经越来越不能满足DSP发展的要求。因此,迫切需要发展能够针对特定DSP芯片的编译器,来进行高级语言的编程。本文通过对GNU GCC编译器的研究,提出了针对具体一个DSP处理器的在编译的汇编阶段的优化方案。 本文首先简要介绍了DSP发展的概况,和目标DSP的一些特点,并对开发的DSP C编译器作了简单说明。随后,分析了GCC的一般基本原理和通用优化方法,并介绍了目标编译器的后端处理方法。在此基础之上,本文根据开发的实际情况和GCC的特点,着重介绍了编译器后端的优化处理方法。针对DSP本身固有的特点,本文以GCC为基础,对编译器产生的局部及全局的DSP汇编代码提出了优化方法,包括单周期的MAC指令,硬件支持的循环,辅助寄存器的分配,基本块内和全局的优化等等,并通过实际指令代码的比较测试,发现优化后的编译器生成的DSP处理器的目标代码具有较高的执行效率。 目前,编译器已经能够稳定地进行包括GCC的基本的优化,新增的基于目标DSP的基本块精简优化、辅助寄存器AR分配替换优化、全局指令精简优化等等。本文的工作对同类DSP处理器的编译优化具有一定的参考价值。