By using this site, you agree to our Privacy Policy and our Terms of Use. Close

[quote]MikeB said: A quick port of OS4 to the PS3 should run faster than any A1 or Peg II."/quote] So far this is right. The real problem in the case of the Cell lies in a different place. Each component for itself is quite fast, and its component are not so difficult to program. The real problem is their interaction. The Cell was in fact designed for some very special purposes in mind: 1. Cluster computing. You write a program that calculates the changes in a certain node to the next timestamp. Then you load this program into the SPEs. The PPE on the other hand is a kind of intelligent cache. It loads the current data of nodes and gives them to free SPEs. SPEs return their computed values to the PPE which gives them their next values and writes the results back to the memory. The results will be the next start values in the next timestamp.. 2. Pipeline You divide a problem into certain independend steps. One step calculates the start values for the next step. You implement for eachs of these steps an SPE Programs. THen you load SPEs with these programs. Every time, when all SPEs are finished they give their results to the next SPE. These are the basic design targets of the complete Cell. To achieve this each SPE has its own local memory of 512 KB. These SPEs and the PPE are connected through a common ring. The problem of the cell in the PS-3 whatr have these concepts to do with a game? It is really hard to imagine a game that can be implemented in the first model. But the second model shows the real problem. You have to find parts that can run independent from each other and consume nearly the same amount of time and you would like to have exactly the number of independent parts as you have available SPEs. If you have even one more, you have a problem. If one of your parts does not fit into 512 KB of memory. The SPEs do only work efficient if they work most of the time in their local memory. If they need a result of another SPE they have to send a message through the bus and wait for the reply. If they have to load values from the memory directly, they have to wait even longer. And if you look on the demands, you will see, that these demands are a bit unrealistic. In most cases the steps will not be finished in the same amount of time. In reality some steps will be calculated much faster than others. And even if you would be able to find a solution where only a few parts would be two times faster than others, it would be a totally static solution. You are working on a game. The demands change rapidly, and there are always game designers, who demand changes, because the game does not feel right. You do not have the time to find perfect static solutions, instead ypu have to be able to react to changes. Big (but not too big, the 512 KB limit) monolithic structures can't work this way. It is easier to work with more, smaller units. But then you have to load the programs first. In fact the Xbox could have a big advantage: its three cores (more or less twins of the PPE)have a unified cache. If the processor was not forced to swap the memory to the local memory you can create multiple working clients of the same type rapidly on the different cores. You don't have to deal with the code difference of SPE and PPE. You don't even have to overview the different processes so tightly, because the processor will do it for you. If you look at the articles the explanation about the use of cell stay in most cases very abstract. With good reason. There are no simple methods if you want to work SPE based. "