viernes, 10 de octubre de 2008

bus de memoria

Tipos de memoria de acceso aleatorio
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
Funcionamiento de la memoria de acceso aleatorio
La memoria de acceso aleatorio consta de cientos de miles de pequeños capacitadores que almacenan cargas. Al cargarse, el estado lógico del capacitador es igual a 1; en el caso contrario, es igual a 0, lo que implica que cada capacitador representa un bit de memoria.

Teniendo en cuenta que se descargan, los capacitadores deben cargarse constantemente (el término exacto es actualizar) a intervalos regulares, lo que se denomina ciclo de actualización. Las memorias DRAM, por ejemplo, requieren ciclos de actualización de unos 15 nanosegundos (ns).

Cada capacitador está acoplado a un transistor (tipo MOS), lo cual posibilita la "recuperación" o modificación del estado del capacitador. Estos transistores están dispuestos en forma de tabla (matriz), de modo que se accede a la caja de memoria (también llamada punto de memoria) mediante una línea y una columna.



Cada punto de memoria se caracteriza así por una dirección que corresponde a su vez a un número de fila y a un número de columna. Este acceso no es instantáneo; el período de tiempo que lleva se denomina tiempo de latencia. En consecuencia, el tiempo necesario para acceder a la información en la memoria es igual al tiempo del ciclo más el tiempo de latencia.

De este modo, en el caso de la memoria DRAM, por ejemplo, el tiempo de acceso es de 60 nanosegundos (35 ns del tiempo del ciclo más 25 ns del tiempo de latencia). En el ordenador, el tiempo del ciclo corresponde al opuesto de la frecuencia de reloj; por ejemplo, en un ordenador con una frecuencia de 200 MHz, el tiempo del ciclo es de 5 ns (1/200*106).

En consecuencia, en un ordenador con alta frecuencia, que utiliza memorias con un tiempo de acceso mucho más prolongado que el tiempo del ciclo del procesador, se deben producir estados de espera para que se permita el acceso a la memoria. En el caso de un ordenador con una frecuencia de 200 MHz que utiliza memorias DRAM (y con un tiempo de acceso de 60 ns), se generan 11 estados de espera para un ciclo de transferencia. El rendimiento del ordenador disminuye a medida que aumenta el número de estados de espera, por lo que es recomendable implementar el uso de memorias más rápidas.

Formatos de módulos RAM
Existen diferentes tipos de memoria de acceso aleatorio. Estas se presentan en forma de módulos de memoria que pueden conectarse a la placa madre.

Las primeras memorias fueron chips denominados DIP (Paquete en Línea Doble). Hoy en día, las memorias por lo general se suministran en forma de módulos, es decir, tarjetas que se colocan en conectores designados para tal fin. En términos generales, existen tres tipos de módulos RAM:

módulos en formato SIMM (Módulo de Memoria en Línea Simple): se trata de placas de circuito impresas, con uno de sus lados equipado con chips de memoria. Existen dos tipos de módulos SIMM, según el número de conectores:
Los módulos SIMM con 30 conectores (de 89x13mm) son memorias de 8 bits que se instalaban en los PC de primera generación (286, 386).


Los módulos SIMM con 72 conectores (sus dimensiones son 108x25mm) son memorias capaces de almacenar 32 bits de información en forma simultánea. Estas memorias se encuentran en los PC que van desde el 386DX hasta los primeros Pentiums. En el caso de estos últimos, el procesador funciona con un bus de información de 64 bits, razón por la cual, estos ordenadores necesitan estar equipados con dos módulos SIMM. Los módulos de 30 clavijas no pueden instalarse en posiciones de 72 conectores, ya que la muesca (ubicada en la parte central de los conectores) imposibilitaría la conexión.


Los módulos en formato DIMM (Módulo de Memoria en Línea Doble), son memorias de 64 bits, lo cual explica por qué no necesitan emparejamiento. Los módulos DIMM poseen chips de memoria en ambos lados de la placa de circuito impresa, y poseen a la vez, 84 conectores de cada lado, lo cual suma un total de 168 clavijas. Además de ser de mayores dimensiones que los módulos SIMM (130x25mm), estos módulos poseen una segunda muesca que evita confusiones.
Cabe observar que los conectores DIMM han sido mejorados para facilitar su inserción, gracias a las palancas ubicadas a ambos lados de cada conector.

También existen módulos más pequeños, conocidos como SO DIMM (DIMM de contorno pequeño), diseñados para ordenadores portátiles. Los módulos SO DIMM sólo cuentan con 144 clavijas en el caso de las memorias de 64 bits, y con 77 clavijas en el caso de las memorias de 32 bits.

Los módulos en formato RIMM (Módulo de Memoria en Línea Rambus, también conocido como RD-RAM o DRD-RAM) son memorias de 64 bits desarrolladas por la empresa Rambus. Poseen 184 clavijas. Dichos módulos poseen dos muescas de posición, con el fin de evitar el riesgo de confusión con módulos previos.
Dada la alta velocidad de transferencia de que disponen, los módulos RIMM poseen una película térmica cuyo rol es el mejorar la transferencia de calor.

Al igual que con los módulos DIMM, también existen módulos más pequeños, conocidos como SO RIMM (RIMM de contorno pequeño), diseñados para ordenadores portátiles. Los módulos SO RIMM poseen sólo 160 clavijas.

DRAM PMLa DRAM (RAM Dinámica) es el tipo de memoria más común en estos tiempos. Se trata de una memoria cuyos transistores se disponen en forma de matriz, en forma de filas y columnas. Un transistor, acoplado con un capacitador, proporciona información en forma de bits. Dado que un octeto contiene 8 bits, un módulo de memoria DRAM de 256 Mo contendrá por lo tanto 256 * 2^10 * 2^10 = 256 * 1024 * 1024 = 268.435.456 octetos = 268.435.456 * 8 = 2.147.483.648 bits = 2.147.483.648 transistores. De esta manera, un módulo de 256 Mo posee una capacidad de 268.435.456 octetos, o 268 Mo. Los tiempos de acceso de estas memorias son de 60 ns.

Además, el acceso a la memoria en general se relaciona con la información almacenada consecutivamente en la memoria. De esta manera, el modo de ráfaga permite el acceso a las tres partes de información que siguen a la primera parte, sin tiempo de latencia adicional. De este modo, el tiempo necesario para acceder a la primera parte de la información es igual al tiempo del ciclo más el tiempo de latencia, mientras que el tiempo necesario para acceder a las otras tres partes de la información sólo es igual al tiempo de ciclo; los cuatro tiempos de acceso se expresan, entonces, en la forma X-Y-Y-Y. Por ejemplo, 5-3-3-3 indica que la memoria necesita 5 ciclos del reloj para acceder a la primera parte de la información, y 3 para acceder a las subsiguientes.

DRAM FPMPara acelerar el acceso a la DRAM, existe una técnica, conocida como paginación, que permite acceder a la información ubicada en una misma columna, modificando únicamente la dirección en la fila, y evitando de esta manera, la repetición del número de columna entre lecturas por fila. Este proceso se conoce como DRAM FPM (Memoria en Modo Paginado). El FPM alcanza tiempos de acceso de unos 70 u 80 nanosegundos, en el caso de frecuencias de funcionamiento de entre 25 y 33 Mhz.

DRAM EDOLa DRAM EDO (Salida de Información Mejorada, a veces denominada "híper- página") se introdujo en 1995. La técnica utilizada en este tipo de memoria implica direccionar la columna siguiente mientras paralelamente se está leyendo la información de una columna anterior. De esta manera, se crea un acceso superpuesto que permite ahorrar tiempo en cada ciclo. El tiempo de acceso de la memoria EDO es de 50 a 60 nanosegundos, en el caso de una frecuencia de funcionamiento de entre 33 y 66 Mhz.

De modo que la RAM EDO, cuando se utiliza en modo ráfaga, alcanza ciclos 5-2-2-2, lo cual representa una ganancia de 4 ciclos al acceder a 4 partes de información. Dado que la memoria EDO no funcionaba con frecuencias mayores a 66 Mhz, se suspendió su uso en favor de la SDRAM.

SDRAMLa SDRAM (DRAM Sincrónica), introducida en 1997, permite la lectura de la información sincronizada con el bus de la placa madre, a diferencia de lo que ocurre con las memorias EDO y FPM (conocidas como asincrónicas), las cuales poseen reloj propio. La SDRAM elimina de esta manera, los tiempos de espera ocasionados por la sincronización con la placa madre. Gracias a esto se logra un ciclo de modo ráfaga de 5-1-1-1, con una ganancia de 3 ciclos en comparación con la RAM EDO. La SDRAM puede, entonces, funcionar con una frecuencia mayor a 150 MHz, logrando tiempos de acceso de unos 10 ns.

DR-SDRAM (Rambus DRAM)La DR-SDRAM (DRAM Directa de Rambus), es un tipo de memoria que permite la transferencia de datos a un bus de 16 bits y a una frecuencia de 800 Mhs, lo que proporciona un ancho de banda de 1,6 GB/s. Al igual que la SDRAM, este tipo de memoria está sincronizada con el reloj del bus, a fin de mejorar el intercambio de información. Sin embargo, la memoria RAMBUS es un producto de tecnología patentada, lo que implica que cualquier empresa que desee producir módulos RAM que utilicen esta tecnología deberá abonar regalías, tanto a RAMBUS como a Intel.

DDR-SDRAM La DDR-SDRAM (SDRAM de Tasa Doble de Transferencia de Datos) es una memoria basada en la tecnología SDRAM, que permite duplicar la tasa de transferencia alcanzada por ésta utilizando la misma frecuencia.

La información se lee o ingresa en la memoria al igual que un reloj. Las memorias DRAM estándares utilizan un método conocido como SDR (Tasa Simple de Transferencia de Datos), que implica la lectura o escritura de información en cada borde de entrada.



La DDR permite duplicar la frecuencia de lectura/escritura con un reloj a la misma frecuencia, enviando información a cada borde de entrada y a cada borde posterior.



Las memorias DDR por lo general poseen una marca, tal como PCXXXX, en la que "XXXX" representa la velocidad en MB/s.

DDR2-SDRAM Las memorias DDR2 (o DDR-II) alcanzan velocidades dos veces superiores a las memorias DDR con la misma frecuencia externa.

El acrónimo QDR (Tasa Cuádruple de Transferencia de Datos o con Quad-pump) designa el método de lectura y escritura utilizado. De hecho, la memoria DDR2 utiliza dos canales separados para los procesos de lectura y escritura, con lo cual es capaz de enviar o recibir el doble de información que la DDR.



La DDR2 también posee más conectores que la DDR clásica (la DDR2 tiene 240, en comparación con los 184 de la DDR).

cuadro de resumenEl siguiente cuadro muestra la equivalencia entre la frecuencia de la placa madre (FSB), la frecuencia de la memoria (RAM) y su velocidad:

Memoria Nombre Frecuencia (RAM) Frecuencia (RAM) Velocidad
DDR200 PC1600 200 MHz 100 MHz 1,6 GB/s
DDR266 PC2100 266 MHz 133 MHz 2,1 s
DDR333 PC2700 333 MHz 166 MHz 2,7 s
DDR400 PC3200 400 MHz 200 MHz 3,2 s
DDR433 PC3500 433 MHz 217 MHz 3,5 s
DDR466 PC3700 466 MHz 233 MHz 3,7 s
DDR500 PC4000 500 MHz 250 MHz 4 s
DDR533 PC4200 533 MHz 266 MHz 4,2 s
DDR538 PC4300 538 MHz 269 MHz 4,3 s
DDR550 PC4400 550 MHz 275 MHz 4,4 s
DDR2-400 PC2-3200 400 MHz 100 MHz 3,2 s
DDR2-533 PC2-4300 533 MHz 133 MHz 4,3 s
DDR2-667 PC2-5300 667 MHz 167 MHz 5,3 s
DDR2-675 PC2-5400 675 MHz 172,5 MHz 5,4 s
DDR2-800 PC2-6400 800 MHz 200 MHz 6,4 s


Sincronización (tiempos)
No es poco común ver valores como "3-2-2-2" ó "2-3-3-2" para describir los parámetros de la memoria de acceso aleatorio. Esta sucesión de cuatro cifras describe la sincronización de la memoria (tiempo); es decir, la secuencia de ciclos de reloj necesaria para acceder a la información almacenada en la RAM. Las cuatro cifras corresponden, en orden, a los siguientes valores:

demora de CAS o latencia de CAS (CAS significa Señalizador de Direccionamiento en Columna): es el número de ciclos de reloj que transcurre entre el envío del comando de lectura y la llegada de la información. En otras palabras, es el tiempo necesario para acceder a una columna.
Tiempo de precarga de RAS (conocido como tRP; RAS significa Señalizador de Direccionamiento en Fila): es el número de ciclos de reloj transcurridos entre dos instrucciones de RAS, es decir, entre dos accesos a una fila.
demora de RAS a CAS (a veces llamada tRCD): es el número de ciclos de reloj correspondiente al tiempo de acceso de una fila a una columna.
tiempo activo de RAS (a veces denominado tRAS): es el número de ciclos de reloj correspondiente al tiempo de acceso a una columna.
Las tarjetas de memoria están equipadas con un dispositivo llamado SPD (Detección de Presencia en Serie), el cual permite al BIOS averiguar los valores de ajuste nominales definidos por el fabricante. Se trata de una EEPROM, cuya información puede cargarse en el BIOS si el usuario elige el ajuste "auto".

Corrección de errores
Algunas memorias poseen mecanismos de corrección de errores, con el fin de garantizar la integridad de la información que contienen. Este tipo de memoria se utiliza por lo general en sistemas que trabajan con información esencial, motivo por el cual este tipo de memoria se encuentra en servidores.

Bit de paridadLos módulos con bits de paridad garantizan que los datos contenidos en la memoria sean los necesarios. Para obtener esto, uno de los bits de cada octeto almacenado en la memoria se utiliza para almacenar la suma de los bits de datos.
El bit de paridad vale 1 cuando la suma de los bits de información arroja un número impar, y 0 en el caso contrario.

De este modo, los módulos con bit de paridad permiten la integración de los datos que se verificarán, aunque por otro lado, no prevén la corrección de errores. Además, de 9 Mo de memoria sólo 8 se emplearán para almacenar datos, dado que el último mega-octeto se utiliza para almacenar los bits de paridad.

Módulos ECCLos módulos de memoria ECC (Códigos de Corrección de Errores), disponen de varios bits dedicados a la corrección de errores (conocidos como bits de control). Dichos módulos, utilizados principalmente en servidores, permiten la detección y la corrección de errores.

Canal Doble
Algunos controladores de memoria disponen de un canal doble para la memoria. Los módulos de memoria se utilizan en pares con el fin de lograr un mayor ancho de banda y así poder utilizar al máximo la capacidad del sistema. Al utilizar el Canal Doble, resulta indispensable utilizar un par de módulos idénticos (de la misma frecuencia y capacidad, y, preferentemente, de la misma marca).

Recursos sobre el tema

No hay comentarios: