Estoy empezando con los procesadores Cortex M, pero tengo mucha experiencia con las MCU de 8 bits.
Supongamos que tengo un búfer que debe actualizarse cada 5 ms. Hay una interrupción que se realiza cada 5 ms y el búfer se actualiza y se ejecutan los cálculos necesarios. La MCU vuelve a dormir, hasta que se produce la siguiente interrupción.
A 500 KHz en mi 8051 MCU, esta tarea toma 3 ms. A 32MHz en mi 8051 MCU, esta tarea toma (compuesto número) 0.2ms.
En el 8051, descubrí que se necesitaba menos corriente para ejecutar realmente la MCU a 500 KHz y dormir por menos tiempo entre la interrupción de 5 ms, en lugar de ejecutarla a la velocidad más rápida (32MHz) y dormir más tiempo.
En un PIC, fueron los resultados inversos. Era mejor ejecutar el MCU rápido y dormirlo rápidamente. (PIC tiene una excelente nota de aplicación sobre el ahorro de energía, y mencionan ambos enfoques).
Para los procesadores Cortex M, ¿es más eficiente energéticamente ejecutar el sistema rápidamente y dormirlo rápidamente? ¿O debería apuntar a la velocidad de reloj más lenta?
Entiendo que este cálculo depende de la tarea, obviamente, si necesita una interrupción de 48MHz (o cualquiera que sea la velocidad máxima del reloj de la MCU), este es un punto discutible.
Pero en general, ¿qué han visto cuando perfilan sus sistemas?
Estoy seguro de que el Cortex M utiliza menos energía por aumentos de MHz por la hoja de datos, pero me darían una paliza si mi 8051 dice lo mismo, pero en realidad no funciona así cuando empecé a mezclar en el modos de ahorro de energía.