Halkenhäuser, Michael (2022)
Automatic Compiler Support for Application-Specific Instruction Set Architecture Extensions.
Technische Universität Darmstadt
doi: 10.26083/tuprints-00020631
Master Thesis, Primary publication, Publisher's Version
Text
thesis_final_pub.pdf Copyright Information: CC BY 4.0 International - Creative Commons, Attribution. Download (397kB) |
Item Type: | Master Thesis | ||||
---|---|---|---|---|---|
Type of entry: | Primary publication | ||||
Title: | Automatic Compiler Support for Application-Specific Instruction Set Architecture Extensions | ||||
Language: | English | ||||
Referees: | Koch, Prof. Dr. Andreas ; Oppermann, Dr.-Ing. Julian | ||||
Date: | 2022 | ||||
Place of Publication: | Darmstadt | ||||
Collation: | vii, 45, X Seiten | ||||
Date of oral examination: | 14 January 2022 | ||||
DOI: | 10.26083/tuprints-00020631 | ||||
Abstract: | High demand for computational power over the last decades has led to the widespread presence of processors in our everyday lives. Simultaneous growth in the number of application areas requires specialized hardware, tailored for specific tasks. These application-specific processors are of key importance, since their limitation to a few possible operations offers distinct advantages. Such hardware-accelerators are generally able to outperform any common processor with regard to some metrics. The most frequent ones being computational speed or power consumption. With availability of the RISC-V open-standard processor architecture, development of customized processors becomes even more interesting. It allows the creation and implementation of instructions tailored to one's own prerequisites, generally without requiring licensing fees. Once these instructions are defined and an actual processor implementation is available, developers are faced with the lack of proper support by compilers. This in turn complicates the instructions' utilization considerably, requiring distinct knowledge of their actual binary representation or manual implementation of support. Both options are time consuming and demanding with regard to the assumed proficiency. Therefore, we want to suggest an automated approach to the implementation of compiler support for these Instruction Set Architecture (ISA) eXtensions (ISAXs). Our presented infrastructure will be utilizing and operating on LLVM, an open-source compiler framework and automatically add support for certain instruction types. In this work, we will provide an introduction to automated source code customization with regard to the LLVM sub-project LibTooling and present the performed modifications in detail. Furthermore, we will introduce an input format based on LLVM's Intermediate Representation (IR) and show how certain instruction properties may be automatically determined. The last step of our approach will present the application of this information in order to ultimately enable compiler support. Afterwards, we will evaluate our approach with regard to reduced development effort and requirements. Lastly, we will summarize our work and conclude with the presentation of possible next steps with regard to the extension of our presented infrastructure. |
||||
Alternative Abstract: |
|
||||
Status: | Publisher's Version | ||||
URN: | urn:nbn:de:tuda-tuprints-206315 | ||||
Additional Information: | The only differences between the originally submitted and this published version are the changed dates and added license information. |
||||
Classification DDC: | 000 Generalities, computers, information > 004 Computer science | ||||
Divisions: | 20 Department of Computer Science > Embedded Systems and Applications | ||||
Date Deposited: | 21 Feb 2022 13:12 | ||||
Last Modified: | 29 Jul 2022 10:00 | ||||
URI: | https://tuprints.ulb.tu-darmstadt.de/id/eprint/20631 | ||||
PPN: | 491492723 | ||||
Export: |
View Item |