Leistung und Zuverlässigkeit

Hard- und Softwareaspekte für optimierte Embedded Systeme

06.02.17 | Autor / Redakteur: Kei Thomsen * / Sebastian Gerstl

Embedded System: Nicht nur auf die Auswahl eines passenden Prozessors oder Speicherbausteins kommt es an. Unsauberer, schlecht strukturierter Code kann eine IoT-Anwendung enorm verlangsamen - teilweise sogar um den Faktor 30.
Embedded System: Nicht nur auf die Auswahl eines passenden Prozessors oder Speicherbausteins kommt es an. Unsauberer, schlecht strukturierter Code kann eine IoT-Anwendung enorm verlangsamen - teilweise sogar um den Faktor 30. (Bild: Microsys)

So lässt sich durch die Wahl der richtigen, ECC-geeigneten Prozessoren und Speicher die Systemsicherheit im Embedded-Bereich deutlich steigern.

Mit hochintegrierten und leistungsfähigen System on Chip Lösungen wandert zunehmend Intelligenz bis auf die Sensorebene von komplexen embedded Anwendungen. Wie Zuverlässigkeit im Design auch bei kleinen Systemstrukturen zu erreichen ist, gepaart mit hoher Performance und geringer Leistungsaufnahme, ist nach wie vor eine wichtige Kompetenz modernen Systemengineerings.

Im nachfolgenden Artikel werden gleich schnell getaktete ARM-, PowerPC- und X86- Plattformen bezüglich Gesamtperformance und Systemsicherheit (Safety) verglichen. Anhand zweier C-Code Anwendungsbeispiele, die in erster Betrachtung fast identisch aufgebaut sind, wird erklärt, wie mit durchdachter Programmierung Leistungssteigerungen bis zu Faktor 30 möglich sind.

Im zweiten Teil des Beitrags wird die Wichtigkeit von ECC-Memory (Error Correcting Code) und Prozessorunterstützung durch die immer kleiner werdenden Chip-Strukturen erläutert. Darüber hinaus gibt es neue Erkenntnisse zum Thema NAND-Flash-Speicher. Hier werden Methoden wie z.B. das Scrubbing bei NAND Flashes erklärt.

CPU-Plattformenvergleich hinsichtlich Systemleistung

Es gibt immer wieder Streit darüber, welches der performantere und bessere Prozessor für eine gegebene Anwendung ist. Meist stehen hier X86, PowerPC und ARM in ihren unterschiedlichen Ausprägungen gegeneinander.

Eins vorweg: Gleich schnell getaktete Prozessoren sind auch in etwa gleich schnell, mit wenigen Prozentpunkten Abweichung. Da ein Großteil der lokalen Daten im CPU-Cache verarbeitet werden, sind hier kaum Unterschiede sichtbar. Sobald es aber ins externe RAM geht, kommen Faktoren wie Busbreite, Speichertyp und Cache-RAM-Verbindung mit ins Spiel.

Gute und schlechte Programmierung für Speicherzugriffe

Beispielfunktionen: Auch wenn C-Source-Code-Beispiel 1 (links) und Beispiel 2 (rechts) nahezu identisch sind, liefern sie bei der Ausführung höchst unterschiedliche Resultate.
Beispielfunktionen: Auch wenn C-Source-Code-Beispiel 1 (links) und Beispiel 2 (rechts) nahezu identisch sind, liefern sie bei der Ausführung höchst unterschiedliche Resultate. (Bild: Microsys)

Doch zunächst zu dem C-Code Beispiel, mit dem die Messung durchgeführt wurden. Weshalb gibt es „gute“ und „schlechte“ Programmierung?

Häufig wird einfach darauf los programmiert, auf die pure Umsetzung einer Funktion geachtet und nicht die Auswirkungen der Programmierverfahren auf die Systemleistung miteinbezogen. Mit der Berücksichtigung der Abläufe, wie der Prozessor mit dem Cache und RAM zusammenarbeitet, können beispielsweise speicherintensive Funktionen um Faktoren schneller ablaufen.

Als Beispiel werden hier zwei fast gleiche Funktionen in C verglichen (siehe Abbildung). Es soll hierbei nicht auf Funktion, ANSI Konformität oder Schönheit ankommen, sondern es wird nur der Algorithmus beschrieben.

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: 44498621 / Embedded)

Elektronikpraxis News täglich 14 Uhr

News und Fachwissen für die professionelle Elektronikentwicklung - incl. ausgewählte dpa-Select News

* Ich bin mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung und AGB einverstanden.
Spamschutz:
Bitte geben Sie das Ergebnis der Rechenaufgabe (Addition) ein.

Digitale Ausgabe kostenlos lesen

ELEKTRONIKPRAXIS 6/2017

ELEKTRONIKPRAXIS 6/2017

Autobauer setzen auf 48-Volt-Mild-Hybridantriebe

Weitere Themen:

Assistenzsysteme auf den Vormarsch
Herstellung von Hochfrequenz-PCBs

zum ePaper

zum Heftarchiv

Leistungselektronik & Stromversorgung

Leistungselektronik & Stromversorgung

Das große Potenzial der Galliumnitrid-Devices

Weitere Themen:

Fehleinschätzungen von GaN-Halbleiter vermeiden
Herausforderungen an Gate-Treiber für SiC-Umrichter

zum ePaper

zum Heftarchiv