This may be a stupid question, but how do CPUs lock their multiplier?
Okay, I think no one really answered your question! We must analyse the "design" of the CPU to understand how Intel and AMD lock their CPU's.
In a CPU there is a clock generator, The clock generator is the portion of the CPU that generates the synchonisation signals for all the CPU parts. I studied in electronics and I can tell you that CPU clock generator are far more complex than anyone would expect.
A clock generator need a reference to generate a "tick". In simple deign the reference clock come from a crystal (most watches use Quartz to generate a specific pulse at a determine rate). Quartz are good clock generator, because when you apply electricity to them, it generate a constant and stable "tick".
So the clock generator have 1 input, the "tick" or reference clock. Then, based on this reference the clock generator circuit multiply this reference to whatever the rest of the circuit needs. A clock generator circuit can generate many clocks for different part of the internal circuitry.
When comes to CPU world, the internal clock generator of the CPU multiply to clock it receive from the motherboard, usually from the FSB. It's why the common technique to overclock today's CPU is to increase FSB when the CPU's are multiplier locked.
To make their life easier the CPU makers, have the ability to change the multiplier of their CPU before they ship them. They do this by having more input in their Clock Generator circuits. They have the "reference clock input" and they add more input (usually binary) that will enable them to fix at will multiplier. Multipliers are usually define on 3 or 4 bits.
CIRCUIT EXAMPLE :
PIN-0 = Clock Ref.
PIN-1 = Multiplier 1
PIN-2 = Multiplier 2
PIN-3 = Multiplier 3
Ref. 200MHz
MUL|RESULTING CLOCK
123|
-------
000|200MHz
001|400MHz
010|600MHz
011|800MHz
to..
111|2800MHz
Os you see, in this setup, the CPU maker would be limited to offer CPU between 200 and 2800MHz. You can offset these multiplier, if the company knows that the lowest frequency of the CPU will be 1GHz, they can offset the multiplier...
Ref. 200MHz
MUL|RESULTING CLOCK
123|
-------
000|1000MHz
001|1200MHz
010|1400MHz
011|1600MHz
to..
111|4000MHz
And you can even gives 2 value for each multipliers. AMD use this trick in different CPU core. So the x6 multiplier can correspond to x12 in a later generation CORE to ensure compatibility with existing motherboards.
I didn't mention .5 multiplier, but it works the same way, example :
Ref. 200MHz
MUL|RESULTING CLOCK
123|
-------
000|200MHz
001|300MHz
010|400MHz
011|500MHz
to..
111|1400MHz
The "problem" with this, is that, if you want to go higher, you might need a 4rth bit to identify higher multipliers. This effectively double the possibilites. Instead of 0 to 15 values, you would get 0 to 31.
I hope this was instructive.
--
Would you buy a potato powered chipset?