Architettura dual core

(Reindirizzamento da Dual core (gestione della cache))
Voce principale: Processore multicore.

In elettronica ed informatica l'architettura dual core (lett. "architettura a doppio nucleo" in italiano) è un tipo di architettura per microprocessori paralleli che permette di integrare due unità di elaborazione indipendenti in un unico circuito integrato.

Questo tipo di architettura consente di aumentare la potenza di calcolo senza aumentare la frequenza di lavoro, aggirando quindi i limiti alla scalabilità altrimenti imposti dalla tecnologia dei semiconduttori.

Motivi del passaggio ai dual core

modifica

Nel corso del 2005 i principali produttori di microprocessori, Intel e AMD hanno avviato il passaggio all'architettura dual core, una scelta resa necessaria dalle crescenti difficoltà nel continuare ad aumentare la frequenza di clock dei tradizionali processori single core.[1] Questa transizione ha segnato un'evoluzione significativa nel settore dell’elaborazione, puntando su un incremento della potenza computazionale attraverso la parallelizzazione delle operazioni. A conferma di questa tendenza, alla fine del 2006 Intel ha introdotto sul mercato i primi processori multi core a quattro core, consolidando ulteriormente il superamento dell’architettura single core e aprendo la strada a nuove soluzioni orientate all’efficienza e alle prestazioni.[2]

Architettura fisica

modifica

Attualmente, esistono tre approcci differenti per la realizzazione di un processore dual core:

  • Die Singolo
  • Die Doppio
  • Die Monolitico

Il "Die" è il blocco di silicio situato al centro di un processore che ospita i core della CPU.

Die Singolo

modifica

Si tratta di un approccio utilizzato solo da Intel agli inizi della produzione di CPU dual core: l'unico processore ad utilizzare tale approccio è stato il Pentium D Smithfield e consiste nel combinare due core su un singolo die.[3]

È l'approccio più semplice, e quindi più economico rispetto agli altri, per la realizzazione di un processore dual core, ma è anche più limitativo per quanto riguarda le prestazioni e la resa produttiva. Infatti, nel caso del Pentium D Smithfield, che è formato da due core Prescott (alla base di uno dei tanti stadi evolutivi del Pentium 4, processore single core), per la sua realizzazione è sufficiente utilizzare la stessa maschera litografica progettata per il processore Prescott, e "stamparla" due volte sul wafer di silicio interconnettendo i due core così realizzati. Persiste però il problema che se anche solo uno dei due core stampati è difettoso, tutto il chip diventa inutilizzabile.

L'evoluzione delle tecniche produttive probabilmente ha fine di tale approccio, che sebbene semplice da realizzare può risultare indirettamente costoso per la probabilità di non avere molti core attigui sul wafer perfettamente veloce.

Die Doppio

modifica

Questo metodo consiste nel posizionare due die, fisicamente separati all'interno dello stesso package del processore. I due die vengono successivamente interconnessi tramite collegamenti esterni. Sebbene questa soluzione possa risultare più semplice da implementare, poiché consente il riutilizzo di die già esistenti, presenta alcune limitazioni in termini di prestazioni e latenza nella comunicazione tra i core. Inoltre, la separazione fisica dei core comporta spesso l’impossibilità di condividere in modo diretto alcune risorse, come la cache.

Die Monolitico

modifica

L'approccio monolitico prevede l’integrazione di tutti i core e delle principali componenti del processore all’interno di un singolo die di silicio. Questo metodo, considerato tecnicamente più avanzato, richiede una progettazione unificata fin dalle fasi iniziali di sviluppo dell’architettura. È stato utilizzato per la prima volta da Intel per i processori Core Duo Yonah e Itanium 2 Montecito. Uno dei maggiori vantaggi consiste nell'offrire ai progettisti l'opportunità di condividere alcune unità del processore; nel caso più semplice, tale condivisione si limita alla cache che viene realizzata in un unico blocco condiviso tra tutti i core (in processori che utilizzano gli altri approcci costruttivi, la cache è necessariamente equamente divisa tra i core e l'accesso diretto a ciascuna cache è riservato esclusivamente al rispettivo core, il quale per accedere alle altre deve far transitare i dati sul BUS). In casi più complessi le unità condivise possono essere anche altre, come il controller della memoria RAM (inizialmente solo nei processori AMD, ma poi da fine 2008 anche nei processori Intel Core i7 Bloomfield, basati sulla nuova architettura Nehalem) e gli scheduler che ripartiscono il carico tra i vari core.

Appare quindi evidente come tutti i più recenti progetti di processori multi core puntino soprattutto all'utilizzo di quest'ultimo approccio costruttivo, riservando gli altri (soprattutto quello a Die Doppio), per risolvere specifiche esigenze.

Architettura della cache condivisa

modifica

Nei processori multi core si pone il problema di come sfruttare la grande dotazione di cache di ultimo livello (in genere L2, ma a volte anche L3) e come gestirne l'accesso da parte dei vari core.

Cache nei processori a Die Singolo

modifica

Il primo processore dual core di Intel è stato il Pentium D Smithfield costruito secondo il più semplice degli approcci costruttivi quello, appunto, a Die singolo.

Pur essendo collegati in modo da poter scambiare dati reciprocamente, ognuno dei due core comunque, manteneva la propria indipendenza e quindi anche le cache di ultimo livello (che in questo caso erano le L2) erano sdoppiate e ogni core aveva la "propria" cache L2, e di conseguenza, solamente con questa poteva avere una sorta di accesso privilegiato. Proprio per questo motivo, per Smithfield, non presentava una cache L2 da 2 MB ma di 2 x 1 MB. Affinché un core potesse accedere ai dati memorizzati nella cache dell'altro era necessario trasferire i dati attraverso il bus di sistema, con il rischio di saturarlo. La scelta di questa implementazione in Smithfield, penalizzante dal punto di vista delle prestazioni, era giustificata dalla sua relativa semplicità realizzativa e progettuale.

Cache nei processori a Die Doppio

modifica

La seconda generazione del Pentium D era basata invece sul core Presler, questa volta l'approccio seguito dai progettisti era quello a Die Doppio, vale a dire che sul wafer di silicio venivano prodotti solo core indipendenti (in questo caso tutti core alla base del Pentium 4 Cedar Mill successore di Prescott) e poi, una volta individuati due core "adatti" ad essere unificati, essi venivano montati sullo stesso package e collegati insieme mediante collegamenti esterni. La resa produttiva di questo approccio è massima, riducendo il numero di core da scartare, ma al tempo stesso la separazione fisica dei core comporta due inconvenienti: la necessità di collegamenti esterni e la separazione della cache. Il primo inconveniente è relativamente economico nella sua superazione, mentre il secondo rappresenta un limite intrinseco di questo approccio. Per questo motivo tutti i processori Intel prodotti in questo modo (oltre a Presler, si possono ricordare anche Paxville e Dempsey) avevano necessariamente cache separate.

Cache nei processori a Die Monolitico

modifica

L'approccio del die singolo così riuscì ad ottenere una profonda innovazione, diventando un Die monoltico, e quindi riuscì a sfruttare al meglio le proprie peculiarità.

La maggiore lacuna delle prime versioni di processori dual core risiedeva nell'esclusività della cache di ultimo livello e la necessità di far transitare i dati sul già trafficato BUS di sistema. Il primo processore a colmare questa lacuna è stato il Core Duo Yonah una CPU mobile dual core in cui la cache L2 era condivisa tra i due core. Ogni core quindi poteva accedere alla totalità della cache lasciando libero il BUS di sistema che poteva quindi limitarsi a far transitare solo i dati da, e per, la memoria RAM.

Dopo Yonah, tutti i processori dual core Intel hanno iniziato a sfruttare questa caratteristica che consente ovviamente prestazioni migliorate, anche se a fronte di un maggiore costo produttivo. È questo il caso del successore di Yonah, il Core 2 Duo Merom, e dei suoi derivati per i settori desktop e server, Conroe e Xeon DP Woodcrest, oltre ovviamente alle successive versioni a 45 nm dei processori appena citati tra i quali Penryn e Wolfdale.

Architetture multicore

modifica

Architettura fisica

modifica

Analogamente ai differenti metodi per la realizzazione di un processore dual core, anche per i multi core a più di 2 core è possibile utilizzare gli stessi diversi approcci. In questo caso però è anche possibile "combinare" i metodi per ottimizzare la produzione a seconda delle esigenze dei progettisti e del mercato.

Di seguito alcuni esempi, relativi per semplicità al solo settore desktop, che hanno sfruttato la combinazione dei diversi approcci:

  • Kentsfield - due core dual core (Conroe) a 65 nm costruiti ciascuno su Die Monolitico, accoppiati su Die Doppio per un totale di quattro core.
  • Yorkfield - due core dual core (Wolfdale) a 45 nm costruiti ciascuno su Die Monolitico, accoppiati su Die Doppio per un totale di quattro core. Inizialmente sembrava che potesse essere quattro core single core costruiti su Die Monolitico, accoppiati su Die Quadruplo (variante del Die Doppio) per un totale di otto core.

A fine 2008 è arrivato il primo processore a quattro core "nativo" che è basato sulla nuova architettura Nehalem.

Quanto detto per i processori dual core, vale anche per i processori multi core in generale con più di due core, sempre che siano realizzati secondo il medesimo approccio costruttivo. Vale a dire per esempio, che in questi processori la cache può essere condivisa solo se tutti i core vengono costruiti insieme in un unico blocco di silicio. Siccome questo è avvenuto solo in un secondo momento con l'affinamento dei processi produttivi (il primo processore di questo tipo, prodotto a 45 nm è arrivato a fine 2008, con il nome di Core i7 Bloomfield, e basato sulla nuova architettura Nehalem) nei primi processori quad core (quattro core) che sono stati realizzati utilizzando approcci "ibridi", i vantaggi e gli svantaggi di entrambe le tecnologie coesistono.

Architetture multicore in tecnica ibrida

modifica

Come accennato poco sopra, i primi processori a quattro core non sono realizzati direttamente con un approccio a die monolitico, in quanto questo avrebbe richiesto costi troppo alti. È risultato quindi molto più conveniente combinare i due approcci nel seguente modo: si realizzano due processori dual core (per esempio due Conroe) costruiti quindi con tecnologia a die monolitico e, successivamente, si uniscono su un unico package mediante l'approccio a die doppio. In questo modo si hanno CPU a quattro core, il cui primo esponente è stato Kentsfield (commercialmente alla base di Core 2 Extreme e Core 2 Quad) che veniva prodotto proprio nel modo appena descritto.

Viene da chiedersi come avviene l'accesso alla cache in questa CPU da parte di ogni core. La risposta è semplice: in Kentsfield sono presenti due cache L2 separate, ciascuna delle quali viene condivisa da una coppia di core, i core Conroe appunto.

  1. ^ Dual Core Era Begins, PC Makers Start Selling Intel-Based PCs, su www.intel.com. URL consultato il 23 maggio 2025.
  2. ^ (EN) Scott Gilbertson, Intel Quad Core Chips Arrive, in Wired. URL consultato il 23 maggio 2025.
  3. ^ (EN) Intel Pentium D dual-core desktop CPU • The Register, su www.theregister.com. URL consultato il 23 maggio 2025 (archiviato dall'url originale il 16 gennaio 2025).

Voci correlate

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