stringtranslate.com

Escala de frecuencia dinámica

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 ).

Operación

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]

Interfaz estándar

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]

Escala de frecuencia autónoma

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.

Impacto en el rendimiento

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.

Soporte entre proveedores

Intel

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

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 .

Tecnologías VIA

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.

BRAZO

Los diferentes sistemas basados ​​en ARM en el chip proporcionan limitación de CPU y GPU.

Véase también

Tecnologías de ahorro de energía:

Tecnologías de mejora del rendimiento:

Referencias

  1. ^ K. Moiseev, A. Kolodny y S. Wimer (septiembre de 2008). "Ordenamiento de señales con potencia óptima teniendo en cuenta el tiempo". ACM Transactions on Design Automation of Electronic Systems . 13 (4): 1–17. doi :10.1145/1391962.1391973. S2CID  18895687.
  2. ^ Rabaey, JM (1996). Circuitos integrados digitales . Prentice Hall.
  3. ^ Victoria Zhislina (19 de febrero de 2014). "¿Por qué la frecuencia de la CPU ha dejado de crecer?". Intel.
  4. ^ https://www.usenix.org/legacy/events/hotpower/tech/full_papers/LeSueur.pdf [ URL básica PDF ]
  5. ^ Karel De Vogeleer; Memmi, Gerard; Jouvelot, Pierre; Coelho, Fabien (2014). "La regla de convexidad de energía/frecuencia: modelado y validación experimental en dispositivos móviles". arXiv : 1401.4655 [cs.OH].
  6. ^ Mike Chin. "Tarjeta gráfica Asus EN9600GT Silent Edition". Silent PC Review . p. 5 . Consultado el 21 de abril de 2008 .
  7. ^ Mike Chin (19 de marzo de 2008). "80 Plus amplía el podio para obtener bronce, plata y oro". Silent PC Review . Consultado el 21 de abril de 2008 .
  8. ^ "Especificación de interfaz de energía y configuración avanzada, revisión 3.0, sección 2.6 Definiciones de estado de rendimiento de procesador y dispositivo" (PDF) . ACPI.info . 2 de septiembre de 2004. p. 23. Archivado desde el original (PDF) el 28 de noviembre de 2015 . Consultado el 19 de agosto de 2015 .
  9. ^ "Control de rendimiento del procesador colaborativo (CPPC): la documentación del kernel de Linux". www.kernel.org .
  10. ^ "8.4. Declaración de procesadores". Documentación de la especificación ACPI 6.4 .
  11. ^ "Descripción general sobre el ajuste de potencia y rendimiento para Windows Server". learn.microsoft.com . 29 de agosto de 2022.
  12. ^ x86_energy_perf_policy(8)  –  Manual del programador de Linux – Administración y comandos privilegiados
  13. ^ "Controlador de escalado de rendimiento de CPU intel_pstate — La documentación del kernel de Linux". www.kernel.org .
  14. ^ "Controlador de escalado de rendimiento de CPU amd-pstate: la documentación del kernel de Linux". docs.kernel.org .