Understanding the Hardware – The X-CPU

As PC hardware enthusiasts you already understand quite a bit about the fundamentals
of building a high-performance gaming console. You first understand that the
concept of "bits" is much more of a marketing tool for videogame consoles
than anything else. You'll find uneducated discussions all over the net about
the Xbox's inferiority because it is only a "32-bit" console whereas
even the N64 was a "64-bit" console. Remember that a 64-bit processor
would give developers larger registers and greater memory addressability among
other features, most of which are not useful for a gaming console at this time.
An understanding of what those bits are in reference to is key to doing what
we always like to do, separating the truth from the marketing.

The Xbox does indeed feature a 32-bit CPU; this CPU has actually been the topic
of much controversy surrounding the Xbox. Not too long ago, Microsoft was looking
for a CPU manufacturer to supply the Xbox with CPUs and of course the top runners
were the CPU manufacturers that Microsoft was most friendly to: AMD and Intel.
AMD was supposedly offering a K7 derived part while Intel had a Coppermine based
solution. Supposedly as a surprise to everyone at AMD, Intel won the bid for
the Xbox and was allowed to produce a derivative of the 0.18-micron Coppermine
core for the console.

The CPU that powers the Xbox is a Coppermine based Pentium III with only 128KB
L2 cache. While this would make many think that the processor is indeed a Celeron,
one of the key performance factors of the Pentium III that is lost in the Celeron
core was left intact for this core. The Coppermine core was left with an 8-way
set associative L2 cache instead of the 4-way set associative cache of the Celeron.
Based on what we've seen with the Coppermine and Coppermine128 (Celeron) cores
we estimate that the 8-way set associative L2 cache gives this particular core
a 10% performance advantage over the Coppermine128 core of the Celeron.

The fact that Intel decided to go with a 128KB version of the Coppermine core
indicates that there is a way of disabling half of the L2 cache without modifying
the mapping associativity. We fully expect the Xbox's CPUs to be nothing more
than Coppermine processors with half of their 256KB L2 cache disabled.

The other aspects of the CPU remain unchanged; the core does not have SSE2
support, only support for Intel's SSE instructions. It still has a 16KB L1
instruction cache and 16KB L1 data-cache and also very important is its 133MHz
FSB. We've proved time and time again about how critical a high-speed FSB is
to overall system performance, and the situation is no different inside a gaming
console.

The 0.18-micron CPU is contained within Intel's mobile FC-BGA package that
is soldered directly onto the Xbox's motherboard. This not only prevents anyone
from attempting to upgrade the CPU but it also reduces the space necessary for
the CPU.

The BGA back of the Xbox CPU. Note the size of the CPU compared to a quarter.

The CPU itself runs at 733MHz which would make you think that Microsoft could
have done much better with a solution from AMD. However if AMD had supplied
a 200MHz FSB processor with a L2 cache similar in size to the Duron, then the
performance of an equivalently clocked solution from AMD wouldn't have outshined
this Coppermine-derived processor too much. The other thing to take into consideration
is heat and power supply requirements. In order for the Xbox to be taken seriously
as a gaming console and not just a PC in a black case it would have to be no
louder than a DVD player and put out no more heat than an A/V receiver. It
is a widely known fact that the Coppermine core runs significantly cooler and
with lower current requirements than the Athlon/Duron cores.

So although on the surface it seems as if Microsoft may have made the wrong
decision with the Xbox's CPU (we even thought so at first), if you think about
it, the decision isn't all that bad.