embedded world Conference – Tag 2 Ultra-Low-Power-Panel mit illustrer Besetzung

Die embedded world 2013 findet vim 16. - 28.Februar in Nürnberg statt.
Die embedded world 2013 findet vim 16. - 28.Februar in Nürnberg statt.

Am zweiten Tag der embedded world Conference werden im Rahmen einer Panel-Diskussion mit hochkarätiger Besetzung wichtige Aspekte des Ultra-Low-Power-Designs erörtert.

Das Panel ist Bestandteil des »Ultra-Low Power System Design Workshop«, der als Class 12 der embedded world Conference am Mittwoch, 27. Februar, ganztägig im Nürnberger NCC Ost über die Bühne gehen wird. Im Rahmen dieses Panels wird ein Team von Experten den Stand der Technik beim Entwurf und der Programmierung von Ultra-Low-Power-Schaltungen diskutieren und abwägen. Aufbauend auf die vorangegangenen Vorträge wird das Panel Themen wie die Vor- und Nachteile von 8-, 16- und 32-Bit-Mikrocontrollern, fortschrittliche Compilertechniken oder den Einsatz von Benchmarks wie »CoreMark« als Basis für einen fairen Vergleich kontrovers diskutieren. Nähere Infos gibt es hier.

An der Panel-Diskussion nehmen teil:

  • Reinhard Keil, ARM Deutschland,
  • Frank Grobe, Hitex Development Tools,
  • Geoff Lees, Freescale,
  • Jürgen Hoika, Energy Micro.

Moderiert wird die Diskussion von Markus Levy, dem Präsidenten der Multicore Association und dem Vorsitzenden der Multicore Developers‘ Conference. Er ist außerdem der Gründer und Präsident des EEMBC (Embedded Microprocessor Benchmark Consortium), hat den »Ultra-Low Power System Design Workshop« auf der embedded world Conference organisiert und moderiert diesen auch.

Markus Levy hat zum Workshop einige grundlegende Informationen zusammengestellt:

Architektur-Überlegungen für Ultra-Low-Power-Mikrocontrollersysteme

Vor dem Entwurf eines Ultra-Low-Power-Systems sind viele Faktoren zu berücksichtigen. Zu Beginn müssen wir zunächst klären, was ein Ultra-Low-Power-System eigentlich ist, denn hierbei handelt es sich offensichtlich um eine relative Bezeichnung. Aus meiner Sicht und mit Bezug auf den »Ultra-Low Power System Design Workshop« im Rahmen der embedded world Conference zielt Ultra-Low-Power auf Systeme, mit denen sich Batterie-Laufzeiten erreichen lassen, die mindestens in Wochen, wenn nicht Monaten oder Jahren gemessen werden. Wenn Sie dies zu Beginn Ihres Systemdesigns berücksichtigen, werden Sie die Faktoren sorgfältig aus der Perspektive des Mikrocontrollers, der Software und/oder der Architektur (also 8, 16 oder 32 Bit) untersuchen müssen.

Beginnen wir mit der Architekturanalyse: Systementwickler zögern oft mit dem Umstieg auf einen 16- oder 32-Bit-Mikrocontroller, um die wachsenden Arbeitslast-Anforderungen der Produkte ihres Unternehmens verarbeiten zu können. Sie befürchten, dass das damit verbundene Arbeitspensum übermäßig ist. Aber wir werden im Workshop zeigen, dass moderne Entwicklungstools sehr ausreichende Hilfestellungen für diesen Umstieg bieten. Auf der anderen Seite überschätzen Systementwickler oft den Nutzen der höheren Rechenleistung relativ zur steigenden Leistungsaufnahme.

Als Anbieter von 8-, 16- und 32-Bit-Mikrocontrollern geht Atmel mit seinem Workshop-Vortrag »Performance and Power Consumption Tradeoffs in Modern MCU Architectures« bei den Mikrocontrolleroptionen ins Detail und beleuchtet diese aus der Perspektive einer Abwägung von Rechenleistung und Leistungsaufnahme. So haben 8-Bit-Mikrocontroller beispielsweise typischerweise bei Funktionen wie der I/O-Steuerung Vorteile bezüglich der Code-Effizienz, vor allem aufgrund ihrer einfacheren Busstrukturen. Außerdem haben 8-Bit-Bausteine typischerweise kürzere Pipelines, wodurch sich enge Programmschleifen weniger negativ auswirken, ohne dass zusätzlicher Schaltungsaufwand für »loop unrolling« oder »branch prediction« getrieben werden muss. Weiterhin haben 8-Bit-Mikrocontroller geringere RAM-Anforderungen (im Vergleich mit den meisten 16- und 32-Bit-Cores), und die geringere Coregröße erlaubt größere Strukturbreiten, was wiederum zu niedrigeren Leckströmen führt.

Zugunsten der 32-Bit-Mikrocontroller ist anzumerken, dass diese generell bessere Unterstützung von 16- und 32-Bit-Arithmetik bieten. Mit dem Einsatz eines fortschrittlicheren und geschichteten Bussystems wird es zudem leichter, solche Dinge wie dynamische Frequenzsteuerung zu tun, um die Arbeitstaktfrequenz auf den niedrigsten durchschnittlichen Stromverbrauch hin zu optimieren. Es sollte niemanden überraschen, dass die meisten Mikrocontrollerhersteller in der 32-Bit-Welt einen ARM-Prozessor einsetzen. Man könnte vermuten, dass die Siliziumanbieter sich bemühen, ihre Bauteile vom Wettbewerb zu differenzieren. Auf der anderen Seite ist eine MCU viel mehr als ein Core, und die Differenzierung geschieht über für die jeweilige Implementierung spezifische Bussysteme, Speicherkonfigurationen und die breite Vielfalt von Peripheriefunktionen. Die Datenblätter von Mikrocontrollern auf Cortex-M-Basis zeigen eine starke Differenzierung in Bezug auf Low-Power, wobei die Siliziumhersteller ihre eigenen Low-Leakage-Prozesse verwenden, aber auch proprietäre, Power-Modi auf Systemebene entwerfen, die für spezielle Anwendungen geeignet sind.

Um die Low-Power-Features der Architektur genauer darzustellen, wird ARM im Rahmen des Workshops über die »Architectural Features That Support Ultra-Low Power« referieren. Als Systementwickler oder Programmierer wird es Ihnen ein Anliegen sein zu versuchen, den Anwendungscode so zu optimieren, dass er die Low-Power-Features einer Architektur vorteilhaft ausnutzt. Zusätzlich zur generellen Struktur der Pipeline einer Architektur wird einer der Schlüsselfaktoren mit der intrinsischen Effizienz des Befehlssatzes zusammenhängen. Obwohl viele Ultra-Low-Power-Anwendungen nur einfache Befehle für die grundlegende Verarbeitung benötigen, werden komplexere Mikrocontrollerarchitekturen die Anzahl der Zyklen pro Anweisung optimieren können, und in der Lage sein, Multicore-Taks mit einem Befehl zu bearbeiten. Im größeren Zusammenhang sollte die Softwareentwicklung alle Vorteile berücksichtigen, die das Produkt bietet – wie zum Beispiel die Verwendung von Low-Power-DMAs (soweit vorhanden) zwischen Peripherieeinheiten, ohne dass der Prozessor überhaupt zum Einsatz kommt.