Summary: | 碩士 === 國立中山大學 === 資訊工程學系研究所 === 98 === This thesis work is part of a larger project to develop a Graphics Processing Unit (GPU) for embedded systems. In support of this larger project, this thesis describes the basic compiler for our new GPU. The compiler presented here is essentially a C compiler for our new GPU. Our compiler does, however, have indirect support for the OpenGLES 2.0 shading language (GLSL), because an OpenGL-to-C converter can be applied to the code. The final code produced by this approach is poor, however, because of the loss of information during the conversion to C.
The reason that this thesis does not focus on the issues of compiling GLSL code directly is that that is the work of another student’s thesis. Essentially, that thesis solves the front-end while this thesis solves the problems in the backend. The three primary challenges for the backend are: 1) instruction selection to the new GPU, 2) register allocation for the GPU’s unified register set, and 3) maintaining vector and matrix information from variables to the register they are stored in. Our preliminary results are shown, for evaluation of the quality of the compiled code.
|