Siendo estudiante de informática no tiene que ser complicado entender qué es la caché.
Imaginemos un código tal que:
for (int i=0;i<100;i++)
{
if (i<30) r=i*2;
if (i>30 && i<60) r=r/2;
if (i>60) r=i;
}
Eso es un bucle de unas 25 instrucciones en ensamblador que se repiten 100 veces, lo que dan unas 2500 instruciones. Cada instrucción que tiene que ejecutar es al menos un aceso a memoria, o sea, 2500 accesos a memoria. Si sólo existiera una memoria, la ram, tendría que hacer 2500 accesos a esa memoria, y una de las características de esa memoria es que es muy lenta. Por mucho que vaya a 1600 mhz, que tenga triple canal, o se haga la mar de inventos con el RAS, el CAS o el hago CHAS y aparezco a tu lado, es mucho más lenta que el procesador, con lo que cada vez que tenga que acceder a ella tiene que estar esperando. Y por si no fuera poco lo lenta que es, encima no es de uso exclusivo del procesador, puede haber otros controladores de bus que accedan a ella, y hay que refrescarla. La memoria principal es dinámica, lo que sognifica que guarda su estado en un condensador, que con el tiempo se descarga, y hay que estar recargándolo. Lógicamente, si hay otro controlador de bus accediendo a la memoria, o está a sus cosas refrescándose, el procesador tiene que estar esperando todavía más.
Por eso se añadió la memoria caché. La caché es estática, no hay que refrescarla, se compone de unos cuantos transistores, hasta 8, sin condensadores, y está a 1 o no dependiendo de si entre ellos está pasando corriente en círculo o no, es de uso exclusivo del procesador, nadie más puede acceder a ella, y un acceso a ella es mucho más rápido. Es tan rápida como para que el procesador nunca tenga que estar esperándola, aunque ejecute un acceso en modo ráfaga.
Entonces, cuando un procesador tiene que acceder a la memoria, accede a la memria ram y a la cache (en un ordenador casero, en uno pro generalmente se accede primero sólo a la caché), y si lo que busca está en la caché, aborta el acceso a la ram, y tiene lo que busca al momento. Si no está en la caché, accede a la ram, y copia su contenido en la caché, de manera que si tiene que volver a acceder a la misma posición de memoria ya sí está en la caché, y en el siguiente acceso tiene el dato en el momento.
Ejecutando el código de arriba, si no está nada de él en la caché, el procesador tendría que acceder 25 veces a la ram, que es la cantidad de instrucciones en ensamblador que lo componen, hasta ejecutar el primer bucle, pero en el segundo, todo el código estaría ya en la caché. Tenemos entonces que de los 2500 accesos a memoria que tiene que realizar ejecutando ese código, 25 sería a la ram, y 1.475 a la caché. O sea, 25 serían tardando un güebo en ejecutarlo, y 1475 a toda leche.
Dado que cualquier código se compone básicamente de muchas repeticiones de bloques pequeños como el del ejemplo, resulta que con sólo 256 kas de memoria caché más del 90% de los accesos a la memoria estarían en la caché. El tanto por ciento aumenta cuanto más grande es la caché, pero si pasar de 2 megas a 4 sube de 94% a 94,8% no vas a notar mucha diferencia de rendimiento.
Así que sí, la caché es importantísima, pero entre 6 megas y 8 poco vas a notar, y más si encima es de tecer nivel, L3. En la caché hay niveles. El más importante es el L1, el que más cerca está del procesador, la que más corre, y la más pequeña. Puede ser de 265 kas nada más, pero es la más rápida de todas. La L2 suele ser más grande y un poco más lenta, y la L3 más grande todavía y más lenta que la L2.
La diferencia de precio entre los procesadores que has puesto no está en la cantidad de chaché L3, hay otras cosas.
Un test de velocidad de procesado se hace cargando un cacho de código pequeño que se repita muchas veces en la caché L1, para que nada moleste, deshabilitando las interruciones enmascarables, para que nada interrumpa al procesador, y habilitando un breakpoint en un registro DR. Se lee el contador de la cpu al empezar y al llegar al breakpoint, y la resta entre una y otra lectura da como resultado la velocidad de proceso con una precisión total. Que ese código sirva luego para sacar un coche por la pantalla, o un sonido por unos altavoces es algo que al porocesador ni le va ni le viene. Así que sí, esos test te valen para ver el rendimiento en música también.
Quedarse tranquilo unos años es complicado. Tienes que gastarte una pasta gansísima para que un ordenador no se quede viejo en un año. Sale mucho más rentable comprarse hoy uno bien, y en dos años o menos si quieres, cambiar placa, memoria y procesador.
1