amdctl[1] might be useful to look at to learn a little here, as it meddles with these things.
the CPU has different ACPI P-States, different power level modes that the governor will switch between.
but each of those states has an assigned voltage to it. you can tell a governor to keep using lower power states, but those states may still be supplying more voltage/power than the CPU requires to run.
under-volting is about adjusting the power level for a given state. there's a very broad ranging article on AMD Zen architecture[1] that i love, from Matt Dillon, creator of DragonflyBSD, and it talks some to undervolting & how it can be useful for their big build-servers & others. [edit: wait no, wrong link: it was THIS other huge thread from Dillon[3] that included low power musings, but still no explicit undervolting, just setting the thermal limit lower].
the CPU has different ACPI P-States, different power level modes that the governor will switch between.
but each of those states has an assigned voltage to it. you can tell a governor to keep using lower power states, but those states may still be supplying more voltage/power than the CPU requires to run.
under-volting is about adjusting the power level for a given state. there's a very broad ranging article on AMD Zen architecture[1] that i love, from Matt Dillon, creator of DragonflyBSD, and it talks some to undervolting & how it can be useful for their big build-servers & others. [edit: wait no, wrong link: it was THIS other huge thread from Dillon[3] that included low power musings, but still no explicit undervolting, just setting the thermal limit lower].
[1] https://github.com/kevinlekiller/amdctl
[2] https://news.ycombinator.com/item?id=20795054
[3] http://apollo.backplane.com/DFlyMisc/threadripper.txt