Schwerpunkte

Steuerungstechnik

Sicher steuern mit Multicore-Prozessoren

16. Mai 2013, 11:13 Uhr   |  Simon Barner, Jia Huang, Dr. Sebastian Voss

Sicher steuern mit Multicore-Prozessoren
© Fortiss

Multicore-Prozessoren bieten sich in der Automatisierung vor allem zur Integration von Steuerungsprogrammen und somit zur Reduktion der Anzahl von Steuergeräten an. Insbesondere wenn es um sicherheitskritische Anwendungen geht, ist dabei allerdings zu gewährleisten, dass die verschiedenen Anwendungen hinreichend voneinander separiert sind. Die modellbasierte Entwicklung leistet hier wertvolle Unterstützung.

Neben der Beschleunigung von rechenintensiven Signalverarbeitungsaufgaben bieten Multicore-Prozessoren grundsätzlich das Potenzial, mehrere auf einzelnen Steuergeräten implementierte Anwendungen zu integrieren. Die heute gängigen Prozessorarchitekturen weisen jedoch Eigenschaften auf, die einen Einsatz in sicherheitskritischen Applikationen erschweren oder gar unmöglich machen. Da viele dieser Anwendungen harte Echtzeit-Anforderungen haben, stellt der fehlende zeitliche Determinismus das erste Problem heutiger (Multicore-)Prozessoren dar, dessen Ursache in deren Optimierung auf maximale Leistung liegt. Ein weiteres Problem, das insbesondere für Integrationsanwendungen relevant ist, besteht darin, dass heutige Multicore-Prozessoren über keine geeigneten Separationsmechanismen verfügen, mit denen sich unterschiedliche Anwendungen, die beispielsweise auf verschiedenen Kernen laufen, voneinander abschotten lassen. Dabei sind solche Mechanismen eine Grundvoraussetzung für die kostengünstige Zertifizierung von gemischt kritischen Anwendungen entsprechend der Vorgabe der IEC 61508 für die Entwicklung von elektrischen, elektronischen und programmierbar elektronischen (E/E/PE) Systemen, die mehr als eine sicherheitsrelevante Funktion implementieren.

Die IEC 61850 besagt, dass die höchste Sicherheitsanforderungsstufe dieser Funktionen auf das Gesamtsystem anzuwenden ist; es sei denn, dass nachgewiesen werden kann, dass die Implementierungen dieser Funktionen „ausreichend unabhängig“ sind. Da die Anwendung der höchsten Sicherheitsstufe auf das Gesamtsystem meist weder technisch noch wirtschaftlich in Frage kommt, ist also der Nachweis der hinreichenden Separation unerlässlich. Diese muss in zwei Dimensionen gewährleistet sein:

1. temporal: das heißt die Ausführungszeit verschiedener Funktionen darf sich nicht gegenseitig beeinflussen,
2. räumlich: das heißt Speicher, E/A-Kanäle etc. müssen einer feingranularen Zugriffskontrolle unterliegen.

Da die heute auf dem Markt erhältlichen Multicore-Architekturen aber auf die maximale Leistung bei nicht-sicherheitskritischen Anwendungen ausgelegt sind, kommen hier Techniken wie geteilte Caches oder von mehreren Kernen verwendete E/A zum Einsatz, die genau diese geforderten Eigenschaften beeinträchtigen. Vor diesem Hintergrund wurden in jüngster Zeit Forschungsarbeiten initiiert mit dem Ziel, Multicore-Architekturen zu entwickeln, welche die genannten Mankos eliminieren.

Ein Beispiel für eine solche Architektur ist das MPSoC (Multiprozessor System-on-Chip) aus dem ACROSS-Forschungsprojekt (www.across-project.eu). Es verfügt über eine Reihe von dedizierten Systemkernen, die zum Beispiel Verwaltungsaufgaben oder die Anbindung von E/A und Speicher umsetzen, sowie über frei programmierbare Anwendungskerne. Die geforderte Separation wird durch die ausschließliche Kommunikation über ein zeitgesteuertes Network-on-Chip (NoC) und Trusted Interface Subsysteme (TISS) zur Anbindung der Kerne an das NoC realisiert, die das zur Entwicklungszeit festgelegte zeitliche Verhalten sicherstellen. Verwendet wurden im Rahmen des Forschungsprojektes Altera-NIOS-II-Anwendungskerne, die optional mit Hilfe des PikeOS-Hypervisors in weitere zeitliche und räumliche Parti­tionen unterteilbar sind.

Für sicherheitskritische Systeme ist in diesem Zusammenhang jedoch zu berücksichtigen, dass die Separationsmechanismen nur für die Eindämmung von Design-Fehlern wirksam sind. Die Eindämmung physikalischer Fehler kann hingegen wegen der fehlenden Hardware-Redundanz (zum Beispiel geteilte Spannungsversorgung, fehlende galvanischen Trennung der Kerne) nicht garantiert werden. Die benötigte Redundanz lässt sich jedoch durch die Implementierung von kritischen Funktionen auf unterschiedlichen Multicore-Prozessoren erreichen. Durch die Möglichkeit, wei­tere weniger kritischer Funktionen auf die verbleibenden Kerne zu integrieren, bieten Multicore-Prozessoren auch für Systeme mit sicherheitskritischen Funktionen das Potenzial, die Anzahl der benötigten Steuergeräte zu reduzieren.

Seite 1 von 3

1. Sicher steuern mit Multicore-Prozessoren
2. Komponenten-basierte Systementwicklung
3. Berechnung effizienter Systemkonfigurationen

Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenVia Mail teilen

Verwandte Artikel

Technische Universität München