PDA

View Full Version : Ma è così importante la cache????


maxl_81
16-11-2006, 10:10
Ho letto su Wikipedia che "la cache (nascondiglio, deposito segreto, in inglese) è un insieme di dati che viene raccolto in una posizione temporanea, dalla quale possa essere recuperato velocemente su richiesta. Le parole chiave sono "temporanea" e "velocemente": in pratica, questo significa che non c'è nessuna certezza che i dati si trovino nella cache, ma che convenga comunque fare un tentativo per verificarne l'eventuale esistenza."

Ok ma è così importante la chache?
E che miglioramenti ha in termini di prestazioni un notebook con più cache???
Ho notato che tra il Turion x2 TL50 e il Turion x2 TL52 cambia solo la cache, la velocità del processore è la stessa e cioè 1.66Ghz!
Il Turion x2 TL50 ha 512Kb, mentre il Turion x2 TL52 (così come gli altri Turion x2!!!) ha 1Mb di Cache!
La differenza di prezzo cmq è rilevante all'incirca sulle 100-150euro!

Da ciò deduco che la chace non è proprio una cosa irrilevante....
ma allora è meglio puntare su un Intel Core duo (2Mb di chace, ma a 32bit?) o su un Intel Core 2 duo (ho visto che i modelli T7--- ne montano addirittura 4Mb!!)

finalint
16-11-2006, 10:39
la cache è una memoria che stà vicino a processore,
è molto costosa ma è anche molto veloce.

giusto per dare qualche ordine di grandezza..
il tempo di acceso a questa memoria è 10/20 volte
piu basso di quello della ram. (giusto? forse anche di più.. no ricordo..)


in pratica è inutile che tu abbia un processore velocissimo..
ma con una cache "piccola", in quanto quando il processore
finisce e cerca altri dati da elaborare... probabilmente non li
troverà nella cache... ma dovrà andare a cercarli nella ram...
e quindi perdere del tempo in piu....


a questo punto perche non fare delle cache da 1GB?!
oltre al costo se una memoria è grande si perde anke
piu tempo a cercare i data al suo interno...

per questo troverai vicino alla cpu diversi livelli di cache.....

e di diverse dimensioni/ velocità di accesso...



questo in teoria (è molto grossolanamente... :D )


per giudicare un processore penso che sia meglio guardare qualche
test pratico... dato che entrano in gioco tanti altri fattori...
tipo ottimizzazione dei programmi ecc...

ps sono stato parecchio impreciso... per favore non linciatemi! :D :D

MEMon
16-11-2006, 11:31
Esatto, in poche parole la cosa che fa perdere più tempo alla CPU è l'accesso alla memoria ram(senza contare altri dispositivi di I/O lentissimo se paragonati alla ram, come per esempio l'hard disk), quindi quando la cpu va in ram a pescare un dato(o un'istruzione) oltre a quello si porta con se i dati salvati negli indirizzi vicini a dove sta pescando, questo perchè ci sono buonissime probabilità che questi dati siano i prossimi ad essere richiesti per l'esecuzione di un dato task.
Questi dati pescati in più vengono salvati in una memoria integrata nella CPU e come ti han detto velocissima(molto ma molto veloce!) ma anche costosissima, in modo che se alla CPU serve uno di quei dati li posso recuperare senza perdere tempo ad andare a pescare di nuovo in ram.
Questo comporta un aumento delle prestazioni abbastanza sensibile(dipende poi anche da come è strutturata la CPU eh...) in quanto l'accesso in memoria si ha praticamente sempre.

Un'operazione di somma per esempio C=A+B dove A e B sono in ram comporta che la cpu vada in ram prenda A e lo metta in un registro interno, vada ancora in ram prnda B lo metta in un registro interno, sommi i due risultati e li mette in un registro interno, sposta il risultato dal registro interno alla ram, quindi 2 letture e una scrittura sulla ram.
Con la cache in un solo giro si sarebbe salvati nella cache A e B senza quindi andare in ram nuovamente.

Questo spiegato a grandi linee, in realtà è un po' più complesso...