PDA

View Full Version : Cosa sono Cache L1 e cache L2 e il core


Mr.Filter
30-03-2005, 19:57
Ciao, dovendo comprare un nuovo PC, ho letto che i processori hanno la cache di livello 1 e livello 2, e mi sembra anche livello 3. Ma cosa è?
Poi è meglio avere più memoria nella cache di Livello 1 o 2 o 3? Inoltre cosa è il core di un Processore?



Che significa il processore produttivo a 130 nanometri

leggendo sul forum ho trova che i processore vengono costruiti a 130 nanometri, 90 ecc... ma che significa?

Very Thank

OverClocK79®
30-03-2005, 20:25
OMG quante domande.....

ti rispondo in soldoni senza andare troppo sul tecnico....

la cache è una memoria....generalmente INTERNA alla CPU o cmq il + vicino possibile a essa che viene usata un po' come buffer o cmq riempita di informazioni utili alla cpu per compiere il proprio lavoro senza dover ogni volta altare a prendere info dalla ram
molto + lenta e dalla latenze (tempi di risposta + lunga)

una volta era esterna alla cpu (almeno la L2/L3)
man mano che passa il tempo si cerca sempre di + di integrarla nel core.....
core=cuore=la cpu vera e propria.....ossia gli stampati di silicio che fanno i calcoli.....fisicamente si intende quello che si trova al centro di questo
http://www.pctuning.cz/ilustrace/charles/Celeron_D_Hist_coppermine1.jpg
dentro il die che appunto quella cosina bluscuro/nera

L1 L2 L3 sono i vari livelli
L1 è qualitativamente la + pregiata e veloce....
ma molto piccola.....funziona alla stessa freq della cpu
è la prima dove la cpu cerca le info che gli servono....

la L2 nelle ultime cpu funziona alla stessa freq della cpu
è di norma MOLTO + grande della L1
+ del doppio in alcuni casi 10/20 volte in altri
ha latenze superiori......
la L3 è poco impiegata nei desktop introdotta mi sembra inizialmente dai K6 se non sbaglio....sui desk
ha dimensioni generalmente superiori al Mb
(quella degli ultimi EE per esempio su 478)

avere + o - cache non è sininimo SEMPRE di + o - velocità
lo stesso P4 serie 6xx in alcuni applicativi va + lento del corrispettivo serie 5xx proprio perchè nonostrala la cache sia passata da 1 a 2Mb essa ha latenze superiori
non si può comparare una cpu con un altra e dire
questa ha meno cache quindi è + lenta perchè occorre sapere che tipo di cache è e che tipo di architettura hanno le cpu
cmq è MOLTO utile.....

i nanometri
o cmq i famosi 0.13 o 0.09 che trovi scritti qua e la
danno la misura del processo produttivo di una cpu
è la distanza tra le interconnesioni dei gate......
(detta in soldoni.....+ piccolo è il processo produttivo + roba ci sta a parità di dimensioen del core)
lo stesso identico progetto di core alla medesima freq
costruito a 0.18 0.13 e 0.09 micron....avrà un consumo e un calore da dissipare diverso
maggiore processo produttivo maggiore consumo/calore.....
(poi intervengono altri fattori come le correnti parassite ecc ecc)
ma non sto qui a spiegarti tutto

spero di essere stato abbastanza chiaro

BYEZZZZZZZZZZZZZZZZZZZ

Cikos
30-03-2005, 20:49
Ciao, se non sbaglio, la velocità della cache oltre alle latenze dipende anche dalle curve di località dei vari applicativi che vado ad eseguire e dal suo grado di associatività, dove (cercando di farmi capire in soldoni) le curve di località esprimono la probabilità di trovare il dato all'interno della memoria cache relativamente alla sua dimensione, mentre il grado di associatività della cache mi indica in quante "finestre" è suddivisa, in soldoni (le finestre vengono ad essere dei comparatori) diciamo che le finestre sarebbero i buffer atti a memorizzare i vari "vettori" costituenti l'applicativo in esecuzione, bye :) .

Mr.Filter
03-04-2005, 14:00
Grazie di tutto molto chiaro, non ho però capito cosa sono le latenze.

Però non ho ti ho capito cikos
Byz

andreamarra
03-04-2005, 14:47
Originariamente inviato da Mr.Filter
Grazie di tutto molto chiaro, non ho però capito cosa sono le latenze.

Però non ho ti ho capito cikos
Byz


la latenza altro non è che il tempo di risposta di un qualcosa a ricevere informazioni da elaborare.

più basse sono le latenze maggiori performance avrà il sistema, viceversa saranno più lente.

Ram con latenze più basse ricevono più velocemente informazioni, e quindi potranno gestirle prima di altre ram con latenze più alte. Ovviamente però sono importanti anche le frequenze di lavoro delle ram.

Cikos
03-04-2005, 16:08
Ciao, scusa se non sono stato molto chiaro :p , cerco di spiegarmi meglio.
Se prendo un programma e guardo i dati e le istruzioni di tale prog. noto sostanzialmente che io mi muovo nell'intorno di uno stesso pezzo di codice cioè io più o meno nel codice, generalmente, faccio le istruzioni vicine (in successione, come allocazione di memoria una di seguito all'altra), è difficile che faccio molti "salti"; allora vuol dire che se su un piano considero la dimensione della cache (ascissa) e la probabilità di trovare un dato in tale memoria (ordinata) (su questo piano vado a tracciare la curva di località dell'applicativo), se la memoria è molto piccola ovviamente è poco probabile che trovo l'istruzione, ma se la memoria comincia a diventare abbastanza grande (dove per abbastanza grande intendo appunto i "classici" 256\512Kb ecc che per quanto possano sembrare pochi sono un numero significativo ai fini delle nostre considerazioni) la probabilità di trovare l'istruzione comincia a diventare elevata perchè io sto facenbdo così una "finestra" sul mio programma che è significativa (cioè riesco a guardare una porzione significativa del programma), sperimentalmente si nota anche che all'aumentare della cache non si notano vantaggi particolarmente significativi, perchè se con la mia "finestra piccola" riesco a vedere buona parte del programma aumentando la dimensione della finestra non è che varia di molto la probabilità di trovare il dato (ovviamente poi questo dipende dai vari applicativi e poi è ovvio che + cache si ha e "meglio è"....il mio è solo un ragionamento generale).
Per quanto riguarda il grado di associatività di una cache, sempre in modo moolto spicciolo, posso immaginare la cosa seguente: suppongo di dividere la mia cache in varie "porzioni" tutte atte a contenere delle parti del programma (non contigue), posso dividerla ad es. in 4 parti oppure in 8 parti (ovviamente a parità di dimensioni se la divido in 4 parti queste singole parti saranno più grandi rispetto ad una divisione in 8 parti :p ). Ora se ho a che fare con un programma molto locale (cioè dove non ci sono molti salti e le istruzioni vengono eseguite tutte in sequenza) dividere la cache in 4 o in 8 parti è la stessa cosa perchè comunque vado a prendere la stessa porzione di programma, quindi o considero 8 pezzi uno dietro l'altro oppure considero 4 pezzi (più grandi) uno dietro l'altro sempre la stessa finestra prendo cioè prendo una finestra che è continua (stante proprio la località del programma in questione); se invece il programma che considero è poco locale è meglio dividere la cache in 8 parti perchè così posso tenere aperti 8 vettori diversi contemporaneamente ognuno dei quali guarda una certa porzione di programma non contigue tra loro ;) .
Dunque le memorie con maggiore associatività (divise in 8 parti anzichè in 4....per capirci) costano di più perchè nel caso peggiore funzionano come quelle con grado di associatività più basso ; nel caso migliore, con programmi non locali, funzionano un pò meglio.
Spero questa volta di essere stato un pò più chiaro :p , ovviamente so bene di essere stato mooolto impreciso ed approssimativo e so che ci sarebbe molto altro da dire ma qui siamo su un forum per appassionati di Hw e non in un laboratorio dove si progettano memorie quindi credo, imho, che quanto detto basta e avanza, bye :D

OverClocK79®
03-04-2005, 18:10
Cikos.....bella spiegazione
ma credo che
se uno è alle prime armi bastino anke spiegazioni + terra terra possibili ;)

BYEZZZZZZZZZZZZ

Cikos
03-04-2005, 18:47
Originariamente inviato da OverClocK79®
Cikos.....bella spiegazione
ma credo che
se uno è alle prime armi bastino anke spiegazioni + terra terra possibili ;)

BYEZZZZZZZZZZZZ

Grazie OC79....... :D
Hai ragione forse, anzi sicuramente, sono stato un pò troppo "tecnico" :p , è solo che a volte mi sembra di dire troppo poco e così rischio di cadere nell'imprecisione (le volte in cui non dico castronerie ;)) , altre volte invece mi sembra di dire troppo e così rischio di cadere nell'accademico.....inoltre il funzionamento delle memorie è un argomento che mi ha sempre interessato moltissimo e così mi sono lasciato un pò trascinare :p........vabbè cmq x le prox volte (se ci saranno :) spero di si in quanto mi fa sempre piacere parlare di memorie) cercherò di regolarmi meglio, bye :)