e p i l o g - Fakultät für Informatik, TU Wien
e p i l o g - Fakultät für Informatik, TU Wien
e p i l o g - Fakultät für Informatik, TU Wien
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Abschätzungen über das Laufzeitverhalten von Hardware/Software-<br />
Systemen zu treffen. Ergebnisse aus Testläufen eines generierten<br />
Simulators zum Beispiel sind ein probates Mittel um aus den unzähligen<br />
Alternativen bei der Hardware Entwicklung passende Kompromisse zu<br />
wählen. Architekturbeschreibungssprachen, die Eigenschaften von<br />
Prozessoren auf einer mittleren Abstraktionsebene formalisieren, werden<br />
von Generatoren verwendet um Software Werkzeuge zu generieren. Die<br />
xADL, als ein Vertreter dieser Sprachen, wurde auf der <strong>TU</strong> <strong>Wien</strong> am Institut<br />
<strong>für</strong> Computersprachen entwickelt und ist strukturbasiert. Sie ermöglicht die<br />
Generierung einer weiten Palette an Software (z.B. Simulatoren und<br />
Compiler) durch ein Framework, das die Architekturbeschreibung<br />
vorverarbeitet und Module zur Weiterverarbeitung vorsieht. Hier setzt die<br />
vorgestellte Arbeit an. Es wird eine Methode vorgestellt, die es erlaubt,<br />
xADL Beschreibungen in zyklengenaue Simulatoren zu übersetzen und eine<br />
konkrete Implementierung in Form eines (nicht zyklengenauen) Generator<br />
Moduls beschrieben. Des Weiteren präsentiert die vorliegende Arbeit eine<br />
Technik um Instruktionsdecoder, wie sie <strong>für</strong> Simulatoren üblicherweise<br />
benötigt werden, zu generieren.<br />
Stefan Ring<br />
Implementation of native threads and locks in the CACAO Java Virtual<br />
Machine<br />
Studium: Diplomstudium <strong>Informatik</strong><br />
BetreuerIn: Ao.Univ.Prof. Dr. Andreas Krall<br />
Abstrakt: Eines der wichtigsten Leistungsmerkmale von Java, die Fähigkeit<br />
zur Ausführung und Synchronisation paralleler Threads, benötigt recht<br />
umfangreiche Unterstützung durch die Implementierung einer Java Virtual<br />
Machine (JVM). Diese Arbeit beschreibt die wesentlichen Schritte, die<br />
benötigt werden, um die CACAO JVM um diese Fähigkeit zu erweitern.<br />
Zunächst werden die notwendigen Schritte <strong>für</strong> die Umsetzung des Java<br />
Memory Model erörtert. Weiters wird die Wahl eines Algorithmus <strong>für</strong> Java<br />
Monitore sowie mögliche zukünftige Erweiterungsmöglichkeiten präsentiert.<br />
Außerdem werden einige experimentelle Varianten auf verschiedenen<br />
Hardwarearchitekturen verglichen. Zusätzlich wird der von CACAO zur<br />
Typüberprüfung verwendete Algorithmus durch eine Methode ersetzt, die<br />
besser zur Verwendung in parallelen Javaprogrammen geeignet ist, sowie<br />
deren Auswirkungen auf Laufzeit und Speicheranforderungen überprüft.<br />
65