Mikrocontroller & PLDs

Aktuelle Trends bei Multicore-Mikrocontroller-Architekturen

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

Bild 3: Lokale schnelle Speicher und globale geteilte Speicher erhöhen den notwendigen Aufwand in der Software-Architektur.
Bild 3: Lokale schnelle Speicher und globale geteilte Speicher erhöhen den notwendigen Aufwand in der Software-Architektur. (Bild: Microconsult)

Multicore-MCUs gewinnen in Embedded-Systemen immer mehr an Bedeutung. Doch was bieten sie heute und in naher Zukunft, um den Hunger nach mehr Leistung bei gleichzeitiger Energie-Diät zu stillen?

Stetig steigernde Anforderungen an Mikrocontroller, speziell in der Automobil-Industrie und der hochdynamischen Consumer-Branche, sind mit die Hauptgründe für den stetig wachsenden Bedeutungsgewinn von Multicore-Architekturen. Diese Trends bei den hochintegrierten Bausteinen finden in den unterschiedlischsten Bereichen statt – von der Auswahl der grundlegenden Architektur zu gesteigertem Sicherheitsbedürfnis, über verbesserte Kommunikationsoptionen bei gleichzeitiger Energieersparnis, bis hin zu neuen Debug- und Tracingmöglichkeiten.

Auch bei den Toolherstellern findet viel Bewegung statt. Im Folgenden führen wir einige der wichtigsten Trends im Bereich der Multicore-Mikrocontroller auf, die in jedem Fall näher betrachtet werden sollten.

Applikationsspezifische Multicore-Mikrocontroller-Designs

Zur Auswahl stehen zwei grundsätzliche Arten von Multicore-Mikrocontrollern: heterogene und homogene Architekturen. Heterogene oder gemischte Architekturen enthalten verschiedene CPU-Typen, die für spezielle Applikationsanforderungen designed sind. Dazu zählt etwa der TI 66AK2E05, der mit vier ARM-A15 und einem TI-DSP Core ausgestattet ist. Anwendungen finden sich in Unterhaltungselektronik, Luftfahrt-Industrie und Telekommunikation. Der Vorteil dieser Architekturen ist die Anpassung und Auslegung auf spezifische Applikationen, was einen höchst effizienten Einsatz erlaubt.

Homogene Architekturen enthalten gleichartige CPU-Typen, die für spezielle, typischerweise sehr rechenintensive Applikationen angeboten werden. Beispiele hierfür sind etwa Infineon AURIX TC279 mit drei TriCoreTM-Cores (Hauptgebiet: Automobil-Motor- und Getriebemanagement) oder Freescale i.MX6 mit mehreren ARM CortexTM-A9 Cores (Dual Core, Quad Core). Sie kommen etwa in Multimedia-Anwendungen für die Unterhaltungselektronik zum Einsatz.

Performance-Trends bei Multicore-Mikrocontrollern

Eine Erhöhung der Bandbreite von Speichern wird durch verschiedene Arten der Implementierung ermöglicht. Busbreiten mit doppelter bzw. vierfacher Datenbreite sowie Block-Übertragungen (Bus Burst Accesses) für Lese- und Schreibzugriffe reduzieren die Häufigkeit von Buszugriffen für systemglobale Speicher und somit den Performance Overhead, der ansonsten zum Tragen käme.

Ergänzendes zum Thema
 
Originalbeitrag als ePaper oder im pdf-Format lesen

Außerdem müssen Ansätze gewählt werden, die es erlauben, effizient auf geteilte Ressourcen zugreifen zu können. Eine Busmatrix erlaubt mehreren Bus-Master-Blöcken, gleichzeitig auf verschiedene Bus-Slave-Bausteine zuzugreifen. Beispielsweise kann eine CPU gleichzeitig auf Programm-Flash und Daten-SRAM zugreifen und eine weitere CPU parallel auf andere nicht belegte Peripherie oder ein DMA Controller Transfers durchführen. Ein verzögerter Zugriff tritt nur dann auf, wenn zwei Master gleichzeitig denselben Slave-Baustein adressieren. In diesem Fall werden die Speicherzugriffe entsprechend der Bus-Master-Priorität über einen Arbiter bearbeitet, wie es bei herkömmlichen Bussystemen der Fall wäre.

CPUs neuerer Generation erlauben parallele Befehlsabarbeitung mit hoher Taktung (Superscalar Architecture), z.B. parallele Ausführung eines Arithmetik/Logik- und eines Load/Store-Befehles. Dies erfordert, dass die CPU mit genügend hoher Geschwindigkeit auf die Befehlsspeicher zugreifen kann. Da Flash-Speicher (mit Programm und konstanten Dateninhalten) nicht mit der Geschwindigkeitszunahme der CPUs standhalten, müssen in der CPU-Pipeline Wartezyklen (Wait States) bei den Flash-Lesezugriffen eingefügt werden, was zu Wartezyklen bei der CPU-Befehlsverarbeitung führt. Dieses Geschwindigkeitsproblem lässt sich mit der Implementierung schneller Level 1 Speicher wie SRAM (Tightly Coupled Memories) und Cache-Speichern beheben.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 43519496 / Mikrocontroller & Prozessoren)