Most computer enthusiasts know Intel for their famous x86 CPU architecture that powers most
of today's desktops and laptops. But did you know that not so long ago, Team Blue actually tried to kill off x86 entirely?
If you're not sure what I'm talking about, maybe the name I-tanium will ring a bell?
Eh? Probably not for a lot of you. This was an all-new architecture and CPU brand from Intel that made its debut back
in 2001, and was billed as being so efficient that it would just naturally come to dominate
the market at some point. But these days, you can barely even buy an I-tanium CPU anymore.
So what was the big idea? Let's start as we always do with a little bit of history.
Back in the 1990s, Hewlett-Packard was looking at ways to make CPUs more parallel, but instead
of sticking more cores onto a CPU or using hyperthreading, HP wanted to simplify the
architecture by having software determine what order to execute instructions in, instead
of having the CPU do the heavy lifting and hardware.
The hope was that this would free up processing resources to execute more instructions in
parallel, ultimately making for a more powerful, energy efficient CPU.
HP took the new architecture, which was called Epic, no not that one, to Intel, which then
helped develop it further into IA64, the architecture used in I-tanium.
I-tanium was also Intel's first attempt at a 64-bit processor and actually hit the
market before AMD's first 64-bit CPU, Opturon, which released in 2003.
HP and Intel felt confident that I-tanium would become popular in the server and workstation
settings and go on to overtake x86 in home PCs as well.
There was even a version of Windows specifically written for I-tanium's architecture.
So why did it flop so badly? So it turns out that trying to determine what instructions the CPU should run in software
is a lot trickier than HP and Intel thought it would be.
Typically, the CPU has a specialized group of circuits called a scheduler that determines
what order to run instructions. The scheduler can make these decisions much more effectively than software can, since
the scheduler can make adjustments based on when exactly the CPU is trying to access the memory.
This can't be done effectively in software, since you can't figure out when the CPU is
accessing memory ahead of time. And because the software would pre-schedule instructions, I-tanium CPUs suffer from stalls
quite frequently, slowing them down. There was also the issue that even though I-tanium's architecture was intended to be the way of
the future, Intel still had to do business in the present, and the vast majority of software
for servers and workstations was written for x86 or other non-I-tanium architectures.
Running these programs on I-tanium meant that they had to be emulated, which introduced
a huge amount of performance overhead. And to make matters even worse for I-tanium, the aforementioned Opturon from AMD was released
two years later. Although Opturon was also 64-bit, it used the X8664 instruction set, the same one that
powers the chips that's probably sitting in your home PC right now.
And as the name implies, it's natively compatible with x86 since it was essentially built on
top of it. So the folks running x86-based servers and workstations had a far easier time upgrading
to Opturon instead of I-tanium for their 64-bit fix, making Team Red's offering much more
popular. Intel, quickly realizing that I-tanium wasn't going to catch on, instead implemented X8664
into their own Xeon lineup of server processors, which went on to become very successful.
So Intel actually let Xeon cannibalize the I-tanium lineup to a large extent, and I-tanium
became relegated to niche markets only.
Intel did actually keep developing new models of I-tanium chips until 2017, but despite
the fact it hung on for quite a while, it never made up more than a small fraction of
Intel CPU sales. So what's the lesson here?
If you're trying to reinvent the wheel, make sure you have a car to stick that wheel on,
or at least like a tricycle.
We're not really good at metaphors.