PlayStation3
  • versio
    #7
    The PS3's Cell Processor
    by Jon "Hannibal" Stokes
    Download the PDF


    (This feature for subscribers only!)

    Ok, so in spite of the fact that there are no new revelations in this CNET article on the upcoming "Cell" processor for the PS3, I feel obligated to post about it since it has been linked up everywhere else. If you've followed the recent spate of PS3/Cell processing stories at all, then you already know everything that has been mentioned, here. If you haven't followed them, then I can summarize for you. In 2001 IBM, Sony, and Toshiba announced an alliance to build a next-gen processor for the Playstation 3. The processor represents a number of design trends in media processing taken almost to the extreme. By way of elaborating on what I mean, allow me to quote from a news post on nVidia's nForce that I (completely coincidentally) made exactly two years ago today.

    Regardless of what I (or even Nvidia) think are the best places for core logic chipset, audio processing, and 3D graphics functionality, what's certain is that as both transistor budgets and bandwidth needs increase, we'll see more integration in a greater variety of forms. In fact, after my own studies of the PS2's architecture and after reading Michael Abrash's DDJ piece on the X-Box, I'm convinced that the only thing that you can really predict about the division of labor among ICs on the high-bandwidth media platforms (and eventually the mobile platforms) of the future is that it'll move from the current model of allotting specific functionality to a variety of separate chipsets from different vendors to a new model where there's a wealth of more generalized computing power in the form of SIMD/VLIW units, other DSP-type cores, and RISC or VLIW processor cores integrated onto one die and available to the media application developer. The "graphics accelerator" as we know it will cease to exist as a device that's dedicated to speeding up a very specific type of rendering, and it'll be replaced by more generalized computational resources that can be used in whatever way a 3D programmer can cook up--in effect, a return to the days of the software renderer.

    Please note that I didn't quote myself to show how prescient I am, because as I said in the original post the whole "return of the software render" thing has been a given for a long time. The above quote just shows that this idea of a pool of generalized computational resources, in the form of multiple small processing cores (DSP-oriented RISC and/or SIMD/VLIW units) integrated onto one die, that can be drawn from in different ways for different tasks by intelligently designed software, has been coming for quite some time. In fact, as one analyst in the CNET article correctly points out, this is very close to what Sun originally had in mind for MAJC. (See especially the last page of my MAJC article.)

    So the way that the Cell processor works is that there is a pool of 16 or so of these (probably not completely identical) RISC or SIMD/VLIW cores on a single die. The system will do its processing by drawing resources from this pool on a task-specific basis. For instance, the audio processing subsystem will consist of a set of software routines that request cycles from the pool for the purpose of processing 3D audio. The 3D engine will similarly request cycles from the same pool for rendering, and similarly with the game AI system, etc. The different processing cores will probably be grouped together dynamically by software into "teams" in order to complete specific tasks (i.e. 3D rendering, audio, etc.). Each team's size will scale dynamically to fit its current workload by either acquiring new cores from the pool or releasing unneeded cores back to the pool for use by other processes.

    As should be obvious from just my brief description, this is a software-hardware hybrid chip almost on the order of Transmeta's Crusoe. The software (and concomitant memory bandwidth) overhead for this scheme will be enormous, and it's going to take a Herculean effort on the part of the system's designers to get real performance out of it. As one of the designers noted in a previous article on the Cell, the kind of bandwidth they'll need to make this work probably can't be provided by any bus technology currently in existence.

    If these challenges can be overcome, the advantage to doing things this way could be substantial. It will be easy to add processing capacity to the system--just throw another PS3 onto the network and your PS3 can reach out and draw resources from its non-local pool. And of course Sony wants to see your set-top box running this same chip, as well as any other networked entertainment devices you might own. So a PS3 owner could conceivably grab unused cycles from a variety of devices on the LAN in order to increase a game's 3D realism.

    My instincts tell me that more conventional 3D hardware will almost certainly be faster than the PS3 for some time after the new system's launch, but if IBM and Co. can actually deliver on the promise of scalability (and that's a really big, bandwidth-intensive "If") then as the games and the software side of the system improve the PS3 could ride Moore's law to the top of the gaming heap.