Newsgroup: it.comp.hardware.cpu
Titolo: Celeron 4 vs P4, decadimento prestazioni...

Orbene, è noto che una CPU Celeron 4 e L2 di 128 KB,
a parità di clock,
ha prestazioni sensibilmente inferiori ad una Pentium 4
con Cache L2 da 512 kb.
La differenza sarebbe anzi sensibilmente maggiore rispetto
a quella fra un Duron e un Athlon di identica frequenza di
clock, nonostante anche il Duron abbia la cache L2 pari
solo a 1/4 della L2 dell'Athlon.
Mi piacerebbe però avere qualche chiarimento sul perché
di questa differenza; mi spiego meglio: perché il Celeron 4
"perde più efficienza" rispetto a quella che perde il Duron,
a causa della ridotta dimensione della L2?
Qualche idea ce l'avrei, ma se qualcuno su questo NG più
esperto di me sulle strutture di queste CPU volesse chiarirmi
la questione, gliene sarei grato...  :-)
Grazie e saluti

 a causa della ridotta dimensione della L2?
la cache dei duron L1 ed L2 si sommano, di fatto hai 256+128=386k totali,
mentre il celly ne ha 128 è basta.......
--
"Io ne ho viste cose che voi umani non potreste immaginarvi...
navi da combattimento in fiamme al largo dei bastioni di Orione..
..ho visto i raggi B balenare nel buio vicino alle porte di Tannhauser...
e tutti quei momenti andranno perduti nel tempo, come lacrime nella pioggia"

 mentre il celly ne ha 128 è basta.......
Valerio HT:
Ehm, veramente mi pare che la L2 dei Duron sia di 64 KB
(e sempre di 128 KB la L1).
Saluti

 
Infatti, solo che l'architettura dei p4 a quanto mi risulta richiede 
grossi quantitativi di cache per funzionare decentemente.
Ciao
-- 
To start press any key... Where's the any key?

 (e sempre di 128 KB la L1).
si,è vero scusa,cmq la stora della somma è giusta :-D


 grossi quantitativi di cache per funzionare decentemente.
Valerio HT:
Si, questo genericamente lo sapevo, però erano proprio i "dettagli"
che m'interessavano. Ossia per quali caratteristiche / funzionalità
di questa architettura i Pentium 4 hanno bisogno di grosse
quantità di cache, più dell'Athlon. Intanto, la dimensione della
cache *L1* dei P4 e' francamente troppo ridotta...
Grazie e saluti

 cache *L1* dei P4 e' francamente troppo ridotta...
Parte della differenza e' dovuta a come sono "suddivise"
in unita elementari le cache.
Le cache tengono "copie" dei dati che dovrebebro stare in ram
ma le copie sono in "blocchi di byte contigui" (le linee della cache).
Gli Athlon ed i Duron hanno linee di cache L2 da 64byte, mentre
i P4 hanno linee di cache L2 da 128byte.
Se si accede ad un sacco di dati in sequenza la dimensione
delle linee di cache conta relativamente poco (anzi, avere linee
di cache piu grandi torna utile perche in questo modo e' piu frequente
che i dati successivi siano gia "precaricati").
Se si fanno accessi "sparpagliati" (codice con un sacco di chiamate
a funzioni "piccole" oppure accesso a dati sparpagliati su piu array molto
grandi, oppure strutture dati piu complesse tipo alberi, grafi, ecc. ecc.)
a parita di cache avere linee di cache piu grandi puo essere uno svantaggio
(tieni meno roba "sparpagliata" nella cache e "perdi tempo" a caricare
  in cache una parte della linea che poi non usi).
Inoltre le cache dei K7 sono *esclusive* (una linea di cache
in L1 o L2 non ha doppioni nell'altra cache), mentre i P4 hanno
cache *inclusive* (le linee di cache della L1 sono "doppioni"
di linee della L2).
Un K7 con 256KB di L2 ha *piu* linee di cache distinte di un P4
con 512KB di L2 (perche con la L2 ha lo stesso
numero di linee di cache a cui vanno sommate quelle della L1
di tipo esclusivo, mentre con il P4 che ha cache inclusive
questo non vale).
Passando da K7 con 256KB di L2 a Duron con 64KB di L2
si ha calo di linee di cache del 50% (le linee di cache della L1 restano
invariate) ed un calo del 50% della ram "mappabile in cache"
(grazie allo schema a cache esclusive).
Passando da P4 a "Celeron 4" invece si ha un calo del 75%
delle linee di cache distinte *e* della ram mappabile in cache.
Confrontando Duron e "Celeron 4" il Celeron ha meno ram mappabile
(128KB contro 192KB, ovvero il 33% in meno) e meno linee di cache distinte
(1024 linee di cache contro 3160, ovvero circa il 66% in meno).
L. Micheletto

 ha scritto nel messaggio
news:mNlMa.137724$Ny5.3...@twister2.libero.it...

Il P4 ha una pipeline molto lunga, e quando stalla perde un mucchio di cicli
di clock. La L1 del P4 è di 8 KB, dunque l'accesso alla cache di secondo
livello è molto frequente: il P4 è "schiavo" della cache L2, a differenza
del Duron che ha una cache di primo livello gigantesca a confronto. Il Duron
ha 192 KB di cache totale, il Celeron P4 8+128 KB.
Saluti.

> Il Duron ha 192 KB di cache totale, il Celeron P4 8+128 KB.
Nemmeno... Duron 128KB+64KB (cache esclusiva), mentre il P4 in pratica 128KB
*e basta*, dato che la cache L2 contiene anche la L1 (cache inclusiva).
E poi ci sono altre importanti implicazioni dalle dimensioni di una singola
linea di cache, come esaurientemente spiegato da Lorenzo.
-- 
ColdShine
"L'esperienza è un'insegnante severa: prima ci esamina e solo dopo ci fa
lezione."
 - legge di Vernon Sanders

> Il Duron ha 192 KB di cache totale, il Celeron P4 8+128 KB.
Nemmeno... Duron 128KB+64KB (cache esclusiva), mentre il Celeron4 in pratica
128KB
*e basta*, dato che la cache L2 contiene anche la L1 (cache inclusiva).
E poi ci sono altre importanti implicazioni dalle dimensioni di una singola
linea di cache, come esaurientemente spiegato da Lorenzo.
PS: avevo scritto questo post con un errore, ho provato a fare "Annulla
messaggio" ma non so se è ancora leggibile... in tal caso, scusate il doppio
post =)


 (1024 linee di cache contro 3160, ovvero circa il 66% in meno).
Valerio HT:
Grazie mille, Lorenzo. La tua e' una risposta veramente completa,
dettagliata e chiara.  :-)
Ciao e grazie ancora...