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 23 Marzo 2007 nel canale VideogamesSonyPlaystation
Cell - parte 1
Tuttavia, rimane un ambito in cui Cell deve sobbarcarsi l'elaborazione della grafica, ovvero quello Linux. Spiegheremo nell'apposita pagina il motivo per cui, in ambiente Linux, è stato disabilitato l'accesso a RSX; fatto sta che in queste circostanze PlayStation 3 può fare affidamento solo sulla potenza della sua CPU. Tanto per stabilire un metro di paragone, Cell è in grado di renderizzare in tempo reale una scena composta da 3 milioni di triangoli alla risoluzione 1080p, mentre un Centrino Duo impiega più di un'ora per ogni frame.
Cell è stato sviluppato congiuntamente da Sony, Toshiba e IBM, dal cosiddetto consorzio STI. Il processore opera ad una frequenza di 3,2 GHz ed è provvisto di 256 MB di Rambus XDR DRAM. A detta di Sony, Cell è dotato di una potenza di calcolo 10 volte superiore a quella di Emotion Engine, la CPU di PlayStation 2.
La struttura di base di Cell è relativamente semplice. Vi è un'unità centrale, definita Power Processing Element (PPE), e otto unità Synergistic Processing Elements (SPE). Per PlayStation 3, Sony ha deciso di escludere una delle otto SPE per facilitare il processo di fabbricazione del processore. L'unità PPE è collegata alle unità SPU per mezzo di un bus interno ad alta velocità, chiamato Element Interconnect Bus (EIB).
L'unità centrale è basata su architettura PowerPC e non gestisce indipendentemente alcuna applicazione, assumendo piuttosto il ruolo di coordinatrice delle altre SPE. L'unità PPE lavora come i normali processori PowerPC a 64 bit, con tutti gli indirizzi e i registri, escluso alcuni general purpose e altri registri Memory-mapped I/O (MMIO), con lunghezza a 64 bit. Inoltre, l'unità PPE possiede una cache di secondo livello di 512 KB e un'unità vettoriale VMX (AltiVec). Quest'ultima è un set di istruzioni floating point e integer SIMD (Single Instruction, Multiple Data). Sia l'unità PPE che le SPE supportano, dunque, il calcolo vettoriale SIMD.
L'introduzione significativa praticata con Cell riguarda, tuttavia, le unità SPE. Queste sono state pensate espressamente per gli esiti videoludici, primariamente per sgravare il carico di lavoro dell'unità centrale dai calcoli relativi all'intelligenza artificiale, alla fisica, alla struttura poligonale degli ambienti e, secondariamente, per facilitare la programmazione dei videogiochi.
Ogni SPE è composta da una Synergistic Processing Unit (SPU) e da un Memory Flow Controller (MFC). Ogni unità costituisce un processore RISC con organizzazione di tipo SIMD a 128 bit ed è dotata di 4 ALU a 2 stadi per dati a precisione singola. Le SPE sono in grado di eseguire calcoli a precisione doppia, anche se non dispongono di unità specializzate. Ogni SPE, infatti, può completare in un ciclo di clock un'operazione a doppia precisione ad una potenza di calcolo di 6.4 GFLOPS e alla frequenza di 3,2 GHz, oppure otto operazioni a precisione singola ad una potenza di calcolo di 25.6 GFLOPS alla frequenza di 3,2 Ghz.