Intel 486 Errata?

There don’t seem to be any specification updates or errata lists for any Intel 486 CPU anywhere. It’s odd because there are specification updates for 386s (and of course Pentiums) from Intel, and because the embedded 486s continued to be produced for a long long time (standard 486s well into the 2000s).

The 486 was released back when Intel believed that publishing errata would be damaging and it seems the policy was never changed, as it had been for the Pentium (after the infamous FDIV fiasco).

Someone, somewhere has the errata sheets. Anyone want to share?

The reason this is interesting is because a quick look at an early production 486 (S-spec SX308, late 1989/early 1990) revealed quite unexpected results when running a utility from Undocumented PC testing undocumented instructions. On this 486, two undocumented alternative TEST encodings were missing. Every newer 486, just like every 386, Pentium, up to current Core processors supports these. What else did the old 486s do differently? The poorly chosen initial CMPXCHG encoding is well known and inverse CR0 bit semantics are documented in Intel’s original datasheet, but those do not apply to the SX308 S-spec.

Related fun fact: Intel announced the 486 in April 1989 with 25 and 33 MHz speeds. Some take it to mean that these were actually available in 1989. Reading contemporary reports (c’t Magazin) reveals that the 25 MHz variant was very close to unavailable before 1990 and the 33 MHz version didn’t even exist.

This entry was posted in 486, Intel, PC history. Bookmark the permalink.

22 Responses to Intel 486 Errata?

  1. Yuhong Bao says:

    Fortunately I think the Intel NDAs by now have expired.

  2. Pavel Zagrebin says:

    The are at least four non-es s-specs produced in 1989: SX249, SX250, SX261, SX308.
    The earliest DX-25 I know is dated 39th week,
    as for DX-33 it is SX329 from 24th week of 1990.

  3. Michal Necasek says:

    Exactly. There were production 486s in 1989, but only late in the year and presumably not in large quantities. And 33 MHz didn’t even exist in ’89, which is why all the 33 MHz S-specs are later steppings.

    Do you have any information about what identification these S-specs returned in DX after reset? I only know my SX308 returns 0401h.

  4. Pavel Zagrebin says:

    DX-25:
    SX308 – 0x401
    SX328 – 0x402
    SX418 – 0x404
    DX-33:
    SX329 – 0x402
    SX419,SX729 – 0x404
    SX767 – 0x414
    SX810 – 0x415

  5. Michal Necasek says:

    Okay, but do you have any information beyond this page? 🙂

  6. Pavel Zagrebin says:

    Potentially – yes =)
    I have some s-specs marked as ‘Unknown’ and some not in the list, e.g. SX666.
    But currently have no time to test them.

  7. GL1zdA says:

    Intel states:
    1989-04-10 – 25 MHz
    1990-05-07 – 33 MHz
    1991-06-24 – 50 MHz

    Source – archived Intel website:
    http://www.landley.net/history/mirror/intel/quickrefyr.htm#1989

    I usually cross check it with what the big players had available.
    IBM PS/2 486 introductions (IBM was always late to the party):
    1989-12-19 – PS/2 Model 70 486 with 486DX-25
    1990-10-30 – PS/2 Model 90 and 95 XP 486 with 486DX-33
    1992-04-28 – PS/2 Model 95 XP 486 with 486DX-50 (also 486DX2-50)

    Compaq (who on the other hand adopted Intel CPUs pretty fast) Deskpro introductions:
    1989-11 – Deskpro 486/25
    1990-06 – Deskpro 486/33L
    1991-06 – Deskrpo 486/50L

    http://www.auburn.edu/~boultwr/compaq1.pdf

    It seems only the 486/25 had a half year difference between introduction a availability.

    Maybe someone can find more references like these.

  8. GL1zdA says:

    Edit: Actually the Deskpro 486/50L shipped 1991-10. I think this part (486/50) had bad reputation for its hit dissipation.

  9. Michal Necasek says:

    Intel clearly can’t keep track of its own stuff as usual. The original April ’89 i486 datasheet (240440-001) lists 25 and 33 MHz clock speeds. The timings are watermarked as “advance information” for both of them. The advertised “106 Mbyte/sec Burst Bus” is clearly noted as being applicable to 33 MHz operation. So… no, the 33 MHz part was not announced in 1990. But I will note that the term “introduced” is ambiguous.

    Even today it’s not uncommon that there are differences between Intel CPUs being announced and available, and availability can predate announcement. As far as I can tell, the dates Intel listed really meant: April ’89, 25 and 33 MHz 486 announced; May 1990, 33 MHz 486 available. The availability of the 25 MHz part is hard to pin down but going by the Deskpro 486/25 release date seems reasonable. Sometime in late ’89 for sure.

    The other problem is that was not so uncommon for a system to be on the price list and available for ordering but wouldn’t be delivered for months. That’s something which might be mentioned in contemporary press but not marketing materials.

  10. Michal Necasek says:

    I definitely remember the DX-50 to have a reputation for being unreliable. I’m not sure if it was more the heat or the 50 MHz bus operation. The DX2-50 was almost as fast and did not have those problems.

  11. Michal Necasek says:

    Another data point – the November ’89 i486 datasheet describes the 486 as we know it (that’s the 2nd revision of the datasheet). The original April ’89 edition does not. That matches the Nov ’89 release of the Deskpro.

  12. Richard Wells says:

    The change in the Nov. 89 datasheet is not too surprising. Comp.risks RISKS DIGEST 9.52 includes an article (credited to Computer Design Nov. 1989) about Compaq discovering a FPU bug involving simultaneous use of sine, cosine, and tangent functions. Both Compaq and IBM halted shipments briefly in late 1989 so announcement and production dates have a discrepancy.

    Another half dozen 486 bugs are covered in Robert Hummel’s book. Not a primary source alas but useful enough for a space holder.

  13. Michal Necasek says:

    I’ll check my Hummel. Thanks for the reminder!

    This also has some interesting info: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.17.1767&rep=rep1&type=pdf Unfortunately no real detail, mostly refers to other sources.

    I wish I knew how to get hold of old Microprocessor Report issues.

  14. Miod Vallat says:

    Regarding the DX50 heat, one should remember that the earliest DX50 systems were assembled without even a heat sink on the processor, which turned out to be a huge mistake. Adding a heat sink and a small fan allowed the DX50 to run hot, but reliably.

    By the time DX2/50 were introduced, all “fast” 486 designs were using heat sinks as a minimum, and a fan was strongly recommended.

  15. Chris M. says:

    The DX50’s bad reputation likely came from VESA Local Bus machines. VLB wasn’t all that stable at 50Mhz, but worked fine at 25/33Mhz. Many high end EISA workstations had no problem running the DX50.

  16. Yuhong Bao says:

    VLB did not exist until 1992, after the 486DX-50.

  17. Richard Wells says:

    Over on Usenet back in the mid-90s, about every 6 months a new thread would be created complaining about the difficulties of having 50 MHz 486 system with VLB.

    InfoWorld, Jan 20 1992, has a comparative review of 486-50 models. A sidebar section explains why 3 other systems were not included in the review; see page 100. The initial June 1991 486-50 was recalled for heat problems and replaced in October 1991 with an improved design.

  18. Yuhong Bao says:

    As a side note, I wonder what errata the hal486c.dll works around in Windows NT.

  19. Octocontrabass says:

    IBM documented some 486 errata in the October 1990 version of “PS/2 Hardware Interface Technical Reference – Common Interfaces”.

    Here’s the relevant chapter: https://ardent-tool.com/docs/pdf/ibm_hitrc13.pdf

  20. Michal Necasek says:

    Thanks for the reminder. BTW it’s interesting that they only list the 386 “anomalies” for the B1 stepping, which I don’t think was all that widespread in 1990, and was rejected by some 32-bit operating systems.

    The 486 section is interesting because only two of the four listed items sound like errata, the other two are just warnings along the lines of “the 486 may execute code faster than you expected”.

  21. As I remember it from the magazines from back in the day, the problem with the 50 MHz 486s was mostly about the early motherboards not being stable at such bus speeds. I think there were some motherboard recalls even going on.
    With VLB, it definitely was a problem as well. I can remember articles on VLB being able to support only one expansion card at 40 MHz, and difficult to get going at all at 50 MHz. I don’t know how reliable these articles were (and my memory either! 🙂 )
    No wonder 486DX2/4 settled at the bus speeds of 25/30/33 MHz, with 40 MHz being used mostly for overclocking and some more rare AMD models, and 50 MHz not being used at all (except for extreme overclocking).

  22. Michal Necasek says:

    With VLB there was an added complication in that the expansion cards also needed to support the bus speed, not just the CPU and motherboard.

    I don’t really understand the electrical details but going beyond 33 MHz was clearly problematic, and PCI stuck with 33 MHz until many years later when 66 MHz PCI became common.

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.