Schwarz, Alexander (2022)
An Optimized Instruction Set Architecture for AMIDAR Processors.
Technische Universität Darmstadt
doi: 10.26083/tuprints-00021570
Dissertation, Erstveröffentlichung, Verlagsversion
Kurzbeschreibung (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.
Typ des Eintrags: | Dissertation | ||||
---|---|---|---|---|---|
Erschienen: | 2022 | ||||
Autor(en): | Schwarz, Alexander | ||||
Art des Eintrags: | Erstveröffentlichung | ||||
Titel: | An Optimized Instruction Set Architecture for AMIDAR Processors | ||||
Sprache: | Englisch | ||||
Referenten: | Hochberger, Prof. Dr. Christian ; Pionteck, Prof. Dr. Thilo | ||||
Publikationsjahr: | 2022 | ||||
Ort: | Darmstadt | ||||
Kollation: | xiii, 180 Seiten | ||||
Datum der mündlichen Prüfung: | 20 Juni 2022 | ||||
DOI: | 10.26083/tuprints-00021570 | ||||
URL / URN: | https://tuprints.ulb.tu-darmstadt.de/21570 | ||||
Kurzbeschreibung (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. |
||||
Alternatives oder übersetztes Abstract: |
|
||||
Status: | Verlagsversion | ||||
URN: | urn:nbn:de:tuda-tuprints-215701 | ||||
Sachgruppe der Dewey Dezimalklassifikatin (DDC): | 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik | ||||
Fachbereich(e)/-gebiet(e): | 18 Fachbereich Elektrotechnik und Informationstechnik 18 Fachbereich Elektrotechnik und Informationstechnik > Institut für Datentechnik 18 Fachbereich Elektrotechnik und Informationstechnik > Institut für Datentechnik > Rechnersysteme |
||||
Hinterlegungsdatum: | 15 Jul 2022 09:07 | ||||
Letzte Änderung: | 18 Jul 2022 09:28 | ||||
PPN: | |||||
Referenten: | Hochberger, Prof. Dr. Christian ; Pionteck, Prof. Dr. Thilo | ||||
Datum der mündlichen Prüfung / Verteidigung / mdl. Prüfung: | 20 Juni 2022 | ||||
Export: | |||||
Suche nach Titel in: | TUfind oder in Google |
Frage zum Eintrag |
Optionen (nur für Redakteure)
Redaktionelle Details anzeigen |