lo riporto pure qui ;)
Programmare per PS3 è molto più difficile di quanto non lo sia su Xbox 360. In un certo senso PS3 è stata progettata in modo simile ai sistemi multi processore utilizzati in ambiti specifici, per esempio al NASA Ames Research Center. Il concetto si basa sul principio che vede un enorme quantità di dati matematici che si ripetono e che possono essere processati in parallelo o sequenzialmente ma spezzettati (per esempio un core moltiplica due array di 10000 numeri e poi passa l’array risultante a un altro core che opera divisioni sui singoli elementi dell’array e ne passa il risultato a un altro core che provvederà ad atre operazioni sui dati e così via; dopo che il primo core ha terminato l’operazione, acquisisce nuovi dati e prosegue su questi con la stessa operazione.
Così come avviene per Xbox 360, anche qui l’applicazione viene inizialmente sviluppata utilizzando il core PPE. A questo punto sarebbe lecito pensare che la PS3 (come la 360) sia in grado di segmentare il codice assegnando a un core il codice di controllo dell’AI e ad un altro il codice di rendering grafico. Questo non è possibile! Dal momento che il codice vero e proprio di un’applicazione si attesta sui 100 MB e che la memoria di ciascun SPE è di soli 256KB solo 1/400 del codice totale può essere depositato nella memoria di uno SPE. Inoltre poiché in uno SPE non c’è capacità di branch prediction, le diramazioni andrebbero fatte il più piccole possibili. Pertanto il programmatore deve trovare codice che sia inferiore ai 256KB (incluso lo spazio necessario per i dati) prchè questo possa essere eseguito in parallelo.
Se assumiamo che lo sviluppatore sia in grado di individuare sufficienti segmenti di codice tali per cui tutti e 6 i core SPE vengano utilizzati, adesso dovrà prodigarsi per bilanciare il carico di lavoro tra i cores. Come con Xbox 360, non è detto che i core siano sempre occupati ma è possibile che alcuni o tutti vengano utilizzati solo in minima parte. Aggiungere nuovi thread hardware non è possibile dal momento che ciascun core dispone di un solo thread hardware e agiungere threads software sarebbe probabilmente controproducente vista la memoria limitata. A questo punto l’unica opzione possibile è quella di uno schema che vede il core PPE trasferire nuovo codice agli SPE attraverso DMA, una volta terminate le operazioni sulla tranche di dati precedenti. Questa è ovviamente una procedura che richiede parecchio tempo.
ho copiato ed incollato da qui:
Ps3 News Xbox 360 Xenos vs Ps3 Cell: processori console a confronto - Forum Console-Tribe
:wink_:
però..... prima di parlare.... aspettiamo GT5 :D:D