Loading...
Please wait, while we are loading the content...
Similar Documents
Porting the GCC-Backend to a VLIW-Architecture
| Content Provider | Semantic Scholar |
|---|---|
| Author | Parthey, Jan |
| Copyright Year | 2004 |
| Abstract | Digital Signal Processors (DSP) are widely used today, e.g. in sound and video processing. In order to accelerate the design process of applications, large parts of DSP programs can normally be written in C and only a few performance-critical functions need to be written in Assembler. Of course, an essential prerequisite for this way of software design is a C compiler with target support for the envisaged DSP platform. The TMS320-C6000, henceforth denoted as ‘C6x’, is a DSP series designed by Texas Instruments. Commercial C compilers for the ‘C6x’ are available from the manufacturer. However, as explained below, there would be many advantages in having a compiler available that would be free in the sense defined by the Free Software Foundation [3]. At the time of starting this work, the author was (and still is) not aware of any such compiler being available and therefore deemed it worthwhile to make an effort in this direction. This diploma thesis discusses the implementation of basic support for the C6x platform into GCC 3.3 [11], which is achieved by using the mechanisms provided by GCC for porting to new target platforms. As a prerequisite, fundamental concepts of the inner workings of GCC have to be investigated. The documentation [7] distributed with GCC provides much of the necessary information. The present work uses this information and puts it into the context of the ‘C6x’ architecture. Some details, however, remain unclear in [7] and will be investigated in this thesis by means of the GCC sources. Based on the results of this, it will be discussed which design options were available and which were chosen in implementing a ‘C6x’ backend. Finally, directions for future work will be shown. Declaration of Authorship I hereby declare that the whole of this diploma thesis is my own work, except where explicitly stated otherwise in the text or in the bibliography. This work is submitted to Chemnitz University of Technology as a requirement for being awarded a diploma in Computer Science (“Diplom-Informatik”). I declare that it has not been submitted in whole, or in part, for any other degree. Notational Conventions In this work, the following notational conventions shall be used: • Text passages that are meant to draw the reader’s attention to them, even when only skimming over the text, will be typeset in bold series. • Words to be emphasized, in a sense similar to emphasizing a word when reading a text out loud, will be written in slanted shape. • C, RTL, and Assembler source code will be typeset in ‘typewriter’ family, where : – Parts to be emphasized will be set in ‘bold’ rather than ‘medium’ series. – Placeholders will be set as in ‘cmpgt 〈reg〉, 〈reg〉, 〈pred_reg〉’, where ‘〈reg〉’ is a placeholder for a CPU register such as ‘A5’, for example. • In syntax rules, the following notation will be used: – terminal symbol: ‘while’ (in bold) – non-terminal symbol: ‘variable’ – optional part: ‘(optional)?’ • Filenames will be shown as ‘somefile.c’. Unless specified otherwise, all filenames are meant as being relative to subdirectory ‘gcc/’ in the extracted GCC source tree. • Occurrences of → ‘keyword’ in the text indicate that ‘keyword’ has an entry in the list of terms and abbreviations (Appendix A). |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://www.qucosa.de/fileadmin/data/qucosa/documents/4857/data/thesis.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |