Rechenleistung satt NXP stellt ersten GHz-Mikrocontroller der Welt vor

Das Forum Safety & Security 2019 findet vom 08. - 10. Juli in der Stadthalle Sindelfingen statt.
Neu ist NXPs Embedded Security Subsystem EdgeLock 400 A, das den sogenannten High Assurance Boot (HAB) beinhaltet - NXPs Version des Secure Boot, Secure Key Storage, SRAM-basierte PUF, Hochleistungs-Krypto-Beschleuniger sowie Manipulationserkennung.

Man nehme einen i.MX-SoC mit Apps-Prozessor und ersetze ihn durch einen für MCUs entwickelten Cortex-M7.Das Ergebnis ist eine Art Zwitter,den NXP Crossover-Prozessor nennt und der Rekordwerte bei Rechenleistung und Energieeffizienz liefert. Der neue RT1170 ist der erste GHz-Controller auf dem Markt.

Die Zutaten für NXPs Crossover-Controller sind generell Folgende: Man nehme einen i.MX mit Applikationsprozessor Cortex-A, ersetze diesen durch einen Cortex-M7 und fertige den Chip statt in einem Flash-Prozess in einem CMOS-Prozess, im Fall des neuen RT1170 28-nm-FDSOI von Samsung. Das Ganze wird noch durch einen mit 400 MHz getakteten Arm Cortex-M4 ergänzt. Das Ergebnis ist eine Rechenleistung von 6468 CoreMark in einer Dual-Core-Variante, welche die Werte der Cortex-M7-Konkurrenz von Microchip oder ST Microelectronics bis zu Faktor 4 übertrifft. Tatsächlich schlägt der RT1170 von der absoluten Rechenleistung sogar die meisten der zahlreichen mit Cortex-A7-Applikationsprozessor ausgestatteten MPUs, da der Cortex-A7 mit 3 CoreMark/MHz deutlich unter den 5 CoreMark/MHz des Cortex-M7.

Der RT1170 ist auch etwa doppelt so schnell wie der i.MX RT1060 von NXP, sein nächstschnellster Cortex-M-Controller. Zum Vergleich: Diese Punktzahl entspricht etwa dem, was Intels Quad-Core Xeon L5408 vor zehn Jahren produziert hat, oder einem AMD Phenom II X4 (ca. 2009), oder etwa dem OMAP4460 von TI, einem Dual-Core Cortex-A9-Prozessor.

Die energieeffiziente Cortex-M4-CPU kann für zeitkritische Steuerungsanwendungen wie Sensor- und Motorsteuerung eingesetzt werden, während die Cortex-M7 komplexere Anwendungen ausführen. Darüber hinaus kann das Dual-Core-System ML-Anwendungen parallel ausführen, wie beispielsweise die Gesichtserkennung mit natürlicher Sprachverarbeitung. Beide CPUs können unabhängig voneinander und parallel auf Systemressourcen wie Peripherie und Speicher zugreifen.

Für Edge-Compute-Anwendungen verbessert die neue Familie die Leistung für ML, Edge Inferenz für Sprach-, Sicht- und Gestenerkennung, natürliches Sprachverständnis, Datenanalyse und DSP-Funktionen (Digital Signal Processing) natürlich dank der höheren Taktfrequenzen erheblich. Die Kombination aus GHz-Takt und großem On-Chip-Speicher beschleunigt die Inferenzzeit bei der Gesichtserkennung um bis zu das Fünffache im Vergleich zu den derzeit schnellsten MCUs auf dem Markt, zusätzlich zur Verarbeitungsbandbreite zur Verbesserung der Genauigkeit und Immunität gegen Spoofing. Auch bei der Ausführung rechenintensiver Spracherkennung, einschließlich Audio-Vorverarbeitung wie Echokompensation oder Rauschunterdrückung macht sich die hohe Rechenleistung durch bessere Erkennungsraten bemerkbar.

NXP positioniert den RT1170 als eine Alternative zu Cortex-A-basierten Anwendungsprozessoren und zielt auf Embedded-Geräte ab, die einerseits mit hochauflösenden Displays ausgestattet sind und andererseits geringe Leistung aufnehmen und eine schnelle Interrupt-Latenzzeiten brauchen, letztere sind Eigenschaften typischer Mikrocontroller. Der Nachteil gegenüber einem Cortex-A-SoC ist natürlich, dass schon auf Grund der nicht vorhandenen MMU (Memory Management Unit) kein Linux-Betriebssystem ausgeführt werden kann. Insofern dürfte der Wettbewerb in erster Linie mit herkömmlichen Hochleistungs-MCUs ausgefochten werden. Diese Controller finden sich unter anderem in industriellen Anwendungen, Medizingeräten oder Automobil-Bereich (Dashboard u.a.), die allesamt grafische 2D-Benutzerschnittstellen haben.

Cortex-M7 vs. Cortex-Ax

Der Quasi-Austausch des Cortex-Ax gegen den Cortex-M7 hat unterschiedliche Auswirkungen. Im positiven Sinn reduziert sich die Interrupt-Latenz von Hunderten von Taktzyklen auf 12 Taktzyklen oder 12 ns, was den RT1170 für Echtzeitanwendungen brauchbar macht. Durch den Cortex-M7 kann der Programmierer dessen DSP-Erweiterungen nutzen, welche dem Ax fehlen, dem M7 fehlen dagegen neben der MMU und damit Linux auch die Neon-SIMD-Instruktionen.

Der RT1050, der in seiner industriellen Ausführung für einen Temperaturbereich von -40 °C bis +105 °C und im Automotive-Grade sogar von -40°C bis +125 °C qualifiziert ist, ist auf maximale Energie- und Kosteneffizienz designt worden. Er kommt in einem Low-Cost-Package BGA289 in der Größe 14x14 mm daher, das 2- oder 4-Schicht-PCB-Designs ermöglicht und weist einen limitierten Speicher auf dem Chip auf, wobei die TCMs (eng angebundener Speicher, tightly coupled memory) mit einem Taktzyklus Zugriffszeit für die Cortex-M7 mit 512 KB und Cortex-M4 mit 256 KB extrem groß sind (beim Cortex-M7 sind bei der Konkurrenz bislang 128 KB zu finden). Insgesamt sind incl. der TCMs 2 MB SRAM auf dem Chip vorhanden, neben den TCMs existieren noch jeweils 32 KB große Caches des Cortex-M7 für Daten und Befehle.

Ein Embedded-Flash-Speicher fehlt beim RT1170 natürlich komplett, was den Chip klein hält und damit preiswert macht. Kritische Routinen, bei denen ein Zugriff auf externen Speicher zu langsam wäre, müssen daher wohl oder übel in den TCM geladen werden, sodass nur ein kleiner Teil des On-Chip-SRAM zur Datenspeicherung übrig bleibt. Laut NXP reduziert die Kombination aus L1-Cache und TCM-Zugriff die Cache-Miss-Rate des RT1170 für die meisten Anwendungen auf weniger als 2 %. Bild 1 zeigt die Architektur des RT1170. Abgesehen von der Beseitigung der DDR-Unterstützung behält der neue Prozessor die gleichen externen Speicherschnittstellen wie die i.MX-Applikationsprozessoren bei.

Externer NOR-Flash-Speicher wird beim RT1170 über eine Dual-Quad-SPI-Schnittstelle angebunden, welche eine sogenannte Bus-Verschlüsselungs-Engine aufweist. Dies bedeutet, dass »on-the-Fly-Daten«, die mittels AES-128 verschlüsselt im externen Speicher liegen, beim Lesen ohne Wartezyklen entschlüsselt werden. Daneben gibt es über eine aus Kostengründen nur mit 8-/16-bit-Ports ausgeführte Parallel-Speicherschnittstelle zu externem NOR-, NAND-Flash und PSRAM, was neben einer geringeren Bandbreite auch einen kleineren Speicher-Adressraum bedeutet als bei den 32-Schnittstellen der Konkurrenz. Dafür ist der mit bis zu 200 MHz getaktete SDRAM-Controller in 8/16/32-bit ausgeführt. Die i.MX RT1170 MCU verfügt auch über eine Inline-Verschlüsselungsmaschine (IEE), um der Herausforderung zu begegnen, die Vertraulichkeit der in internen und externen Speichern gespeicherten Daten ohne Auswirkungen auf die Latenzzeit zu schützen. Das IEE wurde entwickelt, um On-Chip-SRAM und externes SRAM/PSRAM/DRAM zu verschlüsseln und zu entschlüsseln. 

Die Peripherie wurde in einen High-Performance-Teil (z.B. USB, Ethernet, Multimedia) und in einen Energiesparteil (z.B. Timer, Analog-Peripherie wie A/D-Wandler, CAN, UART, SPI, I2C) unterteilt. Der RT1170 bietet im Grunde genommen dieselben Konnektivitätsschnittstellen und Systemsteuerungsfunktionen wie seine Cortex-A-Pendants. Wie Bild 1 zeigt, enthält der Chip NXPs bekannte generische 2D-Grafik-Engine (PXP, Pixel Processing Pipeline) sowie einen LCD-Displaycontroller, der bis zu WXGA-LCDs (1366×768 Pixel) bei 60 Frames/s treiben kann. Daten können dabei parallel bis zu 24 bit Datenbusbreite übertragen werden, möglich sind auch 8, 16 und 18 bit. Die Grafikengine liefert unter anderem eine Farbraumkonvertierung von YUV nach RGB, auf- und abskalieren von Bildern mit bilinearen Filtern, Bildrotationen um 90, 180 und 270 Grad, vertikale und horizontale Spiegelungen des Bildes sowie Chroma Keying, ein visueller Effekt beziehungsweise eine Postproduktionstechnik, bei der eine Chrominanz zum Freistellen von Bildmaterial verwendet wird. Als erste MCU, die einen 2D-Vektorgrafikkern mit Unterstützung der Open VG 1.1 API integriert, ermöglicht die i.MX RT1170-Familie die Auslagerung des rechenintensiven Grafik-Rendering auf die GPU. Angesteuert werden können 720p-Displays mit 60 Frames/s und 1080p HD-Bildschirme mit 30 Frames/s.

Neu ist NXPs Embedded Security Subsystem EdgeLock 400 A, das den sogenannten High Assurance Boot (HAB) beinhaltet - NXPs Version des Secure Boot, Secure Key Storage, SRAM-basierte PUF (physikalisch nicht klonierbare Funktion), Hochleistungs-Krypto-Beschleuniger für AES-128/256, Elliptical Curve Cryptography mit 256 bit großen Schlüsseln, RSA-4096 Verschlüsselungsalgorithmen, Hashbeschleunigung für SHA-256/512 sowie Manipulationserkennung. Der EdgeLock-Block enthält sowohl einen echten Zufallszahlengenerator (TRNG) als auch einen Pseudozufallszahlengenerator (PRNG). Warum hat der Chip beides? Weil man schnell und gut sein will. Ich vermute, dass die TRNG-Hardware (die komplexer ist als eine PRNG-Schaltung) nicht mit dem 1-GHz-Cortex-M7 mithalten kann, also hat NXP den PRNG für alltägliche Aufgaben hinzugefügt, die den Prozessor nicht verzögern werden.

Was die weiteren Schnittstellen angeht, sind 3x Ethernet (einmal 1 Gbit/s mit AVB, einmal 10/100 mit IEEE 1588 und einmal 1 Gbit/s mit TSN),  2 x USB 2.0 OTG (HS/FS, Device oder Host mit PHY), drei 12-bit-A/D-Wandler mit 2 Msamples/s und bis zu 24 Kanälen, 2 D/A-Wandler, 8 Komparatoren und für Audio 4x I2S/SAI, 1x S/PDIF Tx/Rx, ASRC sowie ein digitaler Mikrofon-Eingang zu erwähnen.

Die Herstellung in einem standardmäßigen 28-nm-FDSOI-CMOS-Prozess reduziert die Kosten im Vergleich zur Embedded-Flash-Technologie, wodurch NXP den RT1170 zu einem niedrigeren Preis anbieten kann als seine Konkurrenten ihre Mikrocontroller. Der RT1170 kostet bei einer Abnahme von 10.000 Stück nur 4 bis 6 Dollar, in 2. Halbjahr 2020 kommt der Chip in Massenproduktion.

Integrierte Stromversorgung

Kostensparend wirkt sich auch der On-Chip-DC-DC-Wandler in der Stromversorgung des Chips aus, die mit einem einzigen 3,3-V-Eingang leben kann. Neben dem DC-DC-Wandler finden sich noch vier integrierte Low-Drop-Längsregler (LDO) auf dem Chip. Diese Tatsache ist für Entwickler batteriebetriebener IoT-Geräte sowie für medizinische Geräte und industrielle Automatisierungssysteme sehr attraktiv. Während also der Chip im aktiven Modus auf hervorragende Werte bezüglich der Stromaufnahme kommen dürfte (Datenblätter mit genauen Angaben gibt es noch nicht), erhöht die Verwendung von Transistoren mit höherer Schaltgeschwindigkeit natürlich die Leckströme, die durch den FDSOI-Prozess jedoch geringer ausfallen werden als bei NXPs Crossover-Familien, die auf 40 nm Standard-CMOS gefertigt werden. Auch hier müssen wir abwarten, welche Zahlen am Ende in den Datenblättern stehen werden.

Zwischen MCU und Applikationsprozessor

Mit seiner i.MX RT-Serie möchte NXP eine neue Low-Cost/High-Performance-Kategorie zwischen traditionellen MCUs und Anwendungsprozessoren definieren. Statt aus dem On-Chip-Flash-Speicher wird der Programmcode aus externem Speicher ausgeführt beziehungsweise teilweise aus den TCMs, wenn er zeitkritisch ist. Dieser Ansatz reduziert den Kostenvorteil des Chips an sich, hat aber auch Vorteile, zum Beispiel dass 2 MB externer NOR-Flash bis zu 60 % schneller programmiert werden kann als eine MCU mit 2 MB embedded-Flash. Anwendungen, die auf Linux oder Android aufsetzen, können nicht auf dem Cortex-M7-Prozessor laufen. Entwickler von RTOS-basierten Systemen, welche aus der Mikrocontroller-Welt kommen, hingegen werden sich freuen, mit dem RT1170 Rechenleistung und Funktionalität zu erhalten, die bislang einen MPU-Einsatz erzwungen haben. Auch wenn NXPs Ziel klar darin besteht, am oberen Ende der MCU-Anwendungen STMicroelectronics weitere Marktanteile abzunehmen, könnte damit eine unangenehme Nebenwirkung verbunden sein: Die Kannibalisierung des eigenen i.MX-Applikationsprozessors-Geschäftes.