23.12.2013 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!