Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Microsoft Sony Entertainment Games Hardware Technology

How Sony's Development of the Cell Processor Benefited Microsoft 155

The Wall Street Journal is running an article about a recently released book entitled "The Race for a New Game Machine" which details Sony's development of the Cell processor, written by two of the engineers who worked on it. They also discuss how Sony's efforts to create a next-gen system backfired by directly helping Microsoft, one of their main competitors. Quoting: "Sony, Toshiba and IBM committed themselves to spending $400 million over five years to design the Cell, not counting the millions of dollars it would take to build two production facilities for making the chip itself. IBM provided the bulk of the manpower, with the design team headquartered at its Austin, Texas, offices. ... But a funny thing happened along the way: A new 'partner' entered the picture. In late 2002, Microsoft approached IBM about making the chip for Microsoft's rival game console, the (as yet unnamed) Xbox 360. In 2003, IBM's Adam Bennett showed Microsoft specs for the still-in-development Cell core. Microsoft was interested and contracted with IBM for their own chip, to be built around the core that IBM was still building with Sony. All three of the original partners had agreed that IBM would eventually sell the Cell to other clients. But it does not seem to have occurred to Sony that IBM would sell key parts of the Cell before it was complete and to Sony's primary videogame-console competitor. The result was that Sony's R&D money was spent creating a component for Microsoft to use against it."
This discussion has been archived. No new comments can be posted.

How Sony's Development of the Cell Processor Benefited Microsoft

Comments Filter:
  • a few facts please? (Score:3, Interesting)

    by Anonymous Coward on Thursday January 01, 2009 @06:08AM (#26289777)

    the cell is not "made from scratch". It's based on powerpc. Minus the branch prediction and some other goodies, and with additional cores specialised for numerics called "SPEs". Without the SPEs it's a piece of junk. And the xbox360's processor doesn't have the SPEs.

    This article is full of shit.

    Big deal if M$ got their hands on a crap, slow design based on the G5 powerpc, and they made it able to execute 2 threads per core and put 3 cores on a die. It has NOTHING LIKE the gigaflops of the cell.

  • by Anonymous Coward on Thursday January 01, 2009 @06:09AM (#26289785)

    I'm not a games console programmer, but I understood that the 'core' of the Cell and the chip used in the XBox 360 are both derivatives of the standard PowerPC chip. This smells like a couple of trolls being mischievous. IBM can do what they like with PowerPC, and that includes selling it to both Micrsoft for the XBox 360 and to Nintendo to power the Wii.

    Sony's payback comes when Playstation3 programmers learn to fully utilize the Cell architecture.

  • Hmm, really? (Score:5, Interesting)

    by Ecuador ( 740021 ) on Thursday January 01, 2009 @06:26AM (#26289835) Homepage

    Maybe I have to read the book to get a better picture, it is possible that the article blows things out of proportion. So, I thought that the whole "deal" about the Cell are the SPE's. The Xenon CPU that powers the Xbox 360 is just a custom-made triple core PowerPC. Now, I guess the "customization" of that core is similar to what is done for the PPE of the Cell, so research there could have overlapped, but I would not think that the PPE is the "essence" of the Cell - at least that is what Sony's and IBM's own claims have made me believe.
    Additionally, I have to admit that I always thought the usage of the Cell processor a very bad (or, more precisely, very arrogant) decision. It is not just that it has many "cores"; the fact that they are asymmetric and that SPE's are not your usual general-purpose cores, was bound to make it very hard for developers to utilize them. If you wanted to develop for many platforms there is no way you would want to optimize for the SPE's when all other architectures (PC, Xbox...) use symmetric, general purpose cores. So, in my book, the Microsoft engineers knew much better what they were doing than the Sony ones. I guess they are not the same engineers responsible for gems like Me, Vista or Zune firmware.
    What I would like to know are the differences that the modified core has compared to a "classic" PowerPC core? So, if MS had not benefited at all from Cell research and got a triple-core whose cores were closer to the original PowerPC, would it be a much different CPU? Anybody knows? If the answer is not, the whole discussion about MS benefits from Sony is moot...

  • by TheRaven64 ( 641858 ) on Thursday January 01, 2009 @07:56AM (#26290017) Journal
    Even the SPEs aren't exactly built from scratch. They're based on the VMX units from the PowerPC 970 with widened register sets and a modified memory architecture with explicit DMA commands. If the meeting in question took place, I'd imagine IBM showed Microsoft the Cell, the PowerPC 980MP, the 40x, and said 'we can do anything on this spectrum - what requirements do you have?'.

    The chip they sold to Microsoft in the end is more or less the same design as the PPU core in the Cell, but that, in turn, is an in-order variant of the 970 with a few bits from the POWER4 that were originally dropped (the 970 itself was a cut-down POWER4 with a VMX unit bolted on) re-added.

    IBM would be crazy not to reuse parts of old designs on any new one. They've spent hundreds of millions of dollars creating a library of CPU designs that fit anywhere from a mobile phone to a supercomputer. You're very unlikely to have a set of requirements that they can't meet with a tweaked version of one of their existing designs, and if you really need them to work from scratch then you probably can't afford the final product.

  • Re:It also helped MS (Score:5, Interesting)

    by xero314 ( 722674 ) on Thursday January 01, 2009 @08:06AM (#26290049)
    There are a number of errors in the comment above and a number of oversights.

    First it is true that the Graphics processing of the PS3 was originally intended to be handled by a Cell processor, but this is not the same as saying the Cell processor was built to be a graphics processor. The original specs for the PS3 included 4 fully functional cell processors. This would have meant that there would be no need for dedicated GPU. Time and cost made this configuration prohibited.

    The reason the PS3 does not have dedicated memory is because it is a very different design. First the PS3 contains a very high speed data bus, which allows the system to keep it's lower amount of memory full of the data it needs at any given time, with no need to store data not actively in use. Secondly the GPU in the PS3 has direct access to almost all of the memory in the system (480MB to be exact). It's just not the same picture that some people would like to paint. Dedicated memory has it's advantages (which is why all high end PC GPUs have such).

    Now the reason that Sony, Toshiba and IBM design the Cell and crammed it into a PS3, prematurely, is ingenious, but we wont see this for a number of years. The Cell processor is designed from the ground up to work effective as a single node of a multi processor system. This means that you can include more than one, utilize the same code, and get a much faster program rate. What this means is that for computing today you can use a single Cell processor and have a fast machine. In the future you can have a machine with 4, 8, 16, or more cell processors and have an unbelievable fast machine. On top of that speed you also get a very energy efficient machine. Take a look at the top 500 supercomputer list to see what a difference the cell processor makes. Putting in the PS3 on the other hand was a good move because it meant mass production and greatly reducing costs so that they can finally build the system they want in the next console generation.

    Ok I'm to tired to finish this, but as you can see if you look, the cell is an interesting chip with great potential, and has already surpassed other chips a number of applications.
  • Re:It also helped MS (Score:3, Interesting)

    by MemoryDragon ( 544441 ) on Thursday January 01, 2009 @08:17AM (#26290095)

    Well the idea of sony was to advance the PS2 design further, in my opinion a broken design having two SIMD Vector processors doing everything.
    They probably wanted to reduce the design down to one SIMD processor doing everything.
    The design of Sony seems to be vector processing is everything you dont need multithreading anyway. The problem with this approach is that even for modern games you need a good mix of everything, good vector processing for graphical stuff and physics, good general purpose processing and multiple cores for the application logic. I personally think Microsofts approach despite the obvious quality problems of the console (which stems mostly from Microsoft internal management decisions, you can read that up) is dead on, while Sonys approach is totally broken even on the PS2, you can remember the complaints of the developers how hard it was to handle the PS2, if it wasnÂt for the success of the hardware among the customers developers probably would have neglegted it due to the fact that pushing an application logic into dual vector processors is a rather hard task. But tools covered that over time!

  • EXCUSES~1 .. (Score:3, Interesting)

    by rs232 ( 849320 ) on Thursday January 01, 2009 @08:39AM (#26290163)
    "Maybe I have to read the book to get a better picture, it is possible that the article blows things out of proportion. So, I thought that the whole "deal" about the Cell are the SPE's. The Xenon CPU that powers the Xbox 360 is just a custom-made triple core PowerPC", Ecuador

    Well unless you know different we'll just have to take the points raised in the article as accurate. And if the CELL was just a custom-made core then why the need to commit $400 million over five years?

    "I agree here as well, there is nothing from the Cell design which went into the Microsoft PowerPC core", IamTheRealMike

    "Xenon .. is based on [wikipedia.org] IBM's PowerPC instruction set architecture, consisting of three independent cores on a single die"
  • by Galactic Dominator ( 944134 ) on Thursday January 01, 2009 @09:04AM (#26290251)

    As an owner of both consoles, MGS4 is the only ps3 that even rivals the good 360 games in terms of graphics. It is no where close to blowing 360 games out the water. However, at the ps3 doesn't lock up nearly as much and kicks ass at folding.

  • by stephen70 ( 1192101 ) on Thursday January 01, 2009 @09:33AM (#26290379)

    Slashdot users read and learn because anyone who fails to understand the following is uninformed >

    The SPU's on the Cell and the PPC Altivec unit on the Xenon(X360) are very closely associated never before has IBM done a 128register 128Bit Altivec unit. The 128bit X 128register Altivec VMX128 unit on the Xenon is the best of any CPU it is also an almost perfect subset or cut down version of the Cell's SPU !.

    In non braching calculations and assuming no cache misses VMX128 performance is equal to the SPU's performance this is not a coincidence it's a newly shared design feature in both the instruction sets and silicon fab and clearly shows the CPU designers shared alot.

    The older VMX is only 32 registers. Only the Xenon PPC cores and Cell's SPU's have this new VMX128 type arrangement with 128 SIMD registers - especially enhanced for multimedia and gaming.

  • Re:It also helped MS (Score:3, Interesting)

    by Otis_INF ( 130595 ) on Thursday January 01, 2009 @09:52AM (#26290463) Homepage

    It also means that the Cell can't fiddle with video RAM directly. It's power could perhaps be better used if it could directly do operations at full speed on data in VRAM but it can't.

    Everyone who has written assembler code for an Amiga 500 knows that this isn't true: if you have multiple processors fiddling with data in videomemory, they also share a bus, and that sharing is precisely why it makes it slow. At least compared to memory which is only for 1 processor.

    Microsoft's 512MB memory runs at a very slow speed compared to the 3ghz frequency the PS3 cpu memory runs on. It's not a surprise why this is: the bus is shared: display hardware, video chip, main cpu, all have to utilize a bus to the same memory. To schedule all these requests, you have to use even/odd cycle schemes or similar, you can't use the bus all for one chip. 'DMA' only helps you if you own the bus to the memory, which is what the PS3 hardware gives you: very fast data crunchers in the CPU space and a videochip which can do whatever it wants in videomemory.

    That the PS3 runs out of texture memory is not really an argument as well: one can easily generate /unpack textures in cpu memory for usage in video memory, as the speed difference is significant. Though what happens is that multi-platform engines in general tend to write most stuff in shaders and want to use a big main memory block for texture memory as that's easier and 'it works on xbox'. Porting it over to ps3 works, unless you have a need for more than a given threshold of texture memory, which gives problems which aren't easy to solve.

    It's partly lazyness really: you've to solve it once and you can re-use the engine for multiple games on the multi-platforms you want to support. The question is: do you want to write that special SPU using optimization code or not? More and more studios are willing to do so. Not because they want to, but because they have to: once Sony starts releasing more and more games exclusively for PS3 developed using their maturing engines (e.g. KZ2, uncharted 2 etc.), keeping up with that for a multi-platform game really requires that PS3 optimizations are in place, otherwise the multi-platform game will suck in comparison with the ps3 exclusives. As Sony owns more studios than MS and nintendo combined, this is a matter of time.

  • Re:Hmm, really? (Score:2, Interesting)

    by Anonymous Coward on Thursday January 01, 2009 @11:15AM (#26290775)

    > instruction re-ordering

    I don't know if any of the current generation of console CPUs has re-ordering... and for good reason. In an ideal world the compiler would schedule instructions well (or, rather, "well enough that dicking with it further in hardware wouldn't be a productive use of silicon") However in the real world 99.999% of users aren't running gentoo — instead, they have binaries which weren't likely compiled for the exact cpu that they're running. A hardware reorderer can make significant gains in instructions/clock on code like this.

    Game consoles live outside this "real world" though — since every user is running the same CPU you can tell developers "hey, use this set of compiler options for the best instruction scheduling"

    In other words, it's easier to make ILP a problem for the software folks.

    > branch prediction

    BP is kind of a mixed bag... a naive BP (backwards=taken, forwards=not taken) still gets it right most of the time. For really critical code reordering the code blocks to fit those rules isn't too hard. gcc makes if very easy with __builtin_expect() Not sure if MS's Visual suite has anything similar... does anyone know?

    > speculative execution

    That's one thing I'm surprised to see missing -- I'd expect it to be a big win for a design like this. I guess they didn't want to do a whole register renaming scheme? I'd be very interested to see what percentage of cycles are lost to mispredited-branch stalls in real game code. I bet you're right: it's probably high.

    I trust IBMs CPU designers though... I'm sure they simulated it extensively both ways. Either that or it would have really blown the thermal budget for the core.

  • by Animats ( 122034 ) on Thursday January 01, 2009 @12:22PM (#26291157) Homepage

    Sony's payback comes when Playstation3 programmers learn to fully utilize the Cell architecture.

    As someone else pointed out, if that was going to happen, it would have happened by now.

    The fundamental problem with the Cell is that each SPU only has 256KB of RAM. (Not 256MB, 256KB.) Data can be moved in and out of main memory in the background with explicit DMA-like operations. Given that model, you have to turn your problem into a data-flow problem, where a data set is pumped sequentially through a Cell processor. The audio guys love this. It's useful for compression and decompression. It's a pain for everything else.

    It's not good for graphics. There's not enough memory for a full frame, not enough memory for textures, not enough memory for the geometry, and not enough processors to divide the frame up into squares or bands. Sony had to hang a conventional nVidia GPU on the back to fix that. It's useful for particle systems. If you need snow, or waves, or grenade fragments, the Cell is helpful, because that's a pipelineable problem.

    There are some other special-purpose situations where a Cell SPU is useful. But not many. If each SPU had, say, 16MB, the things might be more useful. But at 256KB, it's like having a DSP chip. The Cell part belongs in a cell phone tower, processing signal streams, not in a game machine. It's a great cryptanalysis engine, though. Cryptanalysis is all crunch, with little intercommunication, so that fits the Cell architecture.

    We're back to a historical truth about multi-CPU architecture - there are only two things that work. Shared-memory multiprocessors ("multi-core" CPUs, or the Xbox 360) work; they're well understood and straightforward to program. Clusters, like Google/Amazon/any web farm, also work; each machine has enough resources to do its own work and can live with limited intercommunication. Everything in between those extremes has historically been a flop: SIMD machines (Illiac IV through Thinking Machines), dataflow machines (tried in the 1980s), and mesh machines (nCube, BBN Butterfly). The only exception to this are graphics processors and supercomputers derived from them. [nvidia.com] That, not the Cell, is cutting edge architecture.

    I've met one of the architects of the Cell processor, and his attitude was "build it and they will come". They didn't.

  • by 91degrees ( 207121 ) on Thursday January 01, 2009 @01:17PM (#26291507) Journal
    I never thought the cell was intended for graphics anyway. 3D hardware is simple SIMD, with very long pipelines. Unless you're after ray tracing, a more general purpose chip would be a waste of resources.

    Cell is probably good for complex physics, and sophisticated AI, but that's a bit of a problem because programmers haven't really worked out how to use the resources efficiently yet. Game developers have a very procedural approach to solving problems.
  • Re:It also helped MS (Score:2, Interesting)

    by Anonymous Coward on Thursday January 01, 2009 @03:47PM (#26292557)

    OP is talking about gigabytes per sec (GB/s), not gigabits per secont (Gb/s). 20Gb/s = 2.5 GB/s. Everything the OP says is accurate. 20 gigabit isn't that fast, especially for an internal bus.

  • by Mr Z ( 6791 ) on Thursday January 01, 2009 @07:14PM (#26294319) Homepage Journal

    I came here to make pretty much the same point. IBM has a habit of reusing the same microarchitecture with tweaks to run different variants of the POWER or PowerPC instruction set as needed to fit a particular application niche.

    I suspect IBM didn't say specifically "Here's the Cell Broadband Architecture and what it can do." Rather, since the Xbox360's CPU doesn't have any SPEs, I imagine the presentation had more to do with what the PPU would be capable of, and was part of the IBM processor roadmap anyway.

  • by Anonymous Coward on Thursday January 01, 2009 @07:16PM (#26294347)

    I'm not a games console programmer, but I understood that the 'core' of the Cell and the chip used in the XBox 360 are both derivatives of the standard PowerPC chip.

    There is no such thing as a "standard PowerPC chip." PowerPC and POWER is an architectural specification and there are a wide variety of implementations of those specifications, ranging from embedded system-on-chip CPUs all the way to supercomputer processors.

    The story here is that IBM created a specific PowerPC implementation which serves as the "Power Processing Element" in the Cell implementation in the Playstation 3 and then sold the same implementation to Microsoft for the Xenon CPU in the Xbox360. Note that the PS3's PPE and the Xenon's cores are not completely identical. The PPE has the AltiVec SIMD instruction set also found in some of Freescale's and IBM's other PowerPC CPUs, while the Xenon uses a modified/extended version called VMX128.

    Cell, by the way, is also only a specification - the PS3's processor is one implementation of it. There are Cell implementations with fewer SPEs for cost- and power-sensitive applications, and IBM are making CPUs based on an updated Cell spec for supercomputing applications.

  • by snowgirl ( 978879 ) * on Friday January 02, 2009 @12:39AM (#26296845) Journal

    I still think the issue is x86 (windows) compatibility, portable support and never to forget the lack of small time developer support from IBM as the reason of Apple's switch to Intel.

    X86 (windows) compatibility had little to do with it. Apple for a long time was trying to get good Desktop and Laptop performance from the PowerPC architecture. The design is just vastly superior to x86 that it's so much easier and cost effective. Unfortunately, because windows has dominated so strongly, and has only really been available for the x86, (the x86-64 is just a carry on upon the x86 design) and so the most money was spent on improving that.

    There are really only three ways to do things. Design well upfront and save costs on furthering that design in the future, use something that already exists, and just pump money at it when you need to, and get crazy about design and assume that people will pick up the costs later, because the benefits of doing so will outweigh the costs.

    The first is PowerPC, the second is x86, the third is Itanium. Here's the problem, what is already out there is cheap. Throwing money occasionally beats out upfront costs. A good design minimizes later costs, but only if you have the money to throw at it. Lastly, the last one just doesn't work because it's high upfront costs, and high maintenance cost. (The Itanium now goes the way of the chip in this post... to obscurity...)

    Apple doesn't have the market share to throw money at things. As a result, they get better benefit by using what is already out there, even though they had already paid for the design. While the PowerPC design is way better fundamentally, the money poured into the x86 has just been ridiculous.

    Apple was also completely unsatisfied with the PowerPC producers. Motorola wasn't interested in producing anything but embedded chips. The G4 was totally an embedded chip, that's why Apple laptops when the G4 came out were way better than x86 laptops until Intel and AMD wised up and started making power-efficient chips. It's also why the TiBooks had 5 hours of run time compared to the Intel books at like 2-3 hours at the time.

    So, Apple went to IBM to get a Desktop chip. They worked on the G5, finally pushed it out, and it was an awesome chip. It has really good power-per-watt and performance. There's a reason why Apple started transitioning the G4 laptops first. They could get a 4-times speed increase out of moving from the G4 to an Intel chip. The PowerMac however would have only gained a 50% speed boost at the time of the original announcement. Later Intel development pushed this margin up high enough when they switched the desktops, and frankly, no one really cared that much about switching to x86 at that time... it was old news.

    So, the reason Apple went to Intel is because other people, like say.... Microsoft... were pouring money into the x86 development that Apple couldn't match. IBM was more concerned about the big iron aspect of the PowerPC, and Motorola more the embedded aspect of it. Apple just couldn't afford to spend the money on the desktop market. I'm happy to see the consoles taking over PowerPC development, and hope that leads to the same selective pressures that the Intel chips have. Maybe Apple might be tempted to return........

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...