Web Analytics
Privacy Policy Cookie Policy Terms and Conditions Dual core (gestione della cache) - Wikipedia

Dual core (gestione della cache)

Da Wikipedia, l'enciclopedia libera.

Le CPU dual core e multi core uniscono 2 o più processori indipendenti, le rispettive cache e i cache controller in un singolo package. Questo tipo di architettura consente di aumentare la potenza di calcolo senza aumentare la frequenza di lavoro, a tutto vantaggio del calore dissipato.

Come già trattato nella voce Dual core (tecniche di realizzazione), per ottenere un processore a più core, esistono diversi approcci costruttivi che vengono enunciati anche qui di seguito:

  • Die Monolitico
  • Die Singolo
  • Die Doppio

Ognuno di questi approcci, comporta ovviamente vantaggi e svantaggi rispetto agli altri, altrimenti non si spiegherebbe per quale motivo essi dovrebbero continuare a convivere. Le problematiche riguardanti i costi di produzione e le difficoltà di implementazione sono trattate nella voce già citata (Dual core (tecniche di realizzazione)), di seguito invece vengono illustrati di diversi metodi di utilizzo della cache L2 da parte dei vari core, in base anche all'approccio costruttivo utilizzato, considerando solo gli ultimi due, ovvero quello a "die singolo" e quello a "die doppio" che sono i più comuni.

Indice

[modifica] Cache nei primi processori a Die Singolo

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. Si trattava in questo caso di 2 core Prescott (alla base del Pentium 4, processore single core) "stampati" l'uno di fianco all'altro su un unico blocco di silicio e interconnessi tra loro.

Ognuno dei due core comunque, manteneva la propria indipendenza e quindi anche le cache L2 erano sdoppiate e ogni core aveva la "propria" cache L2, quindi solo con questa poteva avere una sorta di accesso privilegiato. Proprio per questo motivo, per Smithfield, non si parla di una cache L2 da 2 MB ma di 2x1MB. 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, è giustificata proprio dalla sua relativa semplicità.

[modifica] Cache nei processori a Die Doppio

La seconda generazione del Pentium D è basata invece sul core Presler, questa volta l'approccio seguito dai progettisti è quello a Die Doppio, vale a dire che sul wafer di silicio vengono 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 vengono montati sullo stesso package e collegati insieme mediante collegamenti esterni. La resa produttiva di questo approccio è massima, riducendo ovviamente moltissimo il numero di core da scartare, ma al tempo stesso la separazione fisica dei core comporta due inconvenienti: la necessità di collegamenti esterni e, ovviamente la separazione della cache che non è più una scelta progettuale ma uno scotto da pagare. Il primo inconveniente in realtà è comunque relativamente economico da superare, mentre il secondo rappresenta comunque un limite intrinseco di questo approccio. Non a caso tutti i processori Intel prodotti in questo modo (oltre a Presler, anche Paxville e Dempsey) hanno necessariamente cache separate.

[modifica] Cache nei processori a Die Singolo di seconda generazione

Dopo aver visto i due approcci iniziali, utilizzati da Intel, ed esemplificati i pro e contro di entrambi, è possibile vedere come nei nuovi processori dual core l'utilizzo dell'approccio a die singolo abbia goduto di una profonda innovazione e quindi abbia potuto sfruttare al meglio le proprie peculiarità.

A questo punto è infatti ormai chiaro che la più grossa lacuna delle prime versioni di processori dual core risiedeva proprio nella esclusività della cache L2 e la necessità di far transitare i dati sul già trafficato BUS di sistema. Il primo processore a colmare questa lacuna è stato Yonah una CPU mobile dual core, conosciuta commercialmente come Core Duo, in cui la cache L2 è condivisa tra i 2 core. Ogni core quindi accede alla totalità della cache lasciando libero il BUS di sistema che può quindi limitarsi a far transitare solo i dati da, e per, la memoria RAM.

Dopo Yonah, quasi tutti i processori dual core Intel sfrutteranno questa caratteristica che consente ovviamente prestazioni migliorate, anche se a fronte di un maggiore costo produttivo. È questo il caso del successore di Yonah, Merom, e dei suoi derivati che andranno a posizionarsi nei settori desktop e server, Conroe e Woodcrest.

[modifica] Processori multi core

Quanto detto per i processori dual core, vale in buona sostanza anche per i processori multi core, da 4 o più core, sempre che siano realizzati secondo il medesimo approccio costruttivo. Vale a dire per esempio, che in questi processori la cache potrà essere condivisa solo se tutti i core verranno costruiti insieme in un unico blocco di silicio. Siccome questo avverrà solo in un secondo momento con l'affinamento dei processi produttivi (probabilmente con il processo a 45 nm e il processore desktop Bloomfield) nei primi processori quad core (4 core) che verranno realizzati utilizzando approcci "ibridi", i vantaggi e gli svantaggi entrambe le tecnologie coesisteranno.

[modifica] Processori multi core ad approcci ibridi

Come accennato poco sopra, i primi processori a 4 core non saranno realizzati direttamente con un approccio a die singolo, in quanto questo richiederebbe costi troppo alti. Risulta 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 singolo e, successivamente, si uniscono su un unico package mediante l'approccio a die doppio. In questo modo si avranno CPU a 4 core, il cui primo esponente sarà Kentsfield che verrà ottenuto proprio nel modo appena descritto (più probabilmente verrà realizzato unendo due Allendale, una particolare versione di Conroe con cache dimezzata).

Viene da chiedersi come sarà l'accesso alla cache in questa CPU da parte di ogni core. La risposta è semplice: ci saranno due cache L2 separate, ciascuna delle quali sarà condivisa da una coppia di core, i core Conroe (o Allendale) appunto.

[modifica] Voci correlate

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu