english  | Home | Impressum | Datenschutz | KIT

Hardwarebeschleuniger zur Fehlererkennung für eingebettete Multi-Core-Prozessoren

Hardwarebeschleuniger zur Fehlererkennung für eingebettete Multi-Core-Prozessoren
Typ:Bachelor-/ Masterarbeit
Datum:offen (zu vergeben)
Betreuer:

M. Eng. Augusto Hoppe

Hardwarebeschleuniger zur Fehlererkennung für eingebettete Multi-Core-Prozessoren

.
.

Umfeld

Eingebettete elektronische Systeme unterliegen verschiedenen Anforderungen. Vor allem der Bedarf an Rechenleistung ist seit Jahrzehnten stetig gestiegen. Um dies zu lösen, kann der Einsatz moderner Prozessoren in Multicore- und Netzwerkarchitekturen nicht vermieden werden. Zunehmende Komplexität macht solche Architekturen jedoch anfälliger für zufällige Ausfälle, was katastrophale Auswirkungen haben kann.
Im sicherheitskritischen Umfeld, wie dem des automatisierten Fahrens, der Avionik und der Luftfahrt, stellt dies eine massive Herausforderung dar: Denn trotz der Komplexität, die der Einsatz solch moderner Technologien hervorruft, muss das System die bestehenden Anforderungen nach Zuverlässigkeit und Verfügbarkeit erfüllen. Wie es möglich ist, Multicore-Prozessoren auf effiziente Weise in einer sicherheitskritischen Umgebung einzusetzen, ist Gegenstand der Forschung.

 

Aufgabenstellung

Das Hauptziel dieser Arbeit ist die Entwicklung eines Trace-Decoder-Hardwaresystems zur Implementierung eines CFE-Erkennungsmechanismus. Dieses Teilsystem soll den Ablauf des Programm-Traces jedes Kerns in einer 4-Kern-CPU lesen und analysieren.
Ausführungsdaten werden über eine dedizierte Program-Trace-Schnittstelle aus dem Prozessor extrahiert. Das Decodieren der Tracing in Echtzeit ist der erste Schritt für die Erkennung von Kontrollflussfehler. Mit der statischen Softwareanalyse können wir ein Diagramm erstellen, das die erforderlichen Kontrollflussinformationen (Sprünge und Verzweigungen) des Programms enthält, bevor es auf der Plattform ausgeführt werden muss. Dieses Diagramm ist das Kontrollflussdiagramm („control flow graph“, oder CFG) des Programms. Durch Vergleichen der Ausgabe des decodierten Trace mit dem CFG können wir alle Kontrollflussfehler oder Synchronisationsfehler zwischen Kernen identifizieren.
Sobald ein Fehler erkannt wird, kann er an eine Management Unit oder ein Supervisor-System gemeldet und je nach Art der Anwendung entsprechend behandelt werden.

 

Voraussetzungen

Für den theoretischen Teil der Arbeit sind Kenntnisse im Bereich eingebetteter elektronischer Systeme notwendig. Für den praktischen Anteil sind gute Programmierkenntnisse und FPGA-Entwicklungsfähigkeiten erforderlich. Eine detaillierte Liste der Fähigkeiten folgt:

  • Erfahrung in der VHDL-Programmierung ist erforderlich.
  • Erfahrung mit LEON3 Prozessor ist hilfreich.
  • Kenntnisse in eingebettete C-Programmierung ist hilfreich.
  • Kenntnisse in eingebetteten CPU-Architekturen sind hilfreich.