Login | Register
  • Author
    Message

CPU TDP

Postby JulioCesarSF » Wed Mar 13, 2013 3:00 pm

Hi,

I'm doing a project for college and I'm having difficulty getting the TDP processor.

Where do I find the api to get the TDP?

thank you :oops:
JulioCesarSF
New User
 
Posts: 2
Joined: Wed Mar 13, 2013 2:58 pm

Re: CPU TDP

Postby The Coolest » Wed Mar 13, 2013 10:43 pm

There is no API for TDP. Every CPU vendor chooses a different method of accessing this information.
In either way, it has to be direct access to hardware, which would require you to use a kernel-mode driver.
Member of our O/C Folding @ Home team
"<The_Coolest> you can't unwaste wasted CPU cycles" - Start FOLDing now!
Main rig:
Core i7 2600K 3.4GHz @ 4.5GHz (Scythe Mugen2) / Mobo: Biostar TP67XE / SSD: Crucial M4 128GB (+ HDDs) / GPU: HD5450 / Mem: 4x4GB DDR3-1600 G.Skill 4GBXL RipJaws X - 16GB total / PSU: Seasonic S12II 620W.
Secondary rig:
Core i3 540 3.06GHz @ Stock / Mobo: MSI H55M-ED55 / GPU: Integrated / Mem: 2x2GB DDR3-1600 G.Skill 4GBRL RipJaws - 4GB total / PSU: FSP ATX350-PNR 350W.

Core Temp - Accurate temperature monitor for Intel's Core/Core 2 and AMD64 processors
User avatar
The Coolest
Site Admin
Site Admin
 
Posts: 2961
Joined: Tue Feb 18, 2003 7:48 pm
Location: Tel Aviv, Israel

Re: CPU TDP

Postby JulioCesarSF » Fri Mar 15, 2013 3:49 am

Ty!

What about cpu voltage?

I'm trying to get it from Win32_Processor WMI class and it is always 1 (CurrentVoltage).

Code: Select all
procedure TForm2.GetKernelPerfStateInfo;
const
  WbemUser            ='';
  WbemPassword        ='';
  WbemComputer        ='localhost';
  wbemFlagForwardOnly = $00000020;
var
  FSWbemLocator : OLEVariant;
  FWMIService   : OLEVariant;
  FWbemObjectSet: OLEVariant;
  FWbemObject   : OLEVariant;
  oEnum         : IEnumvariant;
  volt : uInt16;  //uint16    word
  volt2 : uInt32;  //uint32   longword
  v : longword;
begin;
  FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  FWMIService   := FSWbemLocator.ConnectServer(WbemComputer, 'root/CIMV2', WbemUser, WbemPassword);
  FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_Processor','WQL', wbemFlagForwardOnly);
  oEnum         := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
  while oEnum.Next(1, FWbemObject, v) = 0 do
  begin
    NullStrictConvert := False;
    Volt := FWbemObject.CurrentVoltage; //uint16
    volt2 := FWbemObject.VoltageCaps;  //uint32
    Label5.Caption := 'Current Vcore : '  + IntToStr(Volt) + ' v VoltageCaps : ' + IntToStr(Volt2) + ' v';
    FWbemObject:=Unassigned;
  end;
end;


:x
JulioCesarSF
New User
 
Posts: 2
Joined: Wed Mar 13, 2013 2:58 pm

Re: CPU TDP

Postby The Coolest » Fri Mar 15, 2013 8:04 am

Same reply as with TDP.
I don't use WMI as you can't rely on it to provide you with solid and accurate information.
Member of our O/C Folding @ Home team
"<The_Coolest> you can't unwaste wasted CPU cycles" - Start FOLDing now!
Main rig:
Core i7 2600K 3.4GHz @ 4.5GHz (Scythe Mugen2) / Mobo: Biostar TP67XE / SSD: Crucial M4 128GB (+ HDDs) / GPU: HD5450 / Mem: 4x4GB DDR3-1600 G.Skill 4GBXL RipJaws X - 16GB total / PSU: Seasonic S12II 620W.
Secondary rig:
Core i3 540 3.06GHz @ Stock / Mobo: MSI H55M-ED55 / GPU: Integrated / Mem: 2x2GB DDR3-1600 G.Skill 4GBRL RipJaws - 4GB total / PSU: FSP ATX350-PNR 350W.

Core Temp - Accurate temperature monitor for Intel's Core/Core 2 and AMD64 processors
User avatar
The Coolest
Site Admin
Site Admin
 
Posts: 2961
Joined: Tue Feb 18, 2003 7:48 pm
Location: Tel Aviv, Israel

Return to Programming Help

Who is online

Users browsing this forum: No registered users and 1 guest

cron