f Memorias de Computadora ~ Ingenieria a nivel industrial

Visita mi canal de youtube

miércoles, 22 de junio de 2016

Memorias de Computadora

   Para evitar conceptos erróneos muy comunes en nuestro mercado, que es de decir pero yo tengo como 10 GB de memoria, mientras que realmente lo que tienen son de 10GB de espacio libre en disco duro. Para eso identificamos a la memoria RAM como un escritorio de oficina, donde el disco duro será la biblioteca y nuestro Microprocesador será el ser pensante de la oficina. 

    Si imaginamos un escritorio muy chico suficiente como para un solo libro cada vez que necesitemos de otro libro deberemos de pararnos, caminar hasta la biblioteca depositar el libro y tomar el otro, esto nos daría una perdida de tiempo importante, mientras que si tuviésemos un escritorio mas grande podríamos dejar ambos libros al alcance de nuestras mano y de esta forma reducir los tiempos de acceso a la información, tengamos en cuenta que tenerlos en el escritorio no generaría un tiempo de demora tan grande como movilizarnos hasta la biblioteca, lo mismo sucede con la cantidad de memoria RAM si tenemos poco solo un programa podrá ser cargado en la misma para poder trabajar con el microprocesador por lo tanto cuando este necesite de otro deberá de cerrar el actual e ir a la búsqueda del otro programa en el disco duro un componente extremadamente mas lento (casi 150 veces mas lento) que la memoria RAM; no porque tengamos un escritorio grande como toda la pieza nosotros trabajaremos mas rápido, no todo el material lo podemos analizar en el mismo instante, por lo tanto no por tenermucha memoria el PC debe funcionar mas rápido, pero si mas lento por tener poca. RAM (Random Access Memory – Memoria de Acceso Aleatorio) esto quiere decir que el acceso no se realiza en forma secuencial, sino que es posible acceder a cualquier sector de ella sin tener que pasar, necesariamente, por otro. Lo otro a destacar es que la Memoria RAM es volátil y su información se pierde cuando se corta el suministro eléctrico.

Niveles de Memoria

   En el PC se encuentran distintos niveles de memoria dependiendo del acercamiento que tienen hacia el micro. La memoria con la que se comunica el Microprocesador de forma directa es la caché de primer nivel o L1 (Level 1) que es la mas pequeña y costosa. Cuando esta es saturada se procede a guardar al información en el siguiente nivel que también se encuentra dentro del Microprocesador esta es la memoria caché de segundo nivel o L2
(Level 2) que es un tanto mas lenta que la anterior y de mayor cantidad en KB pero de altos costos también. De este nivel encontrarse saturado se pasa al siguiente nivel que por lo general es la Memoria RAM principal, definitivamente cuando los datos no se
encuentren en este ultimo nivel se accede a la búsqueda de los datos en el Disco duro que de los mencionados por lejos es el mas lento pero el de mayor capacidad de almacenamiento.

Memorias dentro del Microprocesador

  En la actualidad todos los procesadores incluyen en su encapsulado tres niveles de memoria. Los Registros son pequeñas unidades de memoria con las que trabaja directamente el motor de ejecución (o sea las unidades de procesamiento de enteros y flotantes del procesador) en el caso de los procesadores de 32 bits por ejemplo hay una serie de registros de esa misma longitud que tiene diversas funciones (por ejemplo indicar la dirección de memoria del próximo dato a ejecutar o realizar una acumulación de datos) entre los cuales se destacan los de propósito general, que son los que se usan para almacenar los datos en una misma instrucción. El segundo tipo de memoria que se encuentra en el procesador es la caché (ambos niveles), cuya frecuencia y bus depende de la arquitectura interna del micro.

Memorias DRAM

   Todas las memorias DRAM (entre las cuales están SDRAM, DDR, DDR2, etc) basan su funcionamiento en dos componentes electrónicos: el transistor y el capacitor. Cada celda de memoria DRAM (es decir, cada BIT) esta compuesto de un transistor y un capacitor, la idea básica es que el transistor se conecta al resto del sistema y es el que controla al capacitor. Cuando decimos que la controla nos referimos a que puede cargarlo o descargarlo de acuerdo con lo que se desee realizar. En principio se pude decir que si el capacitor esta cargado, la celda de memoria tiene un “1” y si esta descargado, tiene un “0”. Aquí se presenta el problema de que el capacitor se descarga rápidamente, por lo cual el equipo debe ocuparse de recargarlo en forma periódica. Este tiempo es del aproximadamente, 64 ms, y si no se lo respeta, puede provocar resultados catastróficos. Para asegurar que no haya problemas se considera un “1” cuando el capacitor esta lleno en un 50%, así la medida no es tan rigurosa. Por cierto, en la lectura de carga electrónica de capacitor se pierde, por lo que también es preciso recargarlo cuando se lo lee. Como se puede observar, ya que por su naturaleza física, la memoria DRAM es mas lenta que la SRAM usada en la caché. Y eso, sumado a la frecuencia de trabajo y al ancho de bus menores, además de la distancia de acceso hacia la CPU, logran que la RAM principal sea mucho mas lenta que la caché. Sin embargo hay que considerar que también es mucho mas económica y por tal motivo es posible fabricar DRAM con mucha mas capacidad.

Direcciones de Memoria

  Una dirección de memoria esta compuesta por ocho celdas, que conforman un Byte. ¿Cómo están distribuidas todas las direcciones de memoria en el hardware? Una forma simple de pensarlo seria poniéndolas a todas en línea y numerándolas del 0 hasta el valor numérico de la cantidad total de memoria instalada. Sin embargo, este tipo de acceso requiere una serie de circuitos de selección de direcciones con una gran cantidad de pines algo bastante difícil y costoso de realizarlo, por eso se pensó en distribuir la memora en forma de matriz, con filas y columnas, como si fuere una planilla de calculo, de esta manera se deben realizar dos selecciones (fila y columna), lo cual impacta en el rendimiento aunque reduce exponencialmente al cantidad de pines necesario para la selección.


Configuración de la Memoria

  Normalmente en el BIOS Setup se pueden motivar los valores de los comandos de control que manejas las latencias de los diferentes estados de la solicitud de datos a la memoria. Cuanto menores sean estos tiempos, menor será la latencia y mayor la performance de la memoria. Por supuesto, las posibilidades de ajustar estos valores
dependerán mucho de los módulos de memoria que se tengan en el equipo.

CL (CAS LATENCY) Es el numero de ciclos de memoria entre que la columna es pedida por una fila activa, hasta que los datos pueden enviarse al buffer de salida. En general los tiempos de 2 a 3 para las memorias DDR o de 3 a 4 para las DDR2. TRCD (RAS TO CAS Delay) Es el tiempo que pasa hasta que se activa la fila y se puede tener acceso a las columnas. Los tiempos mas comunes varían entre 2 y 4 ciclos para la memoria DDR y de 3 a 5 para la DDR2.

TRP (RAS Precharge) Es el tiempo que necesita el controlador para desactivas la fila. Este tiempo es, en general de 2 a 4 ciclos para la memoria DDR y de 3 a 5 para la
DDR2.

TRAS (Active to Precharge) es la menor cantidad de ciclos que una fila puede estar activa antes de ser desactivada por el controlador. En general, es de entre 5 y 10 ciclos. Si bien el RAS to CAS ocurre primero, se menciono en primer lugar el CAS por que es el valor más impornte para la performance.

  En general las configuraciones se mencionan de la siguiente manera 2.5-3-3-8, donde el orden es (Cl, tRCD, tRP y tRAS). El beneficio de pasar de una memoria 2-2-5 a una 3- 4-4-8 es mayor en un Pentuim 4-C, donde, dependiendo de la paliación puede ser entre 0 y 7%.

Diferentes sistemas de DRAM:
  Pese a que en la actualidad predominan los sistemas de memoria DRAM significa (SDRAM), también hay algunos chipsets que soportan el uso de memoria RDRAM, diseñados para la firma Rambus y usados antiguamente por Intel en los primeros chipsets para Pentium 4.

  La topología de las Memorias SDRAM (PC100/133, DDR, DDR2), se basa en una configuración en paralelo, en cambio en las memorias RDRAM, toda la conexión se realiza en serie. ¿Qué diferencias hay en la práctica? Lo primero que se puede observar es que, gracias a su topología en serie, las memorias RDRAM tienen una frecuencia de trabajo mucho mayor que las SDRAM (incluso, las más antiguas son más rápidas que las DDR2 más nuevas), de entre 400 y 600 MHz. Además, manejan dos datos por ciclo de clock, ya que pueden transmitir información tanto en el flanco de subida como en el de bajada de la señal (las SDRAM tradicionales sólo lo hacían en el de subida), por lo que, en la práctica, tienen entre 800 y 1200 MHz. Sin embargo, el ancho de bus de las memorias RDRAM es de 16 0 32 bits, lo cual, evidentemente, es inferior a las SDRAM, cuyo bus siempre fue de 64 bits.

En resumidas cuentas, el ancho de banda total es aproximadamente el mismo, pero varían la frecuencia y el ancho de bus. ¿Cuál es mejor? A1 parecer, la tecnología serial de Rambus es más efectiva, aunque en el mundo de las PCs, su superioridad nunca fue evidente debido a los diseños de los motherboards, que debían estar altamente optimizados para poder aprovechar por completo su gran performance.

Tanto los módulos como la fabricación de los motherboards eran (y siguen siendo) muy costosos frente a los SDRAM; además, requerían de un módulo de continuidad en todos los slots de memoria que no estuvieran ocupados (ya que, en caso contrario, la señal no podría llegar hacia su terminación), lo que agregaba un costo extra.

Tipos de memoria SDRAM
La DRAM sincrónica hizo su aparición a mediados de la década de 1990 y, hoy en día, aún se siguen utilizando memorias que se basan en su funcionamiento. Básicamente, se puede decir que la palabra "sincrónica" hace referencia a que su frecuencia de trabajo guarda una cierta relación con la velocidad del procesador. En la época de los 386 y 486, se podían usar memorias de 60 y 70 ns, que debían guardar una relación de frecuencia entre ellas mismas, pero no necesariamente tenían que cumplir una determinada relación con la frecuencia del procesador. 

   Con las memorias SDRAM, se saltó de esos 60 ns a los mágicos 15 ns, aunque, claro está, hay que recordar que aquellos 60 ns tenían en cuenta las latencias internas de la memoria, cosa que ahora no se considera en el valor numérico del tiempo de acceso a la memoria. Durante mucho tiempo, la memoria SDRAM tradicional, con buses de 66, 100 y 133 MHz, podía brindar un ancho de banda bastante respetable para los procesadores (pese a que no era óptima). Sin embargo, con la salida de procesadores del orden de 1 GHz y superiores, algo hacía falta para optimizar el rendimiento. Entonces fue que se resolvió duplicar el ancho de banda de memoria siguiendo el mismo principio utilizado por Rambus: tratar de transmitir dos datos por cada ciclo. Si bien, en verdad, el ancho de banda práctico no era exactamente el doble, se pudo obtener una interesante mejora de rendimiento, especialmente en cuanto los chipsets se hicieron más maduros para el uso de estas
memorias DDR (Double Data Rate).

   De esta manera, las memorias de 133 MHz podían transformarse en 266 MHz prácticos, y en cuanto fueron escalando las tecnologías de fabricación, se logró alcanzar unos 200 MHz DDR (con configuraciones de latencia bajas), o sea, 400 MHz. Sin embargo, el límite de escalabilidad de esta tecnología hace que pueda llegar únicamente hasta los 266 MHz DDR, y con latencias algo más altas.

   Las DDR2, estas memorias usan un sistema de pipelining (línea de montaje), que tiene el buffer de entrada y salida corriendo al doble de frecuencia que el núcleo de la memoria. Esto se traduce en que se pueden transmitir dos datos por ciclo... Pero recordemos que también se podía transmitir un dato por cada flanco de la señal. Entonces, se transmiten cuatro datos por ciclo del núcleo. Como, en verdad, el núcleo es lo más complicado de escalar, realizando esto es posible alcanzar frecuencias efectivas de hasta 1066 MHz. No obstante, hay un problema, y son las latencias, que son bastante
más altas que en las DDR tradicionales, debido a este sistema de pipelining, donde en cada unidad de tiempo hay cuatro datos "procesándose" y donde sólo uno de ellos está saliendo al exterior

Doble canal
    Para hacer frente al problema de la ; gran diferencia entre el ancho de; banda del procesador y el de la memoria, tanto los sistemas RDRAM como los SDRAM DDR y DDR2 actuales utilizan un doble canal de datos. Imaginemos en los esquemas de sistemas de memoria que, en el controlador de memoria, no se conecta uno, sino dos canales de datos de 64 bits; totalmente independientes. O, si no, que en el chipset se colocan dos controladores de memoria de 64 bits distintos. ¿Qué ocurre? Básicamente, se duplica el ancho de banda teórico de; la memoria RAM. Sin embargo la diferencia de performance y el aprovechamiento de ese ancho de banda dependen de muchos factores.

  Si bien siempre decimos que la memoria DRAM es mucho más lenta que la caché, debemos tener en cuenta que es la memoria principal, la que mejor relaciona el nivel de capacidad-velocidad, así que afecta sustancialmente el rendimiento del equipo. Lo más importante es tener la cantidad necesaria de memoria para el sistema operativo y correr varias aplicaciones. De esta manera, se evita el "swapeo" al disco, que es muy negativo para la performance. El acceso a disco es alrededor de 150 veces más lento que el acceso a la memoria, por lo que se debe evitar a toda costa. En el caso de trabajar con imágenes, para trabajar con comodidad, hay que tener, por lo menos, cuatro veces el tamaño de la imagen que se va a modificar, además de la memoria para el sistema operativo. El segundo objetivo es buscar las memorias más rápidas que el bus del procesador pueda utilizar, sin ser overclockeado con un timing razonable, y si es posible, que funcionen en configuración dual en el motherboard para duplicar el ancho de banda
hacia el procesador.

   Para los usuarios que requieran la mayor performance, ésta se puede lograr usando memorias de la menor Latencia posible (por ejemplo, 2-2-2-5) y corriendo a la velocidad del bus del procesador. En algunos casos, como ocurre en computadoras que tienen los últimos chipsets de Intel, también puede convenir usar memorias que soporten frecuencias más elevadas que las del bus de datos del
procesador (aunque con latencias mayores), como las DDR de 500 a 600 MHz efectivos.

   Si se evalúa la relación precio/pertormance, debido a los costos elevados de las memorias de alto rendimiento y baja latencia, es conveniente invertir en un procesador de mayor frecuencia o en un motherboard con un buen chipset y dual channel (que comentaremos en esta página), antes que realizar una inversión en este tipo de memorias.

Resumiendo:
  Para entender lo que viene a continuación, debemos aclarar primero el significado de algunos términos "básicos":

• RAM o DRAM: la memoria principal del ordenador, esos 32, 64, 128... MB (megabytes, "megas") que aparecen en los anuncios de ordenadores. En sistemas operativos modernos tipo Windows, la velocidad y especialmente la cantidad de RAM es un factor determinante del rendimiento.

• SDRAM: o DRAM Síncrona, el tipo de memoria más utilizado en la actualidad.

• PC66: la memoria SDRAM que funciona a 66 MHz.

• PC100: la memoria SDRAM que funciona a 100 MHz.

• PC133: la memoria SDRAM que funciona a 133 MHz. Hoy en día es la más utilizada (K6-2, K6-III, K7 Athlon, Pentium II modernos y Pentium III).

• RDRAM o Rambus DRAM: un nuevo tipo de memoria, de diseño totalmente distinto al de la SDRAM; teóricamente ofrece mejor rendimiento.

• DIMM: módulo de memoria SDRAM (o, antiguamente y en casos
excepcionalmente raros, de memoria EDO).

• RIMM: módulo de memoria RDRAM (Rambus).
Para evitar confusiones entre S-dram y R-dram, procuraremos hablar de "PC100", "PC133" y "Rambus".

   La Rambus no funciona a 800 MHz O al menos no de la misma forma que la SDRAM. La memoria SDRAM, bien sea PC66, PC100 o PC133, tiene un ancho de bus de datos igual a 64 bits, lo que significa que en cada ciclo de reloj (cada Hz) envía 64 bits = 8 bytes. De esta forma, su capacidad de transferencia de datos (es decir, su velocidad útil) será:

PC66: 8 bytes/ciclo x 66 MHz = 533 MB/s
PC100: 8 bytes/ciclo x 100 MHz = 800 MB/s = 0,8 GB/s
PC133: 8 bytes/ciclo x 133 MHz = 1066 MB/s = 1,06 GB/s

Cuanto más rápidos se vuelven los microprocesadores (y algunos funcionan ya a casi 1.000 MHz), más importante resulta tener un canal de comunicaciones fluido entre éstos y la memoria, algo que también es importante para que el almacenaje de texturas en la memoria principal con una tarjeta gráfica AGP 4x sea realmente eficaz.

  La RDRAM o memoria Rambus se planteó como una solución a esta necesidad, mediante un diseño totalmente nuevo. La Rambus tiene un bus de datos más estrecho, de sólo 16 bits = 2 bytes, pero funciona a velocidades mucho mayores, de 266, 356 y 400 MHz. Además, es capaz de aprovechar cada señal doblemente, de forma que en cada ciclo de reloj envía 4 bytes en lugar de 2. Debido a este doble aprovechamiento de la señal, se dice que la Rambus funciona a 600, 712 y 800 MHz "virtuales" o "equivalentes". Y por motivos comerciales, se la denomina PC600, PC700 y PC800 (parece que "PC533" y "PC712" no son del gusto de los expertos en márketing). Por todo ello, su capacidad de transferencia es:

Rambus PC600: 2 x 2 bytes/ciclo x 266 MHz = 1,06 GB/s
Rambus PC700: 2 x 2 bytes/ciclo x 356 MHz = 1,42 GB/s
Rambus PC800: 2 x 2 bytes/ciclo x 400 MHz = 1,6 GB/s

  Como vemos, la Rambus más potente (la de "800 MHz equivalentes") puede transmitir el doble de datos que la SDRAM PC100, lo que no es poco... pero no es ocho vecesmás, como a  muchos publicistas les gusta hacer creer.

Tipos de DDR-SDRAM y nomenclatura
   Por supuesto, existe memoria DDR de diferentes clases, categorías y precios. No podía ser tan sencillo... Lo primero, puede funcionar a 100 o 133 MHz (de nuevo, "físicos"); algo lógico, ya que se trata de SDRAM con DDR, y la SDRAM funciona a 66, 100 ó 133 MHz (por cierto, no existe DDR a 66 MHz). Si consideramos los MHz "equivalentes", estaríamos ante memorias de 200 ó 266 MHz.

    En el primer caso es capaz de transmitir 1,6 GB/s (1600 MB/s), y en el segundo 2,1 GB/s (2133 MB/s). Al principio se las conocía como PC200 y PC266, siguiendo el sistema de clasificación por MHz utilizado con la SDRAM... Pero llegó Rambus y decidió que sus memorias se llamarían PC600, PC700 y PC800, también según el sistema de los MHz. Como esto haría que parecieran muchísimo más rápidas que la DDR (algo que NO SUCEDE, porque funcionan de una forma completamente distinta), se decidió denominarlas según su capacidad de transferencia en MB/s: PC1600 y PC2100 (PC2133 es poco comercial, por lo visto). Para hacernos una idea, veamos unos cuantos anchos de banda para diferentes memorias:

  Pero ojo, no termina aquí la cosa: como con su "progenitora" la SDRAM, existe un importante (y desconocido) parámetro que dice mucho de la calidad de la memoria DDR: el valor de latencia CAS mínimo al cual puede funcionar para una velocidad dada. Para entendernos: la latencia CAS es mala (es un tiempo de espera, tiempo perdido), así que cuanto menor sea, mejor es la memoria.
La DDR-SDRAM puede tener CAS = 2 ó CAS = 2,5 (siendo más rápida la de CAS = 2). Puede que incluso aparezcan memorias de CAS = 1,5 (que sería excelente pero carísima) o CAS = 3 (que sería poco recomendable).

   La memoria calificada como CAS = 2 puede alcanzar velocidades mayores que la CAS = 2,5 (hasta 143 MHz si se la baja de CAS = 2 a CAS = 2,5)... algo de suma importancia para el overclocking.
Al igual que pasa con la SDRAM normal, será difícil que en la tienda le dejen elegir el tipo de CAS de la memoria, pero si compra en Internet preste atención a este parámetro.

  Bien, allá va nuestra apuesta: salvo catástrofe, la memoria DDR-SDRAM será el estándar de los próximos años. Tiene buen rendimiento, precio asequible y el apoyo de toda la industria (incluso de los que han pagado royalties a Rambus). Tampoco es que vaya a revolucionar el rendimiento, ojo, como no lo hizo el paso de FPM a EDO, o de EDO a SDRAM, o de SDRAM de 66 MHz a SDRAM de 100 ó 133; pero permitirá que los microprocesadores sigan su loca carrera con un cuello de botella menos.

   Como suele ocurrir en cambios de esta índole, al principio instalar memoria DDR será una cuestión de querer pagar el extra de un chipset más reciente y una memoria más rápida, pero en aproximadamente un año o año y medio no me extrañaría que hasta los PCs "de oferta" incluyeran memoria DDR.

Memorias DDR2
    En el 2002-2003 la DDR-II puede llegar hasta 6,4 GB/s con sólo 1,8, y no se podrán utilizar las mismas placas, necesitará 232 pines en tu plaqueta. DDR2 533-MHz (PC2-4300) y 675-MHz (PC2-5400). Con entrega inmediata en cantidades limitadas, Kingston® ofrece módulos HyperX DDR2 probados para operar en PC2-4300 y PC2-5400. Estos nuevos DIMMs HyperX DDR2 sin búfer están disponibles en capacidades hasta de 1GB para soportar la última generación de plataformas de cómputo (la velocidad real depende de varias tarjetas madre soportadas). "La memoria HyperX DDR2 de Kingston ofrece velocidades más rápidas -hasta 675 MHz-, más ancho de banda para datos, menor consumo de energía -casi 50 por ciento menos- y desempeño térmico mejorado en contraste con DDR", dijo Louis Kaneshiro, gerente de tecnología en Kingston. "Con esta nueva oferta HyperX, los jugadores entusiastas de PC lograrán mayor desempeño y mejores condiciones térmicas en sus plataformas".

Características de HyperX DDR2:
   Operación a 1.85 voltios, lo que reduce el consumo de energía casi 50 por ciento. Terminación de señal de memoria dentro del chip de la memoria ("Terminación en Dado") para evitar errores en la transmisión de señales. Mejoras operativas para aumentar el desempeño, la eficiencia y los márgenes de tiempo de la memoria.

Latencias CAS: 3 y 4
Productos de Memoria Kingston HyperX DDR2
Capacidad y Características:
HyperX Unbuffered 533 MHz
HyperX Unbuffered 675 MHz










0 comentarios:

Publicar un comentario