By using this site, you agree to our Privacy Policy and our Terms of Use. Close
Kyros said:
You are correct that game devs will have many things that are better done on a general purpose core, but I really doubt that programming the CELL would get easier if they would mix multiple PPE with multiple SPEs. At the moment you have one core distributing work. In your proposed architecture you would have multiple cores distributing work to multiple SPEs? Sounds like a deadlock disaster waiting to happen.

 


Often, the SPEs are fetching work independently of the PPE.  It depends on how your application is structured, but it is not necessary for the SPEs to be entirely dependent on the PPE, other than the PPE initially starting the SPE threads.  In fact, it's recommended for the SPEs to initiate most of their own DMA transfers, because they have more slots.  One of the better ways to structure things is to queue up jobs for SPEs to do, and have the SPEs fetch those jobs.  This queue would already be controlled by a lock for thread safety, so a second PPE queueing up jobs wouldn't break anything.

IMO, if you're smart enough to make good use of the Cell as it is, then you'd be smart enough to be able to use more than one PPE effectively.