Cell (processore): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
M7 (discussione | contributi) m →Collegamenti esterni: typo |
fix |
||
(180 versioni intermedie di oltre 100 utenti non mostrate) | |||
Riga 1:
{{NN|informatica|ottobre 2010}}
'''Cell''' è una tipologia di [[CPU|processori]] sviluppati da [[
La famiglia di processori Cell è sviluppata per permetterne un utilizzo quasi universale, infatti questi processori sono stati pensati per essere in grado di coprire i mercati che vanno dalle applicazioni dedicate ([[Sistema embedded|embedded]]) fino al mercato dei [[mainframe]]. Si tratta di [[CPU]] progettate per utilizzare la [[Calcolo parallelo|computazione parallela]] e Sony li ha utilizzati anche per la sua console [[PlayStation 3]].
Sebbene Cell possa avere molte configurazioni la configurazione base prevede un unità chiamata ''Processing Element'' (''PE'') e otto unità "Synergistic Processing Units" ("SPU"). L'unità PE è basata sull'architettura [[POWER]], capace di elaborare 2 [[thread]] contemporaneamente ed è la stessa architettura che fornisce la base dei processori utilizzati da [[Apple]] e da altri. L'unità PE non è il processore primario, il suo compito è controllare e sincronizzare la unità SPU che dovranno eseguire la maggior parte delle computazioni.▼
== Caratteristiche tecniche ==
[[File:Schema Cell.png|thumb|upright=1.8|Architettura del processore]]
[[File:PPE (Cell).png|thumb|upright=1.8|Schema unità PPE]]
▲Sebbene Cell possa avere molte configurazioni, la
Sotto molti punti di vista Cell assomiglia all'architettura sviluppate da [[Seymour Cray]] ma al contrario. Mentre nel CDC 6600 vi era un'unità di calcolo molto veloce e un gruppo di unità più lente dedicate alla gestione e memorizzazione dei dati nell'architettura del Cell l'approccio è opposto. Nel Cell vi è un'unità di gestione e un gruppo di unità veloci dedicate all'elaborazione dei dati. Questa architettura ritiene problematico l'elaborazione dei dati e non il loro recupero dalla memoria centrale. ▼
Il PPE è un insieme di chip che comprende un PXU, cioè un'unità logica di elaborazione per operazioni in virgola fissa e [[Numero in virgola mobile|virgola mobile]], e contiene in aggiunta i registri SIMD (in totale ha 32 registri a 128 bit), 2 [[CPU cache|cache]] L1 ambedue di 32KkB (una per dati e l'altra per il codice), e inoltre possiede anche una cache L2 unificata per dati e codice, grande 512kB. Può accedere direttamente alla memoria principale tramite [[Direct Memory Access|DMA]]. Questa unità inoltre può elaborare 2 [[Thread (informatica)|thread]] simultaneamente (l'insieme tra PXU e cache L1 è il PPU){{Chiarire}}. La SPE è un insieme di chip che comprende un SXU, cioè un'unità logica formata da due [[Pipeline dati|pipeline]] concorrenti, una per il prefetching dei dati e l'altra per l'elaborazione in virgola fissa e [[Numero in virgola mobile|virgola mobile]]; tuttavia hanno solo registri SIMD unificati (128 a 128bit){{Chiarire}}. Possiede inoltre una LS o Local Storage, di 256kB ad alta velocità ed è l'unica memoria a cui la SXU può accedere; infatti, se essa ha bisogno di un'informazione dalla memoria principale, interviene un altro chip contenuto nella SPE, il cosiddetto MCF (Memory Flow Controller) che ha il compito di portare dalla memoria principale (tramite DMA) o eventualmente anche dalle altre LS, l'informazione alla sua LS. (L'insieme tra SXU e LS è la SPU){{Chiarire}} inoltre le SPE elaborano un solo thread ma molto più velocemente dei normali PPE.
Guardando l'architettura da un altro punto di vista Cell assomiglia a un moderno Computer da tavolo con un solo processore. Le moderne schede grafiche sono dotate di un unità di elaborazione e di molte unità dedicate alle gestione della grafica poligonale. Queste unità dispongono di un accesso alla memoria molto rapido e spesso sono in grado di condividere delle zone di memoria. Cell estende questa architettura, le unità SPU sono molto più flessibili e potenti delle unità dedicate all'elaborazione dei poligoni e la loro possibilità di comunicazione e sincronizzazione è notevolmente superiore a quella di qualsiasi scheda grafica. Non stupisce quindi che Cell venga utilizzata nella PlayStation 3 per realizzare la più potente accoppiata CPU scheda grafica che una console abbia mai visto.▼
I processori comunicano fra loro per mezzo dell'EIB (Element Interconnect Bus), che lavora alla metà della [[frequenza]] del processore e comunicano con l'esterno con il [[Bus (informatica)|bus]] FlexIO a 6,4 GHz (ma la frequenza è variabile, ad esempio, quello del Cell integrato nella Playstation 3 lavora a 5 GHz) e con la memoria attraverso un bus XDR ([[Extreme Data Rate]]) a 3,2 GHz: sia FlexIO che XDR si basano su tecnologie di [[rambus]] e sono gestiti da controller integrati nel chip. Grazie ad un accordo stipulato con Rambus nel [[2003]], le memorie XDR DRAM che equipaggiano i dispositivi basati sull'architettura Cell vengono prodotte direttamente da Sony e Toshiba.
L'architettura di Cell prevede l'incorporazione di più elementi base (1 PE più 8 GPU) in un solo chip. IBM ha presentato il brevetto di un'unità formata da quattro unità base in grado di sviluppare in teoria 1 Teraflop. Non è chiaro quante unità base verranno incluse nella PlayStation 3 o nei chip per computer.▼
Nelle architetture finora prodotte gli SPE sono ottimizzati per il calcolo su singola precisione; ogni SPE è dotato di 4 [[Unità aritmetica e logica|ALU]] a 2 stadi per dati a singola precisione e può dunque eseguire sino ad 8 operazioni contemporaneamente. Gli SPE supportano anche il calcolo su dati a precisione doppia ma non dispongono di unità specializzate; tali calcoli sono eseguiti dagli SPE per la precisione singola con prestazioni circa 1/8 rispetto a quelle a precisione singola. Sono comunque previste implementazioni successive dell'architettura che supportino in hardware la precisione doppia non pagando dunque queste penalizzazioni.
[[Toshiba]] ha sviluppato un co-processore con 4 SPE, ma senza PPE, chiamato [[SpursEngine]] e progettato per accelerare il 3D e gli effetti speciali dei film nei prodotti elettronici di massa (es. [[PlayStation 3]]).
=== Considerazioni sull'architettura ===
▲Sotto molti punti di vista Cell assomiglia all'architettura
Guardando l'architettura da un altro punto di vista Cell assomiglia a un moderno Computer da tavolo con un solo processore.
▲
▲L'architettura di Cell prevede l'incorporazione di più elementi base (1
== Prestazioni ==
Avendo principalmente un compito di gestione delle altre unità, il PPE incrementa le sue prestazioni e lo sfruttamento delle risorse con il [[multithreading]], la grana del calcolo non è dunque particolarmente elevata ma diventa importante una buona gestione dei thread e dei processi.
Per quanto riguarda gli SPE vale invece il discorso opposto, essi sono specializzati nella computazione, hanno un (relativamente) grosso spazio di memoria on chip e lavorano solo su quello; il lavoro ottimale di queste unità è dunque il calcolo su vettori di dati delle stesse operazioni.
Sia PPE che SPE supportano il [[calcolo vettoriale]], istruzioni su una serie di dati strutturati in un array monodimensionale. Questi elementi possono essere interi o floating point. In questo modo ogni singolo SPE è capace di eseguire contemporaneamente la stessa operazione su 8 valori diversi (lavorando in singola precisione). Grazie a questo meccanismo la sua performance arriva a circa 32 [[FLOPS|gigaFLOPS]], dunque in teoria lavorando su precisione singola ogni singolo core ha potenzialità circa 8 volte maggiori di quelle di un [[Pentium 4]] con lo stesso clock, a precisione doppia le prestazioni diventano equivalenti.
A livello teorico il Cell può arrivare dunque sino ai 250 gigaFLOPS lavorando in singola precisione, e 30 GigaFLOPS in precisione doppia, rispettivamente 64 e 8 volte quelle di un Pentium IV con lo stesso clock.
Questo rende il Cell molto interessante per il calcolo in ambito scientifico; sebbene la sua architettura non sia ottimizzata per il calcolo in precisione doppia le prestazioni risultano comunque notevoli, e il fatto che tale processore sia studiato per una console influisce sui costi del processore stesso, che essendo prodotto su larga scala risulta notevolmente più economico di un processore "di nicchia" studiato appositamente per il calcolo scientifico. Tuttavia il Cell pur essendo un ottimo processore in ambito scientifico è più complesso da sfruttare in ambito videoludico ma rimane altrettanto potente ed eccellente per compiti di decodifica e transcodifica di flussi audio/video, [[Computer grafica 3D|grafica 3D]] (vertex, [[pixel]], [[texture (grafica)|texture]]), simulazione avanzata della fisica in tempo reale e [[ray tracing]].
Con [[Yellow Dog Linux]] 6.1, [[Fedora (distribuzione Linux)|Fedora]] 9 o 10 e RHEL 5.2 o superiore si possono scrivere applicazioni per il Cell attraverso il kit di sviluppo di IBM (la versione attuale è la 3.0).
== Cell anche per i Server ==
Le prime versioni di Cell per [[server blade]] sono state distribuite ad inizio [[2006]] con un [[Clock]] di 2,4 GHz sebbene inizialmente la IBM avesse ipotizzato una vendita iniziale di versioni con un clock molto maggiore, sui 4 o 5 GHz, questo poiché nei laboratori i ricercatori sono riusciti a spingere questa architettura fino a 5.2 GHz, anche se pare che le rese produttive di questo chip non permettano allo stato attuale una commercializzazione a queste frequenze per via della inefficiente dissipazione del calore del chip stesso a tale frequenze.
Nel corso degli anni Sony ha affinato il processo produttivo del Cell. Al suo debutto nel 2006 nella prima versione di PlayStation 3 il Cell era prodotto a 90nm, successivamente ridotta a 65nm e col debutto della Playstation 3 Slim è stato ridotto a 45 nm. L'ultima versione implementata nella Playstation 3 Super Slim è a 32 nm. Lo stesso procedimento è avvenuto anche per la componente GPU della console e ciò ha permesso la riduzione dei consumi dai 200 Watt di picco della prima versione di Playstation 3 ai 70 Watt della Playstation 3 Super Slim.
Saranno disponibili molte varianti del Cell che avranno un diverso numero di unità interne per poter soddisfare le diverse necessità del mercato. Le aziende hanno sviluppato Cell in modo da poter integrare diverse unità in un solo chip in modo economico e se necessario Cell può essere ulteriormente espanso utilizzando reti veloci che collegano più chip in modo da incrementare la potenza di calcolo disponibile.
Progetti simili basati su più [[core (
== Cell nei supercomputer ==
{{vedi anche|IBM Roadrunner}}
IBM, nel settembre [[2006]] comunicò la realizzazione di un nuovo supercomputer, destinato al Laboratorio Nazionale di [[Los Alamos]] nel [[Nuovo Messico]], per il Dipartimento dell'Energia statunitense.
Roadrunner (questo il suo nome), è entrato in funzione nel 2008, ed è subito diventato il più veloce calcolatore mai realizzato, superato nel 2009 dal [[Cray Jaguar]]. Appena entrato in funzione, Roadrunner era ben 4 volte più potente dell'allora leader in classifica, vale a dire il sistema [[Blue Gene|BlueGene/L]], superando per la prima volta la storica soglia di un PetaFLOPS e arrivando a 1,6 PetaFLOPS: {{formatnum:1600}} [[Bilione|bilioni]] (1,6 x 10<sup>15</sup>) di operazioni al secondo<ref>[http://news.cnet.com/Military-supercomputer-sets-record/2100-1010_3-6241145.html?tag=nefd.top Military supercomputer sets record - CNET News<!-- Titolo generato automaticamente -->]</ref>.
In realtà tale sistema non è stato realizzato utilizzando esclusivamente il processore Cell; i nodi di calcolo sono infatti composti da processori [[Advanced Micro Devices|AMD]] [[Opteron]], a cui sono affiancati i processori Cell, utilizzati per accelerare i calcoli in virgola mobile. In generale esiste un rapporto 1:1 (relativamente ai nodi di computazione) tra il numero di core Opteron e il numero di core Cell. In particolare IBM ha scelto di utilizzare il processore PowerXCell 8i, in quanto fornisse istruzioni SIMD che permettono di eseguire quattro operazioni in virgola mobile per [[ciclo di clock]]. Inoltre esso è in grado di eseguire calcoli in virgola mobile a doppia precisione ad una velocità cinque volte superiore rispetto alla generazione precedente di processori Cell/B.E.
In totale Roadrunner include 12960 processori Cell.
==
<references />
*[http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=/netahtml/search-adv.htm&r=1&f=G&l=50&d=PTXT&p=1&p=1&S1=((Sony+AND+PE)+AND+APU)&OS=Sony+AND+PE+AN%20D+APU&RS=((Sony+AND+PE)+AND+APU) Patent #6,526,491 (related to the cell processor)]▼
*[http://www.eet.com/semi/news/showArticle.jhtml?articleId=54200580 EE Times article on ISSCC paper presentation]▼
*[http://www.blachford.info/computer/Cells/Cell0.html In-depth look at the architecture]▼
*[http://www-1.ibm.com/press/PressServletForm.wss?MenuChoice=pressreleases&TemplateName=ShowPressReleaseTemplate&SelectString=t1.docunid=7502&TableName=DataheadApplicationClass&SESSIONKEY=any&WindowTitle=Press+Release&STATUS=publish IBM/Sony/Toshiba PR on key details of the Cell Chip]▼
*[http://www.pbs.org/cringely/pulpit/pulpit20050217.html Robert X. Cringely piece about why software is key to the Cell success]▼
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
[[Categoria:Microprocessori]]▼
* {{cita web|1=http://www-306.ibm.com/chips/news/2001/0312_sony-toshiba.html|2=Sony, IBM, and Toshiba announces Cell development|lingua=en|accesso=23 febbraio 2005|urlarchivio=https://web.archive.org/web/20040803172540/http://www-306.ibm.com/chips/news/2001/0312_sony-toshiba.html|dataarchivio=3 agosto 2004|urlmorto=sì}}
▲*
▲*
* {{cita web|1=http://www.scei.co.jp/corporate/release/pdf/041129ae.pdf|2=Sony/Toshiba Press Release on Cell Production|lingua=en|accesso=23 febbraio 2005|urlarchivio=https://web.archive.org/web/20050331084428/http://www.scei.co.jp/corporate/release/pdf/041129ae.pdf|dataarchivio=31 marzo 2005|urlmorto=sì}}
* {{cita web|1=http://www.scei.co.jp/corporate/release/pdf/041129be.pdf|2=Sony PR on one-rack 16 TFLOP workstation|lingua=en|accesso=23 febbraio 2005|urlarchivio=https://web.archive.org/web/20050331070131/http://www.scei.co.jp/corporate/release/pdf/041129be.pdf|dataarchivio=31 marzo 2005|urlmorto=sì}}
* {{cita web|1=http://pcweb.mycom.co.jp/news/2004/11/29/011bl.jpg|2=Link to image of ISSCC presentation abstract for 90nm process|lingua=en|accesso=19 aprile 2021|urlarchivio=https://web.archive.org/web/20141109030645/http://news.mynavi.jp/news/2004/11/29/011bl.jpg|dataarchivio=9 novembre 2014|urlmorto=sì}}
* {{cita web|url=http://www.realworldtech.com/page.cfm?ArticleID=RWT021005084318|titolo=Technical details the of Cell Architecture (presented at the ISSCC 2005)|lingua=en|accesso=23 febbraio 2005|urlarchivio=https://web.archive.org/web/20120510093208/http://www.realworldtech.com/page.cfm?ArticleID=rwt021005084318|dataarchivio=10 maggio 2012|urlmorto=sì}}
▲*
▲*
* {{cita web|1=http://cell.raw.net|2=Site offering news and info on the Cell processor|lingua=en|accesso=21 febbraio 2019|urlarchivio=https://web.archive.org/web/20080703163431/http://cell.raw.net/|dataarchivio=3 luglio 2008|urlmorto=sì}}
▲* {{en}} [http://www.pbs.org/cringely/pulpit/pulpit20050217.html Articolo] di [[Robert X. Cringely]]
* {{cita web|https://arstechnica.com/articles/paedia/cpu/cell-1.ars|Introducing the IBM/Sony/Toshiba Cell processor, part I|lingua=en}}
* {{cita web|https://arstechnica.com/articles/paedia/cpu/cell-2.ars|Introducing the IBM/Sony/Toshiba Cell processor, part II|lingua=en}}
{{Portale|informatica}}
▲[[Categoria:Microprocessori IBM]]
[[Categoria:Architettura Power]]
|