Did We Create the PS3?

Back in October of 2000, Sony showed the world its next generation console. Complete with a DVD drive, backwards compatibility with the PS1, and gorgeous graphics, the Sony PlayStation 2 was the most anticipated console of the new millennium. With such a large consumer fanbase and brand loyalty to boot, the PS2 was on an imminent path to success. Yet with all its success, outselling the Dreamcast and selling 100 million consoles the PS2 had its fair share of criticism.

People were in agreement that, despite the power of the console and the great games, the PS2 had some noticeable faults....

ronin_oni6489d ago

Agreed, very good editorial. Consumers want this that and the other thing, Sony gives it to them, and yet there is still outcry. In my opinion all this Sony hate is just a passing fad, sorta like a certine clothing style. It will pass with time. Either that or all the X-Box boys don't have enough people on Live to play with, and are trying to influence potential PS3 buyers away.

Islandkiwi6490d ago

I don't like the idea that consumers are being blamed for the last minute changes to the ps3. If the controller had been a good one, they would have kept it.

If they were listening to consumers, they would realize that Blu-Ray isn't that important to the consumer. A cheaper console would have been preferable. No, this is Sony pushing against consumer opinion, not because of it.

USMChardcharger6490d ago

what he is blaming on the consumer is not really so. the stuff he mentions is really the xbox fault (although it was a good fault)

the ethernet connection, hard drive, online service, tons of ram, in-game support of 5.1 surround, and also from the first xbox was HD support...all came to be expected because of the xbox.

so wether you are a sony fan or a M$...the xbox was a good thing for all gamers.

TheMART6490d ago

So if they listen to the world, they better should cut the betabluray player out of that brick to cut cost, to be able to compete on the price level of 400 dollars and to stop lying about all the nescessary space one doesn't need.

Last gen games

98% was 2 to 3 GB's
1% was 4 to 5 GB's
1% was over 5 GB's max. 7 GB's

So this gen will be (also because of better compression and programming techniques)

98% will be 4 to 6 GB's
1% will be 6 to 7 GB's
1% will be 8 GB's or more

And if that one game that reaches that level really need it, just put it on 2 DL DVD's. Is that a problem? No. Does it save you a lot of money and a betablurayplayer problem like UMD, Betamax or Minidisc? Yeah

AuburnTiger6490d ago

It sounds like you have a valid point. However, do you have links that supports what your saying?

CAPS LOCK6489d ago

the mart ur not a game designer or publisher so how would u know how much is needed in a game??? also dont start Bullsh!ting about oblivion, i know its a big game now but what bout the future?? havent u thought bout if the developers had more space to use in a disk they wont be restricted ? which means they could use programs do speed up game(like UMD did)or to enhance the graphics better...so think of it before abusing the ps3 and blu ray

achira6489d ago

yes oblivion is a nice game, but a bad example. after 20 hours the games becomes very boring, because of the repetition. the caves are repeated again and again. everything looks equal. i mean if the game would have more variety they would need far more Disk Space.

gokuss1220026488d ago

First of all, I don't totally disagree with you, but the point of the matter is, your prediction on the data space needed is waaay off. As we all know the better the picture quality, the more space required: have you ever payed attention to the size of the videos from IGN, GAMESPOT or GAMETRAILERS: notice the normal vid will be like 13mb, but a HD vid of the same exact content will be like 51mb. Also note that GTA SAN maxed out the dvd, and those graphics were low for the this gen, so how do your expect to have even more massive evironments HD graphics and everything else that is comes with the TRUE next generation
of gaming.Furthermore I do totally disagree with you because not having to switch between multiple disc is part of that "everything", just off the simple strength of load time, as well as, not having to get up and switch the disc(which seems small, but is still one less inconvience). Just imagine if they decided to just stick with cds instead of dvd, the PS2 would have been cheaper, now imagine playing GTA SAN or SPIDERMAN 2 with cds.

+ Show (3) more repliesLast reply 6488d ago
Daewoodrow6490d ago

what kind of BS is this? It's just another PS3 fanboy writing with deceptively good grammar.
Sony got rid of the extra ports and made the dual SKUs to reduce production cost and to copy MS, not to please the customer.

My guess is when they showed the "PS3" at E3 2005 it was just a plastic case, and a budget estimate. They realised all the s**t they threw in the blueprint would make the console launch at £500-600, so they made major cutbacks. Don't be surprised if they announce it will have a 30% performance cut 2 months before launch.

Oh wait, they already did that with the PSP.

THAMMER16490d ago

All you have to do is think. Most people do not think they just do what others do. I f people really new what they were reading on spec. sheets they would not want a PS3 at all if you compared it to the 360 or if you wanted the best for your buck. If you want a PS3 it should just be because you like Sony. I do like PS but the PS3 is a serous pass. Never get mixed up in a company when they are having public relations problems and financial problems too. The Xbox 1 started all the great controls, 480p and 720p HD, and online play, triggers instead of bumpers for shooters, and internal HDD. But Sony fans do not see that they see Sony PS 123 as some sort of false idol.

jedicurt6490d ago

i'm not saying wether i am either way or what console, you should buy. I already have a 360, and i will get a PS3 (just don't know if it will be a launch).

but what spec. sheets can you read. i mean, come on, if you are going to made a statement atleast be able to back it up, there is no official spec. sheet for the PS3, so you are right, it is quite easy to make your conclusion if you compare a non-existant spec. sheet, to one of a console already on the market.

Why don't we just wait until all the information is availble before we disect and attempt to crucify a console, that none of us have had a chance to play yet

THAMMER16490d ago

You can get the spec sheets from ign.com just go to the PS3 link on the home page and search PS3 specs. Or go to goggle and type in PS3 specs. Do not pretend to be dumb. I have a 360as well and that is one of the major reasons I feel I could skip the PS3 for a home console. If one of my friends buy it I will not hesitate to play with it but from the knowledge I have gained from 2 years of research the PS3 will be fun but not a smart but for cautious consumers. You must be new to this site or a old person trying to post under a new profile.

jedicurt6490d ago

i have looked for PS3 specs, and i find the information that everyone saw from E3 2005, that was May of 2005. those are not the official specs of what the PS3 is going to have. like i said, there are no OFFICIAL techinical specs that have been released for the PS3 as it will be released on November 17th

THE TRUTH6488d ago

let me prove to you about the PS3's value so we can end this debate and move-on.

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,

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.

Xbox360 “Xenon” compared to Playstation 3’s “Cell” – the CPUs:
Inter-core communication speed:
Another mystery with the Xbox360 (at least in my view) exists with the inter-core communication on the Xenos CPU between its cores. IBM clearly documents the Cell’s inter-core communication mechanism physically and how it is implemented in hardware and software. This bandwidth needs to be extremely high if separate cores need to communicate and share data effectively. The EIB on the Cell is documented at a peak performance of 204GB/s with an observed rate at 197GB/s. The major factor that affects this rate is the direction, source, and destination of data flow between the SPE and PPEs on the Cell. I tried to find out the equivalent piece of hardware inside the Xenon CPU and haven’t found a direct answer.

Looking at the second architectural diagram of the Xenon, it seems that the fastest method the cores can use to talk to each other is through the L2 cache. Granted, the Xenon only has 3 cores, game modules are usually highly dependent and will need to talk to each other frequently. I might be a jumping the gun a bit, but given the L2 cache and FSB are running at half of the core speed, as opposed to the Playstation 3’s EIB which runs at the same clock speed as the cores, I’m pretty positive using L2 cache to communicate is not going to be very fast. It seems that independent threads are really what Microsoft was aiming for with the Xbox360 CPU design, and games are not optimally implemented if they have massive streaming transfers to hand off to other cores. What would suggest that the Xbox360 cores can communicate quickly and with high bandwidth, would be evidence that the reading and writing to the L2 cache are in larger segments than the writes to the EIB, compensating for the lower clock speed. Additionally, just writing to memory isn’t enough as the receiver needs some sort of notification that it has new data unless it is a permanent buffer. If anyone wants to do research on the topic, please add it to the discussion and include links to your sources.

Enhanced VMX-128 instruction set:
This is one of the features Microsoft boasts to claim they have a better gaming machine than Sony. They focus on the fact that their enhancements support a single cycle dot product instruction, and the larger register file. The problem with this boast over the Playstation 3 is that it compares it to the PPE’s VMX-128 unit which comparably only has 1 set of 32 128-bit registers and presumably less instructions. If the code requires 128 128-bit registers, or more complex instructions, then the code is most definitely vector processing heavy and should be run on an SPE which sports the exact same register file size, and includes a superset of the VMX instructions in terms of functionality(it is not a superset in terms of being binary compatible).

While each core in the Xbox360 also has two VMX-128 register sets, this is done to support the dual threaded nature of the cores better. It doesn’t actually have two vector execution units. Each core only has one VMX-128 execution unit meaning that even though there are two sets of registers per core, two threads that are using vector code have to share this single execution unit.

Comparably, the Cell’s PPE has the limited 32 128-bit register file with a single VMX vector unit on the PPE. This is what Microsoft usually singles out when they compare Playstation 3 to the Xbox360’s CPU. They forget(purposefully) that the Cell has 7 SPEs running at 3.2 GHZ, which is far greater SIMD performance than their 3 enhanced VMX-128 execution units. For vector based computations, the Playstation 3 undeniably outdoes the Xbox360 by an order of magnitude.

The dot product instruction claim is matched at least on the SPEs on the Playstation 3 though a simple multiply-add instruction. For those of you that aren’t mathematically inclined, a dot product is basically a measure of how parallel or perpendicular two lines are. The calculation of a dot product is basically multiplying each corresponding dimension value together, and then taking those products and adding them all together. Take two vectors <2, 3, 4> and <6, 7, 8>. The dot product would be: 2*6 + 3*7 + 4*8 = 65. If you read the earlier section in this post covering the SPES and SIMD architectures, you should remember that at the very least, an SPE can do all of the multiplying in one cycle, and all that needs to be done is a follow up add between the elements in the result vector. I do know that the SPEs have a few multiply-add instructions, but the bit of haziness is if the multiply can be an intra-vector(between two separate vectors) operation, while the add instruction is an inter-vector(between elements in the same vector) instruction from the result of the multiply. Sony claims that the dot product can be done in one cycle on an SPE, and it is very reasonable that this is the case as there are vector permute/shuffles/shift instructions in the SPE instruction set. There just isn’t a labeled dot product instruction in the SPE instruction set – but an intelligent programmer should find what he needs.

I found the multiply-add instruction in the Cell BE Handbook. It takes 4 vectors, one is definitely the result vector and two are operands, but the third parameter named ‘rc’, which I think represents a control register that dictates how to perform inter and intra vector operations. That means the multiply-add instruction has to operate on only two vectors, and the control vector is able to dictate an add between the result components of the multiply.

Symmetrical Cores?:
Symmetrical cores means identical cores. The appeal to this setup is entirely for developers. It represents no actual horsepower advantage over asymmetric cores since code running on any of the cores, will run exactly the same as it would run if it were on another core. Relocating code to different cores has absolutely no performance gain or loss unless it means something with respect to how the 3 cores talk to each other. It should be noted though, that thread relocation does matter between the cores, as a thread might not co-exist well with another thread that is trying to use the same hardware that isn’t duplicated on the core. In that case, the thread would be better located on a core that has that execution resource free or less used. The only case of this I can think of is the VMX-128 execution unit. I think most other hardware is duplicated on the cores in the 360 to allow for two threads to co-exist with almost no problem.

The Cell chip has asymmetrical cores, which means they are not all identical. That being said, the SPEs are all symmetrical with each other and the code that runs on an SPE could be relocated to any other SPE in the Cell. While the execution speed local to the SPEs are the same, there are performance issues related to the bandwidth the SPE is using and who it’s talking to on the EIB. Developers should look at where their SPE code is executing to ensure optimal bandwidth is being observed on the EIB, but once they find an optimal location to execute the code on, they can just put it there without rewriting anything. If a task was running on the PPE or PPE’s VMX unit, then it would have to be recompiled with C, and probably rewritten if hardware specific instructions are in the code(C or ASM) before it moves to an SPE, and the same applies in reverse. Good design and architecture should immediately let developers know what should run on the PPE and what should run on the SPEs, eliminating the chance of rewriting code if they see something better fit to run on an SPE later in development.

Is general purpose needed?:
Another one of Microsoft’s claims for the Xbox360’s superiority in gaming is the general purpose processing advantage since they have 3 general purpose cores instead of 1.

To say “most of the code is general purpose” probably refers to code size, not execution time. First, it should be clarified that “general purpose code” is only a label for the garden variety of instructions that may be given to hardware. On the hardware end, this code fits into various classifications such as arithmetic, load/store, SIMD, floating point, and possibly more. General purpose applications are programs made up of general purpose code on the scale that one function might be arithmetically heavy, and another might be memory bound. Good examples of this are MS Word, a web browser, or an entire operating system. With MS Word there is a lot of string processing which involves some arithmetic, comparison, a lot of branching, and memory operations. When you click import or export and save to various file formats, it is an I/O heavy operation. Applications like these tend to not execute the same code over an over, and have many different functions that can occur on relatively a small set of data depending on what the user does. These functions can vary from being very I/O device bound (saving to disk), to string processing intensive (spelling/grammar check), to floating point intensive(embedded Flash media game or resizing an image). Ultimately, there is a large amount of code written to handle the small set of data and most of it never gets executed.

Games are not general purpose programs. Any basic game programming book will introduce you to the concept of a game loop. This loop contains all of the functionality a game performs each frame. This loop handles all of the events that can occur in the game. An important principle in a game loop is to avoid branches when unnecessary as it slows down execution and makes the code on screen extremely and unnecessarily long. A good example of this is the Cohen-Sutherland line clipping algorithm. Instead of writing lengthy and complicated branches to check the 9 regions a point lies in, the code performs 4 simpler checks, and computes a region code which can be easily be used.

This automatic and repetitive processing has to occur for many game objects which represents a massive amount of data, with a relatively small code size. This is opposite of the general purpose paradigm, which typically has a small set of data (word document or html) and performs many various functions on it representing a large code size. Games processing has a large data size, but much smaller code size. Game objects also tend to be very parallel in nature as game objects are typically independent until they interact (collision) – which means they can be processed well on SIMD architectures if they are well thought out..

The whole integer advantage claim for the Xbox360 CPU is pretty stupid considering the SIMD architectures can operate on 4 32-bit integers at the same time, and integer processing abilities of games are not the bottleneck of 3D games processing.

What this general purpose power does grant Xbox360 owners over Playstation 3 is the ability to run general purpose applications faster. If the Xbox360 had a web browser(official or not), the design for such an application would work better on a general purpose CPU(s). That being said, it’s too bad Xbox360 doesn’t come with one, and web browsers don’t put the highest demand on general purpose processors to begin with. Most general purpose applications remain idle until the user gives actually input. The application will then process the task and complete before sitting idle again.

AI routines that navigate through large game trees are probably another area where general purpose processing power might be better utilized since this code tends to be more branch laden and varying depending on the task the AI is actually trying to accomplish. The plus side for the Playstation 3 is generating of these game trees, which is also time consuming. Generating a game tree is a more computational oriented task, and is likely to be executed faster by SIMD architectures. I am largely speaking speculatively under my Computer Science knowledge in this area. Anyone who knows more or has done more research on AI algorithms is welcome to add to discussion in this area.

The only case I can really see the general purpose computing power of the Xbox360 cores manifesting itself as a true advantage over the Playstation 3, is if Windows or similar OS was put on an Xbox360, having multiple applications running simultaneously along with some background services. Again, it is funny that Playstation 3 is more likely to have a general purpose operating system running on it than Xbox360 even though it would perform worse doing such a task.

XDR vs GDDR3 – System Memory Latency:
XDR sta