Bueno, no sabía si ponerlo aquí o en Software Libre, pero ayer encontré un nuevo programita para hacer undervolt (y overclock/overvolt/underclock) para procesadores K10 y K11 (En principio Phenom, Athlon y Sempron). La gran ventaja (además de poder tocar casi cada parámetro por separado) es que funciona bajo Linux, que es lo que yo estaba buscando.
El enlace al programa:
http://amdath800.dyndns.org/amd/tpc-0.29.1a.tar.gzViene con ejecutables precompilados para Windows y Linux x64. Yo lo he compilado para Linux x86 (Si a alguien le interesa que lo pida y lo subo).
Aunque se pueden tocar bastantes cosas, por ahora sólo he probado lo básico. Viene con un manual bastante completo y fácil de seguir con varios ejemplos, pero para que os hagáis una idea, y teniendo en cuenta que estoy usando Ubuntu 10.10 x86:
1. Cargamos los módulos necesarios:
modprobe msr
modprobe cpuid
2. Mostramos información sobre el procesador
TurionPowerControl -l
Esto es lo que me sale a mí (despues de aplicar el undervolt en un Athlon 240e)
Turion Power States Optimization and Control - by blackshard - v0.29.1 (alpha)
Detected CPU:
Family: 0xf Model: 0x6 Stepping: 0x2
Extended Family: 0x10 Extended Model: 0x6
Package Type: 0x1 BrandId: 0x1a87
Detected Physical Cores: 2
Detected processor: AMD Family 10h Processor
Processor has 2 cores
Processor has 5 p-states
Power States table:
-- Core 0
core 0 pstate 0 - En:1 VID:36 FID:12 DID:0 Freq:2800 VCore: 1.1000
core 0 pstate 1 - En:1 VID:49 FID:5 DID:0 Freq:2100 VCore: 0.9375
core 0 pstate 2 - En:1 VID:57 FID:0 DID:0 Freq:1600 VCore: 0.8375
core 0 pstate 3 - En:1 VID:68 FID:0 DID:1 Freq:800 VCore: 0.7000
core 0 pstate 4 - En:0 VID:44 FID:0 DID:1 Freq:800 VCore: 1.0000
-- Core 1
core 1 pstate 0 - En:1 VID:36 FID:12 DID:0 Freq:2800 VCore: 1.1000
core 1 pstate 1 - En:1 VID:49 FID:5 DID:0 Freq:2100 VCore: 0.9375
core 1 pstate 2 - En:1 VID:57 FID:0 DID:0 Freq:1600 VCore: 0.8375
core 1 pstate 3 - En:1 VID:68 FID:0 DID:1 Freq:800 VCore: 0.7000
core 1 pstate 4 - En:0 VID:44 FID:0 DID:1 Freq:800 VCore: 1.0000
Processor Maximum PState: 3
Processor Startup PState: 3
Processor Maximum Operating Frequency: 2800 MHz
Minimum allowed VID: 123 (0.013v) - Maximum allowed VID 18 (1.325v)
Processor AltVID: 44 (1.000v)
Core 0 C1E CMP halt bit is disabled
Core 1 C1E CMP halt bit is disabled
Voltage Regulator Slamming time register: 6
Voltage Regulator Step Up Ramp Time: 8
Voltage Regulator Step Down Ramp Time: 8
Processor is using Serial VID Interface (probably Dual Plane mode)
Processor PState Identifier: 0x6
PSI_L bit not enabled
3. Modificamos los voltajes (en mi caso he optado por hacerlo en todos los núcleos a la vez, aunque se puede hacer por separado)
TurionPowerControl -set core all pstate 0 frequency 2800 \
vcore 1.1000 pstate 1 frequency 2100 vcore 0.9375 pstate 2 frequency 1600 \
vcore 0.8375 pstate 3 frequency 800 vcore 0.7000
Como veis, para lo básico es bastante cómodo. Para que se ejecute al inicio, sólo hay que llamar al programa con los parámetros deseados desde /etc/rc.local.
El foro donde lo encontré:
http://www.phoronix.com/forums/showthread.php?t=26065