memoria RAM

Memoria de acceso aleatorio

Para otros usos de este término, véase RAM (desambiguación).


DIMM normal y corriente de memoria RAM tipo DDR3 de 240 contactos.
La memoria de acceso aleatorio (en inglés: random-access memory, cuyo acrónimo es RAM) es la memoria desde donde el procesador recibe las instrucciones y guarda los resultados.

 

Nomenclatura

La frase memoria RAM se utiliza frecuentemente para referirse a los módulos de memoria que se usan en los computadores personales y servidores. En el sentido estricto, los módulos de memoria contienen un tipo, entre varios de memoria de acceso aleatorio, ya que las ROM, memorias Flash, caché (SRAM), los registros en procesadores y otras unidades de procesamiento también poseen la cualidad de presentar retardos de acceso iguales para cualquier posición. Los módulos de RAM son la presentación comercial de este tipo de memoria, que se compone de circuitos integrados soldados sobre un circuito impreso, en otros dispositivos como las consolas de videojuegos, esa misma memoria va soldada sobre la placa principal.
Su capacidad se mide en bytes, y dada su naturaleza siempre binaria, sus múltiplos serán representados en múltiplos binarios tales como Kigabyte, Megabyte, Gigabyte... Y así sucesivamente desde Giga, Tera, Hexa y Zota.

Historia


Integrado de silicio de 64 bits sobre un sector de memoria de núcleo (finales de los 60).
La historia está marcada por la necesidad del volumen de datos. Originalmente, los datos eran programados por el usuario con movimientos de interruptores. Se puede decir que el movimiento de datos era bit a bit. Las necesidades apuntaron a una automatización y se crearon lo que se denomina byte de palabra. Desde una consola remota, se trasladaban los interruptores asignándoles valores de letra, que correspondían a una orden de programación al microprocesador. Así, si se deseaba programar una orden NOT con dos direcciones distintas de memoria, solo se tenía que activar el grupo de interruptores asociados a la letra N, a la letra O y a la letra T. Seguidamente, se programaban las direcciones de memoria sobre las cuales recibirían dicho operador lógico, para después procesar el resultado. Los interruptores evolucionaron asignándoles una tabla de direccionamiento de 16x16 bytes, en donde se daban 256 valores de byte posibles (la actual tabla ASCII). En dicha tabla, se traducen lo que antes costaba activar 8 interruptores por letra, a una pulsación por letra (de cara al recurso humano, un ahorro en tiempos. Una sola pulsación, predisponía 1 byte en RAM... o en otras palabras, cambiaba la posición de 8 interruptores con una sola pulsación). Se usó el formato de máquina de escribir, para representar todo el alfabeto latino, necesario para componer palabras en inglés; así como los símbolos aritméticos y lógicos que permitían la escritura de un programa directamente en memoria RAM a través de una consola o teclado


Uno de los primeros tipos de memoria RAM fue la memoria de núcleo magnético, desarrollada entre 1949 y 1952 y usada en muchos computadores hasta el desarrollo de circuitos integrados a finales de los años 60 y principios de los 70. Antes que eso, las computadoras usaban relés y líneas de retardo de varios tipos construidas con tubos de vacío para implementar las funciones de memoria principal con o sin acceso aleatorio.

En 1969 fueron lanzadas una de las primeras memorias RAM basadas en semiconductores de silicio por parte de Intel con el integrado 3101 de 64 bits de memoria y para el siguiente año se presentó una memoria DRAM de 1 Kibibyte, referencia 1103 que se constituyó en un hito, ya que fue la primera en ser comercializada con éxito, lo que significó el principio del fin para las memorias de núcleo magnético. En comparación con los integrados de memoria DRAM actuales, la 1103 es primitiva en varios aspectos, pero tenía un desempeño mayor que la memoria de núcleos.

 
§  FPM-RAM (Fast Page Mode RAM)
Inspirado en técnicas como el "Burst Mode" usado en procesadores como el Intel 486,4 se implantó un modo direccionamiento en el que el controlador de memoria envía una sola dirección y recibe a cambio esa y varias consecutivas sin necesidad de generar todas las direcciones. Esto supone un ahorro de tiempos ya que ciertas operaciones son repetitivas cuando se desea acceder a muchas posiciones consecutivas. Funciona como si deseáramos visitar todas las casas en una calle: después de la primera vez no seria necesario decir el número de la calle únicamente seguir la misma. Se fabricaban con tiempos de acceso de 70 ó 60 ns y fueron muy populares en sistemas basados en el 486 y los primeros Pentium.

Arquitectura base

En origen, la memoria RAM se componía de hilos de cobre que atravesaban toroides de ferrita, la corriente polariza la ferrita. Mientras esta queda polarizada, el sistema puede invocar al procesador accesos a partes del proceso que antes (en un estado de reposo) no es posible acceder. En sus orígenes, la invocación a la RAM, producía la activación de contactores, ejecutando instrucciones del tipo AND, OR y NOT. La programación de estos elementos, consistía en la predisposición de los contactores para que, en una línea de tiempo, adquiriesen las posiciones adecuadas para crear un flujo con un resultado concreto. La ejecución de un programa, provocaba un ruido estruendoso en la sala en la cual se ejecutaba dicho programa, por ello el área central de proceso estaba separada del área de control por mamparas insonorizadas.
Con las nuevas tecnologías, las posiciones de la ferrita se ha ido sustituyendo por, válvulas de vacío, transistores y en las últimas generaciones, por un material sólido dieléctrico. Dicho estado estado sólido dieléctrico tipo DRAM permite que se pueda tanto leer como escribir información.

 

Uso por el sistema

Se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría del software. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo. Se denominan "de acceso aleatorio" porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder a la información de la manera más rápida posible.

Módulos de la memoria RAM



Formato SO-DIMM.
Los módulos de memoria RAM son tarjetas de circuito impreso que tienen soldados integrados de memoria DRAM por una o ambas caras. La implementación DRAM se basa en una topología deCircuito eléctrico que permite alcanzar densidades altas de memoria por cantidad de transistores, logrando integrados de decenas o cientos de Megabits. Además de DRAM, los módulos poseen un integrado que permiten la identificación de los mismos ante el computador por medio del protocolo de comunicación SPD.
§  Módulos SIMM: Formato usado en computadores antiguos. Tenían un bus de datos de 16 o 32 bits
§  Módulos DIMM: Usado en computadores de escritorio. Se caracterizan por tener un bus de datos de 64 bits.
§  Módulos SO-DIMM: Usado en computadores portátiles. Formato miniaturizado de DIMM.

 

Relación con el resto del sistema

Dentro de la jerarquía de memoria la RAM se encuentra en un nivel después de los registros del procesador y de las cachés. Es una memoria relativamente rápida y de una capacidad media: sobre el año 2010), era fácil encontrar memorias con velocidades de más de 1 Ghz, y capacidades de hasta 8 GB por módulo, llegando a verse memorias pasando la barrera de los 3 Ghz por esa misma fecha mediante prácticas de overclock extremo. La memoria RAM contenida en los módulos, se conecta a un controlador de memoria que se encarga de gestionar las señales entrantes y salientes de los integrados DRAM. Algunas señales son las mismas que se utilizan para utilizar cualquier memoria: Direcciones de las posiciones, datos almacenados y señales de control.

Archivo:Motherboard diagram.jpg

 

Tecnologías de memoria

La tecnología de memoria actual usa una señal de sincronización para realizar las funciones de lectura-escritura de manera que siempre esta sincronizada con un reloj del bus de memoria, a diferencia de las antiguas memorias FPM y EDO que eran asíncronas. Hace más de una década toda la industria se decantó por las tecnologías síncronas, ya que permiten construir integrados que funcionen a una frecuencia superior a 66 MHz (A día de hoy, se han superado con creces los 1600 Mhz).


SDR SDRAM

Artículo principal: SDRAM
Memoria síncrona, con tiempos de acceso de entre 25 y 10 ns y que se presentan en módulos DIMM de 168 contactos. Fue utilizada en los Pentium II y en los Pentium III , así como en los AMD K6, AMD Athlon K7 y Duron. Está muy extendida la creencia de que se llama SDRAM a secas, y que la denominación SDR SDRAM es para diferenciarla de la memoria DDR, pero no es así, simplemente se extendió muy rápido la denominación incorrecta. El nombre correcto es SDR SDRAM ya que ambas (tanto la SDR como la DDR) son memorias síncronas dinámicas. Los tipos disponibles son:
§  PC100: SDR SDRAM, funciona a un máx de 100 MHz.
§  PC133: SDR SDRAM, funciona a un máx de 133 MHz.