The faster you make a computer run, the harder it is to envision how
to make it run still faster. It is no longer sufficient to just make the
architecture process instructions faster. You must make more things
happen at once—that is, in parallel. The computer is not running
faster—it is simply getting more done at once.
The Itanium architecture employs a new parallel computer
architecture called explicitly parallel instruction computing (EPIC).
Intel Corporation’s first hardware implementation of this architecture
is the Itanium processor. EPIC offers many new features to increase
performance, but the most important are explicit instruction level
parallelism (ILP), speculation, predication, and a large register file.
Each of these makes a computer run faster.
But what do you do with all this parallelism? The traditional problem is
that we never have enough work ready to keep a machine fully busy. If
we have all this power, the key is to not throw it away by letting it go
unused. Anytime the processor is ready to do six more things, we don’t
want to give it two things to do and waste 66% of the processing power.
A breakthrough happens when you decide to stop worrying about only
doing things we must. The approach is to ask the machine
speculatively to do four more things. That is, things are picked that
might be needed in the future, but right now we just aren’t sure which
of the four it will be. Let us say that the four extra things turn out to
be needed only half the time. We are still better off than if we had
asked the processor to do nothing. Half of the time the work is done
by the time it is needed.