Intel's Anti-Overclocking Technology Simplified
John Thorensen writes "Found a fantastic article on Intel's recent Anti-Overclocking patent at Fastsilicon.com. Worth the read, as it also explains some of the technical and ethical issues of overclocking. Good to see that some tech journalists can still write material understandable by an average person."
Introduction
Many of you may have read the recent article in the inquirer that reports on a patent that was granted to Intel for an overclocking detection and prevention device. With all due respect to our fellow journalists (they did post the story first), this article was a little lacking on the clear technical interpretation that we know our readers crave. As an alternative, you could fight your way through "United States Patent 6,535,988 - March 18, 2003", but to save you the trouble we here at Fastsilicon.com have done it for you. Herein we present a layman's guide to the patent that has got some of the overclocking community up in arms, and tell you why it's all bad. To begin our explanation, it is appropriate to explain how the system clock relates to the processor, and what "overclocking" is all about.
Clocking, Over- and Otherwise:
The way processors work in conjunction with their clock is fairly simple. Connected to the microprocessor's core is a device that produces an electrical pulse a certain number of times per second. This pulse is a sort-of "heartbeat", and with each pulse the processor does some work. The faster the pulses come, the more work the processor does. The rate at which the pulses come is expressed in units of Hertz (abbreviated as "Hz"), which stands for "times per second". If our pulse is coming 1 time per second, then we say that it has a frequency of "1 Hz", and hence the processor speed is 1 Hz. Obviously nobody runs processors at this speed; we are more accustomed to processor speeds that are measured in Megahertz (MHz) or Gigahertz (GHz), where 1 MHz is 1 million times per second and 1 GHz is 1 billion times per second. Additionally, some processors internally multiply this pulse, so in effect the processor sees (for example) 10 pulses for every external clock pulse. For the sake of simplifying things though, we'll ignore this multiplyer and proceed with the assumption that things are happening at a 1:1 ratio.
Many may ask at this point, "If the processor does more work with higher clock speeds, why are there limitations on the clock speed - why can't one run a processor as fast as they want?". Although there are many factors that contribute to the answer to this question, the basic answer to this is heat. With every clock pulse, electricity flows through the processor. Because of resistance in the processor's pathways (think of it as a sort of electrical friction), some of this energy is converted to heat, similar to what happens when you rub your hands together very quickly. The higher the clock speed, the more often the clock pulses come, which means that more heat is generated at higher clock speeds. Because processors don't react well to the effects of this heat, testing is done to determine the maximum clock speed that they can run at safely. The processors are then labeled with this clock speed, and they go out the door with a designation such as, "Pentium 4 - 2.4GHz". In this particular case, Intel has tested the processor and has determined that to run properly, it needs a clock that runs no faster than 2.4 billion times per second.
Running a processor at a higher clock speed than labeled by increasing the rate at which clock pulses happen is known as "overclocking". Because there is some "statistical leeway" in the tests that are done to determine the maximum clock speed, many times one can overclock a processor and achieve more performance without a perceived negative effect. As most hobbyists know, these negative effects come somewhat gradually as you slide up the clock speed curve. At one clock speed things may be good, but as one increases it they see more system glitches until the computer simply will no longer boot. This is where the "perceived" part of the negative effect comes in. One may not outwardly notice errors as they use a moderately overclocked system, but they still may be occuring, and the life of the processor may be degraded. In particular, processor subsystems such as the random number generator can lose some of thei
I hope you die painfully and alone.
CPU Speed Trap:
The abstract of the Intel patent reads as follows:
An over-clock deterrent mechanism of a chipset which comprises an over-clock detection circuit for detecting over-clocking of a system (processor) clock signal based on comparison of ratio of the system (processor) clock signal which is likely to be over-clocked and a fixed, stable reference clock signal which is highly unlikely to be over-clocked, and an over-clock prevention (thwarting) circuit for deterring such an over-clocking by either disabling operations of a computer system or significantly undermining key operations of a computer system.
Unlike the rest of the patent description, this is comparitively easy to understand. An Intel scientist invented a way to keep a microprocessor running at a specified clock speed by comparing it to a reference clock. Further, the patent details ways of acting upon an out-of-spec clock speed, all of which involve slowing the processor down in one way or another.
To explain the base technology that enables this CPU speed trap, we need to look no further than our television sets. Specifically, a television set tuned to TNN on Sunday afternoon. For those that haven't a clue what I'm talking about, check out TNN on Sunday sometime. For those that do know what I'm talking about, you probably still don't get what microprocessors have to do with NASCAR racing. Lucky for you, this curious metaphor is easily explained.
Imagine a racecar doing laps around a superspeedway of known length - say 1 mile. Then, imagine that I ask you to figure out how fast the racecar is going, but there are no radar guns around. How would you do it? The easiest way to determine the racecar's speed would be to count the number of times it goes around the track in one hour and since each lap is 1 mile, this would give us the answer in miles per hour. Pretty simple, isn't it?
Now imagine that we are on another track, of an unknown length. I again ask you to determine the racecar's speed. In this case, the best you could come up with would be a wild guess, because we no longer know the length of one lap. So, we decide that we'll settle for knowing if the racecar is going fast enough to beat an (until now unmentioned) opponent.
We have two cars, both running around the track. We're not running an actual race, so we're not looking for the first to cross the finish line. Rather, we're interested in one thing: whether or not our racecar is going fast enough to beat the other one. To figure this out, we go back to our solution to the first problem. By counting now many times each racecar goes around the track in a specified time period, we know if our racecar is going fast enough to beat the other one. If our racecar goes around the track more times during a fixed time period it's going faster than the opponent's; if it goes around the track fewer times it's going slower. If they go around the track EXACTLY the same number of times, then they're going the same speed and there will be a tie.
If you've followed along to this point, then you understand the technique that Intel is using to determine whether or not a processor is running at a clock speed other than that specified. In our racing metaphor, one lap is equivalent to a clock pulse. We can determine whether the device that generates the clock pulses (our racecar) is going faster than a known reference that is set at the processor's specified clock speed (the opponent's racecar) by counting the number of pulses from each over a fixed time period and comparing them. If we count more pulses for the system clock than the reference (in terms of our metaphor, our racecar is winning), then the system is overclocked. If we count fewer pulses (our racecar is losing), then we are "underclocked". If we count exactly the same number of pulses, there will be a "tie" and we know that both clocks are running at the same rate. Because the reference is actually a part of the processor, it theoretically cannot be tampered with and therefore the processor is running at its specified speed.
I hope you die painfully and alone.
Penalties for Speeding:
Having solved the first part of the clock-limiting issue, the Intel patent further describes ways to act upon the fact that the processor is overclocked. There are two methods that are described to thwart overclocking once it is detected. The first method simply shuts off power to the processor when an illegal clock speed is detected. This is the equivalent of being thrown in jail: "Do not pass go, do not collect $200". When the power is removed from the processor, the only computing you're likely do get done is on your desk calculator.
The second method proposed utilizes a clock-limiting device already included in Intel's CPU designs. Most modern CPUs include a "thermal control logic device", which is essentially like the thermostat in your house. When the device detects temperatures that are significantly higher than normal, it tells the CPU to slow way down so that it will not generate as much heat. Normally, it takes a significant amount of heat to trigger this response; usually only a fan failure or a missing heatsink can cause temperatures to soar so high. Intel's patent describes a small addition to this device that allows the overclock detection circuit to initiate the same sort of clock-limiting behavior. In such a situation, overclocking turns out to be a losing proposition, because if the processor is overclocked the detection and thwarting system will actually make it run more slowly than if it were running at the normal specified clock speed. If you still don't quite understand how this works, imagine that you get pulled over for speeding. After writing you a ticket, the police officer deflates all 4 of your tires. In such a situation, you might get somewhere, but you're not going to get there very fast until you reinflate your tires. This is what the thermal control logic does; by "deflating the tires" of the CPU, it forces it to slow down until the improper clock speed is corrected.
Summary:
Depending on the specific implementation, Intel's patent is likely to be fairly successful in limiting clock speeds to those specified. Because it does not rely on any external devices, it will be more difficult for users to tamper with. This is not to say that it will be impossible to circumvent, but it is likely that if implemented, the device would be much more resistant to such efforts than any clock-locking method to date. Despite the doom and gloom cries from hobbyist overclockers, clock-locking is not necessarily all bad news. The issue of CPU remarking by systems integrators is a real problem, and is not likely to go away as long as processors can be overclocked. Additionally, addressing this issue is a good thing for the industry because there would be a reduction in returns of "defective" processors that failed due to overclocking. This would reduce costs, and in turn prices. There is also the added benefit that inadvertent mis-clocking due to motherboard failure can be detected and remedied by the user. Undoubtedly the inability to overclock would be a disappointment to many, but in the long run it could be a benefit for all concerned. It is also important to remember that, "in the war between weapons and armor, weapons eventually win", meaning that it is only a matter of time until even the unbreakable is broken. After all, it wouldn't be overclocking without a challenge.
I hope you die painfully and alone.
they're trying to keep power-users from overclocking, justifying it by the fact that some "evil systems builders" buy cheaper processors and overclock them, selling them to YOUR mom unknowingly, who then calls you at 2am when her computer catches on fire from all the heat.
Son! I was just playing online scrabble and chatting on AOL when my computer started to melt! Did I break the internet???
--Less Thinkin', More Drinkin'...
If I remember rightly, Intel hasn't said they'll use this for consumer chips yet; all they've done is get a patent on the technology. For all we know, Sun might want to use this first.
Otherwise, I agree with you.
You are not the customer.
I don't think that the author of this article actually understands the patent in question. Specifically, the reference signal is absolutely not generated on the CPU die, as the author claims. Intel's new scheme is still dependent on the chipset's cooperation.
h tm l
Anyway, I won't go into anymore detail here, because I explain the patent and its implications for overclocking in the following Ars news post:
http://arstechnica.com/archive/news/1048630320.
Senior CPU Editor | Ars Technica | http://arstechnica.com/
This is not about embedding an oscillator on the chip. The article linked above implies this, but it's wrong. Please read the patent before making any claims about it. The reference pulse is generated by a special circuit in the chipset. This circuit uses either a ring oscillator or a quartz crystal.
Senior CPU Editor | Ars Technica | http://arstechnica.com/
I think he was refering to the Slashdot page, not the article.
He was saying that he could not read the comments (here) so that it was forcing people (slashdot reader) to read the linked article.
I'd rather be sailing...
This is Nigel, the owner of fastsilicon.com. As you probably already know, we are having some issues with our server at the moment. Thanks for your support. Now, focusing on the article... "I don't think that the author of this article actually understands the patent in question" This article was not written for the "l33t geek", but for the average "user" to understand. We have simplified many of the more technical terms. And yes, we fully understand what were talking about :)
I appreciate all your feedback.
This argument has gone around at least twice. The Pentium 75MHz was the first clock limited Intel cpu. If overclocked more than 5MHz or so it would just halt. This was not an overclocking crash, a literal halt of the cpu. When Intel started locking the multiplier on the P-IIIs, they cited the need to prevent people from selling overclocked systems. The suggested alternative was to place a speed identification in the processor just like the processor serial number they had just put into the P-III so people could use a utility to check the actual sold-as-speed against the running clockrate.
Intel balked at this. The only reason they would balk at that suggestion was because it didn't address their real concern. Their real concern is limiting you to a set level of performance that you pay for. It dosen't matter if you want to take a chance on a crash or invest in better cooling, they intend to control what you can do with the product.
Kindness is the language which the deaf can hear and the blind can see. - Mark Twain
Well the intel runs at 4X the system bus clock speed and needs to stay in exact synchronization. If the CPU was using it's own clock the CPU would eventually get out of in sync with the all the other stuff going on on the motherboard and you would have stuff happen like for instance, the cpu trying to grab data from a register that it expected to be there but it hadn't made it yet from the memory etc.
Intel (and most CPU makers') processors support the CPUID instruction. There is a method available on Pentium 4 processors and later that report the "factory" speed. What CPUID returns is determined by the values in EAX before the CPUID is executed. More information here.
Also, Intel does provide a utility to measure the current speed of the processor and report various other things like cache size and package type. Available here.
/*These comments express my opinions, not my employer's*/
This really depends on the exact wording involved.
There's a difference between a "2GHz P4" and a "P4 running at 2GHz." One is rated to run at 2GHz, one may not be.