Die Gewährleistung der Echtzeit- Fähigkeit benötigt Software-Werkzeuge, die für ein Programm die im schlimmsten Fall auftretende Verarbeitungszeit errechnen können. Solche Software-Werkzeuge werden an der Universität Paul Sabatier in Toulouse sowie von der englischen Firma Rapita Systems in York bereitgestellt. Beide sind auch Partner im MERASAProjekt und erforschen Hand in Hand mit den Hardware-Entwicklern an der Universität Augsburg und am Barcelona Supercomputing Center die für MultiCore-Prozessoren geeigneten Lösungen. Ziele nach Ende der dreijährigen Projektlaufzeit sind Prototypen eines neuen MultiCore-Prozessors, eines Betriebssystems und geeigneter, auf die Anforderungen der Programmanalyse harter Echtzeit-Anwendungen zugeschnittener Software-Werkzeuge.
Infineons TriCore-Prozessor als Ausgangspunkt
Ausgangspunkt der MERASA-Prozessorentwicklung ist ein Simulationsmodell des TriCore-Prozessors von Infineon, des in Europa am weitesten verbreiteten Automotive-Prozessors. Der TriCore-Prozessor selbst ist ein Single- Core-Prozessor. Der MERASA-Prozessor wird vom Befehlssatz her binärkompatibel zum TriCore entworfen, um die TriCore-Werkzeugkette nutzen zu können. Der zu entwerfende Prozessor ist jedoch kein TriCore, da die internen Strukturen anders sind. Ziel im MERASA-Projekt ist außerdem kein Prototyp in VLSI-Technologie, sondern als System-C-Simulator und als FPGA, also als programmierbarer integrierter Schaltkreis. Bei den zu entwickelnden Prozessorprototypen werden im MERASA-Projekt bis zu 16 Cores simuliert – es wird erwartet, dass auf dem FPGA ein Dual- oder Quadcore- Prozessor implementiert werden kann. Kombiniert wird der Core- Entwurf im Forschungsprototypen mit dem Simultaneous Multithreading, wobei ein Core durch getrennte Pipelines und zusätzliche Registersätze mehrere Threads gleichzeitig ausführt.
Für den Einsatz im Auto muss zusätzlich geeignete System-Software entwickelt werden. Eine Forschungsgruppe in Augsburg arbeitet an einem Echtzeit- MultiCore-Betriebssystem. Dabei orientiert sie sich an AUTOSAR. Durch kompatible Schnittstellen sollen AUTOSAR- kompatible Anwendungen dann direkt auf dem MERASA-Simulator und -FPGA ablauffähig sein.
Kopfzerbrechen bereitet der Autoindustrie die steigende Komplexität von Systemen durch eine Vielzahl von Steuerelementen. Im Auto können bis zu 80 Steuereinheiten vorhanden sein, die korrekt miteinander arbeiten und sich in Zukunft außerdem adaptiv und dynamisch verhalten sollen. Die Automobilindustrie forscht gegenwärtig an Domain-Computern, um die Anzahl der Steuereinheiten zu verringern.
Das wäre auch ein Anwendungsgebiet für die MERASA-Technologie. Durch das MultiCore-Projekt entstehen leistungsfähige Steuereinheiten, so ließe sich mit einem Quadcore die Zahl der Steuereinheiten theoretisch von 80 auf 20 reduzieren. Damit einher geht eine Verringerung des Energie-, des Platz- und des Gewichtsbedarfs von Steuereinheiten. Dies ist ein Vorteil der MultiCore-Technologie, der besonders auch von den MERASA-Partnern aus dem Flugzeugbau und der Weltraumfahrt geschätzt wird.
Einsatzmöglichkeiten und Schwierigkeiten durch die Parallelverarbeitung
Die Komplexitätsreduktion liefert auch einen Beitrag zur Beherrschbarkeit, einmal abgesehen von den Schwierigkeiten, die durch die Parallelität auftauchen. Bei der Abbildung von Anwenderprogrammen auf einen Multi- Core-Prozessor sind zwei grundlegend verschiedene Ansätze denkbar: Entweder werden mehrere voneinander unabhängige Programme, die bisher auf verschiedenen Steuereinheiten laufen, auf die verschiedenen Cores eines Prozessors abgebildet.
Für all diese Systeme gilt außerdem, dass eine Ausführung der Aufgaben in einem extrem kurzen und insbesondere in einem festen Zeitintervall gewährleistet sein muss. Man spricht hier von „harten Echtzeit-Anforderungen“. Nur wenige Prozessoren erlauben es, dass solche Garantien abgegeben werden können. Die allgemein bekannten PC-Prozessoren sind von hoher Leistungsfähigkeit, aber für solche Anwendungen völlig ungeeignet und auch zu teuer. Die üblicherweise in solchen Embedded-Systemen eingesetzten Prozessoren sind dagegen im Vergleich zu PC-Prozessoren relativ einfach und stoßen damit bei zukünftigen Anforderungen an ihre Leistungsgrenzen.
Die Idee der MERASA-Partner ist es, eine höhere Verarbeitungsleistung durch parallel arbeitenden Cores eines MultiCore-Prozessors (Bild) statt durch höhere Taktraten zu erreichen. Damit geht insbesondere auch ein niedrigerer Energieverbrauch einher.
Wesentlich ist in dem EU-Projekt die Kombination dieser Prozessorentwicklung mit den Anwendern und mit Spezialisten für Worst Case Execution Time Analysis (WCET). Bei der WCET-Analyse wird die maximale Ausführungsdauer bestimmt, in der ein Programmcode ein Ergebnis liefert. Dies ist so entscheidend, da Systeme wie Fly-by-Wire in Flugzeugen, ABS-, Airbag- oder Motorsteuerung sicherheitskritisch sind. Damit ein solches Echtzeit-System stets korrekt funktioniert, ist sicherzustellen, dass die Aufgaben in einem fest vorgegebenen Zeitintervall beendet werden.