Memoria de acceso aleatorio
La memoria de acceso aleatorio (en inglés: random-access memory) 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. Durante el encendido del computador, la rutina POST verifica que los módulos de memoria RAM estén conectados de manera correcta. En el caso que no existan o no se detecten los módulos, la mayoría de tarjetas madres emiten una serie de pitidos que indican la ausencia de memoria principal. Terminado ese proceso, la memoria BIOS puede realizar un test básico sobre la memoria RAM indicando fallos mayores en la misma.
Historia
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. Esa memoria requería que cada bit estuviera almacenado en un toroide de material ferromágnetico de algunos milímetros de diámetro, lo que resultaba en dispositivos con una capacidad de memoria muy pequeña. Antes que eso, las computadoras usaban relés y líneas de retardo de varios tipos construidas 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 1024 bytes, 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.
En 1973 se presentó una innovación que permitió otra miniaturización y se convirtió en estándar para las memorias DRAM: la multiplexación en tiempo de la direcciones de memoria. MOSTEK lanzó la referencia MK4096 de 4096 bytes en un empaque de 16 pines,1 mientras sus competidores las fabricaban en el empaque DIP de 22 pines. El esquema de direccionamiento2 se convirtió en un estándar de facto debido a la gran popularidad que logró esta referencia de DRAM. Para finales de los 70 los integrados eran usados en la mayoría de computadores nuevos, se soldaban directamente a las placas base o se instalaban en zócalos, de manera que ocupaban un área extensa de circuito impreso. Con el tiempo se hizo obvio que la instalación de RAM sobre el impreso principal, impedía la miniaturización , entonces se idearon los primeros módulos de memoria como el SIPP, aprovechando las ventajas de la construcciónmodular. El formato SIMM fue una mejora al anterior, eliminando los pines metálicos y dejando unas áreas de cobre en uno de los bordes del impreso, muy similares a los de lastarjetas de expansión, de hecho los módulos SIPP y los primeros SIMM tienen la misma distribución de pines.
Detección y corrección de errores
Existen dos clases de errores en los sistemas de memoria, las fallas (Hard fails) que son daños en el hardware y los errores (soft errors) provocados por causas fortuitas. Los primeros son relativamente fáciles de detectar (en algunas condiciones el diagnóstico es equivocado), los segundos al ser resultado de eventos aleatorios, son más difíciles de hallar. En la actualidad la confiabilidad de las memorias RAM frente a los errores, es suficientemente alta como para no realizar verificación sobre los datos almacenados, por lo menos para aplicaciones de oficina y caseras. En los usos más críticos, se aplican técnicas de corrección y detección de errores basadas en diferentes estrategias:
- La técnica del bit de paridad consiste en guardar un bit adicional por cada byte de datos y en la lectura se comprueba si el número de unos es par (paridad par) o impar(paridad impar), detectándose así el error.
- Una técnica mejor es la que usa ECC, que permite detectar errores de 1 a 4 bits y corregir errores que afecten a un sólo bit. Esta técnica se usa sólo en sistemas que requieren alta fiabilidad.
Por lo general los sistemas con cualquier tipo de protección contra errores tiene un costo más alto, y sufren de pequeñas penalizaciones en desempeño, con respecto a los sistemas sin protección. Para tener un sistema con ECC o paridad, el chipset y las memorias deben tener soporte para esas tecnologías. La mayoría de placas base no poseen dicho soporte.
Para los fallos de memoria se pueden utilizar herramientas de software especializadas que realizan pruebas sobre los módulos de memoria RAM. Entre estos programas uno de los más conocidos es la aplicación Memtest86+ que detecta fallos de memoria.
No hay comentarios:
Publicar un comentario