One core at 3.2 GHz, one at 3.19 GHz - what's wrong?

0

I have an i7 which is supposed to be running a clock speed of 3.2 GHz. However, in the System dialog it shows 3.2 and 3.19 GHz.

enter image description here

and in the task manager, it also shows 3.19: enter image description here

What am I missing here?

William

Posted 2014-01-06T14:22:06.127

Reputation: 413

The name of the CPU is "Intel(R) Core(TM) i7 CPU 960 @ 3.20GHz". Windows is also telling you that the CPU is runnung at 3.19 GHz. Unfortunately, it puts no separator between the CPU name and the CPU speed, which makes things confusing when the name includes a rated speed at the end. – David Schwartz – 2018-02-24T01:40:28.707

10You do realize that 3.19 is 3.2 for all intents and purposes right? – terdon – 2014-01-06T14:29:30.010

If you really think one is running "slow", go to your task manager and open your performance history...it'll show you how much work your cores have done. Or download a CPU monitor and watch them work.....but they won't all always be engaged at the same level... – Pretzel – 2014-01-06T14:37:55.133

That's a difference of 10MHz (at most), negligible and likely attributable to rounding errors by W8. – nerdwaller – 2014-01-06T14:44:16.293

1Hey, look, you even missing two cores! Your CPU has 4 cores. First one is running at 4.20 Hz, second one at 4.19 Hz. Where are other two? Joke. Most likely figure 3.20 is taken from CPU specification. Figure 3.19 must be real detected speed of CPU. – VL-80 – 2014-01-06T14:58:49.913

That's a 0.31% difference. I'd call that well within any reasonable tolerances. – a CVn – 2014-01-06T14:59:40.877

Answers

7

The processor is sold as running at 3.2GHz, it actually runs at 3.19GHz which is essentially the same thing. The numbers are always rounded for marketing and display purposes and a ~10MHz difference is simply not detectable by anything you are likely to try.

My i7 for example, is sold (what it says on the box) as running @ 2.67GHz yet my monitoring tools tell me it goes up to 2.667GHz. That is 2.7GHz because that's how rounding works. In fact, my monitoring tools tell me it can run up to 2667000Hz which is 2.66700GHz but since that level of precision is pointless, they round it up to 2.7.

You have the same situation in hard disk drives. For example, my laptop was sold with a 500GB disk drive. Nevertheless, if I actually check, I see that it is 500107862016 which is

500107862016/1024/1024/1024=465.7 Gibibytes

or

500107862016/1000/1000/1000=500.1 Gigabytes.  

So, my disk is actually 500.1 GB but is sold as 500. Your CPU actually runs at 3.19GH and is sold as 3.2. This is not a problem, that level of precision is meaningless for almost all tasks.

terdon

Posted 2014-01-06T14:22:06.127

Reputation: 45 216

3

TL;DR

Small variances like that are normal.

Technical Explanation

When a program wants to list hardware and its specifications, it can do so in one of two ways:

  • Based on the specifications of the device’s model number
  • Measure it

By Model Number

If it uses the model number to determine capacities like speed, size, etc., then it can do so in one of two ways:

  • Using some sort of universal mapping between model number and specs
  • Keeping a database of hardware model-spec

A universal mapping is essentially impossible because that would require a standard that all manufacturers would abide by, and even then, there is a limited amount of information that can be stored in the model number.

Keeping a database is also no good because the database would get pretty big, especially if multiple programs are keeping their own databases. Also, they would have to constantly be updated to account for new hardware.

By Measuring

A better way to get a devices capabilities is by asking the device itself. That way, you can be sure to have actual data about it. The problem is that even by asking the device, there are two ways it can respond:

  • With specification-based data
  • With measured data

The device can report capabilities that it is supposed to have based on its data-sheet specifications. For example, you can get various information about a CPU by calling the cpuid instruction. However this information only gives you what the manufacturer has decided the CPU is capable of, not necessarily what it is actually doing.

A more accurate way to find out about a device is to actually query it directly.

For example, to find out the actual size of a hard-drive, simply send it a command to determine the its total. That way, regardless of what the model is, you can find out the exact size. With hard-drives, this is often going to be different because while the drive’s model might report “1GB”, or 1,000,000,000 bytes, if you check its size, you’ll probably find that it is actually something like 1,053,761,256 bytes because they cannot make hard-drives with exact sizes down to the byte, and often round up anyway to include spare space to compensate for bad sectors, and so on.

Likewise, a CPU’s speed will be affected by both the multiplier and the FSB. While digital data is supposed to be exact with precise numbers, the truth is that digital electronics can be affected by factors that can cause small fluctuations. The multiplier will usually not fluctuate, but the bus-speed will usually be a little higher or lower than the expected value, which in turn causes the CPU speed to be a little higher or lower than what its specifications state.

Usage

Both static and live data have their uses. Live data which shows the instantaneous information is useful for monitoring programs like the Task Manager, while static data is useful for things like the system-information screen or hardware-inventory programs.

Analysis

In your case, what has happened is that Windows measured the speeds of the cores once at boot and is reporting that for the rest of the session. If you reboot, you may see one or both cores change a little.

If you watch the live speed in a program like CPU-Z for a while, you’ll probably see it change over time, especially if the system is doing different things. It may go up a little, it may go down a little. In fact, it will likely happen to all cores.

Synetech

Posted 2014-01-06T14:22:06.127

Reputation: 63 242

Okay good - I was worried that I had a defective chip - a similar thing is actually happening in one of my servers so the above makes sense. Just to be safe - is there a tool that you would recommend for testing whether a processor is working correctly? – William – 2014-01-06T16:43:28.210

1

No, there’s nothing wrong with it. I remember watching my 1.7GHz CPU constantly fluctuating between ~1698MHz~1702MHz, and the FSB almost always around 199MHz instead of 200MHz (in fact, most hardware tends to run slightly lower than rated, possibly to play it safe). As for testing, it depends on what you mean by “working correctly”. You can run some “burn-in” programs like Prime95 or benchmark programs to test for failure and speed, but there’s no comprehensive “check if everything works” programs.

– Synetech – 2014-01-06T16:51:21.043