Undervolting CPU (Español)

Related articles
CPU frequency scaling
Improving performance
Benchmarking
Fan speed control
El Undervolting es el proceso en el cual el voltaje del CPU es disminuido para reducir su gasto energético y temperatura sin afectar su rendimiento. Tenga en cuenta que la mayoría de las motherboards de escritorio permiten alterar la configuración del voltaje del CPU desde las BIOS.
Warning
Una configuración incorrecta del voltaje del CPU puede resultar en daño permanente del hardware. ¡Has sido avisado!
Antecedentes
Los CPUs modernos implementan
escalado de frecuencia
, mediante el cual la frecuencia es ajustada dinamicamente para ahorrar energía cuando se encuentra en reposo y aumentar el rendimiento cuando se requiere. Al aumentar la frecuencia, el voltaje requerido para abrir la compuerta rapidamente también aumenta, por lo tanto los CPUs tambien escalan el voltaje simultaneamnte con la frecuencia. La curva predeterminada de frecuencia-voltaje es relativamente conservadora y dependiendo de la
loteria del silicón
(que tanto pueden ganarle las compuertas lógicas de tu CPU a los parámetros esperados de la curva), un voltaje más bajo puede ser utilizado sin tener que bajar la frecuencia.
Debido a que la disipación del poder esta relacionada con el voltaje al cuadrado, el undervolt puede permitir un ahorro significativo de energía y reducción del calor. Un menor voltaje esta usualmente asociado con una vida media más alargada para el dispositivo, debido a que la mayoría de los mecanismos de deterioro de los semiconductores (BTI, Electromigración) son al menos parcialmente dependientes de la temperatura y el voltaje.
Los riesgos del undervolt incluyen un cálculo incorrecto de los resultados (posiblemente una incapacidad para el arranque) debido al uso de voltaje insuficiente para la frecuencia. Prepárese para reiniciar su sistema o resetear su BIOS a través del jumper JBAT para deshacer su undervolt.
Para comprobar la estabilidad y exactitud de un undervolt, se recomienda el
stress testing
utilizando una aplicación con checks numericos (mprime, linpack). Solamente el arranque no es suficiente ya que errores en el calculo pueden resultar en comportamientos no esperados y potencialmente dañinos (demostrado por medio de los "atques de undervolt"). Conforme van envejenciendo los CPUs, sus compuertas se vuelven más lentas y requieren de un voltaje más elevado para estabilizarse, preparese para modificar la configuración de su undervolt.
Warning
Puede llegar a hacer que la computadora se congele de manera aleatoria aun cuando la computadora se encuentre estable durante días, meses o años y se encuentre totalmente estable bajo otro sistema operativo con la misma configutación de undervolt. El CPU puede degradarse con el tiempo y solo comenzar a crashear o congelarse a los meses o años de haber aplicado su undervolt. Por lo tanto, es
cruical
que recuerde revertir a la configuración original en caso de que su computadora se congele de manera regular.
Voltajes
On Intel CPUs you can separately control the core, cache, System Agent (also known as NB/SOC/Uncore) and the integrated GPU voltages. If there is integrated analog I/O you can control that part's voltage too. The core and the cache are self-explanatory. The System Agent includes the memory controller.
On Zen-based AMD CPUs you can separately control core, NB/SOC/Uncore, VDDG_CCD, VDDG_IOD, VDDP_CLDO, and PLL/1P8. The first two are similar to their Intel counterparts. VDDG_CCD is for signaling from cores to the IO die. VDDG_IOD is for signaling from the IO die to the cores. VDDP_CLDO is for the memory controller. The PLL/1P8 voltage is the voltage of the base clock signal.
When you lower one voltage, make sure to run the corresponding test in mprime. For example, if you touch the memory controller or SOC-related voltages, run the Large test.
¿Qué tan lejos puedes llegar?
Disminuir 100 a 200 mV de Intel CPU y CPU Cache suele ser estable (aparentemente). Disminuir más de 200mV puede resultar en crasheo, o no tener ningún efecto.
¿Cuando es necesario el undervolt?
Se sabe que un gran número de motherboards AM5 (Ryzen 7xxx, 9xxx) aplican un voltaje del SOC/Uncore elevado cuando EXPO está habilitado. Esto puede llevar a fallas en el CPU con áreas de decoloración o protuberancias donde se encuentra el dado del IO. Se puede reparar con una actualización de la BIOS. Si no hay actualizaciones disponibles y el voltaje del SOC continua por encima de 1.3 V, se debe realizar un undervolt manual en la BIOS.
Hay un problema similar en CPUs Intel generación 13 y 14 en el cual el voltaje del núcleo se encuentra elevado, causando envejecimiento prematuro. Se soluciona con una actualización del microcodigo.
intel-undervolt
Note
After the patches for the
Plundervolt
vulnerability, recommendations for most OEMs on older Intel CPUs have been to enable the Overclocking Lock MSR bit (which disables voltage control). That can usually be worked around. Newer processors (except
K
,
HK
and
HX
models) instead comes with hardware-fused Undervolt Protection, but some OEMs still allow for AC loadline undervolt.
Intel-undervolt
is a tool based on this
article
for undervolting Haswell and newer Intel CPUs using
MSR
and MCHBAR registers. In addition, it also allows to change power and temperature limits. It is
not
compatible with Tiger Lake and above, but is compatible with
intel_pstate
.
Instalación
La herramienta puede ser instalada como
intel-undervolt
.
Configuración y uso
el siguiente comando imprime la configuración del voltaje en uso:
# intel-undervolt read
Ahora edite el fichero de configuración
/etc/intel-undervolt.conf
. Aquí un ejemplo de configuración con undervolt del Cache del CPU con -100mV.
{{Note| Parece que 'CPU' y 'GPU' no tienen efecto alguno en ciertas laptops (ej.
ASUS Zenbook UX430UQ
) pero si funciona en algunas otras (ej. ASUS ROG STRIX G502VY).
/etc/intel-undervolt.conf
...
undervolt 0 'CPU' 0
undervolt 1 'GPU' 0
undervolt 2 'CPU Cache' -100
undervolt 3 'System Agent' 0
undervolt 4 'Analog I/O' 0
...
Una vez guardado el archivo de la configuración se puede probar con el siguiente comando:
# intel-undervolt apply
Debe mostrarse
Success
(Éxito) si la configuración fue aplicada. Puede asegurarse que la configuración esta siendo utilizada en ese momento al utilizar el siguiente comando:
# intel-undervolt read
Una vez encontrada la configuración estable, puede
habilitar
intel-undervolt.service
para hacer los cambios persistentes.
amdctl
This article or section is out of date.
Reason:
amdctl solo soporta las familias de CPU hasta la 19h (Zen 3), y no CPUS más actuales. (Discuss in
Talk:Undervolting CPU (Español)#amdctl support scope
)
amdctl
es una herramienta para hacer undervolt en CPUs AMD k10 y más actualizados.
Instalación
La herramienta se puede instalar como
amdctl-git
AUR
.