viernes, 11 de febrero de 2011

Memoria RAM

La memoria principal o RAM (Random Access Memory, Memoria de Acceso Aleatorio) es donde el computador guarda los datos que está utilizando en el momento presente. El almacenamiento es considerado temporal por que los datos y programas permanecen en ella mientras que la computadora este encendida o no sea reiniciada.

Se le llama RAM por que es posible acceder a cualquier ubicación de ella aleatoria y rápidamente

Físicamente, están constituidas por un conjunto de chips o módulos de chips normalmente conectados a la tarjeta madre. 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 más rápida, y que se borra al apagar el computador, no como los Disquetes o discos duros en donde la información permanece grabada.

TERMINOS TÉCNICOS

Latencia: Se denominan latencias de una memoria RAM a los diferentes retardos producidos en el acceso a los distintos componentes de esta última. Estos retardos influyen en el tiempo de acceso de la memoria por parte de la CPU, el cual se mide en nanosegundos (10-9 s) .

Resulta de particular interés en el mundo del overclocking el poder ajustar estos valores de manera de obtener el menor tiempo de acceso posible.

Tiempo de Acceso: El tiempo que tarda la memoria en proporcionar el dato, es la suma de las tres latencias: ACTIVE, RAS y CAS.

Como se comenta anteriormente, antes de enviar el dato/instrucción a donde deba ir, se deben leer varias celdas de memoria, por lo tanto hay que pasar de una celda a otra, e ir esperando su correspondiente latencia CAS.

Si cada tablero tiene, por ejemplo 64 celdas, y se van a leer 20 posiciones, las latencias totales a esperar son:

    * 1 X ACTIVE (ya que se leen menos de 64 celdas, que son las que tiene el tablero completo)
    * 3 X RAS (ya que cada fila tiene 8 posiciones)
    * 20 X CAS (ya que se van a leer 20 celdas)

La latencia más importante, como queda patente, es la latencia CAS, y cuanto menor sea esta, mejor rendimiento tendrá el ordenador en general.

Buffer de Datos: En informática es un espacio de memoria, en el que se almacenan datos para evitar que el programa o recurso que los requiere, ya sea hardware o software, se quede en algún momento sin datos.

El concepto del buffer es similar al de caché. Pero en el caso del buffer, los datos que se introducen siempre van a ser utilizados. En la caché sin embargo, no hay seguridad, sino una mayor probabilidad de utilización.

Paridad: Consisten en añadir a cualquiera de los tipos anteriores un chip que realiza una operación con los datos cuando entran en el chip y otra cuando salen. Si el resultado ha variado, se ha producido un error y los datos ya no son fiables. 
Dicho así, parece una ventaja; sin embargo, el ordenador sólo avisa de que el error se ha producido, no lo corrige. Es más, estos errores son tan improbables que la mayor parte de los chips no los sufren jamás aunque estén funcionando durante años; por ello, hace años que todas las memorias se fabrican sin paridad.

ESTRUCTURA FÍSICA DE LA MEMORIA

 
La memoria está compuesta por un determinado número de celdas, capaces de almacenar un dato o una instrucción y colocadas en forma de tablero de ajedrez. En lugar de tener 64 posibles posiciones donde colocar piezas, tienen n posiciones. No solo existe un "tablero" sino que existen varios, de esta forma la estructura queda en forma de tablero de ajedrez tridimensional .




¿POR QUE ES VOLATIL Y ALEATORIA?

Originalmente también se les solía denominar memorias aleatorias (de ahí RAM o Random Access Memory, memorias de acceso aleatorio). Aunque este nombre no le es el más apropiado ya que hoy en día todas las memorias en PC, sean volátiles o no como por ejemplo los discos duros, disquetes y demás dispositivos de almacenamiento disponen de un sistema de acceso al dato aleatorio, ya que en caso de disponer de un sistema de acceso secuencial éste tardaría mucho en cargar datos.

ALMACENAMIENTO DE INFORMACIÓN EN UNA MEMORIA RAM

Cuando las aplicaciones se ejecutan, primeramente deben ser cargadas enmemoria RAM. El procesador entonces efectúa accesos a dicha memoria para cargar instrucciones y enviar o recoger datos. Reducir el tiempo necesario para acceder a la
memoria, ayuda a mejorar las prestaciones del sistema. La diferencia entre la RAM yotros tipos de memoria de almacenamiento, como los disquetes o discos duros, es que laRAM es mucho más rápida, y se borra al apagar el ordenador.

Es una memoria dinámica, lo que indica la necesidad de “recordar” los datos ala memoria cada pequeños periodos de tiempo, para impedir que esta pierda lainformación. Eso se llama Refresco. Cuando se pierde la alimentación, la memoria pierde todos los datos. “Random Access”, acceso aleatorio, indica que cada posición de memoria puede ser leída o escrita en cualquier orden. Lo contrario seria el accesosecuencial, en el cual los datos tienen que ser leídos o escritos en un orden predeterminado.

Las memorias poseen la ventaja de contar con una mayor velocidad, mayor capacidad de almacenamiento y un menor consumo. En contra partida presentan el CPU, Memoria y Disco Duro.
Los datos de instrucciones cuando se carga un programa, se carga en memoria. (DMA)

El inconveniente es de que precisan una electrónica especial para su utilización, la función de esta electrónica es generar el refresco de la memoria. La necesidad de los refrescos de las memorias dinámicas se debe al funcionamiento de las mismas, ya que este se basa en generar durante un tiempo la información que contiene. Transcurrido este lapso, la señal que contenía la célula biestable se va perdiendo. Para que no ocurra esta perdida, es necesario que antes que transcurra el tiempo máximo que la memoria puede mantener la señal se realice una lectura del valor que tiene y se recargue la misma.
Es preciso considerar que a cada bit de la memoria le corresponde un pequeño condensador al que le aplicamos una pequeña carga eléctrica y que mantienen durante un tiempo en función de la constante de descarga. Generalmente el refresco de memoria se realiza cíclicamente y cuando esta trabajando el DMA. El refresco de la memoria en modo normal esta a cargo del controlador del canal que también cumple la función de optimizar el tiempo requerido para la operación del refresco.

Posiblemente, en más de una ocasión en el ordenador aparecen errores de en la memoria debido a que las memorias que se están utilizando son de una velocidad inadecuada que se descargan antes de poder ser refrescadas.
Las posiciones de memoria están organizadas en filas y en columnas. Cuando se quiere acceder a la RAM se debe empezar especificando la fila, después la columna y por último se debe indicar si deseamos escribir o leer en esa posición. En ese momento la RAM coloca los datos de esa posición en la salida, si el acceso es de lectura o coge los datos y los almacena en la posición seleccionada, si el acceso es de escritura.

La cantidad de memoria Ram de nuestro sistema afecta notablemente a las prestaciones, fundamentalmente cuando se emplean sistemas operativos actuales. En general, y sobretodo cuando se ejecutan múltiples aplicaciones, puede que la demanda de memoria sea superior a la realmente existente, con lo que el sistema operativo fuerza al procesador a simular dicha memoria con el disco duro (memoria virtual). Una buena inversión para aumentar las prestaciones será por tanto poner la mayor cantidad de RAM posible, con lo que minimizaremos los accesos al disco duro.

Los sistemas avanzados emplean RAM entrelazada, que reduce los tiempos de acceso mediante la segmentación de la memoria del sistema en dos bancos coordinados. Durante una solicitud particular, un banco suministra la información al procesador, mientras que el otro prepara datos para el siguiente ciclo; en el siguiente acceso, se intercambian los papeles.
Los módulos habituales que se encuentran en el mercado, tienen unos tiempos de acceso de 60 y 70 ns (aquellos de tiempos superiores deben ser desechados por lentos).

Es conveniente que todos los bancos de memoria estén constituidos por módulos con el mismo tiempo de acceso y a ser posible de 60 ns.
Hay que tener en cuenta que el bus de datos del procesador debe coincidir con el de la memoria, y en el caso de que no sea así, esta se organizará en bancos, habiendo de tener cada banco la cantidad necesaria de módulos hasta llegar al ancho buscado. Por tanto, el ordenador sólo trabaja con bancos completos, y éstos sólo pueden componerse de módulos del mismo tipo y capacidad. Como existen restricciones a la hora de colocar los módulos, hay que tener en cuenta que no siempre podemos alcanzar todas las configuraciones de memoria. Tenemos que rellenar siempre el banco primero y después el banco número dos, pero siempre rellenando los dos zócalos de cada banco (en el caso de que tengamos dos) con el mismo tipo de memoria. Combinando diferentes tamaños en cada banco podremos poner la cantidad de memoria que deseemos.

TIPOS DE MEMORIA: SINCRÓNICA Y ASINCRÓNICA

Sincronicas

- 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.

Asincronicas

Existen diversas implementaciones de ram síncrona a ráfagas (synchronous burst SRAM) que las hacen superiores a las ram asincronas empleadas en sistemas caché. Esto se debe a diversos factores:
- Sincronización con el reloj del sistema: Significa que todos los flancos de las señales se activan con el reloj del sistema. Con eso se logra incrementar las velocidades de conmutación y respuesta además de simplificar notablemente los diseños de las placas.

- Ráfagas: La ram síncrona, junto a unos pequeños circuitos lógicos, permiten trabajar a altas velocidades cuando se trata de solicitudes de datos contiguos en memoria. La lectura de cuatro direcciones consecutivas en modo ráfaga tiene la complicación de ser entrelazada en sistemas Pc mientras que en sistemas PowerPc es lineal lo que hace los módulos de un sistema incompatibles con otros.

- Pipelining: Con el uso de registros de entrada y salida se logran técnicas de pipelining, lo que se traduce un menores tiempos de carga al permitir solapar peticiones de datos mientras se sirven datos al sistema.
Con todo lo anterior logramos accesos secuenciales a memoria a velocidades altas. A esto hay que añadir que la actual sram asíncrona funciona a 3.3 voltios y accesos de 15 nanosegundos, mientras que la ram síncrona puede llegar a funcionar con accesos de 6 nanosegundos cuando se decidan los fabricantes a implementarla a 3.3 voltios.

El propósito de la caché L2 es permitir al microprocesador ejecutar código lo mas rápido posible ya que en numerosas ocasiones se producen estados de espera hasta que los datos fluyen desde la memoria. A la hora de decir el tipo y tamaño de la caché se analiza el número de accesos a caché por cada ciclo durante una ráfaga. Cuando se accede a la caché por ráfagas, el primer dato tarda dos ciclos de reloj en estar disponible, para el segundo, tercer y cuarto dato solamente requieren un ciclo (un ciclo por dato: 2-1-1-1), con lo que no hay estados de espera para ésta secuencia, pero tiene el problema de que la memoria es cara y se requiere numerosa circuitería extra que complica el diseño.

La siguiente tabla muestra la capacidad de los diversas capacidades de los diferentes módulos de memoria síncrona. Los números indican el típico tiempo, en ciclos máquina, de acceso a 4 datos consecutivos en memoria.

33 50 60 66 75 83 100 125

Ram asíncrona 2-1-1-1 3-2-2-2- 3-2-2-2 3-2-2-2 3-2-2-2 3-2-2-2 3-2-2-2 3-2-2-2
Ram síncrona a ráfagas 2-1-1-1 2-1-1-1 2-1-1-1 3-2-2-2 3-2-2-2 3-2-2-2 3-2-2-2 3-2-2-2

MÓDULOS DE MEMORIA

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.

MÓDULOS DE MEMORIA RAM PARA PORTÁTILES

Los tipos de memoria actual son DDR, DDR2 y DDR3; y las velocidades están expresadas en MHz, en general van de 400 MHz, hasta 1333 MHz, es el caso de las memoria de tipo DDR3.

No hay comentarios:

Publicar un comentario