Why have CPU manufacturers stopped increasing the clock speeds of their processors?

19,993

Solution 1

The reason manufacturers have stopped concentrating on increasing clock speed is because we can no longer cool the processors fast enough for this to be viable. The higher the clock speed, the more heat is generated, and we've now hit a stage where it is no longer efficient to increase processor speed due to the amount of energy that goes into cooling it.

Other answer goes into detail on how higher clock speed doesn't mean better performance in all areas.

Solution 2

There is a lot more to processing speed than the clock rate.

  • Different CPUs can do different amounts in the same number of clock cycles, due to different variants on pipeline arrangement and having multiple component units (adders and so forth) in each core. While in your test it is not the case, you often find a "slower" chip can do more than a fast ones (measured by clock rate only) due to being able to do more per tick.

  • The test you performed may be very sensitive to differences in CPU architecture: it could be optimised for a specific architecture, you might find it performs differently not just between Intel chips and AMD ones but between Intel (or AMD) chips of different families. It is likely using a single thread too so is not taking advantage of the CPUs' multiple cores.

  • There is a move to lower clock rates for power and heat management reasons: ramping up the clock rate does not have a linear effect on power use and heat output.

  • Because of the above non-linear relationship it is far more efficient for today's requirements to have multiple processing units than it is to push the speed of one unit ever higher. This also allows for clever tricks to conserve power like turning off individual cores when not in use and revving them back up as demand increases again. Of course multiple cores doesn't help a single-threaded algorithm of course, though it would if you ran two or more instances of it at the same time.

Solution 3

Why do you think the manufactures are actually lowering the clock speed by only comparing two processors?

  1. The 6272 has a Turbo Speed of 3Ghz. The lower base speed is just for lowering average wattage and keeping a acceptable TDP for a workloard when all cores are stressed.
  2. AMD's next high performance chip for desktop the FX-9590 will hit 5 Ghz.

Also clock-speed isn't the same as performance per clock-cycle. You can have a 3.8 Ghz P4 vs. one 3.2 Ghz core from a i7-3930K, but that doesn't mean the P4 core is faster.

Everything said here about power consumption is also perfectly valid and true for a 16 core design, where you naturally got to be more concerned about TDP issues.

Also your benchmark method just testing openssl is a bit to simple to give real world numbers. Maybe you should try any crypto benchmark suite.

Solution 4

Your test case (aes-256 encryption) is very sensitive to processor-specific optimizations.

There are various CPUs that have special instructions intended to speed up encryption/decryption operations. Not only may these special instructions be only present on your desktop - it might be that the AMD CPU has different special instructions. Also, openssl might support these special instructions only for the Intel CPU. Did you check whether that was the case?

To find out which system is faster, try using a "proper" benchmark suite - or better, just use your typical workload.

Solution 5

Simple: The AMD chip is far, far faster because it is a 16 core chip. At 115 Watt, it means each core produces ~7 Watt. This would not be achievable if each core ran at 3 Ghz. To achieve that 7 Watt figure, AMD lowered the clock frequency. Lowering the clock frequency by 10% reduces power consumption by 20%, which in turn allows you to put 25% extra cores on a chip.

Share:
19,993

Related videos on Youtube

learner
Author by

learner

Updated on September 18, 2022

Comments

  • learner
    learner over 1 year

    I have read that manufacturers stopped concentrating on higher clock speeds and are now working on other things to improve performance.

    With

    • an old Desktop machine with Intel® Xeon® Processor E3110 with clock speed of 3.0GHz
    • and a new server with AMD Opteron(TM) Processor 6272 with clock speed of 2.1GHz

    when performed a simple encryption comparison using (single threaded)

     openssl aes256c
    

    the desktop performed far better than the server.

    So even with latest optimization, why does the processor with the better clock speed perform better?

    • MSalters
      MSalters almost 11 years
      The desktop chip is a dual-core; the server is a 16-core CPU. Using a single-threaded benchmark is NOT appropriate at all.
    • Ramhound
      Ramhound almost 11 years
      @learner - Because the speed of the processors cannot increase with increasing the amount of voltage they required which reduces heat. By concentrating on power consumption they will be able to in theory ncreased the processor speeds in the future.
    • Jan Doggen
      Jan Doggen almost 11 years
      Please cite actual cases of 'manufacturers' 'even reducing' clock speeds (without comparing apples and oranges) or limit your question title to 'not increasing'.
    • KeithS
      KeithS almost 11 years
      AMD vs Intel clock speeds haven't been a fair comparison since the K6/Pentium days. AMD marketed Athlon processors as 2500+ or 3000+ when their core clocks might be 1.8 or 2.1 respectively, but they typically benchmarked quite respectively with Intel chips that did clock a true 2.5 or 3GHz. There are simply way too many differences between architectures now to make a comparison simply on clock rates.
    • Rich Homolka
      Rich Homolka almost 11 years
    • Marcello Romani
      Marcello Romani almost 11 years
      Execute 16 of them at the same time and you should start to see a difference... ;-)
  • Karthik T
    Karthik T almost 11 years
    +1 I seem to have purchased my machine right when this wall was hit, my 8 year old P4 3.4 ghz is probably the fastest in terms of clock speed, when looking at a vast majority of the market (non OC).
  • Mixxiphoid
    Mixxiphoid almost 11 years
    note that the power consumption would be a problem too. If you had a 16 core 3.0GHz, that would probably consume 200+ watts, which the most common power supplies can barely support in combination with the rest of the system.
  • user
    user almost 11 years
    @Mixxiphoid You would also need to get those 200+ W into the CPU somehow, at a voltage the circuitry can handle. That is a non-trivial task in itself.
  • Ramhound
    Ramhound almost 11 years
    @KarthikT - Intel has made significant performance improvements since their Pentium 4 product line was released. You cannot compare the peformance of a Pentium 4 to even a Dual Core Duo for these reasons. With the previous two generations (SandyBridge and IvyBridge) they concentrated increasing the performance of an indivual core. With Haswell they concentrated on power consumption. The clock speed of the Pentium 4 is significantly slower compared to the newer geneations because of those changes even if the clock speed is "slower".
  • Lefsler
    Lefsler almost 11 years
    Not just that, to increase the CPU Clock they need to increase the pipeline, but every time you need to fork the code, change the context, jump or clear the memory you clear the entire pipeline, and you need to fill it again to give a result for that instruction, so its better to reduce the pipeline and the CPU frequency, so every time you need to fork, change context, jump you dont need to wait a long time to fill the pipeline again.
  • Martin Konecny
    Martin Konecny almost 11 years
    Just to add an analogy to clock-speed = performance fallacy. Imagine one person taking very small steps but very quickly (high clock speed), vs another person taking very big steps at a slightly slower speed (lower clock frequency). The person taking big steps can move much quicker.
  • Ramhound
    Ramhound almost 11 years
    @demonofnight - In other words even though the clock frequency has not increased processors can still become faster. They just basically increase the number of instructions pure clock cycle.
  • Maciej Piechotka
    Maciej Piechotka almost 11 years
    @demonofnight: It would be too much to say "every time you need to (...) jump". Unconditional direct branches pose no control hazard so they don't count out of conditional branches ~95%-99% are predicted by various techniques (data based on some paper basing on SPEC). Direct branches do pose the problem if the target is not yet in register and there is misprediction of it. I am not sure what you mean by 'fork the code' or 'clear the memory' but contexts switches should not be executed so often (interrupts and possibly I/O).
  • Shubham
    Shubham almost 11 years
    Where does the translation to that special instruction happen? I am not sure if there are different compilers for different instruction sets.
  • Russell Borogove
    Russell Borogove almost 11 years
    Compilers do have options to target different instruction sets, and/or special "intrinsic functions" that map closely to CPU-specific instructions. It's possible for a single executable to check what family of CPU it's running on, and select a different code path based on that.
  • Zach Latta
    Zach Latta almost 11 years
    @MartinKonecny: Great visualization!
  • dr jimbob
    dr jimbob almost 11 years
    -1 The fourth power part is not right. Power (heat generated per second) in CPUs is (roughly) linearly proportional to clock frequency like P ~ f C V^2 + P0 (en.wikipedia.org/wiki/CPU_power_dissipation). Granted voltage depends on clock speed (though not necessarily linear). See: physics.stackexchange.com/questions/34766 Bottomline, power generated by CPU is roughly linear to quadratic on clockspeed in the range of 1.6 GHz - 5 GHz. (Not prop to f^4 ).
  • nialsh
    nialsh almost 11 years
    @MartinKonecny My understanding is that most assembler instructions (ADD, MOV, IMUL, etc) are performed in a single cycle. So with these new processors, are multiple instructions being performed in a single cycle?
  • Scott Chamberlain
    Scott Chamberlain almost 11 years
    @nialsh That is not true at all for CISC computers (in fact one of the defining things of CISC is instructions take multiple cycles), if all instructions took one cycle then the slowest instruction will take the same amount of time to execute as the fastest instruction.
  • Karthik T
    Karthik T almost 11 years
    @Ramhound no doubt,hence my disclaimers. moores law still alive no doubt, especially since my new laptops i7 is 20 times as good as my old P4 according to passmark's benchmarks. btw something wrong with the last sentence in your comment?
  • user84207
    user84207 over 9 years
    So what is the relationship between clock rate and power use?
  • zakkak
    zakkak over 9 years
    $P = CV^2f$. You may also want to read this.
  • Alex
    Alex over 8 years
    In the past, process shrinks have allowed for faster clocks with less heat generated. Try over clocking a 386 to a mere 200MHz and it will melt but now we can go to 2GHz+ and emit less heat. So isn't the limit actually something else? Explain why process shrinks haven't been able to sustain this pattern recently.
  • Oskar Skog
    Oskar Skog over 6 years
    x86 CPUs used to require multiple clock cycles per instruction, but these days they can run multiple instructions per clock cycle.