Supongo que eso es lo que ella tenía en mente. Las variables almacenadas en los registros necesitarían menos energía para acceder ya que no hay bus, descodificación de direcciones y todo lo que necesita para el acceso a la RAM.
Lo más probable es que las variables globales siempre se almacenen en la RAM si no haces cosas locas con tu compilador (asignando un registro para una variable).
Pero no puede estar seguro de que las variables locales no se almacenarán en la RAM. Su controlador solo tiene una cantidad muy limitada de registros disponibles, algunos de ellos serán necesarios para realizar otras operaciones. Si necesitas más variables locales, terminarás en la memoria RAM también.
Al llamar a una función, las cosas se insertan en la pila, que también es RAM. La mayor parte del código se almacena en flash y la lectura desde allí consume mucha más energía que desde la RAM.
Entonces, si este fuera un argumento para detener el uso de variables globales, diría que es bastante débil.
En realidad, encontré esto (debido a la sugerencia de MSP430 en los comentarios):
Asesor ULP > Regla 7.1 Use variables locales en lugar de globales cuando sea posible
Los compiladores de C para los microcontroladores en general y para las MCU MSP430 asignan específicamente las variables declaradas en el ámbito global en la ubicación de la memoria RAM de la estructura de la memoria. Por otro lado, las variables locales se asignan primero en los registros de la CPU (hasta que la función se queda sin registros de la CPU para sus variables locales). Los accesos a los registros de la CPU son los más eficientes y rápidos, en comparación con los accesos a las ubicaciones de memoria en la RAM o, lo que es peor, en FLASH. Por lo tanto, cualquier variable global a la que solo se acceda dentro de una función se puede reubicar de manera segura en el ámbito de la función local para optimizar la velocidad de acceso a la memoria y el consumo de energía.
Así que sí, ella probablemente estaba pensando en esto. Pero me pregunto cuántos ahorros puedes obtener realmente.