Entwurf eines Java-Mikrocontrollers

und

prototypische Implementierung auf einem FPGA

Diplomarbeit
von
Robert Zulauf
Prof. Dr. rer. nat. T. Ungerer
Dipl.-Inform. J. Kreuzinger

Institut für
Rechnerentwurf und Fehlertoleranz

Prof. Dr.-Ing. K. D. Müller-Glaser
Dipl.-Ing. B. Spitzer

Institut für
Technik der Informationsverarbeitung


    [Uni-Startseite]  [Institut für Rechnerentwurf und Fehlertoleranz]  [Email an Autor]  [English version of this page]


Das Komodo-Projekt

Diese Diplomarbeit ist in das Komodo-Projekt eingegliedert. Dabei geht es um die einfache Programmierbarkeit eingebetteter Systeme (embedded systems). Diese zeichnen sich durch ihre Kleinheit aus. Ressourcen wie Raum, Speicher oder Taktfrequenz sind nur in begrenztem Umfang verfügbar. Diese Systeme arbeiten im allgemeinen unter Echtzeitbedingungen. Daraus folgt, daß bestimmte maximale Reaktionszeiten des Systems auf eintretende Ereignisse garantiert werden müssen.

In der Hochsprache Java kann einfach, effektiv und produktiv programmiert werden. Soll nun in einem System, das die oben genannten Eigenschaften besitzt, die echtzeitfähige Behandlung mehrerer sich zeitlich überlappender Ereignisse unterstützt werden, bietet es sich an, diese Ereignisse in Java-Threads abzubilden. Daraus ergibt sich ein neues Konzept für die Behandlung von Hardware-Interrupts: Statt Interrupt-Service-Routinen werden parallel ausführbare Interrupt-Service-Threads (IST) für die Ereignisbehandlung eingesetzt. Durch überlappt ablaufende IST sollen harte Echtzeitbedingungen für mehrere konkurrierende Ereignisse garantiert werden.

Für die Umsetzung dieses Software-Konzepts sollen geeignete Strategien für das Thread-Scheduling und Algorithmen für die Echtzeitspeicherbereinigung entwickelt werden. Die vorgeschlagenen Techniken werden anschließend in einem Systementwurf aus Middleware, angepaßter Java-Umgebung (Java Virtual Machine (JVM) sowie Application Programming Interface (API)) und dem Komodo-Mikrocontroller untersucht und evaluiert.

Dieser Komodo-Mikrocontroller muß dafür Java-Bytecode direkt ausführen können und die Unterstützung dieser neuen Bearbeitungsart durch Mehrfädigkeit der Hardware bieten.
 
 

Pipeline-Entwurf für die direkte Ausführung von Java-Bytecode

Der Entwurf der Pipeline, wie sie später im Komodo-Mikrocontroller eingesetzt werden kann, erfolgt im Kapitel 4 der Arbeit. Eine Kurzfassung des Textes bietet diese Seite: Auf eine grobe Beschreibung der Funktionalität des Komodo-Mikrocontrollers (ein Pflichtenheft mit vielen Freiheitsgraden) folgt eine Abgrenzung dieses Mikrocontrollers gegen schon existierende Produkte. Danach werden grundlegende Spezifikationen für den Entwurf der Pipeline eines Prototypen für den Komodo-Mikrocontroller aufgeführt, bevor eine strukturelle und funktionale Beschreibung erfolgt.



Robert Zulauf