Que es el Cache L1, L2 y L3 en los Procesadores ?

Introducción:

Si bien este tema se presta para mucho, vamos a ir directo para que todos podamos comprender los que es realmente. Primero deberíamos comenzar con la definición de lo que es la Memoria Cache.

Que es la Memoria Cache:

Es una porción de memoria a la que accede el procesador antes de tener que salir “al mundo externo” y acceder a la RAM. Esta memoria hoy día está integrada en el mismo; antes y dependiendo de la arquitectura podía estar fuera también. El fin de la Memoria Cache es el almacenar instrucciones (de programas) que son generalmente invocadas por el software durante una operación, por tanto, el tener un acceso directo y rápido hace que la velocidad del programa de software se incremente de gran manera.

Antes el CPU tenía que salir a buscar en Chips de Memoria Cache Externos que estaban entremedio de la RAM y el mismo Procesador. Esto generaba una demora (latencia) aunque para aquellos tiempos era totalmente aceptable.

Sin título.png

Hoy día las cosas han cambiado, y la Memoria Cache esta dentro del CPU, aquí la latencia es mínima y como resultado el impacto en el rendimiento es enorme.

cache-memory

Mientras el microprocesador procesa los datos, primero busca en la memoria cache; si encuentra las instrucciones ahí (luego de una lectura previa de datos), entonces no tiene que irlos a buscar a otro lado, si tuviera que hacerlo introduciría una demora llamada “latencia”. La mayoría de los programas usan muy pocos recursos una vez que han sido ejecutados y que estén en operación por un tiempo considerable, esto se debe a que aquellas instrucciones que se han referenciado varias veces están en el Cache.

De que está hecha la Memoria Cache:

Sin duda no del mismo proceso del que está diseñada la memoria DRAM (Dynamic RAM) la cual tiene que ser refrescada cada tanto tiempo para que los datos permanezcan almacenados. La Memoria Cache está hecha con SRAM (Static Ram) y no depende de ese ciclo de refresco, pero si utiliza componentes electrónicos más costosos y hacen que su tamaño es sustancialmente mayor.

Los Niveles de Cache: L1, L2 y L3

Resultado de imagen para cache memory cpu

La Memoria Cache es muy rápida y también muy costosa ya que utiliza más componentes que la memoria común y también es físicamente más grande. Esta es categorizada en niveles que describen que tan cercana está al microprocesador.

Memoria Cache Nivel 1 (L1):

Esta memoria cache es extremadamente rápida pero relativamente pequeña y hoy día se encuentra integrada en el CPU (años atrás podía o no estar integrada en el CPU). Todas las instrucciones se buscan primero aquí, si no están presentes entonces se procede al siguiente nivel.

Memoria Cache Nivel 2 (L2):

Esta memoria cache es considerablemente más grande que L1 y también está dentro del CPU (años atrás no lo estaba). Si las instrucciones no fueron encontradas en el Nivel L1 entonces se buscan en este Nivel L2, este tipo de memoria no es tan rápida como la usada en L1 por tanto es de esperar un poco de latencia (demora).

 Memoria Cache Nivel 3 (L3):

Este es un nivel de memoria especializada que ayuda a mejorar el rendimiento de los Niveles de Cache L1 y L2. Es mucho más lenta que la memoria L1 o L2, pero mucho más rápida que la memoria RAM del Sistema. En el caso de los Procesadores con muchos Cores, cada uno de ellos tiene su propio Cache L1 y Cache L2, pero, todos comparten el mismo Cache L3. Cuando una instrucción es buscada en L3 se eleva a un cache de un nivel más alto.

El Die de un Procesador Intel Core i7-4790K:

Tal como les dije arriba la Memoria Cache L3 es realmente grande, es casi del tamaño de los 4 Cores de este CPU. Cada Core tiene su Cache L1 y L2 pero comparte el L3.

Resultado de imagen para Intel 7700K die cache L1, L2, L3

La mejora del Cache en las nuevas series de procesadores:

La tendencia actual es colocar los 3 Cache L1, L2 y L3 en el Procesador y que cada Nueva Serie de Procesadores tenga tamaños de Cache L1, L2 y L3 más grandes..

El significado de CPU Cache en los Chipset Intel y los Resultados en Overclock:

Todos aquellos que se han aventurado a hacer Overclock en sus Motherboards deben haber visto en el BIOS el término “Ring Bus”, “CPU Cache” y “Mesh”. Pero no nos confundamos, Ring Bus o Bus de Anillo es el proceso que usa Intel para recorrer los cores transportando toda la información de los datos de Cache, PCIe y más a cada uno de ellos, por ende, cuanto más rápido sea este CPU Cache más rápido todo el proceso.

Cuando Intel incrementó la cantidad de Cores en sus Procesadores, un solo bus de anillo no alcanzaba, por tanto, introdujo un segundo ring bus el cual trajo consigo enormes problemas de latencia (demora). Viendo esto Intel cambió de Arquitectura “Ring Bus” a “Extreme Core Count Mesh” en su Plataforma HEDT (High End Desktop) y sus Procesadores Skylake-X Core i9 (también en sus nuevos Xeon para servidores).

Así que como dato importante recuerden que en toda motherboard con Chipset Intel “que no sea X299” van a encontrar en el BIOS “CPU Cache” o “Ring Bus”, si lo aumentan el resultado va a ser un incremento en los valores de transferencia de la Memoria DRAM y obviamente en los Cache L1, L2 y L3. También, si incrementamos Mesh en X299 el resultado es realmente imponente comparado a la Ring Bus. Todo Benchmark va a mostrar un aumento considerable si hacen esto.

Por: Sergio Echart, Fundador & Director de Uruguay OC

 

 

 

 

 

3 comentarios en “Que es el Cache L1, L2 y L3 en los Procesadores ?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s