En las brumas del tiempo cuando comencé a codificar, al menos hasta donde yo sé, los procesadores usaban una cantidad fija de energía. No había tal cosa como que un procesador estuviera "inactivo".
En la actualidad, existen todo tipo de tecnologías para reducir el consumo de energía cuando el procesador no está muy ocupado, principalmente mediante la reducción dinámica de la frecuencia de reloj.
Mi pregunta es ¿por qué correr a una velocidad de reloj más baja consume menos energía?
Mi imagen mental de un procesador es de un voltaje de referencia (digamos 5 V) que representa un 1 binario y 0 V que representa 0. Por lo tanto, tiendo a pensar en un 5 V constante que se aplica en todo el chip, con las diversas puertas lógicas desconectando este voltaje cuando está "apagado", lo que significa que se utiliza una cantidad constante de energía. La velocidad a la que se activan y desactivan estas puertas parece no tener relación con la potencia utilizada.
No tengo dudas de que esta es una imagen irremediablemente ingenua, pero no soy un ingeniero eléctrico. ¿Alguien puede explicar qué está sucediendo realmente con el escalado de frecuencia y cómo ahorra energía? ¿Hay alguna otra forma en que un procesador usa más o menos energía dependiendo del estado? Por ejemplo, ¿usa más energía si hay más puertas abiertas?
¿En qué se diferencian los procesadores móviles / de baja potencia de sus primos de escritorio? ¿Son más simples (menos transistores) o hay alguna otra diferencia fundamental de diseño?