miércoles, 5 de junio de 2013

TRABAJO No. 5 - MEMORIA DDR1, DDR2 y DDR3



Memorias DDR, DDR2 y DDR3
Las memorias DDR (en todos sus variantes) están basadas en SDRAM (Synchronous Dynamic Random Access Memory o Memoria Dinámica de Acceso Aleatorio con una interfaz Sincrónica). Básicamente y hablando en español significa que estas memorias utilizan una señal sincrónica (clock signal) para transmitir los datos. También cumplen con la característica de que cualquier posición puede ser leída en cualquier momento aleatoriamente (de ahí la denominación de random access).
DDR son las iniciales de Double Data Rate, que se refiere a la capacidad de transmitir dos bloques de datos por cada pulso de reloj. De esta forma pueden transmitir el doble de información que una memoria SDRAM simple al mismo tiempo, doblando así el nivel de performance.
Debido a esta característica las memorias DDR son etiquetadas con el doble de la frecuencia de la señal a la que realmente operan. Tenemos por ejemplo las memorias DDR2-800 realmente trabajan a 400 Mhz, las DDR3- 1066 a 533 Mhz y así con todas las variantes.
Descripción: http://www.mediafire.com/imgbnc.php/60318089b7b93ec4afd5b3e03e6db3f7b3ca8698d5404a79ec5d96260f341c774g.jpgDescripción: http://www.mediafire.com/imgbnc.php/2409f9dbd3e1ef3d59b832daa2f7a5c23516384e9ab372740237fae514084b0a4g.jpg







En estos gráficos podemos observar simplificadamente como se transmiten dos bloques de datos por cada ciclo completo de la señal.
Es importante notar que estos clock rates son los máximos a los que el módulo de memoria puede trabajar. Esto no quiere decir que va a funcionar automáticamente a esta frecuencia. Pasamos a explicar para que quede más claro: si por ejemplo instalamos un modulo DDR2-1066 en un motherboard que solo soporta DDR hasta 800 Mhz o que esta erróneamente configurado desde el BIOS las memorias efectivamente van a trabajar a esa frecuencia y no a su máxima posible. Lo mismo ocurre al efectuar un overclock, forzando a las memorias a trabajar a una frecuencia mayor a la establecida por el fabricante y pudiendo lograr así mayor rendimiento.
Esto ocurre porque la señal de reloj (que define a que frecuencia van a funcionar las memorias y a qué velocidad se van a transmitir los datos) es generada por el controlador de memoria ubicado en el Chipset (northbridge) del mother o en el microprocesador dependiendo del sistema, o sea que no está determinado por el mismo modulo.

NOMENCLATURAS


Descripción: http://www.mediafire.com/imgbnc.php/1a93af618ac0755c796e2ea8946c9dc87bcf599896cb3b0ca9d47f2f033c31ff4g.jpg

La nomenclatura definida por DDRx – yyyy (donde x determina la generación de tecnología DDR utilizada e yyyy se refiere a la frecuencia DDR de trabajo) en teoría se utiliza para denominar a los chips de memoria. Los módulos de memoria (circuito integrado donde los chips van soldados) utilizan una nomenclatura diferente: PCx – zzzz (donde x también se refiere la generación de tecnología DDR utilizada y zzzz es la máxima tasa de transmisión de datos que en teoría se puede alcanzar - Maximum theoretical transfer rate).

Maximum theoretical transfer rate o Máxima tasa teórica de transferencia de datos: es un valor de referencia que determina la cantidad de bytes que pueden ser transmitidos por segundo entre el módulo de memoria y el controlador. Esta tasa depende de dos factores: La frecuencia de trabajo y el ancho del bus por el cual se transmiten los datos. En este caso siempre se utiliza un bus de 64 bits entre el módulo de memoria y el controlador. La cuenta es la siguiente: DDR frecuency * ancho del bus / 8. Actualmente se utilizan ambas nomenclaturas indistintamente. Por ejemplo tenemos un módulo DDR-400 o PC-3200 (400 * 64 / 8 = 3200 MB/s ). Otro ejemplo: DDR3- 1333 o PC3 – 10600. Acá dejo una cuadro de referencia muy útil.


Es importante comprender que estos valores máximos son totalmente teóricos y son rara vez alcanzados. Esto se debe a que para realizar estos cálculos matemáticos asumimos que la memoria y el controlador intercambian datos útiles constantemente sin interrupciones, cosa que en la práctica no ocurre así. El controlador de memoria y el modulo también intercambian comandos e instrucciones propias para el manejo de la información que no son necesariamente datos utilizables (por ejemplo instrucciones de lectura o escritura) y por lo tanto no deberían ser tenidos en cuenta para el cálculo.
Diferencias

Ahora nos vamos a meter un poco más y vamos a comenzar a hablar de las diferencias que podemos encontrar entre las diferentes generaciones de la tecnología DDR.

Velocidad

Obviamente una de las principales diferencias es la velocidad. Quizás hablando correctamente el término “velocidad” no es el más adecuado, sino que es más preciso hablar de “mayor volumen de datos transmitido por unidad de tiempo”. Podemos afirmar que con la evolución de DDR en DDR2 y posteriormente en DDR3 estos valores fueron creciendo posibilitando así que una mayor cantidad de información pueda ser transmitida en menos tiempo. Con el avance de la tecnología fue posible que los módulos trabajen a frecuencias mayores e incluso transmitan mayores cantidades de datos por pulso. (Hablaremos más profundamente de esto cuando toquemos el tema de latencias). Para comparar mejor las diferencias nos podemos remitir a la sección donde hablamos del “Maximum theoretical transfer rate” y a la tabla de referencia.

Voltajes

Los módulos de memoria DDR3 operan a voltajes menores que DDR2, quienes a su vez funcionan a voltajes menores que los módulos DDR. Esto también deriva en que la tecnología DDR3 consume menos energía que DDR2 y esta a su vez menos que DDR.
A continuación presentamos un cuadro donde podemos observar los voltajes típicos de cada tipo. Obsérvese que puede haber memorias que funcionen con voltajes más elevados (principalmente aquellas destinadas al overclocking).
Descripción: http://www.mediafire.com/imgbnc.php/5600d77205d8ce08ac7694d40d2603487fc8a77707f1c7890b02ac9f8d9193d14g.jpg





Latencias - RAM Timings
Bueno antes de comenzar a hablar de las conocidas latencias debemos mencionar que esta sea quizás una característica por la cual preocuparse a la hora de armar una PC de alto rendimiento (llámese high-end o gamer). Cabe aclarar que cuando hablamos de latencias nos referimos a tiempos en el orden de los nanosegundos (la mil millonésima parte de un segundo!). Con esto quiero decir que realmente no tiene mucho sentido preocuparse por las latencias si estamos frente a una PC hogareña o de oficina.

Arrancamos diciendo que dentro de las memorias de buena marca, trabajando a iguales frecuencias la característica distintiva y crucial en el rendimiento son las latencias. Debido a las latencias, dos memorias con una tasa de transferencia de datos idéntica pueden alcanzar performances distintas. Veamos cómo puede ser esto...
Las latencias en si son intervalos de tiempo que miden cuánto tarda el módulo de memoria en realizar alguna operación interna determinada. Para explicarnos mejor tomemos como ejemplo el parámetro más conocido llamado CAS Latency (también llamado CL o Access time). Esté valor nos indica cuantos ciclos de reloj demandará el módulo para entregar un dato peticionado por la CPU. Entonces una memoria con CL 4 demorará cuatro ciclos de reloj para recuperar un dato mientras que una con CL 3 demorara tres ciclos. Asumiendo que ambas trabajan a la misma frecuencia evidentemente el módulo con CL 3 será más rápido, porque le tomará menos tiempo realizar la operación y en consecuencia alcanzará una performance mayor.
Las latencias generalmente se presentan como una serie de números, por ejemplo 2-3-2-6-T1 o 3-4-4-8. Cada número de esta serie representa cuantos ciclos de reloj le tomara a la memoria realizar una operación determinada. Obviamente cada valor representa una operación distinta y siempre se presentan en el mismo orden. Cuanto menor sea el número más rápida será la memoria en ese aspecto.
Descripción: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5ykx1wdZfx_aQw4tZG-QeNdUW7lVF5gSUUGweii7dwdM_PA-fo1hsQs5786rIsCNacE2RC4FbpvpWp0AXDgVwptHdLzOQ22SuGS9YCOBbPKEr_qmgBGqlRohXC3Sat6k1P9hfNp2_F8gE/s400/memoria_RAM_8_por_8b.JPGVeamos que representa cada valor. El orden es el siguiente: CL-tRCD-tRP-tRAS-CMD. Para comprender debemos considerar el clásico modelo de la memoria como una matriz de filas y columnas. Un gráfico para facilitar la comprensión...







CL: CAS Latency. Es el tiempo que transcurre entre que el procesador hace la petición de cierto dato y la memoria lo entrega. Es la más común y a la que se refiere generalmente.

tRCD: RAS to CAS Delay. Es el tiempo que transcurre entre la activación de la línea (RAS) y la columna (CAS) donde el dato está alojado (recuerden el modelo de matriz de filas y columnas).
tRP: RAS Precharge. Es el tiempo que transcurre entre que se deshabilita el acceso a una línea de datos y comienza el acceso a una nueva línea.
tRAS: Active to Precharge Delay. Cuanto tiempo la memoria debe esperar hasta que el próximo acceso a la memoria pueda iniciarse.
CMD: Command Rate. El tiempo que transcurre entre que el chip de memoria es activado y el momento en el cual el primer comando ya puede ser enviado a la memoria. A veces este valor es omitido. En otras ocasiones puede aparecer como T1 (1 ciclo de reloj) o T2 (2 ciclos de reloj).
Generalmente se tienen dos opciones. Configurar el BIOS para que utilice las latencias que la memoria tiene por defecto (SPD o Auto) o configurarlos manualmente para usar latencias menores e intentar incrementar el rendimiento. No todas los motherboards permiten configurar las latencias manualmente y hacerlo en forma equivocada puede traer inestabilidad al sistema.
Cuando se le hace overclock a las memorias una posibilidad es incrementar el valor de las latencias para lograr que el sistema corra estable. Luego es posible elevar la frecuencia de las memorias con un mayor margen antes de alcanzar la inestabilidad. Esta técnica permite llevar el overclock un poco más lejos y mantenerlo estable. No esta demás decir que obviamente las memorias de marca y en especial aquellas destinadas al overclock tienen una mayor tolerancia y están preparadas para trabajar por encima de sus especificaciones.

CAS Latency (CL)
Como ya mencionamos anteriormente este es el parámetro más conocido a la hora de hablar de latencias. Nos indica cuantos ciclos de reloj demorara la memoria en entregar un dato previamente solicitado.
Teniendo dos memorias trabajando a la misma frecuencia de reloj pero con un valor de CL distinto quien tenga el menor valor será la memoria más rápida, ya que tendrá el dato listo para ser usado en un menor tiempo. Cabe aclarar que cuando hablamos de ciclos de reloj nos referimos a tiempos en el orden de los nanosegundos (la mil millonésima parte de un segundo!). Por esto reiteramos que preocuparse por las latencias solo tiene sentido en el armado de ordenadores de alta gama.
En el siguiente gráfico podemos apreciar como CL funciona. Se proporcionan dos ejemplos utilizando un modulo de CL 3 y otro de CL 5. El comando "read" en azul simboliza cuando se realiza la petición de lectura de un dato.
Descripción: http://www.mediafire.com/imgbnc.php/e16d01094cb977dc0c28ec761b71b28424b6ace80b1a0db8fea26457ce17dc7b4g.jpg

Podemos apreciar como la memoria de CL 3 responde a esa petición de lectura luego de tres ciclos completos mientras que la otra luego de 5 ciclos. Asumiendo que trabajan a la misma frecuencia el primer módulo, presenta un rendimiento un 40% mayor respecto del segundo.

Incluso profundizamos un poco más y podemos calcular el tiempo transcurrido hasta que la memoria tiene del dato listo. El periodo de cada ciclo de reloj puede calcularse fácilmente por la formula T = 1/f .
Tomemos como ejemplo un modulo DDR2-533 que trabaja realmente a 266 Mhz (es necesario usar el clock real que siempre es la mitad del efectivo). Aplicando la formula (1/f) obtenemos que el periodo es 3,75 ns (nanosegundos 1ns= 0.000000001 s). Entonces tenemos que esta memoria tardaría 18.75 ns (5 x 3.75) si fuera CL 5 o 11.25 ns (3 x 3.75) si fuera CL 3.


RAS to CAS Delay (tRCD)
Cada chip de memoria esta internamente organizado como una matriz. En la intersección de cada fila y columna tenemos un pequeño capacitor encargado de almacenar un dato (un 1 o un 0). Dentro de la memoria el proceso de acceder a los datos almacenados consiste en activar la fila y la columna donde el dato buscado se encuentra. Esta activación es realizada a través de dos señales de control llamadas RAS (Row Address Strobe) y CAS (Column Address Strobe). Cuanto menor tiempo transcurre entre estas señales es mejor, ya que el dato va a ser leído más rápidamente. RAS to CAS Delay (tRCD) mide este tiempo. A continuación podemos ver un gráfico de una memoria con tRCD 3.

Descripción: http://www.mediafire.com/imgbnc.php/9d4a9704ebe58e37fa89ff1c841c26bb0f27062fb95429f1c11553ac32056ace4g.jpg

Al igual que ocurre con el CAS, tRCD trabaja con el clock real de la memoria y cuanto más bajo sea mejor, ya que se va a comenzar a leer o escribir en la posición de memoria antes.

RAS Precharge (tRP)
Luego de que un dato es recuperado de la memoria un comando llamado Precharge necesita ser emitido, cerrando la fila que acaba de ser usada y permitiendo que una nueva esté disponible. RAS Precharge (tRP) es el tiempo que ocurre entre que el comando Precharge es emitido y el próximo comando para activar ("active" command) filas puede serlo. Como ya hemos dicho el active command comienza un ciclo de lectura o escritura.

Descripción: http://www.mediafire.com/imgbnc.php/343a2c91e8e435d3a66063b573b0598fb5d8b604581d1129a1a5c07f183cb9c74g.jpg

Resumiendo

Poniendo todo junto y para ir cerrando la idea podemos decir que el tiempo transcurrido entre que se emite el Precharge command (para cerrar la operación anterior y dejar listo para la siguiente) y finalmente obtener el nuevo dato pedido es tRP + tRCD + CL.


Comparando Latencias
Esta sección es bastante interesante ya que podremos fácilmente comparar distintos módulos para saber cual tiene un mayor rendimiento a la hora de elegir. Vayamos despacio para comprender bien...
Las memorias DDR3 tienen latencias mayores que las DDR2 quienes a su vez mayores que las DDR. Esto igualmente no quiere decir que sean más lentas, ya que solo sería válido comparando tecnologías idénticas y a la misma frecuencia. Acá podemos ver un cuadro con las latencias típicas de cada tecnología.
Descripción: http://www.mediafire.com/imgbnc.php/1ca51ece8500fe5a1a8e2395e3813aef420f1b318fad1c70a7bbf0b5f590b6f54g.jpg

Cuando comparamos módulos de memoria que trabajan a la misma frecuencia es simple comparar las latencias, ya que cuanto más bajas sean mejor. Ahora si estamos comparando módulos que operan a frecuencias distintas o incluso pertenecen a tecnologías distintas (DDR2 vs. DDR3) hay que hacer un poco de matemática para averiguar cual tendrá mayor rendimiento. Veamos...
Si tenemos por ejemplo un módulo DDR2-800 CL 5 sabemos que será más rápido que un módulo DDR3-800 CL 7. Esto es sencillo porque podemos comparar directamente las latencias debido al simple hecho que trabajan a la misma frecuencia (los periodos de las señales van a durar lo mismo). Hay que mencionar también que un módulo DDR3 consumiría menos energía que un DDR2.
Descripción: http://www.mediafire.com/imgbnc.php/38656b34d06dc4794554371a2e56c7540f238ebe90307ea9bc999e8191fe3b314g.jpgDescripción: http://www.mediafire.com/imgbnc.php/3569c361291b39dee5ee0c2993373341044dc66b9348adacc937b710535ec36c4g.jpgVeamos ahora el caso para frecuencias distintas. Recordemos que anteriormente vimos que el período de la señal puede calcularse fácilmente por 1 / frecuencia. Entonces es evidente deducir que cuanto mayor sea la frecuencia menor va a ser el periodo. Tomemos nuevamente una memoria DDR – 800, tenemos que cada ciclo de reloj (periodo) va a ser de 2,5 ns (recordar siempre usar el clock real de la señal 1/400 Mhz). Supongamos que esta memoria tiene CL 5. Entonces tenemos que demorará 12,5 ns en tener listo el dato. Ahora comparémosla con otro módulo DDR3-1333 CL 7. Aun teniendo una latencia mayor podemos ver que demorara 10,5 ns (1,5 x 7), alcanzando así un rendimiento mayor.
una memoria DDR3 con un valor de latencia mayor (7 vs. 5) alcanza una mayor performance. Podemos decir entonces que no podemos fijarnos únicamente por las latencias sino que también debemos considerar la frecuencia de trabajo para hacer una comparación seria.


Latencias....



Prefetch

cuál es la diferencia en el funcionamiento entre las tres tecnologías. Vamos a entender cómo se comportan externamente e internamente con un ejemplo bien claro.
Las memorias dinámicas almacenan datos en una matriz de pequeños capacitores. Los módulos DDR transfieren dos bits de datos por ciclo de reloj desde la matriz hasta el buffer de entrada/salida (I/O). Esto se conoce como 2-bit prefetch. En la tecnología DDR2 este bus fue duplicado a 4 bits y en DDR3 nuevamente incrementado a 8. Esto le permite a DDR3 trabajar a frecuencias más elevadas que DDR2, y está a mayores que DDR. Cuando generalmente hablamos de la frecuencia de trabajo nos referimos a la cual el modulo usa para comunicarse con el exterior (con el controlador de memoria). Ahora nos estamos metiendo dentro del módulo, como trabaja internamente que por cierto es un poco diferente en cada tecnología...
Para comprender mejor la idea imaginemos tres módulos, un DDR-400, un DDR2-400 y un DDR3-400 (sabemos que no existen pero imaginemos que si para entender el concepto). Estas tres memorias trabajan externamente a 200 Mhz transfiriendo dos bits de datos por ciclo de reloj, haciendo que el clock efectivo sea de 400 Mhz. Internamente la historia es distinta. El módulo DDR transfiere 2 bits de datos desde la matriz hasta el buffer de entrada/salida (pequeña porción de memoria que almacena los datos antes de ser enviados al procesador o almacenados). Para que todo sea armónico este bus interno debe trabajar también a 200 Mhz (2 bits por cada ciclo = 400 Mhz.). Como en DDR2 el bus interno es de 4 bits, puede trabajar a la mitad de la frecuencia y aun así alcanzar la misma performance. Entonces puede funcionar a 100 Mhz (4 bits por cada ciclo = 400 Mhz). Ocurre lo mismo nuevamente con DDR3 que tiene un bus de datos interno de 8 bits, permitiéndole trabajar a 50 Mhz (8 bits por cada ciclo = 400 Mhz). Acá un gráfico para aclarar todo...
Descripción: http://www.mediafire.com/imgbnc.php/ff306ec9a1fe2432599c94bb57f4e1d59081059b1d4ced0d9e5b94809b1579de4g.jpg

Al doblar el bus interno por el cual se transportan los datos dentro del módulo de memoria cada nueva generación de DDR puede doblar la máxima frecuencia alcanzada en la anterior. Tenemos por ejemplo que DDR-400, DDR2-800 y DDR3-1600 internamente trabajan a la misma frecuencia (200 Mhz).


Diferencias Físicas
Ahora nos vamos a centrar en las diferencias físicas que presentan los distintos módulos de memoria según la tecnología. Como dijimos y mostramos anteriormente un “módulo de memoria” es un circuito integrado que contiene los chips de memoria. Todos los módulos de una misma generación DDR presentan características físicas similares entre sí, pero son distintos a las otras generaciones (no son compatibles). Por ejemplo no es posible instalar un módulo DDR2 en un socket para DDR3. Hay pocas (muy pocas) motherboards que soportan por ejemplo DDR2 y DDR3 a la vez, generalmente si se quiere cambiar de tecnología habrá que cambiar la placa entera.
DDR tiene una conexión de 184 pines mientras que tanto DDR2 como DDR3 tienen 240 pines pero difieren físicamente por la posición una muesca ubicada en la parte inferior (key notch). Veamos unas imágenes para que quede más claro...

Descripción: http://www.mediafire.com/imgbnc.php/5e654283f7566260f1b427b361cd8cb4027f33a9ef86f2d607d4b874886282bd4g.jpg









Descripción: http://www.mediafire.com/imgbnc.php/a5399b844449da25f7870833f42d19f86f5d03b8084a2710ced9a6f2b32a3f664g.jpg







Todos los chips de los módulos DDR2 y DDR3 generalmente vienen empaquetados de una forma que se la conoce como BGA (Ball Grid Array) mientras que los chips DDR vienen en forma TSOP (Thin Small-Outline Package). Acá podemos ver como se ve cada uno...
TSOP (Thin Small-Outline Package)

Descripción: http://www.mediafire.com/imgbnc.php/ae64e3cb128ad95cb8c9d10805d7ef33848e085d6b169fb21055bfeb051711884g.jpg


BGA (Ball Grid Array) packaging

Descripción: http://www.mediafire.com/imgbnc.php/55d963c692e5c32cfccb179803e0ff541bf26eb55e91cc51c500b33a0ba3744c4g.jpg






Dual Channel

Introducción

La realidad es que la memoria RAM al ser mucho más lenta que el microprocesador evita que el sistema sea capaz de alcanzar la máxima performance posible. El procesador al ser notablemente más veloz tiene que “esperar” que la memoria le entregue datos, y durante este periodo el procesador se encuentra inactivo (idle – esto no es estrictamente así pero en los términos de explicación es válido). En un ordenador perfecto la memoria debería ser tan rápida como el CPU y todo funcionaria a la misma velocidad. Como los costos de las memorias aumentan con su velocidad (por decirlo de alguna manera) es prácticamente imposible que hoy en día existan memorias tan rápidas y de grandes capacidades. Para solucionar esta diferencia de “velocidades” se emplean diferentes técnicas como por ejemplo el uso de memoria cache en el microprocesador. Una de estas técnicas es conocida como dual channel y consiste en doblar el ancho de banda de la comunicación entre la memoria RAM y el controlador de memoria, subiendo así la velocidad al doble e incrementando notablemente el rendimiento.
Antes de empezar conozcamos un poco como se comunican los componentes del sistema. La memoria es controlada por un circuito llamado “memory controller”. El mismo puede encontrarse físicamente en dos lugares: en el chipset (más precisamente el en el northbridge o MCH) o actualmente se encuentra dentro del microprocesador.
Descripción: http://www.mediafire.com/imgbnc.php/69badc33627d4406d022616666b8cd66c9a35df4e5fc450bd6b0adac9a9f44e84g.jpgLa memoria se conecta con el controlador a través de lo que se conoce como “bus”, que es literalmente una serie de pistas de cobre a través de las cuales se transporta la información. Estas pistas se dividen en tres grupos: data bus, address bus y control bus. El bus de datos es el que efectivamente transporta los datos desde la memoria al controlador. El bus de direcciones es el que transporta la dirección (en qué posición de la matriz que conforma la memoria) se encuentra el dato a buscar o donde se va a escribir. Finalmente el bus de control transporta comandos que implican diferentes acciones (Ej. lectura, escritura, tipo de operación, etc). Uno de los aspectos más importantes del bus de control es el llamado “clock signal”, que determina a que frecuencia se van a comunicar ambos dispositivos. Aquí una figura explicativa basada en un sistema ya antiguo (nótese la presencia del chipset, ya mostramos que actualmente la memoria se comunica directamente con el microprocesador).










El tipo de tecnología aceptada va a depender del Chipset en caso de que el controlador de memoria se encuentre allí o del microprocesador (esto determina si el sistema usara DDR, DDR2 o DDR3). Lo mismo ocurre con la frecuencia de trabajo (clock signal), quien es generada por el controlador de memoria. Supongamos por ejemplo que nuestro chipset solo puede generar una señal de 667 Mhz como máximo, entonces si instaláramos memorias DDR2 – 800 funcionarían a una frecuencia menor en este sistema en particular. Esta es una limitación física impuesta por el memory controller.
Otro caso particular se da cuando se habla de la máxima memoria que el sistema puede reconocer. La cantidad que el microprocesador pueda direccionar dependerá del tamaño de su bus de direcciones (Ej. si es de 32 bits podrá direccionar hasta 4 GB si es de 36 hasta 16 GB). Pero como sabemos es el controlador de memoria quien va a acceder directamente a la misma por lo que nuevamente podemos tener limitaciones impuestas por el mismo. Por ejemplo Intel Chipsets p35 y G33 solamente podían acceder a 8 GB de RAM, limitando así la máxima potencialidad del microprocesador.
Como todas las memorias disponibles en la actualidad son dispositivos de 64 bits el bus de datos es de ese tamaño. Lo que logra la tecnología dual channel es doblar el bus a 128 bits.


¿QUÉ ES EL DUAL CHANNEL?
Es la habilidad de algunos controladores de memoria de expandir el bus de datos por el cual se comunican con el módulo de memoria de 64 bits a 128 bits. Asumiendo que todas las demás variables permanecen iguales (clock rate, latencias, etc) el volumen teórico de datos transmitidos por segundo aumenta al doble (ya vimos anteriormente como calcular este valor MTTR = real clock rate x data transferred per cycle x bits transferred per cycle / 8).

Vayamos a un ejemplo: si tenemos dos módulos DDR2-800 con dual channel activado y calculamos el MTTR tenemos que 800 MHz x 128 / 8 = 12800 MB/s, o sea el doble que si no tuviéramos esta tecnología. Nótese que esto ocurre porque se transmite un volumen doble de datos que antes (64 bits vs. 128 bits). Es muy importante remarcar que todos estos valores son teóricos, y que quizás nunca sean alcanzados. Ahora veamos como funciona físicamente todo esto...
Comencemos por un sistema sin dual channel. Cuando decimos que el bus de datos es de 64 bits realmente hay 64 pistas (como si fueran cables) conectando los sockets de memoria con el controlador. Estas pistas se nombran desde D0 hasta D63. Todo el bus de datos es compartido por todos los sockets.
Descripción: http://www.mediafire.com/imgbnc.php/7b3c8c3aa139464db6b659fcc8105e668a78adfd0a28362aced067698a6edfca4g.jpg

Ahora en sistemas que soportan dual channel, el bus de datos se expande a 128 bits. Esto quiere decir que ahora hay 128 cables (pistas de cobre) conectando el controlador con los sockets de RAM. Se denominan desde D0 hasta D127. Como cada modulo solamente acepta 64 bits por ciclo de reloj, se utilizan ambos módulos juntos para cubrir el bus completo de 128 bits. Entonces tenemos que para tener dual channel debemos tener un controlador de memoria que soporte esta característica e instalar una cantidad par de módulos de memoria. Todos podrán ser accedidos al mismo tiempo, debido a esto ambos módulos deben ser totalmente idénticos (misma capacidad, misma latencias y misma frecuencia). Veamos este grafico...
Descripción: http://www.mediafire.com/imgbnc.php/59ff0727ca40a7cf619f7cb36978a0e9612bef969ef146ab43cd2ec10646b0c14g.jpg

MEMORIAS DDR y GDDR

Para ir cerrando tocamos este tema que muchas veces confunde a la gente. A veces se piensa que GDDR es lo mismo que DDR o que tienen que ser compatibles las memoria RAM de la PC con las de la placa de video... todo esto es erroneo y confuso tratemos de aclarar todo.
La memoria RAM también es utilizada en las tarjetas de video para conformar el circuito de memoria. Antes se utilizaba exactamente la misma tecnología que en las memorias RAM para la PC. Con el correr del tiempo las tarjetas de video de gama alta comenzaron a necesitar chips de memoria más rápidos entonces los fabricantes decidieron comenzar a implementar DDR2 y DDR3.
Estas memorias utilizadas en las placas de video tienen algunas características distintas a las usadas en las PCS. Esta es la razón por la cual para diferenciarlas se anteponía la letra “G” que significa “graphics” (GDDR).
La principal diferencia es el voltaje al cual trabajan y también suelen funcionar a frecuencias bastante mayores. Debido a esto puede llegar a levantar mayores temperaturas.

Actualmente las últimas placas de video de alta gama utilizan GDDR5. Algunas placas de video de baja gama si utilizan chips de memoria DDR2 comunes, idénticos a los de la PC.

Cabe aclarar que la memoria RAM de video es utilizada internamente por la misma placa, por lo que no tiene nada que ver con la memoria RAM del sistema. Es por eso que pueden ser totalmente distintas! El sistema puede utilizar memorias RAM DDR2 mientras la tarjeta de video utiliza GDDR5 son totalmente independientes.
Descripción: http://www.mediafire.com/imgbnc.php/aebe2f25eb5ff30a887e6c033108636d0f5fb90797261310af693456d080ee424g.jpg




Principales Marcas

* OCZ ha dejado de fabricar memorias. Igualmente se incluye en la lista porque todavía hay algunos modelos y son de excelente calidad.
Descripción: http://www.mediafire.com/imgbnc.php/228ba8164ced60dbf18621be9c08501eb80153e0a13aeee7ee4f84e1de60a4ba4g.jpg
Descripción: http://www.mediafire.com/imgbnc.php/b05c3284d61986da5fe802eea802847acb5cfcd134443e612a61093d5dfa7d794g.jpg
Descripción: http://www.mediafire.com/imgbnc.php/f4bf79f2319c1899e0c9258801abc8c145a6c285c8f366bb8e012b382ace23224g.jpg
Descripción: http://www.mediafire.com/imgbnc.php/87b49dda3fdbfd30995db96c7efc03d4ba7e5f925ea3a4ea9c203093e724002a4g.jpg
Descripción: http://www.mediafire.com/imgbnc.php/f397e348070ea6eab32505b16aee77cc935d829dd57c106ee0632e11a8e2606a4g.jpg
Descripción: http://www.mediafire.com/imgbnc.php/3e50c3af8b0ebcd52cbc3c18fe22c182a146f8fa3e62c72aeb3f7ccd47d7ad044g.jpg
Descripción: http://www.mediafire.com/imgbnc.php/27c60376c91989a86b5d1d2c368efdd6b4d4c5e033a7c726ba623037fd1c3d824g.jpg
Descripción: http://www.mediafire.com/imgbnc.php/e0c768fe4be8169ab1173fa0e36c70dc5a001544790ba7d152ec6348981eb5d84g.jpg
Descripción: http://t2.gstatic.com/images?q=tbn:ANd9GcRwBpKrs48iSj-UWvTgEQEePPaE61dIALShRdrV9B5F18R2iMZX

Descripción: http://i1012.photobucket.com/albums/af242/clarte/Taringa/ComentarNoCuestaNadaII.gif

No hay comentarios:

Publicar un comentario