Memorias de Acceso Aleatorio.
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.
DIMM normal y corriente de memoria RAM tipo DDR3 de 240 contactos.
En términos generales, existen dos grandes categorías de memoria de acceso aleatorio:
La memorias DRAM (Módulo de Acceso Aleatorio Dinámico), las cuales son menos costosas. Se utilizan principalmente para la memoria principal del ordenador
Las memorias SRAM (Módulo de Acceso Aleatorio Estático), rápidas pero relativamente costosas. Las memorias SRAM se utilizan en particular en la memoria caché del procesador.
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. 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.
Nomenclatura.
La expresión memoria RAM se utiliza frecuentemente para referirse a los módulos de memoria utilizados en los computadores personales y servidores. En el sentido estricto, esta memoria es solo una variedad de la memoria de acceso aleatorio: 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 independiente, en otros dispositivos como las consolas de videojuegos, la RAM va soldada directamente sobre la placa principal.
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.
4MiB de memoria RAM para un computador VAX de finales de los 70. Los integrados de memoria DRAM están agrupados arriba a derecha e izquierda.
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.
Módulos de memoria tipo SIPP instalados directamente sobre la placa base.
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 4 Kb en un empaque de 16 pines, mientras sus competidores las fabricaban en el empaque DIP de 22 pines. El esquema de direccionamiento
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ón modular. 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 las tarjetas de expansión, de hecho los módulos SIPP y los primeros SIMM tienen la misma distribución de pines.
Integrado de silicio de 64 bits sobre un sector de memoria de núcleo magnético (finales de los 60).
A finales de los 80 el aumento en la velocidad de los procesadores y el
aumento en el ancho de banda requerido, dejaron rezagadas a las memorias
DRAM con el esquema original MOSTEK, de manera que se realizaron una
serie de mejoras en el direccionamiento como las siguientes:
FPM-RAM (Fast Page Mode RAM).
Inspirado en técnicas como el "Burst Mode" usado en procesadores como el Intel 486,
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.
EDO-RAM (Extended Data Output RAM).
Lanzada en 1995 y con tiempos de accesos de 40 o 30 ns suponía una
mejora sobre su antecesora la FPM. La EDO, también es capaz de enviar
direcciones contiguas pero direcciona la columna que va utilizar
mientras que se lee la información de la columna anterior, dando como
resultado una eliminación de estados de espera, manteniendo activo el búffer de salida hasta que comienza el próximo ciclo de lectura.
BEDO-RAM (Burst Extended Data Output RAM).
Fue la evolución de la EDO RAM y competidora de la SDRAM, fue presentada
en 1997. Era un tipo de memoria que usaba generadores internos de
direcciones y accedía a más de una posición de memoria en cada ciclo de
reloj, de manera que lograba un desempeño un 50% mejor que la EDO. Nunca
salió al mercado, dado que Intel
y otros fabricantes se decidieron por esquemas de memoria sincrónicos
que si bien tenían mucho del direccionamiento MOSTEK, agregan
funcionalidades distintas como señales de reloj.
Módulos formato SIMM de 30 y 72 pines, los últimos fueron utilizados con integrados tipo EDO-RAM.
Tecnologias 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.
Memorias RAM con tecnologías usadas en la actualidad.
SDR 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.
DDR SDRAM.
Memoria síncrona, envía los datos dos veces por cada ciclo de reloj.
De este modo trabaja al doble de velocidad del bus del sistema, sin
necesidad de aumentar la frecuencia de reloj. Se presenta en módulos DIMM
de 184 contactos en el caso de ordenador de escritorio y en módulos de
144 contactos para los ordenadores portátiles. Los tipos disponibles
son:
- PC2100 o DDR 266: funciona a un máx de 133 MHz.
- PC2700 o DDR 333: funciona a un máx de 166 MHz.
- PC3200 o DDR 400: funciona a un máx de 200 MHz.
DDR2 SDRAM.
Las memorias DDR 2 son una mejora de las memorias DDR (Double Data Rate),
que permiten que los búferes de entrada/salida trabajen al doble de la
frecuencia del núcleo, permitiendo que durante cada ciclo de reloj se
realicen cuatro transferencias. Se presentan en módulos DIMM de 240 contactos. Los tipos disponibles son:
- PC2-4200 o DDR2-533: funciona a un máx de 533 MHz.
- PC2-5300 o DDR2-667: funciona a un máx de 667 MHz.
- PC2-6400 o DDR2-800: funciona a un máx de 800 MHz.
- PC2-8600 o DDR2-1066: funciona a un máx de 1066 MHz.
- PC2-9000 o DDR2-1200: funciona a un máx de 1200 MHz
Módulos de memoria instalados de 256 MiB cada uno en un sistema con doble canal.
DDR3 SDRAM.
Las memorias DDR 3 son una mejora de las memorias DDR 2, proporcionan
significantes mejoras en el rendimiento en niveles de bajo voltaje, lo
que lleva consigo una disminución del gasto global de consumo. Los
módulos DIMM
DDR 3 tienen 240 pines, el mismo número que DDR 2; sin embargo, los
DIMMs son físicamente incompatibles, debido a una ubicación diferente de
la muesca. Los tipos disponibles son:
- PC3-8600 o DDR3-1066: funciona a un máx de 1066 MHz.
- PC3-10600 o DDR3-1333: funciona a un máx de 1333 MHz.
- PC3-12800 o DDR3-1600: funciona a un máx de 1600 MHz.
Módulos de la memoria RAM.
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 de Circuito 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.
La conexión con los demás componentes se realiza por medio de un área
de pines en uno de los filos del circuito impreso, que permiten que el
modulo al ser instalado en un zócalo apropiado de la placa base, tenga
buen contacto eléctrico con los controladores de memoria y las fuentes
de alimentación. Los primeros módulos comerciales de memoria eran SIPP
de formato propietario, es decir no había un estándar entre distintas
marcas. Otros módulos propietarios bastante conocidos fueron los RIMM, ideados por la empresa RAMBUS.
La necesidad de hacer intercambiable los módulos y de utilizar
integrados de distintos fabricantes condujo al establecimiento de
estándares de la industria como los JEDEC.
- 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.
Formato SO-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 en cuanto a velocidad. Los módulos de memoria se
conectan eléctricamente a un controlador de memoria
que gestiona las señales entrantes y salientes de los integrados DRAM.
Las señales son de tres tipos: direccionamiento, datos y señales de
control. En el módulo de memoria esas señales están divididas en dos
buses y un conjunto misceláneo de líneas de control y alimentación,
Entre todas forman el bus de memoria que conecta la RAM con su controlador:
- Bus de datos: Son las líneas que llevan información entre los integrados y el controlador. Por lo general están agrupados en octetos siendo de 8,16,32 y 64 bits, cantidad que debe igualar el ancho del bus de datos del procesador. En el pasado, algunos formatos de modulo, no tenían un ancho de bus igual al del procesador.En ese caso había que montar módulos en pares o en situaciones extremas, de a 4 módulos, para completar lo que se denominaba banco de memoria, de otro modo el sistema no funciona. Esa fue la principal razón para aumentar el número de pines en los módulos, igualando al ancho de bus de procesadores como el Pentium a 64 bits, a principios de los 90.
- Bus de direcciones: Es un bus en el cual se colocan las direcciones de memoria a las que se requiere acceder. No es igual al bus de direcciones del resto del sistema, ya que está multiplexado de manera que la dirección se envía en dos etapas.Para ello el controlador realiza temporizaciones y usa las líneas de control. En cada estándar de módulo se establece un tamaño máximo en bits de este bus, estableciendo un límite teórico de la capacidad máxima por módulo.
- Señales misceláneas: Entre las que están las de la alimentación (Vdd, Vss) que se encargan de entregar potencia a los integrados. Están las líneas de comunicación para el integrado de presencia que sirve para identificar cada módulo. Están las líneas de control entre las que se encuentran las llamadas RAS (row address strobe) y CAS (column address strobe) que controlan el bus de direcciones, por ultimo estan las señales de reloj en las memorias sincrónicas SDRAM.
Algunos controladores de memoria en sistemas como PC y servidores se encuentran embebidos en el llamado "North Bridge" o "Puente Norte" de la placa base. Otros sistemas incluyen el controlador dentro del mismo procesador (en el caso de los procesadores desde AMD Athlon 64 e Intel Core i7
y posteriores). En la mayoría de los casos el tipo de memoria que puede
manejar el sistema está limitado por los sockets para RAM instalados en
la placa base, a pesar que los controladores de memoria en muchos casos
son capaces de conectarse con tecnologías de memoria distintas.
Una característica especial de algunos controladores de memoria, es el manejo de la tecnología canal doble (Dual Channel),
donde el controlador maneja bancos de memoria de 128 bits, siendo capaz
de entregar los datos de manera intercalada, optando por uno u otro
canal, reduciendo las latencias vistas por el procesador. La mejora en
el desempeño es variable y depende de la configuración y uso del equipo.
Esta característica ha promovido la modificación de los controladores
de memoria, resultando en la aparición de nuevos chipsets (la serie 865 y
875 de Intel) o de nuevos zócalos de procesador en los AMD (el 939 con
canal doble , reemplazo el 754 de canal sencillo). Los equipos de gama
media y alta por lo general se fabrican basados en chipsets o zócalos que soportan doble canal o superior.
Diagrama de la arquitectura de un ordenador.
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.
Memoria RAM registrada.
Es un tipo de módulo usado frecuentemente en servidores, posee
circuitos integrados que se encargan de repetir las señales de control y
direcciones: las señales de reloj son reconstruidas con ayuda del PLL
que está ubicado en el módulo mismo. Las señales de datos se conectan de
la misma forma que en los módulos no registrados: de manera directa
entre los integrados de memoria y el controlador. Los sistemas con
memoria registrada permiten conectar más módulos de memoria y de una
capacidad más alta, sin que haya perturbaciones en las señales del
controlador de memoria, permitiendo el manejo de grandes cantidades de
memoria RAM. Entre las desventajas de los sistemas de memoria registrada
están el hecho de que se agrega un ciclo de retardo para cada solicitud
de acceso a una posición no consecutiva y un precio más alto que los
módulos no registrados. La memoria registrada es incompatible con los
controladores de memoria que no soportan el modo registrado, a pesar de
que se pueden instalar físicamente en el zócalo. Se pueden reconocer
visualmente porque tienen un integrado mediano, cerca del centro
geométrico del circuito impreso, además de que estos módulos suelen ser
algo más altos.
Durante el año 2006 varias marcas lanzaron al mercado sistemas con memoria FB-DIMM
que en su momento se pensaron como los sucesores de la memoria
registrada, pero se abandono esa tecnología en 2007 dado que ofrecía
pocas ventajas sobre el diseño tradicional de memoria registrada y los
nuevos modelos con memoria DDR3.
Reflexión.
La RAM se trata de una memoria de
semiconductor en la que se puede tanto leer como escribir información. Se
utiliza normalmente como memoria temporal para almacenar resultados intermedios
y datos similares no permanentes. Se dicen "de acceso aleatorio" o
"de acceso directo" porque los diferentes accesos son independientes
entre sí (no obstante, el resto de memorias ROM, ROM borrables y Flash, también
son de acceso aleatorio). Por ejemplo, si un disco rígido debe hacer dos accesos
consecutivos a sectores alejados físicamente entre sí, se pierde un tiempo en
mover la cabeza lecto-grabadora hasta la pista deseada (o esperar que el sector
pase por debajo, si ambos están en la misma pista), tiempo que no se pierde en
la RAM. Sin embargo, las memorias que se encuentran en la computadora, son
volátiles, es decir, pierde su contenido al desconectar la energía eléctrica;
pero hay memorias (como la memoria RAM flash), que no lo son porque almacenan
datos, físicamente, 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 (mucho) más rápida, y que se borra al apagar el ordenador.
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 (mucho) más rápida, y que se borra al apagar el ordenador.








No hay comentarios:
Publicar un comentario