La memoria RAM

Diversos tipos de memoria RAMSe denomina memoria a los circuitos que permiten almacenar y recuperar la información. En un sentido más amplio, puede referirse también a sistemas externos de almacenamiento, como las unidades de disco o de cinta. Memoria de acceso aleatorio o RAM (Random Access Memory) es la memoria basada en semiconductores que puede ser leída y escrita por el microprocesador u otros dispositivos de hardware. El acceso a las posiciones de almacenamiento se puede realizar en cualquier orden. 

Los chips de memoria son pequeños 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 muchísimo más rápida, y que se borra al apagar el ordenador, no como éstos.

El interior de cada chip se puede imaginar como una matriz o tabla en la cual cada celda es capaz de almacenar un bit. Por tanto, un bit se puede localizar directamente proporcionando una fila y una columna de la tabla. En realidad, la CPU identifica cada celda mediante un número, denominado dirección de memoria. A partir de una dirección se calcula cuál es la fila y columna correspondiente, con lo que ya se puede acceder a la celda deseada. El acceso se realiza en dos pasos: primero se comunica la fila y después la columna empleando los mismos terminales de conexión. Obviamente, esta técnica denominada multiplexado– permite emplear menos terminales de conexión para acceder a la RAM, lo que optimiza la relación entre el tamaño del chip y la capacidad de almacenamiento.

Realmente, la CPU no suele trabajar con bits independientes, sino más bien con agrupaciones de los mismos, en forma de palabras binarias. Esto hace que la RAM no se presente en un solo chip, sino más bien en agrupaciones de los mismos. Por ejemplo, un grupo de 8 chips, cada uno capaz de almacenas x bits, proporcionará en conjunto x Kb.

La memoria no deja de ser un circuito electrónico real, y por tanto está expuesta a efectos que pueden producir errores en su contenido. En otras palabras, tras escribir una palabra en una posición de memoria es perfectamente posible que algún bit cambie de estado durante el tiempo que permanezca almacenada. Si se accede de nuevo a la memoria para leer dicha palabra se recuperará información errónea y esto puede acarrear todo tipo de consecuencias. Para ello se suelen emplear dos soluciones: la paridad y la técnica ECC (Error Correction Code). El elemento que implementa estos métodos se encuentra en el interior del PC y recibe el nombre de controlador de memoria.

La paridad consiste en añadir un bit adicional a cada palabra, que hace que el número de unos sea par o impar (según se emplee la paridad par o impar). Si al leer información de la memoria el bit de paridad no está de acuerdo con el número de unos se habrá detectado un error.

El sistema ECC añade un conjunto de bits a cada palabra a almacenar. La ventaja es que permite detectar errores en varios bits y además es capaz de corregir dichos errores. Estas técnicas implican añadir bits adicionales y por tanto tendrán impacto en la cantidad de memoria incorporada en cada módulo.

Características de la memoria principal (RAM)

Un sistema de memoria se puede clasificar en función de muy diversas características. Entre ellas podemos destacar las siguientes: localización de la memoria, capacidad, método de acceso y velocidad de acceso. En el caso de la memoria RAM (también denominada memoria principal o primaria) se puede realizar la siguiente clasificación:

Localización: Interna (se encuentra en la placa base)

Capacidad: Hoy en día no es raro encontrar ordenadores PC equipados con 64, 128 ó 256 Mb de memoria RAM.

Método de acceso: La RAM es una memoria de acceso aleatorio. Esto significa que una palabra o byte se puede encontrar de forma directa, sin tener en cuenta los bytes almacenados antes o después de dicha palabra (al contrario que las memorias en cinta, que requieren de un acceso secuencial). Además, la RAM permite el acceso para lectura y escritura de información.

Velocidad de acceso: Actualmente se pueden encontrar sistemas de memoria RAM capaces de realizar transferencias a frecuencias del orden de los Gbps (gigabits por segundo). También es importante anotar que la RAM es una memoria volátil, es decir, requiere de alimentación eléctrica para mantener la información. En otras palabras, la RAM pierde toda la información al desconectar el ordenador.

Hemos de tener muy en cuenta que esta memoria es la que mantiene los programas funcionando y abiertos, por lo que al ser Windows 95/98/Me/2000 un sistema operativo multitarea, estaremos a merced de la cantidad de memoria RAM que tengamos dispuesta en el ordenador. En la actualidad hemos de disponer de la mayor cantidad posible de ésta, ya que estamos supeditados al funcionamiento más rápido o más lento de nuestras aplicaciones diarias. La memoria RAM hace unos años era muy cara, pero hoy en día su precio ha bajado considerablemente.

Cuando alguien se pregunta cuánta memoria RAM necesitará debe sopesar con qué programas va a trabajar normalmente. Si únicamente vamos a trabajar con aplicaciones de texto, hojas de cálculo y similares nos bastará con unos 32 Mb de ésta (aunque esta cifra se ha quedado bastante corta), pero si trabajamos con multimedia, fotografía, vídeo o CAD, por poner un ejemplo, hemos de contar con la máxima cantidad de memoria RAM en nuestro equipo (128-256 Mb o más) para que su funcionamiento sea óptimo, ya que estos programas son auténticos devoradores de memoria. Hoy en día no es recomendable tener menos de 64 Mb, para el buen funcionamiento tanto de Windows como de las aplicaciones normales, ya que notaremos considerablemente su rapidez y rendimiento, pues generalmente los equipos actuales ya traen 128 Mb o 256 Mb de RAM.

Según los tipos de conectores que lleve la memoria, al conjunto de éstos se les denominan módulos, y éstos a su vez se dividen en:

  • SIMM (Single In-line Memory Module): Pequeña placa de circuito impreso con varios chips de memoria integrados. Se fabrican con diferentes velocidades de acceso capacidades (4, 8, 16, 32, 64 Mb) y son de 30 ó 72 contactos. Se montan por pares generalmente.

  • DIMM: Son más alargados, cuentan con 168 contactos y llevan dos muescas para facilitar su correcta colocación. Pueden montarse de 1 en 1.

Respecto a las características básicas de cualquier módulo de memoria hemos de fijarnos, principalmente, en el tipo de memoria utilizada, el tipo de módulo (30, 70 ó 168 contactos), la capacidad total ofrecida y el tiempo medio de acceso que ofrece, que es el tiempo que transcurre desde que se solicita el dato almacenado en una determinada dirección de memoria hasta que el chip ofrece el dato solicitado. Evidentemente, cuanto menor sea este número mejores prestaciones obtendremos. Las antiguas memorias SIMM ofrecían cifras entre 70 u 80 nanosegundos y las modernas DIMM SDRAM tiempos inferiores a 10 nanosegundos. Esta diferencia de velocidad permite que el procesador no deba sufrir tiempos de espera innecesarios desde que solicita un dato hasta que lo recibe para poder realizar la operación.

Los principales tipos de memoria RAM utilizadas en nuestros ordenadores se dividen en DRAM, SRAM y Tag RAM. Así, la memoria DRAM (Dynamic Random Access Memory) es la que montan las placas base como memoria principal del sistema, donde se almacenan las aplicaciones en ejecución y los datos que es están gestionando en cada momento. Se refresca cientos de veces por segundo y cuanto mayor cantidad pongamos a disposición del PC mejores resultados obtendremos.

Tipos de memoria DRAM

  • FPM (Fast Page Mode): Memoria muy popular, ya que era la que se incluía en los antiguos 386, 486 y primeros Pentium. Alcanza velocidades de hasta 60 ns. Se encuentra en los SIMM de 30 contactos y los posteriores de 72.

  • EDO (Extended Data Output): La memoria EDO, a diferencia de la FPM que sólo podía acceder a un solo byte al tiempo, permite mover un bloque completo de memoria a la memoria caché del sistema, mejorando así las prestaciones globales. De mayor calidad, alcanza velocidades de hasta 45 ns. Se encuentra en los Pentium, Pentium Pro y primeros Pentium II en SIMM de 72 contactos y en los primeros DIMM de 168 contactos, funcionando a 5 y 3,3 voltios.

  • BEDO (Burst Extended Data Output): Diseñada originalmente para los chipset HX, permite transferir datos al procesador en cada ciclo de reloj, aunque no de forma continuada, sino a ráfagas, reduciendo los tiempos de espera del procesador, aunque sin conseguir eliminarlos del todo.

  • SDRAM (Synchronous DRAM): Memoria asíncrona que se sincroniza con la velocidad del procesador, pudiendo obtener información en cada ciclo de reloj, evitando así los estados de espera que se producían antes. La SDRAM es capaz de soportar las velocidades del bus a 100 y 133 MHz, alcanzando velocidades por debajo de 10 ns. Se encuentra en la práctica mayoría de los módulos DIMM de 168 contactos.

  • PC-100 DRAM: Es un tipo de memoria SDRAM que cumple unas estrictas normas referentes a calidad de los chips y diseño de los circuitos impresos establecidas por Intel. El objetivo es garantizar un funcionamiento estable en la memoria RAM  a velocidades de bus de 100 MHz.

  • PC-133 DRAM: Muy parecida a la anterior y de grandes exigencias técnicas para garantizar que el módulo de memoria que la cumpla funcione correctamente a las nuevas velocidades de bus de 133 MHz que se han incorporado a los últimos Pentium III.

  • DRDRAM (Direct Rambus DRAM): Es un tipo de memoria de 64 bits que alcanza ráfagas de 2 ns, picos de varios Gbytes/sg y funcionan a velocidades de hasta 800 MHz. Es el complemento ideal para las tarjetas gráficas AGP, evitando los cuellos de botella entre la tarjeta gráfica y la memoria principal durante el acceso directo a memoria para el manejo de las texturas gráficas.

  • DDR SDRAM (Double Data Rate SDRAM o SDRAM II): Un tipo de memoria SDRAM mejorada que podía alcanzar velocidades de hasta 200 MHz. Cuenta con mecanismos para duplicar las prestaciones obtenidas a la velocidad del reloj del sistema. Fue soportada por ciertos chipset Socket 7, pero al no ser apoyada por Intel no está demasiado extendida.

  • ESDRAM (Enhanced SDRAM): Incluye una pequeña memoria estática en el interior del chip SDRAM. Con ello, las peticiones de ciertos accesos pueden ser resueltas por esta rápida memoria, aumentando las prestaciones. Se basa en un principio muy similar al de la memoria caché utilizada en los procesadores.

  • SLDRAM (SyncLink DRAM): Se basa, al igual que la DRDRAM, en un protocolo propietario, que separa las líneas CAS, RAS y de datos. Los tiempos de acceso no dependen de la sincronización de múltiples líneas, por lo que este tipo de memoria promete velocidades superiores a los 800 MHz, ya que además puede operar al doble de velocidad del reloj del sistema.

Memoria SRAM

Es la abreviatura de Static Random Access Memory y es la alternativa a la DRAM. No precisa de tanta electricidad como la anterior para su refresco y movimiento de las direcciones de memoria, por lo que funciona más rápida, aunque tiene un elevado precio. Hay de tres tipos:

  • Async SRAM: La memoria caché de los antiguos 386, 486 y primeros Pentium, asíncrona y con velocidades entre 20 y 12 ns.

  • Sync SRAM: Es la generación siguiente, capaz de sincronizarse con el procesador y con una velocidad entre 12 y 8,5 ns.

  • Pipelined SRAM: Se sincroniza también con el procesador, pero tarda en cargar los datos más que la anterior, aunque una vez cargados accede a ellos con más rapidez. Opera a velocidades entre 8 y 4,5 ns.

Memoria Tag RAM

este tipo de memoria almacena las direcciones de memoria de cada uno de los datos de la DRAM almacenados en la memoria caché del sistema. Así, si el procesador requiere un dato y encuentra su dirección en la Tag RAM, va a buscarlo inmediatamente a la caché, lo que agiliza el proceso.