View Single Post
Old 08-03-2006, 10:44 PM   #4
Pimp Racer
Regular User
 
Join Date: Oct 2004
Location: 30° 4' N 85° 35' W
Posts: 1,783
Default

What can the PS3 do for gaming? What can’t it do?
I challenge you to answer that question mostly by yourself. Mostly, but here is my view on it:

To me, it seems as if the Cell is a simulation monster. “Supercomputer on a chip” isn’t entirely far from the truth. If the developers fall into a computational mindset for accomplishing tasks on the Playstation 3, the Cell’s advantage with SIMD and parallelism will be utilized and it could bring some truly impressive physics, graphics, and sound to the table. These things will not be done to the level of accuracy as supercomputers since they are fully dedicated to usually one of those tasks at a time, but the accuracy would be reduced to a realistic enough level for the purposes of game play visuals or mechanics. Basic/static AI routines are probably better done on general purpose processors, but I can see certain routines being developed with a computational approach in mind. I wouldn’t expect any “oh sh*z” from Playstation 3 game AI anytime soon though unless major advancements are made in the field entirely.

It is sad to say that most game play elements that aren’t technically deep and are a breeze to run on processors. Consider that fun games with many varying elements of game play have been available since the 16-bit era or earlier and have only expanded due to features related to external devices like networking and controllers. Don’t expect games to necessary be “more fun” in the game play aspect just because the hardware is more powerful.

Powerful is also by no means a linear term for CPUs. There are difference dimensions of power, and for general purpose code, Intel and AMD processors are still considerably more powerful on the general purpose axis. Comparisons that propose that the Cell may be able to outperform those processors are generally considering where the Cell would pick up slack if a general purpose processor would lag in. General purpose processing is somewhat of a unified axis of everything that has to be done, and anything the Cell does better, technically does raise it on that axis too. Additionally, considerations for the Cell processor being used for general purpose execution also are probably also considering that the developer will put substantial effort in getting general purpose code up to speed on the SPE – this means, they’ll be in control of the cache, they’ll have to manage shared memory, and all that other good stuff no application developer would want to do. Unless tools make general purpose programming for the SPEs acceptable, don’t expect Cell to really step in and take some kind of lead in general purpose computing.

What can and can’t be upgraded?
Honestly, many people do not realize how close the lower price point can come up to the more expensive version of the Playstation 3. In short, HDMI is the only real functionality that you’d completely miss if you didn’t get the $600 version. There is reasonable assurance that for the next 4-5 years, ICT wont be turned on which would allow 1080p signals through component video which the $500 dollar version support. As for the other options the $500 version lacks:

USB Compact Flash/SD/Memory Stick Pro Duo readers are sold in computer stores and online shops like newegg.com. They cost anywhere from 10-50 bucks depending on how many formats you want to be able to read. Will the Playstation 3 work with them? There’s a very high chance the PS3 implements standard USB protocols that will allow USB hubs/devices to be connected transparently. The difference is, the memory card device wouldn’t be distinguishable from the viewpoint of the PS3 if it was connected through the USB interface as opposed to the pre-installed version – i.e. it wouldn’t know if it was an SD card, Memory Stick Pro Duo or Compact Flash drive. It would just see “USB Storage Device.”

WiFi can be made up easily by buying a wireless router with Ethernet ports on it. Simply connect the PS3 to the Ethernet and any other devices on the router’s wireless network can be talked to. This would not be transparent to the Playstation 3 due to the more expensive version having two separate network interfaces as opposed to one. If a feature was implemented that only looks for wireless devices to talk to through the wireless network interface attached to the $600 Playstation 3, they wouldn’t find it and never attempt to see if the same device exists on the network the Ethernet network card is connected to. Although if a feature was implemented such that it attempted to communicate with devices through any available network, it would find the Ethernet NIC on the $500 PS3, and attempt to search for devices – wireless or not – through that interface. It’s kind of up in the air if Sony developers will be smart enough to realize this. Sony has also said that purchasing a wireless network interface would allow the PS3 to perform wireless communication to. Doing this would require more work on Sony’s end as they would have to implement drivers for USB network cards.

Are developers in for a nightmare?
I would LOL if someone seriously asked me this, but it is a reasonable question that I’m sure people have on their minds.

Some developers would piss in their pants upon looking at the Cell and realizing what they have to do to get it to accomplish certain things. The amount of mathematical, scientific, and computer science talent and knowledge needed to tackle the whole setup of the Playstation 3 is astounding. While there are many things the Cell naturally excels at, some of these problems sets aren’t as obvious and it requires a deeper understanding of the base problem area which may be sound, physics, graphics, and AI just to understand the many ways of possible solving the problem. Then in addition to understand the problem better, the developer must figure out the most efficient way to implement it on the Playstation 3 and have the skills to actually write it in code. This is a very high bar for games programmer.

Other developers wouldn’t piss in their pants and would be confused at what SIMD actually means for them. They might be too stuck in their old ways to see how SIMD processors can drastically increase game performance and only consider the general purpose abilities of the SPEs scoffing at them for not having a cache. If they think want this type of computing power, they would think the PS3 is probably a piece of crap to program for and clearly measure Xbox360 to be superior or closely matched with its 3 cores and much easier to use developement tools.

Undoubtedly, there are developers who don’t already have the knowledge to implement the efficient SIMD solutions to games processing problems. Thankfully the nature of the Playstation 2 Emotion Engine has already been related to SIMD processing as the V0 and V1 units were vector processors which developers had to make good use of to push the system to its limits – and they did. Unlike the days of Playstation 2, they now have an extreme amount of SIMD processing power coming out of the SPEs so there is far more developers can do on the CPU. They could actually render 3D worlds entirely in real time on the Cell alone if they wanted to ignore the RSX. That being said, they wouldn’t do this due to not being able to show much else for the game, and it would waste an entire component in the PS3.

Look for the development studios that pushed the PS2 to its limits to do similar with the Playstation 3. Multiplatform titles are probably not going to do much justice for the Playstation 3’s hardware as the transition between SIMD and non-SIMD processing presents a huge performance gap and they don’t want to alienate either end of the spectrum.

The important thing with technology advancements is certain steps at taken at the right time. Ten years ago, a processor like the Cell would fall flat on its face due to complexity and the industry not supporting games with costs as high as they are for any platform today. But it isn’t ten years ago and game budgets are high. Some of the budgets still aren’t enough to support Playstation 3. Others are. As time goes on and the knowledge is more widespread, developing for the Playstation 3 will be cheaper as more people will have experience working with it.

The Future for Playstation 3:
Playstation 3 is a console built with the future in mind. Playstation 1 had a very long life, and Playstation 2 is still going strong. Considering the length of time people will continue to play these consoles, it is important that they are not outdone by future advancements. The best a console can do is look to the horizon to see what’s coming, and that is what Sony is doing with the Playstation 3.

Blu-ray may not be the next generation movie format. If it is, then all the more reason to buy one. If not, the vast space is still there for games should something come up that does motivate the increase the size of games.

HDMI is future proof in the sense that even though the image constraint token(ICT) may not be used until 2010, if it ever comes into play the $600 Playstation 3 can still support it. The fact that it will support the newest HDMI 1.3 spec that TVs don’t even support yet also shows that once these things become mainstream, Playstation 3 will be right there to utilize it.

Gigabit Ethernet may not be commonplace today, but in 2-5 years, I’m positive that gigabit Ethernet home routers (really just switches running IPNAT), will be down to the price of 100mbps routers today. Although the internet will not be moving that fast because of ISP limitations, at least your internal networks will be and LAN features could take advantage of this bandwidth for something like HD video streaming.

Playstation 3 and Xbox360 – Comparing and Contrasting:
Before I compare and contrast with the Xbox360 hardware, here are some quick facts about the Xbox360 hardware:
Xbox360 Quick Hardware Summary:
The Xbox360 has a tri-symmetrical core CPU. Each one of the cores is based on the POWER architecture like the PPE inside the Cell, and is clocked at 3.2GHz. Each core has 32kb L1 instruction and 32kb LI data cache, and has a 1MB shared L2 cache. Each chip also sports an enhanced version of the VMX-128 instruction set and execution units. This enhanced version expands the register file from 32 128-bit registers, to a pair of 128 128-bit registers – with one execution unit per core. Each of these cores can also dual-issue instruction and handles two hardware threads, bringing the Xbox360 thread total to 6 hardware threads. The CPU and GPU share 512MB of GDDR3 RAM. Xbox360’s GPU, codenamed “Xenos” is designed by ATI and sports 48 shader pipelines using a unified shader architecture. The Xbox360 GPU also has 10MB of eDRAM for the frame buffer and over 200GB/s of bandwidth between this eDRAM and a simple logic uni, for a limited set of 3D processing effects such as anti-aliasing and z-buffering.

The system sports a DVD9 optical media drive from which games are loaded, a controller with rumble features, and 100mbps Ethernet.

Head To Head:
General Architecture Differences:
One thing I think is important when looking at CPU architecture is visuals. In the world of computing, physical distance between parts of a computer system generally corresponds with the speed (latency-wise) of their communication. Also a diagram shows the flow of memory, outlining where bottlenecks might exist for certain components to access large amounts of data from specific areas of memory.

IMAGES UPLOADED BY ME TO IMAGESHACK. CLICK TO ENLARGE!

Here are two diagrams of the major components on the Xbox360 motherboard:



Here are two diagrams of the Xenon CPU:


Comparably it is harder to find verbose diagrams of PS3 hardware but here is one I found on AnandTech:

This diagram has a likely discrepancy relating southbridge (I/O) being connected through the RSX. It is likely the southbridge will connect to the Cell directly via Flex I/O given the large bandwidth available through the interface and the GPU not being a recipient of I/O.

There are plenty of other Cell diagrams on the internet and here are two of them:


Bandwidth Assessment:
I recall an article IGN released short after or during E3 2005 comparing Playstation 3 and Xbox360. Microsoft analyzed their total system bandwidth in the Xbox360 and came up with some outrageous numbers compared to the Playstation 3. One of the big reasons for this total number being higher is the 256GB/s bandwidth between the daughter die and parent die in the Xenos(graphics chip). I will explain the use of the eDRAM memory later, but it is important to know that the logic performed between those two components with 256GB/s bandwidth hardly constitutes a system component where considering game processing takes place. Additionally, Microsoft added up bandwidths that weren’t relevant to major component destinations such as “to CPU” or “to GPU.” Context like that matters a lot, because bandwidth between any two elements is only as fast as the slowest memory bus in-between. The only bandwidth figures that make sense to add together are those on separate buses to the end destination.

The biggest ugly (and this really is a big one) in the Xbox360 diagram should be the location of the CPU relative to the main system memory. It has to be accessed through the GPU’s memory controller. The Xbox360 GPU’s memory has 22.4GB/s bandwidth to the system’s unified memory, and this bandwidth is split between the GPU’s needs and the CPU’s. A simple investigation would show that if the Xenon(Xbox360 CPU) was using its full 21.6GB/s bandwidth to system memory, there would be 800MB/s left for the GPU. If the GPU was using it’s full bandwidth to this memory, none would be left for anything else. Additionally, the southbridge(I/O devices) is connected through the GPU also, and all of these devices are actually destined to go to the CPU unless sound for the Xbox360 is done on the Xenos. The impact of this is considerably less since I/O devices probably won’t exceed more than a few hundred MB/s during a game, and isn’t shared by GPUs 22.4GB/s access to main memory. This bandwidth is still going through the same bus that the CPU uses to access RAM though.

Looking at the diagram of the Playstation 3, you can see that the RSX has a dedicated 22.4 GB/s to its video memory, and the Cell has a dedicated 25.6GB/s to its main memory. Additionally, if you wanted to find the bandwidth the RSX could use from the Cell’s main memory, it go through the 35GB/s link between the Cell and itself, and then go through the Cell processor’s FlexIO controller, on the EIB, to the Cells memory controller which is the gatekeeper to RAM. The slowest link in the line is the bandwidth the XDR memory controller provides which is 25.6GB/s. If the RSX uses this extra bandwidth it is being shared with the Cell. In general though, the major components in the Playstation 3 have their own memory to work with which provides maximum bandwidth.

In terms of peak performance, if both the GPU and CPU for both consoles were pushing the maximum bandwidths from their respective memory banks, the total for Xbox360 would be 22.4GB/s, and the total for the Playstation 3 would be 48GB/s. I believe this to be the most important bandwidth measure as both of these elements are the major programmable elements of a gaming machine. They will be processing game data or graphics data independently, and need fast access and high bandwidth to what they are working on.

While the Xbox360 shared bandwidth is a big downside on the grand scheme of things considering potential, Microsoft probably allowed this due to the nature of a game loops often not involving both the CPU and GPU needing high bandwidth simultaneously. Overall, during a game loop, Xbox360 will probably use its 22.4GB/s bandwidth almost constantly due to the CPU using it heavily for a part of the game loop, and the GPU using extreme bandwidth during another part of the game loop. While a Playstation 3 game, if it uses a typical game loop design, would show half of the frame time, the CPU is using high bandwidth to its memory, the other half being mostly unused; and the same thing for the GPU’s use of video RAM. That isn’t a disadvantage of the Playstation 3’s part, but it is a lack of using its full potential. A modified game loop that kept both rendering and CPU processing high would fare far better on the Playstation 3’s bandwidth and design than the Xbox360.

In the worst case scenario for the Playstation 3, if the GPU literally only used bandwidth for half of the game loop, overtime, you could consider it’s bandwidth to be half of its peak. Same thing applied to the Cell and XDR RAM would yield 12.8GB/s bandwidth if it only used XDR half of the time. Although Playstaiton 3 not to be outdone - if the situation of a game loop is like this, the RSX might as well take the XDR RAM bandwidth while the CPU is idling and increase its total bandwidth to 48GB/s.
__________________
http://gthotspot.blogspot.com/
Pimp Racer is offline   Reply With Quote