Каким образом датчики LM получают данные о мощности процессора?

Каким образом датчики LM получают данные о мощности процессора?

Я хотел прочитать свой "сырой" статус оборудования, пока что я обнаружил, что в моей системе я могу получить доступ к этому статусу через /sys/class/hwmon. Затем я сравнил найденные мной числа с выводом, который я получил от sensors.

Например: если я делаю так, vim показывает мне файл, в котором записан vim /sys/class/hwmon/hwmon0/temp1_inputтолько номер , я запускаю его и в выводе нахожу строку, в которой написано .35000sensorsCPU Temperature: +35.0°C (high = +60.0°C, crit = +95.0°C)

Используя этот метод, мне удалось определить, откуда sensorsберутся все данные... за исключением power1: x W (crit = y W). Контекст в этой строке следующий:

fam15h_power-pci-00c4
Adapter: PCI adapter
power1:       XX.XX W  (crit = 125.02 W)

Я нашел, где fam15h_powerнаходятся данные, открыл, power1_critи там было 125015625написано (кажется, это критическая мощность в микроваттах). Но всякий раз, когда я открываю power1_input, число, которое я получаю, не имеет ничего общего с выходными данными XX.XX W. sensorsНапример: я запустил sensorsи получил power1: 52.74 W (crit = 125.02 W), но в файле power1_inputбыло написано 87615291. Единственная связь, которую я нашел между этими числами, заключается в том, что они оба увеличиваются или уменьшаются вместе.

Итак, почему данные из sensorsкажутся настолько не связанными с данными из hwmon/? (только по потребляемой мощности). Как sensorsрассчитать или получить мощность? (это мощность от ЦП?)

решение1

Закон Ома

Закон Ома
Э = Я * Р E = Напряжение (Вольт В) Э = П / И
Я = Э / Р I = Ток (Ампер А) Я = Цена / Прибыль
Р = Э / Я R = Сопротивление (Ом Ω)
P = Мощность (Вт) П = Э * Я

lm-датчикиможет контролировать напряжение ЦП и потребляемый ток, поэтому он может вывести мощность (в ваттах) путем вычисления ватт = напряжение * ток.

Связанный контент