Anwendungsspezifische Mehrkernarchitekturen für sicherheitskritische Echtzeitanwendungen
Steffen Vaas
Mehrkernprozessoren sind auch in eingebetteten Systemen längst nicht mehr wegzudenken. Die Kombination aus mehreren Prozessorkernen mit gemeinsam genutzten Caches und Bussystemen optimieren sowohl die Rechenleistung als auch die Energieeffizienz für den allgemeinen Anwendungsfall enorm. Im Gegenzug wird jedoch die Ausführungszeit eines Programmcodeabschnitts massiv von den parallelen Aktivitäten auf den anderen Kernen abhängig. Die parallele Ausführung kann Engpässe in Bussen oder gegenseitige Verdrängungen von Daten aus geteilten Caches zu Folge haben, welche signifikante Verzögerungen verursachen. Hierdurch vergrößert sich die maximale Ausführungszeit (WCET) der Anwendungen. Für sicherheitskritische Systeme, deren Fokus auf der stets rechtzeitigen Ausführung liegt, stellt der durch Parallelisierung erreichte Rechenleistungszuwachs deshalb nicht unbedingt eine Verbesserung dar.
Auf speziell für Echtzeitsysteme entworfenen Mehrkernprozessoren lässt sich zwar die Ausführungszeit präzise Vorhersagen, allerdings besitzen diese eine vergleichsweise geringe Rechenleistung. Für ein integriertes Gesamtsystem mit einem überwiegenden Anteil an unkritischen Tasks und einzelnen kritischen Tasks sind solche Prozessoren daher ebenfalls nur bedingt geeignet. Die Herausforderung ist der Entwurf einer Hardwarearchitektur, die den konträren Hardwareanforderungen aller Tasks einer Anwendung gerecht wird.
In dieser Dissertation wird dazu ein Lösungsansatz vorgestellt, der auf dem Entwurf von applikationsspezifischen Hardwaresystemen basiert. Durch eine maßgeschneiderte Hardware lassen sich, auf Kosten der allgemeinen Verwendbarkeit, die Parameter der Hardware gesondert und flexibel optimieren.