Actualizado a: 22 de enero de 2024
Actualmente, debido en parte a cómo se está gestionando la energía en las nuevas unidades, los procesadores, tanto las CPUs como las GPUs, han empezado a implementar lo que se conoce como modo Turbo. Aquí te explicaremos qué es este modo, y cómo funciona, además de mostrarte algunas consideraciones que debes tener en cuenta.
Quizás también te interese conocer otros artículos relacionados como:
¿Qué es DVFS?
DVFS (Dynamic Voltage and Frequency Scaling), o escalado de voltaje y frecuencia dinámico, es una técnica que combina a otras dos, como es la DFS (Dynamic Frequency Scaling) y el DVS (Dynamic Voltage Scaling). Es decir, una forma de administración de energía para los ordenadores y que permite aumentar o reducir el consumo y el rendimiento según la carga de trabajo en cada momento. Esto no solo reduce el consumo, también puede combatir la alta temperatura.
Estas técnicas también se conoce como throttling
Es decir, es como si se pudiera hacer overclocking y underclocking de forma automática según las necesidades del sistema en cada momento. Es decir, bajar la frecuencia y el voltaje cuando se ejecutan apps que necesitan pocos recursos de hardware o cuando el equipo está en estado ocioso, y subir la frecuencia y el voltaje cuando la carga de trabajo es alta, como con el gaming y otras cargas pesadas.
Todo esto se controla mediante unos gobernadores implementados en el kernel del sistema operativo, que con ayuda del sistema ACPI, puede controlar estos estados según los procesos en marcha de cada momento, entre otros parámetros. Y es que, estos cambios no solo tienen en cuenta la carga de trabajo, se han vuelto más inteligentes para también tener en cuenta la temperatura en cada momento, y evitar sobrecalentamiento o daños irreparables, inestabilidad, etc., como ocurría en los antiguos equipos.
La escalada dinámica de frecuencia y voltaje influye de forma bastante notable en el rendimiento. Y más teniendo en cuenta que es usada por unidades tan importantes como la CPU o la GPU.
Como sabrás, y como comentaré con más detalle más adelante, debes saber que la Potencia disipada por un chip es:
P = C · V 2 · A · F
Donde C es la capacitancia de conmutación del chip, V es el voltaje al que trabaja, A es el factor de actividad que indicará el número medio de conmutaciones de transistores por ciclo de reloj y F es la frecuencia de reloj a la que trabaja el chip.
De esto se puede deducir que bajando la Frecuencia y la Capacitancia, se puede también reducir la potencia disipada, es decir, el calor generado y el consumo. Y es que, los otros factores, como C y A, no se pueden modificar directamente, ya que la capacitancia es la que es en ese circuito y el factor de actividad dependerá de los transistores usados por las unidades funcionales que estén en funcionamiento, algo que tampoco se puede controlar directamente por parte del usuario.
Es importante saber también que cuando se aumenta la frecuencia de reloj se debe aumentar el voltaje de funcionamiento, como cuando se realiza un overclocking acompañado de un overvolting, ya que si no se aumenta el voltaje de forma proporcional a la frecuencia, se pueden generar errores, inestabilidad, reinicios repentinos, etc. Por el contrario, cuando se baja la frecuencia también se puede bajar el voltaje, como cuando se hace un underclocking acompañado de un undervolting.
Reducir la frecuencia de reloj y no reducir el voltaje no tiene sentido.
Es así como se puede adaptar la unidad de procesamiento a las cargas de trabajo de cada instante. Por ejemplo, imagina que estás ejecutando una app ofimática, y tu CPU baja su frecuencia a 500 Mhz, que serán suficientes para manejar esa app. Y que luego ejecutas un videojuego y sube a 2.8 Ghz.
En el kernel Linux, por ejemplo, tenemos los módulos o controladores cpufreq y cpuidle para PCs y HPC, o mediante EAS para dispositivos móviles basados en el kernel Linux.
Hasta aquí todo parece más o menos sencillo, ¿Verdad? Pues bien, hay que agregar algo más a los procesadores modernos, y es que también pueden usar un modo «sprint» o modo turbo del que trata este artículo, y que permitirá elevar la frecuencia de reloj por un tiempo corto para mejorar de forma puntual el rendimiento cuando se puede. Esto no existía en las CPUs de hace unos años, pero las principales marcas lo han implementado, en parte por los problemas del dark silicon (debido a la densidad, ya no todos los núcleos pueden funcionar siempre a la máxima frecuencia posible, de hecho, como sabrás, solo algunos núcleos puntuales pueden llegar a la máxima frecuencia), que darían para otro extenso artículo… y en lo que no entraré esta vez.
Pero ojo, puesto que a diferencia del overclocking, que se suele realizar a través de la frecuencia del bus, aunque existen otras técnicas, en la escalada dinámica de frecuencia se usa el multiplicador. Es decir, un circuito interno de la CPU que multiplica la frecuencia que el llega a través del bus para obtener la frecuencia de trabajo de los núcleos. Este multiplicador se puede ajustar mediante firmware o software de forma dinámica, sin riesgos de degradación, electromigración, etc., ya que está bajo unos márgenes que el fabricante ha estimado.
La DVFS está a veces camuflada detrás de marcas registradas que utilizan las empresas para sus productos. Por ejemplo, tenemos algunos ejemplos con:
- Intel:
- SpeedStep, para el escalado dinámico de frecuencia y voltaje en la CPU.
- Turbo Boost, para el aumento de frecuencia en momentos puntuales en la CPU.
- AMD:
- PowerNow! o Cool’n’Quiet, para el escalado dinámico de frecuencia y voltaje en la CPU.
- Turbo Core, para el aumento de frecuencia en momentos puntuales en la CPU.
- PowerPlay, PowerTune o ZeroCore Power, el escalado dinámico de frecuencia y voltaje para las GPU Radeon.
- VIA Technologies:
- LongHaul o PowerSaver, para el escalado dinámico de frecuencia y voltaje para la CPU.
- Transmeta:
- LongRun, para el escalado dinámico de frecuencia y voltaje en la CPU.
- Otros…
- Por supuesto, otros también usan sistemas DVFS para las CPUs y GPUs, como Arm, Apple, NVIDIA, etc., aunque no todos usan marcas registradas específicas por cuestiones de marketing. Además, las GPUs de NVIDIA y AMD también han implementado modos similares a los turbo de la CPU.
También existen algunos chips especiales, como el microprocesador AsAP, que permite cambios sin restricciones de frecuencia dentro del máximo permitido. Y es que, los ejemplos vistos anteriormente no siempre pueden configurar cualquier tipo de frecuencia, sino que suelen ir en saltos.
Recuerda que el C-State C0 de la CPU se puede dividir en los P-States de rendimiento que permiten modificar dinámicamente la frecuencia de reloj y el voltaje, mientras que los T-States pueden acelerar aún más la CPU, por encima de la frecuencia de reloj nominal. Las variaciones de voltaje se pueden implementar mediante los denominados VRM (Voltage Regulator Module).
¿Qué tiene que ver el modo Turbo y el TDP?
Como he mencionado anteriormente, la potencia dinámica o potencia de conmutación de un chip depende de la capacitancia, el voltaje al que trabaja, el factor de actividad y la frecuencia. Esta potencia dinámica está directamente relacionada con el consumo, pero también con la potencia disipada o calor emitido por el chip.
Recuerda que la potencia dinámica no representa por sí misma el consumo o potencia total del chip, ya que también existe la potencia estática, que se debe principalmente a las corrientes de fuga. Estas corrientes de fuga se han vuelto cada vez más preocupantes conforme los nodos de fabricación han permitido reducir el tamaño de los transistores y los voltajes umbral.
Dicho de otro modo, según el voltaje y la frecuencia, se puede ajustar también la temperatura del chip. Obteniendo detalles de la temperatura disipada o potencia térmica en cada momento, se puede retroalimentar el sistema con esta información para ver sí se debe hacer throttling para reducir la temperatura o si se podría aplicar el modo turbo sin inducir daños.
Hace más de una década, la potencia dinámica podía representar 2/3 de la potencia total del chip, pero ahora la potencia estática se ha vuelto bastante más representativa. Es por eso que se crearon tecnologías como los sustratos SOI (Silicon On Insulator), para evitar fugas, o por los que se han implementado las puertas de High-K. Además, estas técnicas de fabricación también pueden ser complementadas por estas técnicas DVFS de las que hablamos aquí.
Dicho esto, hay que decir que la potencia está directamente relacionada con el término TDP (Thermal Design Power) de la CPU. Esta potencia medida también en vatios no es la potencia dinámica ni la estática del chip, pero sí que depende directamente de éstas. El TDP lo calcula el diseñador del chip para hacer referencia a un parámetro de disipación térmica que permite poder elegir el sistema de refrigeración adecuado, pero también se puede controlar para interferir con los modos Turbo como verás…
¿Qué es Turbo Boost de Intel y cómo funciona?
Intel Turbo Boost es la marca registrada de Intel para esta tecnología de escalado de frecuencia puntual. Para explicarlo de una forma sencilla, si el procesador ve que está funcionando bien dentro de los límites, Turbo Boost se puede activar de forma momentánea para ganar rendimiento. Para ello comprobará parámetros como qué tan cerca está del TDP máximo en ese momento.
No hay una velocidad fija en el Modo Turbo Boost, como muchos piensan, ya que la CPU puede trabajar a varias frecuencias, con un máximo de hasta la frecuencia límite determinada. Por ejemplo, imagina un Intel Core que tiene una frecuencia base de 3,7 Ghz, pero que en el modo Turbo Boost puede llegar hasta 4.6 Ghz. Esto supone unasta 0.9 Ghz extra, pero puede que no siempre se alcancen, todo dependerá del estado en cada momento.
Además, incluso si se pudiese, no impulsa esa CPU de 3.7 Ghz a 4.6 Ghz de una sentada, sino que trabaja en pequeños impulsos que van incrementando la frecuencia de forma progresiva hasta ese máximo cuando sea posible. Por ejemplo, mientras que en Nehalem y Westmere se podían conseguir incrementos de 133 Mhz, a partir de Sandy Bridge se ha limitado a saltos de 100 Mhz.
Intel también lanzó una versión mejorada de esta tecnología Turbo Boost conocida como Turbo Boost Max, que ha tenido varias revisiones desde su lanzamiento. En este caso, aumenará la frecuencia de reloj de los núcleos más rápidos, ya que todos los núcleos no son iguales, porque puede haber pequeñas diferencias o «fallos» durante los procesos de fabricación que hacen que unos núcleos sean menos estables a ciertas frecuencias elevadas que otros.
Turbo Boost Max puede dar saltos de 200 Mhz, pero solo en esos núcleos «pata negra», y no en todos por igual. Sin embargo, esta tecnología no reemplaza por completo a Turbo Boost, ya que ésta tambiéns igue estando activa para algunos núcleos, por ejemplo para los E-core, como puedes saber, mientras que para los P-core se usa Turbo Boost Max. Además, la frecuencia máxima de unos y otros no será la misma, como tampoco es la misma la frecuencia base.
Definición de PL1, PL2 y Tau
Para entender cuándo y cómo se puede llegar a esta frecuencia en modo turbo, hay que entender algunos conceptos como el PL1, PL2, y Tau. En la gráfica anterior se puede apreciar bien qué es esto, pero ahora lo explicaré mejor con un ejemplo.
Por ejemplo, imagina que tenemos un Intel Core con un TDP de 95W, pero que en realidad podría llegar a 225W de TDP máximo. Los 95W se refiere a la potencia cuando se habla de frecuencia de stock o base. Mientras que para estos modos Turbo, se pueden alcanzar esos TDPs más altos de forma puntual.
PL2 significa Power Level 2, que se refiere al modo Turbo, cuando la CPU tiene una potencia superior. Mientras que PL1 o Power Level 1 se refiere a la potencia cuando la CPU trabaja a la frecuencia de reloj de stock. Esto creo que es fácil de entender y no necesita más explicación.
Ahora bien, falta otra piza clave para entender cómo trabaja el modo Turbo de Intel, y es el Tau. Éste se refiere al tiempo que permanecerá el chip en el estado PL2. Y esto solo sucede por un tiempo limitado, para evitar problemas de sobrecalentamiento o daños físicos del chip debido al TDP superior.
Cuando pasa el tiempo Tau, el procesador volverá al estado PL1, para reducir el consumo y la potencia disipada. Este tiempo Tau puede variar según el chip o microarquitectura, pero puede ser de algo menos de 60 segundos. Por ejemplo, el procesador se pone en modo PL2 durante Tau, luego regresará a PL1, hasta que se complete la carga de trabajo intensiva y la CPU vuelva a estar inactiva. En este momento, cuando el TDP y la temperatura lo permiten, puede repetir la operación y volver a PL2 durante un tiempo igual a Tau.
Sin embargo, tienes que tener presente que Intel no impone el valor del PL2 y Tau en algunos de sus productos, y esto se debe configurar mediante el firmware de la placa base. No obstante, que no imponga un valor no quiere decir que sí estableza un máximo. Así, los fabricantes de placas base, según el chipset, podrían imponer un PL2 más alto durante un Tau corto, o mucho más bajo para un Tau más prolongado.
No lo he dicho, pero PL1 y PL2 se miden en vatios (W), como el TDP. Por ejemplo, un Intel Core i9-10900K puede tener un PL1 de 125W, mientras que el PL2 es de 250W, con un Tau de 56 segundos. En cambio, un Intel Core i7-10700K sería de 125 y 229W respectivamente, y un Tau también de 56. En el caso de la versión Intel Core i7-10700 (no K), pasaría a ser de 65W para PL1, 224W para PL2 y un Tau de 28 segundos.
Ten en cuenta que el fabricante de la placa base tiene mucho que decir al respecto, ya que es el que implementa los VRM que alimentan a la CPU. Y dependiendo de éstos y sus fases, variará…
Y sí, sé lo que estás pensando, entonces el TDP indicado por Intel no es real, sino que sus CPUs consumen más que eso. Exácto…
¿Qué es Turbo Core de AMD y cómo funciona?
Por otro lado tenemos también la tecnología AMD Turbo Core, que es la respuesta de AMD a la Turbo Boost de Intel. Aunque sea una marca registrada diferente, son conceptos bastante similares. También tendremos una frecuencia de reloj de stock y una frecuencia máximo a la que se puede llegar durante un tiempo limitado.
Por supuesto, mientras mayor consumo o TDP, mayor será la temperatura generada por la CPU. Por tanto, no se puede llegar a esa frecuencia máxima durante un tiempo indefinido, ya que podría causar sobrecalentamiento o daños. Si se mejora el sistema de refrigeración, también se podrá aumentar más la frecuencia de reloj o hacerlo durante más tiempo, ya que la temperatura también es algo que se tiene en cuenta para el modo turbo.
Este AMD Turbo Core suele ser útil para aplicaciones pesadas (p.e.: editores de vídeo, animación,…) y videojuegos, que es donde más puede contribuir a aumentar el rendimiento, especialmente en los videojuegos donde podría aumentar la tasa de FPS.
Por otro lado, hay que destacar que Turbo Core puede ofrecer hasta 900 Mhz (con saltos de +25 Mhz) de frecuencia de reloj extra sobre la frecuencia de stock, y lo hace en todos los núcleos activos de la CPU. No obstante, también puede funcionar solo con unos pocos núcleos activos, y no con todos.
Tanto la tecnología Intel Turbo Boost como la AMD Turbo Core se pueden activar o desactivar desde la mayoría de sistemas BIOS/UEFI.
En el caso de AMD, existen varios procesadores compatibles con Turbo Core, como la serie FX, Phenom II, algunos Opteron, APUs, y, por supuesto, los actuales AMD EPYC y Ryzen.
Al igual que sucede con la tecnología de Intel, AMD también ha estado lanzando revisiones mejoradas de esta tecnología. Y tenemos que destacar conceptos como:
- Precision Boost: permite incrementar la frecuencia de reloj en dos núcleos o en todos los núcleos. Si se hace solo en dos núcleos, será un impulso mayor, mientras que si se aplica a todos será inferior por cuestiones obvias.
- Precision Boost 2: es la segunda generación de esta tecnología, y permite que todos los núcleos funcionen a la frecuencia máxima cuando el consumo y la temperatura lo permiten.
- Precision Boost Overdrive: esta tecnología, también conocida como PBO, es similar a la Intel Turbo Boost Max, donde se altera el voltaje directo de los núcleos de CPU y permite ganancias de rendimiento superiores.
- XFR2 (Xtended Frequency Range): esta otra tecnología funciona junto con Precision Boost 2. Y lo que hace es evaluar constantemente hasta dónde se puede extender la frecuencia de reloj en función de la refrigeración. Por eso, cuanto mejor sea la refrigeración, mayor será el impulso.
Definición de PPT, TDC y EDC
Al igual que ocurre con Intel y su PL1, PL2 y Tau, en el caso de AMD también se tendrán en cuenta algunos factores para ver si es posible o no realizar estos incrementos de frecuencia de reloj. Y en este caso son PPT, TDC y EDC.
Por ejemplo, imagina una CPU AMD Ryzen 7 5800X3D con los siguientes datos:
PPT | TDC | EDC | Escenario |
---|---|---|---|
142 | 95 | 140 | Por defecto |
122 | 82 | 124 | Gaming |
114 | 75 | 115 | Carga de trabajo pesada |
100 | 65 | 90 | Gaming de bajo consumo |
Actualmente, AMD también ha introducido un modo ECO para permitir que los usuarios puedan ajustar los límites a través de Percision Boost Overdrive 2, limitando el consumo. Por ejemplo, un AMD Ryzen puede tener un TDP Base de 170W y de 105W en modo ECO.
Volviendo a los términos, tenemos que:
- TDC (Thermal Design Current): es la máxima intensidad de corriente (en amperios) que puede ser entregada por una placa base con escenarios de restricciones térmicas.
- EDC (Electrical Design Current): es la corriente de diseño eléctrico, un valor que la placa base indica a la CPU y que representa la corriente máxima que los VRM pueden manejar a corto plazo.
- PPT (Package Power Tracing): es la forma que tiene AMD de referirse al consumo máximo que puede tener un procesador.
Según estos valores, funcionará el modo Turbo de AMD…
*Nota: todo lo dicho para las CPUs, también sería válido para las GPUs de Intel, NVIDIA y AMD. Los modos Turbo de los procesadores gráficos funcionan de forma similar.