I provided a link with where I got it from and I've heard it explained many times on gaming podcasts. If I'm wrong, educate me.
edit: I thought it was explained very nicely
here...
Kelemit
10-15-2007, 05:38
Here you go. Think of the ram / cpu / gpu issue something like this.
PS3 has two doodle pads (or notepads / scratch pads) to work on. And two people to work. (actually, one of the two people is actually 8 people, 1 boss (PPU) and 7 secretaries (SPU).
The 360 has ONE doodle pad and TWO people working on it. (and ONE of those 2 people is actually a 3 headed person with only 2 pairs of hands).
When the ps3 wants to do work, it can work on the doodle pad and do its work, and everything seems to work well, BUT, even you want to know whats going on, you have to look at 2 different pads. Which can be a pain, and a bit hard to know whats going on. And not only that, the Cells doodle pad has to feed 1 boss and 7 secretaries. There are "special" issues involved with that, and I won't go exactly into it unless others ask.
The 360 works and when it works, its ok, for a while. But, one has to decide how much of the doodle pad each worker gets? Do we split it in half. 256 for GPU and 256 for CPU? Do we only give 100 to CPU and 412 to GPU?
This is ONE of the problems for PS3... if we build a game on 360 and give the GPU 412mb space on the doodle pad... how on EARTH can we fit 412 mb worth of doodles on the 256 mb pad that the ps3 GPU has???
Thats the MAJOR issue that 360 developers are having with migrating games over to the PS3. In most cases, graphics intensive games will ALMOST ALWAYS have more than 256 mb of the 360 ram dedicated to GPU usage.
Now, as to which is BETTER... well.... heh..
Each has their problems and issues. On a pure speed and ability standpoint.. NUMA (ps3 way) is better. On a "easy to build / use / make" standpoint (easy for humans) UMA (360 way) is better.
Now.. Not only that, the 360 gives a LITTLE bit of leeway to developers to add or subtract to and from the CPU / GPU if the other one needs a bit more, etc.
The downside to the PS3 is complexity and shifting things around. If the CPU needs to work on something, then when its done, the GPU needs to, then you need to send it to the CPU ram, then to CPU, then after the CPU is done with it (the best way if you can do this) is ship it right on to GPU ram. IF you can't do it the best way, then send it back to CPU ram, then shift the WHOLE chunk over to GPU ram. But honestly, I can really only think of EXTREMELY rare cases where this would occur. For the most part, careful / smart developers just need to stream straight from CPU to GPU ram when they are done.
Same goes for the other way around. If GPU is done, then on to CPU.. then you gotta do the same thing. GPU ram to GPU to CPU ram to CPU... etc. It gets crazy when's its bouncing everywhere. to CPU ram to CPU to GPU ram to GPU to CPU ram to CPU to GPU ram to GPU to SCREEN!
This is one of the things that is bad for PS3
For 360. Its nice and easy for human beings. Just do what you gotta, and its done. Ram to CPU to ram to GPU to ram to CPU to ram to GPU... easy. Everything meets at the ram. works nice this way. There ARE issues because of this... example of this is. What if GPU is working on data in the ram and changes it. And CPU picks up that data to work on it. NOW it has OLD data and it DOESN"T know that the GPU changed something. THIS ISSUE is NOT a big deal IF YOU PLAN for it / WORK around it.. but.. it is something you must take into effect.
The BIGGEST issue, though, is bandwidth. (For example) The doodle pad is ONLY so big, and to get 2 people writing on it is a pain. If BOTH the GPU and CPU want to write to it at the same time, they have to shift / accommodate each other. When this happens, how fast they can read the doodle pad and how fast they can write on the doodle pad becomes much slower. (in fact, in half). And, since they cannot read each other's minds, THEY DON"T KNOW when the other one will use the pad / work on it. Again, when this happens, then what was really easy / fast to do 1 second ago, now is taking 2 times as long because you are taking 2 times as long to look at / read / write on the pad.
Again... this is an EXAGERATION.. so don't take it as 100% verified truth. Its just an example.. and yes.. i left alot out.. but its a decent explanation, (i think), for this whole mess.
Kelemit