Open vinibali opened 5 years ago
Running the program with the debug flag, shows the registers :)
A10-7800
Voltage ID encodings: SVI (serial)
Detected CPU model 30h, from family 15h with 4 CPU cores.
DEBUG: Getting data from CPU 0 at register c0010061
DEBUG: Getting data from CPU 0 at register c0010063
Core 0 | P-State Limits (non-turbo): Highest: 1 ; Lowest 5 | Current P-State: 1
Pstate Status CpuFid CpuDid CpuVid CpuMult CpuFreq CpuVolt IddVal IddDiv CpuCurr CpuPower
0DEBUG: Getting data from CPU 0 at register c0010064
1 23 0 22 19.50x 3900MHz 1412mV 137 10 13.70A 19.35W
1DEBUG: Getting data from CPU 0 at register c0010065
1 22 0 26 19.00x 3800MHz 1388mV 220 10 22.00A 30.52W
2DEBUG: Getting data from CPU 0 at register c0010066
1 20 0 34 18.00x 3600MHz 1338mV 190 10 19.00A 25.41W
3DEBUG: Getting data from CPU 0 at register c0010067
1 19 0 38 17.50x 3500MHz 1312mV 150 10 15.00A 19.69W
4DEBUG: Getting data from CPU 0 at register c0010068
1 14 0 64 15.00x 3000MHz 1150mV 105 10 10.50A 12.07W
5DEBUG: Getting data from CPU 0 at register c0010069
1 9 0 80 12.50x 2500MHz 1050mV 77 10 7.70A 8.08W
currentDEBUG: Getting data from CPU 0 at register c0010071
1 19 0 38 17.50x 3500MHz 1312mV
DEBUG: Getting data from CPU 1 at register c0010061
DEBUG: Getting data from CPU 1 at register c0010063
Core 1 | P-State Limits (non-turbo): Highest: 1 ; Lowest 5 | Current P-State: 1
Pstate Status CpuFid CpuDid CpuVid CpuMult CpuFreq CpuVolt IddVal IddDiv CpuCurr CpuPower
0DEBUG: Getting data from CPU 1 at register c0010064
1 23 0 22 19.50x 3900MHz 1412mV 137 10 13.70A 19.35W
1DEBUG: Getting data from CPU 1 at register c0010065
1 22 0 26 19.00x 3800MHz 1388mV 220 10 22.00A 30.52W
2DEBUG: Getting data from CPU 1 at register c0010066
1 20 0 34 18.00x 3600MHz 1338mV 190 10 19.00A 25.41W
3DEBUG: Getting data from CPU 1 at register c0010067
1 19 0 38 17.50x 3500MHz 1312mV 150 10 15.00A 19.69W
4DEBUG: Getting data from CPU 1 at register c0010068
1 14 0 64 15.00x 3000MHz 1150mV 105 10 10.50A 12.07W
5DEBUG: Getting data from CPU 1 at register c0010069
1 9 0 80 12.50x 2500MHz 1050mV 77 10 7.70A 8.08W
currentDEBUG: Getting data from CPU 1 at register c0010071
1 19 0 38 17.50x 3500MHz 1312mV
DEBUG: Getting data from CPU 2 at register c0010061
DEBUG: Getting data from CPU 2 at register c0010063
Core 2 | P-State Limits (non-turbo): Highest: 1 ; Lowest 5 | Current P-State: 1
Pstate Status CpuFid CpuDid CpuVid CpuMult CpuFreq CpuVolt IddVal IddDiv CpuCurr CpuPower
0DEBUG: Getting data from CPU 2 at register c0010064
1 23 0 22 19.50x 3900MHz 1412mV 137 10 13.70A 19.35W
1DEBUG: Getting data from CPU 2 at register c0010065
1 22 0 26 19.00x 3800MHz 1388mV 220 10 22.00A 30.52W
2DEBUG: Getting data from CPU 2 at register c0010066
1 20 0 34 18.00x 3600MHz 1338mV 190 10 19.00A 25.41W
3DEBUG: Getting data from CPU 2 at register c0010067
1 19 0 38 17.50x 3500MHz 1312mV 150 10 15.00A 19.69W
4DEBUG: Getting data from CPU 2 at register c0010068
1 14 0 64 15.00x 3000MHz 1150mV 105 10 10.50A 12.07W
5DEBUG: Getting data from CPU 2 at register c0010069
1 9 0 80 12.50x 2500MHz 1050mV 77 10 7.70A 8.08W
currentDEBUG: Getting data from CPU 2 at register c0010071
1 19 0 38 17.50x 3500MHz 1312mV
DEBUG: Getting data from CPU 3 at register c0010061
DEBUG: Getting data from CPU 3 at register c0010063
Core 3 | P-State Limits (non-turbo): Highest: 1 ; Lowest 5 | Current P-State: 1
Pstate Status CpuFid CpuDid CpuVid CpuMult CpuFreq CpuVolt IddVal IddDiv CpuCurr CpuPower
0DEBUG: Getting data from CPU 3 at register c0010064
1 23 0 22 19.50x 3900MHz 1412mV 137 10 13.70A 19.35W
1DEBUG: Getting data from CPU 3 at register c0010065
1 22 0 26 19.00x 3800MHz 1388mV 220 10 22.00A 30.52W
2DEBUG: Getting data from CPU 3 at register c0010066
1 20 0 34 18.00x 3600MHz 1338mV 190 10 19.00A 25.41W
3DEBUG: Getting data from CPU 3 at register c0010067
1 19 0 38 17.50x 3500MHz 1312mV 150 10 15.00A 19.69W
4DEBUG: Getting data from CPU 3 at register c0010068
1 14 0 64 15.00x 3000MHz 1150mV 105 10 10.50A 12.07W
5DEBUG: Getting data from CPU 3 at register c0010069
1 9 0 80 12.50x 2500MHz 1050mV 77 10 7.70A 8.08W
currentDEBUG: Getting data from CPU 3 at register c0010071
1 19 0 38 17.50x 3500MHz 1312mV
Northbridge:
DEBUG: Getting data from PCI config space address 160 at location /proc/bus/pci/00/18.5
P-State 0: 66 (vid), 1138mV, 1600MHz
DEBUG: Getting data from PCI config space address 164 at location /proc/bus/pci/00/18.5
P-State 1: 74 (vid), 1088mV, 1400MHz
DEBUG: Getting data from PCI config space address 168 at location /proc/bus/pci/00/18.5
P-State 2: 80 (vid), 1050mV, 1200MHz
DEBUG: Getting data from PCI config space address 16c at location /proc/bus/pci/00/18.5
P-State 3: 96 (vid), 950mV, 1100MHz
CPU #3 Register Value c0010064 8000018900002c17 c0010065 800001dc00003416 c0010066 800001be00004414 c0010067 8000019600004c13 c0010068 800001690000800e c0010069 8000014d0000a009 c0010071 83ce000636434c13
Hello Kevin,
I just found this small bug, this case the calculated Wattage is inaccurate. You'll find the values returned for Richland:
and Kaveri:
Unfortunately I couldn't figure out how to convert the "39:32" bits to hex format for reading with rdmsr. I tried to understand the getDec function, but no success...
Best regards