Learn Something Old Every Day, Part XIX: Athlon XP May Be Athlon MP

Quite a while ago, I acquired a dual-socket (Socket 462 aka Socket A) board for the Athlon MP, AMD’s first entry into the multi-processor/multi-socket market. Over the course of several years, I spent quite some time searching for the board in my basement, to no avail. Until a few weeks ago I finally found it… while looking for something else, of course.

The board is a Tyan Thunder K7X Pro (S2469). It’s a nice board designed for 1U servers (it has angled DIMM brackets). The board supports up to 4GB registered PC2100 DDR DRAM (with or without ECC), it has three regular and two 64-bit PCI slots, and an AGP Pro slot. There’s an onboard ATI Rage XL graphics chip and Intel 10/100 as well as Intel Gigabit Ethernet. No onboard SCSI, which was a manufacturing option. There’s also an onboard ATA-100 controller with two channels.

The board interestingly supports both EPS12V and regular ATX (20 + 4 pin) power supplies. That is somewhat important because earlier Tyan Athlon MP boards (e.g. the very similar S2468) require ATX-GES power supplies, which are neither standard ATX nor EPS12V. And I have too many oddball PSUs already.

Unfortunately, Athlon MP processors are nowadays rather difficult to find at a reasonable price or at all, and they are even more difficult to find in pairs. So I ended up with one Athlon MP 1800+ and also several Athlon XP 1800+ processors.

Athlon XP 1800+, or is it really Athlon MP?

It is well known that Athlon XP and Athlon MP processors used the exact same core and it was possible to convert Athlon XP CPUs to the MP variant by restoring a bridge that was laser-cut during manufacturing. This hack was known at least since 2003.

It is not clear to me that AMD ever released any Athlon MPs or XPs with CPUID 660h/661h (Family 6, Model 6, Stepping 0 and 1). If so, the XP and MP models would have been indistinguishable from each other.

For the updated Athlon Model 6 with CPUID 662h (Revision A5), AMD added a CPUID bit identifying the CPU as “Multiprocessing Capable”, kind of. This was bit 19 in the extended feature flags (CPUID leaf 8000001h, register EDX).

However, AMD’s CPUID document (Publication #20734 Revision T from January 2002) includes this rather curious footnote for bit 19 of the extended feature flags: AMD reserves the right to report a “0” or a “1” for all other model 6 processors which are not tested, supported, or intended by AMD to be used for operation in multiprocessing platforms.

In other words, the Multiprocessing Capable flag (bit 19) will be definitely 1 on Athlon MPs with CPUID 662 or later, but it may be 1 on Athlon XPs as well. Which means that software cannot distinguish between an Athlon MP and an Athlon XP with the Multiprocessing Capable flag set.

Why AMD would confuse things like this is not clear. However, there is clear evidence that AMD’s CPUID note is right, and Athlon XPs may or may not set the Multiprocessor Capable CPUID flag.

As mentioned in the XP to MP conversion article, the key is the L5 bridge on the CPU. For newer K7 Athlons with the Thoroughbred and Barton cores, the bridges are described in great detail here, including the L5 bridge. I believe that the L5 bridge worked the same way on Palomino processors as well. First let’s take a closer look at those bridges.

Configuration Bridges

It is apparent that AMD used the bridges so that CPUs could be packaged, binned, tested, and then configured to report the right multiplier and voltage identifier (VID). However, the bridges were also used to turn a processor into a Duron, Athlon, or Athlon MP, and also determined “desktop” vs “mobile” identification.

The only functional difference between Athlon XP and MP that I could find from comparing the datasheets is that the latter supports ECC. However, if ECC is not enabled in the system, that can hardly make any difference. Even if ECC is enabled, a modified Athlon XP might work just fine, but it was presumably not tested and the ECC support could theoretically be faulty.

In fact, some AMD CPUID documents name the above mentioned extended CPUID bit 19 as ‘ECC’, which is surely not a coincidence (only to complicate things, the bit may have a different meaning on Sempron processors with 333 MHz and faster FSB). Note that bit 19 got de-documented circa 2005 and only appears as “reserved” in current AMD CPUID documentation. The bit was apparently never used by Intel and also wasn’t used by AMD Opteron (K8) and later processors.

XP or MP?

I have a small selection of Athlon MPs and XPs. On Athlon MPs, the L5 bridge has the middle two (out of 4, numbered 0 to 3) conductors cut, that is, conductors 1 and 2 are cut. On Athlon XPs, conductors 1, 2, and 3 are cut. Except on some Athlon XPs, only conductors 1 and 2 are cut, exactly like on an Athlon MP!

An Athlon XP that acts like MP, with only 2 paths in L5 bridge cut

For comparison, this is what the L5 bridge looks like on a “real” Athlon XP which does not report any multiprocessing capabilities:

A true Athlon XP with 3 paths in L5 bridge cut

That is to say, some Athlons were labeled XP but were in fact functionally indistinguishable from an equivalent Athlon MP. The confusion seems to apply only to Palomino (Model 6) Athlons. According to newer AMD CPUID documentation from September 2004, Thoroughbred (Model 8) and Barton (Model 10) Athlons consistently set the Multiprocessing Capable (aka ECC) CPUID bit as one on Athlon MP and zero on Athlon XP.

Note that Duron processors were apparently affected as well. Palomino Duron CPUs (Model 6 or 7) may or may not set the Multiprocessing Capable CPUID bit.

Identifying Athlon MP

From the above it should be apparent that identifying an Athlon MP in software is difficult to say the least. Older Athlon MPs (CPUID 660h/661h) do not offer anything at all to distinguish them in software. Newer Palomino Athlon MPs with CPUID 662h do, but some Athlon XPs may look identical.

I could not find any evidence that Athlon MPs with CPUID 660h or 661h were ever released. According to cpu-world.com, even the earliest 1000 MHz Athlon MPs were already revision A5 with CPUID 662h.

The processor identification issue is further confused by the fact that firmware must program the right processor identification string into the processor. That is quite logical: Since the bridges are used to configure a CPU, the processor itself only contains a generic name string. The firmware must in effect figure out how the bridges are set up and derive the correct processor name string from that information.

For detecting multiprocessor capable CPUs, AMD offers curious advice in their December 2005 CPUID document: If the Northbridge of the platform’s core logic is an AMD-762™ controller (IGD4-2P), the processor is operating in a multiprocessing (workstation/server) platform.

In other words, multiprocessing capability might not be determined based on the actual CPU, but rather on the platform. Users are trusted to only install Athlon MPs in dual-socket platforms. A CPU which may be reported as “Athlon MP” in a dual-socket system could be an “Athlon XP” in a single-socket system.

BIOS on the Tyan S2469

The BIOS on my Tyan Thunder K7X Pro is somewhat schizophrenic. In the POST and boot summary screens, it always identifies the processor as Athlon MP. However, the actual name string programmed into the CPU may be “Athlon XP”, at least for Model 6 Athlons without bit 19 (the ECC bit) set.

The BIOS also checks that the ECC bit is set before enabling multi-processing. If both processors do not have the ECC bit set to indicate multiprocessing support, the BIOS complains and refuses to enable SMP:

A true Athlon XP won’t work in a SMP configuration

When both processors have the ECC bit set (whether they are labeled as Athlon MP or Athlon XP), the BIOS boots without complaints:

Athlons with ECC bit set can do SMP

What’s What?

It is possible to distinguish “true” Athlon XPs from their MP-like brethren in software. The MP-like specimens will have the ECC aka Multiprocessing Capable bit set in extended CPUID (the feature is called ‘mp’ in Linux /proc/cpuinfo).

Even better, it is also possible to distinguish the MP-capable Athlon XPs by visual inspection, as shown in the photos above. The L5 bridge is clearly labeled and visible on the top side of the CPU. If only the middle two connections are cut, the processor reports the Multiprocessing Capable (ECC) bit. If the rightmost three connections are cut, the ECC bit will be clear and the CPU identified as an Athlon XP regardless of the platform it’s in.

It is possible that the confusion is really a terminology issue, reflected in the fact that the CPUID bit that’s supposed to distinguish between Athlon XP and MP is called both “ECC” and “Multiprocessing Capable” in AMD documentation. While the CPUID bit was in practice used to check whether a CPU is MP-capable, in reality the bit indicates whether the CPU supports ECC or not. However, ECC has nothing to do with multiprocessing, except that MP-capable processors intended for workstations and servers generally support ECC, while desktop CPUs often don’t.

Perhaps early in the Palomino production run AMD tested all processors for ECC functionality, and the L5 bridge was configured to reflect that, rather than multiprocessing capability.

It is plausible that the real difference between Palomino Athlon XPs and MPs was not so much functionality as the fact that the MP parts were binned to have a lower TDP and higher temperature grade.

As seen in this table, Palomino Athlon MPs were all rated for 95°C while Athlon XPs had a 90°C rating. At the same time, AMD limited the TDP of Athlon MPs to 66W (Palomino) and later 60W (Thoroughbred/Barton) while Athlon XPs could go above 70W. This was no doubt done in order to keep problems with power supply and especially cooling of dual-socket systems under control.

Finally all Athlon MPs used 266 MHz FSB, even Bartons which normally used 333 or 400 MHz FSB in the Athlon XP variant. That was no doubt done because the only northbridge that supported Athlon MPs, the AMD-762 chip, only supported 200/266 MHz FSB.

How Common Was This?

It is obviously very difficult to say how many Athlon XPs were in fact configured to report themselves as multiprocessing capable. The only data point I have is that out of nine Athlon XP 1800+ processors randomly acquired on eBay, seven are MP-capable. This was determined by visual inspection (L5 bridge) and a CPUID check (ECC bit is set, software may report that the CPU is an Athlon MP even if the string programmed by BIOS is Athlon XP).

I don’t know if most Palomino Athlon XPs were really Athlon MPs in disguise. But it’s entirely possible that maybe half of them or more were configured as MP-capable. In any case, the MP-capable Palomino Athlon XPs do not appear to be rare.

Based on the production dates of the few CPUs I have, it is possible that earlier Palomino Athlon XPs made in late 2001 and early 2002 were often or always configured as MP-capable, or maybe really ECC capable, while Palomino Athlon XPs made sometime in the second quarter of 2002 and later were consistently not MP-capable. I do not have solid evidence for this theory, but it would make sense if MP-enabled/ECC-capable Athlon XPs were a mistake that AMD corrected later in the production run.

In my small sample, Athlon XPs with steppings AGKGA, AGNGA, and AGOGA are configured as MP capable, while the two specimens with AGOIA stepping are not. That may or may not be a coincidence; I don’t have a large enough sample to make any real conclusions.

Summary

For older Socket 462 Athlons (Palomino), distinguishing between MP and XP variants in software is a fraught process.

Older PGA Athlons offer no software-visible distinction at all. Firmware and software can only check whether the platform is MP-capable (if the northbridge is an AMD-762 chip, the only chipset supporting dual Athlon MPs) and hope that the user installed the correct CPU.

Newer (Revision A5) Palomino Athlons do have a CPUID bit (ECC) which is set on all Athlon MP processors. However, for unclear reasons, the bit is also set on many early Athlon XP processors, which are then indistinguishable from Athlon MP-labeled CPUs in software. It is unclear what functional difference, if any, there is between Athlon MPs and equivalent Athlon XPs configured to report ECC support.

Newer Socket 462 Athlons (Thoroughbred and Barton) should not suffer from this problem; the ECC CPUID bit value ought to exactly correspond to the MP/XP designation.

Update: After writing this post, further information came to light regarding ECC support in K7 processors. To summarize, Slot A Athlons always supported ECC. For Socket 462 processors, AMD decided to make ECC support optional, and ECC capability was advertised via extended CPUID bit 18, never officially documented. For Model 4 (Thunderbird) Athlons, AMD quietly deleted information about ECC support from the datasheet. For Athlon XP, ECC support was never documented.

A marketing decision was made to tie ECC support to multiprocessing capability, advertised by CPUID bit 19. However, there is no actual technical difference between MP-capable and “regular” Athlons, since they all have a built-in local APIC and the same bus interface. The real difference is ECC support. That may be how some CPUs other than Athlon MP ended up with bit 19 set.

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

6 Responses to Learn Something Old Every Day, Part XIX: Athlon XP May Be Athlon MP

  1. Zir Blazer says:

    > Note that Duron processors were apparently affected as well. Palomino Duron CPUs (Model 6 or 7) may or may not set the Multiprocessing Capable CPUID bit.

    I think this line is wrong. There was no Model 6 Duron. Palomino based Durons were the Model 7 Morgans, and Model 8 was Applebread, which was essentially Thoroughbred silicon. Heck, I even recall some people modding those to unlock the full 256 KiB Cache L2, same with Thorton @ Barton mods.

    While looking for things related to Athlon ECC support, I found some references to a “Duron MP”:
    https://www.computerbase.de/news/prozessoren/kein-duron-mp.4783/
    That one claims that AMD completely removed the Duron MP from their roadmap. The closest previous roadmap I found is this:
    https://ascii.jp/elem/000/000/323/323710/
    https://ascii.jp/img/2001/06/06/110154/l/68163aaba2ab3f02.jpg
    That image footnote says “Athlon MP’s future roadmap”. And is clearly Morgan and Applebread. So I assume than that was the Duron MP.

    What I don’t have clear was whenever reviewers were sampled with those Duron MP, because this one apparently is reviewing that (Or they called ALL Morgans Duron MP?):
    https://web.archive.org/web/20050207115609/http://firingsquad.com/hardware/dualduron/page2.asp
    > This puts the Duron MP in a very unique position. On one hand, it still doesn’t have as much L2 cache as the Thunderbird but it does have improved caching techniques, SSE instructions and is fully sanctioned by AMD to run in a dual processor configuration.

    So Morgan based Durons being intended for Dual Processors with AMD changing stance at the last moment was apparently a thing.

    Something similar happened with Athlons XP, which is the one you mention:
    https://arstechnica.com/civis/threads/athlon-xp-will-no-longer-be-mp-capable.919050/
    > The initial batch of Athlon XP chips shipped out to distribution were unlocked and this was not suppose to happen. Within a week or two, these unlocked CPUs will be phased out, or recalled. I’m not sure what will happen but AMD has confirmed that the Athlon XPs will be locked very, very soon.

    Not sure if anything concrete will come out of that info.

  2. Zir Blazer says:

    Also, a small annendum: Duron Morgan has reviews available since August 2001 and Athlon XP Palomino in October 2001. So Duron was released first. The FiringSquad review is dated October 11, 2001, so they did the Dual Duron review for Athlon XP launch.
    Apparently the Palomino based Mobile Athlon 4 was released earlier than both, in May. I wonder if anyone tested those in a desktop Socket A Motherboard before official Athlon XP Palomino release, since it should have been possible (Mobile Athlons XP were common among enthusiasts forums).

  3. Zir Blazer says:

    And yet another annendum:
    This guy claims that he was reviewing an Athlon MP Palomino in August 2001, and he called it an Athlon 4 cause it still didn’t had an official name:
    https://www.realworldtech.com/athlon-palomino/
    Athlon XP naming was apparently announced in September:
    https://www.theregister.com/2001/09/18/amd_names_next_athlon_after/

    Perhaps the whole bridge thing is because AMD did a last minute rebranding of Athlon MP stock.

  4. Michal Necasek says:

    That review is talking about “Duron” and “Duron MP” separately, and indeed it sounds like “Duron” was the older Spitfire and “Duron MP” was Morgan. Similarly it talks about “Athlon Thunderbird” vs “Athlon MP” (Palomino) with no mention of non-MP Palomino Athlon.

    I suppose it is possible that the original plan was for all the Palomino-core desktop CPUs to be “MP”? That might explain the confusion. Then AMD decided to segment the market and have separate MP and XP models, even though they were built from the exact same silicon. And of course the Duron MP was dropped entirely because the target market wasn’t big enough.

    It is pretty clear that with both the CPUID bit 18 and 19, there were some last minute changes. Which resulted in bit 18 never being documented and bit 19 being initially nearly useless.

  5. Zir Blazer says:

    Even more:

    https://web.archive.org/web/20011006060539/http://www.theinquirer.net/24080105.htm
    > SOURCES A GOSSAMER WING away from AMD have confirmed that the firm is still on plan to produce MP Durons, as we reported earlier in the year.

    > In fact, as the source said, the Morgan Durons that were released last week will sit in your Tyan Guinness, Budweiser or Budvar (but not Foster) boards, and run quite happily.

    This one is from August, so “last week” is about the timeframe of the FiringSquad Dual Duron review. So what was released in August could NOT be the actual Duron MP, since it states that they known to be coming later?

    https://web.archive.org/web/20030223113904/http://www.e-insite.net/electronicnews/index.asp?layout=article&articleid=CA186702&pubdate=12/17/01

    > Last Monday was supposed to be the day when Advanced Micro Devices Inc. (AMD) launched its value Duron processor brand into the server market. However, the Sunnyvale, Calif.-based company pulled back on the launch and suspended it for an indefinite period, saying that its Athlon MP brand of processors is currently serving the needs of its customers.

    > One of the key reasons for the pullback of the Duron for workstations and what AMD calls appliance servers could be that the chip was not qualified, Brookwood said. Workstations and servers have certain performance parameters that don’t necessarily transfer from the PC world.

    This one is from December 2001. So the plain Duron Morgan was already out for months and seems the Duron MP was quietly cancelled around the expected release date.

    Duron MP being a thing is pretty much confirmed, and may explain the BIOS Duron MP strings and other leftovers. Seems AMD wanted to target Abit BP6 Dual Celeron users there, heh. Yet I’m now confused because without old roadmaps is hard to make a consistent timeline based on what was expected to be launched, and what AMD actually launched, so you have to reconstruct the order from random articles…

    I did thought about the simplicity of having only the Duron MP/Athlon MP lines with AMD deciding to do market segmentation with the Athlon XP for Uniprocessor much later causing the whole MP bridge being enabled mess, but I remember mentions of a non-MP Palomino being expected to be released after the MP one, with its name being the only thing not being known. Thus if a non-MP desktop Palomino was expected from before the Athlon MP launched, Palomino/Morgan lineup being only the two MP branded lines with XP being a later addition is already a discarded scenario.
    Before the above two links, I also thought that Duron = Duron MP, but seems to not be the case, it was just that since it worked as MP anyways they were considered virtually the same thing, which is why the FiringSquad review may have called it “Duron MP” even when it was not the actual official product, but there couldn’t be any other major possible difference. It seems that AMD original plan always was to have 4 separate lines (Plain Duron and Athlon MP released first, with the Duron MP and Athlon 4/XP Uniprocessor versions coming later). I assume that if some old roadmap can be found it can be confirmed what was the expected release order and if they were 4 from the beginning with the Duron Morgan being in two different lines (Duron and Duron MP) then AMD decided to drop the entire Duron MP leaving the three known ones.
    Perhaps the problem here is that AMD realized that there was no point on having non-MP and MP lines if all were MP enabled anyways, and decided to enforce it. Sort of like when the AXP clock multipliers became locked at some point.

    Sometimes you just wish that an AMD insider gave you the complete timeline…

    Also, you have a missing link: What was the Mobile Athlon 4 bridge configuration? Was it MP enabled, even though for Mobile it doesn’t make any sense? These were standard Socket A so they should work on a desktop board. Putting mobile SKUs on desktop became very popular by the time of the higher binned Mobile Athlon XP-M, but I don’t recall if anyone did that with the Mobile Athlon 4 (BIOS support would have been a problem because it was months before Palomino went desktop).
    Are these photos high resolution enough to see bridge configuration? Anything useful here?
    https://www.cpu-world.com/CPUs/K7/TYPE-Mobile%20Athlon%204.html

  6. Michal Necasek says:

    Hah, my Tyan board (Thunder K7X Pro) seems to be called Paulaner. Definitely a theme there.

    Yeah figuring out the timelines of canceled products is tricky, unfortunately. I mean the information was not necessarily public and who knows how much in the third party articles was verified information and how much was guesswork (or just plain old mistakes).

    Looking back I do think that “Duron MP” is kind of a strange idea. So I’m not surprised they dropped it. The one thing I still don’t understand is what was supposed to make a K7 processor “MP-capable”. As far as I can tell, they all were, and CPUID bit 19 was an artificial distinction. As I mentioned in the article, the only real difference about Athlon MPs that I could find (besides supporting ECC) was that they had lower TDP.

    I have not looked into the Mobile Athlon bridges really. I also see AMD managed to confuse things in a most excellent manner because “Mobile Athlon 4” was actually a Palomino, aka Athlon Model 6. One thing I can quickly see is that the L5 bridge was also used to configure mobile/desktop, but it’s not entirely clear to me if the bits were independent of each other or not. So… maybe some mobile CPUs could be convinced to report themselves as MP-capable?

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.