Holler schrieb:
> Nachteile:
>
> - kein Speicherschutz, d.h. ein Prozess kann den Speicher eines anderen
> überschreiben. Führt zum Absturz des Systems.
Es gibt auch µC ohne MMU aber mit MPU (Memory Protection Unit), uB bei
Renesas V850 oder Infineon TriCore.
Vorteil einer MPU ist, daß sie idR wesentlich feingranulärer
konfiguriert werden kann, was Speicherverschnitt deutlich verringert.
Eine MMU kann zwar auch MPU-Aufgaben übernehmen, aber für µC nicht
wirklich praktikabel.
> - kein virtueller Speicher, d.h. die verschiedenen Speicher im System
> müssen exakt adressiert werden. Auslagern von momentan nicht benötigten
> Speicher funktioniert nicht automatisch über das Betriebssystem.
Je nach System will man das garnicht haben, etwa je nach
Sicherheits/Zertifizierungs-Level.
Statische Zuordnung vereinfacht zum Beispiel statische Analysen wie WCET
(Worst Code Execution Time) falls unterschiedliche Speicher zum Einsatz
kommen — für Embeddd-Systeme nicht ungewöhnlich.
> Die Software wird meist gut getestet, so dass Speicherschutz verzichtbar
> ist.
Testen hilf nicht gegen transiente Fehler.
> Cache-Speicher benötigen diese Systeme meist nicht, da die Taktfrequenz
> niedrig ist und/oder der Speicher "on Chip".
Auch auf Embedded-Systemen beschleunigt Cache die Ausführung enorm —
sowohl Datencache als auch Instruktionscache. Die statische Analyse wird
aber nicht einfacher dadurch...
> Beispiele dieser Systeme:
>
> Router in der Hausvernetzung, Unterhaltungselelektronik wie Fernseher
> und Setop-Boxen, Steuergeräte im Auto wie Navigationssysteme und
> Motorsteuerungen, ...
... Steuerungen für AKW, in Airbus A380, in lebenserhaltenden Systemen,
...