节点文献

基于THUMP的编译优化技术研究

Research on Compiler Optimization Technologies for THUMP

【作者】 崔慧敏

【导师】 张素琴;

【作者基本信息】 清华大学 , 计算机科学与技术, 2003, 硕士

【摘要】 编译程序不仅是任何计算机系统的重要系统软件,也是处理器开发支撑环境的主要组成之一。论文研究了C、C++以及Java优化编译环境,为清华大学自主研制的32位高性能低功耗的RISC处理器-THUMP提供开发环境。论文介绍了THUMP的C、C++编译器的总体结构以及设计方案,并详细阐述了利用可重定向编译器GCC实现THUMP的C、C++编译器的方法和过程,包括延迟槽修改、指令互锁的实现、宏指令展开以及软件浮点库的生成等,并实现了THUMP的交叉编译器和本地编译器。论文讨论了如何利用THUMP体系结构的特点进一步提高目标代码生成质量的优化技术,并实现了两种窥孔优化,包括针对THUMP的多媒体指令的优化算法和基于THUMP的高速乘除处理部件的优化算法。实验数据表明所进行的优化对于典型图像处理程序和立即数与变量相乘运算较密集程序具有良好的效果。论文还给出了THUMP的Java优化编译器的设计方案。THUMP的Java优化编译器以ORP的动态编译系统为基础,利用其profiling机制和动态重编译机制等进行优化。论文对方案的可行性进行了合理的分析。

【Abstract】 THUMP is a high-performance 32-bit RISC processor which is designed and developed by Tsinghua University. Compiler is not only one of the most necessary components of the system, but also important during the processor development. The thesis discusses the design and implementation of optimized C、C++ and Java compilers for THUMP.Firstly the thesis introduces the frame and design of the C、C++ compiler, and discusses the implementation of the compiler based on GCC, which is a retargetable compiler. The implementation considers the architecture of THUMP, including the delay slots, the instruction interlock, macro expansion, and libraries for soft-float. And addresses the process developing the cross compiler and native compiler for THUMP.Then the thesis presents two peephole optimizations for the C、C++ compiler based on the architecture of THUMP to improve the quality of generated codes. One optimization is on multimedia applications. Since THUMP supports two MMX instructions, the optimized compiler can generate these instructions to improve the performance. The other optimization is on multiplication of immediate operand and variable. This optimization is based on the multiply/divide unit and utilizes its pipeline. Both of these optimizations can reduce the execution time and size of object codes.Finally the thesis discusses the design of optimized Java compiler for THUMP. Based on the research of dynamic compilation, the design of the compiler is studied. ORP, which is a dynamic compiler, is considered to transplant from x86 to THUMP, due to the analysis of it mechanisms of profiling and recompilation. And two optimizations are designed for THUMP based on ORP.

  • 【网络出版投稿人】 清华大学
  • 【网络出版年期】2004年 02期
  • 【分类号】TP314
  • 【下载频次】146
节点文献中: