Bei IoT-Anwendungen steht in der Regel immer die Energieaufnahme im Fokus. Für den D1000 gibt Intel 7,7 mA an bei 32 MHz und einer Versorgungsspannung von 3,3 V, die MCU D2000 sollte ähnliche Werte aufweisen. Für den Standby-Modus werden 4,8 µA mit aktiver Echtzeituhr (2,1 µA ohne) angegeben. Im »Retention-Modus«, der nur noch die Registerinhalte bewahrt, sinken die Werte auf 3,0 und 1,6 µA. Wegen der vergleichsweise schwachen Rechenleistung ist die Energieeffizienz (CoreMark/mA) eines D1000 geringer als die der Cortex-M4-Konkurrenz (Tabelle 2). Im Sleep-Modus liegt Intel um Faktor 3 bis 5 über den ARM-Chips.
Intel Quark D1000 | Atmel SAM4LS2AA | NXP Kinetis MK20DN32VFT5 | TI MSP432P401M | |
---|---|---|---|---|
CPU | Quark x86 | ARM Cortex-M4 | ||
Taktfrequenz in MHz | 32 | 48 | 50 | 48 |
CoreMark/MHz | 2,3 | 3,4 | ||
Stromaufnahme aktiver Modus bei fmax (mA) | 7,7 | 8,6 | 16,5 | 4,3 |
Energieeffizienz (CoreMark/mA) | 9,6 | 18,9 | 10,3 | 37,8 |
Max. Rechenleistung (CoreMark) | 73,6 | 163,2 | 170 | 163,2 |
Stromaufnahme Sleep-Modus mit aktiver Echzeituhr (µA) | 4,8 | 1,5 | 1,2 | 0,85 |
Flash-Speicher (KB) | 36 | 128 | 32 | 128 |
SRAM (KB) | 8 | 32 | 8 | 32 |
ROM (KB) | 8 OTP | Keines | 2 KB | Keines |
A/D-Umsetzer (Kanäle/max. Auflösung in bit) | 19/12 | 3/12 | 1/16 | 24/14 |
USB-Schnittstelle | Keine | 2.0 | 2.0 | Keine |
SPI/I2C/I2S/UART | 1/1/-1 | 1/-/1/1 | 1/1/1/1 | 1/1/-/1 |
TWI | Nein | Ja | Nein | Nein |
Weitere Peripherie | 19 Komparatoren | Audio-D/A-Wandler, LCD | 10 PÄWMs | |
Touch-I/O | Nein | Ja | ||
Gehäuse | 6 mm QFN-40 | 7 mm QFN-48 | 14 mm QFN-100 | |
Temperaturbereich | -40 °C bis +85 °C | -40 °C bis +105 !C | ||
Listenpreis (US$ 1k St.) | 2,60 | 3,34 | 2,57 | 2,15 |
Produktion | Q4 2015 | 2012 | 2014 | Q2 2016 |
Tabelle 2: D1000 im Vergleich zu den Cortex-M4-MCUs anderer Hersteller Quelle: Herstellerangaben
Auch bei der absoluten Integer-Rechenleistung liegt Intel hinten, zudem enthält der Cortex-M4 einen FPU und (limitierte aber immerhin vorhandene) DSP-Erweiterungen, die D1000 und D2000 abgehen. Intel musste dem Quark SE eine separate DSP-Engine hinzufügen, die ihrerseits Chip-Fläche und Energie schluckt.
Vergleicht man Quark mit Cortex-M0+-MCUs, sieht die Welt schon besser aus, jedenfalls was die Rechenleistung angeht. Dafür sind diese Konkurrenten billiger und nehmen noch weniger Leistung auf. Egal wie man es dreht und wendet: Der D1000 kann in der einen oder anderen Richtung nicht mit den ARM-MCUs mithalten.
Schaut man sich die Peripherieausstattung der Quark-Chips an, findet man die bei 32-bit-MCUs üblichen Verdächtigen wie SPI, I2C, UART, GPIOs, Timer, Echtzeituhr und Watchdog-Timer. Beim D2000 kommen zwei PWMs dazu. An Analog-Peripherie stehen 19 Komparatoren (davon 13 Low-Power-Wake-Up- und sechs High-Speed-Komparatoren) sowie ein nach dem sukzessiven Approximationsverfahren (SAR) arbeitender A/D-Umsetzer mit 19 Kanälen und 12-bit-Auflösung zur Verfügung, der bis zu 4,1 Mio. (D1000) oder 3,3 Mio. (D2000 und Quark SE) Abtastungen pro Sekunde vornimmt – dann allerdings nur mit 6 bit Auflösung; bei 12 bit Auflösung stehen noch 2,4 MSamples/s zu Buche.
Speicher wenig wettbewerbsfähig
Ist diese Peripherieausstattung noch mit der Konkurrenz vergleichbar, sieht es beim Speicher, zumindest bei D1000 und D2000, mau aus. Neben den jeweils 8 KB großen Caches für Instruktionen und Daten gibt es lediglich 8 KB SRAM, 8 KB OTP-ROM und 36 KB Flash-Speicher (32 KB für Code und 4 KB für Daten). Eine Schnittstelle für externes DRAM fehlt. Man könnte externen Flash über SPI anbinden, dies aber ist deutlich langsamer als eine parallele DRAM-Schnittstelle.
Der Sensor-Hub des Quark SE beruht auf dem CPU-Core EM4 von ARC (Bild 2). Dieser 32-bit-Core wird mit 32 MHz getaktet, enthält eine Gleitkommaeinheit (einfache Genauigkeit) und einen Hardware-Beschleuniger für einige mathematische Funktionen in doppelter Genauigkeit. Neben 80 KB SRAM und 8 KB OTP-ROM, die mit der Quark-CPU geteilt werden, kommt dieser Chip mit 192 KB Flash-Speicher und nochmals 192 KB Flash für den EM4 daher. Er kann Daten von zahlreichen Sensoren verarbeiten und I/O-Schnittstellen auf bestimmte Benutzereingaben überwachen, während die Quark-CPU schläft.
Die neuronale Engine zum Musterabgleich kann lernen, auf spezifische Benutzer¬eingaben mit unterschiedlichen Antworten zu reagieren und ist schneller als jede Mustererkennungssoftware, die auf der CPU oder auf dem EM4-DSP liefe. Technisch soll es sich um ein kleines neuronales Netzerk handeln mit 128 Neuronen und 128 Komponenten pro Neuron – Details gab Intel nicht bekannt, insbesondere nicht, welche Anwendungen in welchem Maße mit der Engine beschleunigt werden.
Um den Sensor-Hub nutzen zu können, ist Quark SE mit mehr Timern und I/O-Schnittstellen als seine »Brüder« D1000 und D2000 ausgestattet. Neben zwei I2C-Schnittstellen sind dies eine I2S-Schnttstelle, 32 GPIO-Pins und eine USB-1.1-Schnittstelle. Daher ist das Gehäuse größer: Ein 144-Pin-BGA mit 10 mm Kantenlänge statt einem 40-Pin-QFN mit 6 mm Kantenlänge.
Die Cortex-M4-basierte Konkurrenz muss sich vor Intel keineswegs verstecken, ganz im Gegenteil (Tabelle 2). Je nach Hersteller gibt es USB-2.0-Controller, Touch-Schnittstellen oder sogar eine LCD-Schnittstelle. Dazu kommt ein Angebot an fast unzählig vielen Derivaten mit bis zu 256 KB Flash-Speicher oder mehr. Die kleinen Quarks bieten nur eine Variante mit 36 KB Flash an, möchte man nicht auf den teuren und auf Mixed-Signal-Anwendungen spezialisierten Quark SE zurückgreifen.