If you were very young in the early 1990s, or were born after that time, you may have gotten the impression from some retro enthusiasts that certain CPUs labeled “486” aren’t really a 486 at all. Many will point to the fact that these chips have a 16-bit external interface to the mainboard and conclude that they can’t really be a 486. Others may point to their performance being in-between that of a 386 and a i486DX and conclude it’s just a tweaked 386. So what makes a 386, or a 486 for that matter, and are these retro enthusiasts right?
History & Technical Specs
Intel introduced the 80386 in 1985. The 80386, later called the i386 was a huge step forward from Intel’s previous generation of 16-bit microprocessors, the 8086, 8088 and the 80286. Intel extended the architecture & instruction set of the 80286 to 32-bits and added additional features such as a 6-stage pipeline, and an on-chip memory management unit. Intel also added 2 new operating modes (real mode, virtual mode) and extended the existing protected mode to allow for addressing up to 4GB of memory. Like the 80286, the 80386 did not have an internal floating point unit and instead had the option of adding an external math co-processor. Intel also added 16 new instructions to the instruction set of the 80386: BSF, BSR, BT, BTS, BTR, BTC, CDQ, CWDE, LFS, LGS, LSS, MOVSX, MOVZX, SETcc, SHLD, SHRD.
As soon as the 80386, (later rebadged the i386) was in production, Intel began work on the i486 microprocessor. The i486 was released in 1989 and was a more incremental improvement to the i386 design. Like it’s predecessor, the i486 was a 32-bit microprocessor based on the same instruction set, but with a few extensions and improvements. Intel added only 6 new instructions to the i486, ( XADD, BSWAP, CMPXCHG, INVD, WBINVD, INVLPG) but there were many other improvements. An 8k on-chip cache memory, what we now refer to as level 1 greatly enhanced performance. Intel also included an improved version of the memory management unit which further enhanced memory performance. Another improvement was tight pipelining which allowed for simple instructions to complete in a single clock cycle as opposed to 2 on the i386. The one change the i486 (DX) is remembered for is the integration of an on-chip FPU which did away with the need for an external math co-processor. This not only simplified mainboard design, but further enhanced the performance of the floating point unit.
Enter the competition
A relative newcomer to the x86 microprocessor market named Cyrix released their first 486 compatible CPU in 1992, just 3 years after Intel’s i486. Cyrix had previously produced a range of math co-processors known as “FasMath” for the 80286 and later i386. This new processor, the Cx486SLC was intended to be pin-compatible with the i386 and thus had some compromises made to fit the older CPU’s design. Like the lower end i386SX chips it was intended to replace, this meant it was connected via a 16-bit external bus and had a 24-bit address bus. Like Intel’s i486, the Cyrix chip also included an on-chip L1 cache, but unfortunately this was cut down to 1k in the initial version. The Cx486SLC did have a 32-bit internal data bus and supported 8, 16 and 32-bit data types as well as a fully i486 compatible instruction set. 1 month later, in April 1992 Cyrix introduced the Cx486DLC in a 132-pin package that was pin-compatible with the i386DX. This was a fully 32-bit chip, both internally and externally and thus wasn’t subject to some of the performance limitations of the earlier SLC design. While not intended as a direct drop-in replacement for the i386, the Cyrix chips could be used in older mainboards with some minor modifications. (Cyrix did later manufacture upgrade chips like the Cx486DRx2) What this really achieved was the production of Cyrix compatible boards that were cheaper to manufacture than i486 boards because they used older components common with earlier i386 systems. In 1992 Cyrix did not have an i486 (socket 3) pin-compatible chip available. This wouldn’t happen until a year later when the company launched the Cx486S and Cx486DX which included an on-chip FPU as well.
A 386 or a 486?
While the Cyrix Cx486SLC certainly bears some similarities to the earlier i386 due to their pin-compatible design, the chip is clearly not a 386. It has all of the instructions and features of the Intel chip, but in a cost-reduced, low-power design. Certain aspects of the MMU and FPU design on the Cyrix chips were ultimately inferior to the i486, hurting their performance, but this alone does not make them a 386. The form factor and physical limitations of the i386 SX packaging and performance taken together is likely what formed these opinions among many. However, taking a closer look at the architecture, it’s clear the Cyrix 486SLC/DLC and later 486 designs were true 4th generation x86 CPUs, though somewhat lower performing budget options. (clock for clock)
Put another way, calling a Cyrix 486 a “386” would be like calling the 8088 a “fancy 8080.” If you don’t get my reference, stick with me for a sec. The 8008, 8080 (and later 8085) were Intel’s earlier 8-bit line of microprocessors. They were much simpler than Intel’s first 16-bit CPU, the 8086, but used a similar base microarchitecture. The original IBM PC XT used the 8088 which was a 16-bit CPU like the earlier 8086, but was constructed with an 8-bit data bus similar to the earlier 8080 and 8085. This made it possible to build a system around the 8088 using much cheaper components than would be possible with an 8086. (see the similarities?) The 8086 was a far superior chip, clocked at double the speed of the 8088 and with a 16-bit data bus, but both chips were capable of running the same software. While the 8086 famously appeared in several popular systems like the original Compaq Deskpro and the Tandy 1000 SL/RL, it was the PC XT’s 8088 that kicked off the PC revolution.