Memoria Cache y RAM

¿Qué es la memoria cache?
Una memoria caché es una memoria en la que se almacenas una serie de datos para su rápido acceso. Existen muchas memorias caché (de disco, de sistema, incluso de datos, como es el caso de la caché de Google), pero en este tutorial nos vamos a centrar en la caché de los procesadores.
Básicamente, la memoria caché de un procesador es un tipo de memoria volátil (del tipo RAM), pero de una gran velocidad.



En la actualidad esta memoria está integrada en el procesador, y su cometido es almacenar una serie de instrucciones y datos a los que el procesador accede continuamente, con la finalidad de que estos accesos sean instantáneos. Estas instrucciones y datos son aquellas a las que el procesador necesita estar accediendo de forma continua, por lo que para el rendimiento del procesador es imprescindible que este acceso sea lo más rápido y fluido posible.

Con el objetivo de lograr un tiempo de acceso menor a los datos almacenados en distintos tipos de memoria, existen sistemas de hardware o software llamados caché, los cuales almacenan estos datos de forma duplicada. La memoria caché contenida dentro de una CPU está más cercana que la memoria RAM o memoria principal de la computadora, y es por esta razón que mejora la capacidad de procesamiento del mismo.

Cada vez que se accede por vez primera a determinado dato, este es almacenado en caché, posteriormente al intentar leer el mismo dato se recurrirá a la información almacenada en caché, ahorrando tiempo de acceso. La memoria caché se renueva, por lo tanto, a todo momento.
Los discos duros y otros dispositivos de almacenamiento también hacen utilización de estos métodos, ya sea por hardware y/o por software mediante el sistema operativo, el cual destina cierta parte de su memoria RAM al almacenamiento de información proveniente de estos dispositivos. Las grabadoras de CD/DVD poseen una memoria caché que va almacenando los datos previamente a ser grabados en discos ópticos, e incluso algunos programas brindan un caché extra para evitar aún más la inutilización de los discos.

La forma en que un bloque se coloca en memoria caché puede ser directa, asociativa, o asociativa por conjuntos, su extracción es por demanda o con prebúsqueda, su reemplazo puede ser aleatorio o FIFO (el primero que entra es el primero que sale). La actualización de la memoria RAM puede ser inmediata o aplazada.

Tipos
Hay tres tipos diferentes de memoria caché para procesadores: Caché de 1er nivel (L1):
Esta caché está integrada en el núcleo del procesador, trabajando a la misma velocidad que este. La cantidad de memoria caché L1 varía de un procesador a otro, estando normalmente entra los 64KB y los 256KB. Esta memoria suele a su vez estar dividida en dos partes dedicadas, una para instrucciones y otra para datos. Caché de 2º nivel (L2):
Integrada también en el procesador, aunque no directamente en el núcleo de este, tiene las mismas ventajas que la caché L1, aunque es algo más lenta que esta. La caché L2 suele ser mayor que la caché L1, pudiendo llegar a superar los 2MB. A diferencia de la caché L1, esta no está dividida, y su utilización está más encaminada a programas que al sistema. Caché de 3er nivel (L3):

Es un tipo de memoria caché más lenta que la L2, muy poco utilizada en la actualidad. En un principio esta caché estaba incorporada a la placa base, no al procesador, y su velocidad de acceso era bastante más lenta que una caché de nivel 2 o 1, ya que si bien sigue siendo una memoria de una gran rapidez (muy superior a la RAM, y mucho más en la época en la que se utilizaba), depende de la comunicación entre el procesador y la placa base. Para hacernos una idea más precisa de esto, imaginemos en un extremo el procesador y en el otro la memoria RAM. Pues bien, entre ambos se encuentra la memoria caché, más rápida cuanto más cerca se encuentre del núcleo del procesador (L1). Las memorias caché son extremadamente rápidas (su velocidad es unas 5 veces superior a la de una RAM de las más rápidas), con la ventaja añadida de no tener latencia, por lo que su acceso no tiene ninguna demora... pero es un tipo de memoria muy cara. Esto, unido a su integración en el procesador (ya sea directamente en el núcleo o no) limita bastante el tamaño, por un lado por lo que encarece al procesador y por otro por el espacio disponible. En cuanto a la utilización de la caché L2 en procesadores multinucleares, existen dos tipos diferentes de tecnologías a aplicar. Por un lado está la habitualmente utilizada por Intel, que consiste en que el total de la caché L2 está accesible para ambos núcleos y por otro está la utilizada por AMD, en la que cada núcleo tiene su propia caché L2 dedicada solo para ese núcleo. La caché L2 apareció por primera vez en los Intel Pentium Pro, siendo incorporada a continuación por los Intel Pentium II, aunque en ese caso no en el encapsulado del procesador, sino externamente (aunque dentro del procesador)




¿Qué es la memoria RAM?
La memoria principal o RAM (Random Access Memory, Memoria de Acceso Aleatorio) es donde el computador guarda los datos que está utilizando en el momento presente. El almacenamiento es considerado temporal por que los datos y programas permanecen en ella mientras que la computadora este encendida o no sea reiniciada.

Se le llama RAM por que es posible acceder a cualquier ubicación de ella aleatoria y rápidamente
Físicamente, están constituidas por un conjunto de chips o módulos de chips normalmente conectados a la tarjeta madre. Los chips de memoria son rectángulos negros que suelen ir soldados en grupos a unas plaquitas con "pines" o contactos:

La diferencia entre la RAM y otros tipos de memoria de almacenamiento, como los disquetes o los discos duros, es que la RAM es mucho más rápida, y que se borra al apagar el computador, no como los Disquetes o discos duros en donde la información permanece grabada.




Tipos de RAM
Hay muchos tipos de memorias DRAM, Fast Page, EDO, SDRAM, etc. Y lo que es peor, varios nombres. Trataremos estos cuatro, que son los principales, aunque mas adelante en este Informe encontrará prácticamente todos los demás tipos.

DRAM: Dinamic-RAM, o RAM DINAMICA, ya que es "la original", y por tanto la más lenta.
Usada hasta la época del 386, su velocidad típica es de 80 ó 70 nanosegundos (ns), tiempo éste que tarda en vaciarse para poder dar entrada a la siguiente serie de datos. Por ello, es más rápida la de 70 ns que la de 80 ns.
Físicamente, aparece en forma de DIMMs o de SIMMs, siendo estos últimos de 30 contactos.
Fast Page (FPM): a veces llamada DRAM (o sólo "RAM"), puesto que evoluciona directamente de ella, y se usa desde hace tanto que pocas veces se las diferencia. Algo más rápida, tanto por su estructura (el modo de Página Rápida) como por ser de 70 ó 60 ns.
Usada hasta con los primeros Pentium, físicamente aparece como SIMMs de 30 ó 72 contactos (los de 72 en los Pentium y algunos 486).
EDO: o EDO-RAM, Extended Data Output-RAM. Evoluciona de la Fast Page; permite empezar a introducir nuevos datos mientras los anteriores están saliendo (haciendo su Output), lo que la hace algo más rápida (un 5%, más o menos).
Muy común en los Pentium MMX y AMD K6, con velocidad de 70, 60 ó 50 ns. Se instala sobre todo en SIMMs de 72 contactos, aunque existe en forma de DIMMs de 168.
SDRAM: Sincronic-RAM. Funciona de manera sincronizada con la velocidad de la placa (de 50 a 66 MHz), para lo que debe ser rapidísima, de unos 25 a 10 ns. Sólo se presenta en forma de DIMMs de 168 contactos; es usada en los Pentium II de menos de 350 MHz y en los Celeron.
PC100: o SDRAM de 100 MHz. Memoria SDRAM capaz de funcionar a esos 100 MHz, que utilizan los AMD K6-2, Pentium II a 350 MHz y computadores más modernos; teóricamente se trata de unas especificaciones mínimas que se deben cumplir para funcionar correctamente a dicha velocidad, aunque no todas las memorias vendidas como "de 100 MHz" las cumplen.
PC133: o SDRAM de 133 MHz. La más moderna (y recomendable).
SIMMs y DIMMs
Se trata de la forma en que se juntan los chips de memoria, del tipo que sean, para conectarse a la placa base del ordenador. Son unas plaquitas alargadas con conectores en un extremo; al conjunto se le llama módulo.
El número de conectores depende del bus de datos del microprocesador, que más que un autobús es la carretera por la que van los datos; el número de carriles de dicha carretera representaría el número de bits de información que puede manejar cada vez.
SIMMs: Single In-line Memory Module, con 30 ó 72 contactos. Los de 30 contactos pueden manejar 8 bits cada vez, por lo que en un 386 ó 486, que tiene un bus de datos de 32 bits, necesitamos usarlos de 4 en 4 módulos iguales. Miden unos 8,5 cm (30 c.) ó 10,5 cm (72 c.) y sus zócalos suelen ser de color blanco.
Los SIMMs de 72 contactos, más modernos, manejan 32 bits, por lo que se usan de 1 en 1 en los 486; en los Pentium se haría de 2 en 2 módulos (iguales), porque el bus de datos de los Pentium es el doble de grande (64 bits).
DIMMs: más alargados (unos 13 cm), con 168 contactos y en zócalos generalmente negros; llevan dos muescas para facilitar su correcta colocación. Pueden manejar 64 bits de una vez, por lo que pueden usarse de 1 en 1 en los Pentium, K6 y superiores. Existen para voltaje estándar (5 voltios) o reducido (3.3 V).
Y podríamos añadir los módulos SIP, que eran parecidos a los SIMM pero con frágiles patitas soldadas y que no se usan desde hace bastantes años, o cuando toda o parte de la memoria viene soldada en la placa (caso de algunos ordenadores de marca).
Otros tipos de RAM
BEDO (Burst-EDO): una evolución de la EDO, que envía ciertos datos en "ráfagas". Poco extendida, compite en prestaciones con la SDRAM.
Memorias con paridad: consisten en añadir a cualquiera de los tipos anteriores un chip que realiza una operación con los datos cuando entran en el chip y otra cuando salen. Si el resultado ha variado, se ha producido un error y los datos ya no son fiables.
Dicho así, parece una ventaja; sin embargo, el ordenador sólo avisa de que el error se ha producido, no lo corrige. Es más, estos errores son tan improbables que la mayor parte de los chips no los sufren jamás aunque estén funcionando durante años; por ello, hace años que todas las memorias se fabrican sin paridad.
ECC: memoria con corrección de errores. Puede ser de cualquier tipo, aunque sobre todo EDO-ECC o SDRAM-ECC. Detecta errores de datos y los corrige; para aplicaciones realmente críticas. Usada en servidores y mainframes.
Memorias de Vídeo: para tarjetas gráficas. De menor a mayor rendimiento, pueden ser: DRAM -> FPM -> EDO -> VRAM -> WRAM -> SDRAM -> SGRAM
DDR-SDRAM: (Doble Data Rate)
¿Cómo es físicamente la DDR-SDRAM? O lo que es lo mismo: ¿puedo instalarla en mi "antigua" placa base? Lamentablemente, la respuesta es un NO rotundo.

Los módulos de memoria DDR-SDRAM (o DDR) son del mismo tamaño que los DIMM de SDRAM, pero con más conectores: 184 pines en lugar de los 168 de la SDRAM normal.

Además, los DDR tienen 1 única muesca en lugar de las 2 de los DIMM "clásicos".
Los nuevos pines son absolutamente necesarios para implementar el sistema DDR, por no hablar de que se utiliza un voltaje distinto y que, sencillamente, tampoco nos serviría de nada poder instalarlos, porque necesitaríamos un chipset nuevo.

Hablando del voltaje: en principio debería ser de 2,5 V, una reducción del 30% respecto a los actuales 3,3 V de la SDRAM.


Villahermosa, Tabasco. A 13 de Abril de 2015.

No hay comentarios.:

Publicar un comentario