|
Even though there are already many articles published on the Cell, here is a new onethat sums up the the Cell in very nicely, easily readable even by normal people ;-) Bottom-line of the article is that the Cell is rather a very sophisticated piece of technology that when pushed to the max really outperforms all of the today available CPUs including the latest Xenon chips used in the XBOX 360.
Unfortunately, pushing the Cell to the max, really takes some heavy skills in terms of multi-core programming. What Sony, Toshiba and IBM have designed here is a CPU that lends a lot on the concepts of old generation simple CPU, that didn't know much about branch prediction and transparent multi-threading. The challenge for the programmer is to do a lot of those things in software instead of hardware. On the other side this is what enables the raw power of the Cell, as those hardware features usually take a lot of today's chip space. So what's the point of making development more difficult to the point that an ordinary programmer can not really leverage the power at all? I guess the answer is somewhere in between. Sure, the Cell is not the kind of CPU where you just sit down and develop your code in a high-level language not being aware of how its going to be executed. What we or better the game developers will see is a set of tools that will enable them to leverage the power of the cell. First of all, we wanna mention IBMs Octopiler, which is able to actually balance the usage of the different SPEs under the control of the generated code. Even though this might help you to go beyond the PowerPC based PPE, it takes more to push the Cell to the max. The magic word here is software patterns. Software patterns are already very common in professional software engineering, where you address certain problems with proven patterns, i.e. best practices. The development community around the Cell is currently heavily working on those patterns. Using those patterns is relatively easy compared to the grass roots approach, as you can use already existing libraries. Take a look at this article that shows you what I am talking about, specifically the slides starting on page 24. Finally, conquering the Cell specifics is all about knowing what's good and what's bad in terms of little tricks that make a good piece of code. Again, IBM provides some initial set of best practicesthat help to avoid those common traps a casual programmer would easily step into. Another resource focusing on performance issues can be found here. So far, everything we talked about is of general purpose, in other words not really targeted to game development. What really makes the Cell a dream come true for game developers is the availability of full-fledged game engines that hide most of the mentioned tasks from the game developer entirely. Here Sony and all of the third parties need to do their job. What this all comes down to is that initially we will not see too much of the potential power the Cell is offering. Most of the first generation games will be brute force implementations or ports that will mainly leverage the power of the PowerPC based PPE. Only a few of the SPE will initially be leveraged. With the rise of the above mentioned tools, best practices and capable game engines, more and more of the Cells power will be leveraged and finally we will see those games we have not seen before, achieving things beyond what we can imagine today. So, sit back and relax, the Cell and the PS3 will be around for some time ;-)
|