Über 9000 Punkte beim Coremark-Benchmark HPMicro: RISC-V-Mikrocontroller-Familie mit hoher Rechenleistung

Von Frank Riemenschneider *

Anbieter zum Thema

Für rechenintensive Anwendungen gibt es im RISC-V-Universum bislang kaum geeignete MCUs. Nun legt ein chinesischer Hersteller mit neuen Controllern die Messlatte auf über 9.000 Coremark hoch.

Mikrocontroller auf Basis der RISC-V-Befehlssatzarchitektur kommen in immer mehr Anwendungen zum Einsatz – durchaus auch in industriellen Applikationen wie Motorsteuerungen für Roboter in der Fertigung.
Mikrocontroller auf Basis der RISC-V-Befehlssatzarchitektur kommen in immer mehr Anwendungen zum Einsatz – durchaus auch in industriellen Applikationen wie Motorsteuerungen für Roboter in der Fertigung.
(Bild: Shutterstock)

Der RISC-V-Befehlssatz als Alternative zum Arm-Universum wird von großen Halbleiterherstellern schon länger in deren SoCs und Mikrocontrollern eingesetzt, jedoch häufig nicht in von außen sichtbaren und durch die Anwender programmierbaren Allzweck-CPUs, sondern als Spezial-Cores, die als Beschleuniger für unterschiedliche, auch interne Aufgaben dienen. Ein Beispiel ist NXPs neuer Crossover-Prozessor i.MX 8ULP, der neben zwei Arm-CPUs der Typen Cortex-M35 und -M33 ein μPower genanntes Subsystem für eine intelligente Stromversorgung enthält, das auf einem von NXP selbst entwickelten RISC-V-Core basiert.

Bislang sind Produkte mit RISC-V-CPUs hinsichtlich der Rechenleistung eher im unteren bis mittleren Bereich angesiedelt. Dabei ist die ISA zu mehr in der Lage, wie die neue MCU-Familie HPM6xxx von HPMicro zeigt. Das Unternehmen HPMicro wurde im August 2020 im Zhangjiang Hi-Tech Park in China gegründet und hat sich auf das Design von Mikrocontrollern, Mikroprozessoren und Peripheriechips konzentriert. Das Rückgrat und die wichtigsten Mitglieder des Forschungs- und Entwicklungsteams kommen von renommierten multinationalen Halbleiterunternehmen. Im Oktober 2021 wurde eine Serie-A-Finanzierung in Höhe von fast 100 Millionen RMByte (chinesischer Renminbi, ca. 14,3 Mio. Euro) abgeschlossen.

Bildergalerie
Bildergalerie mit 5 Bildern

Acht MCU-Varianten, davon sechs mit 300 MHz Taktfrequenz

Die Hochleistungs-MCU-Familie HPM6000 kam im November 2021 auf den Markt, die Massenproduktion lief im Januar 2022 an. Insgesamt gibt es in dieser Familie derzeit acht MCU-Varianten, die mit Ausnahme der Single-Cores HPM6110 und HPM6120, die mit 300 MHz getaktet sind, allesamt mit einer für eine MCU ungewöhnlich hohen Taktfrequenz von 816 MHz arbeiten und eine reichhaltige Peripherieausstattung mitbringen. Zwei Varianten haben 8 MByte Flash auf dem Chip, Bild 1 zeigt das Blockdiagramm des Flagship-Produktes HPM6050 (der HPM6058 ohne Flash auf dem Chip), das zwei D45-RISC-V-Cores des taiwanischen IP-Entwicklers Andes Technology integriert.

Im Wissen, dass das beste Silizium ohne entsprechende Softwareunterstützung wenig attraktiv ist, hat HPMicro Anfang 2022 eine Vereinbarung mit Segger Microcontroller abgeschlossen, durch die alle HPMicro-Kunden für die Softwareentwicklung Seggers IDE EmbeddedStudio ohne Zusatzkosten nutzen können [1]. Zusammen mit der Debugger-Familie J-Link und Middleware-Komponenten wie dem bekannten RTOS embOS bietet Segger schon seit 2017 ein vollständiges Ökosystem für RISC-V-Entwickler.

Schnelles Rechenwerk: RISC-V-CPU Andes D45

Die 32-Bit-CPU D45 ist ein superskalarer Dual-Issue-Prozessor mit 8 Pipeline-Stufen und In-Order-Befehlsausführung, der die RISC-V-Spezifikation einschließlich der Standardbefehle „G“ („IMAFD“), „C“ (16-Bit-Kompressionsbefehle), „P“ (Packed-SIMD/DSP-Befehle) und „N“ für Interrupts auf Benutzerebene unterstützt. Der D45 implementiert ebenfalls umfassende SIMD/DSP-Befehle für Sprach-, Audio-, Bild- und Signalverarbeitung. Seine „FD“-Erweiterungen unterstützen auch IEEE754-konforme Gleitkomma-Anweisungen mit einfacher und doppelter Genauigkeit.

Ebenfalls implementiert wurde das sogenannte MemBoost-Feature: Dieses soll die Speicherbandbreite deutlich zu erhöhen und die Speicherlatenz für Anwendungen mit intensiven Speicherzugriffen reduzieren. Darüber hinaus verfügt der D45 über einen Sprungvorhersage-Algorithmus, der vergleichsweise wenig Energie verbraucht, Befehls- und Daten-Caches, lokale Speicher und ECC-Fehlerschutz, einen AXI 64-Bit-Bus sowie eine JTAG-Debug- und Trace-Schnittstelle zur Unterstützung der Softwareentwicklung. Für eine höhere Codedichte können 16- und 32-Bit-Instruktionen gemischt werden, zudem ist der Registersatz mit 32 Allzweck-Registern vergleichsweise breit, was die Anzahl der Speicherzugriffe und damit ebenfalls die Codegröße und den Energieverbrauch reduziert.

Speichersubsystem mit sinnvollen Schutzmechanismen

Das Speichersubsystem des D45 enthält eine Speicherschutzeinheit mit 16 Regionen, denen jeweils unterschiedliche Attribute wie Cacheable/Non-cacheable oder Write-back/Write-through zugeordnet werden können. Zudem ist eine Hardware-Fehlererkennung von Stack-Überlauf und -Unterlauf zur Laufzeit und MemBoost implementiert, das an vier Punkten ansetzt: 1) Eine intelligente Cache-Zuweisung für eine bessere Cache-Nutzung und eine geringere Anzahl von Speicherzugriffen, 2) Befehls- und Daten-Prefetch für Instruktions- und Datencaches für minimale Speicherzugriffslatenzen, 3) Ausführung mehrerer Transaktionen für das Datenspeicher-Subsystem für eine höhere Busauslastung incl. Out-of-Order-Ausführung, sowie 4) getrennte Befehls- und Datenbusse für eigene Speichertransaktionen von Befehlen und Daten.

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

Der Platform-Level Interrupt Controller (PLIC) unterstützt die RISC-V PLIC-Spezifikation, d.h. bis zu 1023 PLIC-Interrupt-Quellen, bis zu 255 Interrupt-Prioritätsebenen und bis zu 16 PLIC-Interrupt-Ziele. Er umfasst auch eine vektorielle und präemptive Interrupt-Steuerung, um verschiedene Systemereignisse zu bedienen.

Bei einer Implementierung in 28 nm mit einer 9-Zellen-Bibliothek und jeweils 32 KByte Cache für Befehle und Daten – die Konfiguration von HPMicro – nimmt die CPU im aktiven Modus 25,2 µW/MHz auf und belegt 0.186 mm2 Siliziumfläche. Gemessen wurde die Leistungsaufnahme allerdings bei 25 °C, im realen Betrieb bei z.B. 85 °C ist sie selbstredend höher.

Bei HPMicros MCU- Familie wurde neben 32 KByte Cache jeweils für Befehle und Daten mit Null Taktzyklen Latenz auch jeweils 256 KByte eng angebundener Speicher (sog. „local memory”) mit ebenfalls Null Taktzyklen Latenz für eine deterministische Programmausführung implementiert. Auf diesen sind Bus-Master-Zugriffe über den AXI-Slave-Port möglich. Von den zur Auswahl stehenden beiden Hardware-Multiplizierern entschied sich HPMicro für die schnelle Variante mit mehr Chipfläche, die nur 2 Taktzyklen benötigt.

Rekord-Rechenleistung beim Coremark-Benchmark

Die hohe Rechenleistung der CPU, eine Dual-Core-Implementierung und die hohe Taktfrequenz führen zu einem Rekordwert beim Benchmark Coremark für Mikrocon­troller. Allerdings wird von HPMicro eine ideale Auslastung beider Cores vorausgesetzt, die in der Praxis bei vielen Anwendungen kaum erreichbar ist. Tatsächlich bewegt sich der HPM6050 schon fast im Bereich älterer MPUs mit Applikationsprozessor: NXPs i.MX6 Quad mit vier Arm-Cortex-A9-CPUs erreicht z.B. etwas über 10.000 Coremark-Punkte [2] gegenüber 9.920 Punkten des HPM6750.

Einen ähnlichen Vergleich kann man auch am unteren Ende der Leistungsskala durchführen. Der mit 300 MHz getaktete Single-Core HPM6120 kommt bei 300 MHz auf einen Coremark-Wert von 1680, andere Controller mit Takfrequenzen von 200 bzw. 240 MHz kommen auf die Hälfte oder weniger. Auffällig ist die reichhaltige Peripherieausstattung der neuen MCU-Familie. Der Multimedia-LCD-Display-Controller unterstützt Displays mit bis zu 1366 x 768 Pixeln und 60 Frames/s. Hardwarebeschleunigung gibt es u.a. für Grafikskalierung, Overlay und Rotation. Ein JPEG-Hardware-Codec reduziert ebenfalls die CPU-Last. Eine binokulare Kamera ermöglicht eine KI-basierte Bild­erkennung. Und mehrere digitale Mikrofonschnittstellen unterstützen Spracherkennungsanwendungen.

Für Motorsteuerungs-Anwendungen gibt es neben diversen A/D-Wandlern und Komparatoren mehrere hochauflösende PWMs im Nanosekundenbereich, eine Quadratur-Encoder-Schnittstelle sowie eine Hall-Sensor-Schnittstelle und im Kommunikations-Bereich sind u.a. zwei Gigabit-Echtzeit-Ethernet mit IEEE1588-Unterstützung und bis zu vier CAN/CAN-FD-Kanäle implementiert.

In den Controllern sind viele Security-Funktionen integriert

Besonderen Wert hat HPMicro auf die Sicherheit gelegt. Die zunehmende Vernetzung macht Mikrocontroller als Angriffsziel immer attraktiver. Gelingt es einem Angreifer, sich darüber Zugang zum Embedded-Gerät verschaffen, kann er großen Schaden anrichten. Ein Intrusion Detection System (IDS) und andere Maßnahmen wie die Möglichkeit, den Debug-Port zu deaktivieren, sollen dies verhindern.

Neben Secure-Boot können Updates der Firmware nicht von einem Angreifer rückgängig gemacht werden, um mit einer älteren Version das Gerät in einen anfälligen Zustand zu versetzen („Anti-Rollback”). Wird ein Angriff erkannt, werden z.B. Schlüssel gelöscht und Verschlüsselung und Entschlüsselung deaktiviert. Hardware-Beschleunigung steht für AES 128/256 und SHA-1/256 zur Verfügung.

Softwareseitig gibt es neben dem SDK von HPMicro auch eine Motorsteuerungsbibliothek mit Unterstützung auch für die feldorientierte Regelung, das HPM SoC Configuration Tool für die I/O-Multiplexing-Konfiguration und andere Funktionen zur Erleichterung der Ressourcenzuweisung für hochintegrierte SoCs und eine sogenannte BootRom-Suite, bestehend aus einem Programmiertool mit GUI und Boot-Image-Erzeugungstool.

HPMicro-Anwender können Seggers IDE EmbeddedStudio nutzen

Dank einer Vereinbarung zwischen Segger und HPMicro können Entwickler kostenlos Seggers integrierte Entwicklungsumgebung (IDE) EmbeddedStudio nutzen: Eine Komplettlösung für das Verwalten, Entwickeln und Testen von Embedded-Anwendungen. Der leistungsstarke Projektmanager ermöglicht das Verwalten von großen und kleinen Projekten, Versionskontrollfunktionen das automatische Bereitstellen von Anwendungen. Der Quellcode-Editor unterstützt Syntax-Hervorhebung, automatische Code-Einrückung und das Hervorheben passender Klammern. Zusätzlich bietet er Code-Vervollständigung, konfigurierbaren Code und Kommentar-Vorlagen. Analysemöglichkeiten für Speichernutzung, statische Stacks und statischen Code sind ebenfalls integriert. So lassen sich Anwendungen schon vor Beginn einer Debugging-Sitzung verbessern.

Die nahtlos integrierten J-Link/J-Trace Debug-Probes bilden die Grundlage für die leistungsstarken Funktionen von Embedded Studio. Mit dem Core-Simulator können Anwendungen getestet werden, noch bevor die Hardware verfügbar ist. Die IDE unterstützt neben RISC-V- auch Arm-basierte Mikrocontroller. Eine vollständige Übersicht findet sich unter [3]. Für Embedded Studio Cortex-A/R und Cortex-M gibt es eine PRO-Version mit einem umfangreichen Satz von Middleware-Komponenten – das emPower OS embedded All-in-One Betriebssystem im Objektcode, den marktführenden J-Link, das emPower Evaluation Board und professioneller Entwickler-Support. Last but not least wurde Seggers bekanntes RTOS embOS for RISC-V für und mit Embedded Studio for RISC-V entwickelt und kann mit jedem RISC-V-Device verwendet werden. Board-Support-Pakete für verschiedene RISC-V-Devices und Evaluierungsboards sind enthalten.

embOS ist ein prioritätsgesteuertes RTOS (Echtzeitbetriebssystem). Es ist als Grundlage für die Entwicklung von Embedded-Anwendungen konzipiert und wird seit 1992 kontinuierlich entwickelt. embOS ist für alle gängigen Cores, Compiler und Entwicklungswerkzeuge verfügbar. Kürzlich hat Segger mit embOS-Ultra eine revolutionäre Weiterentwicklung vorgestellt: Ein RTOS mit innovativem Cycle Resolution Timing, das den periodischen Tick Interrupt, der von traditionellen RTOSes verwendet wird, vollständig eliminiert. Die Planung aller zeitbasierten Ereignisse, wie Timeouts, Verzögerungen und periodische Timer, kann nun in Mikrosekunden oder CPU-Taktzyklen angegeben werden. Die Cycle-Resolution-Timing-Technologie ersetzt ad-hoc hardware-abhängige Techniken für präzises Timing durch saubere und konsistente API-Aufrufe [4].

Interessante MCU-Familie für vielfältige Anwendungen

Mit den HPM-Mikrocontrollern hat HPMicro eine interessante Familie im RISC-V-Universum auf den Markt gebracht, die insbesondere mit hoher Rechenleistung, Energieeffizienz und reichhaltiger Peripherie sowie On-Chip-Security punktet. Die Zielmärkte sind Industriesteuerungen, Smart-Home-Anwendungen und Edge-Computing. In der Industrie treiben komplexere Steuerungen, Software und künstliche Intelligenz MCU-Upgrades voran. Beim Smart-Home gibt es vielschichtige Treiber für höhere Anforderungen an MCUs, wie verbesserte Kommunikations- und Remote-Upgrade-Kontrollfunktionen oder optimiertes Energiemanagement.

Beim Edge-Computing stellen Datenkommunikation, Fernverwaltung, Mensch-Maschine-Interaktion neue Anforderungen an MCUs und IoT-Anwendungen erfordern eine hohe Zuverlässigkeit und Benutzerfreundlichkeit. Auch Kompatibilität und Unterstützung für eine Vielzahl von Nicht-IoT-Betriebssystemen und Kommunikationsprotokollen sind Themen, welche bei der Auswahl der MCUs zu berücksichtigen sind. HPMicro glaubt, alle diese Herausforderungen mit seiner neuen MCU-Familie abdecken zu können. Durch das Einbinden von Seggers RISC-V-Entwicklungs-Tools und Middleware steht den Entwicklern neben den Chips von Anfang an ein bewährtes, zuverlässiges und funktional überzeugendes Ecosystem zur Verfügung, um die „PS” des Siliziums „auf die Straße zu bringen”.

Referenzen

[1] Segger kooperiert mit HPMicro

[2] Coremark-Benchmark-Ergebnis NXP i.MX6 Quad

[3] Segger Embedded Studio

[4] Seggers embOS-Ultra-Chefentwickler im Interview

* Frank Riemenschneider ... ist Senior Marketing Manager bei Segger Microcontroller in Monheim am Rhein

(ID:48264351)