El escalado dinámico de frecuencia (también conocido como limitación de CPU ) es una técnica de administración de energía en la arquitectura informática mediante la cual la frecuencia de un microprocesador se puede ajustar automáticamente "sobre la marcha" según las necesidades reales, para conservar energía y reducir la cantidad de calor generado por el chip. El escalado dinámico de frecuencia ayuda a preservar la batería en dispositivos móviles y a disminuir el costo de enfriamiento y el ruido en configuraciones de computación silenciosas , o puede ser útil como medida de seguridad para sistemas sobrecalentados (por ejemplo, después de un overclocking deficiente ).
El escalado dinámico de frecuencia casi siempre aparece junto con el escalado dinámico de voltaje , ya que las frecuencias más altas requieren voltajes de suministro más altos para que el circuito digital produzca resultados correctos. El tema combinado se conoce como escalado dinámico de voltaje y frecuencia ( DVFS ).
La potencia dinámica ( potencia de conmutación ) disipada por un chip es C·V 2 ·A·f , donde C es la capacitancia que se conmuta por ciclo de reloj, V es el voltaje , A es el factor de actividad [1] que indica el número promedio de eventos de conmutación por ciclo de reloj de los transistores en el chip (como una cantidad sin unidades) y f es la frecuencia del reloj. [2]
Por lo tanto, el voltaje es el principal determinante del uso de energía y el calentamiento. [3] El voltaje requerido para un funcionamiento estable está determinado por la frecuencia a la que se sincroniza el circuito, y se puede reducir si también se reduce la frecuencia. [4] Sin embargo, la potencia dinámica por sí sola no explica la potencia total del chip, ya que también existe potencia estática, que se debe principalmente a varias corrientes de fuga. Debido al consumo de energía estática y al tiempo de ejecución asintótico, se ha demostrado que el consumo de energía del software muestra un comportamiento de energía convexo, es decir, existe una frecuencia de CPU óptima en la que se minimiza el consumo de energía. [5] La corriente de fuga se ha vuelto cada vez más importante a medida que los tamaños de los transistores se han vuelto más pequeños y se reducen los niveles de voltaje umbral. Hace una década, la potencia dinámica representaba aproximadamente dos tercios de la potencia total del chip. La pérdida de potencia debido a las corrientes de fuga en las CPU y los SoC contemporáneos tiende a dominar el consumo total de energía. En el intento de controlar la potencia de fuga, las puertas metálicas de alta k y el control de potencia han sido métodos comunes.
El escalamiento de voltaje dinámico es otra técnica de conservación de energía relacionada que a menudo se utiliza junto con el escalamiento de frecuencia, ya que la frecuencia a la que puede funcionar un chip está relacionada con el voltaje de funcionamiento.
La eficiencia de algunos componentes eléctricos, como los reguladores de voltaje, disminuye con el aumento de la temperatura, por lo que el consumo de energía puede aumentar con la temperatura. Dado que el aumento del consumo de energía puede aumentar la temperatura, los aumentos de voltaje o frecuencia pueden aumentar las demandas de energía del sistema incluso más de lo que indica la fórmula CMOS, y viceversa. [6] [7]
ACPI 1.0 (1996) define una manera para que una CPU pase a "estados C" inactivos, pero no define ningún sistema de escalamiento de frecuencia.
ACPI 2.0 (2000) introduce un sistema de estados P (estados de rendimiento energético) que un procesador puede utilizar para comunicar sus posibles configuraciones de frecuencia y consumo energético al SO. El sistema operativo luego establece la velocidad según sea necesario alternando entre estos estados. SpeedStep, PowerNow!/Cool'n'Quiet y PowerSaver funcionan a través de estados P. Hay un límite de 16 estados como máximo. [8]
ACPI 5.0 (2011) introduce el control de rendimiento del procesador colaborativo (CPPC), que expone cientos de niveles de rendimiento al sistema operativo para su selección en forma de un "nivel de rendimiento" abstraído de la frecuencia. Esta abstracción proporciona cierto margen de maniobra para que el procesador ajuste su funcionamiento de otras maneras además de la frecuencia. [9] [10] [11]
Varias CPU modernas pueden realizar un escalado de frecuencia de forma autónoma, utilizando un rango de nivel de rendimiento y una sugerencia de "preferencia de eficiencia/rendimiento" del sistema operativo.
El escalamiento dinámico de frecuencia reduce la cantidad de instrucciones que puede emitir un procesador en un período de tiempo determinado, lo que reduce el rendimiento. Por lo tanto, se utiliza generalmente cuando la carga de trabajo no está limitada por la CPU.
El escalado dinámico de frecuencia por sí solo rara vez vale la pena como una forma de conservar la potencia de conmutación. Ahorrar la mayor cantidad posible de potencia también requiere un escalado dinámico de voltaje, debido al componente V2 y al hecho de que las CPU modernas están fuertemente optimizadas para estados inactivos de bajo consumo. En la mayoría de los casos de voltaje constante, es más eficiente funcionar brevemente a la velocidad máxima y permanecer en un estado inactivo profundo durante más tiempo (lo que se denomina "carrera hacia el estado inactivo" o sprint computacional), que funcionar a una frecuencia de reloj reducida durante mucho tiempo y solo permanecer brevemente en un estado inactivo ligero. Sin embargo, reducir el voltaje junto con la frecuencia de reloj puede cambiar esas compensaciones.
Una técnica relacionada pero opuesta es el overclocking , mediante el cual se aumenta el rendimiento del procesador incrementando la frecuencia (dinámica) del procesador más allá de las especificaciones de diseño del fabricante.
Una diferencia importante entre ambos es que en los sistemas de PC modernos el overclocking se realiza principalmente a través del bus frontal (principalmente porque el multiplicador normalmente está bloqueado), pero el escalado de frecuencia dinámico se realiza con el multiplicador . Además, el overclocking suele ser estático, mientras que el escalado de frecuencia dinámico siempre es dinámico. El software a menudo puede incorporar frecuencias overclockeadas en el algoritmo de escalado de frecuencia, si los riesgos de degradación del chip son admisibles.
La tecnología de limitación de CPU de Intel , SpeedStep , se utiliza en sus líneas de CPU móviles y de escritorio.
AMD emplea dos tecnologías de limitación de CPU diferentes. La tecnología Cool'n'Quiet de AMD se utiliza en sus líneas de procesadores para servidores y de escritorio. El objetivo de Cool'n'Quiet no es ahorrar batería, ya que no se utiliza en la línea de procesadores móviles de AMD, sino que tiene como objetivo producir menos calor, lo que a su vez permite que el ventilador del sistema gire a velocidades más lentas, lo que da como resultado un funcionamiento más frío y silencioso, de ahí el nombre de la tecnología. La tecnología de limitación de CPU PowerNow! de AMD se utiliza en su línea de procesadores móviles, aunque algunas CPU compatibles, como la AMD K6-2 +, también se pueden encontrar en computadoras de escritorio.
AMD PowerTune y AMD ZeroCore Power son tecnologías de escalamiento de frecuencia dinámico para GPU .
Los procesadores de VIA Technologies utilizan una tecnología llamada LongHaul (PowerSaver), mientras que la versión de Transmeta se llamó LongRun .
El chip AsAP 1 de 36 procesadores es uno de los primeros chips de procesadores multinúcleo que admite un funcionamiento de reloj completamente sin restricciones (solo requiere que las frecuencias estén por debajo del máximo permitido), incluidos cambios arbitrarios en la frecuencia, arranques y paradas. El chip AsAP 2 de 167 procesadores es el primer chip de procesador multinúcleo que permite a los procesadores individuales realizar cambios completamente sin restricciones en sus propias frecuencias de reloj.
Según las especificaciones ACPI , el estado de trabajo C0 de una CPU moderna se puede dividir en los denominados estados "P" (estados de rendimiento) que permiten la reducción de la frecuencia de reloj y los estados "T" (estados de limitación) que reducirán aún más la CPU (pero no la frecuencia de reloj real) insertando señales STPCLK (detener el reloj) y omitiendo así los ciclos de trabajo.
Los diferentes sistemas basados en ARM en el chip proporcionan limitación de CPU y GPU.
Tecnologías de ahorro de energía:
Tecnologías de mejora del rendimiento: