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.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

(ID:44548440)