Xbox 360 vs. PS3 - A Processor Comparison - AVS Forum
Forum Jump: 
Closed Thread
 
Thread Tools
post #1 of 479 Old 11-27-2006, 09:07 PM - Thread Starter
Advanced Member
 
mterzich's Avatar
 
Join Date: Nov 2005
Posts: 993
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
I am trying to be impartial. I am not a gamer and do not have any interest of ever purchasing a game console but from a programmer perspective both the Xbox 360 and PS3 intregues me.

When I initially looked at the specifications of the Cell (PS3) and Xenos (Xbox 360) processors, it appeared that the cell processor had a big advantage over the xenos processor if both were able to harness the maximum amount of power. After looking into more detail I have come to the conclusion that the xenos processor will probably be able to perfom better than the cell processor under almost all conditions.

Both processors are stripped down and modified versions of the IBM 970 PowerPC. Each core executes at less than 1/2 the speed of the IBM 970 at the same clock frequency due to the fact that the IBM 970 has multiple execution units and will perform out-of-order execution (parallel processing) whereas the cell and xenos processors only have a single execution unit and will perform in-order execution (sequential processing). The following link illustrates the performance of a PS3 at 3.2 GHz and a Power Mac G5 at 1.6 Ghz using the linux operating system.

http://www.geekpatrol.ca/2006/11/pla...3-performance/

Linux runs on the Power Processor Element (PPE) of the cell processor so the results should be similar to one core of the xenos processor since all three cores are the same. Both processors are clocked at 3.2 GHz.

The similarities of the two processors ends there. The xenos processor has 3 identical PPE cores where as the cell processor has only 1 PPE core and 7 SPE cores.

Cell Processor
  • One general purpose PPE core that is used for the OS and the game application.
  • 512 MB total memory on 2 buses which can be accesed directly only by the PPE core. 256 MB of processor main memory and 256 MB of memory used by GPU.
  • 512 KB L2 cache for the PPE.
  • 32 KB L1 instruction cache and 32 KB L1 data cache for the PPE.
  • 7 specialized SPE cores. One is used for the OS leaving 6 for the game application.
  • 256KB SRAM per SPE. No common memory between SPEs and SPE cannot access the PPEs main memory directly but the PPE can access the SPEs memory directly.
  • Communications between SPE memory or to the PPE memory is performed via the Element Interconnect Bus (EIB) by either accessing ports or via DMA.
  • SPEs do not have branch prediction capability.
Xenos Processor
  • 3 General purpose PPE cores that are used for the OS and game application.
  • 512 MB main memory that is shared by all three cores and GPU.
  • 1 MB of L2 cache that is shared by the 3 cores (333 KB per core average).
  • 32 KB L1 instruction cache and 32 KB data cache for each core.
  • 2 Hardware threads per core.
Programming the 360

The OS does not use core 0 and uses only about 3% of the power of core 1 and 3% of the power of core 2. Therefore about 98% of the processor power of all three cores are available for the game application.

Programming the 360 is fairly easy and straight forward since a large amount of shared main memory is available, a relatively large amount of shared L2 cache is available, and information can be quickly and easily passed between different threads (cores) of the application by just passing pointers.

Typically an application will initially be developed using only one thread of a core. Once the application is developed the application can then be segmented to use multiple cores and possibly multiple hardware threads of each core. The easiest seqmentation would be to place the game control plus AI code in one core and graphics rendering code in another core. As soon as the AI code completes its operation, it would queue the information for graphics rendering core and immediately start to process the next frame. The graphics rendering code will be executing code for the current frame and the AI will be executing code for the next frame simultanously.

Segmenting a program beyond that becomes more difficult. The developer would have to first determine where the bottleneck is occuring. If it was in the AI code, he would then have to determine if parallel processing can be performed on the code (ex. In a racing program, it may be possible for the main program to process the AI for 5 racing cars and another core process the AI for the other 5 racing cars on the track at the same time). If the bottleneck was in the graphics rendering code, it may be possible for part of the graphics rendering code to be done in parallel in another core.

When a program is seqmented among all three cores, one of the cores may be active 100% of the time but the other two may only be active a very small time (10%, 20%, 50%, etc.). In this case more segmentation may be required of the core that is active 100% of the time. In this case, a new hardware thread can be added to one of the less active cores to handle 2 processes at one time. Once all the available hardware threads are used and more segmentation is still required, software threads (although not as efficient as hardware threads) can then be added until that core approaches 100% usage.

Once all three cores are executing near 100%, the maximum frame rate, sophistication, and detail capabilities will have been acheived. If the AI is issueing frames faster than the GPU can process them (maximum 60 fps at 720p or 30 fps at 1080i), more detail or sophistication can be added

Programming the PS3

The PS3 is so much more difficult to program than the 360. In a sense it is designed similar to multiprocessor systems used by specialized customers such NASA Ames Research Center. The concept is based on the principle that there is a very large amount of repetive mathematical data that can be performed in a parallel or a segmented sequential fashion (ex. one core multiples two arrays of 10000 numbers and then passes the output array to another core which performs divides on individual elements in the array which will pass the array to another core which performs some other operation on the data, etc. After the first core finishes its operation, it will acquire more data and perform the same operation).

Like the 360, the application would initially be developed using the PPE core. Next you would think that the PS3 (just like the 360) would be able to segment the game control plus AI code into one core and the graphics rendering code into another core. However that is not possible! Since the total application code may be about 100 MB and the SPE only has 256KB of memory, only about 1/400 of the total code can fit in one SPE memory. Also since there isn't any branch prediction capabilities in an SPE, branching should be done as little as possible (although I believe that the complier can insert code to cause pre-fetches so there may not be a big issue with branching).

Therefore the developer has to find code that is less than 256KB (including needed data space) that will execute in parallel.

Even if code can be found that can be segmented, data between the PPE and the SPE has to be passed back and forth via DMA which very slow compared of a pointer to the data like the 360.

If we assume that enough segment code was found that could use all the 6 SPE cores assigned to the game application, now the developer would try to balance the power among the cores. Like the 360, some or all the cores may have a very low utilization. Adding more hardware threads are not possible since each core has only one hardware thread. Adding software threads probably will not work due to the memory constraint. So the only option is an overlay scheme where the PPE will transfer new code using DMA to the SPE when the last overlay finishes processing. This is very time consuming and code has to be found that does not overlap in the same time frame.

Future Generation Consoles

In a few years both Microsoft as well as Sony may want to release the next generation game console. When they do that they usually want to maintain backward compatibility with their present console (multi-core applications). You would think that they could get 3 times the processor power by using the same design but instead running the processor at 9.6 Ghz. If that could be done, there wouldn't be any problems maintaining backward compatability.

Degrading the internals of this generation game console processors was done purposely by both Microsoft and Sony as a cost saving issue. It was cheaper to increase the clock frequency and degrade the internals that it would be to have a full featured PowerPC at 40% of the current clock frequency.

However, over the last several years it has been more and more dificult to increase the clock frequency and performance has been improved primarily redesigning the internals of the processor as well as implenting dual core processors and occasionally quad core processors.

In the case of 360, that should be a fairly easy and cost effective upgrade in several years. Since the Xenos processor is a fairly standard design, Microsoft probably would be able to purchase an off the shelf 3.2 GHz IBM 970 Quad processor for a pretty reasonable price (only a dual processor currently exists at that frequency). In this case three cores should give about 2.5x the power the current Xenos processor plus an additional core for a total of over 3x the processor power. In the worst case, Microsoft could purchase an Intel based quad processor like apple did (single and dual core processors) for all its new systems (I expect that PowerPC prices got too high) and use emulation for all old game applications. The following link indicates that a single core Intel processor with the same clock frequency as a single core PowerPC executes about the same overall even though emulation is being performed by the Rosetta operating system. All new applications would then use Intel native compiliers for better performance.

http://www.macworld.com/2006/03/firs...arks/index.php

If developers develop game applications using the SPEs, Sony will probably have a problem. If applications used SPEs it would be difficult to change the processor design although it may be possible (but extremely difficult) to emulate the SPEs and keep a decent level of performance. Upgrading all SPEs and the PPE to be fully featured would probably not be cost effective. Sony may decide to keep the SPEs at their current speed and capabilities and add 4 fully featured PowerPC cores. New compiliers would then probably not allow developers to use the SPEs for future development.

Conclusion

In my opinion, I have serious doubts that very many developers (except exclusive developers) will program the SPEs on the PS3. Complexity is enormous, development time is large, and potential for bugs is also great.

I suspect that Gears Of War is already using the multiprocessor capability but still only using about 50% of the total power available.

It would be hard to imagine that a PS3 game application could perform better than a 360 game application without a great deal of development time.

Important updates

Read the following link for important updates to this document.

http://www.avsforum.com/avs-vb/showt...34#post9027534

References

http://dpad.gotfrag.com/portal/story/35372/?spage=1
http://www.hardcoreware.net/reviews/review-348-1.htm
http://en.wikipedia.org/wiki/Synergi...cessor_Element
http://en.wikipedia.org/wiki/Xenos
http://arstechnica.com/cpu/03q1/ppc970/ppc970-2.html
mterzich is offline  
Sponsored Links
Advertisement
 
post #2 of 479 Old 11-27-2006, 09:28 PM
AVS Special Member
 
BuGsArEtAsTy's Avatar
 
Join Date: Aug 2001
Location: AVS Forum
Posts: 7,121
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Not a programmer but here are my 2ยข.

The Xenon CPU seems like a good chip that fits in with Microsoft's programming preferences - a more PC-like design as it were, more suited for quick and slick creation of developer tools, and more suited to the way most programmers think of CPUs.

OTOH, I would guess that Cell may be more well suited for some streaming media type applications.

Also, I would guess that some x-platform games may be target mainly only the PPE core, which means they would likely run better on the 360's Xenon CPU in most instances, despite the lower clock speed.

Quote:


I suspect that Gears Of War is already using the multiprocessor capability but still only using about 50% of the total power available.

The HD DVD group claims that HD DVD playback is the toughest application out there for the Xbox 360, and tougher than every 360 game, except for Gears of War in some parts of the game.
BuGsArEtAsTy is offline  
post #3 of 479 Old 11-27-2006, 09:42 PM - Thread Starter
Advanced Member
 
mterzich's Avatar
 
Join Date: Nov 2005
Posts: 993
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by BuGsArEtAsTy View Post

OTOH, I would guess that Cell may be more well suited for some streaming media type applications.

The PS3 should excel in areas such as decoding MPEG streams. The data is vast, repetive, and the developer could possibly use either a parallel or sequential fashion concept.

Quote:


Also, I would guess that some x-platform games may be target mainly only the PPE core, which means it would likely run better on the 360's Xenon CPU.

I suspect that 90% or more of the current Xbox 360 applications are currently using a single core although dividing the game control plus AI and the graphics rendering is not that complicated of a task. However when developers get the program working fairly well on a single core and bug free, they tend to leave the segmentation and new enhancements for the next release to reduce the possibility of bugs.

Single core applications should run about the same on both consoles.

Quote:


The HD DVD group claims that HD DVD playback is the toughest application out there for the Xbox 360, and tougher than every 360 game, except for Gears of War in some parts of the game.

I don't think it is a tough application. It just requires a lot of CPU power so they probably have to use all three cores and MPEG streams are designed for milti-core processors..
mterzich is offline  
post #4 of 479 Old 11-27-2006, 09:49 PM
AVS Club Gold
 
calv1n's Avatar
 
Join Date: Jun 2005
Location: Alberta
Posts: 2,004
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
mterzich
Good post some great (and technical) information there. It breaks down in more detail what some programmer have been saying for awhile now.
I think graphically we are not going to see a big difference between the 2 consoles over their lifetime but the next round will be interesting.
Cheers
calv1n is offline  
post #5 of 479 Old 11-27-2006, 09:51 PM
Senior Member
 
DLove23's Avatar
 
Join Date: Oct 2003
Location: Illinois
Posts: 222
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by mterzich View Post

I suspect that Gears Of War is already using the multiprocessor capability but still only using about 50% of the total power available.

Scary.
DLove23 is offline  
post #6 of 479 Old 11-27-2006, 09:54 PM - Thread Starter
Advanced Member
 
mterzich's Avatar
 
Join Date: Nov 2005
Posts: 993
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by calv1n View Post

mterzich
Good post some great (and technical) information there. It breaks down in more detail what some programmer have been saying for awhile now.
I think graphically we are not going to see a big difference between the 2 consoles over their lifetime but the next round will be interesting.
Cheers

Once applications are witten using the multi-core capabilities of the 360, I would expect that the 360 may pull further away from the PS3. As a programmer the PS3 appears to be on a scale of massively more compliciated to program when using the SPEs.
mterzich is offline  
post #7 of 479 Old 11-27-2006, 09:54 PM
AVS Special Member
 
BuGsArEtAsTy's Avatar
 
Join Date: Aug 2001
Location: AVS Forum
Posts: 7,121
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:


I don't think it is a tough application. It just requires a lot of CPU power so they probably have to use all three cores and MPEG streams are designed for milti-core processors..

That's what I was meaning. ie. Toughest on the CPU.


Quote:
Originally Posted by mterzich View Post

I suspect that 90% or more of the current Xbox 360 applications are currently using a single core although dividing the game control plus AI and the graphics rendering is not that complicated of a task. However when developers get the program working fairly well on a single core and bug free, they tend to leave the segmentation and new enhancements for the next release to reduce the possibility of bugs.

I must say when the specs of the 360 CPU came out, I was a little bit surprised that it was a triple-core design. I wondered why it wasn't just a dual-core design, for less money and higher yields.

Could it have something to do with AVC and VC-1 decoding? Or is it something else?
BuGsArEtAsTy is offline  
post #8 of 479 Old 11-27-2006, 10:04 PM
 
uzziah's Avatar
 
Join Date: Jun 2005
Posts: 1,350
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by DLove23 View Post

Scary.


shows you how important optimization is; the 360's hardware isn't THAT incredible, it's just that the dev's have the ability to optimize so greatly knowing exactly what their game is playing on; this is the difficulty of PC's; even though they may (and will) become much more powerful than our cool white box
uzziah is offline  
post #9 of 479 Old 11-27-2006, 10:08 PM - Thread Starter
Advanced Member
 
mterzich's Avatar
 
Join Date: Nov 2005
Posts: 993
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by BuGsArEtAsTy View Post

I must say when the specs of the 360 CPU came out, I was a little bit surprised that it was a triple-core design. I wondered why it wasn't just a dual-core design, for less money and higher yields.

Could it have something to do with AVC and VC-1 decoding? Or is it something else?

I suspect it was more to do with marketing than a definate need. Although they may need that much processor power for the HD-DVD (not certain). Already many consider the PS3 better than the 360 since it has 8 cores but I think the 360 is a much better and more powerful design. If Microsoft delivered a dual processor console many gamers may not perceive it as not much better than the Wii (not knocking the Wii but it is not in the same catagory as either the 360 or PS3). Also the third processor will probably give enough processor power for the next couple of years.
mterzich is offline  
post #10 of 479 Old 11-27-2006, 10:16 PM - Thread Starter
Advanced Member
 
mterzich's Avatar
 
Join Date: Nov 2005
Posts: 993
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by uzziah View Post

shows you how important optimization is; the 360's hardware isn't THAT incredible, it's just that the dev's have the ability to optimize so greatly knowing exactly what their game is playing on; this is the difficulty of PC's; even though they may (and will) become much more powerful than our cool white box

You are correct. The 360 has 3 degraded cores but together they produce about the same power as the highest end desktop processors. Also dual core desktop processors are becoming more common for desktops. However a PC game cannot be designed only for the most powerful PC or dual core PC because that would reduce sales. So they design those for the current average desktop and will probably play OK on a lower end desktop.
mterzich is offline  
post #11 of 479 Old 11-27-2006, 10:34 PM
AVS Special Member
 
FiveMillionWays's Avatar
 
Join Date: Jun 2004
Location: Dallas, Texas
Posts: 1,184
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
I don't care which one is better then the other because I just get all the good consoles anyway. When I got my first XBOX I stopped playing my PS2. I never really take anything Kidtendo makes. This time though I may get one for gimmicks. They should try and enable 720 P for those of us with high end gaming rigs though. 480P sucks on hdtvs.
FiveMillionWays is offline  
post #12 of 479 Old 11-27-2006, 11:06 PM - Thread Starter
Advanced Member
 
mterzich's Avatar
 
Join Date: Nov 2005
Posts: 993
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by FiveMillionWays View Post

I don't care which one is better then the other because I just get all the good consoles anyway. When I got my first XBOX I stopped playing my PS2. I never really take anything Kidtendo makes. This time though I may get one for gimmicks. They should try and enable 720 P for those of us with high end gaming rigs though. 480P sucks on hdtvs.

It wouldn't be that easy to enable 720p on the Nintendo. The are only using a 729 MHz single core full features PowerPC processor. This is about 1/2 the processor power of a single PPE core on the 360 or PS3. I suspect that would be enough processor power to produce 720p graphics. However I suspect that Nintendo determined that they would rather have sophistication at 480p rather than previous generation applications upgraded to 720p. I suspect that it is one or the other but not both.
mterzich is offline  
post #13 of 479 Old 11-27-2006, 11:28 PM
Member
 
Extra's Avatar
 
Join Date: Aug 2006
Posts: 156
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:


It wouldn't be that easy to enable 720p on the Nintendo. The are only using a 729 MHz single core full features PowerPC processor. This is about 1/2 the processor power of a single PPE core on the 360 or PS3. I suspect that would be enough processor power to produce 720p graphics. However I suspect that Nintendo determined that they would rather have sophistication at 480p rather than previous generation applications upgraded to 720p. I suspect that it is one or the other but not both.

I would image the resolutions would be more directly impacted by the GPU rather than the CPU no?

From what I understand, CPU seriously takes a backseat to GPU in the direct realm of graphics. CPUs might perform some geometry setups and whatnot, but I'd imagine the GPU matters a whole lot more than the CPU for pushing actual pixels (720p).
Extra is offline  
post #14 of 479 Old 11-27-2006, 11:51 PM - Thread Starter
Advanced Member
 
mterzich's Avatar
 
Join Date: Nov 2005
Posts: 993
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by Extra View Post

I would image the resolutions would be more directly impacted by the GPU rather than the CPU no?

From what I understand, CPU seriously takes a backseat to GPU in the direct realm of graphics. CPUs might perform some geometry setups and whatnot, but I'd imagine the GPU matters a whole lot more than the CPU for pushing actual pixels (720p).

I'm now not sure if 243 MHz Hollywood GPU is powerful enough to render the graphics very well. You would think that at 243 MHz it should work ok but probably not too great. However after searching the web it appears that it is only about 2x the speed of the GameCube and that is based on speculation since the vendor has not released specifications. In that case it probably wouldn't work to well.

Still the processor requires quite a bit more CPU power when a lot of detail is included in the frames so Nintendo may have chose to not support 720p for both reasons.
mterzich is offline  
post #15 of 479 Old 11-28-2006, 12:01 AM
Member
 
Extra's Avatar
 
Join Date: Aug 2006
Posts: 156
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Regarding the Hollywood GPU:

720p is 3x the pixel count of 480p, so it requires 3x more raw fillrate.

They could do 720p, just like PS3 could do 1080p, but it would only work on certain games. I could see Mario being in 720p, for example, since the game has that "cartoon" look they could get away with less detailed textures. The thing to keep in mind was Soul Calibur 2 for Xbox 1 was 720p (but only in 4:3 not widescreen). So they could certain do it if the chose to.

But as a norm...I don't think so.
Extra is offline  
post #16 of 479 Old 11-28-2006, 01:36 AM
Advanced Member
 
JerryNY's Avatar
 
Join Date: Jun 2005
Posts: 612
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
You can make an argument either way about which approach is better as far as CPU's go; 3 identical general purpose cores (each hyper-threaded for a total of six threads simultaneously on the 360) or one general purpose core in the PS3 with the additional 6 useable SPE's but the GPU is where it's at in the current state of these consoles. Both these consoles are acting in much the same way Multiple CPU machines would on the desktop. Getting any code to utilize all that CPU hardware all the time is nearly impossible. Anyone that has ever used a multi-CPU PC/Mac can tell you how truly rare it is to see all the CPU resources eaten up. I have had dual CPU Macs for years and now own a quad core Xeon Mac Pro which is a monster but getting something other than a professional rendering or video encoder to use all that horsepower is truly rare.

When it comes to GPU's I think the 360 is a generation ahead of the PS3. It doesn't seem to make sense that a console GPU that debuted a year ago would be more advanced than one that is brand spanking new but this appears to be the case. The 360's GPU is essentially Ati's next gen chip (R600) which is a major break from what is out there. The PS3's GPU is a modified version of a 7800GTX which is nice but not even what would be considered leading edge in a PC today. The 360's GPU essentially eliminates memory bottlenecks and allows for things like 4xAA with almost no penalty in performance because of this. It is a very efficient design and far easier to squeeze every ounce of resources out of than the PS3's GPU. Shaders are the big thing with graphics today and in real world performance the 360's GPU is far more efficient and in the end more powerful.

-Jerry C.
JerryNY is offline  
post #17 of 479 Old 11-28-2006, 02:41 AM
Member
 
Extra's Avatar
 
Join Date: Aug 2006
Posts: 156
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
^^ I agree.

I find it ironic and comical that nVidia criticized the Xenos' unified shader structure at first...and now the Geforce 8800 uses unified architecture. MMmmm yea. Nothing says "owned" more than following your competitor's footsteps after trashing it.

Sony seems like they just didn't spend much effort on the GPU. The story goes that they wanted to produce their own GPU like they did with the PS2, but time restraints (and let's face it, nVidia/ATI are so much ahead of anyone else right now there's no way Sony can compete with them) forced them to change their mind. The problem is they weren't working with nVidia since the beginning like MS did with ATI, therefore their options were limited. So it doesn't surprise me at all that MS got a better GPU out of their deal.

I think from the PC gaming perspecive, it's been basically established that GPU > CPU for games. A video card upgrade does a LOT more for a game than a CPU upgrade.
Extra is offline  
post #18 of 479 Old 11-28-2006, 03:00 AM - Thread Starter
Advanced Member
 
mterzich's Avatar
 
Join Date: Nov 2005
Posts: 993
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by JerryNY View Post

You can make an argument either way about which approach is better as far as CPU's go; 3 identical general purpose cores (each hyper-threaded for a total of six threads simultaneously on the 360) or one general purpose core in the PS3 with the additional 6 useable SPE's but the GPU is where it's at in the current state of these consoles. Both these consoles are acting in much the same way Multiple CPU machines would on the desktop. Getting any code to utilize all that CPU hardware all the time is nearly impossible. Anyone that has ever used a multi-CPU PC/Mac can tell you how truly rare it is to see all the CPU resources eaten up. I have had dual CPU Macs for years and now own a quad core Xeon Mac Pro which is a monster but getting something other than a professional rendering or video encoder to use all that horsepower is truly rare.

When it comes to GPU's I think the 360 is a generation ahead of the PS3. It doesn't seem to make sense that a console GPU that debuted a year ago would be more advanced than one that is brand spanking new but this appears to be the case. The 360's GPU is essentially Ati's next gen chip (R600) which is a major break from what is out there. The PS3's GPU is a modified version of a 7800GTX which is nice but not even what would be considered leading edge in a PC today. The 360's GPU essentially eliminates memory bottlenecks and allows for things like 4xAA with almost no penalty in performance because of this. It is a very efficient design and far easier to squeeze every ounce of resources out of than the PS3's GPU. Shaders are the big thing with graphics today and in real world performance the 360's GPU is far more efficient and in the end more powerful.

-Jerry C.

I agree that the GPU is very important and the the 360 GPU is well advanced of the PS3 GPU but without the CPU power the sophistication, AI, and detail could not be produced. Also there is not much that can be done about the GPU right now since it is already in the console.

I also agree that very few programs are available today for a PC or Mac that use more than one processor core. The reason is twofold, the complexity and manpower to develop programs that work with either single or multiple cores as well as the lack of multi-core systems that would make the development profitable. It will be a long time before more than one or two programs will use the quad capability due to its extreme rarity.

In the case of the game consoles, the same mutli-core hardware is currently available for all customers so developers have a reason (and profit motive) to develop multi-core applications. Just like HDTV it is a chicken and egg issue. Very few multi-core applications will be developed until there are a lot of consoles available. Eventually to survive most applications that desire a high degree of sophistication and a large amount detail will have to use multi-core.

Developing any application for multi-core use is difficult. However developing a multi-core application that uses SPEs is extremely complex. Just image that the SPE does not even have more memory than the original MS-DOS system from 1981 (although some initially had 128KB but quickly most went to 256K and than 512KB and finally to the maximum 640KB). Then the constant use of DMA to transfer data to and from the SPE is very slow and complex. Finally synchronization is complex and is usually controlled by the PPE core. In comparison the Xenos processor uses common memory, has a large amount of memory per process, can use a memory queue to communicate, and can therefore be totally asynchronous.

For example on the 360, during a certain time in the program the AI process could be generating frames faster than the graphics rendering process could be processing the frames. In this case there isn't any great concern since when the graphics rendering procces finishes processing the last frame, it just deletes that information from the queue and starts processing the next frame. No synchronization is necessary. However if the graphics rendering process gets too far behind, noticeable lag could start to occur so the AI process would just temporarily suspend itself if more than an acceptable amount of frames are in the queue.

On a PS3 that is much more complex. Since data is transferred via DMA, that operation is usually initiated by the PPE and usually won't be initiated until the SPE is idle otherwise it would probably corrupt the currently used data in SPEs memory. The PPE could transfer the block of data to a different part of the SPEs memory but with the very limited memory available for the SPE that may not be feasible. Also the PPE cannot easily determine what is happening in the SPEs memory unlike the 360 where processes can aquire semaphores during critical code while the queue is being updated. I'm sure there is some safe mechanism for performing that type of operation but it is probably quite complex and was probably not well designed for an asynchronous operation.
mterzich is offline  
post #19 of 479 Old 11-28-2006, 07:31 AM
Member
 
Rhegaana's Avatar
 
Join Date: May 2006
Posts: 135
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
It seems like the 360 is a winner in every aspect, Is there a situation where the PS3 hardware has an advantage? BTW Im no techie or programmer just curious so I can wow my friends during gatherings!
Rhegaana is offline  
post #20 of 479 Old 11-28-2006, 08:08 AM
AVS Special Member
 
mboojigga's Avatar
 
Join Date: Mar 2006
Location: Little Rock AFB, Arkansas
Posts: 7,923
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 9 Post(s)
Liked: 429
Quote:
Originally Posted by Rhegaana View Post

It seems like the 360 is a winner in every aspect, Is there a situation where the PS3 hardware has an advantage? BTW Im no techie or programmer just curious so I can wow my friends during gatherings!


Your silly.

The 5.0 is here
mboojigga is offline  
post #21 of 479 Old 11-28-2006, 10:49 AM
Advanced Member
 
Jetrii's Avatar
 
Join Date: Sep 2006
Posts: 863
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Excellent post mterzich. Perhaps there is something you could answer for me, how did Sony come up with 1.8 Teraflops for RSX? It appears that the X1950XTX and 8800GTX can achieve around 500-600 GFLOPS respectively. Seems like they just pulled that number out of their ass.

Never argue with an idiot. They drag you down to their level then defeat you with experience.
Jetrii is offline  
post #22 of 479 Old 11-28-2006, 11:16 AM
AVS Special Member
 
skogan's Avatar
 
Join Date: Feb 2004
Location: Koror, Palau
Posts: 4,415
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Interesting thread, though I only understand half of it.
skogan is offline  
post #23 of 479 Old 11-28-2006, 11:29 AM - Thread Starter
Advanced Member
 
mterzich's Avatar
 
Join Date: Nov 2005
Posts: 993
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by Jetrii View Post

Excellent post mterzich. Perhaps there is something you could answer for me, how did Sony come up with 1.8 Teraflops for RSX? It appears that the X1950XTX and 8800GTX can achieve around 500-600 GFLOPS respectively. Seems like they just pulled that number out of their ass.

I'm not an expert on GPUs so I can't really answer that but it does appear that they pulled it out of the air. The following link gives a good analysis of the 2 GPUs.

http://dpad.gotfrag.com/portal/story/35372/?spage=7
mterzich is offline  
post #24 of 479 Old 11-28-2006, 11:45 AM
Senior Member
 
DLove23's Avatar
 
Join Date: Oct 2003
Location: Illinois
Posts: 222
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
It really is surprising to me that the PS3 had a year after the 360 launched and its hardware is inferior. I'm no fanboy of either, but right now I really don't care as much that I didn't pick up a PS3 at launch. I wanted one and figured it would be the next big thing in gaming but it appears I already have that console in the Xbox 360. The only thing, it appears, that the PS3 has going for it is a built in Blu-Ray drive but if Blu-Ray doesn't catch on, oh boy. I'll tell ya what, I sure am enjoying my HD-DVD drive for the 360 and the selection of movies out there right I think looks just as good if not better for HD-DVD than Blu-Ray. The PS3 maybe be the most wanted unit right now in terms of demand with what the barnstorming of stores and crazy ebay auctions but you gotta think that Microsoft has really come out of this smelling like a rose. The 360 not only has a years headstart in the marketplace, a superior online gaming platform in Live, but also a superior console even after a years' head start.
DLove23 is offline  
post #25 of 479 Old 11-28-2006, 12:04 PM
Advanced Member
 
Jetrii's Avatar
 
Join Date: Sep 2006
Posts: 863
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by mterzich View Post

I'm not an expert on GPUs so I can't really answer that but it does appear that they pulled it out of the air. The following link gives a good analysis of the 2 GPUs.

http://dpad.gotfrag.com/portal/story/35372/?spage=7

Yea, I read that last week. Pretty much confirmed what I already knew.

Some people don't understand how a console released a year after the Xbox 360 could possibly be inferior. Simply put, while the console was released a year later, the technology is not a year ahead. The specs for the PS3 were pretty much finalized back in March. Sony was able to add small things (such as HDMI to the core) but they couldn't change the processor/GPU/Ram.

Never argue with an idiot. They drag you down to their level then defeat you with experience.
Jetrii is offline  
post #26 of 479 Old 11-28-2006, 12:13 PM
Senior Member
 
JData's Avatar
 
Join Date: Mar 2004
Location: Meadville PA
Posts: 461
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by Jetrii View Post

Yea, I read that last week. Pretty much confirmed what I already knew.

Some people don't understand how a console released a year after the Xbox 360 could possibly be inferior. Simply put, while the console was released a year later, the technology is not a year ahead. The specs for the PS3 were pretty much finalized back in March. Sony was able to add small things (such as HDMI to the core) but they couldn't change the processor/GPU/Ram.


I think there was a major or minor design flaw in the PS3 that pushed back the launch from Spring to Fall. From what I gather from "Darknight's" posts at the PS3 forum. Hence, why they couldn't delivers during launch.

mterzich,

I applaud your efforts in explaining the programming differences between the two products. I am still curious on the processing or GPU power of the PS3 if it can actually play games at 1080P or just upscale them from 720P.

I recall another developer cited that the 360 has a lot more power to do 1080P easily than the PS3.
JData is offline  
post #27 of 479 Old 11-28-2006, 12:20 PM - Thread Starter
Advanced Member
 
mterzich's Avatar
 
Join Date: Nov 2005
Posts: 993
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by Rhegaana View Post

It seems like the 360 is a winner in every aspect, Is there a situation where the PS3 hardware has an advantage? BTW Im no techie or programmer just curious so I can wow my friends during gatherings!

IMO the only advantage to the PS3 is that it has 8 cores instead of the 3 cores on the 360 but if the power is not harnessable or extremely difficult to harness, it means very little.

There as so many numbers games going on by both parties. Floating point operations is another example which are expressed as GFLOPS (billions of floating point operations per second). The 360 claims 115 GFLOPS whereas the PS3 claims 218 GFLOPS. That would amount to 38.3 GFLOPS per core on the 360 and assuming the PPEs are the same on the PS3 and 360, that would amount to the PPE core being approximately 38.3 GFLOPS and each SPE being approximately 25.6 GFLOPS on the PS3 by my calculations but others have calculated it a different way.

The problem is that the GFLOPS that are expressed are spread among cores and they are vector operations (massive repetive data using the exact same calculation has to be streamed through the vectors unit to acheive close to those figures). Only in physicis, nuclear research, weather prediction, etc. is there that much repetive data that is availabe that could possibly use multiple cores.

On a games console it would be extremely difficult to get multiple cores executing vector code simultanously let alone one core. In reality most developers can not use vector code (calculations are not repetive and the amount of data is not vast). So when they need floating point capabilities, they use the non-vector capabilities of the processors which typically give about 5 GFLOPS or less per core.

However, if developers can find such data that can be coded using the vector units and spread among many cores, the PS3 will have the advantage since SPEs were designed for those such operations and there is a large amount of SPEs.

As long as applications are using only one core, both the PS3 and 360 are on a pretty level playing field and it would be expected that the PS3 would outsell the 360 due to fan loyality. However once multiple cores are used on the 360, it should control the market for game sophistication, detail, and performance.
mterzich is offline  
post #28 of 479 Old 11-28-2006, 12:34 PM
Advanced Member
 
Jetrii's Avatar
 
Join Date: Sep 2006
Posts: 863
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by mterzich View Post

IMO the only advantage to the PS3 is that it has 8 cores instead of the 3 cores on the 360 but if the power is not harnessable or extremely difficult to harness, it means very little.

There as so many numbers games going on by both parties. Floating point operations is another example which are expressed as GFLOPS (billions of floating point operations per second). The 360 claims 115 GFLOPS whereas the PS3 claims 218 GFLOPS. That would amount to 38.3 GFLOPS per core on the 360 and assuming the PPEs are the same on the PS3 and 360, that would amount to the PPE core being approximately 38.3 GFLOPS and each SPE being approximately 25.6 GFLOPS on the PS3 by my calculations but others have calculated it a different way.

The problem is that the GFLOPS that are expressed are spread among cores and they are vector operations (massive repetive data using the exact same calculation has to be streamed through the vectors unit to acheive close to those figures). Only in physicis, nuclear research, weather prediction, etc. is there that much repetive data that is availabe that could possibly use multiple cores.

On a games console it would be extremely difficult to get multiple cores executing vector code simultanously let alone one core. In reality most developers can not use vector code (calculations are not repetive and the amount of data is not vast). So when they need floating point capabilities, they use the non-vector capabilities of the processors which typically give about 5 GFLOPS or less per core.

However, if developers can find such data that can be coded using the vector units and spread among many cores, the PS3 will have the advantage since SPEs were designed for those such operations and there is a large amount of SPEs.

As long as applications are using only one core, both the PS3 and 360 are on a pretty level playing field and it would be expected that the PS3 would outsell the 360 due to fan loyality. However once multiple cores are used on the 360, it should control the market for game sophistication, detail, and
performance.

The PS3 does not have 8 core. It has 1 core and 7 SPEs. As for Gigaflops, they mean nothing. The PS2's CPU has 2X more gigaflops than the Xbox's CPU and it wasn't as powerful. Gigaflops are a very crude way to measure performance.

Never argue with an idiot. They drag you down to their level then defeat you with experience.
Jetrii is offline  
post #29 of 479 Old 11-28-2006, 12:58 PM - Thread Starter
Advanced Member
 
mterzich's Avatar
 
Join Date: Nov 2005
Posts: 993
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by JData View Post

I am still curious on the processing or GPU power of the PS3 if it can actually play games at 1080P or just upscale them from 720P.

I really don't know the answer to that but I expect that games could be developed for 1080p. The question will be how much detail can be added before major issues start to occur with the GPU.

A more interesting observation is the different ways that the 360 and PS3 appear to handle scaling. Again I'm not a gamer so I am going on what other people say.

On the 360, I believe that if your console is set to 1080i and a 720p game is played, the 360 will scale the resolution to 1080i (correct me if I am wrong). If you look at the average GPU on a PC, I don't think there is such a capability. I think that the GPU will normally be instructed to set the output to the game resolution and all data will be passed at the game resolution. It appears that the 360 has the capability to scale the data to whatever resolution that is defined for the game console. Is this done by the GPU or is it done by the CPU? Normally scaling is performed on the raw data so usually it is done by the GPU. But I expect that it can be done by the CPU working on the pre-rendered graphics. Is it possible that there is a CPU call to a library such as NewResolutionDataPtr = ChangeResolution(CurrentResolutionDataPtr, Game Resolution) which will return the same pointer if the resolutions are the same or else scale the data to the correct resolution. If this scheme was used, that code would probably use a large amount of CPU power so it should be placed in another core.

On the PS3, if you HDTV does not support 720p, the console resolution is set to 1080i and a game may be played that was developed using 720p data, the PS3 will downscale to the data 480p. If it is required that the scaling take place on the raw data, will Sony have the ability to upgrade the GPU firmware to fix the problem? If the scaling can be performed by the CPU, does a SPE have enough memory available to hold both the library as well as all one input frame as well as one output frame?
mterzich is offline  
post #30 of 479 Old 11-28-2006, 01:10 PM - Thread Starter
Advanced Member
 
mterzich's Avatar
 
Join Date: Nov 2005
Posts: 993
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by Jetrii View Post

The PS3 does not have 8 core. It has 1 core and 7 SPEs.

Both SPEs and PPE are Processor Elements which are cores. The main difference between an SPE and a PPE is the internal bus supporting elements but the instruction processor element is almost idential.
mterzich is offline  
Closed Thread Xbox Area

User Tag List

Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off