Dual core

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Disambiguazione – Se stai cercando altri significati, vedi Dual core (disambigua).

Dual core, in elettronica e nell'informatica, indica una CPU composta da 2 core, ovvero da 2 nuclei di processori "fisici" montati sullo stesso package.

Questo tipo di architettura consente di aumentare la potenza di calcolo di una CPU senza aumentare la frequenza di lavoro, a tutto vantaggio del calore dissipato (che diminuisce rispetto al caso di più processori separati) così come l'energia assorbita.

I primi processori dual core a venire prodotti, furono gli IBM PowerPC POWER4 del 2001 ma il concetto ha assunto risonanza mondiale nel 2005, anno in cui i due maggiori produttori di CPU al mondo, Intel e AMD, misero in commercio i primi esemplari di una nuova generazione di microprocessori, basati sui rispettivi prodotti esistenti, e contenenti due core.

Storia[modifica | modifica wikitesto]

Come accennato nell'introduzione, nel corso del 2005 arrivarono i primi chip dual core per mercato desktop, grazie a AMD che presentò l'Opteron e l'Athlon 64 X2; in quel periodo si era giunti ad un livello tecnologico di sviluppo hardware che non consentiva più di aumentare la potenza di elaborazione incrementando semplicemente la frequenza di clock. Fino a quel momento il continuo aumento delle prestazioni era stato basato soprattutto sull'aumento della frequenza operativa grazie alle innovazioni offerte dai processi produttivi sempre più miniaturizzati. Si giunse però a un punto tale per cui aumentare ulteriormente le frequenze delle CPU single core, malgrado le dimensioni minime dei transistor, comportava ormai consumi troppo elevati in relazione al modesto aumento di prestazioni (a quei tempi un processore single core top di gamma superava abbondantemente i 100 W di consumo massimo) e questo ovviamente aveva serie ripercussioni anche sul gravoso problema del raffreddamento dei circuiti.

La soluzione che sembrò più ovvia ai progettisti di microprocessori fu quella di puntare tutto sul parallelismo in modo da poter aumentare il numero di operazioni eseguibili in un unico ciclo di clock. Questo nuovo approccio comunque non era del tutto indolore e comportava anche alcuni svantaggi, in quanto i programmi dovevano essere ottimizzati per un utilizzo multi-thread ovvero parallelizzati anch'essi (ciascun programma eseguito in più parti) per poter sfruttare appieno le caratteristiche di questi processori, in caso contrario essi avrebbero impegnato solo uno dei core, lasciando l'altro pressoché inutilizzato. Paradossalmente, era anche possibile che un programma applicativo non pensato per un'esecuzione di tipo parallelo risultasse di più lenta esecuzione su un processore multi core rispetto a uno single core, e infatti al momento del lancio dei primi esemplari, erano veramente pochi i software già pronti per queste nuove architetture. Tale incapacità di raggiungere i livelli di prestazione teorici dei sistemi a parallelismo massiccio è nota come sindrome di von Neumann.

Diversi analisti software, infatti, prevedevano già allora che se il software pensato per un utilizzo parallelo in ambito dual core fosse stato realizzato in maniera oculata, tenendo conto non del funzionamento su un sistema dual core, ma su un sistema a più core, esso non avrebbe richiesto poi grosse modifiche per essere utilizzato su un dual core o su un più generico processore multi core (termine che indica CPU dotate di almeno 3 core). Secondo altri, invece, gli sforzi necessari per realizzare software multi processore che avrebbe funzionato in maniera ottimale saturando tutti i core e non occupandoli in modo disomogeneo sarebbero stati esagerati in relazione con i reali vantaggi, soprattutto di impatto di costi. Su una materia tanto nuova in ambito desktop, ai tempi non si poteva fare altro che attendere maggiori dettagli, ma il tempo ha poi portato gli sviluppatori ad acquisire sempre maggiore esperienza e dimestichezza con la programmazione parallela e molti dei timori dei primi giorni risultano ormai superati.

I produttori[modifica | modifica wikitesto]

Intel[modifica | modifica wikitesto]

Oltre ai già citati IBM PowerPC POWER4 del 2001, che erano comunque prodotti di nicchia, processori dual core disponibili per il grande pubblico vennero presentati da Intel, vale a dire gli Intel Pentium D (basati sul progetto Smithfield), che mantenne i prezzi relativamente bassi (rispetto alla concorrente AMD) simili alle controparti single core Pentium 4 basate sul core Prescott, questo anche perché le frequenze dei suddetti processori sarebbero state impari rispetto a quelle dei rispettivi processori AMD e quindi l'azienda decise di utilizzare una tattica aggressiva di ingresso del mercato dei processori dual core.[senza fonte]

I primi Pentium D erano formati appunto da 2 core Prescott montati sullo stesso package; successivamente arrivarono anche quelli basati su core Presler, divenuti la seconda generazione di processore Pentium D (in cui erano sempre presenti due core identici affiancati, anche se non sullo stesso die per poter così aumentare le rese produttive), con processo produttivo a 65 nm. Dopo Presler fu la volta del Core 2 Duo Conroe arrivato sul mercato a luglio 2006.

Intel, inoltre, estese progressivamente l'utilizzo di questa tecnologia a tutti i segmenti di mercato, incluso quello mobile, di cui il primo esponente fu il Core Duo Yonah e successivamente Merom, entrambi evoluzioni del Pentium M, e ovviamente al settore server. In questa categoria i primi dual core furono Montecito evoluzione del processore a 64 bit Itanium 2 con cache L3 che raggiunse in alcune versioni i 24 MB di capacità, mentre per i server x86 basati sul processore Xeon, videro la luce Dempsey (formato da due core Irwindale), e Paxville; si tratta dei nomi in codice di queste CPU, costruite con processo produttivo a 65 nm e pensate, rispettivamente, per i sistemi workstation e server a 2 e 4 processori.

Da Conroe venne derivato anche lo Xeon Woodcrest, per sistemi server di fascia bassa dotati di 2 socket.

AMD[modifica | modifica wikitesto]

I primi processori dual core di AMD furono gli Opteron nel mese di aprile 2005, seguiti poi dagli Athlon 64 X2 alla fine di maggio ed infine la versione FX con l'ultimo prodotto FX60 con frequenza di lavoro 2,6 GHz. La particolarità degli Athlon 64 X2, a confronto con i Pentium D, consisteva nel fatto che il core era formato sostanzialmente da 2 Athlon 64 che funzionavano alla stessa frequenza dei corrispondenti modelli single core ed anche il consumo medio rimaneva pressoché inalterato. Questo non comportava quindi un calo di prestazioni in caso di utilizzo con programmi single thread non ottimizzati per i dual core come accadeva invece nei confronti della coppia Pentium 4/Pentium D.

Altri[modifica | modifica wikitesto]

Oltre al già citato PowerPC sviluppato da IBM ed inserito anche in alcune versioni dei computer iMac della Apple, altri processori dual core furono i Sun Microsystems UltraSPARC IV/IV+, processori SPARC per server SMP messi in commercio durante il 2004/2005 e, restando in ambito Server ad alte prestazioni, i processori POWER4 (2003) e POWER5 (2004) della serie POWER della IBM che garantivano anche il Multithreading.

Considerazioni sui processori Dual/Multi core[modifica | modifica wikitesto]

Esistono differenti approcci attraverso i quali si possono realizzare chip dual core, ciascuna con precise peculiarità; per ulteriori informazioni si rimanda alle seguenti voci di approfondimento che espongono concetti di carattere generale:

Dai processori Dual Core ai Multi Core[modifica | modifica wikitesto]

Una volta accantonata la "corsa ai GHz" in favore della ricerca del parallelismo, la naturale evoluzione delle CPU dual core sono stati i processori multi core, termine generico che indica le CPU dotate di almeno 3 core al proprio interno.

Voci correlate[modifica | modifica wikitesto]

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica