tags:

views:

150

answers:

2

I know that it's possible to get this information - Intel's own TurboBoost sidebar gadget appears to use an ActiveX control to determine the current clock speed of an i3/i5/i7 CPU when TurboBoost is active. However, I'm wanting to do this programmatically in C# - obtaining the CurrentClockSpeed value from WMI tops out at the set maximum clock speed of the CPU, so in TurboBoost mode, it doesn't report the current actual clock speed.

A: 

http://download.intel.com/products/processor/corei7/319724.pdf

This will help u..

How? I know what TurboBoost IS, I just don't know why WMI doesn't show clock speeds above the normal maximum speed, or what other methods I can use to get those clock speeds.
shifuimam
+1  A: 

I do not believe it's possible to obtain this information with only safe/managed C# code, since VMI does not seem to supply this information. So i think you will need to use the CPUID instruction to get detailed information from the CPU that executes the instruction.

This documentation from Intel might help get you started:

http://www.intel.com/assets/pdf/appnote/241618.pdf

And here's some unsafe code to use with C#:

An attempt to bring CPUID to C#

Also see page 7 of:

Intel® Turbo Boost Technology in Intel® Core™ Microarchitecture (Nehalem) Based Processors

tgiphil
Heh..I just found that article in your second link a few minutes ago. It's a bit over my head though, as far as how to use that DLL to obtain the current clock speed from the processor.At the very least, it doesn't appear that this is very simple at all to do.
shifuimam