Ein typisches Mikrocontrollersystem besteht aus Prozessorkern, einem on-Chip-SRAM und dem Flashspeicher.
Tabelle 1 zeigt einige gängige Evaluierungsboards mit Arm Cortex-M-Kernen unterschiedlicher Rechenleistung (16 MHz bis 216 MHz) und Speicherressourcen (SRAM 8 Kb bis 320 Kb, Flash 128 Kb bis 1 Mb)
Das Programm wird auf Maschinenebene gewöhnlicherweise in den Flashspeicher geschrieben und mit dem Controllerstart in den SRAM geladen der den Prozessor speist. Die SRAM-Größe stellt damit die wesentliche Speichergrenze an die Software. Die meisten Mikrocontroller zielen auf eingebettete Applikationen mit niedrigen Kosten sowie hoher Energieeffizienz und sind nicht für große Durchsätze und rechenintensive Anwendungen wie NNs ausgelegt. Einige Mikrocontroller implementieren aber DSP-Befehlssätze, die für eine NN-Implementierung nützlich sind: SIMD- und MAC-Befehle in Cortex-M4- und Cortex-M7-Kernen beschleunigen approximative NN-Verfahren (low-precission computing).
Plattform | Prozessor | Frequenz | SRAM | Flash |
---|---|---|---|---|
Mbed LPC11U24 | Cortex-M0 | 48 MHz | 8 Kb | 32 Kb |
Nordic nRF51-DK | Cortex-M0 | 16 MHz | 32 Kb | 256 Kb |
Mbed LPC1768 | Cortex-M3 | 96 MHz | 32 Kb | 512 Kb |
Nucleo F103RV | Cortex-M3 | 72 MHz | 20 Kb | 128 Kb |
Nucleo L476RG | Cortex-M4 | 80 MHz | 128 Kb | 1 MB |
Nucleo F411RE | Cortex-M4 | 100 MHz | 128 Kb | 512 Kb |
FRDM-K64F | Cortex-M4 | 120 MHz | 256 Kb | 1 MB |
Nucleo F746ZG | Cortex-M7 | 216 MHz | 320 Kb | 1 MB |
Tabelle 1: Einige Arm-basierte DevKits