Processore multicore: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Kekko89 (discussione | contributi)
mNessun oggetto della modifica
LucaDetomi (discussione | contributi)
Revisione e aggiunta di alcune informazioni
Riga 1:
Il termine '''multi core''' si usa per descrivere una [[CPU]] composta da più di due [[core (Hardware)|core]], ovvero da più "cuori" di [[processore|processori]] fisici montati sullo stesso [[package]].
Costituisce la naturale evoluzione delle CPU [[dual core]] composte da due core, e i primi esemplari di [[Intel]] e [[Advanced Micro Devices|AMD]] arriveranno in commercio nel corso del [[2007]] anche se non è ancora chiaro se si tratterà ancora di core omogenei, cioè identici tra loro oppure più core diversi specializzati in alcuni ambiti (decodifica video, audio, calcolo matematico, ecc.).
 
Costituisce la naturale evoluzione delle CPU [[dual core]] composte da due core, e i primi esemplari di [[Intel]] sono arrivati alla fine del [[2006]] con il processore [[Core 2 Extreme]] [[Kentsfield]] prima e [[Core 2 Quad]] poi.
I primi processori multi core presentati sul mercato sono stati verso la fine del [[2005]] [[Cell (processore)|Cell]], CPU sviluppata congiuntamente da [[IBM]], [[Sony]] e [[Toshiba]] per il mercato console/blade server e composto da 8 core non omogenei, e l'[[UltraSPARC T1]], processore a 8 core omogenei sviluppato da [[Sun Microsystems]] per il mercato server (In particolare per [[Web server]] con numerosi accessi) capace di gestire 32 [[thread]] simultanei.
<BR>
I primi processori a 4 core di [[Advanced Micro Devices|AMD]] invece arriveranno in commercio nel corso del [[2007]].
 
== Primi processori multi core ==
IIntel ha avuto il merito di rendere i processori a 4 core disponibili praticamente a tutti, ma i primi processori multi core presentati sul mercato sono stati, verso la fine del [[2005]], il [[Cell (processore)|Cell]], CPU sviluppata congiuntamente da [[IBM]], [[Sony]] e [[Toshiba]] per il mercato console/blade server e composto da 8 core non omogenei, e l'[[UltraSPARC T1]], processore a 8 core omogenei sviluppato da [[Sun Microsystems]] per il mercato server (In particolare per [[Web server]] con numerosi accessi) capace di gestire 32 [[thread]] simultanei.
 
Questo tipo di architettura, al pari dei sistemi dual core e, più generalmente, di tutti i sistemi [[biprocessore]] e [[multiprocessore]], consente di aumentare la potenza di calcolo senza aumentare la frequenza di lavoro, a tutto vantaggio del calore dissipato oltre a garantire maggiori prestazioni in ambiti molto specifici dove più che un'alta potenza di calcolo è richiesto un grande [[calcolo parallelo|parallelismo]].
 
== Dai Dual Core ai Multi Core ==
Nel corso del [[2005]] sono arrivati i primi chip dual core per mercato desktop; questo perché in pratica, si è giunti ad un momento in cui aumentare ulteriormente la frequenza di [[clock]] di una CPU (che fino a questo momento erano state [[single_core|single core]]) è diventato molto oneroso e complicato, per via dei consumi che hanno superato abbondantemente i 100 W e il conseguente problema di raffreddamento dei circuiti.
La soluzione che è sembrata più ovvia ai progettisti è stata quella di puntare tutto sul [[calcolo_parallelo|parallelismo]] in modo da poter aumentare il numero di operazioni eseguibili in un unico ciclo di clock. Purtroppo questo approccio comporta anche alcuni svantaggi, in quanto i programmi devono essere ottimizzati per un utilizzo [[multithreading|multi thread]] per poter sfruttare appieno le caratteristiche di questi processori, in caso contrario essi impegneranno solo uno dei due core, lasciando l'altro pressoché inutilizzato, e al momento sono veramente pochi i [[software]] già pronti per queste nuove architetture. Una volta completato l'aggiornamento di tutti i programmi verso la nuova filosofia, tutto dovrebbe (il condizionale è d'obbligo) risultare più semplice, anche quando nel [[2007]] arriveranno i primi esemplari di processori [[quad core]], ovvero formati da 4 core. Diversi analisti infatti, prevedono che se il software pensato per un utilizzo parallelo in ambito dual core viene realizzato in maniera oculata, tenendo conto non del funzionamento su un sistema dual core, ma su un sistema a più core, nel caso specifico solo 2, non richiederebbe poi grosse modifiche per essere utilizzato su un dual core o su un quad core. Secondo altri invece, gli sforzi necessari per realizzare software per molti processori che funzioni in maniera ottimale saturando tutti i core e non occupandoli in modo discontinuo, saranno esagerati in relazione con i reali vantaggi. Su una materia così nuova in ambito desktop, non si può fare altro che attendere maggiori dettagli.
 
La soluzione che è sembrata più ovvia ai progettisti è stata quella di puntare tutto sul [[calcolo parallelo|parallelismo]] in modo da poter aumentare il numero di operazioni eseguibili in un unico ciclo di clock. Purtroppo questo approccio comporta anche alcuni svantaggi, in quanto i programmi devono essere ottimizzati per un utilizzo [[multi-thread]] per poter sfruttare appieno le caratteristiche di questi processori, in caso contrario essi impegneranno solo uno dei due core, lasciando l'altro pressoché inutilizzato. Può addirittura verificarsi che un programma applicativo risulti di più lenta esecuzione su un processore dual core e, al momento del lancio, erano veramente pochi i [[software]] già pronti per queste nuove architetture.
<BR>
Una volta completato l'aggiornamento di tutti i programmi verso la nuova filosofia, tutto dovrebbe (il condizionale è d'obbligo) risultare più semplice, soprattutto alla luce anche dei nuovi processori [[quad core]], ovvero formati da 4 core arrivati a fine [[2006]]; si tratta di soluzioni che richiedono ancora di più l'esistenza di applicazioni ottimizzate per poter esprimere il proprio potenziale.
 
Diversi analisti infatti, prevedono che se il software pensato per un utilizzo parallelo in ambito dual core viene realizzato in maniera oculata, tenendo conto non del funzionamento su un sistema dual core, ma su un sistema a più core, non richiederebbe poi grosse modifiche per essere utilizzato su un dual core o su un quad core. Secondo altri invece, gli sforzi necessari per realizzare software multi processore che funzioni in maniera ottimale saturando tutti i core e non occupandoli in modo disomogeneo saranno esagerati in relazione con i reali vantaggi, soprattutto di impatto di costi. Su una materia così nuova in ambito desktop, non si può fare altro che attendere maggiori dettagli.
 
Esistono differenti approcci attraverso i quali si possono realizzare chip multi core e per approfondimenti si rimanda alle seguenti voci di approfondimento che, sebbene riferite a processori dual core, espongono comunque concetti di carattere generale che ben si adattano anche a considerazioni su CPU a più core:
* '''[[Dual core (tecniche di realizzazione)]]''' per i dettagli sulla realizzazione fisica di queste CPU.
* '''[[Dual core (gestione della cache)]]''' per considerazioni sulla fruizione della cache da parte di ciascun core.