STM32F7 von STMicroelectronics ARMs Cortex-M7 - der Schlüssel zu sicherheits­kritischen Anwendungen?

Lockstep-Architektur und ECC

Bei einer Lockstep-Architektur wird Programmcode ohne zusätzlichen Software- und Speicheraufwand redundant in zwei CPUs ausgeführt. Dies ist z.B. für ASIL-D-Systeme erforderlich. ARM liefert mit dem Cortex-M7 Beispiellogik für eine derartige Konfiguration aus (Bild 4). Außer den Cache-RAMs wird dabei die gesamte CPU-Logik doppelt ausgeführt. Die Ausgänge werden mittels eines Komparators verglichen, um irgendwelche Ausgabefehler einer der CPUS erkennen zu können.
Wie schon oben erwähnt, können die TCMs und Caches über ECC-Mechanismen gegen Bit-Fehler geschützt werden. Dabei werden keine Prüfungen oder Fehlerkorrekturen innerhalb des Prozessors vorgenommen; vielmehr muss ECC über die System-Implementierung integriert werden. Dies wird dahingehend unterstützt, dass bei Schreibzugriffen auf die TCMs automatisch Read-Modify-Write-Operationen vorgenommen werden, wenn sie weniger als 32 bit beim DTCM bzw. 64 bit beim ITCM umfassen. Dabei sind auch Speichervorgänge vom AHBS inkludiert. Bei den Caches werden ECC-Operationen ebenfalls intern außerhalb des Prozessors mittels der Steuerlogik vorgenommen.