Mystery CPUID Bit

Yesterday I had the opportunity to test a recently acquired Athlon 1200 CPU (Thunderbird core, ceramic PGA package). I dreaded the first boot-up attempt because I have had rather bad experience with slightly newer Palomino and Thoroughbred OPGA processors—a surprisingly high percentage of them was DOA.

AMD Athlon Model 4 (Thunderbird), 2001

But the Thunderbird Athlon (two of them actually) with OPN A1200AMS3C sprang to life and worked just fine. While running some basic tests on the CPU, I noticed that it has a completely unknown CPUID bit set, specifically bit 18 in register EDX of CPUID leaf 80000001h.

The 8000xxxxh CPUID range was originally AMD specific and, among other things, used to indicate support for the 3DNow! instruction set in the AMD K6 processors.

When Intel introduced AMD64 support, they were more or less forced to support a subset of the 8000xxxxh CPUID range as well, for compatibility with existing AMD64 software. In any case, the Athlon CPU in question is from 2001 and pre-dates Intel’s x64 processors by several years.

The usually very reliable sandpile.org lists EDX bit 18 as “reserved”. I went through available AMD CPUID documentation but nope, bit 18 is listed as “Reserved on all AMD processors” in all the documents I could find.

Even better, AMD’s CPUID documentation lists the actual CPUID values for specific CPU models. For Athlon Model 4 (Thunderbird), CPUID leaf 80000001h register EDX is listed as C1C3_FBFFh when APIC is enabled. But the actual CPU returns C1C7_FBFFh in EDX—there is a one-bit difference, and it is precisely the mystery bit 18.

The fact that a random CPUID bit in the middle of used bits is “reserved” is usually a very good indication that the bit was used for something at some point, but either it never showed up in officially released CPUs or it briefly did (like this mystery bit 18) but was not documented.

Note that bit 19 was used to indicate multi-processing capability (or maybe really ECC memory support) in the Athlon MP, circa 2002. Bit 17 indicates PSE-36 (Page Size Extensions) and appears to have been added in Athlon Model 2 circa 1999. Bit 17 in the extended CPUID, like most of the lower bits, mirrors bit 17 in the “regular” CPUID (leaf 1, register EDX), defined by Intel.

Bit 18 in standard CPUID was used to indicate the short-lived PSN (Processor Serial Number) feature of Pentium III processors. However, it is unlikely that Athlon Model 4 implemented some sort of serial number capability, so the bit’s purpose was almost certainly something else.

So… what was that bit 18 for? Anyone?

This entry was posted in AMD, K7, PC hardware, Undocumented. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.