MCU vs MPU : microcontrôleur et microprocesseur comparés
Un microcontrôleur (MCU) réunit sur une seule puce un processeur, de la mémoire flash, de la RAM et des périphériques comme des timers, des ADC et des interfaces de communication : il peut donc faire fonctionner seul un petit système complet. Un microprocesseur (MPU) est principalement un processeur plus rapide qui nécessite de la DRAM et un stockage externes, et exécute généralement un système d'exploitation complet comme Linux. Les MCU conviennent au contrôle simple, basse consommation et temps réel ; les MPU aux appareils complexes riches en logiciel.
| Critère | MCU | MPU |
|---|---|---|
| Intégration | CPU, flash, RAM et périphériques (GPIO, timers, ADC, UART, SPI, I2C) sur une seule puce | Cœurs de CPU avec caches et MMU ; la DRAM et le stockage sont des puces externes |
| Fréquence d'horloge | D'environ 1 MHz à quelques centaines de MHz | De quelques centaines de MHz à plusieurs GHz |
| Mémoire | De quelques kilooctets à quelques mégaoctets de flash sur puce, et de quelques kilooctets à quelques mégaoctets de SRAM | DRAM externe (de quelques centaines de MB à quelques GB) et stockage comme l'eMMC ou une carte SD |
| Logiciel | Code bare-metal ou petit OS temps réel (comme FreeRTOS ou Zephyr) | Système d'exploitation complet comme Linux ou Android |
| Comportement temps réel | Prévisible, avec une latence d'interruption de l'ordre de la microseconde | Plus difficile à garantir sous Linux sans extensions temps réel |
| Consommation | Très faible : quelques microampères en veille, et une pile bouton peut durer des années | Plus élevée : de quelques centaines de milliwatts à quelques watts |
| Temps de démarrage | Instantané, en quelques millisecondes | Quelques secondes, car un chargeur d'amorçage et un OS doivent démarrer |
| Coût et conception de carte | Puce bon marché, carte simple, peu de composants externes | Puce plus chère plus DRAM et puces d'alimentation, et carte multicouche complexe |
| Usages typiques | Électroménager, commande de moteurs, capteurs, wearables, ECU automobiles | Smartphones, tablettes, décodeurs TV, routeurs, écrans tactiles industriels, infodivertissement |
| Exemples | STM32, ESP32, RP2040, cartes Arduino | Processeurs d'application comme NXP i.MX, TI Sitara et la puce du Raspberry Pi |
Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.