sábado, 25 de octubre de 2014

MEMRORIAS: Definicion, Tipos De Memorias, Formas De Juntar Los Chips De Memoria, Diferencias Entre SRAM y DRAM

La memoria es el componente del ordenador que almacena la información que éste posee, es decir, sus datos y programas. Es como un bloc de notas que mantiene la información mientras estamos trabajando con ella. La memoria del ordenador está organizada en unidades de bytes, cada uno compuesto por 8 bits. No importa que tipo de información estemos almacenando; estará codificada en una estructura particular de bits, que será interpretada de la forma adecuada al tipo de datos en cuestión. Los mismos bytes de memoria se emplean para almacenar códigos de instrucciones, datos numéricos, datos alfabéticos, sonidos, vídeo, etc. Para ser capaces de trabajar con la memoria, cada unidad de bytes tiene una dirección, un número que sólo identifica a esa unidad. Las direcciones de memoria están numeradas una a una, empezando por cero. Las operaciones básicas que permite una memoria son dos: escritura o almacenamiento y lectura.
En la escritura, o almacenamiento, la memoria necesita que le suministren una información y una dirección. La operación consiste en grabar la información en la dirección especificada. En la lectura, la memoria debe recibir una dirección. La operación consiste en recuperar información previamente escrita en esa dirección.


Por tanto, podemos ver las memorias como cajas negras, a las que hay que suministrar una dirección y unas señales de control, que especifican la operación que se desea realizar, además de enviar o recibir el dato, o bloque de datos, correspondiente. Los disquetes, discos duros, etc. también son dispositivos que permiten almacenar información, pero no están conectados directamente al procesador, cada byte no tiene una dirección para poderlo leer como en el caso comentado anteriormente. Por ello estos dispositivos de memoria, llamados memoria masiva o auxiliar, serán estudiados en el tema correspondiente a los periféricos.



Tipos de memorias: RAM y ROM.
Actualmente el tipo de memorias que se emplean con carácter universal, son las memorias
de semiconductores. La primera memoria comercial de semiconductor tenía una capacidad de 64 bits y fue fabricada por IBM en 1968. Poco más tarde, en 1972, aparecieron los primeros ordenadores de IBM con memoria principal de semiconductores. Los elementos semiconductores utilizados hasta ahora para realizar estas memorias son el Silicio (Si) y el Germanio (Ge), pero en la actualidad se está también utilizando el Arseniuro de Galio (AsGa). En el caso de las memorias de semiconductores, cada punto de memoria está formado por un dispositivo electrónico denominado transistor, en el que hay dos estados de funcionamiento bien diferenciados: el estado de corte y el de saturación. Cuando el transistor está en estado de corte no deja pasar prácticamente nada a su través, y a la salida del transistor apenas se obtiene corriente, es lo que llamamos "0 lógico". Cuando está en estado de saturación, deja que la corriente circule por él libremente y lo que obtenemos a la salida es un máximo de corriente que denominamos "1 lógico". Dependiendo de las señales que proporcionemos al transistor obtendremos una u otra salida, es decir, almacenaremos un 0 ó un 1. Podemos establecer otra clasificación de las memorias dependiendo de que la información que contienen, pueda o no, modificarse después de haberla introducido.

Memorias de sólo lectura: ROM
Como indica su propio nombre son memorias que sólo permiten la lectura, también son de acceso aleatorio y no volátiles. Este tipo de memorias se utilizan para guardar una serie de programas que vienen con el ordenador desde fábrica, como son los contenidos en la ROM-BIOS (Basic Input-Output System). En ella básicamente están unos programas de diagnóstico, encargados de chequear el hardware para comprobar que todo es correcto antes de arrancar. Además, tiene el programa de arranque, encargado de cargar el sistema operativo en memoria y, los programas para controlar los periféricos más comunes: unidades de disco, teclado, puertos serie y paralelo, tarjeta gráfica, etc. Algunos periféricos requieren tener una memoria ROM para contener el programa encargado de gestionarlos, por ejemplo las tarjetas VGA cuentan con una memoria ROM de esas características ya que el BIOS sólo controla tarjetas CGA o MDA.

Atendiendo a la manera en que son grabadas se pueden distinguir varios tipos:

a) ROM: La palabra ROM puede ser aplicada a cualquiera de estos tipos de memoria, pero en este caso vamos a reservarla para memorias grabadas de fábrica en las que los transistores están dispuestos de la manera necesaria para que se lean los valores que debe contener.

b) PROM (Programable Read Only Memory): Este tipo de memorias son similares a las anteriores. Son memorias de sólo lectura pero en vez de grabarse en fábrica, pueden grabarse, aunque una sola vez. Una vez grabada la información no podemos cambiarla, tan sólo leerla.
Cada punto de memoria va a estar formado por un transistor y un fusible. Dejando pasar una corriente suficiente a través del fusible, este se funde logrando su destrucción. Así pues, el usuario de tal PROM puede destruir los fusibles cuando sea necesario, dejando sólo transistores en las posiciones necesarias para establecer el almacenamiento de memoria deseado.

c) EPROM (Erasable Programable Read Only Memory): En este caso, la información puede
ser modificada por el usuario un número limitado de veces. Para grabar la información se necesita un aparato especial, llamado grabador de EPROM. Antes de regrabar una EPROM hay que borrar el contenido anterior, para ello se emplea luz ultravioleta y posee una ventana que permite el paso de la misma, normalmente esta tapada para evitar un borrado accidental. El tiempo empleado para escribir, en este tipo de memorias, es mucho mayor que para leer, y como acabamos de ver, el borrado y el grabado se tienen que hacer fuera del sistema informático, siendo esta operación tan sólo posible un número limitado de veces.

d) EEPROM (Electricaly Erasable Programable Read Only Memory): Se diferencian de las anteriores en que pueden borrarse y grabarse en el mismo sistema informático y, en este caso, tanto la operación de borrado como de escritura se hace mediante el paso de corriente eléctrica. La información es borrada simultáneamente en todas las células de memoria.

Actualmente la ROM-BIOS de muchos ordenadores viene en formato Flash, esta es una memoria EEPROM, que permite por tanto que el usuario actualice el contenido de la misma sin necesidad de disponer de aparatos especiales, y sin abrir siquiera el ordenador, no obstante, son memorias de sólo lectura, para operaciones normales no se puede escribir en la memoria, se necesita un programa especial para poder hacerlo.

Memorias de lectura/escritura: RAM
Son memorias de lectura/escritura, acceso aleatorio y volátiles. La memoria principal de un ordenador es RAM, ya que la ROM al no permitir la escritura tiene un uso limitado. El sistema operativo y los programas y datos del usuario se almacenan en memoria RAM para
poder ser usados por el procesador.

Podemos distinguir dos tipos de memorias RAM:

a) DRAM: (Dinamic Random Access Memory): Son memorias en las cuales el estado (0 ó 1) se almacena en un dispositivo electrónico cuya forma de funcionamiento podemos compararla con un condensador que tiende a descargarse. Por ello, cada cierto tiempo, entre 1 y 18 millones de veces cada segundo, hay que enviar una señal, que se denomina señal de refresco, que recuerde a la memoria la información que posee, ya que ésta, se pierde poco después de haberse introducido.
El microprocesador es el que da las órdenes oportunas para que la señal de refresco llegue a la memoria. La frecuencia de esta señal de refresco tiene que ser suficientemente alta para que no de tiempo a que se pierda la información contenida en la memoria. La capacidad de las memorias DRAM va de 64Kbit a 32Mbit (la capacidad de los chips de memoria se suele medir en bits y no en bytes). El tiempo medio de acceso de esta memoria oscila entre 80ns y 50ns. Actualmente no se emplean directamente los chips de memoria, sino que se agrupan varios en una placa, con un conector estándar para poder colocarse mejor; son los llamados SIMM (Single Inline Memory Module) que han existido de dos tipos: de 30 contactos (casi en desuso) y de 72 contactos.
Posteriormente aparecieron los llamados DIMM (Dual Inline Memory Module), que tienen 168 contactos y su capacidad varía desde 8Mb hasta 128 MB. Las figuras siguientes representan los distintos tipos de módulos de memoria que se han existido y existen, así como los tamaños del bus de datos y direcciones de cada uno, en el caso de las memorias dinámicas la memoria direccionable es el doble del tamaño del bus de direcciones, ya que las direcciones se dividen en filas y columnas y se envían consecutivamente ambas por el mismo bus. El tamaño del bus de direcciones indica el máximo tamaño que puede tener una de dichas memorias, también las hay de menor capacidad, en ese caso no se utilizan las líneas de direcciones altas del bus.

b) SRAM: (Static Random Access Memory): La diferencia fundamental con las memorias anteriores es que no necesitan refresco, para ello emplean varios transistores por bit, lo cual reduce la capacidad de la memoria y hace que sean más caras que las DRAM (a igualdad de capacidad), a cambio son más rápidas que las DRAM, van de 50ns a 15ns. Por ello se emplean en la memoria caché del ordenador que explicaremos en el apartado siguiente.
En la evolución de la memoria DRAM nos encontramos con la SDRAM (Synchronous DRAM). Utiliza como modo de encapsulado el módulo DIMM, consiguiendo con ella que la memoria esté sincronizada con el bus de datos y con el reloj del procesador, incrementándose así, la tasa de trasferencia de datos, ya que el procesador sabe perfectamente en que ciclos puede realizar lecturas y escrituras. Además admite que se envíen comandos en los que se especifica que bancos refrescar o actualizar. La diferencia básica con el anterior de modelo es que la memoria es ahora la que espera para establecer sincronía con el resto del sistema Basada en la tecnología SDRAM, nos encontramos con la memoria DDR (Double Data Rate). Este tipo utiliza módulos DIMM, aunque con alguna diferencia, como es la variación del número de ranuras existentes en el módulo: se dispone de hasta 184 contactos frente a los 168 presentes en un DIMM convencional. La novedad más importante que presenta es la de utilizar un mismo ciclo de reloj para realizar dos trasferencias al bus de datos en lugar de una, pudiendo alcanzar velocidades de trasferencia de datos de hasta 2.1 GB/s. La plataforma Atlon de AMD se ha decantando por ella. Intel, sin embargo, se ha decantado por la utilización de la tecnología Direct Rambus. Los módulos que utiliza esta tecnología se denominan RIMM, existiendo de hasta 512 MB. Son módulos de 168 pines. Utiliza una tecnología de bus y, por ello, no podemos dejar ningún slot vacío, ya que si lo hacemos el canal queda abierto y no funciona. Para que funcione correctamente existen unos módulos sin memoria, llamados módulos de continuidad, que lo único que hacen es cerrar el canal.

Pueden ser de doble cara o de una sola cara, y admiten cualquier número de chips, hasta un máximo de 32 soportados por canal. En este caso las velocidades de trasferencia de datos pueden llegar hasta 1.6 GB/s. Finalmente conviene citar una pequeña memoria (64 o 128 bytes) que tiene el ordenador de tipo CMOS (bajo consumo), que aunque es memoria RAM, no pierde su contenido, gracias a que es alimentada por una pila. Se emplea para mantener un reloj en tiempo real (que sigue funcionando gracias a la pila incluso con el ordenador apagado) y para almacenar la configuración del ordenador: cantidad de memoria, tipo de discos que tiene, etc. Para almacenar dicha información hace falta memoria que permita escribir, ya que el usuario puede hacer cambios en la configuración, y por otra parte hace falta que no se pierda el contenido al apagar el equipo, la solución es emplear memoria RAM conectada a una pila. Esta memoria esta contenida dentro de un chip y no forma parte del mapa de memoria del ordenador, ya que para acceder a ella se emplean operaciones de Entrada/Salida.

Jerarquía de la memoria.
Actualmente la velocidad de los procesadores no ha parado de aumentar, mientras que la velocidad de la memoria lo ha hecho en una cuantía mucho menor. La solución al problema
que plantea esto, es hacer que el procesador espere por la memoria, aunque así se desaprovecha la velocidad del mismo. Para resolverlo se ha buscado otra solución, que consiste en poner una pequeña cantidad de memoria rápida y cara (SRAM), llamada memoria caché, y una cantidad mayor de memoria lenta y barata (DRAM), llamada memoria principal, y que el procesador mantenga una copia de los datos que más utiliza en la memoria caché. Para que el esquema anterior funcione, es preciso que exista un controlador de caché, encargado de vigilar las peticiones de datos del procesador a la memoria. Parte de la memoria caché se empleará para guardar las direcciones de los datos y el resto para los datos. El controlador compara la dirección de memoria pedida por la CPU con las que contiene la caché, y si el dato está en la misma, da la orden para leer de la cache , en caso contrario, el dato se lee de la memoria principal, empleando los estados de espera que sean necesarios, y se copia en la memoria caché, para que cuando lo necesite la CPU se encuentre con más rapidez. Para poder hacer esto, el controlador de caché lleva la cuenta de qué datos de la caché se han utilizado últimamente, e introduce el nuevo dato en lugar del menos utilizado recientemente. Con este sistema y tamaños adecuados de memoria principal y memoria caché (por ejemplo 16Mb de memoria principal y 256Kb de memoria caché) se puede conseguir que el 90% de las veces, el dato solicitado por el procesador esté en la memoria caché y lograr con un costo reducido, un sistema que tiene el 90% de velocidad que el equivalente con memoria rápida completo. Los procesadores modernos funcionan interiormente a mayor velocidad que la que emplean en su comunicación con la memoria, por ejemplo un Pentium a 200Mz, funciona a 200MHz internamente, pero se comunica con la memoria externa (sea principal o caché) a sólo 66MHz. En estas condiciones el rendimiento del procesador se ve mermado por el de la memoria, aunque sea rápida. Por ello, se incluye una pequeña cantidad de memoria caché interna en el procesador (en el caso del Pentium 16Kb, 8Kb para datos y otros 8Kb para código) que funciona a la misma velocidad que él mismo. En ese caso la caché interna al procesador se llama caché de nivel 1 (abreviadamente L1) y la externa de nivel 2 (o L2). La siguiente generación, por ejemplo el Pentium II, avanza incluso un poco más incluyendo la memoria caché L2 dentro del procesador, lo que permite que la velocidad de comunicación de la misma con el procesador, sea más elevada que la del bus del sistema (por ejemplo 200MHz en lugar de 100MHz).
En el extremo opuesto también se pueden conseguir mejoras. Supongamos que tenemos un ordenador con 16Mb de memoria principal y queremos usar un programa que requiere 16Mb de memoria (entre datos y código), pero el sistema operativo emplea 4Mb de memoria. Aparentemente no se puede, pero hay una técnica para conseguirlo. Se trata de emplear parte de la memoria auxiliar como si fuera memoria RAM, la parte de los datos o el programa que menos se use se escribe en disco, y cuando se necesite, se lleva otra vez a memoria, escribiendo en su lugar en el disco los datos menos usados que estaban en la memoria. Con este sistema el rendimiento se degrada, ya que el tiempo medio de acceso de un disco es de mili segundos, frente a los nanosegundos del tiempo de acceso a la memoria, pero al menos, se puede utilizar el programa, cosa de otro modo imposible, Además, salvo que se requiera mucha más memoria de la disponible físicamente, el rendimiento no disminuye tanto, por ejemplo, si tenemos un procesador de textos que tiene un módulo que permite corregir la ortografía, mientras no lo utilicemos no hace falta que esté físicamente en memoria, de modo que si el programa necesita 16Mb de RAM, es posible que las opciones que estemos usando usen sólo 8Mb, el resto se puede dejar en disco hasta que sea necesario.




Formas De Juntar Los Chips De Memoria

Son los conectores de la memoria principal del ordenador, la RAM. Antiguamente, los chips de RAM se colocaban uno a uno sobre la placa, de la forma en que aún se hace en las tarjetas de vídeo, lo cual no era una buena idea debido al número de chips que podía llegar a ser necesario y a la delicadeza de los mismos; por ello, se agruparon varios chips de memoria soldados a una plaquita, dando lugar a lo que se conoce como módulo.
Estos módulos han ido variando en tamaño, capacidad y forma de conectarse; al comienzo los había que se conectaban a la placa mediante unas patitas muy delicadas, lo cual se desechó del todo hacia la época del 386 por los llamados módulos SIMM, que tienen los conectores sobre el borde del módulo. Los SIMMs originales tenían 30 conectores, esto es, 30 contactos, y medían unos 8,5 cm. Hacia finales de la época del 486 aparecieron los de 72 contactos, más largos: unos 10,5 cm. Este proceso ha seguido hasta desembocar en los módulos DIMM, de 168 contactos y 13 cm



SIMMs , DIMMs , SODIMMs, RIMMs.

Se trata de la forma en que se juntan los chips de memoria, del tipo que sean, para conectarse a la placa base del ordenador. Son unas plaquitas alargadas con conectores en un extremo; al conjunto se le llama módulo.
El número de conectores depende del bus de datos del microprocesador, que más que un autobús es la carretera por la que van los datos; el número de carriles de dicha carretera representaría el número de bits de información que puede manejar cada vez.

  • SIMMs: Single In-line Memory Module, con 30 ó 72 contactos. Los de 30 contactos pueden manejar 8 bits cada vez, por lo que en un 386 ó 486, que tiene un bus de datos de 32 bits, necesitamos usarlos de 4 en 4 módulos iguales. Miden unos 8,5 cm (30 c.) ó 10,5 cm (72 c.) y sus zócalos suelen ser de color blanco.
    Los SIMMs de 72 contactos, más modernos, manejan 32 bits, por lo que se usan de 1 en 1 en los 486; en los Pentium se haría de 2 en 2 módulos (iguales), porque el bus de datos de los Pentium es el doble de grande (64 bits).


  • DIMMs: Más alargados (unos 13 cm), con 168 contactos y en zócalos generalmente negros; llevan dos muescas para facilitar su correcta colocación. Pueden manejar 64 bits de una vez, por lo que pueden usarse de 1 en 1 en los Pentium o Pentium II. Existen para voltaje estándar (5 voltios) o reducido (3.3 V).



  •  SODIMM :La memoria que utilizan comúnmente las computadoras laptop y portátiles se le llama SODIMM (Small Outline DIMM). El SODIMM es muy parecido a la memoria SIMM pero con dimensiones más pequeñas y diferencias técnicas importantes. El SODIMM también da soporte para transferencias de 32 bits. All Service cuenta con memoria SODIMM para la mayoría de computadoras portátiles.


                                                              


  • RIMM: Es el usado para la DRDRAM, es un tipo de memoria de 64 bits, que puede conseguir ráfagas de 2 ns, picos de 1,6 Gbytes por segundo (GB/s) y un ancho de banda de hasta 800 MHZ. Con estas memorias se agilizan todas las transferencias de información dentro del equipo que desgraciadamente hoy producen contínuamente cuellos de botella en los sistemas.



                                                         



Diferencia entre SRAM y DRAM


Las computadoras utilizan microchips llamados memoria de acceso aleatorio o RAM (siglas en inglés de Random Access Memory) para almacenar piezas de datos temporalmente para que la CPU pueda acceder rápidamente cuando sea necesario. Las dos principales categorías de RAM son estáticas y dinámicas. Cada uno de los dos tipos tienen ventajas y desventajas que las hacen más adecuadas para algunas aplicaciones que para otras. En las computadoras modernas, cada uno de los dos tipos cumplen una función importante.

Descripción de SRAM

La RAM estática o Static RAM (SRAM por sus siglas en inglés) recibe su nombre del hecho de que una vez que los datos se almacenan, se mantendrán siempre y cuando el módulo sea alimentado con electricidad. Una vez escrito, el controlador de memoria puede olvidar los datos hasta que necesite recuperarlos, permitiéndole ser más eficiente. La SRAM almacena cada bit de datos en seis transistores de efecto de campo metal óxido semiconductor, o MOSFET (siglas en inglés de metal oxide semiconductor field effect transistor). La SRAM se utiliza en dispositivos que requieren el acceso a los datos lo más rápido posible sin necesidad de una alta capacidad. Algunos ejemplos son las cachés de CPU y buses, disco duro, búferes de routers e impresoras.

Ventajas de la SRAM

Las dos ventajas principales de las SRAM son la velocidad y el consumo de energía. La SRAM no requiere actualización constante, ya que utiliza recursos y requiere circuitería  adicional. Esto hace que sea inherentemente más rápida. La falta de un circuito de actualización constante y menos complicado, le permite utilizar mucha menos energía que la DRAM. Esto hace que sea el tipo de memoria preferida para dispositivos portátiles que operan con baterías. El diseño más simple también hace más fácil la interfaz con la memoria, requiriendo menos programación complicada.

Descripción de DRAM

La RAM dinámica o Dynamic RAM (DRAM por sus siglas en inglés) almacena los datos mediante un transistor y un condensador emparejado para cada bit de datos. Los condensadores pierden constantemente la electricidad, lo que requiere que el controlador de memoria actualice la DRAM varias veces por segundo para mantener los datos. Ya que la DRAM sólo requiere un transistor por bit de datos, los chips de DRAM son mucho más densos y pueden almacenar más datos que las SRAM en un paquete del mismo tamaño. Por esta razón, las computadoras utilizan módulos de DRAM para la memoria principal, ya que debe tener la mayor capacidad posible. Los módulos DRAM de la misma capacidad serían simplemente demasiado grandes para la mayoría de las aplicaciones.

Ventajas de la DRAM

La DRAM tiene dos ventajas sobre la SRAM que la hacen necesaria. Ya que la DRAM sólo requiere un transistor por bit de datos, los chips pueden ser mucho más densos, permitiendo almacenar más datos que un módulo SRAM de tamaño similar. Esto mantiene pequeño su tamaño y también las hace más baratas de producir. En un mundo perfecto, los ingenieros informáticos sólo usarían SRAM en sus diseños, pero en este momento eso no es simplemente práctico.


0 comentarios:

Publicar un comentario