Software Archive
Read-only legacy content
17060 Discussions

How to get Processor FSB Speed

discover_mayank
Beginner
2,000 Views
Is there a way to programatically determine the FSB speed under Windows?
I can determine the external clock speed of the CPU using WMI (which helps), but I cannot determine the multiplier.
0 Kudos
5 Replies
TimP
Honored Contributor III
2,000 Views
Utilities like CPU-Z and CrystalCPUID are supposed to be capable of doing this. I believe a program needs special privileges to read the multiplier from MSR, as well as knowledge which people aren't willing to make public.
0 Kudos
xorpd
Beginner
2,000 Views

On a Core 2 Duo, you can time a few brief operations using RDTSC, then take the greatest common divisor of the times.

0 Kudos
Intel_Software_Netw1
2,000 Views

Another engineer told us:

Well, there exist some techniques, but its kind of messy and varies with processor generations.

Depending what you want to determine which piece of data in the equation

CPU core frequency = Core_to_bus ratio * Bus_Scalable_Freq.

There are model-specific registers (MSR) that documents a three-bit field that encodes the Bus_Scalable_Freq. However, this encoding varies with each processor generation (for processor later than 2000), and that reading MSR requires ring 0 (privilege) services.

==

Lexi S.

IntelSoftware NetworkSupport

http://www.intel.com/software

Contact us

0 Kudos
levicki
Valued Contributor I
2,000 Views

The simplest way to determine multiplier is to read it from the MSR. However, that requires kernel mode driver. There are some open-source kernel drivers written with that purpose in mind, however, they won't work for 64-bit operating systems (XP x64, Vista x64) because they need to have valid digital signature in order for the OS to load them. Unfortunately that signature costs a lot of money if you are an independent developer.

Basically, you have two options, licence an SDK and use already finished library and driver, or pay for code signing and write your own. Considering that SDK may contain other usefull features such as reading the clockgen chip to determine actual FSB frequency and support for SMBus/PCI/PCI-Express scanning it may be a better choice in the long run because supporting such a diverse set of hardware in your own driver can be a tedious job.

0 Kudos
discover_mayank
Beginner
2,000 Views
Hey IgorLevicki

Thanks a lot .... your post is really helpful.
0 Kudos
Reply