Game Development Reference
In-Depth Information
About the Hardware
Games have had multiple processors since the early 1990s, but the processors were
very dedicated things. They were a part of audio hardware first, and then in the
mid to late 1990s, the advent of dedicated floating-point (FPU) and video processors
revolutionized the speed and look of our games. Both were difficult for programmers
to deal with, and in many ways, most game programmers, except for perhaps John
Miles, the author of the Miles Sound System, were happily coding in a completely
single-threaded environment. They let the compiler handle anything for the FPU
and pawned tough threading tasks off to gurus who were comfortable with the
reader/writer problems so common with sound systems.
The demands of the gaming public combined with truly incredible hardware from
Intel, IBM, and others has firmly put those days behind us. Mostly, anyway. The
Nintendo Wii is the only holdout of the bunch, sporting a single-core PowerPC
CPU built especially for the Wii by IBM.
The other consoles have much more interesting and capable hardware. The PS3 has
a Cell processor jointly designed by IBM, Sony Computer Entertainment, and
Toshiba. The main processor, the Power Processing Element, or PPE, is a general
purpose 64-bit processor and handles most of the workload on the PS3. In addition,
there are eight other special-purpose processors called Synergistic Processing
Elements, or SPEs. Each has 256KB of local memory that may be used to store
instructions and data. Each SPE runs at 3.2GHz, which is quite amazing since there
are eight of them.
To get the best performance out of the PS3, a programmer would have to create very
small threads on each one to handle one step of a complicated task. That last sen-
tence, I assure you, was about 1,000,000 times easier for me to write than it would
be to actually accomplish on a game.
The Xbox360 from Microsoft has a high-performance processor, also designed by
IBM, based on a slightly modified version of the Cell PPE. It has three cores on one
die, runs at 3.2GHz each, and has six possible total hardware threads available to the
happy engineer writing the next Xbox360 blockbuster.
While it doesn
t take a math genius to see that the PS3 Cell processor seems to have
the upper hand on the Xbox360 Xenon, from a programming perspective, the Xenon
is a much friendlier programming environment, capable of handling general purpose
threads that don ' t need to fit in a tiny 256KB space.
'
 
 
Search WWH ::




Custom Search