10
1
On my machine (not a personal computer), I have 4 cores (2.4GHz) and I currently don't have any important process running. Right now, are all of my 4 cores running/vibrating at 2.4GHz or are some of them running slower or even are immobile?
10
1
On my machine (not a personal computer), I have 4 cores (2.4GHz) and I currently don't have any important process running. Right now, are all of my 4 cores running/vibrating at 2.4GHz or are some of them running slower or even are immobile?
14
Yes
Your processor has a base clock or Front Side Bus speed, my i7 is ~100MHz, there is then a multiplier that can change based on the demand of the processor - this 2.6GHz processor can have a clock multiplier that goes up to 36 to give me a maximum clock speed of ~3.6GHz.
Because most of the time your machine is sitting idle, that multiplier will sit around 8x, meaning my machine is only running at 800MHz, it could change multiple times per second.
I dont know what processor you have, so I can not tell you what yours is doing, but most modern processors do this, including your cellphone, it is called speed stepping and is what your system does to save energy.
You can check out CPU-Z by CPUID to view the details of your system (windows).
Or if you are running linux on a system that has a /proc
system, you can run cat /proc/cpuinfo
to view the details about your processor. In this printout, and on the CPU page of CPU-Z you an view the max speed, the current speed, the multiplier, and the maximum multiplier.
Note that this multiplier applies to every one of your cores, so if your system were to have say 8 cores - all of them would all be running at the same frequency.
Here is my system sitting idle, notice it is running at about 800MHz with a multiplier of 8, the minimum for this processor.
Here is my system under moderate load, running at 3.4GHz with a multiplier of 34. (note the core voltage also increases)
The bus speed of 100 MHz will be generated by a PLL on board the motherboard - this is the master clock that is sent to each other logic component on the motherboard, i.e. pci, ram, usb controller, etc... This is the signal that is passed to the physical CPU through the socket.
The core speed, ~3.4GHz, is generated by a second PLL on the CPU itself, using the FSB as its source.
Overclocking
When people overclock their machines, this is usually just upping the FSB speed - which just makes everything run faster; the problem with everything running faster, is that it sucks more power - usually requiring a slight overvolting as well.
Where people start to experience issues is that when running at full power, firstly, the silicon gets extremely hot, and second, the high-er then rated voltages start saturating nearby transistors, mere microns apart on the silicon - potentially damaging the silicon itself, and interfering with other parts of the cpu.
HLT
After answering this question, I myself asked if there were any additional power saving techniques, to which the answer was the HLT
instruction;
After the CPU has finished processing its workload, it will execute a halt, essentially disabling the core until the next interrupt is fired. In this state, the clock is still running at FSBxMlt., but the CPU core is doing no work, and is essentially drawing no power.
You can see the HTL
instruction process in Windows Task Manager, it's name is System Idle Process; all unused CPU time will be spent executing HLT
.
Thank you +1 I have a 6-Core Intel Xeon (on Mac) but there's no need to address that in your answer. – Remi.b – 2015-08-28T02:21:25.550
Note that a system that's really idle shuts down the CPU clock entirely. (sleep states, C2 and higher). Modern CPU's will also power down their caches if idle long enough (C3). What you're describing here are the power states used while in C0 (not asleep) – MSalters – 2015-08-28T08:50:49.470
1I am not so sure about all cores running at the same speed. I have frequently seen /proc/cpuinfo
indicate that cores were running at different speeds. – kasperd – 2015-08-28T11:03:29.027
Oh? Do you have any links that show this in action? I don't think I have ever seen different cores operating at different speeds, except in the big.LITTLE
architecture of some ARM processors which are seldom used in personal computers. – Matt Clark – 2015-09-01T02:06:45.433
@piec: Checked the first half-dozen images and they are all baloney, because fractional multiplers aren't possible. Perhaps that program is doing some type of averaging (and if not simultaneous sampling across all cores, it may well show different averages for different cores, even if all are locked together). However, it is true that cores don't have to use the same multiplier. – Ben Voigt – 2015-09-05T00:59:56.717
@Ben Voigt, user software can only do estimations and averages, frequencies change all the time without it knowing https://code.google.com/p/i7z/source/browse/trunk/i7z_Dual_Socket.c#343 https://code.google.com/p/i7z/source/browse/trunk/helper_functions.c#154
– piec – 2015-09-06T18:30:48.013@piec: While it's true that a kernel driver is usually needed for reading the actual speed stored by hardware, that doesn't excuse code that fails to do it. Anyway, code that is accessing MSRs should have knowledge of the actual multiplier, not merely estimates. – Ben Voigt – 2015-09-06T18:37:24.070
Your question is not clear. You don't have 24 processors. – Ramhound – 2015-08-28T01:08:18.110
1So you couldn't edit his question to clarify? You know what he means. – Matt Clark – 2015-08-28T01:10:05.630
2.4Ghz does not mean you have 24 cores. There is no way that can be or would ever be. – JakeGould – 2016-05-25T00:25:19.500