Both Sony and Microsoft would like their products to sit next to your television-serving all manner of content from games, to music and movie downloads. The potential market is huge, the money pot at the end of this rainbow, astronomical. While the business of consoles is intriguing, this article will take a look at what’s inside one of the two, so-called, “next-generation” offerings-Microsoft’s Xbox 360.
The architecture of the Xbox 360 is unique in many aspects but hardware alone does not make a system. Some would say that the Xbox 360’s unique strength lies with its LIVE component-an online matchmaking service, a marketplace, a gaming playground, all rolled into one-LIVE is what makes the 360. We will thus a brief look at both these aspects of the console-the hardware and the software.
Sins Of The Father
Back when Microsoft was kicking around the concept of the first Xbox, the team in-charge of bringing the console to fruition did not have the luxury of time-they were already launching after the PlayStation 2 and they needed to get the product out at once or lose market traction. Due to this, the Xbox was practically made up of off-the-shelf computer parts: a slightly modified Intel processor, some memory, a Seagate hard drive, a slightly modified NVIDIA video chipset, thrown together in a huge, ugly cabinet. It wasn’t the prettiest of engineering but it got the job done: the Xbox sold around 24 million units by the end of its life, running second to Sony’s behemoth and overtaking Nintendo’s Gamecube by a small, but significant margin. Mission accomplished, the Xbox brand was etched into the psyche of console gamers, rap artists, and PC gamers tired of the upgrade-and-patch dance of PC games.
Almost immediately after releasing the Xbox, Microsoft got to work on its successor. The almost four years of head-start that the 360 would thus get, was instrumental in the design that the Xbox 360 now sports-inside and out. It also allowed Microsoft to correct a major drawback that the original of the species had: Microsoft did not own the IP to any of the Xbox’s internals-Intel owned the processor, NIVIDIA the graphics chip. Microsoft thus had to rely on two third-parties to supply essential elements of the console, and was dependent on their whims and manufacturing capabilities to cut prices or throttle production as needed. With the Xbox 360, Microsoft owns both the processor and the graphics chip, and has the flexibility to set up fabrication plants, drop prices, and shrink processors as and when needed.
Original Of The Species
The Xbox 360 is unique in several aspects. The most benign of which is that the 360 is the only console to simultaneously launch across the three major gaming markets of USA, Europe and Japan. More interesting is the unit’s hardware design. It seems to do a fine job at balancing raw power, flexibility and ease-of-use. It is also the potential proving ground for some new school of thought, schools rather-be it unified memory architecture, procedural rendering or unified shader architecture. The 360 is also the first gaming console which pays attention to its software user interface. It is a far cry from the ugly brick which was its predecessor-the unit has a pleasant white exterior, a concave body, a chrome DVD tray, and the ring of light-a circle of LEDs which indicate wireless controller and unit status.
The cool new Xbox controller
The sleek looking Xbox360
Let us begin this dissection from within, from the core of what makes the 360 so unique.
Microsoft approached once-rival IBM to design the processor of the Xbox 360. The resulting processor is a three core unit for which IBM borrowed design ideas from the Broadband Processor Architecture (BPA) that produced the PlayStation 3’s Cell processor. The 360’s processor, codenamed Xenon consists of three identical cores to one side, each with 64 KB of L1 cache (32K for data and 32K for instructions) and a large 1 MB of L2 cache which is shared by all three cores, on the other side. Each of the cores has two hardware threads for simultaneous multithreading (SMT); the entire processor can thus process a total of six hardware threads simultaneously. This multithreaded approach is vital to keeping the parts constantly fed-something that increases processor and power efficiency as well as parallelising disparate tasks across the processor cores.
Traditionally, cache is meant to act as a holding unit for frequently used data, such that the processor need not travel all the way to the system’s main memory to fetch and process information which is often used. Under the Xenon however, the 1 MB of L2 cache plays a much more interesting and flexible role: it is possible to use the cache in the traditional sense but it can also be shared between the processor and the graphics chip of the Xbox 360. This is a very unique architecture which allows a programmer to push content from the L2 cache to the GPU, much like a FIFO queue (First In, First Out). The L2 can thus be used as a temporary storage for the GPU.
Before we head further into the 360’s core, let’s take a look at one of the new “schools of thought” which we alluded to earlier in this piece. If you have followed Will Wright’s upcoming PC game called Spore, you are probably aware of the concept of procedural content. The idea is simple: free the artists from producing high-resolution art assets and content, and utilise hardware and software to churn out the same. A typical game is bound to contain repeated content-in a title such as Grand Theft Auto III, for example, you will see trees, lampposts, fire hydrants, trash bins and so on, being used throughout the game. Presently, a game uses the same model and texture for each of these common objects and repeats them throughout the title. The result is a bland, uniform look to a game, which reduces the immersion.
Procedural creation of content would take a template of an object, run it through a processor and churn out a finished product in real-time. Traditionally, a game developer would have to hire a team of artists to produce say, trees, then put them on disk, feed them to the computer memory and then put them out to the graphics chip for rendering. With a procedural approach, the developer would only need to define the tree mathematically and ship this information on disk. The Xbox 360 would then read this mathematical template, send it to its processor where one of its six hardware threads would process and produce the required vertices of the tree, based on the mathematical template. These vertices would then be fed to the GPU for rendering and output-greatly reducing art content, developer costs, and even bandwidth requirement.
Such a procedural approach is not limited to geometry. It can also be used for animating game objects: specifically, the game developer need only define key frames for an animation, letting the Xenon generate the transition frames for completing the animation. The processor can also be fed key differences between two frames-for example, only certain parts of an object might change between two consecutive frames, the processor can be fed only the difference frames greatly reducing the content requirement and alleviating bandwidth needs to push the content.
Finally, the Xenon can tessellate an object: A 3D object within a game is represented via vertices and polygons. What might be a smooth soccer ball in real life is composed of a collection of triangles within a game-the smoother you want the ball to look, the greater the number of vertices needed. It takes more data to represent an object as a collection of triangles, than it does to represent it as a bunch of smooth curves. Tessellation is the process of breaking up a curve into a bunch of representative triangles. The Xenon can perform tessellation in hardware, thus significantly accelerating the process. A game can thus ship with curve information on an object, and take less space; the Xenon can subsequently use that information to generate the final object. This real-time tessellation can also be used for dynamically throttling the level of detail on an object: take the soccer ball as an example-when viewed from a distance, the number of polygons which comprise the ball can be reduced, as you approach the ball, the polygons can be automatically increased to give the ball a smoother look.
Oblivion showcases procedurally generated trees and foliage
Currently, not a lot of titles use the procedural tools afforded by the Xenon’s architecture. The RPG title Oblivion is perhaps the only one to use the trick to some effect. It employs a third party tool termed SpeedTree which procedurally generates the trees and the foliage which populate Oblivion’s vast landscape. But even Oblivion does not use it in real-time. Perhaps as time goes on, more titles will employ the idea.
A Unified Approach
Microsoft decided to award ATI the contract for the Xbox 360’s graphics processing unit (GPU). ATI is thus making the graphics part for two consoles this generation-the C1 or Xenos for Microsoft’s Xbox 360 and the “Hollywood” chip for the Nintendo console, called Wii (pronounced “We”).
Xenos, much like its neighbour Xenon, is a unique chip in many aspects.
On the PC, a graphics card divides its real-estate between vertex shaders and pixel shaders-hardware units which act on vertices of a 3D object and on individual pixels, respectively. This traditional architecture has its limitations. In a given game scene, it is never clear how much the vertex shader or the pixel shade would be employed, although current titles tend to lean heavily on the pixel parts. Thus, efficiency comes to question: a scenario in which a pixel pipeline is waiting for the vertex shaders to finish, or vice-versa is quite common. This leads to idle-time, wherein either of the two shader units is in essence twiddling its thumbs, waiting for the other to finish. This is a waste of power, not to mention of the transistors which comprise the idling unit.
A workaround is proposed via the 360’s GPU in the form of unified shader architecture. Here, instead of specific shader units for each type of data, the GPU employs transistors which can handle both manner of tasks-pixel and vertex. Balancing and juggling a game’s scene becomes much easier: for a game scene employing lots of special effects, the processor can put more shaders for pixel work and less on constructing the geometry of the scene, and so on.
A unified approach to shaders is very much on the cards for the PC space as well.
A shader is essentially a vector unit, much like the SIMD (pronounced “simdy”) units of a PC processor. As such, shaders can carry out mathematically intense tasks not just restricted to graphics. The in-thing nowadays is physics acceleration on a chip. We currently have two distinct proposals for such a tactic-a dedicated physics processor sitting on a PCI bus, or employing a GPU to perform physics acceleration. Indeed, ATI has also proposed use of its GPU to handle audio tasks. All of this is also doable on the Xenos. Furthermore, the ATI part can also push and pull content to the shared 512 MB of memory. This allows the unit to work on data, push the result to memory and pull it back to another shader unit for additional processing and physics tasks. The GPU’s unified approach to shaders, the multithreaded architecture of the 360’s processor and the fact that both the CPU and the GPU share the 1 MB of L2 cache and the 512MB of system memory, all add to produce an extremely flexible architecture: the Xbox 360 can load balance-on its six hardware threads and its 48 shader units-tasks pertaining to procedural synthesis, pixel shading, vertex shading, physics, AI, and animation.
Such flexibility and interconnectedness keeps the entire system busy and increases its efficiency.
Seen here the Xenos sitting next to its daughter eDRAM
Apart from the unified shaders, the GPU also employs a very unique tool-embedded memory. The Xenos part from ATI comprises of two cores, the traditional unit where the shaders lie and a daughter core, which is the smaller of the two and is comprised of 10MB of embedded high-speed memory along with some processing hardware. To understand this engineering feat we need to take a short detour and visit two places-one is the concept of embedding itself: in broad terms the shorter the path between a processing unit and any form of memory, the better it is for the system. Hence, you currently have 1 MB and 2 MB worth of L2 cache for processors even though the system itself might offer as much as 4 GB of memory. Embedding things is generally a good idea, thus. The second stop is the fast-approaching HDTV, and the whole HD-era/revolution/better-than-sliced-bread thing.
High-definition content is said to start at 720p resolution (1280×720, progressive or non-interlaced scan). 720p is incidentally the resolution that the Xbox 360 is happiest displaying at. The Xbox 360 requires the 10 MB of embedded memory to work on frame buffers at HDTV resolution. Think of a frame buffer as a canvas to paint on-the final image shot to the television screen, will come from this buffer. The 10 MB of eDRAM (embedded DRAM) is capable of storing up to a 4X anti-aliased image at 640×480 or a 1280×720 frame (720p) without anti-aliasing applied. This math applies to a single large frame, or canvas. The Xenos cuts up the frame into so-called tiles and instead of working on one very large canvas, it divides the final output into more manageable chunks. Each of these tiles can now easily fit into the 10 MB of eDRAM, even with 4X FSAA (full-screen anti-aliasing). Basically, your games will look pretty.
The Xbox 360 builds on the success it enjoyed with the LIVE initiative of its predecessor. LIVE, in essence, is a whole bunch of services rolled into a uniform package. As a match-making service it offers each owner of the console a unique identity-based on his or her username of choice, and a display picture. This “Gamertag” displays a player’s “Gamerscore”, tracks all the games played, his or her reputation based on peer-feedback, and acts as an identifier to online friends. LIVE also collates a list of your online friends and messages from friends or challengers. You can also link your Gamertag to forum avatars, track your messages from a PC, send invites to a game via a computer while away from the console, and so on. In addition to text, LIVE also offers voice-chat during a gaming session.
This communication layer is just one aspect of the LIVE package. The system also offers the Xbox Live Marketplace which offers casual and arcade games (Xbox Live Arcade) for trial downloads and online purchases. You can also pay for additional content packs from game developers-these can take the form of wallpapers for the 360’s interface, or themes, or icons for your Gamertag, and so on. The Marketplace also offers free content in the form of game trailers and game demos. It is fairly common to find a demo of an upcoming title to try out; we PC gamers might not consider these features too revolutionary but it is certainly a great addition to console gaming.
This diverse range of content is presented via a pleasant interface comprised of “blades”. Each blade is in essence a tab, which leads to a different menu:
Xbox Live/Marketplace – Connects the user to Xbox Live. It also offers management options for the player’s list of friends, messages, and Marketplace transactions.
Games – Keeps track of played games and earned achievements. Also allows access to Xbox Live Arcade and downloaded game trailers and demos.
Media – This is where one can manage media content and use the Media Extender functionality of the Xbox 360.
System – Changes to the system, privacy, and security console settings are found here.
A shaky start
The Xbox 360, at least on paper, does a commendable job of balancing sundry tasks and offers a compelling gaming platform. Marry that to a collection of development tools which are perhaps the most mature and
easy to get into in the console space, and one can imagine the 360 doing much better than its predecessor this time around.
The Marketplace offers both free and paid content to Live users
One of the main goals of Microsoft this round was to launch early and amass sufficient user base to compete effectively when the PlayStation 3 launches late this year. At this, the console has been largely unsuccessful. Production problems during the holiday season of 2005 curbed the units sold to a huge extent. Moreover, its performance in Japan is actually worse than its predecessor’s already dismal showing. To date, Xbox 360 has shipped close to three million units worldwide and plans to sell around 10 million before the PS3 ships. Right now, it seems a difficult goal to achieve. Sony meanwhile, plans to ship a total of six million PS3 units by March of 2007. Some would call Sony’s projection just as optimistic. While it remains to be seen which of the two consoles will win this round, one thing is certain-we consumers have never had it better-between these two and Nintendo’s Wii, everybody wins.