PDA

View Full Version : per i dual core è meglio avere cache separata o condivisa?


ranocchioxx
05-06-2006, 18:53
come da titolo mi è venuto questo dubbio e vorrei sentire vantaggi e svantaggi di una e l'altra soluzione! ciao!

Rubberick
05-06-2006, 23:40
hum... credo che l'ideale sia averla condivisa ma dipende come la cpu gestisce il tutto... alla fine anche la condivisa credo che a basso livello sia gestita "separatamente"

ranocchioxx
06-06-2006, 00:58
mi sapresti spiegare meglio anche il motivo?
grazie

OverClocK79®
06-06-2006, 01:01
se lavorano allo stesso processo
meglio condivisa
così il secondo core nn deve andare a prendersi le informazioni in ram
ma può usare quelle che si trovano nella cache
velocizzando quindi il processo

BYEZZZZZZZZZZ

piottocentino
06-06-2006, 01:05
meglio condivisa...;)

ReDeX
06-06-2006, 09:10
Il conroe ci dice tutto :D :
meglio condivisa ma di dimensioni generose per trarne un reale vantaggio. ;)
Guardacaso anche AMD userà una soluzione simile per il K8L, anche se in quel caso si parla di cache L3.

midian
06-06-2006, 10:24
condivisa :cool:

LiLL0
06-06-2006, 16:55
Dipende dall'architettura del processore.
I primi esemplari dual-core, sia Intel che AMD, non erano altro che due core dei corrispondenti processori single appiccicati, in quel caso era impossibile, se non controproducente la cache condivisa.
Attualmente pero' sia Intel con Conroe che AMD con il futuro K8L si stanno spostando verso la cache condivisa che sembra apportare, anche logicamente, dei vantaggi.

asuslello
06-06-2006, 19:35
l3 condivisa come k8l :cool:

NoLimit
09-06-2006, 14:10
Dipende.
La politica di gestuione della memoria è semplice, le memorie comunicano a livelli.
I registri solo con la cache di primo livello
la cache di primo livello con quella di secondo
La cache di secondo con la ram di sistema.

In questa politica se tu hai due core distinti, dovranno condividere il bus di sistema per accedere alla ram per recuperare informazioni.
Inoltre, nello scenario di 2 cpu che lavorano a un processo accedere ai dati della cache della 2a cpu, da parte della prima, significa andare a recuperare il dato attraverso la ram di sistema e non nella cache della 2a cpu.
Inoltre andare a recuperare in ram significa anche accertarsi che il dato richiesto sia aggiornato, nel senso che se la 2a cpu ha elaborato il dato, può averlo salvato in cache ma non in ram, quindi esistono due copie diverse dello stesso dato. Questo avviene anche nelle cpu con cache di secondo livello condivisa, però limitatamente al dato in cache e quindi essendo in cache l'aggiornamento del dato risulta molto più veloce.
Da un punto di vista architetturale allora la cache separata ha il solo vantaggio di essere semplice costruttivamente.

La cache condivisa invece permette di abbattere questi problemi, specie relativamente alla parallelizzazione dei processi, le due cpu possono lavorare sinergicamente su un algoritmo in maniera più efficente.
Inoltre, l'accesso al bus di sistema per richieste dati è limitato alla sola cache di secondo livello, e quindi non esiste nessuna contesa del bus, con l'eliminazione delle latenze di attesa dell'accesso al bus.

Per contro abbiamo che la gestione della cache risuta più complessa, in quanto ogni cpu ha accesso all'intera area di memoria cache e quindi è importante gestirla in modo che sia sempre chiaro quale dato è di chi e se è ancora valido, altrimenti avremmo una perdita di efficenza.