Difference between revisions of "Undervolt intel CPU"
no edit summary
imported>Yoy0 (Created page with "= Introduction = == Undervolt == Undervolting your CPU reduce its power consumption and heat without harming performance if well done. If voltage is set too low it can lead ...") |
imported>Yoy0 |
||
Line 26: | Line 26: | ||
== Method description == | == Method description == | ||
I will take the example of a 0.175V '''decrease''': '''- '''0.175V. | |||
To achieve that I will need two commands, one for '''CPU Core''' and the other for '''CPU Cache'''. (CPU Core and Cache share the voltage plane on my machine, that's why two commands instead of one). | |||
{{warning|These commands are shown for illustrative purpose.}} | |||
sudo wrmsr 0x150 0x80000011E9A00000 | |||
sudo wrmsr 0x150 0x80000211E9A00000 | |||
explanation: | |||
# wrmsr is a tool used for writing values to a CPU's machine specific registers (MSR). | |||
# First value is the register number. | |||
# It's always 0x150 | |||
# Second value is where and what we write in it. | |||
# 0x mean hexadecimal. | |||
# 80000 is constant, meaning is unknown. | |||
# X <- It's the plane index, it can be (not exhaustive): | |||
# 0 CPU Core | |||
# 1 GPU | |||
# 2 CPU Cache | |||
# 1 is constant, meaning is unknown. | |||
# 1 write/read <- I don't know what that mean. | |||
# E9A00000 offset, it's -0.175V after some magic calculation. | |||
# -175*1.024 = -179.2 -> -179 | |||
# 179 = 1011 0011 | |||
# -179 = 0100 1101 # invert bits+1 to get negative value. | |||
# Bits tagged with "c" are constant value, bits tagged with "o" are the calculated offset. | |||
# ccco oooo oooc cccc cccc cccc cccc cccc | |||
# 1110 1001 1010 0000 0000 0000 0000 0000 | |||
# E 9 A 0 0 0 0 0 | |||
# 0xE9A00000 |