Port-amd64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: AMD Ryzen temp sensor



On 28 January 2018 at 21:05, Frank Kardel <kardel%kardel.name@localhost> wrote:
> I was just using the kernel and modules with a 8.99.6 userland. Thus i
> didn't look at the manual :-(.
>
> BIOS implementors had trouble with that too, initially. looks like 1700X and
> 1800X need to be detected for this.
>
It's worth noting that AMD CPU have never (or at least since the
phenom days) reported absolute temps.

They report temps relative to Tctl_max, so it sounds like they're
keeping Tctl_max across CPUs with different termal limits. This would
result in the temp differing as observed. There doesn't seem to be an
official value for Tcl_max for the Ryzen.

From the dev guide for the family 15h CPU[1]:

"Tctl is a processor temperature control value used for processor
thermal management. Tctl is accessible through D18F3xA4 [CurTmp]. Tctl
is a temperature on its own scale aligned to the processors cooling
require-ments. Therefore ***Tctl does not represent a temperature
which could be measured on the die or the case of the processor.***
Instead, it specifies the processor temperature relative to the
maximum operating temperature"

So, if (for example) Tctl_max is 80 deg and Tctl (what the CPU
reports) is 45 deg, then you know only that the CPU is (Tctl_max -
Tctl) 35 degrees _below_ the max temp. However you don't know the
actual thermal value of Tctl_max and therefore the value returned by
Tctl.

If AMD are keeping Tctl_max consistent across the Ryzen range when the
CPUs have different max thermal limits this would explain the
disparity. It would also make sense as it makes thermal management
solutions easier as they only need to hold 1 max temp for the ryzen
range.

I hope that makes some kind of sense. :)

1. http://support.amd.com/TechDocs/42301_15h_Mod_00h-0Fh_BKDG.pdf#G5.4979420


Home | Main Index | Thread Index | Old Index