Why Wii U is weaker than the 360 and PS3, explained intuitively.

#31DarkZV2BetaPosted 1/10/2013 8:34:38 PM
omniryu posted...
DarkZV2Beta posted...
omniryu posted...
strongo9 posted...
ITT: CPUs from 2005 and 2012 are just as powerful as each other and are the only things that matter when determining consoles' power are their amount of cores, threads, and clock speed.


But it has no new feature. It might have a higher ipc. The CPU is weak dude.


It certainly has better cache access/probably memory management in general. You can't get worse than PS3 in that, and yes, that matters a lot for getting higher framerates.
It is undeniably weak though. Even the highest end desktop components aren't going to top Xenon at only 1.3ghz and 3 cores.


Isn't one core and cache dedicated to game pad?


I'd assume when the gamepad is on, that's part of the API. Don't see why not. Something has to process that novelty goodness. Doubtful for games only using the pro controller, though, and it's not really got much relevance to the point.
---
AMD CACHING = NOT YET FINISHED
Hey... just so you know...PC is a brand. ;). ~Lord_Kagato
#32neoVIVI222Posted 1/10/2013 8:50:01 PM
3D_Shado posted...
Skul_ posted...
From: 3D_Shado | #001
What's faster?

1. One guy with 6 arms carrying bricks at 3.2 feet per second
2. Three guys with 2 arms each carrying bricks at 3.2 feet per second
3. Three guys with 1 arm each carrying bricks at 1.24 feet per second

Both 1 and 2 seem equivalent, right? There are 6 arms in total, each carrying the same amount of bricks at the same speed. But with 3, there are half as many arms and they move far slower.

1 and 2 correspond to the PS3 and 360, respectively. The 360 has 3 physical cores, each with 2 logical cores - 3*2 = 6, i.e. 6 things operating in tandem with the same capability. The PS3 has a more unique architecture, with a single core called the PPE acting as a master to 6 slaves called SPEs, that receive and execute instructions independently. Since the PPE is mostly busy controlling the SPEs, we once again have 6 things operating in tandem at the same speed.

3 corresponds to the Wii U. Wii U has 3 cores, which cannot split into logical cores as the 360 CPU does. So only 3 things can execute simultaneously using this CPU. In addition, the speed at which things execute is nearly 1/3rd of the other two consoles (3.2 Ghz). So theoretically, Wii U is 5 times SLOWER than the 360 and PS3. The reasons it can push graphics almost equal to these consoles is:

- a stronger GPU (FAR superior to the others)
- less overhead (Though it can only push 14 GFLOPS compared to the 360's 115 and the PS3's 218, less processing power is spent on the numerous background tasks of more complex operating systems)
- more RAM, allowing more game data to occupy memory instead of being read from disk

I hope this has been educational for you.


OK. Sure they move faster, have more arms in which to carry bricks. But the Wii U has been working out. Been going to the gym every day. While the PS360 can only carry 1 brick in every hand, the Wii U can carry 2. And then theres the fact that the Wii U is a craft bastard, and uses that hidden warp pipe. This cuts more than half the travel time. So lets say a trip for PS360 is 50 feet, with the pipe its 15 feet for the wii u.

The 360 takes 15.625 seconds to deliver bricks, and delivers (3x2x1) 6 bricks.
The Wii U 12.1 Seconds to deliver bricks, and delivers (3x1x2) 6 bricks.

So they are similar, with the Wii U being slightly faster. 100% comfirmed by math. Thank you ladies and gentleman. Good night.


So you're saying the Wii U has:

- optimization of pre-compiled games at the runtime level (i.e. "cutting the travel time" by skipping instructions)
- heightened vectorization (meaning, while PS3 and 360 support SIMD with 128 bits and could operate on 4 integers simultaneously, Wii U can do significantly more at once and is "stronger")

I saw no such information about the Wii U. If I did I would've mentioned it as a bonus for the CPU. Where'd you find this information? You should support the metaphor with technical data so people understand it better.


The Wii U has a shorter pipeline than the 360 and PS3, I think the Wii U is around 5 stages and I know the 360 is around 24 stages. The best way to think about pipelines is how you do laundry, do you put one load(one instruction) in and wait for it to be fully done washed, dried and folded before starting the next or do you fill up the washer once it the first load in the washer is no longer using it. A simple pipeline would be 1) Get the instruction, 2)Decode the instruction 3)Load in data, 4)Execute, 5)Store. So the Wii U is probably has a similar pipeline to this while the 360 has broken this up into many parts.

So why pipeline? Because you get more done in a given time period but there are trade offs which will be in next post.
#33TechniMyokoPosted 1/10/2013 8:58:26 PM
PS3 has 1 guy with 2 arms, and another 7 arms. so 9 total.
#34VampiricDragon_Posted 1/10/2013 9:07:02 PM
or the fact that the wii u is doing things the ps3 cant
#35neoVIVI222Posted 1/10/2013 9:09:05 PM
So what are the negative aspects of pipelines?
1)Hardware complexity
2)Power requirements
3)Branch statements

Hardware complexity is self explanatory, you need to put more stuff on the chip to pipeline. Power requirements is where things get interesting. In order to effectively use a pipeline you need to increase your clock speed/frequency proportionally with the number of stages. So the Wii U has a smaller pipeline thus a smaller clock speed (1.2GHz). The Xbox 360 has a massive number of stages so it has a high clockspeed (3.2GHz). With the higher clockspeed you use more power because of that is how the transistors on the chip work unfortunately. But why do you need the higher clock speed? You have more stages to send an instruction through that's why.

Now what about branch statements. Think of a branch as an If statement. If this is true do this code otherwise do this code. Branch statements kill long pipelines and games have lots of branch statements. So what is the issue? You have been loading all of these instructions into that long pipeline but you may not know if you have a branch statement until the very end and now you realize all those instructions you loaded are not going to be executed and have to be deleted. With the brick carrier metaphor think about a line of 23 brick carriers and the guy in front stops and all 22 behind him collide and drop their bricks. Those bricks need to be removed(clean the instructions from the pipeline) and now you need to have the brick carriers go grab more bricks only to this repeat again fairly quickly. With a small pipeline you don't lose that much time cleaning the pipeline and refilling it compared to a long pipeline.

Current processors have gone back to this short pipeline because it is more effective (go read up about the pentium 4 and the GHz wars). The current intel line is at its very core a highly modified pentium 3 which has a short pipeline in it.

One last benefit the Wii U CPU has over the PS3 and 360 is that it can execute instructions out of order(OoOE). When the program is complied the complier looks for dependencies between instructions and optimizes the instruction order so that the CPU does not have to wait on a results while ensuring the program will operate as intended. Think about the following instructions: 1)y = x+3, 2)z = y+5, 3)x=5. On the Wii U CPU the 3rd instruction will be executed between the first and the second one listed because if you were to go 123 you would have to wait in the pipeline to find out what the value of Y is. Since #3 is does not take any data from the second instruction it can be executed before #2 without any issues.

What is really interesting with the Wii U CPU is that the Wii and GC did not support OoOE and this is even more complicated than adding in pipelining. So even if the Wii U CPU is 3 modified Broadway cores those cores have been highly modified to the point where they should not be called Broadway cores.

tldr: shorter pipelines are better than longer pipelines, Out of Order execution is great for gaming and its a good thing Wii U has it.
#36diggyfreshPosted 1/10/2013 9:10:24 PM
What does "intuitively" mean?
---
Currently playing: CODBLOPS2, RE: Revelation, & Xenoblade
#37RedOrionPosted 1/10/2013 9:16:26 PM
TechniMyoko posted...
PS3 has 1 guy with 2 arms, and another 7 arms. so 9 total.


Wait, so when exactly do feet and legs come into play.
#38diggyfreshPosted 1/10/2013 9:21:36 PM
RedOrion posted...
TechniMyoko posted...
PS3 has 1 guy with 2 arms, and another 7 arms. so 9 total.


Wait, so when exactly do feet and legs come into play.


Yes, are legs important? Do the runners have legs that are equal in length? And if one runner was a woman, and women are better at multitasking because their brains are specialized for that, would that make a difference as well? I think TC is on to something here.
---
Currently playing: CODBLOPS2, RE: Revelation, & Xenoblade
#39Fyrus797Posted 1/10/2013 9:44:17 PM(edited)
neoVIVI222 posted...
So what are the negative aspects of pipelines?
1)Hardware complexity
2)Power requirements
3)Branch statements

Hardware complexity is self explanatory, you need to put more stuff on the chip to pipeline. Power requirements is where things get interesting. In order to effectively use a pipeline you need to increase your clock speed/frequency proportionally with the number of stages. So the Wii U has a smaller pipeline thus a smaller clock speed (1.2GHz). The Xbox 360 has a massive number of stages so it has a high clockspeed (3.2GHz). With the higher clockspeed you use more power because of that is how the transistors on the chip work unfortunately. But why do you need the higher clock speed? You have more stages to send an instruction through that's why.

Now what about branch statements. Think of a branch as an If statement. If this is true do this code otherwise do this code. Branch statements kill long pipelines and games have lots of branch statements. So what is the issue? You have been loading all of these instructions into that long pipeline but you may not know if you have a branch statement until the very end and now you realize all those instructions you loaded are not going to be executed and have to be deleted. With the brick carrier metaphor think about a line of 23 brick carriers and the guy in front stops and all 22 behind him collide and drop their bricks. Those bricks need to be removed(clean the instructions from the pipeline) and now you need to have the brick carriers go grab more bricks only to this repeat again fairly quickly. With a small pipeline you don't lose that much time cleaning the pipeline and refilling it compared to a long pipeline.

Current processors have gone back to this short pipeline because it is more effective (go read up about the pentium 4 and the GHz wars). The current intel line is at its very core a highly modified pentium 3 which has a short pipeline in it.

One last benefit the Wii U CPU has over the PS3 and 360 is that it can execute instructions out of order(OoOE). When the program is complied the complier looks for dependencies between instructions and optimizes the instruction order so that the CPU does not have to wait on a results while ensuring the program will operate as intended. Think about the following instructions: 1)y = x+3, 2)z = y+5, 3)x=5. On the Wii U CPU the 3rd instruction will be executed between the first and the second one listed because if you were to go 123 you would have to wait in the pipeline to find out what the value of Y is. Since #3 is does not take any data from the second instruction it can be executed before #2 without any issues.

What is really interesting with the Wii U CPU is that the Wii and GC did not support OoOE and this is even more complicated than adding in pipelining. So even if the Wii U CPU is 3 modified Broadway cores those cores have been highly modified to the point where they should not be called Broadway cores.

tldr: shorter pipelines are better than longer pipelines, Out of Order execution is great for gaming and its a good thing Wii U has it.


Mind=blown 0.0
I swear I didn't know any of that stuff about CPUs. I've just been told by my cousin that newer architecture can give more for less, but this really explains a lot

EDIT: also, neovivi, do you mind if I quote this in future threads?
---
I do not agree with what you have to say, but I'll defend to the death your right to say it. Voltaire
#40AsellusPosted 1/10/2013 9:50:59 PM(edited)
What is really interesting with the Wii U CPU is that the Wii and GC did not support OoOE and this is even more complicated than adding in pipelining.

That's not true. Broadway (The Wii's CPU) did most certainly have it
http://en.wikipedia.org/wiki/Broadway_%28microprocessor%29

And while it's hard to find much info on Gecko (GC's) this site
http://hitmen.c02.at/files/yagcd/yagcd/chap2.html

- lists it as a feature of its too.

So even if the Wii U CPU is 3 modified Broadway cores those cores have been highly modified to the point where they should not be called Broadway cores.

Kind of just lost the basis of your argument there, I'm afraid.

Addendum:

Mind you, both Cell and Xenon are kind of p4'ish in that their high clock speeds disguise a pretty lousy instruction-per-clock ratio so I'm sure Hollywood's actually pretty competitive with them even at 1/3rd the clock speed. Doesn't change the fact though that's a pretty dismal result for a chip seven years newer.