8

Forgive me if I misunderstand some basic EE principles -- I'm a CS guy. After some googling, nobody really explains how the chip runs faster. I understand voltage must increase per this related article.

Do we actually increase the frequency at which the chip operates?

A CPU runs at a certain frequency, which is programmed into it's registers. This frequency can be modified at any time to account for drifting, which is used to account for distance between the crystal and the CPU. (This is going from memory from years ago -- chances are every assumption here is inaccurate.)

So, the original frequency is defined by the crystal which, by the nature of a crystal, oscillates at a static frequency band. This in turn we program into the CPU, which will go on to do X number of calculations per millisecond.

At this point, overclockers manipulate the drift that is programmed into the CPU? My gut tells me that the drift registers can't increase the frequency enough to be relevant. So where does the increase in frequency come from?

Something that has just occurred to me is that just by applying more voltage, the 'bits' actually move around a faster..but then that wouldn't mean an increase in frequency, right?

Rubber Duck
  • 182
  • 5
  • 1
    I suspect your last paragraph may be wildly inaccurate, but I'm not sure exactly what you mean. Registers only change their bits on an edge from a clock signal; upping the voltage to a register does nothing to affect the frequency of the clock signal. I guess the rise time of your output is altered a little which affects the maximum speed you CAN clock the register at, but I don't think that's what you're getting at. – NickHalden Aug 23 '12 at 20:58

2 Answers2

13

Do we actually increase the frequency at which the chip operates?

Yes, we do!

Modern CPUs have a unit called PLL - Phase Locked Loop - which make the multiple GHz out of relatively cheap crystals running at something like 33.3 or 100 MHz. These units are programmable in a wide range of output frequencies. That is used to slow down the core(s) when there is less work to do to save power - or to overclock them.

You can increase the clock frequency further when the voltage is higher - but at the price of massive additional generated heat. And the silicon will "wear out" faster, as bad things like Electromigration will increase too.

Turbo J
  • 9,969
  • 1
  • 20
  • 28
  • 1
    And keep in mind that since overclocking is out of spec, there is no guarantee the processor will execute every instruction correctly. Basically, overclocking is a really dumb idea. – Olin Lathrop Aug 23 '12 at 20:57
  • 1
    @OlinLathrop How is it a dumb idea? You get performance gains for free! Actually That's what CPU manufacturers do to their silicon, better quality silicon is configured to run on higher frequencies than lower quality ones and sold for higher price! Sometimes you're lucky enough to buy a low end CPU and reach the clock of the high end ones for free. – Abdella Aug 23 '12 at 23:54
  • 3
    @Abdella: No, you *possibly* get performance gains for free, with the risk of occasional incorrect processor behavior. Digital processors are pretty much useless unless you can rely on them doing exactly what they are supposed to do all the time. – Olin Lathrop Aug 24 '12 at 00:08
  • 1
    @OlinLathrop , Actually these performance gains are measurable. You can notice it clearly in games (increased frames per second) and in video rendering too (reduced rendering time). What do you mean by "Incorrect processor behavior"? – Abdella Aug 24 '12 at 00:12
  • 1
    @Abdella: Sure, the processor performance will go up with the faster clock, *but you can no longer count on correct operation*. At some point as you increase the clock, some data paths inside the processor will have longer propagation time than the time allowed by the over-fast clock. When that happens, you get wrong results. As soon as you're out of spec, this could happen. If you're OK with 50% bit errors, I can sell you a processor real cheap you can clock as fast as you want. – Olin Lathrop Aug 24 '12 at 00:16
  • 2
    @OlinLathrop, yes, the overclocking process involves trial and error, you keep playing with several parameters and then make stress tests on the system when changing each parameter to make sure every thing works fine. But when you reach a certain configuration that passes all these tests, the system will work flawlessly with no errors (at least at the user level) – Abdella Aug 24 '12 at 00:26
  • 1
    As Abdella said, you don't just set the clock to 5GHz and call it a day, you need to stress test. Also, it's not damaging to up clocks without touching voltage, the computer will just not boot. Reset CMOS and you're good to go. – Shamtam Aug 24 '12 at 00:28
  • 1
    ... unless your experiments have caused lasting damage to the CPU or its power source. This is not my definition of *free*. – Turbo J Aug 24 '12 at 10:23
  • 5
    A processor sold to run at 2 GHz doesn't necessarily mean it's a 2 GHz proc. It could have been 2.2 GHz, but the mfr had a really good yield on this batch and some of the 2.2's got marked down to 2, since there is only so much demand for 2.2 procs. This is especially true near the end-of-life for procs, and some people look for specific date codes because some procs produced on such dates are more amenable to OC. – ajs410 Aug 24 '12 at 19:03
  • 1
    @TurboJ , As long as you don't play with voltages (or play but do not exceed the absolute max ratings), your system will be safe, no lasting damages will ever happen specially with newer generations of CPUs. – Abdella Aug 24 '12 at 20:36
8

Direct answer:

Yes we increase the frequency of not only the CPU but also Bus, RAMs and Graphics chips.

Elaboration:

As TurboJ mentioned, the unit inside the CPU that is responsible for frequency multiplication is the PLL. You supply the CPU with a reference/base/bus clock frequency that is then internally multiplied by a value that is automatically or manually selected.

As a practical example, I use the famous program "CPU-Z" to show the detailed specs of my CPU:

Idle CPU

I applied no load to the CPU, I only opened CPU-Z. Notice the "Multiplier" is now x8, which is multiplied by the base clock "Bus Speed" to generate the core frequency ~ 798MHz. Also take care that the Core voltage is 0.725V in this case.

Next, I applied stress tests on the CPU to show you its behavior under load:

Under Load

Notice the multiplier jumped automatically to x28, increasing the frequency to ~ 2.8GHz. Also the Core voltage is now 1.131V which increases the power dissipation and thus the operating temperature of the CPU. (It reached 90C in this test!)

This is done automatically because intel wants to reduce the power consumption of its CPUs when no load is applied, and it really helps save the battery life of my laptop.

As an overclocker, you have two ways to increase the frequency of the CPU:

  1. Increasing the multiplier manually from the BIOS or specialized software. For most commercial desktop CPUs, this multiplier has a maximum value that you cannot exceed. (Except for Intel Extreme CPUs and AMD Black Edition ones, which have an open multiplier)

  2. Increasing the reference/base/bus frequency.

Abdella
  • 2,605
  • 4
  • 30
  • 38
  • 1
    I think to further this post, you should elucidate on /how/ to increase the reference frequency, since it seems the OP is confused about how to change a "static" frequency (ie. a crystal). – Shamtam Aug 24 '12 at 00:27