La Memoria: La Clave del Rendimiento

Memoria es una palabra demasiado genérica, en un ordenador podemos encontrar muchos tipos de memorias, cada una con su función específica. También tenemos que distinguir entre memoria y almacenamiento, puesto que hay muchos profanos que confunden estos términos.

codigo-binario-reducido¿Qué es la memoria? En primer lugar debemos definir lo que significa memoria, para poder saber de qué estamos hablando. Por definición, la memoria es un lugar en el que se almacenan datos. Nuestro cerebro tiene zonas diseñadas para almacenar recuerdos, olores, imágenes, y sonidos mediante complejos procesos químicos. La memoria aplicada a la informática, o mejor dicha, a la electrónica es mucho más sencilla. Está diseñada para almacenar números, pero números un poco especiales, los que pertenecen al sistema numérico binario.  Los humanos empleamos comúnmente el sistema decimal, que es un sistema numérico en base 10. La base es el parámetro que define el sistema numérico y representa el número de símbolos distintos que se utilizan para representar los números.  En electrónica se emplea el sistema binario, que únicamente utiliza el 0 y el 1 para formar todos los números, por eso es de base 2. Utilizar dos dígitos sólo, facilita enormemente el trabajo de diseñar circuitos que sean capaces de acordarse de un número, puesto que únicamente tienen que “recordar” dos estados, alto para el uno y bajo para el dos. Por supuesto se podría utilizar el sistema decimal, pero complicaría el circuito bastante, porque tendrían que definirse los diez estados como divisiones de la tensión de alimentación, y en la práctica es difícil mantenerla perfectamente estable, y se provocarían muchos errores al alterarse dicha tensión.  En el sistema decimal, un dígito puede representar números desde el 0 hasta el 10, mientras que en el sistema binario, sólo llega hasta el 1. Precisamente ese dígito binario, que se llama bit, es la unidad mínima de memoria que se puede fabricar. Normalmente está formada por transistores que toman el estado lógico alto (1), o bajo (0).  Un solo bit no sirve para mucho, por eso se agrupan de ocho en ocho, formando un byte. También se pueden hacer grupos más grandes, de 16 bits, e incluso de 32 bits, pero estas agrupaciones, a nivel electrónico no nos interesan, por lo menos de momento.  En un byte podemos representar números desde el 0 hasta el 255, o mejor dicho desde el 0 binario hasta el 11111111 binario. Parece que la cosa se complica al aumentar el número de bits, y representar números más grandes empleando el sistema binario puede resultar bastante incómodo. Para facilitar las cosas apareció el sistema hexadecimal, que representa con un solo dígito números desde el 0 hasta el 15, es decir, que es un sistema de base 16. Un solo dígito del sistema hexadecimal puede representar a cuatro bits, lo cual simplifica notablemente la conversión de un sistema al otro, además de la representación de grandes números binarios.

1024_Olympia_RAE_4-30-3_ferrita

Bit se suele abreviar con una b minúscula, mientras que byte se abrevia en mayúscula. Esto suele ser fuente de confusiones al escribir puesto que hay personas que no respetan esta regla. Cuando juntamos 1024 bytes se utiliza el prefijo kilo, que se abrevia K, para evitar tener que escribir o decir números muy largos. 1024 bytes es lo mismo que 1 KB (dicho kilobyte). De la misma forma, al agrupar 1024 kilobytes empleamos el prefijo mega, abreviado M, y al agrupar 1024 MB, usamos giga (gb):  1 GB = 1024 MB = 1048576 KB = 1073741824 bytes  Como puede verse es mucho más cómodo y sencillo hablar de 1 GB, que utilizar mil setenta y tres millones setecientos cuarenta y un mil ochocientos veinticuatro bytes.  Aunque no son muy graves, los errores al escribir estas abreviaturas son demasiado habituales. Es conveniente emplear correctamente las distintas abreviaturas de las unidades. Las más habituales son las siguientes.  Al hablar de memoria se emplea muy a menudo Mb, en lugar de MB: “Super ordenador con procesador Celeron a 300 MHz y 16 Mb de RAM”  16 Mb (megabits) = 2 MB (megabytes).  En este caso el fallo no es muy grave, puesto que nadie vendrá exigiéndonos un ordenador con menos memoria de la que ofrecemos.  Pero también encontramos el caso contrario: “Oferta especial en cámaras digitales con 64 MB de memoria interna”  64 MB (megabytes), cuando en realidad deberían poner 64 Mb (megabits). Engañando de esta forma al comprador, ya que 64 Mb = 8 MB.  También se producen confusiones con los prefijos, puesto que en el Sistema Internacional de Unidades (SI) tiene prefijos para poder multiplicar y dividir a la unidad por un trillón.  El primero de ellos tiene que ver con el prefijo kilo, en el SI este prefijo multiplica por 1.000 a la unidad, en informática, se emplean potencias de 2, y la más cercana a mil es 210, o la décima potencia de 2, que es 1024. Para evitar confusiones se suele emplear la k minúscula al referirse al kilo de 1000 unidades y K mayúscula para el kilo de 1024 unidades. Con el prefijo mega el problema es otro, en este caso no se emplea la m minúscula para representar los megas de un millón de unidades, porque esta letra ya está ocupada por el prefijo mili, que representa una milésima parte de la unidad . Recordemos que un bit no se puede dividir, y que un byte sólo se puede en ocho partes, así que no podremos hablar de 32 mb de RAM ni de 32 mB.

placa

Memoria y almacenamiento

Hay personas que confunden estos dos términos y aunque los dos se refieren a sistemas que sirven para guardar datos, es evidente que nada tienen que ver uno con otro. Mientras que la memoria se utiliza para ejecutar programas o almacenar datos de forma temporal, los sistemas de almacenamiento, que tienen una capacidad bastante más elevada, tienen como cometido guardar los programas y datos durante un plazo medio o largo, mientras no se utilizan o cuando el ordenador está apagado . Es conveniente enseñar a los usuarios la diferencia entre estos dos conceptos, para evitar que cuando preguntemos “ ¿Cuánta memoria tiene su ordenador? ” nos respondan “500 gigas”.

LA MEMORIA A NIVEL FÍSICO

memoria_01Como hemos dicho antes, la unidad básica de memoria es el bit. Un solo bit no tiene mucha utilidad, por eso se suelen agrupar en bytes de modo que se pueda acceder a todos sus bits al mismo tiempo. Pero tampoco un solo byte sirve de mucho, a menos que estemos aplicándolo a un esquema electrónico muy concreto. Así se fabrican chips con miles, e incluso millones de bytes . Lo más común es que tengan 8 bits, aunque también pueden agruparse de 16 en 16 bits.  La dirección es el parámetro que identifica a un byte concreto dentro del chip de memoria. Los chips de memoria tienen un bus de direcciones y otro de datos. Con el de direcciones se selecciona el byte concreto que queremos leer o escribir a través del bus de datos. El tipo de acceso se selecciona con otra patilla, y depende del tipo de memoria que empleemos, puesto que hay algunas que son sólo de lectura y no se pueden sobrescribir, o las que únicamente se pueden programar una vez  De los distintos tipos de memorias, según su tipo de acceso, hablaremos más adelante.  Los bits y bytes de memoria están formados por transistores que se constituyen en una oblea de silicio para formar los circuitos integrados, que posteriormente se encapsularán para confeccionar los conocidos chips. Al igual que hay varios tipos de memorias, sus encapsulados y, por tanto, su aspecto físico, también varía de unos a otros. En el caso de las memorias utilizadas como RAM principal del ordenador, se emplean módulos de memoria, que son pequeñas placas de circuito impreso con varios chips soldados en su superficie, que se conectan en unos zócalos especiales que tiene la placa base del equipo. Estas son las memorias que vamos a ver y manipular más comúnmente, puesto que el resto de tipos es raro que haya que sustituirlas, si no es por una avería.

TIPOS DE MEMORIA A NIVEL ELECTRÓNICO

Existen muchos tipos de memorias, y muchas posibles clasificaciones. Podemos hablar de ellas atendiendo a su organización física, a su tipo de acceso, modos de grabación de datos, o cómo las utiliza el sistema operativo a nivel lógico. Empezaremos definiendo los distintos tipos de memoria, atendiendo a su forma de acceso.

  • Memoria RAM. Las siglas RAM significan Random Access Memory, traducido al castellano, Memoria de Acceso Aleatorio. Como su propio nombre indica el acceso a esta memoria es completamente aleatorio, tanto en sus posiciones, como en el tipo de acceso, ya sea de escritura o de lectura. La memoria RAM pierde su contenido al desaparecer la tensión de alimentación de los chips. Por eso no se utiliza para guardar datos de forma permanente, aunque hay una excepción, la memoria CMOS, de la que hablaremos más adelante. Dentro de la memoria RAM, podemos distinguir dos tipos, la estática o SRAM y la dinámica o DRAM. En la memoria estática los datos se conservan siempre que el chip esté alimentado. En la memoria dinámica estos datos desaparecen al cabo de un tiempo, por eso hay que estar “recordándole” al chip cuales son esos datos. Para eso se emplea una señal conocida como refresco, puesto que su cometido es “refrescarle la memoria” a los chips. A nivel de usuario no hay que preocuparse por esta señal, puesto que el controlador de memoria es el encargado de controlar esta señal. El principal inconveniente de la memoria dinámica es que su acceso es más lento, debido al refresco, aunque su precio es notablemente inferior al de la memoria estática. En situaciones que se requiere una gran cantidad de memoria, como puede ser la RAM principal del ordenador se emplea memoria dinámica, para evitar que el precio total se dispare. En otros casos es necesaria una memoria extremadamente rápida, y normalmente no se necesita una cantidad muy grande. Este es el campo perfecto para las memorias estáticas puesto que aunque son más caras, al emplearse cantidades inferiores, el precio final no es demasiado elevado.

 

  • Memoria ROM. La ROM es una memoria que únicamente se puede leer, sus siglas se traducen como Memoria de Solo Lectura (Read Only Memory). Se emplean para contener programas o datos que siempre van a ser los mismos, por ejemplo, las rutinas que permiten al ordenador buscar el sector de arranque del disco duro al encenderlo. El principal inconveniente de las memorias ROM es que se fabrican con el programa que el cliente entregue, por lo cual únicamente son rentables si se encargan grandes cantidades. Si posteriormente queremos modificar el programa, tendremos que quitar la ROM y poner otra con el programa modificado. Por estas razones cada vez se emplean menos, y prácticamente ya han desaparecido de los equipos nuevos, a favor de otras tecnologías que si permiten modificar los programas.

 

  • Memoria PROM. Esta memoria es muy similar a la ROM, con la ventaja de venir sin 40pinesdatos de la fábrica, por lo que los pequeños fabricantes de equipos las pueden emplear para grabar sus propios programas, al diseñar un producto determinado. Si modificamos el programa en el futuro, tendremos que tirar esa PROM y grabarlo en otra nueva. Al igual que las ROM, tiende a desaparecer.

 

  • Memoria EPROM. Para evitar el inconvenepromiente y el derroche de tener que tirar una
    PROM cuando queramos modificar un programa se desarrollaron las memorias EPROM. Sus siglas significan Erasable Programmable Read Only Memory, Memoria Programable de Solo Lectura Borrable. Su rasgo más característico es la ventana transparente que tienen en la parte superior de su encapsulado, que permite ver la oblea de silicio que contiene las celdas de memoria. La grabación se realiza en un aparato especial empleando una tensión elevada, varias veces la de alimentación, llamada tensión de programación. Si en el futuro queremos modificar el programa grabado lo único que tendremos que hacer es borrar la memoria y volverla a grabar. Para borrarla sólo tenemos que exponer el chip a una fuente de luz ultravioleta de forma que incida directamente en la oblea de silicio, durante unos minutos. Un inconveniente de este sistema es que el número de ciclos de borrado y grabación es bastante limitado. Además, se requiere un programador por lo que no se puede utilizar para guardar datos que varíen frecuentemente.

 

  • Memoria EEPROM. Los dos inconvenientes 20160127_111408_at28c16-15pi-memoria-eeprom-atmelde las memorias EPROM se solucionaron
    con las Electronic Erasable Programmable Read Only Memory, o EEPROM, cuyo nombre traducido es Memoria Programable de Solo Lectura Borrable Electrónicamente. La ventaja de no emplear la engorrosa luz ultravioleta para borrar el contenido de la memoria es notable, puesto que se puede diseñar un circuito de borrado en la placa en la que se coloque la memoria y así hacer innecesario retirar el chip para eliminar su contenido. En ordenadores es poco común encontrarlas, utilizándose normalmente en equipos en los que el usuario tiene que almacenar datos que se tienen que mantener mientras el equipo está desconectado, y sin baterías.
  • Memoria Flash. La memoria Flash es la última generación de memorias no volátiles,
    esto es, que no pierden su contenido al desconectar la alimentación.Su contenido puede ser modificado de una forma sencilla por software, lo que las convierte en las memorias ideales para contener el firmware de los equipos. El firmware es el conjunto de rutinas, o programas que hacen funcionar y comunicarse con el ordenador de forma autónoma un hardware específico. Gran parte de los periféricos suelen contener firmware que se actualiza con mayor o menor frecuencia. El ejemplo más común es el de los módem, que suelen disponer de actualizaciones más o menos frecuentes que incorporan los nuevos estándares de comunicaciones, o mejoras y correcciones de errores de las rutinas antiguas.final2-e1345626390708 También podemos encontrar memorias Flash en impresoras, controladoras SCSI, tarjetas gráficas, y un largo etcétera, culminando en la memoria BIOS, que contiene las rutinas de arranque y de entrada/salida del ordenador. En general, prácticamente todos los equipos que tienen firmware, fabricados desde hace un par de años (o quizá algo más), lo incluyen en memorias Flash.

LAS MEMORIAS DE UN ORDENADOR

En un ordenador podemos encontrar muchos tipos de memorias, algunas imprescindibles para el correcto funcionamiento del ordenador, y otras que, aunque el equipo puede funcionar sin ellas, ayudan bastante a aumentar el rendimiento. También los periféricos pueden tener su propia memoria, que puede ser controlada, o no, desde el ordenador.

Los principales tipos de memoria utilizadas en nuestros PCs se dividen en DRAM, SRAM y Tag RAM. Así la memoria DRAM (Dynamic Random Access Memory) es la que monta las placas base como memoria principal del sistema (memoria RAM), donde se almacenan las aplicaciones en ejecución y los datos que se están gestionando en cada momento. Se refresca cientos de veces por segundo y cuanto mayor cantidad pongamos a disposición de nuestro PC (dentro de unos límites, claro está), mejores resultados obtendremos.

Memoria SRAM

ramka_657

Representa la abreviatura de Static Random Access Memory y es la alternativa a la DRAM. No precisa de tanta electricidad como la anterior y está basada en el uso de transistores y no requiere refrescar su contenido, por lo que, en resumidas cuentas, funciona más rápida. Sin embargo tiene un elevado precio, por lo que de momento se reserva para ser utilizada en la memoria caché de procesadores y placas base, cuyo tamaño suele ser muy reducido, comparado con la RAM del sistema.

Así, y atendiendo a la utilización de la SRAM como memoria caché de nuestros sistemas informáticos, tenemos tres tipos:

– Async SRAM: la memoria caché de los antiguos 386, 486 y primeros Pentium, asíncrona y con velocidades entre 20 y 12 ns.

– Sync SRAM: es la siguiente generación, capaz de sincronizarse con el procesador y con una velocidad entre 12 y 8,5 ns. Muy utilizada en sistemas a 66 MHz de bus.

– Pipelined SRAM: se sincroniza igualmente con el procesador. Tarda en cargar los datos más que la anterior, aunque una vez cargados, accede a ellos con más rapidez. Opera a velocidades entre 8 y 4,5 ns.

 Memoria TagRAM

Este tipo de memoria almacena las direcciones de memoria de cada uno de los datos de la DRAM almacenados en la memoria caché del sistema. Así, si el procesador requiere un dato y encuentra su dirección en la Tag RAM, va a buscarlo inmediatamente a la caché, lo que agiliza el proceso.

 Memoria RAM.

chips-20072_1280

Como hemos visto anteriormente, la memoria RAM suele ser del tipo dinámico, DRAM. Antes de nada vamos a centrarnos en aspectos más físicos que lógicos de la memoria RAM. Lo primero que hemos de hacer es diferenciar entre módulo y chip de memoria. Los módulos de memoria son placas sobre las que se suelda un determinado número de chips de memoria. Así, tenemos los módulos SIMM, DIMM o RIMM, cada uno con características y prestaciones diferentes. Por otra parte, tenemos los chips, con tecnologías de memoria, capacidades y velocidades diversas. Estos son lo que realmente conforman la RAM de nuestro ordenador. El hecho de colocarlos sobre los módulos es una manera de agruparlos y facilitar su instalación.

Durante la época del Pentium II, Pentium III y Athlon, parecía que la memoria se había estabilizado en torno a la tecnología SDRAM y su formato DIMM de 168 contactos. No obstante, esto cambió durante el año 2000, en el que Intel apostó fuertemente por la memoria RAMBUS, para la que desarrolló el fatídico chipset i820, el primero del mundo PC en ofrecer soporte para este tipo de memoria. Los inconvenientes de esta memoria para el gran público se centraban en el alto precio de la misma, debido a la novedad y a los royalties que los fabricantes tenían que pagar por utilizar esta tecnología. Y justo cuando nos veíamos abocados a utilizar la RAMBUS o a estancarnos en la SDRAM, empresas como VIA y AMD lucharon por implantar y desarrollar la DDR (Double Data Rate). Esta memoria está basada en la SDRAM, aunque dobla su velocidad porque es capaz de realizar dos transferencias de datos en el mismo ciclo de reloj. Resumiendo, ahora podemos comprar ordenadores con memoria SDRAM, DDR o RAMBUS. Veamos sus características y entendamos sus diferencias a continuación.

TECNOLOGÍAS

  • FPM

(Fast Page Mode) es una memoria muy popular, ya que era la que se incluía en los antiguos 386, 486 y primeros Pentium. Alcanza velocidades de hasta 60ns. La podemos encontrar en los veteranos módulos SIMM de 30 contactos y los posteriores de 72.

  • EDO

(Extended Data Output): la memoria EDO, a diferencia de la FPM que sólo podía acceder a un solo byte al tiempo, permite mover un bloque completo de memoria a la memoria caché del sistema, mejorando así las prestaciones globales. Gracias a una mayor calidad, se alcanzaron velocidades de hasta 45ns. Podemos encontrarla en los Pentium, Pentium Pro y los primeros Pentium II. Se presentan en módulos SIMM de 72 contactos y en los primeros DIMM de 168 contactos, funcionando a 5 y 3,3 voltios.

  • BEDO

(Burst Extended Data Output) diseñada originalmente para la familia de chipsets HX, permite transferir datos al procesador en cada ciclo de reloj, aunque no de forma continuada, sino a ráfagas (burst), reduciendo los tiempos de espera del procesador, aunque sin conseguir eliminarlos del todo. las prestaciones. Se basa en un principio muy similar al de la memoria caché utilizada en los procesadores. Es la competencia de la DDR SDRAM.

  • SDRAM

(Synchronous DRAM). Como antes hemos comentado, es la más antigua. Comenzó a utilizarse en la época de los procesadores Pentium, primero en formato SIMM de 72 contactos y después en formato DIMM de 168 contactos. La característica más importante que hemos de buscar en este tipo de memoria es la velocidad de bus que soporte. Así, encontramos la PC66, PC100, PC133. Cada una de estas especificaciones nos muestra la velocidad de bus a la que se garantiza su funcionamiento sin errores. Si adquirimos un procesador con bus de sistema a 133 MHz, hemos de tener especial cuidado para comprar memoria PC133 si no queremos sufrir errores inesperados.

Sobre su actualidad, hemos de decir que está en franco retroceso. Todavía es el tipo de memoria más utilizado, aunque es algo que cambiará en breve, en cuanto las placas para memoria DDR se popularicen. Por ello, si podéis, la mejor opción es no utilizar esta memoria en vuestro equipo nuevo. Tendréis menos prestaciones y os resultará más complicado encontrar módulos para ampliar la memoria en un futuro.

  • DDR o SDRAM II

(Double Data Rate SDRAM) Esta tecnología es la evolución de la tradicional SDRAM, al tiempo que la solución a la necesidad de mayores prestaciones que el mercado venía demandando. No es, ni mucho menos, la tecnología definitiva, pero sí es cierto que concede al mundo informático un balón de oxígeno que le permita aguantar sin problemas el tirón de los nuevos procesadores de alta velocidad. El mayor inconveniente es que todavía no existen muchos chipset que la soporten, aunque empresas como VIA o ALI están desarrollando varios modelos. Otra nota predominante es que en un principio sólo hemos visto esta tecnología en placas y chipset destinados a los procesadores Athlon. Sin embargo, ya se han anunciado lanzamientos para los «micros» Pentium III, por lo que en breve podremos disfrutar de esta tecnología, elijamos la máquina que elijamos. El precio de esta memoria es muy similar a la de la actual SDRAM, lo cual hace pensar que la transición no será traumática en absoluto. Y por último, la actualización está asegurada dado que representa el futuro a medio plazo.

  • DDR2

DDR SDRAM es la abreviatura para Double Data Rate Synchronous Dynamic Random Access Memory (Memoria de acceso aleatoria dinámica sincrónica de velocidad doble de datos), que normalmente se llama ‘Memoria DDR’. Considerada una tecnología de evolución, la memoria DDR está reemplazando rápidamente la tecnología madura PC133/PC100 SDRAM.

Mientras que la memoria SDRAM soporta una sola operación de memoria (tal como una lectura o una escritura de memoria) por ciclo de reloj- la memoria DDR soporta dos operaciones de memoria por ciclo de reloj- y al hacer esto, proporciona el doble de desempeño. Debido a que SDRAM solamente puede hacer una operación de datos por ciclo de reloj, se clasifica como una tecnología de una sola velocidad de datos en comparación con las transferencias duales de datos soportadas por DDR, por lo que recibe el nombre “Velocidad doble de datos” (“Velocidad de datos” se refiere a la velocidad efectiva de reloj para los datos). Por ejemplo, la memoria PC133 SDRAM tiene una velocidad de reloj de 133MHz y una velocidad de datos correspondiente de 133 MHz (133 MHz x 1 operación de datos por ciclo de reloj). DDR de 333 MHz, con un reloj de 166 MHz, tiene una velocidad de datos de 333 MHz (166 MHz x 2 operaciones de datos por ciclo de reloj).

Los chips de memoria se conocen por su velocidad de datos y los módulos DDR se nombran por su ancho de banda pico, que es la cantidad máxima de datos en megabytes que se pueden transferir en un segundo.

La industria de las computadoras ha adoptado una convención práctica de referirlos simplemente con la velocidad de datos como la velocidad de DIMM DDR, por lo que se dice que los DIMMs PC1600 corren a 200 MHz; los DIMMs PC1200 a 266 MHZ; los DIMMs PC2700 a 333 MHz y los DIMMs PC3200 a 400 MHz

  • DRDRAM (RAMBUS)

(Direct Rambus DRAM) Es la tercera protagonista en discordia actualmente junto la DDR y SDRAM. Esta tecnología, desarrollada por la compañía del mismo nombre, fue la elegida por Intel para acompañar a sus futuros procesadores. Empezaron desarrollando el chipset i820, un modelo pensado para el procesador Pentium III y la memoria RAMBUS. Sin embargo, pronto surgieron los problemas. El primero fue el exorbitante precio por los royalties, que a igual cantidad de memoria podía ser hasta cinco veces más caro. Después, que las elevadas prestaciones que en un principio se prometían, no parecían tales según las pruebas realizadas en nuestros laboratorios. Actualmente, Intel cuenta con chipset para SDRAM y RAMBUS, aunque su objetivo inicial era implantarla definitivamente a todos los niveles. A causa de la mala acogida inicial, tuvo que rectificar, y por ello ahora sólo la encontramos en equipos de alta gama, como servidores o los ultimísimos Pentium 4. Y si hablamos de la plataforma Athlon, es importante saber que nadie se ha molestado en desarrollar un chipset que soporte esta memoria. En cualquier caso, es un tipo de memoria poco utilizado, bastante caro y con prestaciones que aún están por demostrar. Ya no se fabrica.

  • ESDRAM

(Enhanced SDRAM) incluye una pequeña memoria estática en el interior del chip SDRAM. Con ello, las peticiones de ciertos accesos pueden ser resueltas por esta rápida memoria, aumentando las prestaciones. Se basa en un principio muy similar al de la memoria caché utilizada en los procesadores. Es la competencia de la DDR SDRAM.

  • SLDRAM

(SyncLink DRAM) se basa, al igual que la DRDRAM, en un protocolo propietario, que separa las líneas CAS, RAS y de datos. Los tiempos de acceso no dependen de la sincronización de múltiples líneas, por lo que este tipo de memoria promete velocidades superiores a los 800 MHz, ya que además pueden operar al doble de la velocidad del reloj del sistema. Es un estándar abierto y se espera que compita, e incluso se imponga, a DRDRAM.

MÓDULOS 

modulosdememoria

  • SIMM

Image73Estos módulos (Single In-line Module Memory) pueden ser de 30 o 72 contactos, y en su mayor parte integran memoria de tipo DRAM (FP o EDO). Los módulos de 30 contactos eran utilizados en los 386 y 486. Más tarde aparecieron los de 72 contactos, algo más grandes y con capacidad de integrar más chips de memoria. Aunque se empezaron a utilizar con los últimos procesadores 486, vivieron su verdadero apogeo con los Pentium. En cualquier caso, la velocidad de respuesta de estos módulos no era inferior a los 50 o 60ns. Sobre la instalación de estos módulos hemos de tener presente que los de 30 contactos debían ser instalados de cuatro en cuatro en la mayor parte de los casos. En el caso de los de 72 contactos, éstos debían ser instalados a pares. Como es lógico, en los dos casos es necesario que los módulos tengan el mismo tamaño y, a ser posible, igual marca y modelo. La inserción de estos módulos es muy sencilla, entrando en los bancos de memoria en un ángulo de unos 45 grados, tras lo que sólo tendremos que empujar el módulo y colocarlo en posición vertical. En cualquiera de los dos casos, sólo hemos de tener presente el respetar que la pestaña lateral se acople en el banco elegido.

Image81

  • DIMM

06fig16Su nombre es la abreviatura de Dual In-line Memory Module, son la evolución de los anteriores y cuentan con 168 contactos. Suelen integrar memoria SDRAM, aunque en su tiempo los vimos con EDO DRAM y pronto lo haremos con la nueva DDR. Es el más cómodo de todos, dado que puede instalarse de manera individual, no siendo necesario hacer coincidir marcas y modelos sobre la misma placa. Para insertarlos sobre el banco de memoria, tan sólo tendremos que hacer coincidir las dos pestañas que encontraremos en el centro y lateral del módulo. Tras esto, haremos una aproximación a las pestañas traseras en un ángulo completamente recto a la placa. Bastará una presión en los extremos del módulo para que éste quede insertado.

  • DDR

ddr1-vs-ddr2-vs-ddr3Los DIMMs DDR y los SODIMMs tienen las mismas dimensiones físicas que sus contrapartes SDRAM, pero tienen diferentes huellas. Los DIMMs DDR tienen 184 clavijas comparadas con 168 clavijas para los DIMMs SDRAM y los módulos de DDR2 tiene 240 pines. Los SO-DIMMs DDR tienen 200 clavijas en comparación con las 144 clavijas para los SO-DIMMs SDRAM. Los DIMMs DDR y los SODIMMs también tienen una muesca diferente (llamada “llave”) que solamente se van a adaptar a las tarjetas madre y los sistemas diseñados para DDR. Los módulos DDR no entrarán en sockets PC100 ó PC133 y no son compatibles a la inversa.

  • RIMM

image025El último de los módulos que podemos encontrar en estos momentos en el mercado son los RIMM (Rambus In-line Memory Module), utilizados para montar memoria de tipo RAMBUS. Este tipo de memoria, apoyado por Intel y creado por la empresa Rambus, exige a los fabricantes el pago de royalties en concepto de uso, razón por la cual, salvo Intel, el resto de empresas del sector se decantan por la utilización de la memoria DDR a la que hacíamos referencia en el punto anterior. Estos módulos de memoria se caracterizan por estar cubiertos con una protección metálica, generalmente de aluminio, que también ayuda a su correcta refrigeración.

RESUMEN DE MEMORIAS

ROM

(no volátil)

PROM
EPROM
EEPROM
FLASH NOR

(cara, rápida, fiable)

NAND

(SSD, Pendrive, Tarjetas memoria)

RAM

(volátil)

SRAM

(sin refresco, rápida, cara)

Asíncrona
Síncrona
Pipelined
DRAM

(con señal de refresco. lenta, barata)

FPM
EDO/BEDO
SDRAM
SDRAM-II/DDR
DDR2
DDR3
DDR4
DRDRAM
ESDRAM
SLDRAM

TABLA COMPARATIVA DE MEMORIAS

TIPO MODULO VELOCIDAD REFRESCO TASA DE TRANSFERENCIA
DRAM SIMM 30c 70-80 ns
FPM SIMM 30c y 72c 60-70 ns
EDO SIMM 32c DIMM 168c 45-70 ns
SDRAM PC66 DIMM 168c 15 ns 533 MB/s
SDRAM PC100 DIMM 168c 10 ns 800 MB/s
SDRAM PC133 DIMM 168c 7,5 ns 1,06 GB/s
DDR 133 PC1060 DDR 184c / 2.5v 7,5 ns 1,06 GB/s
DDR 200 PC1600 DDR 184c / 2.5v 5 ns 1,6 GB/s
DDR 266 PC2100 DDR 184c / 2.5v 3,7 ns 2,1 GB/s
DDR 333 PC2700 DDR 184c / 2.5v 3 ns 2,7 GB/s
DDR 400 PC3200 DDR 184c / 2.6v 2,5 ns 3,2 GB/s
DDR2 400 PC2-3200 DDR2 240c / 1.8v 10 ns 3,2 GB/s
DDR2 533 PC2-4300 DDR2 240c / 1.8v 7,5 ns 4,26 GB/s
DDR2 600 PC2-4800 DDR2 240c / 1.8v 6,7 ns 4,8 GB/s
DDR2 667 PC2-5300 DDR2 240c / 1.8v 6 ns 5,33 GB/s
DDR2 800 PC2-6400 DDR2 240c / 1.8v 5 ns 6,4 GB/s
DDR2 1000 PC2-8000 DDR2 240c / 1.8v 3,75 ns 8 GB/s
DDR2 1066 PC2-8600 DDR2 240c / 1.8v 3,75 ns 8,53 GB/s
DDR2 1150 PC2-9200 DDR2 240c / 1.8v 3,5 ns 9,2 GB/s
DDR2 1200 PC2-9600 DDR2 240c / 1.8v 3,3 ns 9,6 GB/s
DDR3 1066 PC3-8500 DDR3 240c / 1.5v 7,5 ns 8,53 GB/s
DDR3 1200 PC3-9600 DDR3 240c / 1.5v 6.7 ns 9,6 GB/s
DDR3 1333 PC3-10700 DDR3 240c / 1.5v 6 ns 10,7 GB/s
DDR3 1375 PC3-11000 DDR3 240c / 1.5v 5.9 ns 11 GB/s
DDR3 1466 PC3-11700 DDR3 240c / 1.5v 5.5 ns 11,7 GB/s
DDR3 1600 PC3-12800 DDR3 240c / 1.5v 5 ns 12,8 GB/s
DDR3 1866 PC3-14930 DDR3 240c / 1.5v 4.3 ns 14,9 GB/s
DDR3 2000 PC3-16000 DDR3 240c / 1.5v 4 ns 16 GB/s
RDRAM PC600 RIMM 184c 2 ns 1,2 GB/s (2,4 GB/s)
RDRAM PC700 RIMM 184c 2 ns 1,4 GB/s (2,8 GB/s)
RDRAM PC800 RIMM 184c 2 ns 1,6 GB/s (3,2 GB/s)
RDRAM PC1066 RIMM 184c 2 ns 2,1 GB/s (4,2 GB/s)

OTRAS MEMORIAS

BIOS

Estas siglas significan Basic Input/Output System, que se traduce como Sistema básico de entrada/salida. Son un conjunto de rutinas que residen en una memoria ROM, o Flash, situada en la placa base, y proporciona al ordenador las rutinas necesarias para poder acceder al disquete, o disco duro, para empezar a arrancar el sistema operativo. Es un componente muy conocido, especialmente por su programa de configuración que se muestra al pulsar una tecla determinada durante el arranque del equipo y que todos hemos utilizado alguna vez, el SETUP. En la memoria BIOS también suelen estar las rutinas que permiten utilizar determinados dispositivos, como pueden ser los puertos paralelo avanzados, o arrancar de otras unidades como Zip o lectores CD-ROM. En la BIOS también encontramos las rutinas del POST (Power On Self Test) que verifican la presencia de los componentes instalados en el ordenador durante el proceso de encendido y les otorga los recursos para un uso óptimo de ellos. En caso de error se ejecutan los mensajes correspondientes, a nivel textual o mediante pitidos. En las placas modernas el sistema BIOS se encuentra instalado en una memoria Flash, para que el propio usuario pueda actualizarlo por software cuando sea necesario, sin tener que desmontar nada.

+Más Información

Memoria CMOS

Esta memoria es la más pequeña del equipo, puesto que sólo consta de algunas decenas de bytes. Se encuentra situada normalmente en el mismo chip que proporciona el reloj de tiempo real al sistema. Este chip funciona siempre, esté el ordenador encendido o apagado, puesto que es la única forma de mantener constantemente la hora actualizada. Se alimenta mediante pilas o con baterías recargables. Como para mantener la hora, necesita algunos bytes de memoria, y los diseñadores crearon más de la necesaria, los bytes que sobran se emplean para almacenar las opciones de configuración de la memoria BIOS. Dicho chip está fabricado con tecnología CMOS de bajo consumo, por lo que la batería es capaz de mantener esta información, y el reloj funcionando durante mucho tiempo. Actualmente casi ninguna placa emplea baterías recargables. En su lugar se utiliza una pila de litio, como las de los relojes de pulsera, que suele durar dos o tres años y después se puede cambiar fácilmente por otra nueva.  En determinadas ocasiones es posible que al encender el equipo aparezca un mensaje indicando que el contenido de la memoria CMOS ha desaparecido, si este mensaje se repite frecuentemente es necesario cambiar la pila que mantiene el funcionamiento del reloj de tiempo real.

+Más Información

Memoria caché L1 y L2

memoria_cache_l1_l2

Aunque el acceso del procesador a la memoria RAM del sistema es muy rápido, no se acerca siquiera a la velocidad real a la que puede leerse la memoria, puesto que como dijimos al hablar de memorias estáticas y dinámicas, el refresco de éstas últimas ralentiza un poco su velocidad. Aunque empleásemos memorias estáticas para la memoria RAM principal seguiríamos teniendo la limitación de velocidad del bus del procesador.  Para aumentar el rendimiento del sistema se emplea la memoria caché, que suele funcionar a la mitad de velocidad que el núcleo del procesador, aunque en las últimas versiones de los procesadores más comunes, ya lo hace a la misma velocidad.  Para explicar cómo funciona la memoria caché vamos a poner un ejemplo práctico. Imagínese que tiene en casa una estantería llena de libros. Normalmente son los que utiliza más a menudo para consultar, y los tiene muy cerca de su mesa, si necesita mirar algo sólo tiene que estirar el brazo para coger el libro apropiado. Puede darse el caso de necesitar mirar una información que no tiene en esos libros de la estantería. En ese caso tendrá que levantarse para ir a la librería del salón, mucho más grande, y con más libros. Evidentemente la información está allí, pero tardará más tiempo en utilizarla, porque tiene que levantarse, ir al salón, coger el libro, y volver a la mesa. Al cabo de un rato le asalta otra duda, pero no tiene en casa ningún libro que pueda resolverla. ¿La solución? Ir a una biblioteca, que tiene un tamaño muchísimo mayor al de su pequeña librería, o la estantería del salón. Al igual que en el caso anterior, encontrará la información, pero tendrá que salir de casa, ir a la biblioteca, buscar el libro, y volver a casa con él para consultarlo.

Exactamente igual funcionan las memorias caché y RAM de su ordenador. Sólo tiene que sustituir la estantería por la memoria caché de nivel 1 (l1), la librería del salón por la caché de nivel 2 (l2) y la biblioteca por la memoria RAM del sistema. Cuando el procesador lee una instrucción para ejecutarla, el controlador de la memoria caché copia en dicha memoria las siguientes instrucciones, porque es muy probable que se lean a continuación. Es como si al ir a la biblioteca para leer el primer tomo de la Crónica de la Segunda Guerra Mundial, el bibliotecario le entregase también los tomos 2 y 3, porque es probable que los lea a continuación. Cuando llegue a su casa, tendrá en la estantería los libros durante unos días, porque los consultará a menudo, al cabo de los cuales los devolverá a la biblioteca. Del mismo modo, la memoria caché mantiene los datos que ha leído durante algún tiempo, normalmente hasta que necesite ese espacio para otros programas. La mayor utilidad se obtiene cuando el ordenador ejecuta bucles puesto que, dependiendo de su tamaño, pueden copiarse íntegramente en la memoria caché aumentando notablemente el rendimiento total del sistema.  La memoria caché de nivel 1 es la que más próxima está al procesador, tanto es así que normalmente está integrada en el chip del procesador. La de segundo nivel puede estar en la placa base, o dentro del encapsulado del procesador, como ocurre con los Pentium II y III y los Celeron. En el caso de que no exista caché de nivel 1, la de segundo nivel pasa a ser de primer nivel, pero esto es algo que no sucede en los procesadores modernos. Podríamos añadir también un cuarto nivel, en nuestro ejemplo de los libros. Imagine que en la biblioteca no tienen el libro que necesita, en este caso tendrán que encargarlo a la editorial para que se lo envíe, con lo que pueden pasar algunos días hasta que pueda consultar el libro en cuestión. Este equivalente a la editorial podría ser el disco duro del ordenador. Aunque en nuestro ejemplo tratamos con segundos, minutos, horas, e incluso días, y al pasarlo al ordenador se convierten el millonésimas de segundo, las diferencias que hay en proporción nos permiten hacernos una idea de lo que significa para el procesador no encontrar un dato en la memoria caché. Muchas personas no tienen ni la más ligera idea de la utilidad de la memoria caché, esperemos que con este ejemplo tan gráfico hayamos despejado todas las dudas posibles.

Memoria de vídeo

B36A34AD5

La tarjeta gráfica también necesita su propia memoria, en la cual se genera la imagen que después aparecerá en la pantalla. El procesador accede a esta memoria, para copiar los datos que forman la imagen, y a continuación los chips de la tarjeta convierten estos datos en una señal analógica que se envía al monitor.  Hay muchos tipos de memoria de vídeo, en función del tipo de tarjeta gráfica empleada, desde las que utilizan memoria RAM del ordenador, que normalmente están integradas en la placa base, hasta las memorias de doble puerto, en las que el procesador escribe los datos en uno de los puertos, mientras que los chips gráficos los leen por el otro, de forma simultánea. Esta forma de acceso acelera notablemente el acceso a esta memoria, puesto que en las convencionales, mientras el procesador escribe los datos, los chips gráficos tienen que esperar, y viceversa. Si la memoria tiene dos puertos, no es necesario que ninguno espere. También se emplean memorias RAM EDO, convencionales, además de algunos tipos más, desarrollados por los fabricantes de tarjetas gráficas, entre los que podemos destacar WRAM (o Windows RAM), SGRAM o VRAM (vídeo RAM).

Memoria caché de dispositivos

hdd-completo

Hay determinados periféricos que utilizan distintos tipos de memoria para almacenar datos de forma temporal, ya sea para su utilización propia, o para enviárselos posteriormente al ordenador.  El ejemplo más habitual de esta última función es la memoria intermedia que utilizan algunas controladoras de discos de alto rendimiento. Para evitar que el procesador tenga que estar esperando mientras se recuperan los datos del disco duro, se utilizan controladoras que disponen de memoria caché en la que almacenan los ficheros. Cuando el programa que se está ejecutando pide un determinado fichero, el procesador transmite esta petición a la controladora, y continua procesando otras tareas. Mientras la controladora accede al disco y copia los ficheros pedidos a su memoria caché, para que cuando el procesador los vuelva a necesitar no se tengan que volver a leer del disco duro, siendo el acceso a la memoria caché prácticamente instantáneo, en comparación con lo que supone buscar y copiar los datos desde el dispositivo de almacenamiento.  Algunas tarjetas de sonido también incorporan memoria, pero que no se utiliza como memoria caché para enviar datos al ordenador. Por el contrario, es el ordenador en que introduce en esta memoria bancos de instrumentos que posteriormente utilizará el sintetizador por tabla de ondas para generar música. Con la llegada de tarjetas de sonido PCI, esta memoria tiende a desaparecer, porque el chip que genera el sonido puede acceder directamente a la RAM principal del sistema. Se reserva una determinada cantidad de memoria para la tarjeta, que no puede usar el sistema, y así el fabricante ahorra esa memoria, lo cual repercute en el precio final del producto.


 

 GLOSARIO

Definiciones y Conceptos

De forma interna, la memoria RAM se puede entender como una tabla de celdas de datos en filas y columnas. Para acceder a un dato concreto, contenido en una de esas celdas, el controlador de memoria debe darle las “coordenadas” donde se encuentra dicho dato.

Es decir, que el proceso completo para obtener el dato de una celda de memoria, pasa por darle la coordenada “columna” (CAS), darle la coordenada “fila” (RAS), y esperar a obtener el dato solicitado. Entre todos estos procesos existen ciertos “tiempos” que necesita la memoria para “estabilizar” electrónicamente las señales y poder responder a cada solicitud. Estos tiempos variarán en función de la calidad de la memoria.

FSB (Front Side Bus)

 Es la “línea” de comunicación entre el procesador, el controlador de memoria (northbridge) y la memoria en si.

Reloj del sistema. Se mide en Megaherzios (MHz)

 Existe un componente del sistema que reside en la placa madre que es el Reloj. Este, envía una señal a todos los componentes del ordenador a un ritmo concreto. Si el reloj del sistema funciona a 100MHz, esto significa que que genera 100 millones de ciclos de reloj por segundo. Cada acción que procesa el ordenador se marca con un tiempo mediante estos ciclos de reloj. Cuando se procesa una solicitud a la memoria, el controlador puede informar al procesador que esos datos llegarán, por ejemplo, en seis ciclos de reloj.

Es posible que la CPU y otros componentes puedan funcionar a un ritmo mayor o menor que el marcado por el reloj. Estos componentes requieren de un factor de multiplicación de la señal del reloj para sincronizarlos. Por ejemplo, cuando tenemos un reloj de 100MHz y una CPU a 400MHz, cada dispositivo sabrá que cada ciclo de reloj del sistema, será igual a cuatro ciclos de reloj de la CPU y se ajustarán para sincronizar sus acciones.

Debemos entender que cuando hacemos un overclocking con el reloj del sistema, todos los componentes se ven afectados en mayor o menor medida en función del factor de multiplicación. Además hay que considerar que el sistema se “caerá” cuando el componente más lento no sea capaz de seguir el ritmo.

Por ejemplo, hay dos maneras de ajustar la velocidad del procesador. Una es configurando los MHz del reloj. Otra es modificando el multiplicador asignado a este. Lógicamente, la configuración del reloj afectará al resto de los componentes.

Para conseguir mejorar el rendimiento del ordenador, hay que tener en cuenta todo el conjunto de los componentes y sus limitaciones.

Es decir, un equipo con un FSB a 133MHz y con un multiplicador de 15 para el micro, conseguirá un procesador funcionando a 1995MHz.

Sin embargo, será más rápido un equipo con un FSB a 166MHz con un multiplicador de 11,5, a pesar que el procesador funcione tan solo a 1909MHz.

 Fuentes de control del SPD

La mayoría de los módulos DIMM modernos (PC100, PC133, PC2100, etc) albergan un chip que transmite información de la memoria a la BIOS. El chip incluye la latencia CAS (Column Address Strobe) y los tiempos de RAS (Row Address Strobe), que influyen en el rendimiento de la memoria. Configurando la memoria mediante el SPD (Serial Presence Detect) se asegura que la memoria funcionará. No obstante, si se quiere experimentar con la configuración, a veces se puede desconectar el SPD y modificar las especificaciones de la memoria manualmente.

Si se dispone de una memoria más antigua o de poca capacidad, el SPD podría no ser compatible, con lo que simplemente habría que probar y ver qué pasa. Si no se logra acceder mediante el ctspd, es posible encontrar los timings mirando en la misma DIMM, algunos los traen especificados en una pegatina adherida al chip (especialmente la CAS).

 Timings, Latencias

 Es el dato que nos orienta sobre las prestaciones de una memoria.

Se trata de datos relativos, ya que no conocemos las condiciones en que los fabricantes han obtenido esos resultados y a que esas prestaciones varían en función de la configuración del equipo. En la práctica, esas prestaciones pueden modificarse en función de la calidad de la memoria, del chipset de la placa y de otros módulos de memoria que podamos tener instalados.

Este dato suele ser de la forma: A-B-C-D ET. En caso de que no nos den todos los timings, siempre nos darán los datos de izquierda a derecha ya que es el orden de importancia. Cuanto menor sean los números, mejores serán las prestaciones ya que hacen referencias a retardos.

Significan:

A (latencia CAS) – B (latencia entre CAS y RAS) – C (precarga RAS) – D (tRAS) – ET (tiempo de traducción)

El timing C, prácticamente no afecta el rendimiento de la memoria. Hace referencia a latencias cuando la memoria funciona en “Burst mode“.

El timing D es el tiempo de precarga del RAS y debemos configurarlo igual o mayor a A+C+2, para conseguir un equipo estable.

El timing E es el tiempo que se necesita para convertir las coordenadas lógicas en las coordenadas físicas. Es decir, en localizar el módulo de memoria donde se encuentra el dato solicitado. Solo tiene sentido cuando tenemos más de un módulo de memoria y en caso de que no sea 1T, el retraso será causado por el chipset de la placa, antes que por el propio módulo de memoria.

DDRAM (Double Data Rate Random Access Memory)

 Es un tipo de memoria, derivada de la SDRAM, donde se realizan transacciones de la información, tanto en el momento de subida de la señal de reloj como en el momento de bajada. De esta manera, con una velocidad de reloj de 133MHz, conseguimos una velocidad efectiva de 266Mhz. Esta es la explicación de porque las memorias DDRAM pueden tener latencias de, por ejemplo, 2,5 ciclos de reloj además de poder tenerlas de 2 o de 3, como ocurre con la SDRAM.

 Dual Channel/Triple Channel

Se trata de una nueva forma de trabajar con la memoria DDR donde el controlador ofrece a la CPU dos canales independientes y simultáneos para acceder a los datos. De esta manera se duplica el ancho de banda teórico. Para ello es imprescindible rellenar los bancos de memoria con 2 módulos.

Unbenannt

Cuando compramos memoria Dual Channel, el fabricante garantiza que el par de módulos incluidos en el paquete disfrutan de timings idénticos. De esta manera, mejoramos el rendimiento en placas configuradas para trabajar en Dual Channel.

 O/C (Overclocking)

 Un método para incrementar la velocidad del sistema, aprovechando las especificaciones de los componentes (memoria, procesador, placa madre, vga). Puede realizarse cambiando la configuración del hardware o del software.

Tiempo de acceso. Se mide en nanosegundos (ns)

 El tiempo de acceso se mide desde el momento en el que módulo de memoria recibe una solicitud de datos hasta el momento en que esos datos están disponibles. Cuanto más bajo sea el tiempo de acceso, más rápida será la memoria.

Anuncios

Un comentario Agrega el tuyo

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s