Is PS4/XONE CPU a bottleneck?

The ps4 obviously has the 8 core AMD 1.6 ghz jaguar. we can overclock to 2.75 GHZ. the CPU is basically 2 mobile CPUs on one module. tablet processors. they're pretty weak if you compare it to the PS3 CPU.
This has been answered a bunch of times already, but I'm waiting for code pull from P4, so whatever.

PS3 cpu can do 230 GFLOPS with the CPU
Theoretical peek. This assumes you never branch in your code and just crunch numbers. Which is not the case if you run game logic. It may be closer to truth if you're doing physics, but rarely otherwise.

So half the time (or more) you're stalling, waiting for CPU to do something else than it assumed would be required due to branch misprediction. Or you tweak your code like hell and make it as branchles as possible, invest hundreds of manhours to get anything out of that theoretical peek.

Because, you see, CPUs do more than just calculate. They access data, perform IO from disk, decide and branch, synchronize between cores. So...

while PS4/XONE have like 100 GFLOPS. the X360 had 77 GFLOPS
...even if you have third of the peek performance of CELL, simply by having CPU that's smarter (brainier as Intel would put it) you get a lot of that back. Almost for free, w/o countless hours of optimizations (which you still could and would do).

But all that's irrelevant (mostly). PS4 and Xbone should pretty well handle diverse workload on the GPU (that means rendering + compute). FLOPS on the CPU would be less relevant and the ability to run branchy branchy code would become more important. Tools' maturity would also help (as opposite to immaturity hindering in the CELL case, early on at least). The real gains this time around could come from smarter graphics driver stacks. Which PS4 probably already has in some form and Xbone has/will get with smarter scheduler than the Windows 8.1 one, which I assume is something it has (or had at launch).

tl;dr
If you don't understand how numbers can be applied to use, don't quote them.
 
Perhaps in Assassin's Creed Open World games... GTA pedestrians are alot more realistic, imho. And often exhibit alot more interesting behaviour. Frankly though, It doesn't much bother me much. I'm always too busy having fun with the rest of the games' mechanics to notice what the pedestrians are doing. They're simply props to me.

GTA is a rarity but in GTA V, most of the time I don't feel part of a real world but most other peds are just engaging in a routine. It'd feel more real if you saw other people jacking cars, mugging people and so on. Sometimes you see a police car or ambulance barreling somewhere (same in Watch Dog) but if you follow it it goes nowhere at all.

And yeah, exactly, they look and feel like props but they could be so much more. Even Watch Dogs crimes, I. Which you are urged to participate, we're specifically spawned only in certain places.

I'd like a GTA where crooks are jacking cars, or stealing the rims off a nice car. Where crooks mug other pedestrians. Where have a go heroes intervene in crimes. :yep2:
 
Respectively, for its time the Cell was considered a pretty impressive CPU. I suppose if you were to take the GPU's out of the equation, and run a game solely on the CPU, then the Cell probably would do a better job than the Jaguar. Its common knowledge thanks to developers comments that they definitely took advantage of the CPU's last gen to create effects and do graphics rendering that wouldn't have been possible on the GPU. If developers were to still try using the CPU in the same way they did last gen, then I think it would be a weak link, but with the far superior GPU's this gen, it makes little sense to do that.
 
Respectively, for its time the Cell was considered a pretty impressive CPU. I suppose if you were to take the GPU's out of the equation, and run a game solely on the CPU, then the Cell probably would do a better job than the Jaguar. Its common knowledge thanks to developers comments that they definitely took advantage of the CPU's last gen to create effects and do graphics rendering that wouldn't have been possible on the GPU. If developers were to still try using the CPU in the same way they did last gen, then I think it would be a weak link, but with the far superior GPU's this gen, it makes little sense to do that.

also, cpu wise the PS3 was a little bit underpowered. Those SPUs aren't CPUs ... just a little lack of "normal" cpu processing power.
I wonder what they did on multi-platform titles, when cpu was needed. xbox 360 had 3 of them (well 5 threads for 3 cores (1 thread reserved for os)) but the SPUs couldn't be used the same way. So was the xbox 360 cpu really used (als 5 threads) in multi-platform titles? Or was the most of the CPU just idling around?
 
also, cpu wise the PS3 was a little bit underpowered. Those SPUs aren't CPUs ... just a little lack of "normal" cpu processing power.
I wonder what they did on multi-platform titles, when cpu was needed. xbox 360 had 3 of them (well 5 threads for 3 cores (1 thread reserved for os)) but the SPUs couldn't be used the same way. So was the xbox 360 cpu really used (als 5 threads) in multi-platform titles? Or was the most of the CPU just idling around?
On ps3, pretty much everything was moved to SPUs, when compared to PPU they were quite good even for tasks that weren't that good for them.

On x360, developers used all cores from the launch tittles, I really doubt that changed when the console matured.
 
Not really correct. Initially, 360 cores weren't really used that much either. You'd one used for game logic and one for audio, and that was about it. Once they did start to want more performance though obviously it was easier to upscale, but I recall there were some tricky bottlenecks as well. The initial struggles were with using the 10MB of EDRAM. But at the end, the 360 was even using GPU compute.

For the PS3, there were some more issues as initially few programmers knew how to work with the SPUs and tools weren't great either. And then there was the split memory pool, and less memory being available as well due to OS memory bloat (initially probably at least 3x what the 360's OS used).

I'm currently still curious what the consoles are going to do with all that memory that they currently seem to still haven't made available to games.
 
This has been answered a bunch of times already, but I'm waiting for code pull from P4, so whatever.


Theoretical peek. This assumes you never branch in your code and just crunch numbers. Which is not the case if you run game logic. It may be closer to truth if you're doing physics, but rarely otherwise.

So half the time (or more) you're stalling, waiting for CPU to do something else than it assumed would be required due to branch misprediction. Or you tweak your code like hell and make it as branchles as possible, invest hundreds of manhours to get anything out of that theoretical peek.

Because, you see, CPUs do more than just calculate. They access data, perform IO from disk, decide and branch, synchronize between cores. So...


...even if you have third of the peek performance of CELL, simply by having CPU that's smarter (brainier as Intel would put it) you get a lot of that back. Almost for free, w/o countless hours of optimizations (which you still could and would do).

But all that's irrelevant (mostly). PS4 and Xbone should pretty well handle diverse workload on the GPU (that means rendering + compute). FLOPS on the CPU would be less relevant and the ability to run branchy branchy code would become more important. Tools' maturity would also help (as opposite to immaturity hindering in the CELL case, early on at least). The real gains this time around could come from smarter graphics driver stacks. Which PS4 probably already has in some form and Xbone has/will get with smarter scheduler than the Windows 8.1 one, which I assume is something it has (or had at launch).

tl;dr
If you don't understand how numbers can be applied to use, don't quote them.

And we can see that in action on in Killzone 2/3 vs Shadowfall comparisons

You can see in terms of the ragdoll physics and hit detection its more impressive in Killzone for PS3 than for PS4.
Still... Killzone 4 is of course more burdening on the cpu in other regards for other things than Killzone 2/3 were for PS3...
 
Last edited by a moderator:
I'm not worried about it yet. We've moved so much off of CPU that there's not that much left. For 2016-2018 titles, it could get a little tighter.

But at the same time, it depends on your game. I know of launch titles that had big problems with CPU.
I think these CPUs are great. They are Out-of-Order CPUs and we are seeing PLENTY of 60 fps games. :p
 
Those SPUs aren't CPUs ... just a little lack of "normal" cpu processing power.
You'd better do a damned good job of qualifying that statement so it's not completely and utterly wrong. SPUs == CPUs. They can run every bit of code a CPU can and process any arbitrary code. They lack one feature that makes them standalone processors (they needed the PPU kickstart to get going), but they are in every way central processing units in what they can do. They just have different performance balance for different workload priorities.
 
You'd better do a damned good job of qualifying that statement so it's not completely and utterly wrong. SPUs == CPUs. They can run every bit of code a CPU can and process any arbitrary code. They lack one feature that makes them standalone processors (they needed the PPU kickstart to get going), but they are in every way central processing units in what they can do. They just have different performance balance for different workload priorities.

By that reasoning what makes modern GPUs not qualify as CPUs?

PS3 SPEs don't just have a different performance balance, they also lack the ability to directly address more than their local store. Which is kind of a big functional drawback.
 
at the end of the day it was probably the only choice to do, AMD probably offered a great deal for CPU+GPU, and Jaguar makes more sense than the Bulldozer based CPUs for size/power

I just think it's a shame that they are stuck with it for a while, I mean Jaguar was pretty immature, now with the latest refreshed Jaguar (Beema) is using "turbo" for higher ST performance and is more power efficient... people overclocking AM1 can achieve 2.5GHz relatively easy on Kabini Jaguar cores (when the motherboard is good), and Beema can run at 2.4GHz boost

now the PS4 is stuck with 1.6GHz fixed, if they could boost let's say a couple of cores to 2.4GHz it would probably be a significant help?

and I would guess a 20nm shrink could possibly achieve more... but... it's the same situation as old gen, with MS having to simulate a slow FSB, it's a shame.

Jaguar 1.6GHz is horrible for a gaming PC, but for the consoles they are going to get all they can out of it and the GPU and have amazing results I'm sure.

just dreaming a little, would have been cool of sony to add a die shrunken Cell as a co processor to the PS4, for physics and backwards compatibility, imagine that... or maybe it would be nightmare for the devs, useless and expensive I 'm so clueless :D
 
You'd better do a damned good job of qualifying that statement so it's not completely and utterly wrong. SPUs == CPUs. They can run every bit of code a CPU can and process any arbitrary code. They lack one feature that makes them standalone processors (they needed the PPU kickstart to get going), but they are in every way central processing units in what they can do. They just have different performance balance for different workload priorities.
just try to do something like AI on the SPU, they are highly specialized processors and really good for some jobs, but really really bad for other things. I wouldn't name it cpu. Yeah, the SPUs have some promising flop counts, but when you have brnching in your code ... well lets just say that branching wasn't that good.
 
now the PS4 is stuck with 1.6GHz fixed, if they could boost let's say a couple of cores to 2.4GHz it would probably be a significant help?

Clock speed is synchronous, meaning all the active cores run at the same speed. Turbo is useful when cores are turned off. Not nearly as useful if you can keep every core busy.
 
I'm currently still curious what the consoles are going to do with all that memory that they currently seem to still haven't made available to games.
I'd guess virtually no loading times between different game areas, larger levels, larger textures..

But this will require devkits with 16GB of RAM, right?
 
Games have seemed fine so far. If these CPU's can run a huge world like GTA5 upgraded like we've seen in those trailers, i think we're good.
 
Not really correct. Initially, 360 cores weren't really used that much either. You'd one used for game logic and one for audio, and that was about it. Once they did start to want more performance though obviously it was easier to upscale, but I recall there were some tricky bottlenecks as well. The initial struggles were with using the 10MB of EDRAM. But at the end, the 360 was even using GPU compute.

For the PS3, there were some more issues as initially few programmers knew how to work with the SPUs and tools weren't great either. And then there was the split memory pool, and less memory being available as well due to OS memory bloat (initially probably at least 3x what the 360's OS used).

I'm currently still curious what the consoles are going to do with all that memory that they currently seem to still haven't made available to games.

Maybe most of that ram can be used as a kind of render ahead cache for textures procedurally generated by otherwise idle cores.
 
By that reasoning what makes modern GPUs not qualify as CPUs?
That's very debatable!

PS3 SPEs don't just have a different performance balance, they also lack the ability to directly address more than their local store. Which is kind of a big functional drawback.
SPE's have a memory management unit. As a unit, they can address any point in memory. They just have a different access pattern. For comparison, no processors address memory directly these days; it's copied from RAM to cache where the processor uses it. Lack of automated cache doesn't make a processor not a CPU (you could also code automated cache in a SPU if you wanted).

Note, for accuracy, as added below, SPUs/SPEs aren't CPUs but general purpose cores within the Cell CPU.

just try to do something like AI on the SPU, they are highly specialized processors and really good for some jobs, but really really bad for other things.
You're confusing application with implementation. Try running a branch heavy AI routine on SPUs, and they aren't any good. Run some vector maths heavy AI on SPUs and they excel. Choice of software design doesn't determine whether something is a CPU or not. 8 bit CPUs didn't have branch prediction or cache - are we to conclude they aren't CPUs because they aren't optimised for certain workloads?

I wouldn't name it cpu.
Well you should because it is. Don't make up a definition of CPU that feels nice to you - use the existing engineering term. There are no limitations to tasks or data a SPU can work with. Actually I'll pull myself up here because SPUs aren't CPUs, the entire Cell is. The SPU is a core within the CPU, but its fully general purpose, if lightweight.

Yeah, the SPUs have some promising flop counts, but when you have brnching in your code ... well lets just say that branching wasn't that good.
Then revise your terminology. Don't say SPU's aren't CPUs. Say they aren't good at branch heavy code (again, 8 bit CPUs weren't good at branching, but that doesn't stop them being CPUs). Saying that recognises that where branch heavy code can be replaced with a different SPU-friendly algorithm, you can get better performance from an SPU than a branch-heavy CPU.
 
Games have seemed fine so far. If these CPU's can run a huge world like GTA5 upgraded like we've seen in those trailers, i think we're good.

how much of the upgrade requires cpu power ? THe gpu can just be doing the heavy lifting.

Either way you slice it comparing a 2013 console cpu to a 2005 or 2006 console cpu isn't the only comparision. We have to look towards the pc and the cpu's gamers are using would crush the console stuff and its only going to get worse over the next 2 years as it seems for the desktop at least 6 and 8 core intel stuff will become common with double that for hyper threading and of course clocked at 4ghz or higher
 
how much of the upgrade requires cpu power ? THe gpu can just be doing the heavy lifting.
Well more pedestrians and vehicles (and it's quite an increase judging by the trailers) means more AI and more physics. It may be GPGPU code but I wouldn't assume that.

Sent from my iPhone using Forum Runner.
 
That's very debatable!

Perhaps it is, but I didn't think that was something people were actually debating. This is all semantics really, if you really want to press CPU as anything Turing complete then we can start including a whole lot of things. But the way I see it the sticking point of this is less the "processing unit" part and more the "central" part, which will entail some certain level of architectural capabilities to support "normal" software. SPE doesn't fall under that category.

SPE's have a memory management unit. As a unit, they can address any point in memory. They just have a different access pattern. For comparison, no processors address memory directly these days; it's copied from RAM to cache where the processor uses it. Lack of automated cache doesn't make a processor not a CPU (you could also code automated cache in a SPU if you wanted).

But the thing with cache is that it's for the most part transparent and a matter of implementation. While the SPEs are very much missing this at an architectural level. It really isn't a good comparison. Sure you could code a cache in software (if it works anything like a real cache it'll be very slow), you can go ahead and code a full VM for something more like a real CPU too, but that's still side-stepping things pretty heavily.

Note, for accuracy, as added below, SPUs/SPEs aren't CPUs but general purpose cores within the Cell CPU.

So now you're saying a CPU refers to whatever single die contains CPU cores, or what? Does that mean mobile SoCs are CPUs? You've really got your own particular definitions :p
 
Back
Top