论文部分内容阅读
MIPS的意思是Microprocessor without Interlocked Pipeline Stages,即无内部互锁流水级的微处理器,它是世界上很流行的一种RISC处理器。与CISC相比,RISC的设计周期更短,设计也更简单,且可以利用更多的先进技术来开发更高效的下一代处理器。MIPS本身并不具备自举开发能力,必须有交叉编译和调试开发环境才能进行开发。另外,由于嵌入式系统的特殊产品特征要求应用软件具有低功耗、执行速度快、占用空间小等特点,这不仅要求设计人员高效合理的设计应用程序,同时也要求嵌入式系统编译器能够进行足够多的优化。其次,多种多样的MIPS处理器对编译器的可重定向性提出了一定的要求,以便能快速支持新的处理器平台上的软件开发。本文以面向32位MIPS处理器的LCC后端移植和优化为主线,详细分析了LCC的整体结构和MIPS体系结构的特点。按照嵌入式系统开发的特殊要求对面向32位MIPS处理器子集的代码生成器进行改进,实现了MIPS汇编器并针对汇编代码的优化进行了研究。本文的主要工作有:(1)深入调研目前主流的可重定向编译器,选择LCC编译器作为研究对象;(2)对基于LCC面向MIPS的机器描述文件进行修改,以满足32位MIPS处理器子集指令的要求;并利用LBURG工具构建代码生成器,以便生成MIPS汇编语言程序;(3)分析典型的一遍扫描汇编器,设计并实现一个两遍扫描汇编器,将MIPS汇编语言程序翻译成机器语言程序;(4)分析并总结编译阶段已有的优化策略和具体实施方法,设计出针对MIPS汇编程序的优化方案;(5)研究32位三级流水线MIPS处理器,并通过ISE模拟运行该MIPS处理器。最后利用PCSPIM和ISE自带的仿真软件ISim(ISE Simulator)分别对改进的代码生成器、实现的汇编器进行功能测试和验证。测试和验证结果显示代码生成器和汇编器符合设计目标。