JIFFY - Ein FPGA-basierter Java Just-in-Time Compiler für eingebettete Anwendungen Georg Acher Lehrstuhl für Rechnertechnik und Rechnerorganisation JIFFY - Ein FPGA-basierter Java Just-in-Time Compiler für eingebettete Anwendungen Georg Acher Vollständiger Abdruck der von der Fakultät für Informatik der Technischen UniversitätMünchenzurErlangungdesakademischenGradeseines DoktorsderNaturwissenschaften(Dr.rer.nat.) genehmigtenDissertation. Vorsitzender: Univ.-Prof.Dr.HansMichaelGerndt PrüferderDissertation: 1.Univ.-Prof.Dr.ArndtBode 2.Univ.-Prof.Dr.EikeJessen,em. Die Dissertation wurde am 18.6.2003 bei der Technischen Universität München eingereicht und durch die Fakultät für Informatik am 6.10.2003 ange- nommen. JIFFY - Ein FPGA-basierter Java Just-in-Time Compiler für eingebettete Anwendungen Georg Acher Kurzfassung Durch die wachsende Leistungsfähigkeit von Prozessoren für eingebettete Sys- temewirdderEinsatzvonJavafürdiesenBereichimmervielversprechender.Al- lerdings sind die von normalen Desktop- oder Serversystemen bekannten Tech- niken zur Beschleunigung der Java Virtual Machine (JVM), wie z.B. die Just- in-Time-Compilation (JIT), bei den sehr begrenzten Ressourcen in dieser Gerä- teklasse nur schwer einsetzbar oder erfordern eine Bindung auf eine bestimmte CPU-Architektur. DieseArbeitstelltdasJIFFY-Konzeptvor,dasdenAblaufunddieIntegration eines vollständigen JIT-Compilers für die JVM in einem frei programmierbaren Logikbaustein (FPGA, Field Programmable Gate Array) beschreibt. Durch den Einsatz des FPGAs wird eine sehr hohe Übersetzungsgeschwindigkeit erreicht, wobei die Qualität des erzeugten Compilats die von einfachen, softwarebasierten JIT-Compilern mindestens erreicht und oft übersteigt. Durch ein spezielles Kon- zept ist der gesamte Übersetzungsvorgang im FPGA und damit die synthetisierte GatterlogikunabhängigvonderZielarchitekturunderlaubteineflexibleNutzung auch für typische heterogene Mehrprozessorsysteme in Kommunikationsanwen- dungen. Neben der Beschreibung des Übersetzungskonzeptswerdenauch die Auswir- kungen des FPGA-basierten Ansatzes auf das Java-Laufzeitystem und mögliche Abwägungen in der Implementierung von Hardware und Software qualitativ und quantitativ an zwei exemplarischen Modellierungen für 80586- und AlphaCPU- basierteSystemeverglichen. Abstract The steadily growing performance of processors for embedded systems make the usage of the platform independent Java system more and more attractive. How- ever, the usual techniques known for acceleration of the Java Virtual Machine, widely used on desktop computers, don’t apply well in general to this class of devices, the most prominentexample is the Just-in-Time-Compilation(JIT). This is caused by the tight resource constraints of these systems and their wide range ofprocessorarchitectures. This thesis presents the JIFFY concept, which describes the integration of a complete JIT-compiler for the JVM into an Field Programmable Gate Array (FPGA). By using the FPGA, a very high translation speed can be achieved, the code quality and thus execution speed reaches or exceeds simple, software based JITs. Based on a layered concept, the translation process in the FPGA und there- forethesynthesizedgatelogicisindependentofthetargetCPUarchitecture.This featureallowsaveryflexibleusageoftheFPGAevenforheterogenousmultipro- cessorsystems,typicallyfoundinmoderncommunicationapplications. Besidesthedetailedexplanationofthetranslationprocessitself,theimpactsof theFPGA-basedapproachontheJavaruntimesystemandpossibleconsiderations intheimplementationofthehardwareandsoftwarearealsodescribed.Toqualify and quantify the resulting properties for CISC and RISC CPUs, the system is modeledfortwotypicalarchitectures(80586andAlphaCPU).
Description: