Tutoriales

Intel Smart Cache: ¿qué es, cómo funciona y para qué nos sirve?

Hoy vamos a contarte qué es Intel Smart Cache, uno de los términos que quizás más te suenen del equipo azul. Este sobrenombre lo llevamos escuchando desde 2011, aproximadamente, y la verdad es que ahora lo vemos en cualquier set de especificaciones de una CPU Intel. No obstante, ¿qué tiene de útil y qué tiene de marketing?

Intel Smart Cache, un nuevo término para la memoria del procesador

Intel Smart Cache

«¿Qué es Intel Smart Cache?» Te estarás preguntando. Lo cierto es que es una pregunta más complicada de lo que parece.

  • Intel Smart Cache tiene que ver con la memoria caché, un apartado de la informática que no especialmente sencillo de entender.
  • Asimismo, es un término que ha hecho referencia a diferentes formas de estructurar los procesadores, por lo que su definición ha ido cambiando con los años.

Por este motivo, aquí te explicaremos su origen y evolución, su funcionamiento y un poco cómo se posiciona en la actualidad. Intentaremos mantener un alto nivel de lenguaje para que sea sencillo de entender, puesto que no muchos lectores os interesaréis tanto por la informática.

No en balde, si os interesa saber más en profundidad sobre Intel Smart Cache, te recomendamos este artículo de Intel del que hemos sacado información. Los autores son dos ingenieros del software de la empresa y aquí explican las bases de esta tecnología a grandes rasgos. Eso sí, piensa que el artículo es de 2012, así que está un poco desfasado para cómo funciona esta tecnología en la actualidad.

Bueno, y antes de meternos en materia, comencemos estructurando las bases. Lo primero que veremos es qué es la memoria caché y algunos de sus principios más básicos.

¿Qué es la memoria caché?

Si alguna vez has estado ojeando procesadores o te has comprado uno mirando sus características, seguramente habrás visto memoria caché.

AMD GameCache

Últimamente, las empresas están haciendo cada vez más hincapié en esta clase de memoria, pero qué es y cómo funciona. A diferencia de las SSDs o HDDs vienen solamente pequeñas cantidades que no superan los 12 o 50 MB y a veces está organizado por… ¿una L y un número?

Verás, las memorias tienen un dilema muy importante que, realmente, nos ocurre en casi todos los ámbitos de la vida:

Si una memoria es muy rápida transfiriendo datos es porque hay tecnología avanzada de por medio. Esta tecnología casi siempre suele ser más cara que la estandarizada, puesto que es más difícil de crear. Por ello, cuanto más rápido es una memoria, más cara es.

Siguiendo esta línea de argumentos, la caché es el tipo de memoria más rápida que hemos podido crear (si excluimos pruebas y demás). Además, esta se divide en tres niveles diferentes, siendo la L1 la más rápida y, sucesivamente, la L2 y L3 más lentas.

Después, tendríamos la memoria RAM, la cual es considerablemente rápida, pero notablemente más lenta que cualquier nivel de caché. Y por último, pero no menos importante, las unidades de almacenamiento de toda la vida, es decir los SSDs y HDDs.

Tipos de memorias
Tipos de memorias

¿Qué hace tan especial a la memoria caché?

Lo primero que destaca es que no podemos separarla de las CPUs a las que acompañan. Podemos comprarle a una build diferentes modelos de SSD, memoria RAM de diversas frecuencias y demás, pero no podemos editar la memoria caché.

Por otro lado, son memorias volátiles, lo que quiere decir que cuando pierden electricidad borran todos los datos que tiene guardados. A la memoria RAM le ocurre lo mismo, pero esto no se repite con los SSDs y HDDs.

No obstante, lo más importante que destacaríamos creemos que es la forma en la que interactúa con los datos.

Cuando un procesador necesita un dato, va a memoria L1 (la más rápida) y lo busca. Si el valor no está, baja al nivel L2 y comprueba si existe aquí. Si no lo está sigue repitiendo el proceso sucesivamente hasta memoria RAM.

Cuando encuentra el dato o lo saca de DRAM, lo escribe en todos los niveles superiores. Así, si este valor está en L3, el procesador lo escribe en L2 y L1 y luego lo usa. En el caso de volver a utilizarlo pronto, podremos encontrarlo más rápido al no tener que acceder a memorias lentas (L2, L3, DRAM…).

Puede que esto te parezca estúpido, pero es porque realmente los ordenadores son máquinas tontas. Lo que sí hace estupendamente es realizar tareas ordenadas a una velocidad vertiginosa. En este caso, no saben dónde están los datos y tienen que ir comprobando nivel a nivel dónde está.

Intel Smart Cache memoria L2 compartida

Este proceso puede tomar varios nanosegundos y es muy automático. El único fallo que nos puede ocurrir es que salte un bug y no encontremos el dato o algún error similar. Sin embargo, ¿qué pasaría si en vez de tener 2 memorias L2 de 512kB, tenemos una de 1MB compartida?

Puede que ya hayas llegado a la conclusión, pero esto es la base de Intel Smart Caché.

La base de Intel Smart Caché

Si dos núcleos comparten memoria caché L2, por ejemplo, tendremos diferentes ventajas a la hora de procesar datos.

  • Lo primero que veremos es que si un núcleo no está activo, su pareja podrá utilizar hasta el doble de memoria caché L2. Esto le permite guardar muchos más datos en memorias de más alto nivel, es decir, mucho más rápidas.
  • Por otro lado, si los núcleos están trabajando unidos en una tarea, estarán compartiendo datos. Por ejemplo, el núcleo 1 ha bajado hasta DRAM a por la variable ‘tiempo’ y, ahora, el núcleo 2 necesita usar ese dato. Gracias al trabajo del núcleo 1, no tendrá que bajar hasta DRAM, ya que encontrará este dato en la memoria caché L2 compartida ahorrando así muchos nanosegundos.

Este principio aumenta notablemente lo que se llama el Hit-rate de la memoria caché y es un método bastante común que también ha implementado AMD. No en balde, Intel Smart Cache no es solamente esto y tiene características extra.

Te recomendamos la lectura de las mejores memorias RAM

Por ejemplo, la estructura unitaria de los núcleos en los procesadores Intel beneficia mucho el uso de la caché. Es una estructura más cara de crear, pero permite que se aproveche mucho más la memoria caché.

Por otro lado, tenemos diferentes algoritmos internos que optimizan el código leído con tal de que la caché sea mucho más eficiente.

El ejemplo más claro es el la idea del Caché Blocking (o usar la caché por bloques). Con este algoritmo se busca dividir grandes bucles en bloques más pequeños (divide y vencerás).

Intel Smart Cache Cache Blocking

Para simplificarlo, podríamos decir que en lugar de ir de 1 a 10000, iremos de 1 a 10 mil veces.

Diez mil valores no caben en memoria caché L1, así que para cada valor nuevo tendremos que «bajar a buscarlo» hasta DRAM. En cambio, diez valores sí caben en L1, por lo que solo tendremos que bajar 10 veces a DRAM. El onceavo valor que busquemos (un 1 otra vez) lo encontraremos en caché L1.

Podemos contar decenas de tecnologías y optimizaciones como esta y son los pequeños detalles que hacen que Intel Smart Cache sea una interesante implementación.

La evolución de Intel Smart Cache

Con toda esta base ya establecida, tenemos que situarnos en el año 2009 ~ 2011, donde empezamos a ver procesadores más eficientes.

Procesadores con Intel Smart Cache

El paso a los 2 y 4 núcleos había ocurrido hace poco, pero aún había muchos problemas por ser una tecnología nueva. Las arquitecturas eran nuevas y muchos datos se perdían o no se aprovechaban. Por otro lado, el consumo era astronómico y, en general, hacía falta nuevas ideas que mejorasen esta plataforma.

Sin embargo, la idea de la memoria caché compartida ya estaba en la cabeza de muchos y solo faltaba implementarla de forma correcta. Pudimos ver algunos modelos previos con aplicaciones similares, pero posiblemente Intel Smart Cache se estableció como la alternativa más fiable y estable.

Los modelos más importantes que empezaron a compartir memoria caché fueron los Intel Core de las primeras generaciones. Apenas tenían 2 o 3 MB de memoria caché entre los tres niveles, pero ya vimos allí las primeras implementaciones de esta «tecnología». De hecho, en el mismo artículo de Intel puedes ver como realizan constantemente comparaciones con procesadores con memorias caché no compartidas.

Con el tiempo, la evolución natural de la tecnología permitió añadir memorias más rápidas, más cantidad y mejores algoritmos. Hoy día, los modelos más top orientados a usuarios tienen una media de 12 ~ 16 MB como en el Intel Core i9-9900k o i7-9700k.

Rendimiento de los procesadores Intel

No es noticia que Intel ha estado rindiendo muy bien estos últimos años.

Con la salida de sus nuevos Intel Core marcaron el camino a seguir a los futuros modelos de CPUs. Tenían un excelente rendimiento en single-core, un buen rendimiento en multi-core y lo teníamos organizado claramente en tres gamas separadas. Desde mitades de los años 2000 hasta mediados de 2018 podríamos afirmar sin mucho titubeo que Intel ha dominado el mercado.

Pese a ello, en estos últimos años hemos visto cómo se ha ido relajando más de la cuenta sacando modelos con pocas novedades que solamente ofrecían «un poquito más». Por su parte, AMD ha ido labrándose poco a poco unos cimientos robustos como hoy los son los procesadores Ryzen.

i9-9900KS

Por la estructura que usa AMD, sus procesadores necesitan y se benefician de tener grandes cantidades de memoria caché. Tanto es así que el modelo más top de escritorio llevará alrededor de 72 MB de caché y se esperan hasta 128 MB (compáralos a los 16MB del i9). No obstante, más memoria no significa directamente mejor rendimiento.

Pese a tener mucha menos memoria caché, los procesadores Intel siguen siendo casi igual o más potentes que sus contrapartes AMD. La tarea más destacable es el rendimiento en gaming, donde estos procesadores sacan pecho con especificaciones aparentemente inferiores.

Rendimiento de procesadores Intel

Por otro lado, cabe destacar los tiempos de respuesta de la memoria RAM. Tiene más que ver con la estructura de la arquitectura del procesador, pero es algo interesante y relacionado con el tema.

De media, se sabe que las CPUs AMD tienen tiempos de respuesta considerablemente más altos que los de su competencia. Esto lo solventan con soporte para memorias de mayores frecuencias, pero que no te engañen. Los números mayores no significa mejor rendimiento.

¿Qué le depara el futuro a las memorias caché?

Como muchas otras cosas de la vida, el futuro es incierto.

No parece que tengamos ninguna alternativa a las memorias cachés, así que parece que estaremos por unas cuantas décadas con ellas. Eso sí, podemos esperar mejoras en su tamaño, en la eficiencia y en los algoritmos que aplican. No por nada cada vez la tecnología es más potente, eficiente y más barata.

Una cuestión que me viene a menudo a la cabeza es que la competencia entre AMD e Intel es realmente desequilibrada. El equipo rojo está ligeramente más fuerte que su competencia azul, pero tenemos que recordar que AMD usa transistores de 7nm y frecuencias de RAM muy superiores.

Procesadores Ryzen

En otras palabras, AMD está usando tecnología dos o tres veces más avanzada que Intel y, sin embargo, tan solo consiguen una ligera ventaja sobre ellos. Entonces, ¿qué pasará cuando Intel llegue a los 7nm, sabiendo lo mucho que exprimen y optimizan sus micro-arquitecturas?

Sea como fuere, no podemos ver las líneas de tiempo alternativas. Actualmente sabemos que Intel está un poco de capa caída, pero puede que todo cambie con la 10ª Generación de procesadores Intel.

Te recomendamos la lectura de los mejores procesadores

Parece que en la actualidad cosas como Intel Smart Cache a la par que otras muchas tecnologías de apoyo permiten que Intel se mantenga firme. Si bien ya no tiene una dominancia completa, sigue siendo una alternativa a la que muchos usuarios se sienten apegados.

Ahora coméntanos tú, ¿qué tecnología es la que más te llama la atención de Intel? ¿Crees que Intel Smart Cache marca alguna diferencia importante? Comparte tus ideas en la caja de comentarios.

Fuente
Intel SoftwareQuora

Adrian L.

Soy Adrián, un estudiante universitario y me gusta muchos los videojuegos, la tecnología y debatir sobre cualquier clase de tema interesante. ¡Algún día quiero desarrollar mi propio videojuego!
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba