Voici quelques conseils que je peux vous fournir. Les spécifications fournies par NXP concernent l'ensemble de leur puce (cœur, mémoire, périphériques). La spécification fournie par ARM est basée uniquement sur le cœur. Comme les chiffres sont dérivés différemment, il est vraiment difficile de faire la comparaison.
Je propose donc de prendre du recul et d'examiner deux appareils. Un MCU basé sur NXP M0 et un MCU basé sur MXP M3.
Pour le MCU basé sur M0, regardons le LPC1111. Lorsque ce MCU exécute une boucle inactive occupée, il consomme 3 mA de courant à une fréquence d'horloge de 12 MHz. Cela donne 250uA / MHz, ce qui à 3,3 V est 825uW / MHz.
Pour le MCU basé sur M3, regardons le LPC1311. Lorsque ce MCU exécute la même boucle inactive occupée, il consommera 4 mA de courant à 12 MHz. Rendement 333,3 uA / MHz, soit 1,1 mW / MHz.
Si nous regardons un MCU MSP430C1101 (16 bits), nous verrons qu'il va utiliser 240uA à 1MHz lorsque la tension est de 3V. Cela donne 720uW / MHz.
Passons maintenant à l'ATMega328 (utilisé dans Arduino Uno). On voit 200uA utilisé à 1MHz avec une tension de 2V. Cela donne 400uA / MHz.
Il convient également de noter que le MSP430 et l'AVR sont spécifiés différemment. Leur consommation d'énergie est donnée à 1 MHz, alors que les M0 et M3 sont donnés à 12 MHz. Cela signifie que les M0 et M3 ont des inefficacités de mise à l'échelle jusqu'à 12 MHz cuits dans leurs nombres.
Ces valeurs sont toutes des valeurs de consommation actuelles actives. Si vous regardez la consommation actuelle lorsque l'appareil est en veille, vous voyez des ordres de grandeur moins d'énergie utilisée. L'avantage du M0 32 bits est qu'il peut faire beaucoup plus de travail en moins de temps que le MCU 8 et 16 bits. Cela signifie que pour une charge de travail donnée, il passera beaucoup plus de temps en sommeil. Le M0 entre les mains d'un bon ingénieur obtiendra souvent une efficacité énergétique bien meilleure qu'un MCU 8 bits entre les mains d'un ingénieur moins qualifié malgré les différences de consommation d'énergie active.
D'après mon expérience, le M0 est si proche de la consommation d'énergie active de 16 et 8 bits que vous pouvez compenser beaucoup de différences dans l'application. En outre, la consommation électrique de tout ce que vous avez suspendu au MCU est souvent supérieure à celle du MCU. Donc, pour de nombreuses applications, la gestion de l'efficacité du MCU n'est pas la chose la plus importante.
J'espère que ça aide. C'est une longue façon de dire que la consommation d'énergie est un peu pire, mais vous faites beaucoup plus avec ces cycles d'horloge que les autres puces. Cela dépend donc vraiment de votre application.