SPEs have 256KB of local store and no cache. CELL PPE has 512KB L2 cache and (I assume) 64KB L1.
Xenon has 1MB of shared L2 cache between 3 cores which each have 64KB L1 cache.
At least that is how I remember each design. (I am sure Shifty can correct me if I am wrong).
Will cache be an issue next gen? Of course, every limitation is an issue.
But as noted by others in the past, 3D games tend to use less cache (partly because there is a lot of streaming). A shared cache has some advantages like easy sharing between processors. Another nice thing about 1 big cache is that a large chunk of code can fit into it. Numerous small caches could run into issues where you have 1 large program and 4 or 5 small ones. The small ones are no problem in either design, but if you have a large chunk of code, lets say 600KB large, it wont fit into a smaller segmented cache. So in that case a large 1MB cache shared is better than 3 smaller caches.
In general cache will be an issue in the 360. It will be something developers keep in mind when designing their engines and in some cases will just need to design around.
Ditto the SPEs. Design to its strengths while minimizing any limitations.
Another benefit mentioned in regards to separate caches is it could minimize the effects of thrashing on the other cores.