x86 is both the generic name given to the family of
microprocessors
based upon (and
backwards compatible with) the
Intel 8086, and the
instruction set architecture (ISA) implemented by these
CPUs. The
x86 ISA has been extended many times over the years and today barely
resembles the 16-bit architecture introduced in 1978. It is by far the
most dominant ISA for
personal computers, and has also made inroads
in the areas of
high-performance computing and
embedded systems.
The
initial success of x86 was tied to its use in the original IBM PC
5150 in the form of the Intel 8088. The unexpected success of the
IBM PC and its eventual series of (compatible) imitators brought the
8088 and its ISA along with them, establishing x86 as one of the
prominent microcomputer architectures of the 1980s. Its main
competition came in the form of the Motorola 68000 and its
successors, whose minicomputer-derived architecture was widely
considered to be superior to x86 and its descent from the grubby
8-bit processor architectures of the 1970s. The 68000 architecture
would go on to power the main competitors to the PC architecture,
including the Macintosh and the Amiga, until its replacement by
PowerPC in the early 1990s.
In the end, what powered x86 past
its competition was not any intrinsic advantage in the processor
itself, but the PC-AT system architecture and its accompanying
MS-DOS and Windows operating systems. The freely-available hardware
specifications and promiscuously-licensed OS fueled a broad,
competitive hardware marketplace that drove prices down and
availability up, regardless (and often despite) the limitations of the
8088 and successor 80286 processor architectures, that the
single-vendor competitor systems ultimately could not keep up with.
The
x86 architecture was updated to overcome many of these limitations with
the introduction of the Intel 80386 in 1986. The 386 extended the ISA
to 32 bits and, in 32-bit, backwards incompatible mode, did away with
several of the most egregious limitations of the original x86 ISA. Most
important of these was the awkward memory addressing system of the
8088 and 80286, familiar to MS-DOS users through the distinctions
between 'conventional memory', 'expanded memory', and 'extended
memory'. 32-bit mode replaced this with a straightforward 'flat'
address space similar to the 68000. Though coprocessors for floating
point math had been available since the early days of the PC, the 386
era saw the math coprocessor become much more common; with its
integration on to the main CPU with the 486, these 'x87' coprocessors
added their own (ugly) instructions to the x86 architecture.
With
a power struggle over the replacement of the ISA system bus
removing IBM from central guidance of the PC architecture and the
death of all competitors except the now PowerPC-based Apple
Macintosh, the x86 architecture consolidated its hold on the general
computing market in the early 1990s. The rising Windows operating
system carried x86 with it wherever it went, despite ports of Windows
NT to PowerPC and Alpha machines, and with IBM no longer the
central touchstone of new PC hardware, Intel became the face of the
core PC architecture. The seeming double monopoly of Intel on the
hardware side and Microsoft on the software side led the PC platform to
be redubbed 'Wintel', a term used equally as a neutral description by
its proponents and as a derogatory term by its detractors.
The
continuing ugliness of x86 and unreliability of Windows led many to
predict/hope for a new, more modern platform to supplant the Wintel
hegemony. By this point, x86 was the only processor architecture
remaining from before the 'RISC revolution', where it was found that
simplifying the set of processor instructions allowed better hardware
and software efficiency. Aesthetically, the RISC designs that competed
with x86, with their 'less is more' philosophy, were much better
embodiments of good engineering practice and thus deserved to win the
day.
However, x86 processors were re-architected to benefit from
the strength of RISC processor design, scrapping the original
micro-architecture for the combination of a RISC-like execution core
with a translation unit that converts the ugly CISC x86 instruction stream
into a series of clean, simple RISC-style instructions. This allows the
ugliness of the x86 instruction set to only have a constant effect on
the overall performance of the processor, rather than requiring the
main processor core to be complicated by its requirements. This
constant penalty was originally quite large, but as Moore's Law has
provided ever greater amounts of computing power, it has dwindled to
near meaninglessness.
The Wintel core in the otherwise
highly-competitive PC marketplace was broken in the late 1990s and
early 2000s. In 1999 AMD, a longtime manufacturer of Intel-compatible
processors, released the original Athlon, an x86-compatible processor
comparable, for the first time, with Intel's best and most expensive
processors. The Athlon entered a long period of competition with
Intel's Pentium III and later Pentium 4 processors, with the end
result that AMD was comfortable introducing the next major step
for the x86 ISA: x86-64, which extends the ISA to 64 bits while
eliminating more of its limitations.
In the meantime, the
upstart Linux operating system had mostly destroyed the older
proprietary UNIX systems and has now been positioned as the strongest
competition to Windows on its own hardware platform. Also, in 2006,
Apple abandoned PowerPC and rebuilt the Macintosh on top of a
PC-architecture Intel-based machine. While the Mac OS will still only
run on custom Apple hardware, it is a testament to the power of the
commodity x86 architecture that the Mac made the difficult transition.
Overall,
the focus on backwards compatibility in both hardware and software has
allowed x86 to become the standard architecture that it has. Change in
the computer market, despite the manifold claims of computer companies,
is generally gradual, with backward compatibility at every stage
allowing people to adopt the new without discarding the old. This is
true for both hardware, where the ISA bus lived long past its
replacement by PCI, and in the world of proprietary software, where
simple recompilation for a new architecture just isn't so simple. The
PC architecture and the x86 processor at its core have evolved into
something vastly different than they were initially, while retaining
backward compatibility so that old hardware and software can be kept,
if not forever, then at least for a little longer. Having now defeated
all competition in the personal computer market, x86 is now moving up
to challenge SPARC and Itanium in large-scale server, and also down
to challenge the ubiquitous ARM microcontrollers in the embedded
device market.