Intel Inside!

Karl Jeacle

This article aims to give some understanding of the Intel family of processors currently used in IBM PCs and compatibles. We'll go from the early 8086 right up to the latest 80486 and take a look at the differences between all these chips and how they've evolved. We'll also have a look at how CISC and RISC compare in MIPS!

Way back when...

The first IBM PC was based around the Intel 8086 --- a 16-bit chip. It was a true 16-bit chip in the sense that it could handle 16 bits at a time both internally when processing, and externally when talking to devices such as memory or disks.

However, since many peripherals at the time used only 8-bit technology, Intel produced a cut-down version, called the 8088, which was 16-bit on the inside, but 8-bit on the outside. This meant that internally it was identical to the 8086 and could handle 16 bits at a time, but when talking to the outside world would only speak 8 bits at a time.

An 8087 maths coprocessor was availble for these chips to boost floating point operation.

The next major step forward by Intel was the 80286 processor as used by the IBM PC-AT. This offered significantly improved performance over the 8086 and it too was a true 16-bit chip. Its maths coprocessor was called the 80287.

PC performance took a leap when the 80386DX was launched. This was a full 32-bit chip, both internally and externally; and it was expensive. Once again, Intel made a cut-down version --- the 80386SX. It was the same scenario as back with the 8086. While PC processing power was increasing in leaps and bounds, improvements in the rest of the system were moving more slowly, and most peripherals were now using 16-bit technology. Hence the new SX chip would compute inside with all 32 bits, but would then talk to everyone else 16 bits at a time.

Once again, a maths coprocessor was available seperately --- the 80387.

Now comes the fun... the i486. The i486DX was another leap forward in performance. Like the 80386DX it was a full 32-bit chip, but it also boasted on-board cache memory (to aid in talking to slow main memory) and built-in floating point maths coprocessor! Once again, this was expensive, so Intel decided it was time for another cheapie for the masses. The i486SX was born. Pick up any PC magazine these days and about 80\% of PCs advertised will contain one of these.

To cut costs, the i486SX does not contain the maths coprocessor. That is available, as with all chips before the i486, as an optional extra, this time called the i487SX. Fine --- have to cut the cost somewhere. You get what you pay for, right Intel?

Well, believe it or not, the i486SX is actually just an i486DX with the maths coprocessor circuitry disabled! Not only that but the i487SX is an i486DX with the main processor circuitry disabled!

Many have claimed this is all a marketing scam on Intel's part. But let's face it: if you're running off thousands of i486DXs and some have defective CPUs and some have defective FPUs, instead of destroying them, why not just rebadge them as i486SX or i487SX?

Hopefully, the table below summarises most of the above:

-------------------------------------------------------
| Chip Name      |Internal|External| FPU      | Class |
|----------------|--------|--------|----------|-------|
| 8086           | 16-bit | 16-bit | 8087     | PC-XT |
| 8088           | 16-bit | 8-bit  | 8087     |       |
|----------------|--------|--------|----------|-------|
| 80286          | 16-bit | 16-bit | 80287    | PC-AT |
|----------------|--------|--------|----------|-------|
| 80386DX        | 32-bit | 32-bit | 80387    | `386' |
| 80386SX        | 32-bit | 16-bit | 80387    |       |
|----------------|--------|--------|----------|-------|
| i486DX         | 32-bit | 32-bit | included | `486' |
| i486SX         | 32-bit | 32-bit | i487SX   |       |
-------------------------------------------------------

Into OverDrive with the Clock Doublers

Recently things have become more complicated with the advent of the `clock-doubling' DX/2 and OverDrive chips. These chips operate at twice the speed internally as externally. Analagous to the idea of using full 32-bit operations while computing inside, and then stepping down to 16-bit when communicating with memory, these `clock-doubling' chips operate at, say, 25MHz externally with the rest of the system, but run at 50MHz internally --- the idea being to go as fast as you can when you're not relying on anyone else, and only slow down when you have to. This is all a bit simplified, but you should get the general idea.

The DX/2 is a replacement for i486DX chips. As yet, it's not pin compatible and comes on a plug in board. A 50MHz DX/2 system will operate at speeds somewhere between those of 33MHz and 50MHz true i486DX systems.

The OverDrive chip is a drop-in replacement for i486SX systems, although it is usually just plugged into the maths coprocessor socket. For not only does it provide this clock doubling feature, but it also contains an FPU. It's all about upgradability --- you can start off with a 16, 20 or 25MHz i486SX system and at later date almost double performance by adding an OverDrive chip.

Meaningless Instructions Per Second

So where do the Motorola chips we all know and love fit into this picture? It's not a good idea to compare chips from two entirely different families, but to get a rough idea, a base Amiga's 68000 would be lie somewhere between an XT's 8086 and AT's 80286. The 68020 would match an AT's 80286, and the Amiga 3000's 68030 would be close to your average 386 clone. Finally, the NeXT's (and future generation Amiga's) 68040 chip is on a par with the i486.

As I said above, you can't really compare chips from different families very accurately. It's only okay for rough ballpark figures. It's also important to remember (when doing any comparision) what clock speed each chip is running at. While it is generally okay to assume that a i486 will be faster than a 386 and a 386 faster than a 286; in terms of system performance, it's possible for, say, high-end highly clocked 286 systems to outperform low-end 386 systems with low clock rates. This isn't always the case, but it can happen.

Both the Intel 80x86 and Motorola 680x0 series are CISC chips --- Complex Instruction Set Computing. Following on from this, you've probably also heard about RISC chips and ratings such as MIPS. RISC stands for Reduced Instruction Set Computing, while MIPS stands for Millions of Instructions Per Second.

RISC chips are used in most `workstations' from vendors such as Sun, DEC and IBM. The theory goes that instead of a chip providing lots of complex instructions for use by programmers, why not instead provide fewer less complex instructions which execute much faster, but can be combined in different ways to provide all the functionality of those fancy instructions offered by a CISC chip? The end result is a chip which is arguably less easy to program in assembly, but executes programs much faster; and since most code is written in a higher level language (such as `C'), who cares what's underneath?

This leads to the MIPS ratings. Vendors love to tell you how many MIPS their latest processor can do. Again, MIPS ratings are all well and good when comparing processors in the same family, such as two Sun SPARC chips, or two RISC chips in DECstations. But start comparing MIPS ratings between manfacturers' RISC chips or even worse, between CISC and RISC chips and your wasting your time.

What you have to remember is what kind of instructions these chips are performing. If the instructions are so `reduced' or so simple than you have to perform, say 5 instructions on your RISC chip to do something than would only take you 1 on your CISC chip, then you'd have two chips which might run equivalent applications at the same speed, while one was rated at 5 MIPS and the other at 25 MIPS! The same holds true, to a lesser extent, between two RISC systems: one RISC chip might be a little more RISC than the other.

Conclusion

It's all too easy to get hung up on benchmarks and MIPS ratings; you have to remember that if a cheaper/slower machine can do what you want to do the way you want to do it, then forget about how fast Joe Bloggs' machine can run at. Pick the machine that does what you want.

I find that this is especially the case with the Amiga. My 2000 is no speed daemon compared to many machines I've used over the years, but what counts is that just about anything I'd want to do with a computer, I can do on my Amiga, and that's why I bought it...