Newsgroup: it.comp.hardware.cpu
Titolo: cache L3: domande...

Da qualche mese, riflettendo sulla cache di terzo livello di cui molto si
vantano i possessori di processori G4 mi ha fatto pensare:
ma questa cache che come quella L2  dei PII non è on die, e lavora a
frequenze inferiori al processore (spesso mi pare sia 1:4 il rapporto per i
G4), porta davvero notevoli vantaggi? Va bene che più cache c'è meglio è, ma
non è meglio averne meno ma sincrona con il processore in generale? Forse
per i G4, serviva a sopperire il bus di sistema, che mi pare non andasse
oltre i 166 Mhz (ora con il G5 sembra andare tra gli 800 e i 1000...), per
cui anche la memoria DDR che montavano, a quanto ho capito non funzionava in
realtà sfruttando i due fronti, ma uno solo.
Purtroppo non sono un tecnico, per cui non riesco a prefigurarmi quali
possano essere i casi in cui la presenza di un'abbondante quantità di L3
aiuti.
Mi sono sempre chiesto: ma se Motorola lo ha fatto da anni con i suoi
processori (forse anche nei G3 con la L2 backside) e poi anche Intel lo fece
a suo tempo (con la L2 dei PII, come già detto), se davvero incrementa le
prestazioni, perché AMD ed Intel non hanno ripreso questa metodologia nelle
ultime CPU? Avrebbero avuto problemi con i vari socket? Avrebbero avuto
problemi con gli standard (di spazio immagino) che definiscono con i vari
produttori di schede madri? Avrebbero avuto problemi di consumo e/o
temperature? Avrebbero avuto problemi con le specifiche dei vari chipset e
ci sarebbe voluto qualcosa integrato nei northbridge?
È un po' che volevo scrivere. Poi poco fa vedo questa notizia:
http://news.hwupgrade.it/10800.html
E penso: ma allora la cache L3 dei G4 non era solo una trovata
commerciale... o forse lo era ed è stata ripresa anche da Intel?
Vi ripeto: non sono un tecnico e spero di non avervi tediato. Chiedevo solo
delucidazioni in merito a questa L3 di cui sento spesso parlare.
Ultima domanda: per sistemi non provvisti di chip e memoria dedicata (come
ad esempio un Coppermine o un XP), si può dire che la L3 sia in definitiva
la ram (DDR o meno) stessa di quel sistema (anche se poi di mezzo ci sta il
chipset in questi casi che forse rallenta le prestazioni)?

ultime CPU?
AFAIR Intel adottò lo Slot1 proprio per poter tenere la L2 più vicino
alla CPU di quanto possibile col socket7, e farla quindi lavorare a
frequenze maggiori. Quando però la tecnologia costruttiva rese
possibile integrare la L2 on-die, tornò al socket perché più economico
e più facilmente gestibile. Credo che abbiano fatto un po' di calcoli
e abbiano deciso che una cache L3 non valeva lo sbattimento, ed è
rimasto tutto on-die.
Per quanto riguarda i processori motorola non saprei, si vede che con
i G4 la L3 on board porta più benefici di quanto non farebbe con gli
x86, ma sono due architetture diverse, e non credo abbiano esigenze
confrontabili

 commerciale... o forse lo era ed è stata ripresa anche da Intel?
Sostanzialmente, nei processori moderni, la cache L3 non integrata è secondo
me una trovata pubblicitaria, più che altro. I processori G4 non sono veloci
quanto i corrispettivi x86, e questo ha spinto a spremere tutto il
possibile, fino all'ultima opzione.
Saluti.

 programmi molto dipendenti dalla grandezza della cache.
Tra l'altro mi fa ridere che il marketing Intel indichi questa
cpu come quella ideale per il gaming, applicativi in cui la
cache serve fino ad un certo punto ... ;-)))
 Ciao

 cache serve fino ad un certo punto ... ;-)))
Io mi riferivo ai G4, con cache esterna alla cpu. Per quanto riguarda il
nuovo Pentium 4 con 2 MB di cache L3 integrata non so, bisogna aspettare dei
test prestazionali. Bisogna stare attenti però che l'architettura del P4
predilige molto la presenza di abbondante cache integrata. Che prestazioni
ha questa cache L3 rispetto alla L2? Mistero.
Saluti.


Un quantitativo + o - elevato di cache L3 può servire appunto
in ambito server (infatti questo "pseudo" P4 non è altro che
uno Xeon Gallatin privato del supporto al multiprocessing), ma
dubito che negli applicativi che si utilizzano normalmente
questa "migrazione" porti a qualche evidente beneficio rispetto
ad un equivalente P4 3.2GHz.
Ciao

 G4), porta davvero notevoli vantaggi? Va bene che più cache c'è meglio è, ma
E' un discorso abbastanza complesso perche si tratta di bilanciare i
vantaggi e gli svantaggi delle varie opzioni possibili.
Idealmente la scelta migliore e' *non* usare cache ed avere ram
con frequenze di clock e latenze paragonabili a quelle del core
della cpu, purtroppo con le frequenze di clock attuali
non e' possibile a meno che la ram non sia tutta sul chip.
A questo punto entrano in gioco le cache, ovvero memoria piu veloce
di quella "disponibile in maggior quantita" che "tiene parcheggiati"
i dati piu frequentemente richiesti in modo da passarli e riceverli
dalla cpu il piu velocemente possibile.
Anche implementando le cache sul chip insieme al core della cpu
man mano che si cresce di *estensione* si ha un incremento delle
latenze (la memoria occupa area sul chip e man mano che cresce
di quantita a parita di trecnologia, l'area aumenta ed
aumentano pure le distanze ed i tempi di propagazione).
Per ovviare alla cosa le cache vengono "stratificate"/"suddivise"
in modo da avere la cpu che comunica con la cache L1, poi la L1
che comunica con la L2 ecc. ecc.
(anche se questo non e' sempre vero, in certi processori
  la cpu ha bus interni sdoppiati che le permettono di comunicare
  direttamente sia con L1 che con L2 in modo da ridurre i tempi
  quando il dato manca sulla L1 ma e' presente sulla L2).
In ogni caso si aggiunge un livello di cache  (tra altri due livelli
di cache oppure tra cahe e ram) solo se la differenza di prestazione
tra i due "livelli" preesistenti vale il costo e la complessita'
aggiuntiva della cosa.
Nel caso degli x86 dal PIII e l'Athlon in poi le cache sono sempre
state implementate sul chip perche tali cpu potevano sempre contare
sui processi di produzione piu recenti (maggior area a disposizione
per le cache e clock piu elevato per il core vero e proprio)
e non appena esciva un nuovo tipo di ram "esterna", questa di solito
viene subito utilizzata con gli x86 piu recenti.
Avendo a disposizione "la ram piu veloce del momento" come ram esterna
non c'e' niente di *sufficientemente economico* da usare per
implementare una cache intermedia esterna grande almeno il doppio
o il quadruplo della cache interna piu grossa
ed almeno un 50% piu veloce della ram "esterna".
Per quel che riguarda invece le cache implementate direttamente
sul chip della cpu, valgono invece altre regole; di solito
le cache L1 ed L2 "crescono" quando si passa ad un processo produttivo
piu avanzato (che permette di compattare in minor spazio piu componenti
senza che le latenze crescano troppo) mentre invece se si ha "solo"
la capacita di realizzare chip con area molto piu grande, se le
dimensioni dei livelli preesistenti sono giunte al limite oltre
il quale la latenza aumenta, si preferisce aggiungere un livello
aggiuntivo di cache "piu lenta"
(area notevolmente piu grande-> maggiori distanze ->
  maggiori latenze -> nuovo livello di cache invece di "allargare"
  le cache preesistenti).
L. Micheletto

 della natura del codice stesso.
Non credo proprio. Il campo in cui soccombe maggiormente il Celeron P4 č
proprio quello gaming.

di 2-4 Mb è nell'ordine del 5%, non di più. Con gli attuali processi
stai semplificando troppo...
considera l'implementazione "reale" dei g4, sono dei processori che
avrebbero delle unita' esecutive incredibilmente rapide (in
particolare le unita' altivec sono una favola, anni luce oltre le
equivalenti x86) ma che richiedono un flusso dati elevatissimo per
mantenersi a regime, i soliti furbi di apple li montano su delle mb
con un bus talmente ridotto che il nastro punzonato e' piu' veloce...
in una situazione del genere un grosso quantitativo di cache L3 ha un
impatto notevole, molto piu' del 5% da te stimato.
un po' la stessa situazione che appare con gli xeonMP, dei processori
veloci ma montati su un bus che in multiprocessing proprio non
dovrebbe andarci, senza quantitativi immensi di cache sarebbero
perennemente in stallo.
e
--
    (iao!!oai)                                    (ICQ: 10860566)
    //.aurizio
[WARNING!: togliete _nessuno_ per rispondere]
    Il segreto per essere considerato un creativo sta nel non fare
    mai riconoscere le proprie fonti [A. Einstein]

 perennemente in stallo.
Mah, quella del bus è un discorso lungo. In multiprocessing, un bus veloce è
molto utile, in monoprocessing molto meno.
Comunque la tua analisi è molto interessante.
Saluti.


Ho usato un Celeron 2.2GHz ai videogame per un periodo
di tempo e si č comportato sempre bene... naturalmente
il sistema aveva una scheda video 9500Pro.
Tra l'altro se ti ricordi quando c'erano i vecchi Celeron con core
Covignon senza cache L2, uno degli ambiti applicativi dove
perdeva meno rispetto al fratello maggiore PII era proprio
quello dei giochi...

 quello dei giochi...
Architetture completamete diverse. L'architettura Netburst a causa dell'
architettura con pipeline a 20 stadi puň soffrire molto in caso di cache
miss che causato dallo stallo delle pipeline ha notevoli impatti
prestazionali, per questo avere piů cache permette di avere il dato subito
pronto.. Infatti al contrario del Barton su Thoro, il Northwood ha apportato
un notevole boost prestazionale rispetto al Willamette.

 perdeva meno rispetto al fratello maggiore PII era proprio
Ora che mi hai messo in mente i celly P6,ti voglio riportare dei benchmark
del celeron 566 e purtroppo perde moltissimo anch'esso nel 3d
http://www.hwupgrade.it/articoli/157/21.html
"Le prestazioni della cpu Celeron 566 Mhz a frequenza di default sono ben
lontani dall'essere entusiasmanti; soprattutto con applicazioni Business e
giochi 3D, il targeti di riferimento per questo processore di fascia
economica, il divario prestazionale con le cpu Intel Pentium III Coppermine
e AMD Athlon di pari frequenza di clock è molto elevato, a tal punto che il
costo incrementale necessario per passare a queste due ultime tipologie di
cpu pare essere abbondantemente giustificato."


Certamente... anche se  in ogni caso in ambito gaming le prestazioni
di queste cpu possono andare bene comunque.
Ciao

 del celeron 566 e purtroppo perde moltissimo anch'esso nel 3d
Si, ma io intendevo i Celly senza cache L2 ai tempi dei PII...
 Ciao


Ah... a proposito.
Secondo i primi benchmark si nota che i nuovi P4 3.2EE in media
hanno in vari giochi un vantaggio di circa 7fps rispetto alla
versione classica... perciò non vedo il motivo per spendere
un sacco di soldi in più per poi usare il pc solo per i giochi.

 un sacco di soldi in piů per poi usare il pc solo per i giochi.
Interessante. Io ho trovato questo:
http://www17.tomshardware.com/cpu/20030811/dual_xeon-18.html
Si tratta dello Xeon, ma le conclusioni sono dure:
"Our benchmark tests, which exactly reproduce workstation usage with
appropriate applications, show that the additional L3 cache hardly adds any
speed. "
"To anyone faced with the choice of the dual Xeon 3.06 with or without the
L3 cache, we would recommend the version without the additional cache. The
additional cost is not justified. "
La L3, come č implementata sul P4, dunque, č praticamente inutile.
Saluti.


Per la verità, spulciando i test, non mi è sembrato così male il dual Xeon:
tenendo conto che la versione testata di Xeon ha solo una L3 di 1 MB, la
versione del P4 da 2 MB dovrebbe dare un ulteriore burst prestazionale,
anche se limitato. Bah, aspettiamo i primi test seri prima di dare giudizi
definitivi. Quello che è certo, però, è che implementare 2 MB di cache in
0,13 micron costa caro, e il gioco vale la candela solo se si ha l'acqua
alla gola...
Saluti.

molto utile, in monoprocessing molto meno.
Difatti, i P4 non hanno preso il largo sui K7 grazie al bus a 800
MHz...
-- 
ZHELGADIS THE LIGHTBRINGER (ICQ 33134824)
BAG#008,DPPSJ#000,BAT#013,TFC#012,GAM#026,ZZZZ#027,CID#027
"Aspettare non č mai stato un problema, per me.
Posso trascorrere piacevolmente ore e ore con l'aiuto di un buon caffč"

 ha scritto nel messaggio
news:L4hbb.95730$hE5.3...@news1.tin.it...

Che non centrano nulla con la discussione in corso.
ciao

 di queste cpu possono andare bene comunque.
Non cambiamo discorso. Tu hai detto che quello games è uno degli ambiti in
cui perde meno, invece dai test è proprio l'ambito in cui ne esce più
penalizzato
ciao

ringrazio tutti per le risposte

molto utile, in monoprocessing molto meno.
ed una enorme l3 e' il "tappabuco" che fa qualcosa per alleviare i
problemi nati dall'assenza di tale bus... non fa miracoli ma fa
comunque il suo lavoro.


fai tu :-)
Dove si trova qualche articolo che ne parli per bene? Sento spesso
dire che sono ottime, ma non so il perché...


 dire che sono ottime, ma non so il perché...
Clicca su:
http://www.arstechnica.com/wankerdesk/3q02/powerpc.html
per le specifiche del nuovo G5, sullo stesso sito inoltre troverai tutto
quello che ti dimostrerà la supremazia assoluta di altivec presente nei
(G4/G5) VS mmx/3dnow/sse/sse2.
buona lettura!

 presente nei (G4/G5) VS mmx/3dnow/sse/sse2.
Colpa il mio cattivo inglese, non ho trovato molto chiaro ed esaustivo
l'articolo. Su Altivec in particolare mi pare di aver trovato a suo tempo
qualcosa su 
lithium.it
.
Una curiosità: ma Altivec e mmx/3dnow/sse/sse2 sono confrontabili? L'una è
una specifica unità di calcolo vettoriale e in virgola mobile, le altre sono
set di istruzioni che vengono aggiunte per compiti specifici. È vero che
sono due strategie di ottimizzazione dai processi, e cercano di rendere più
efficiente il processore, ma lo fanno in maniera diversa (coma ancora
diversa è la strategia di dotare i processori di una cache L3 esterna... che
può portare più o meno benefici a seconda anche del resto del sistema), o
almeno così mi pare.
Ho sentito nel tempo diversi confrontare Altivec con le unità di calcolo dei
primi XP (anch'essse a detta degli esperti molto efficienti). Ma non ricordo
nulla di questi conronti (e non so se sono mai stati quantificati).
Sempre da profano mi chiedo: non dovrebbe essere opportuno riuscire a
confrontare le sole unità di calcolo? del resto mmx/3dnow/sse/sse2, servono
e sono servite ad altro: prima di tutto, alcune di esse soprattutto, mi pare
di aver capito che hanno avuto una importante funzione di marketing, e poi
possono offrire un qualcosa di più in presenza di codice ottimizzato (cosa
che comunque necessitano anche le unità Altivec... o almeno così tutti
sembrano dire... ma perché?).