Multicore-Mikrocontroller-Wahl, Teil 3 Sind die vorhandenen Ressourcen in der Peripherie ausreichend?

Autor / Redakteur: Ingo Pohle und Marcus Gößler * / Sebastian Gerstl

Nach der Untersuchung der Anforderungen des Projektes hinsichtlich funktionaler Sicherheit (Safety) und Datensicherheit (Security) befasst sich der letzte Schritt mit den Peripherie-Bausteinen: Was brauche ich an Pins, Speicher oder Bussystemen?

Anbieter zum Thema

(Bild: gemeinfrei)

Die ausreichende Pin-Anzahl ist neben der zur Verfügung stehenden Rechenkapazität ein entscheidender Faktor für den Erfolg eines Projektes. Alle Mikrocontroller haben eine Einschränkung gemeinsam: Es gibt in der Regel immer mehr Peripherie-Funktionen als verfügbare Pins.

Bild 11: Unterschiede in Mikocontrollern: Core-private und System-globale Speicher.
Bild 11: Unterschiede in Mikocontrollern: Core-private und System-globale Speicher.
(Bild: MicroConsult)

Einige Mikrocontroller werden bei gleichem internem Silizium mit unterschiedlichen Gehäuse-Typen angeboten. Gehäuse mit weniger Pins sind typischerweise kostengünstiger und benötigen obendrein weniger Platz auf der Baugruppe. Weniger Pins bedeuten aber gleichzeitig, dass weniger Peripherie-Funktionen von außen sichtbar oder von außen ansprechbar sind bzw. nach außen wirken können. Eine Kernaufgabe ist hier also die Untersuchung, ob die zwingend benötigten Peripherie-Module auch alle über die erforderlichen Ports-Pins verfügen.

Performance-Steigerung durch Core-private Speicher

Die Multicore-Mikrocontroller-Architekturen unterscheiden sich maßgeblich voneinander in der Speicher-Implementierung. Die Optionen sind in der Regel:

  • viel globaler Speicher und wenig Core-lokaler Speicher, oder
  • wenig globaler Speicher und viel Core-lokaler Speicher

Wird sehr hohe Rechenperformance benötigt, kann dies durch viele Core-lokale Speicher und eine hohe Core-Taktung erreicht werden. Ferner können die Programme in lokalen Speichern besser vor unberechtigtem Zugriff anderer Cores gesichert werden.

Das On-chip-Bussystem – eine Performance-Bremse?

Bild 12: Bus-Matrix – Crossbar Switch XBAR.
Bild 12: Bus-Matrix – Crossbar Switch XBAR.
(Bild: MicroConsult)

Bussysteme, die nur serielle Kommunikation erlauben, können sich schnell zu einem „Bottleneck“ in der Applikation entwickeln, wenn viele Daten kommuniziert werden müssen. So kann es z.B. bei der Anwendung von Ethernet-Modulen vorkommen, dass diese Einheiten in der Regel nicht über genug privaten Speicher verfügen.

Besser sind die Implementierungen von Bus-Matrix-Systemen, wie z.B. einem Crossbar-Switch. Diese Implementierung wird heute als Bus-Interface für die Verbindung von Cores zu den globalen Ressourcen eingesetzt. Meist sind alle Peripherie-Module über ein gemeinsames oder zwei serielle Bussysteme angeschlossen.

Zur Verhinderung von unliebsamen Überraschungen lohnt sich eine Performance-Analyse an den verwendeten Bussystemen, damit es in der realen Anwendung nicht zu unerwarteten Kommunikationsverzögerungen kommen kann.

Fazit

Für einen erfolgreichen Umstieg einer Hard-Realtime-Applikation mit Singlecore nach Multicore ist ein Ressourcen-Management bei der Mikrocontroller-Auswahl sehr ratsam.

* Dipl.-Ing. Ingo Pohle ist Mitgründer und Geschäftsführer der MicroConsult GmbH.

* Dipl.-Ing. Marcus Gößler ist Trainer und Coach im Bereich Embedded, mit Schwerpunkten auf sicherheitsrelevanten Anwendungen und Multicore-Bausteinen Systems, bei Microconsult.

(ID:44548440)