A 16-bit bus does not a 386 make…

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.

Retro Hardware Youtubers… stop opening hard drives!

Being a child of the 70’s and retro computer enthusiast, one of the things that I learned early in my computer technology journey was just how high precision hard disk drive (HDD) technology was and why you should never attempt to take one apart. (if you want it to continue working anyway)

An HDD works by hovering a tiny set of magnetic coils (the read/write head) over the surface of a spinning disc coated in iron oxide. For this to work effectively, the head needs to be positioned extremely close to the surface of the disc. Back in the 1960s when these devices were a relatively new invention, the discs and heads were quite large, but the gap between them was a relatively tiny 6 microns! (that’s 6 micrometers, or 6 thousandths of a millimeter!) Today that gap is an order of magnitude smaller at just 5nm! (5 nanometers, or 5 thousandths of a micrometer!) To put into perspective just how small that is, a strand of DNA molecules is just 2.5nm in diameter or half the distance a modern hard drive’s head floats above the surface of a disk spinning at between 5,000 and 10,000 RPM for typical applications today. That takes an incredible degree of engineering and manufacturing precision.

You may wonder how it is that the head stays in perfect alignment just above the surface of the disk platter? The secret is air. As the disc spins it flings the air molecules inside the drive in the direction of rotation and this in turn creates a cushion of air molecules the head(s) float on without actually touching the disc itself. This effect has a drawback though, it requires a completely pristine environment free from any particles of debris such as dust or other contaminants. This is the reason hard drives come as a brick-shaped metal enclosure sealed with multiple screws, both to protect the sensitive internal mechanism and to keep out contaminants.

This leads to why it bothers me so much to see youtubers taking older drives apart, often just to check the mechanisms are in good working condition. The problem is that even if you manage not to break anything, you’re still corrupting the environment by breaking the seal and introducing dust into the formerly pristine environment of the drive’s internal mechanism. The average dust particle is only about 5 microns or so, but that’s plenty big enough to crash the heads of these older drives from the 1980s and early ’90s which typically floated their heads at about 70nm from the surface of the disc. Even a 1 micron dust particle would be massive by comparison at 1000nm, more than enough to knock the head off it’s cushion and slam it into the surface of the disc. A head crash can cause serious physical damage to the both the magnetic coating of the disc and to the read/write heads. Each instance creates more debris and spots on the disc where data is no longer readable.

So, with all that said, if you’re a retro hardware enthusiast, please think twice before taking apart that old boat anchor of a hard drive before determining if it works or not. It’s not like there are a ton of working examples out there in the first place. We should preserve those that may still work instead of just assuming they’re all trash.

Trash to treasure

After repairing my 486SLC-33 motherboard, I’d been thinking about fully re-creating my first 486 machine (mostly) as it was when new. I still have the case and most of the original hardware, but I wanted another ISA VGA card so I wouldn’t have to give up the one I use for testing on other projects. Due to a mistake on my part while price shopping, I ended up ordering a somewhat rare and desirable one, but which was listed as scrap. Had I noticed that, I would have ordered one of the others with a slightly higher price. All I saw was that it was a Tseng ET4000AX powered Diamond Speedstar Plus and I was sold. This was one of the better ISA cards of the era and I wanted it in my restoration build.

Damaged ET4000AX chip

When the card arrived, I unwrapped it and it looked ok at first. Then I noticed something odd with the main chip and looked closer… something had impacted one of the rows of pins (likely the edge of another card) and crushed them in against one another. Maybe they aren’t touching I thought. I popped it into my 486 board and powered it up, but to my dismay, the card didn’t work right. After realizing my mistake, I decided I was going to try and fix the card. I got to work with some small

needles and thin-bladed tools and gently started working my way in-between the crushed pins. I was able to separate them all from each other, but ended up ripping two of them off the pads in the process. The first was an easy fix with the soldering iron… the second one, not so much. The second one to rip off the pads was badly bent and fearing that it would break if I handled it too much, I just bent it up and over the chip package.

I wondered if maybe this pin wasn’t used because it didn’t seem to connect to anything. (little did I know it actually bent backwards and linked up to a trace underneath the chip) I plugged the card in, only to find that while it did show video now, it was flashing and glitching. This was going to be more challenging than I thought.

Thankfully I’d experimented previously with bodge wires to fix broken traces that had either been damaged or corroded away. There was just enough of a trace visible at the edge of the chip that I might be able to solder something to it with a fine point tip. I exposed the copper edge of the trace and prepared a bodge wire with some solder. After a few tries I managed to connect the wire to the trace and then soldered the other end onto the pin that had been bent up and over the body of the chip. After protecting it with some Kapton tape, I plugged it into the board, and still nothing. Bummer, I thought… this thing is toast.

Never one to give up, I came back and looked up any information available on the card. I’d been playing with it and had noticed that it would work when I was in the BIOS, but if I tried to let it boot, it would lock up the machine. I noticed that the default setting enabled a “Turbo” mode. Maybe this was too advanced for my my machine? I flipped the appropriate DIP switches,

My repaired Diamond Speedstar Plus, ISA VGA card

and what do you know… it worked like a champ! I’ve since put a few hours of run time on it and it’s been rock solid. It may not look as good as new, but it works and will do the job I intended it to.