C-compiler for an application-specific instruction set processor

OData support
Dr. Horváth Péter
Department of Electron Devices

Knowing and understanding the use cases of a microprocessor is mandatory for the designer of such device. For most of its time, a general purpose central processing unit is executing code written in high abstraction level languages (e.g. C, C++ and Java) and translated to machine code by compiler software. Unfortunately the programs made this way are unable to reach the execution and resource efficiency of hand-written machine code due to the translation between the different abstraction levels. Implementing some features supporting this use case directly however, may result in a decent speedup.

My goal with this project was to familiarize with the most common scenarios, how a microprocessor might be used, which I did through the development of a C-compiler. The target of the compiler is an application specific instruction set processor, made for a project of the department. With this tool in hand, we will be able to implement complex algorithms in C language and then translate those to executable machine code, making it possible to compare runtime results from the different accelerator circuitries with the solutions using only the device’s native instructions.


Please sign in to download the files of this thesis.