Historia
de la memoria RAM
:: De los 4ks al Gigabyte ::
Bill
Gates dijo una vez: "640 Kb deberán ser suficientes
para cualquiera."
Con la capacidad
de los programas y sistemas de devorar cada vez más
recursos, los 640k se hicieron insuficientes enseguida,
por ejemplo para usar el Windows 3.1.
Como veis, su
visión del crecimiento desorbitado de la informática
no fue muy acertada. Hoy día, lo normal es instalar entre
512 y 1024 Megabytes (1 Gigabyte), casi seiscientas veces más.
Pero veamos, hay que excusar al chico. Por aquel entonces los
sistemas operativos no usaban demasiados gráficos (excepto
los visionarios y mal vendidos en España Macintosh, que
ya utilizaban un sistema parecido al Windows en los 70), con lo
que 640k (0.6 Megas) para alojar todo el núcleo del sistema
era suficiente. En realidad, para lo que es el núcleo del
sistema operativo, y sólo el núcleo, nada de herramientas,
640k de RAM era aceptable. Con la capacidad de los programas y
sistemas de devorar cada vez más recursos, los 640k se
hicieron insuficientes enseguida, por ejemplo para usar el Windows
3.1. Esto produjo todo un maremágnum de confusión
motivado por la voluntad de mantener la compatibilidad hacia abajo
(que todos los programas anteriores pudiesen ser ejecutados en
ordenadores modernos) y realizar verdaderos malabares con la memoria
(memoria extendida, expandida, memoria base...) afortunadamente,
con Windows 2000 y XP, se abandonó la base MS-DOS y con
ella, esta anticuada filosofía (aunque muchos antiguos
programas, aún pudiesen ser ejecutados). Windows 95 no
era más que una bonita interfaz gráfica que ocultaba
un MS-DOS interno.
También hay que tener en cuenta que nuestro
amigo Bill tenía y tiene un acuerdo con Intel, en el que
Microsoft programa aplicaciones que absorben cada vez más
CPU y así Intel puede sacar cada 18 meses un procesador
más potente y tiene asegurada la clientela que use Windows.
Por eso, la mayoría de las veces, los recursos que toman
los sistemas Windows son injustificados, no son más que
una argucia para que Intel dé salida a sus procesadores
más potentes a personas que realmente no los necesitan
(por supuesto que existen profesionales con la demanda de procesadores
de alta gama, pero para un usuario medio que no le guste demasiado
jugar ni sea profesional, 3 Ghz es una bestialidad y sólo
sirve para que Windows XP campe a sus anchas, para ellos, se podrían
reciclar viejos sistemas con Linux).
Volvamos a la memoria. Random
Access Memory (Memoria de acceso aleatorio). Lo de aleatorio no
viene de que se acceda sin orden ni concierto a la información
que le venga en gana. Aleatorio significa que puede acceder a
cualquier dato almacenado en ella con la misma velocidad. En los
discos duros, el lugar físico donde se encuentre la información
(ya sea más cerca del centro del disco o más hacia
los bordes) influye en el tiempo que tarda el brazo mecánico
en tomar esos datos. En el caso de la RAM, esta memoria está
constituida como una malla entrelazada en la que cada celda contiene
un estado (los ya consabidos "0" o "1", cargado
o no cargado, señal eléctrica o ausencia de señal).
Los datos son accesibles por coordenadas que identifican cada
fila y cada columna. Para acceder a un rango concreto (por ejemplo
toda una fila), sólo hay que indicar la coordenada "Y",
y obtendremos el conjunto de bytes que están alojados en
ella, con lo que el procesador podrá empezar a trabajar.
El proceso es el siguiente: El usuario ejecuta una aplicación
en el disco duro (demasiado lento para trabajar con él),
esta viaja por el bus hacia la memoria RAM (que posee la velocidad
adecuada para trabajar rápidamente con datos), aquí
se mantiene de forma volátil hasta que el usuario almacena
la información, que vuelve a pasar al disco duro. Todo
esto es controlado por el microprocesador y los chips de la placa.
Así de "simple" es la estructura básica
de la computación.
Hagamos
un poco de historia
ENIAC, considerado el primer ordenador de la
Historia, poseía unos increíbles 4 kilobytes de
memoria, fabricados a base de núcleos de ferrita a gran
temperatura. Estos 4 kilobytes (si cada carácter en un
documento ocupara un byte, el ordenador podría almacenar
poco más que un folio escrito de información) ocupaban
varios metros cuadrados, como cuatro armarios juntos.
En los sesenta, cuando se comienza a utilizar
los chips gracias a los circuitos integrados, se da un gran paso
adelante, y los procesadores comienzan a doblar su capacidad cada
año y medio. No así la RAM que debe esperar unos
diez años para duplicar su velocidad. En los ochenta, el
micro sigue evolucionando a velocidades sorprendentes (se llega
al Megaherzio) y la velocidad de acceso a RAM sigue estancada
hasta quedarse por detrás del micro. Surge el concepto
de multiplicador para poder seguir al micro, y a la vez todo el
sistema debe acoplarse a la velocidad del bus, que, para entendernos,
es la carretera que une el procesador con la RAM. El bus siempre
ha viajado a una velocidad menor que el procesador y la RAM, y
esto ha generado infinidad de trucos y mejoras para poder crear
un sistema sin cuellos de botella... Unos ejemplos:
Existen dos tipos básicos
de memoria RAM, la estática (SRAM) y la dinámica
(DRAM). La primera no necesita ser tan frecuentemente "refrescada"
con la información, lo que la hace más rápida.
Se usa para las cachés internas de los microprocesadores
(que no necesitan pasar por el bus), mientras que la dinámica
se utiliza para lo que comúnmente conocemos como RAM del
ordenador. SDRAM, viene de DRAM síncrona, y es un tipo
genérico de memoria optimizada para trabajar a la velocidad
del bus. ¿Confundidos? Aún ni hemos empezado.
Según el formato e interacción
con la placa...
En un principio se usaron memorias DIP (Dual
In line Pin) hasta los procesadores 80386, que soportaban poco
más de 1 Megabyte de memoria. Eran una especie de cucaracha
rectangular con 16 patas. Con el tiempo este formato pasó
a usarse para la memoria de la tarjeta gráfica, pero con
el aumento de ésta, el tipo de conexión terminó
despareciendo.
A mediados de los 90, aparecieron
los formatos DIMM, SIMM (dual/single in line memory module) que
eran módulos dispuestos en una lámina que se unía
a la placa a través de una serie de contactos. Visualmente,
estos dos tipos de módulos eran muy parecidos, pero para
conectarse a la placa, necesitaban de técnicas distintas.
Estos módulos podían ser a su vez de 30 contactos
(SIMM30), muy al principio. Con la aparición del 486 y
hasta las primeras versiones de Pentium II, se aumentó
a 72 contactos. La evolución llegó con los módulos
DIMM de 168 contactos, más rápidos que los anteriores,
que se mantuvo hasta que el bus de datos consiguió disparar
su velocidad.
La mayoría de los equipos personales que
se instalan actualmente, vienen equipados con memoria del tipo
DDR SDRAM (double data rate SDRAM) que consigue doblar la velocidad
actuando casi dos veces por ciclo de la placa, ajustándose
más a la disparatada velocidad de los microprocesadores
de hoy en día, y doblando velocidad de acceso de un plumazo
cuando comenzaron a comercializarse.
Para seguir con detenimiento la historia de la
RAM y sus posibilidades, acrónimos y vertientes, se necesitaría
un libro entero (que los hay). Pero con estas pinceladas, podemos,
al menos, hablar con cierta propiedad sobre un componente muy
importante de nuestro sistema.