¿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.
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):
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).
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).
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.
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
¿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