Come Sony ha contribuito allo sviluppo di XBox 360

Un libro scritto da due ingegneri di IBM svela che lo sviluppo dei processori di PlayStation 3 e XBox 360 è stato molto più ravvicinato di quanto si possa pensare.
di Rosario Grasso pubblicata il 05 Gennaio 2009, alle 08:25 nel canale VideogamesSonyXboxIBMPlaystationMicrosoft
49 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoAllora non ci senti. Quello che sto dicendo è che quello del Cell è stato il primo Core PowerPC in assoluto a integrare tale tecnologia. E come tu ben sai realizzare la prima implementazione e ingegnerizzazione è MOLTO più lungo di effetuare la seconda (Xenon) e succesive.
E ci mancherebbe, non è questo che sto mettendo in dubbio
Falso. Vai a pagina 6 di queste slide (e guarda da dove sono prese):
http://www.power.org/devcon/07/Session_Downloads/PADC07_Cho_20070914_xen_cell.pdf.
L'SMT dei POWER5 e Cell sono gli stessi. E Xenon ha ereditato dal Cell lo stesso tipo di SMT (3Core, 6thread totali).
Una naturale evoluzione che IBM non aveva ancora integrato nei suoi core PowerPC e che è stata messa per la prima volta nel Cell.
Che la PPE del Cell derivi dal PPC970 non ci sono dubbi (esattamente come POWER5 deriva da POWER4), quello che sto dicendo è che la PPE del Cell contiene anche molte funzionalità inedite per l'architettura powerPC come SMT, eFuses e memory controller integrato. Xenon è una reingegnerizzazione di quest'ultimo, non del PPC970.
Una fonte te l'ho data io sopra, l'altra fonte sarebbe il libro degli ingegneri IBM che HANNO PROGETTATO ENTRAMBE I CORE PPE e Xenon. Più affidabile di così non so proprio cosa vuoi.
Falso, l'ISA del PPE è la "Power ISA v.2.03" e i core compliant con quest'ISA sono il 970, POWER5 and POWER6 e Cell PPE. POWER4 non è compliant.
(fonte http://en.wikipedia.org/wiki/Power_Architecture#Specifications)
E' evidente che il Cell PPE è un'evoluzione di 970 con le migliorie descritte sopra, tali migliorie, sviluppate nei primi due anni e mezzo sono poi state utilizzate anche in Xenon.
La PPE? E in cosa? Mi faresti vedere cos'avrebbe di "evoluto" e "arricchito" la PPE rispetto al POWER4?
Ti ho già spiegato tutto sopra fino allo sfinimento. POWER4 ha addirittura una ISA differente dal Cell PPE.
Non si è trattato semplicemente di semplificare.
Perchè a MS non interessavano, interessava solo la parte della PPE.
Tutto questo è verissimo. Ma oltre a queste sono state aggiunte molte migliorie anche nel Core PPE, che non è un semplice 970.
Non credo che spostare la discussione sul piano personale gioverebbe alla stessa.
Io ci "sento" benissimo.
Innazitutto ribadisco che questa tecnologia finora è di dominio di IBM, e tutte le fonti lo dimostrano.
Paradossalmente il primo microprocessore a essere stato commercializzato con questa tecnologia NON è nemmeno Cell (ma il POWER5).
Per inciso: è tutto da dimostrare che Cell sia stato il primo a farne uso, ma ne parlo meglio sotto.
http://www.power.org/devcon/07/Session_Downloads/PADC07_Cho_20070914_xen_cell.pdf.
L'SMT dei POWER5 e Cell sono gli stessi.
Direi proprio di no. Controlla qui per POWER5 alle pagine 4 e 6 in particolare e qui per Cell in particolare alla pagina 299 (ma tutto il capitolo 10 è interessante) dove spiega come avviene l'esecuzione delle istruzioni.
In generale possiamo dire che POWER5 implementa l'SMT per sfruttare meglio tutte le unità di esecuzione in esso presenti, mentre al contrario Cell ha poche unità di esecuzione e l'SMT viene usato per cercare di recuperare gli stalli dovuti alla sua natura intrisencamente in-order (mentre POWER5 è out-of-order, e infatti può eseguire fino a 5 istruzioni per ciclo di clock per thread, contro una istruzione per thread di Cell). Due situazioni completamente diverse, insomma.
Tra l'altro, nel documento di cui hai postato il link riguardo a Cell possiamo leggere questo:
[INDENT]incorporates features from POWER5, such as SMT[/INDENT]
l'esatto contrario di quello che avevi detto prima, e che la dice lunga da dove arrivano le innovazioni.
A livello di singolo core sicuramente (la PPE di Cell non è multicore).
Mi pare proprio di no. Sempre dal tuo documento:
[INDENT]Based on POWER4, but incorporates features from POWER5, such as SMT[/INDENT]
quindi il POWER5 era già in fase avanzata di lavorazione, tant'è che alcune sue caratteristiche (già pronte) sono state portate su Cell. E non il contrario.
A quanto pare entrambi derivano dal POWER4. Sempre dal tuo documento:
[INDENT]PPC970: Streamlined version of POWER4
Cell: Based on POWER4, but incorporates features from POWER5[/INDENT]
Alla fine sono entrambi delle castrazioni e riadattamenti dell'originale core POWER4.
Da quel che si legge dal tuo stesso documento, non è così: Cell deriva da POWER4 a cui sono state aggiunte anche caratteristiche del POWER5. Di queste sicuramente l'SMT, ma a questo punto è lecito pensare anche alle altre due visto che in genere si prelevano elementi da un progetto maturo e si portano su un altro progetto più giovane, e non il viceversa. POWER5, tra l'altro, è stato rilasciato PRIMA di Xenon e di Cell.
Non del PPC970, ma deriva dallo stesso progetto (ma pur sempre derivato da POWER4 e POWER5) che ha portato da una parte alla creazione della PPE e dall'altra di Xenon, appunto. Tra l'altro Xenon non ha nemmeno il memory controller integrato; una differenza non da poco, e che lo accomuna, invece, al PPC970.
Sì, ma la tua fonte dà un quadro diverso da quello che sostieni tu e anche i due ingegneri. Finora, a quanto pare, è tutta roba di IBM che è stata riciclata sia per la PPE che per Xenon.
(fonte http://en.wikipedia.org/wiki/Power_Architecture#Specifications)
Falso anche questo. Dal documento su Cell di IBM di ho fornito prima il link, alla pagina 49:
[INDENT]The PowerPC Processor Element (PPE) is a general-purpose, dual-threaded, 64-bit RISC processor that conforms to the [B]PowerPC Architecture, [U]version 2.02[/U][/B], with the vector/SIMD multimedia extensions. [B]Programs written for the PowerPC 970 processor, for example, should run on the Cell Broadband Engine (CBE) processor [U]without modification[/U].[/B][/INDENT]
A quanto pare Cell NON è un'evoluzione del PPC970, invece, ma di POWER 4 e inoltre le migliorie di cui hai parlato finora sembrano arrivare dal POWER5. Dunque tutta farina del sacco di IBM.
Indubbiamente. Non supporta né l'SMT né Altivec.
E cosa sarebbe stato aggiunto che non fosse già disponibile dai POWER4 e 5?
Appunto. Che abbiamo visto essere ripresa da POWER4 & 5, entrambi progetti indipendenti e proprietari di IBM.
Vedi sopra: migliorie che arrivano sempre e soltanto da casa IBM. Rimane, quindi, aperta la domanda che ho posto a inizio thread: cosa sarebbe stato copiato di Cell che NON fosse GIA' di proprietà di IBM?
Io ci "sento" benissimo.
Giusto, ti devo delle scuse, non si ripeterà.
Non ho mai negato nulla di tutto questo. Non ho mai detto che Sony o Toshiba abbiano sviluppato nulla della PPE del Cell, che è in tutto e per tutto farina del sacco di IBM (coem d'altronde scritto nel libro dei due ingegneri). Anzi, se ben leggi due post fa ho anche indicato dove probabilmente gli ignegneri sony e toshiba hanno lavorato nel Cell, ovvero nelle SPE e nel ring bus; che a ben pensarci è un campo nel quale tali aziende avevano già parecchio know-how avendo progettato in casa parecchi DSP per videocamere professionali, macchine fotografiche e dispositivi di consumer electronics.
Quello che sto sostenendo è che Xenon è una reingegnerizzazione della PPE del Cell, non è un progetto partito di sana pianta dal POWER4 o dal PPC970.
Ho detto il primo core PowerPC non POWER, sai anche tu che si tratta di due famiglie differenti di processori (addirittura una in-order e l'altra ooo) se pur molto legate. E non ho parlato nemmeno di commercializzazione, perchè come ben sappiamo il primo PowerPC con SMT e eFuses a essere commercializzato è stato lo Xenon, non il Cell. Ho parlato di implementazione e ignegnerizzazione che è stata eseguita [U]la prima volta per il core PPC nel Cell[/U]. Questo lavoro (eseguito fra il 2001 e il 2003) è poi finito anche nello Xenon (che ha iniziato il suo sviluppo a metà 2003). SMT di Xenon e Cell sono le stesse.
In generale possiamo dire che POWER5 implementa l'SMT per sfruttare meglio tutte le unità di esecuzione in esso presenti, mentre al contrario Cell ha poche unità di esecuzione e l'SMT viene usato per cercare di recuperare gli stalli dovuti alla sua natura intrisencamente in-order (mentre POWER5 è out-of-order, e infatti può eseguire fino a 5 istruzioni per ciclo di clock per thread, contro una istruzione per thread di Cell). Due situazioni completamente diverse, insomma.
Tra l'altro, nel documento di cui hai postato il link riguardo a Cell possiamo leggere questo:
[INDENT]incorporates features from POWER5, such as SMT[/INDENT]
l'esatto contrario di quello che avevi detto prima, e che la dice lunga da dove arrivano le innovazioni.
Ok, mi hai convinto. Però adesso mi devi spiegare come è stato possibile portare l'SMT del POWER5 in un core come quello del Cell visto che si tratta di "Due situazioni completamente diverse". Ma anche prendendo per buono che si tratti della stessa SMT del POWER5 (che tra l'altro nel biennio fra 2001 e 2003 era tutto fuorchè completato, ma prediamo comunque per buono che il suo sviluppo fosse più avanti di quello del Cell) ciò non toglie assolutamente nulla al fatto che la PPE del Cell fu il Primo core PPC nel quale fu implementato e ignegnerizzato l'SMT (così come le altre feature). Tutto ciò è stato portato pari pari nello Xenon quando è iniziato il suo sviluppo due anni e mezzo più tardi, anche perchè è inutile rifare lo stesso lavoro due volte di fila, no?
Ooooh, bene. Allora siamo d'accordo sul fatto che questa caratteristica è mutuata dalla PPE allo Xenon. Quindi non mi sembra scorretto parlare di Xenon come di evoluzione della PPE del Cell.
[INDENT]Based on POWER4, but incorporates features from POWER5, such as SMT[/INDENT]
quindi il POWER5 era già in fase avanzata di lavorazione, tant'è che alcune sue caratteristiche (già pronte) sono state portate su Cell. E non il contrario.
mmmmh, siamo nel campo delle speculazioni (SMT di POWER5 era già stata sviluppata? Se sì, quanto di questa è stata realmente adattata alla PPE del Cell?) ma possiamo anche prenderlo per buono.
[INDENT]PPC970: Streamlined version of POWER4
Cell: Based on POWER4, but incorporates features from POWER5[/INDENT]
Alla fine sono entrambi delle castrazioni e riadattamenti dell'originale core POWER4.
Da quel che si legge dal tuo stesso documento, non è così: Cell deriva da POWER4 a cui sono state aggiunte anche caratteristiche del POWER5. Di queste sicuramente l'SMT, ma a questo punto è lecito pensare anche alle altre due visto che in genere si prelevano elementi da un progetto maturo e si portano su un altro progetto più giovane, e non il viceversa. POWER5, tra l'altro, è stato rilasciato PRIMA di Xenon e di Cell.
Non del PPC970, ma deriva dallo stesso progetto (ma pur sempre derivato da POWER4 e POWER5) che ha portato da una parte alla creazione della PPE e dall'altra di Xenon, appunto.
Non sono d'accrodo, Cell deriva da 970 a mio avviso (che a sua volta deriva da POWER4). Xenon deriva (o almeno prende a buone mani) da Cell. Spiego sotto.
Anche la PPE del cell non contiene il memory controller, di fatto il memory controller nel Cell è parte esterna alla PPE , infatti è collegato allo stesso ring bus delle SPE e non fa perte della PPE. Quindi sono sì nello stesso Die, ma sono sia logicamente che fisicamente dei pezzi separati che comunicano tramite il ring bus; una volta rimosso quest'ultimo ti ritrovi con un core PowerPC mooolto simile a quello si Xenon (architettura in order, SMT identico, eFuses e quant'altro).
E' tutta roba di IBM che è stata ingegnerizzata per la prima volta in un core PowerPC durante la progettazione Cell e POI riutilizzata per Xenon.
[INDENT]The PowerPC Processor Element (PPE) is a general-purpose, dual-threaded, 64-bit RISC processor that conforms to the [B]PowerPC Architecture, [U]version 2.02[/U], [U][COLOR="Red"]with the vector/SIMD multimedia extensions[/COLOR][/U].[/B]
Che è come dire che è compatibile con la version 2.03, in quanto:
[INDENT]"The specification for Power ISA v.2.03 is based on the former PowerPC ISA v.2.02 in POWER5+ and the Book E extension of the PowerPC specification. The Book I included five new chapters regarding auxiliary processing units like DSPs and the AltiVec extension."[/INDENT]
La 2.03 non è null'altro che la 2.02 + vector/SIMD multimedia extensions.
Ergo la PPE è giustamente indicata come version 2.03.
Cosa che mi spinge a dire che il Cell è proprio un evoluzione del 970, visto che sono binary compatible, se l'avessero tirato fuori partendo dal POWER4 avrebbero in gran parte dovuto reinventare la ruota, ovvero rifare del lavoro già fatto.
A me invece pare proprio di si, ma comunque non è questo che mi interessava più di tutto appurare, quanto la relazione fra core PPE e core Xenon.
Verissimo.
Proprio per quasto mi sembra più logico che derivi dal 970 che aveva almeno Altivec.
Appunto. Che abbiamo visto essere ripresa da POWER4 & 5, entrambi progetti indipendenti e proprietari di IBM.
Valgono le considerazioni espresse sopra.
Mai negato nulla di tutto ciò. In fondo il libro è scritto da due ingegneri IBM.
Penso di aver già risposto a questa domanda. Assolutmante nulla: se IBM avesse copiato qualcosa che non era di sua proprietà la storia sarebbe finita in tribunale, non sul libro. Ma ripeto, per me non era questo il merito della discussione.
Evitiamo di accendere la discuzzione. Ammonizione.
Io, sinceramente, non vedo neppure la notizia: tutte cose che già si sapevano, e scrivere un libro circa le quattro mura in cui ciò è accaduto non cambia la sostanza dei fatti.
Microsoft ha chiesto una mano Ibm aveva la soluzione pronta e gliel'ha data tutto qua!
Hai ragione anche io non vedo la notizia
Quello che sto sostenendo è che Xenon è una reingegnerizzazione della PPE del Cell, non è un progetto partito di sana pianta dal POWER4 o dal PPC970.
OK
Anche l'architettura PowerPC è out-of-order. Più precisamente, lo è stata fino a Cell e Xenon, visto che l'hanno fatta diventare in-order con queste due CPU.
Per SMT ed eFuse penso proprio che sia stato POWER5 il primo a implementarle, e da questo portate poi su Cell e Xenon. Sul resto concordo.
L'avevo detto: per cercare di recuperare la perdita di prestazioni dovuta alla natura in-order del processore.
Le situazioni sono diverse perché POWER5 ha un eccesso di unità di esecuzione a disposizione che deve cercare di sfruttare il più possibile, a cui si aggiunge il fatto che le 5 istruzioni che può eseguire al massimo per singolo thread hanno dei precisi vincoli; aggiungendo un altro thread è più facile riuscire a sfruttarle il più possibile.
Cell ha poche unità di esecuzione, e sono commisurate al fatto che può eseguire una sola istruzione per thread. Ma la sua natura in-order lo può portare a lunghi stalli in attesa di un risultato dalla memoria o a uno svuotamento della pipeline. In pratica il processore potrebbe rimanere per diverso tempo ad aspettare sprecando per ogni ciclo la possibilità di sfruttare anche soltanto un'unità.
Questo con POWER non succede, o meglio ancora è un problema molto più raro, perché grazie al fatto di essere out-of-order può spostare l'ordine di esecuzione in modo da evitare questi stalli (inoltre possiede un algoritmo di branch prediction molto più efficiente, a cui aggiungiamo anche una pipeline più corta).
Ecco perché le situazioni di impiego sono completamente diverse.
Indubbiamente, ma cosa cambia? L'SMT era già stato sviluppato da POWER5 e semplicemente riciclato nella PPE. Esattamente com'è stato riciclato il core POWER4.
Posta in questi termini no, è corretto, ma parlerei più che altro di derivazione.
Beh, c'è quel documento che ne parla: è roba ufficiale che proviene da IBM. Anche tu mi avevi detto di guardare bene la fonte, no?
Sì, ti sei spiegato, ma c'è poco da essere in disaccordo: il documento afferma a chiare lettere che Cell deriva da POWER4 a cui sono state aggiunte caratteristiche del POWER5. E questo lo dice IBM: né io né tu.
Mi sembra normale, se ci limitiamo al solo core. Ma anche il core ha bisogno di interfacciarsi con la memoria, e qui le soluzioni divergono decisamente.
OK
[INDENT]"The specification for Power ISA v.2.03 is based on the former PowerPC ISA v.2.02 in POWER5+ and the Book E extension of the PowerPC specification. The Book I included five new chapters regarding auxiliary processing units like DSPs and the AltiVec extension."[/INDENT]
La 2.03 non è null'altro che la 2.02 + vector/SIMD multimedia extensions.
Ergo la PPE è giustamente indicata come version 2.03.
Intanto ripeto quanto detto sopra: si tratta della documentazione ufficiale di IBM che lo attesta come 2.02. Avrà i suoi buoni motivi per farlo.
IMHO la versione 2.03 avrà qualcosa di più rispetto alla sola "somma" dell'ISA 2.02 e di Altivec.
Ma guarda che il PPC970, fatta eccezione per Altivec, è anch'esso "binary compatibile" col POWER4 (da cui deriva).
Per il resto, Cell NON deriva dal PPC970, com'è attestato dal documento di IBM.
OK
Altivec è un'unità di esecuzione a sé, che è stata aggiunta al core POWER4 dal quale il PPC970 deriva, per cui non vedo perché non avrebbero potuto fare lo stesso anche con la PPE di Cell.
Non sarebbe finita in tribunale lo stesso, perché i termini dell'accordo prevedevano che ognuno avrebbe potuto utilizzare la tecnologia di Cell a proprio piacimento. Infatti non c'è stata nessuna causa.
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".