Download Memorias RAM

Document related concepts
no text concepts found
Transcript
Memorias RAM
(Mantenimiento de Instalaciones Informáticas)
Guillermo Badía Martí
[email protected]
Memorias RAM Guillermo B. Índice
Memorias RAM: Introducción ………………………………………………………………..…………………… 3 Tipos Según la conservación de los datos Según sus contactos …………………………………... …………………………………………………….….….. Variantes según características ……………………………………………..… 4 4,5 6 Funcionamiento ……………………………………………………………………...… Sincronización (tiempos) Estructura lógica, almacenamiento de: Datos ………………………………………………………………………... Ejecutables ……………………………………………..… 7‐13 14 14 …………………………………………………………................. 14,15 Clases de error …………………………………………………………................. 15,17 Errores Sistemas de corrección Paridad ………………………………………………………………………... 17 ECC 17 ,18 ………………………………………………............................ Canal doble ………………………………………………............... 18,19 Página 2de 19 Memorias RAM Guillermo B. Memorias primarias Cuando hablamos de la placa‐base, comentamos que la memoria interna es la que se encuentra físicamente dentro del sistema constituido por la placa‐base, o en tarjetas de circuito impreso directamente conectadas a ella. Debido a ello distinguimos memorias internas y externas (también primarias y secundarias). Dentro de este tipo de memorias (primarias o internas) distinguiremos las siguientes: ‐Los registros del procesador ‐Las cachés interna y externa ‐La memoria BIOS ‐La memoria RAM En éste trabajo nos vamos a centrar en las memorias RAM, la memoria RAM cuándo nos referimos, o hacemos referencia a las memorias 'RAM' de nuestro ordenador estamos haciendo uso del acrónimo de (Random Access Memory). Éste tipo de memorias está clasificada como interna pero en cierto modo es al mismo tiempo una memoria externa ya que está situada fuera del procesador (el "Cerebro" del ordenador); es como su bloc de notas. El procesador tiene una memoria raquítica (se reduce a sus registros), pero una gran facilidad para manejar este almacenamiento auxiliar. De hecho, gran parte del trabajo del procesador se concreta en traer y llevar datos desde RAM hasta sus propios registros. A diferencia de los discos duros (HD) éstas memorias son de tipo temporal, es decir, sin energía pierden la información que contienen por lo tanto decimos que son memorias volátiles, para referirnos a memorias no‐volátiles haremos referencia a memorias ROM (Read Only Memory), aunque otra de las principales diferencias entre éstas dos memorias es el acceso, una nos permite la lectura‐escritura (RAM), mientras que la otra sólo es de lectura (ROM). Página 3de 19 Memorias RAM Guillermo B. Entre ellas podemos distinguir dos tipos de memorias RAM: ‐Estáticas: (SRAM) Éste tipo de memoria, mantiene su contenido inalterado, mientras recibe energía. ‐Dinámicas: (DRAM) Las memorias dinámicas pierden su información cuando éste es leído y además si dejan de recibir energía. Para evitar las pérdidas de información al ser leída se restaura la información que contienen sus celdas (refresco). Como bien sabemos las memorias RAM, al igual que el resto de elementos hardware, el desarrollo de la tecnología de memorias ha sido incesante y por ello hoy en día podemos distinguir gran variedad de tipos, ya sea por su forma de conectarse a la placa‐base, funcionalidad, gestión de recursos, etc. Aquí se incluyen algunos tipos: Los primeros PC’s no llegaron a conocer las memorias de núcleos de ferrita, puesto que ya montaban varias decenas módulos de DRAM encapsulados en chips DIP ("Dual In‐line Package") de 16 contactos sobre zócalos. Podemos afrimar que existen los siguientes tipos: SIMM (Single In‐line Memory Module), con 30 ó 72 contactos, módulos DIMM (Dual In‐line Memory Module), con 168 contactos. RIMM (RAMBUS In‐line Memory Module) con 184 contactos. ‐En cuanto a los módulos en formato SIMM (Módulo de Memoria en Línea Simple): se trata de placas de circuito impresas, con uno de sus lados equipado con chips de memoria. Existen dos tipos de módulos SIMM, según el número de conectores: Los módulos SIMM con 30 conectores (de 89x13mm) son memorias de 8 bits que se instalaban en los PC de primera generación (286, 386). Los módulos SIMM con 72 conectores (sus dimensiones son 108x25mm) son memorias capaces de almacenar 32 bits de información en forma simultánea. Estas memorias se encuentran en los PC que van desde el 386DX hasta los primeros Pentiums. En el caso de estos últimos, el procesador funciona con un bus de información de 64 bits, razón por la cual, estos ordenadores necesitan estar equipados con dos módulos SIMM. Los módulos de 30 clavijas no pueden instalarse en posiciones de 72 conectores, ya que la muesca (ubicada en la parte central de los conectores) imposibilitaría la conexión. Página 4de 19 Memorias RAM Guillermo B. ‐Los módulos en formato DIMM (Módulo de Memoria en Línea Doble), son memorias de 64 bits, lo cual explica por qué no necesitan emparejamiento. Los módulos DIMM poseen chips de memoria en ambos lados de la placa de circuito impresa, y poseen a la vez, 84 conectores de cada lado, lo cual suma un total de 168 clavijas. Además de ser de mayores dimensiones que los módulos SIMM (130x25mm), estos módulos poseen una segunda muesca que evita confusiones. Cabe observar que los conectores DIMM han sido mejorados para facilitar su inserción, gracias a las palancas ubicadas a ambos lados de cada conector. También existen módulos más pequeños, conocidos como SO DIMM (DIMM de contorno pequeño), diseñados para ordenadores portátiles. Los módulos SO DIMM sólo cuentan con 144 clavijas en el caso de las memorias de 64 bits, y con 77 clavijas en el caso de las memorias de 32 bits. ‐Los módulos en formato RIMM (Módulo de Memoria en Línea Rambus, también conocido como RD‐RAM o DRD‐RAM) son memorias de 64 bits desarrolladas por la empresa Rambus. Poseen 184 clavijas. Dichos módulos poseen dos muescas de posición, con el fin de evitar el riesgo de confusión con módulos previos. Dada la alta velocidad de transferencia de que disponen, los módulos RIMM poseen una película térmica cuyo rol es el mejorar la transferencia de calor. Al igual que con los módulos DIMM, también existen módulos más pequeños, conocidos como SO RIMM (RIMM de contorno pequeño), diseñados para ordenadores portátiles. Los módulos SO RIMM poseen sólo 160 clavijas. En la imagen: Módulo DIMM de 168 contactos con 16 MB de SDRAM junto con un antiguo chip de 16 contactos con 2 KB de DRAM. Página 5de 19 Memorias RAM Guillermo B. Sobre estos módulos se conectan los chips de memoria RAM, y existen gran variedad de variantes de memorias RAM dependiendo de su uso y sus características: •
•
•
•
VRAM (Vídeo RAM) Acceso de diferentes dispositivos al mismo tiempo. Mejor rendimiento que la RAM normal (más cara). SIMM (Single In line Memory Module, de 72 contactos) tipo de encapsulado consistente en una pequeña placa de circuito impreso que almacena chips de memoria, y que se inserta en un zócalo SIMM en la placa madre o en la placa de memoria. Los SIMMs son más fáciles de instalar que los antiguos chips de memoria individuales, y a diferencia de ellos son medidos en bytes en lugar de bits. DIMM (Dual In line Memory Module, de 168 contactos), un tipo de encapsulado, consistente en una pequeña placa de circuito impreso que almacena chips de memoria, que se inserta en un zócalo DIMM en la placa madre. VRAM : Siglas de Vídeo RAM, una memoria de propósito especial usada por los adaptadores de vídeo. A diferencia de la convencional memoria RAM, la VRAM puede ser accedida por dos diferentes dispositivos de forma simultánea. Esto permite que un monitor pueda acceder a la VRAM para las actualizaciones de la pantalla al mismo tiempo que un procesador gráfico suministra nuevos datos. VRAM permite mejores rendimientos gráficos aunque es más cara que la una RAM normal. •
SIMM : Siglas de Single In line Memory Module, un tipo de encapsulado consistente en una pequeña placa de circuito impreso que almacena chips de memoria, y que se inserta en un zócalo SIMM en la placa madre o en la placa de memoria. Los SIMMs son más fáciles de instalar que los antiguos chips de memoria individuales, y a diferencia de ellos son medidos en bytes en lugar de bits. El primer formato que se hizo popular en los computadores personales tenía 3.5" de largo y usaba un conector de 32 pins. Un formato más largo de 4.25", que usa 72 contactos y puede almacenar hasta 64 megabytes de RAM es actualmente el más frecuente. Un PC usa tanto memoria de nueve bits (ocho bits y un bit de paridad, en 9 chips de memoria RAM dinámica) como memoria de ocho bits sin paridad. En el primer caso los ocho primeros son para datos y el noveno es para el chequeo de paridad. •
DIMM : Siglas de Dual In line Memory Module, un tipo de encapsulado, consistente en una pequeña placa de circuito impreso que almacena chips de memoria, que se inserta en un zócalo DIMM en la placa madre y usa generalmente un conector de 168 contactos. •
DIP :Siglas de Dual In line Package, un tipo de encapsulado consistente en almacenar un chip de memoria en una caja rectangular con dos filas de pines de conexión en cada lado. •
RAM Disk : Se refiere a la RAM que ha sido configurada para simular un disco duro. Se puede acceder a los ficheros de un RAM disk de la misma forma en la que se acceden a los de un disco duro. Sin embargo, los RAM disk son aproximadamente miles de veces Página 6de 19 Memorias RAM Guillermo B. más rápidos que los discos duros, y son particularmente útiles para aplicaciones que precisan de frecuentes accesos a disco. Dado que están constituidos por RAM normal. los RAM disk pierden su contenido una vez que la computadora es apagada. Para usar los RAM Disk se precisa copiar los ficheros desde un disco duro real al inicio de la sesión y copiarlos de nuevo al disco duro antes de apagar la máquina. Observe que en el caso de fallo de alimentación eléctrica, se perderán los datos que hubiera en el RAM disk. El sistema operativo DOS permite convertir la memoria extendida en un RAM Disk por medio del comando VDISK, siglas de Virtual DISK, otro nombre de los RAM Disks. •
Memoria Caché ó RAM Caché : Un caché es un sistema especial de almacenamiento de alta velocidad. Puede ser tanto un área reservada de la memoria principal como un dispositivo de almacenamiento de alta velocidad independiente. Hay dos tipos de caché frecuentemente usados en las computadoras personales: memoria caché y caché de disco. Una memoria caché, llamada también a veces almacenamiento caché ó RAM caché, es una parte de memoria RAM estática de alta velocidad (SRAM) más que la lenta y barata RAM dinámica (DRAM) usada como memoria principal. La memoria caché es efectiva dado que los programas acceden una y otra vez a los mismos datos o instrucciones. Guardando esta información en SRAM, la computadora evita acceder a la lenta DRAM. Cuando un dato es encontrado en el caché, se dice que se ha producido un impacto (hit), siendo un caché juzgado por su tasa de impactos (hit rate). Los sistemas de memoria caché usan una tecnología conocida por caché inteligente en el cual el sistema puede reconocer cierto tipo de datos usados frecuentemente. Las estrategias para determinar qué información debe de ser puesta en el caché constituyen uno de los problemas más interesantes en la ciencia de las computadoras. Algunas memorias caché están construidas en la arquitectura de los microprocesadores. Por ejemplo, el procesador Pentium II tiene una caché L2 de 512 Kbytes. El caché de disco trabaja sobre los mismos principios que la memoria caché, pero en lugar de usar SRAM de alta velocidad, usa la convencional memoria principal. Los datos más recientes del disco duro a los que se ha accedido (así como los sectores adyacentes) se almacenan en un buffer de memoria. Cuando el programa necesita acceder a datos del disco, lo primero que comprueba es la caché del disco para ver si los datos ya están ahí. La caché de disco puede mejorar drásticamente el rendimiento de las aplicaciones, dado que acceder a un byte de datos en RAM puede ser miles de veces más rápido que acceder a un byte del disco duro. •
SRAM Siglas de Static Random Access Memory, es un tipo de memoria que es más rápida y fiable que la más común DRAM (Dynamic RAM). El término ‘estática’ viene derivado del hecho que necesita ser refrescada menos veces que la RAM dinámica. Los chips de RAM estática tienen tiempos de acceso del orden de 10 a 30 nanosegundos, mientras que las RAM dinámicas están por encima de 30, y las memorias bipolares y ECL se encuentran por debajo de 10 nanosegundos. Un bit de RAM estática se construye con un ‐‐‐ como circuito flip‐flop que permite que la corriente fluya de un lado a otro basándose en cual de los dos transistores es activado. Las RAM estáticas no precisan de circuitería de refresco como sucede con las RAMs dinámicas, pero precisan más espacio y usan mas energía. La SRAM, debido a su alta velocidad, es usada como memoria caché. •
DRAM Siglas de Dynamic RAM, un tipo de memoria de gran capacidad pero que precisa ser constantemente refrescada (re‐energizada) o perdería su contenido. Generalmente usa un transistor y un condensador para representar un bit Los condensadores debe de ser energizados cientos de veces por segundo para Página 7de 19 Memorias RAM Guillermo B. mantener las cargas. A diferencia de los chips firmware (ROMs, PROMs, etc.) las dos principales variaciones de RAM (dinámica y estática) pierden su contenido cuando se desconectan de la alimentación. Contrasta con la RAM estática. Algunas veces en los anuncios de memorias, la RAM dinámica se indica erróneamente como un tipo de encapsulado; por ejemplo "se venden DRAMs, SIMMs y SIPs", cuando debería decirse "DIPs, SIMMs y SIPs" los tres tipos de encapsulado típicos para almacenar chips de RAM dinámica. También algunas veces el término RAM (Random Access Memory) es utilizado para referirse a la DRAM y distinguirla de la RAM estática (SRAM) que es más rápida y más estable que la RAM dinámica, pero que requiere más energía y es más cara •
SDRAM Siglas de Synchronous DRAM, DRAM síncrona, un tipo de memoria RAM dinámica que es casi un 20% más rápida que la RAM EDO. SDRAM entrelaza dos o más matrices de memoria interna de tal forma que mientras que se está accediendo a una matriz, la siguiente se está preparando para el acceso. SDRAM‐II es tecnología SDRAM más rápida esperada para 1998. También conocido como DDR DRAM o DDR SDRAM (Double Data Rate DRAM o SDRAM), permite leer y escribir datos a dos veces la velocidad bús. •
FPM: Siglas de Fast Page Mode, memoria en modo paginado, el diseño más común de chips de RAM dinámica. El acceso a los bits de memoria se realiza por medio de coordenadas, fila y columna. Antes del modo paginado, era leído pulsando la fila y la columna de las líneas seleccionadas. Con el modo pagina, la fila se selecciona solo una vez para todas las columnas (bits) dentro de la fila, dando como resultado un rápido acceso. La memoria en modo paginado también es llamada memoria de modo Fast Page o memoria FPM, FPM RAM, FPM DRAM. El término "fast" fué añadido cuando los más nuevos chips empezaron a correr a 100 nanoseconds e incluso más. •
EDO: Siglas de Extended Data Output, un tipo de chip de RAM dinámica que mejora el rendimiento del modo de memoria Fast Page alrededor de un 10%. Al ser un subconjunto de Fast Page, puede ser substituida por chips de modo Fast Page. Sin embargo, si el controlador de memoria no está diseñado para los más rápidos chips EDO, el rendimiento será el mismo que en el modo Fast Page. EDO elimina los estados de espera manteniendo activo el buffer de salida hasta que comienza el próximo ciclo. BEDO (Burst EDO) es un tipo más rápido de EDO que mejora la velocidad usando un contador de dirección para las siguientes direcciones y un estado 'pipeline' que solapa las operaciones. •
PB SRAM: Siglas de Pipeline Burst SRAM. Se llama 'pipeline' a una categoría de técnicas que proporcionan un proceso simultáneo, o en paralelo dentro de la computadora, y se refiere a las operaciones de solapamiento moviendo datos o instrucciones en una 'tubería' conceptual con todas las fases del 'pipe' procesando simultáneamente. Por ejemplo, mientras una instrucción se está ejecutando, la computadora está decodificando la siguiente instrucción. En procesadores vectoriales, pueden procesarse simultáneamente varios pasos de operaciones de coma flotante La PB SRAM trabaja de esta forma y se mueve en velocidades de entre 4 y 8 nanosegundos. Página 8de 19 Memorias RAM Guillermo B. Funcionamiento de la memoria RAM Al hacer alusión a que la memoria RAM y referirnos a ella como el bloc de notas del procesador, es porque ésta funciona como apoyo de los registros del procesador. Cualquier programa en ejecución está alojado en memoria; las instrucciones van siendo pasadas a los registros para su ejecución de forma secuencial, y los datos son pasados también a los registros para su manipulación. La memoria de acceso aleatorio consta de cientos de miles de pequeños capacitadores que almacenan cargas. Al cargarse, el estado lógico del capacitador es igual a 1; en el caso contrario, es igual a 0, lo que implica que cada capacitador representa un bit de memoria. Teniendo en cuenta que se descargan, los capacitadores deben cargarse constantemente (el término exacto es actualizar) a intervalos regulares, lo que se denomina ciclo de actualización. Las memorias DRAM, por ejemplo, requieren ciclos de actualización de unos 15 nanosegundos (ns). Cada capacitador está acoplado a un transistor (tipo MOS), lo cual posibilita la "recuperación" o modificación del estado del capacitador. Estos transistores están dispuestos en forma de tabla (matriz), de modo que se accede a la caja de memoria (también llamada punto de memoria) mediante una línea y una columna. He aquí un pequeño ejemplo de cómo están dispuestos: Puesto que se trata de un almacenamiento volátil, cualquier dato almacenado en memoria debe ser salvado a un almacenamiento permanente (disco) antes de apagar el sistema. La forma en que se utiliza la memoria depende del SO utilizado. En cuanto a los sistemas tipo MS‐DOS tienen una disposición "Mapeado" relativamente complicada, lo que es debido a la pequeña cantidad de memoria que podía ser direccionada por los primeros equipos (1 MB para el 8088). Actualmente el problema ha desaparecido parcialmente, ya que a partir del 80286 los PCs podían direccionar 16 MB; cantidad que fue creciendo Página 9de 19 Memorias RAM Guillermo B. paulatinamente a 4 GB para el 80386 y que actualmente llega a 64 GB en los modernos procesadores Pentium y similares. DRAM PM La DRAM (RAM Dinámica) es el tipo de memoria más común en estos tiempos. Se trata de una memoria cuyos transistores se disponen en forma de matriz, en forma de filas y columnas. Un transistor, acoplado con un capacitador, proporciona información en forma de bits. Dado que un octeto contiene 8 bits, un módulo de memoria DRAM de 256 Mo contendrá por lo tanto 256 * 2^10 * 2^10 = 256 * 1024 * 1024 = 268.435.456 octetos = 268.435.456 * 8 = 2.147.483.648 bits = 2.147.483.648 transistores. De esta manera, un módulo de 256 Mo posee una capacidad de 268.435.456 octetos, o 268 Mo. Los tiempos de acceso de estas memorias son de 60 ns. Además, el acceso a la memoria en general se relaciona con la información almacenada consecutivamente en la memoria. De esta manera, el modo de ráfaga permite el acceso a las tres partes de información que siguen a la primera parte, sin tiempo de latencia adicional. De este modo, el tiempo necesario para acceder a la primera parte de la información es igual al tiempo del ciclo más el tiempo de latencia, mientras que el tiempo necesario para acceder a las otras tres partes de la información sólo es igual al tiempo de ciclo; los cuatro tiempos de acceso se expresan, entonces, en la forma X‐Y‐Y‐Y. Por ejemplo, 5‐3‐3‐3 indica que la memoria necesita 5 ciclos del reloj para acceder a la primera parte de la información, y 3 para acceder a las subsiguientes. DRAM FPM Para acelerar el acceso a la DRAM, existe una técnica, conocida como paginación, que permite acceder a la información ubicada en una misma columna, modificando únicamente la dirección en la fila, y evitando de esta manera, la repetición del número de columna entre lecturas por fila. Este proceso se conoce como DRAM FPM (Memoria en Modo Paginado). El FPM alcanza tiempos de acceso de unos 70 u 80 nanosegundos, en el caso de frecuencias de funcionamiento de entre 25 y 33 Mhz. DRAM EDO La DRAM EDO (Salida de Información Mejorada, a veces denominada "híper‐ página") se introdujo en 1995. La técnica utilizada en este tipo de memoria implica direccionar la columna siguiente mientras paralelamente se está leyendo la información de una columna anterior. De esta manera, se crea un acceso superpuesto que permite ahorrar tiempo en cada ciclo. El tiempo de acceso de la memoria EDO es de 50 a 60 nanosegundos, en el caso de una frecuencia de funcionamiento de entre 33 y 66 Mhz. De modo que la RAM EDO, cuando se utiliza en modo ráfaga, alcanza ciclos 5‐2‐2‐2, lo cual representa una ganancia de 4 ciclos al acceder a 4 partes de información. Dado que la memoria EDO no funcionaba con frecuencias mayores a 66 Mhz, se suspendió su uso en favor de la SDRAM. SDRAM Página 10de 19 Memorias RAM Guillermo B. La SDRAM (DRAM Sincrónica), introducida en 1997, permite la lectura de la información sincronizada con el bus de la placa madre, a diferencia de lo que ocurre con las memorias EDO y FPM (conocidas como asincrónicas), las cuales poseen reloj propio. La SDRAM elimina de esta manera, los tiempos de espera ocasionados por la sincronización con la placa madre. Gracias a esto se logra un ciclo de modo ráfaga de 5‐1‐1‐1, con una ganancia de 3 ciclos en comparación con la RAM EDO. La SDRAM puede, entonces, funcionar con una frecuencia mayor a 150 MHz, logrando tiempos de acceso de unos 10 ns. DR‐SDRAM (Rambus DRAM) La DR‐SDRAM (DRAM Directa de Rambus), es un tipo de memoria que permite la transferencia de datos a un bus de 16 bits y a una frecuencia de 800 Mhs, lo que proporciona un ancho de banda de 1,6 GB/s. Al igual que la SDRAM, este tipo de memoria está sincronizada con el reloj del bus, a fin de mejorar el intercambio de información. Sin embargo, la memoria RAMBUS es un producto de tecnología patentada, lo que implica que cualquier empresa que desee producir módulos RAM que utilicen esta tecnología deberá abonar regalías, tanto a RAMBUS como a Intel. DDR‐SDRAM La DDR‐SDRAM (SDRAM de Tasa Doble de Transferencia de Datos) es una memoria basada en la tecnología SDRAM, que permite duplicar la tasa de transferencia alcanzada por ésta utilizando la misma frecuencia. La información se lee o ingresa en la memoria al igual que un reloj. Las memorias DRAM estándares utilizan un método conocido como SDR (Tasa Simple de Transferencia de Datos), que implica la lectura o escritura de información en cada borde de entrada. La DDR permite duplicar la frecuencia de lectura/escritura con un reloj a la misma frecuencia, enviando información a cada borde de entrada y a cada borde posterior. Las memorias DDR por lo general poseen una marca, tal como PCXXXX, en la que "XXXX" representa la velocidad en MB/s. Página 11de 19 Memorias RAM Guillermo B. DDR2‐SDRAM Las memorias DDR2 (o DDR‐II) alcanzan velocidades dos veces superiores a las memorias DDR con la misma frecuencia externa. El acrónimo QDR (Tasa Cuádruple de Transferencia de Datos o con Quad‐pump) designa el método de lectura y escritura utilizado. De hecho, la memoria DDR2 utiliza dos canales separados para los procesos de lectura y escritura, con lo cual es capaz de enviar o recibir el doble de información que la DDR. La DDR2 también posee más conectores que la DDR clásica (la DDR2 tiene 240, en comparación con los 184 de la DDR). Página 12de 19 Memorias RAM Guillermo B. Cuadro de resumen El siguiente cuadro muestra la equivalencia entre la frecuencia de la placa madre (FSB), la frecuencia de la memoria (RAM) y su velocidad: Memoria
Nombre
Frecuencia (RAM)
Frecuencia (RAM)
Velocidad
DDR200
PC1600
200 MHz
100 MHz
1,6 GB/s
DDR266
PC2100
266 MHz
133 MHz
2,1 s
DDR333
PC2700
333 MHz
166 MHz
2,7 s
DDR400
PC3200
400 MHz
200 MHz
3,2 s
DDR433
PC3500
433 MHz
217 MHz
3,5 s
DDR466
PC3700
466 MHz
233 MHz
3,7 s
DDR500
PC4000
500 MHz
250 MHz
4s
DDR533
PC4200
533 MHz
266 MHz
4,2 s
DDR538
PC4300
538 MHz
269 MHz
4,3 s
DDR550
PC4400
550 MHz
275 MHz
4,4 s
DDR2-400
PC2-3200
400 MHz
100 MHz
3,2 s
DDR2-533
PC2-4300
533 MHz
133 MHz
4,3 s
DDR2-667
PC2-5300
667 MHz
167 MHz
5,3 s
DDR2-675
PC2-5400
675 MHz
172,5 MHz
5,4 s
DDR2-800
PC2-6400
800 MHz
200 MHz
6,4 s
Página 13de 19 Memorias RAM Guillermo B. Sincronización (tiempos) No es poco común ver valores como "3‐2‐2‐2" ó "2‐3‐3‐2" para describir los parámetros de la memoria de acceso aleatorio. Esta sucesión de cuatro cifras describe la sincronización de la memoria (tiempo); es decir, la secuencia de ciclos de reloj necesaria para acceder a la información almacenada en la RAM. Las cuatro cifras corresponden, en orden, a los siguientes valores: Demora de CAS o latencia de CAS (CAS significa Señalizador de Direccionamiento en Columna): es el número de ciclos de reloj que transcurre entre el envío del comando de lectura y la llegada de la información. En otras palabras, es el tiempo necesario para acceder a una columna. Tiempo de precarga de RAS (conocido como tRP; RAS significa Señalizador de Direccionamiento en Fila): es el número de ciclos de reloj transcurridos entre dos instrucciones de RAS, es decir, entre dos accesos a una fila. Demora de RAS a CAS (a veces llamada tRCD): es el número de ciclos de reloj correspondiente al tiempo de acceso de una fila a una columna. Tiempo activo de RAS (a veces denominado tRAS): es el número de ciclos de reloj correspondiente al tiempo de acceso a una columna. Las tarjetas de memoria están equipadas con un dispositivo llamado SPD (Detección de Presencia en Serie), el cual permite al BIOS averiguar los valores de ajuste nominales definidos por el fabricante. Se trata de una EEPROM, cuya información puede cargarse en el BIOS si el usuario elige el ajuste "auto". Estructura lógica En cuanto a la estructura lógica de las memorias RAM, a éstas se puede acceder, tanto para lectura como para escritura, se accede a los mismos, en grupos de 8 bytes, mediante una dirección. Podemos distinguir dos aspectos que pueden ser relevantes para los programadores: Cómo se guardan los datos. Cómo se guardan los ejecutables. Respecto a los datos Aunque la arquitectura de PC permite manejar la memoria en bytes individuales. Muchas operaciones implican guardar palabras de 16 bits. De estos 2 octetos adyacentes, el de la izquierda es el más significativo y el de la derecha el menos. En estos casos, el byte menos significativo se guarda en la posición más baja y el más significativo a continuación, en la posición más alta. Esta forma de almacenamiento se denomina de palabras invertidas ("Back‐
words") o little endian. Respecto a los ejecutables Para ejecutar un programa, éste debe ser previamente cargado en memoria. Pero en la mayoría de los casos no se trata de una carga del fichero tal cual se encuentra en el disco, sino que requiere un "acomodo" especial. De este trabajo se encarga un programa especial (de carga), y se exige que la primera parte del contenido de un fichero .EXE contenga precisamente la información sobre "como" se realizará la acomodación antes aludida. En el Página 14de 19 Memorias RAM Guillermo B. caso de Windows, los ejecutables deben contener esta información en un formato específico, denominado nuevo formato de fichero ejecutable ("New Executable file format"); una especificación de MS para las aplicaciones que deban correr bajo sus Sistemas. Manutención de las RAM Cada punto de memoria se caracteriza así por una dirección que corresponde a su vez a un número de fila y a un número de columna. Este acceso no es instantáneo; el período de tiempo que lleva se denomina tiempo de latencia. En consecuencia, el tiempo necesario para acceder a la información en la memoria es igual al tiempo del ciclo más el tiempo de latencia. De este modo, en el caso de la memoria DRAM, por ejemplo, el tiempo de acceso es de 60 nanosegundos (35 ns del tiempo del ciclo más 25 ns del tiempo de latencia). En el ordenador, el tiempo del ciclo corresponde al opuesto de la frecuencia de reloj; por ejemplo, en un ordenador con una frecuencia de 200 MHz, el tiempo del ciclo es de 5 ns (1/200*106). En consecuencia, en un ordenador con alta frecuencia, que utiliza memorias con un tiempo de acceso mucho más prolongado que el tiempo del ciclo del procesador, se deben producir estados de espera para que se permita el acceso a la memoria. En el caso de un ordenador con una frecuencia de 200 MHz que utiliza memorias DRAM (y con un tiempo de acceso de 60 ns), se generan 11 estados de espera para un ciclo de transferencia. El rendimiento del ordenador disminuye a medida que aumenta el número de estados de espera, por lo que es recomendable implementar el uso de memorias más rápidas. ERRORES Algunas memorias poseen mecanismos de corrección de errores, con el fin de garantizar la integridad de la información que contienen. Este tipo de memoria se utiliza por lo general en sistemas que trabajan con información esencial, motivo por el cual este tipo de memoria se encuentra en servidores. Clases de error Podemos establecer dos tipos de errores: Errores duros: Son debidos a averías o daños físicos. Se presentan de forma recurrente y son los más fáciles de diagnosticar. Errores blandos: Ocurren de forma muy esporádica; cuando un bit cambia espontáneamente de 0 a 1 o viceversa. Son los más difíciles de prever. Las causa de esta anomalía pueden ser varias: Página 15de 19 Memorias RAM Guillermo B. Partículas alfa (en los primeros equipos) por contaminación con uranio y torio del material de encapsulado de las memorias. Rayos cósmicos. Estos rayos de alta energía pueden cambiar el estado de un transistor o un condensador. El problema es más frecuente en la SRAM que en las DRAM. Posiblemente se agravará progresivamente con el aumento de la densidad de integración de los chips (componentes cada vez más pequeños). Defectos de suministro eléctrico. En especial el ruido de alta frecuencia en la alimentación. Se recomienda instalar filtros de red. Interferencias de radio frecuencia (RF) motivadas por equipos externos o elementos del propio sistema indebidamente apantallados. Memoria de velocidad inadecuada para el quipo en que se ha instalado (por ejemplo, memoria PC100 en un equipo que necesite PC133). Defectos de temporización. Por ejemplo, por sobrecarga "Overclocking" del sistema, o por una configuración defectuosa de la frecuencia de refresco en la BIOS. Sistemas de corrección Ya desde el principio, la existencia de errores hizo cobrar relevancia a los mecanismos capaces de detectar, y en su caso corregir, los posibles errores que se puedan producir en los procesos de lectura/escritura. A la fecha se emplean principalmente dos métodos para garantizar la integridad de los datos: la paridad, y el código de corrección de erroresECC ("Error Checking and Correction"). Página 16de 19 Memorias RAM Guillermo B. Paridad Es el método más común y tradicional. Consiste en que por cada 8 bits (byte) de almacenamiento, se añade 1 bit adicional. A cambio de aumentar en un 12.5% el tamaño de la memoria, se consigue un cierto control sobre la integridad de los datos, ya que este bit adicional contiene información sobre la paridad del conjunto. A este respecto existen dos protocolos: paridad par e impar. Su funcionamiento se esquematiza en la tabla siguiente. Paridad par Paridad impar Paso 1 El bit de paridad se fija en uno (se El bit de paridad se fija en uno si los bits activa), si los bits de datos contienen de datos contienen un número impar de un número par de unos. Por el unos, y se desactiva si su número es par. contrario, si el número es impar, se desactiva. Paso 2 Los 8 bits de datos y el de paridad se Los 8 bits de datos y el de paridad se almacenan en DRAM. almacenan en DRAM Paso 3 Los datos son interceptados por el El proceso es análogo al de paridad par. circuito de paridad antes de ser La diferencia es que el dato se considera enviados al procesador. válido si el número de unos es par y erroneo en caso contrario. Si este circuito identifica un número impar de unos, los datos se consideran válidos. Se elimina el bit de paridad y se traspasan los bits de datos al procesador. Si el número de unos es par, el dato se considera erroneo y se genera un error de paridad. El modelo de paridad tiene ciertas limitaciones, la principal es que puede detectar el error pero no corregirlo (no sabe cual es el bit erróneo). Además, si hay más de un bit incorrecto, los bits defectuosos pueden cancelarse entre sí y enmascarar el error (sin embargo, la posibilidad de que esto ocurra es remota). Paridad artificial. Algunos fabricantes de equipos de baja calidad utilizan un chip de paridad artificial. Este chip no almacena en realidad ningún bit extra con la paridad del dato. En su lugar generan un bit adicional cuando el dato debe se enviado al controlador de paridad con el valor correcto. En realidad es un método de engañar al controlador de paridad enviándole siempre la señal Ok Página 17de 19 Memorias RAM Guillermo B. RAM con paridad falsa o "virtual": Probablemente obtendrá módulos de memoria con paridad virtual en lugar de módulos con paridad real si solicita RAM con paridad en una tienda de informática. Los SIMMs con paridad virtual pueden distinguirse frecuentemente (pero no siempre) porque sólo tienen un chip más que un SIMM sin paridad, y porque el chip extra es más pequeño que el resto. Los SIMMs con paridad virtual trabajan exactamente como la memoria sin paridad. No pueden decirle cuando se produce un error de bit simple en RAM, algo que sí hacen los SIMMs con paridad real en una placa base que implemente paridad. Consejo: Nunca pague más por un SIMM con paridad virtual que por uno sin paridad. En cambio, si que puede llegar a pagar un poco más por SIMMs con paridad real, porque en realidad está comprando un bit más de memoria por cada 8 bits. ECC: Los módulos de memoria ECC (Códigos de Corrección de Errores), disponen de varios bits dedicados a la corrección de errores (conocidos como bits de control). Dichos módulos, utilizados principalmente en servidores, permiten la detección y la corrección de errores. Este sistema ECC ("Error Checking and Correction") se basa en un algoritmo más complejo, y se utiliza en PCs de gama alta, como servidores de Red. El sistema trabaja en conjunción con el controlador de memoria, y anexa a los bits de datos los bits ECC, que son almacenados junto con los de datos. Estos bits extras, junto con la decodificación correspondiente, sirven para realizar la comprobación en el momento de la lectura. Su diferencia principal con la paridad es que puede detectar el error de un bit y corregirlo, con lo que generalmente el usuario no detecta que se ha producido un error. Dependiendo del controlador de memoria utilizado, el sistema ECC también puede detectar errores de 2, 3 y 4 bits (sumamente raros), aunque en este caso no puede corregirlos; en estos casos devuelve un error de paridad. “Tener en cuenta que la verificación de errores (ECC o paridad) depende más del la placa‐base (tipo de controlador de memoria utilizado) que de la memoria en sí. La memoria pone el almacenamiento, pero es el controlador el que decide como se utilizará. Generalmente para poder utilizar una memoria ECC es necesario un controlador que pueda utilizar esta tecnología.” En ambos casos, paridad o ECC, cuando se detecta un error se produce una excepción no enmascarable. Lo que sucede a continuación depende del Sistema. En algunos casos el procesador se detiene y lanza una rutina que deja la pantalla en blanco (o azul) y muestra el error. En otros se permite ignorar el error, guardar el trabajo en curso y continuar. En cualquier caso, después de uno de estos errores, es conveniente pasar al equipo un test de memoria especializado, más severo que el realizado por la POST de la BIOS. Página 18de 19 Memorias RAM Guillermo B. “En los sistemas Windows es frecuente que los errores de memoria en los momentos de carga del Sistema generen mensajes de aviso indicando que algún fichero importante está corrompido o falta, y debe reinstalarse el Sistema. En estos casos es imprescindible realizar un chequeo exhaustivo de la memoria antes de realizar ningún cambio en el software” Canal doble Algunos controladores de memoria disponen de un canal doble para la memoria. Los módulos de memoria se utilizan en pares con el fin de lograr un mayor ancho de banda y así poder utilizar al máximo la capacidad del sistema. Al utilizar el Canal Doble, resulta indispensable utilizar un par de módulos idénticos (de la misma frecuencia y capacidad, y, preferentemente, de la misma marca). Página 19de 19