Sony PlayStation 3: la next-gen è adesso - part 1

Sony PlayStation 3: la next-gen è adesso - part 1

La console di nuova generazione di Sony sbarca in Italia. Arriva con cinque mesi di ritardo rispetto alle edizioni NTSC, ma è dotata di un bagaglio tecnologico comunque importante, in grado di far evolvere in maniera sensibile il gioco su console. Cell, RSX, SixAxis, PS Network, Blu-ray sono alcuni degli aspetti che rendono possibile questa evoluzione.

di Rosario Grasso pubblicato il nel canale Videogames
SonyPlaystation
 

Cell - parte 2

Lavorando a precisione singola, dunque, ogni SPE è in grado di eseguire la stessa operazione su otto valori differenti, il che esplicita la natura multithreading del processore pensato dal consorzio STI. Complessivamente, Cell può arrivare ad una potenza di calcolo di 204,8 GFLOPS in singola precisione. Dunque, possiamo concludere che Cell è un processore pensato primariamente per lavorare in multithreading e in singola precisione.

Le SPE sono dotate di 256 KB di memoria locale (LS), a cui ha accesso diretto il codice dei programmi. Delle otto SPE presenti nel progetto iniziale di Cell, sei sono accessibili dall'unità PPE. La settima, infatti, esegue delle operazioni di sicurezza, mentre l'ottava è disabilitata per i motivi che dicevamo prima.

Dunque, le prestazioni della CPU di PlayStation 3 dipendono molto dall'ottimizzazione del codice e dallo sfruttamento della natura multithreading di questa architettura. Recentemente, si è parlato di un'eccessiva difficoltà nella programmazione dei videogiochi per PlayStation 3 all'interno di un dibattito a cui hanno partecipato Gabe Newell, John Carmack, Hideo Kojima, i quali hanno confermato, in un modo o nell'altro, questa tesi.

D'altronde, lo sfruttamento di un'architettura complessa come quella che sta alla base del Cell non può avvenire senza l'impiego di quelle soluzioni middleware che si stanno diffondendo in maniera sempre più insistita. Unreal Engine 3 è un motore pensato per sfruttare un'architettura del genere, e non a caso software house che da sempre hanno utilizzato tecnologia proprietaria, come Capcom e Square Enix, hanno acquisito in licenza la soluzione di Epic Games per videogiochi destinati proprio a PlayStation 3. Un'altra soluzione middleware di rilievo è Havok Engine, la cui ultima versione, 4.5, è stata pensata appositamente per sfruttare la natura multithreading di Cell. Havok Engine 4.5 è già presente nell'arcade automobilistico MotorStorm.

La potenza computazionale di Cell rende, inoltre, il processore adatto al calcolo scientifico. Proprio in questo senso, recentemente Sony ha annunciato di aver raggiunto un accordo con l'Università di Stanford che prevede la partecipazione degli utenti PlayStation 3 al programma Folding@Home. Questa funzionalità viene aggiunta con il firmware 1.60 per PlayStation 3 con un'icona apposita che verrà aggiunta nella XrossMediaBar. L'utente ha la possibilità di lanciare l'applicazione quando lo desidera o di pianificarla per i momenti in cui PlayStation 3 non è in funzione. Sotto vedete un'immagine del die del processore.

Cell Broadband Engine

L'attuale generazione di Cell può raggiungere la velocità massima di 4 GHz. Come detto in precedenza, Sony e IBM stanno avviando la produzione del processore con processi costruttivi a 65 e a 45 nanometri, il che consentirà un incremento delle prestazioni e una riduzione dei costi di produzione. Tuttavia, il consorzio STI ha già annunciato la seconda generazione del processore Cell, con la quale si mira a raggiungere la frequenza di 6 Ghz.

Molti si sono lanciati in una complessa serie di calcoli, volti a mostrare i limiti del processore di PlayStation 3. Se da una parte, infatti, Cell offre una grande potenza in Floating Point (virgola mobile), dall'altra, per diverse ragioni, sarebbe poco efficiente con i videogiochi. Il codice di questi, teoricamente, è gestito con maggiore rendimento da una CPU General Purpose, ovvero per uso generico; definizione che non si può certamente utilizzare per Cell. Come abbiamo visto, infatti, quest'ultimo è costituito da sette unità di calcolo indipendenti che non hanno cache né accesso alla memoria, non utilizzano branch prediction e hanno un set di istruzioni differente rispetto all'unità PPE.

In definitiva, si tratta di una constatazione probabilmente eccessivamente teorica che si basa sulla propensione, da parte dei videogiochi, ad accessi casuali alla memoria ed a diramazioni; operazioni per le quali Cell non è ottimizzato, perlomeno non nella misura in cui lo è per il calcolo in virgola mobile.

 
^