Schwarz, Alexander (2022)
An Optimized Instruction Set Architecture for AMIDAR Processors.
Technische Universität Darmstadt
doi: 10.26083/tuprints-00021570
Ph.D. Thesis, Primary publication, Publisher's Version
Text
2022-07-01_Schwarz_Alexander.pdf Copyright Information: CC BY 4.0 International - Creative Commons, Attribution. Download (2MB) |
Item Type: | Ph.D. Thesis | ||||
---|---|---|---|---|---|
Type of entry: | Primary publication | ||||
Title: | An Optimized Instruction Set Architecture for AMIDAR Processors | ||||
Language: | English | ||||
Referees: | Hochberger, Prof. Dr. Christian ; Pionteck, Prof. Dr. Thilo | ||||
Date: | 2022 | ||||
Place of Publication: | Darmstadt | ||||
Collation: | xiii, 180 Seiten | ||||
Date of oral examination: | 20 June 2022 | ||||
DOI: | 10.26083/tuprints-00021570 | ||||
Abstract: | Java bytecode is widely used as binary program representation on many different hardware platforms. Inherent safety features like the strict memory model and runtime code checking make it interesting for embedded systems as well. Java processors, which execute Java bytecode directly on hardware without virtual machine and operating system layer, promise lower resource requirements and faster reaction to external events in this field of application. The bytecode-based AMIDAR processor is an example for such a Java processor. AMIDAR processors focus on runtime adaptivity. They map compute-intense code sections to reconfigurable hardware accelerators without user intervention. The high abstraction level of Java bytecode facilitates this mapping because the original intention of the programmer can be inferred more easily. Java bytecode is a stack-based architecture. Data is transferred between instructions using a stack, which causes many unnecessary data transfers. The operand stack limits performance in many Java processors. This work solves the problem by developing a new ISA as replacement for Java bytecode on AMIDAR processors. This ISA eliminates the operand stack while keeping the high abstraction level. Its design is data flow oriented. The instruction which shall receive the result of an operation is specified explicitly. No central memory element like a stack or a register file is required for data transfers between instructions. Therefore, the new architecture is named DOJA. As part of this work, basic principles as well as important details of DOJA are explained. Changes required to adapt the existing bytecode-based processor prototype to the new architecture are described. Furthermore, the software tool chain is presented with focus on special challenges which arise with the new ISA. Programs can be generated from assembly code and Java class files. Different ISA and hardware implementation variants are evaluated in order to select an optimal configuration. The resulting prototype is compared to the bytecode-based prototype using SPEC JVM98 benchmarks and micro benchmarks with very flat call graphs. Both prototypes contain identical ALUs and the same heap memory system. Remarkable average speedups of 1.87 for SPEC benchmarks and 2.89 for micro benchmarks are achieved with similar hardware resources. Micro benchmarks gain further speedup of 2.53 on average and 8.97 at best by acceleration with a CGRA of four PEs. |
||||
Alternative Abstract: |
|
||||
Status: | Publisher's Version | ||||
URN: | urn:nbn:de:tuda-tuprints-215701 | ||||
Classification DDC: | 000 Generalities, computers, information > 004 Computer science | ||||
Divisions: | 18 Department of Electrical Engineering and Information Technology > Institute of Computer Engineering > Computer Systems Group | ||||
Date Deposited: | 15 Jul 2022 09:07 | ||||
Last Modified: | 17 Aug 2022 06:15 | ||||
URI: | https://tuprints.ulb.tu-darmstadt.de/id/eprint/21570 | ||||
PPN: | 497909472 | ||||
Export: |
View Item |