Hardware-Virtualisierung für Embedded-Systeme

Bringt ARM die Revolution in Auto und Industrie?

24. Oktober 2013, 8:05 Uhr | Frank Riemenschneider
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Von virtuellen zu realen Interrupts

Bild 4. Für Gast-Betriebssysteme gibt es eine virtuelle CPU-Schnittstelle, über welche die jeweiligen Interrupts abgearbeiten werden.
Bild 4. Für Gast-Betriebssysteme gibt es eine virtuelle CPU-Schnittstelle, über welche die jeweiligen Interrupts abgearbeiten werden.
© Elektronik

Interessant ist die Interrupt-Verarbeitung (Bild 4): Diese können, egal wovon und von wem sie ausgelöst wurden, in den Hypervisor geroutet werden. Dieser führt für jedes Gast-OS eine Liste mit abzuarbeitetenden Interrupts, die dann quasi als virtueller Distributor die Interrupts über eine virtuelle CPU-Schnittstelle den jeweiligen Betriebssystemen zur Abarbeitung zuführen.

Mit den neuen Möglichkeiten stellt sich natürlich auch die Frage, wie diese optimal zu nutzen sind. In mehr und mehr Konsumer-Software wird z.B. auf SIMD-Operationen zurückgegriffen, die Bestandteil von ARMv7/ARMv8-A sind. ARM hat daher primär aus Kompatibilitätsgründen NEON auch in ARMv8-R integriert, d.h. Integer- und Gleitkomma-SIMD-Operationen inclusive doppelte Genauigkeit gemäß IEEE754. Diese Instruktionen sind auch von einem RTOS nutzbar, was z.B. bei ADAS-Anwendungen wie Radar oder der Ansteuerung von Grafik-Displays und komplexen Algorithmen in der Industrie Nutzen stiftet. Aus AARch32 wurden weiterhin zwei Instruktionen für die Checksummenberechnung (CRC32/CRC32C) übernommen, dazu gemäß IEEE754-2008 Minimumberechnung, Maximumberechnung und die Überführung einer Integer-Zahl ins Gleitkommaformat. Nur der Vollständigkeit halber soll auch nicht verschwiegen werden, dass auch die besonders bei Cortex-M-Mikrocontrollern beliebten Thumb-Instruktionen (16/32 bit für eine möglichst hohe Codedichte) unterstützt werden.

Bild 5. Beispiel für die Konsolidierung einer Industriesteuerung. Kommunikation, GUI und Motorsteuerung laufen auf einem VMM.
Bild 5. Beispiel für die Konsolidierung einer Industriesteuerung. Kommunikation, GUI und Motorsteuerung laufen auf einem VMM.
© Elektronik

Konsolidierung im Emedded-Markt

Bild 5 zeigt eine Industrieanwendung mit 3 virtuellen Maschinen (VM): Auf der ersten läuft ein Betriebssystem wie Android, das die Wireless-Kommunikation und die GUI steuert. In der zweiten VM findet sich ein RTOS, auf dem ein Zustandsautomat implementiert ist. Dazu wird für eine Minimierung der Latenzzeiten direkt ein Task auf dem Echtzeit-VMM ohne Betriebssystem ausgeführt.

Wenn man sich das Zeitdiagramm anschaut, soll angenommen werden, dass das RTOS jeweils mit einer Periodendauer T getriggert wird. Hat dieses seinen Zustandsautomaten abgearbeitet (gelber Balken), kann die restliche Zeit von Android verwendet werden, Daten zu übertragen und/oder das GUI upzudaten (blauer Balken). Ein Sonderfall tritt ein, wenn sich über einen hoch priorisierten Interrupt die Motorsteuerung meldet: In diesem Fall übernimmt durch den Interrupt ausgelöst der Hypervisor die Kontrolle und führt direkt die entsprechende Routine aus, bevor die Kontrolle wieder an die unterbrochene Routine der zweiten VM zurückgegeben wird.

Bild 6. Beispiel für Virtualisierung in der Automobil-Industrie. Unsichere Betriebssysteme können zusammen mit zugeliefertem Code von Tier Ones und System-Code durch VMs voneinander isoliert werden.
Bild 6. Beispiel für Virtualisierung in der Automobil-Industrie. Unsichere Betriebssysteme können zusammen mit zugeliefertem Code von Tier Ones und System-Code durch VMs voneinander isoliert werden.
© Elektronik

Im Automobilbereich ermöglicht ARMv8-R sogar die Konsolidierung von Funktionen mit unterschiedlichen SIL (Safety Integrity Level): Der Hypervisor läuft immer auf dem höchsten erforderlichen SIL, zuammen mit der Hardware richtet er die VMs für geringere SILs ein. In diesem können dann sogar gemischt Zulieferungen von Tier-1s (Black-Box) und Code des OEM selbst (White Box) laufen – mit mehreren Konsumer-Betriebssystemen und RTOSen gleichzeitig (Bild 6).

Ecosystem-Unterstützung für die ARMv8-R-Architektur wird durch eine Reihe von Betriebssystemen wie Green Hills Software's Integrity, Nucleus von Mentor Graphics und T-Kernel von eSOL geliefert werden. Diese integrierten Hard- und Softwarelösungen werden Sicherheitsstandards wie ISO 26262 und IEC 61508 erfüllen und auch durch AUTOSAR unterstützt werden.


  1. Bringt ARM die Revolution in Auto und Industrie?
  2. Virtualisierung + Echtzeitfähigkeit
  3. Von virtuellen zu realen Interrupts
  4. Fazit

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu ARM Germany GmbH