DTACK REVISITED

Pushy? Me??

Hal W. Hardenbergh

Hal is a hardware engineer who sometimes programs. He is the former editor of DTACK Grounded, and can be contacted through the DDJ offices.


Once upon a time, a young boy helped out at the family-owned neighborhood grocery store. This was back when people would buy coffee beans at the store and grind them at home. It was a working-class neighborhood, and the goods the store carried reflected that fact. Most folks bought their coffee beans from the mid-priced bin. But the grocery also had a higher-priced bin for the professionals who were customers, and a lower-priced bin for widows, retired persons, and others who were financially distressed.

In the morning, before the store opened for business, the grocer would fill all three bins from the same large bag of coffee beans.

When WW II broke out and all the men my father's age went off to war, I was five years old and began to "help" my grandfather run his grocery store in extremely rural Alabama. So I could claim that it was my grandfather who filled those bean bins. It might even be true. But I wasn't all that observant when I was five; I read this story in the L.A. Times op-ed section a couple of decades ago.

Summary

For those of you who are short on time, here's a summary of this issue's column: Intel's 75-, 90-, 100-, and 120-MHz gold-top Pentiums all come out of the same bag. That's a fact. And there's a rumor of black-top 75-MHz parts that come out of the same bag as 133-MHz Pentiums.

What this means is that if you happen to own a 75-MHz Pentium system with conventional fan/heat sink cooling, it will almost certainly run very nicely at 90 MHz, and it might run as fast as 120 MHz. And if you have a black-top part (assuming these actually exist), it may run at 133 MHz--or even faster! Honest.

This column, then, is about clock pushing. I'm going to explain the manufacturing, testing, and marketing practices used by all microprocessor makers (not just Intel) that make clock pushing possible and even desirable. And ethics are involved; there's white-hat and black-hat clock pushing.

A Quick Pentium Review

The original P5 used 0.8m design rules, dissipated a lot of heat, and initially had a poor yield at 66 MHz, so 60 MHz was what was generally available. Early last year, Intel's Liexlip, Ireland 0.6m fab plant began producing the P54C. This fab originally had a poor yield above 90 MHz, so 100-MHz Pentiums were in short supply. In fact, Intel at first only made enough 100-MHz parts for board and system manufacturers to qualify their designs. As with any semiconductor production line, the center of the statistical yield kept moving up, until 100-MHz parts became commonly available. This year, Intel's Rio Rancho, New Mexico 0.45m fab came on line, and by June, you could buy 133-MHz P54CS Pentiums in local clone shops, not just from the major brand-name vendors.

Meanwhile, the 0.6m fabs are producing faster parts. In recent months, Intel has been shipping 120-MHz parts produced at both its 0.6m and 0.45m fabs. This brings us up to date as of September 1.

Let's look at a 0.6m fab producing 75- to 120-MHz parts. What's the difference in the production process? There is no difference. In fact, on a given wafer, one die may turn out to be a 120-MHz part, and the die next to it, a 75-MHz part.

Testing and Grading CPUs

Here's how the parts are tested and graded: Individual dies are first given a functional test using a special test head with needle-like contacts. This is done at a very low frequency to keep power consumption down, since a bare die can't dissipate much heat. This initial screening eliminates nonfunctional dies before they're mounted, since the ceramic package used for Pentiums is expensive.

After the die is mounted in the ceramic package, speed grading begins. Qualifying a Pentium takes several minutes--the exact time is proprietary information. (Andy Grove recently pointed out that the depreciation on one Pentium test station runs $1.40 per minute!)

Why Do CPU Speeds Vary?

There are three reasons why microprocessors that come off the same production line don't all run at the same speed:

This stuff all acts statistically. There's no way to predict in advance which die will run at all, much less at which speed. Expensive test equipment must be used to determine which CPU will run at which speed. As time passes, there's a "learning curve," and the fab's production equipment is improved/upgraded from time to time. This means that the center of the "yield" moves steadily upward. Originally, the 0.6m P54C fabs could not economically produce 100-MHz parts. Now the same fabs ship 120-MHz parts.

Marketing: The Blue Suede Shoe Dept.

Next we turn to marketing. Because 60- or 66-MHz Pentiums are no longer mainstream, Intel has "positioned" (a marketing term) the P54C/75 against AMD's DX4 parts. That means the 75 must be sold at a competitive price, in this case, just under $200. And Intel wants to get a good price for its faster CPUs, so it sells the P54CS/133 for about $800 (leaving room under $1000 for the upcoming 150-MHz Pentium).

So the production process produces a variety of speed mixes, and Intel needs to be able to sell Pentiums at different price points. If you aren't familiar with the semiconductor industry, you might logically assume a one-to-one correspondence between production and marketing. This is not the case.

Try a thought experiment: The yield at each Pentium fab turns out to be 100 percent at the maximum frequency. Does Intel send letters to customers rejecting their purchase orders for 75-, 90-, and 100-MHz parts? Of course not! Intel would--and does--have no choice but to mark the faster parts as lower-speed grades and sell them at the lower prices.

Testing the Speed Mix

Here's how the process works: Intel assigns each fab its weekly (monthly?) production quotas, based on what the customers want to buy. (If the customers want to buy the "wrong" speed mix, the price list is adjusted for the different speed grades.) So we start at the test stations with large stacks of freshly ceramic-packaged Pentiums. These raw parts are tested at the top frequency (120 MHz at the 0.6m fabs) until that production quota is met. This leaves a significant number of functional parts that fail to pass the 120-MHz test, along with a lot of untested parts.

Next, testing is performed at 100 MHz. A lot of the parts that failed to make the 120-MHz grade pass this time. When the 100-MHz quota is met, some functional parts have still failed the speed test, but not nearly as many as before. The yield at 100 MHz is probably about 90 percent, assuming the chip is functional at all.

After 90-MHz testing, there are practically no functional rejects, since the yield at 90 MHz is probably about 99 percent.

Almost all of the Pentiums that are finally tested at 75 MHz are raw parts not previously tested at a higher speed. If they pass at 75 MHz, as they certainly will if they are at all functional, they are stamped "75 MHz" and shipped to the customers.

But we know that statistically, those 75-MHz parts have a 99 percent probability of being perfectly good 90-MHz parts, a 90 percent probability of being good 100-MHz parts, and a much smaller, but real, chance of being 120-MHz parts.

This Stuff is a Secret

Intel doesn't want you to know this. Because if you're like me, you'll change the jumpers on your motherboard to a higher clock frequency to see if the system still runs. Since the motherboard and its chip set will have been designed to accommodate the full range of Pentium clock frequencies (if you purchased your motherboard separately, which is why you should do that), there is a really good chance that your 75-MHz Pentium system will run at 100 MHz or so. Without costing you any more money.

All CPU makers want to discourage this. So they'll tell you that overclocking the CPU will irrevocably damage it. Oh, yeah? Then why do parts that fail the initial 120-MHz test later get retested at 100 MHz, and even re-retested at 90 MHz if necessary? Huh? Huh?

What Color Hat?

Now for the ethics of clock pushing. I insist that if I pay for a 75-MHz P5 system, it's my property. If I want to experiment with jumper settings on my Pentium motherboard, I'm wearing a white hat. There may be some black-hat folk in Taiwan. Lots of Pentiums, of all speed grades, are sold to Taiwanese PC makers. It is alleged that some of those folk are doing their own speed-grade testing of "75-MHz" Pentiums, grinding off Intel's markings, and relabeling the chips as faster parts. Never mind that the parts are probably fully functional as relabeled; these vendors would be misrepresenting the chips as being Intel tested and Intel guaranteed.

About those black-top P5/75s: If there's anything to this rumor, Intel may be selling Pentiums from its 0.45m fab to meet its sales requirements for 75-MHz parts. You see, it's cheaper to make a part on a 0.45m line than on a 0.6m line because the die is smaller. Thus, there are more dies--and fewer silicon defects per die--on that wafer, and the center of the yield is at a higher frequency. In fact, I'm personally looking for a black-top 75-MHz part myself, to replace the CPU I'm using right now.

Countermeasures

CPU vendors will sometimes try to make sure their cheaper CPUs aren't pushed to higher frequencies. One way is to use a plastic package, as IBM/Motorola did on the PowerPC 601. Power dissipation goes up with frequency, so a plastic-packaged CPU can't be "pushed" very far. Another is to glue a small heat sink to the top of a ceramic package so that one of those $7 fan/heat sinks can't be mounted. Like the plastic package, this limits the heat the package can dissipate. This is not a good way to go except in a portable system; if a CPU in the crippled package is reliable at (say) 75 MHz in a room that's not air-conditioned, then it will be acceptably reliable in an air-conditioned room at a considerably higher frequency.

Practical Advice

For two years, my #1 system used a CPU that Intel sold as a DX2/66 part. I pushed it to 80 MHz and it ran all that time with never a hiccup. I recently switched to an AMD DX4/100 motherboard which, naturally, is running at 120 MHz. You have to be willing to experiment on your (not AMD or Intel's) property.

When experimenting, don't forget to use the advanced CMOS setup to adjust the L2 cache and DRAM wait states, and so on, to their slowest timings. If the "pushed" CPU works with these settings, advance them one at a time, over several days, to determine which timings work at the new CPU clock speed. Don't worry about this; an upgraded CPU clock is far more important than a slightly degraded timing parameter.

I've participated in pushing four AMD DX4/100s to 120 MHz. Two would not run reliably, one needs to boot with a slow clock but otherwise seems fine, and one--the one in my #1 system--runs fine, period. This jibes with the fact that AMD is shipping a few DX4/120s, but they seem to be scarce, indicating a low yield (for now).

Tokenism

Back to my grandfather's grocery store: The smallest unit of U.S. currency then was the "token," worth one-tenth of a cent. This aluminum coin was switched to plastic as the war progressed. At the war's start, you could get a cold bottle of cola from a vending machine for a nickel, equivalent to 50 tokens. Right now you can't (in my neighborhood) get a cold cola for the equivalent of 50 pennies, which means the penny is now worth less than a token was in the early 1940s. The token disappeared after the war when the price of a cold cola went up to a dime. I expect the penny to disappear soon.


Copyright © 1995, Dr. Dobb's Journal