4.La memoria I

         4.La memoria I

Principal
1.Historia
2.Estructura interna
3.La CPU I
4.La memoria I
5.La placa base I
6. Almacenamiento I-I
7. Almacenamiento II-I
8. Monitores I
9.Tarjetas Gráficas I
10.Comunicaciones I
11.Tarjetas de Sonido
12.CD/DVD-ROM
13.Antivirus
14.Mantenimiento

Capítulo 4: La memoria

4.1. Conceptos preliminares

Antes que nada es preciso comprender perfectamente varios conceptos preliminares que se explican a continuación.

Los ordenadores trabajan con celdas de memoria RAM que sirven para almacenar los datos de forma temporal, hasta que se apaga o reinicializa el ordenador. RAM significa Ramdon Access Memory, memoria de acceso aleatorio; es decir, puede accederse a cualquier punto de la memoria en cualquier momento.

Cada posición de memoria puede almacenar 1 byte:  una secuencia de 8 bits (1 bit es 0 ó 1) que representan un número del 0 al 255.  En los ficheros ASCII, cada byte se interpreta según el código ASCII, que es un código que asigna a las letras, dígitos y símbolos habituales un número entre 0 y 255. Por ejemplo, la A mayúscula se asocia en el código ASCII con el número 65.  Y en los ficheros binarios, cada byte se interpreta como una instrucción propia del microprocesador.  Por ejemplo, los 2 bytes que forman el número hexadecimal CD21h corresponden a la instrucción INT21h, que activa el microprocesador para que genere la interrupción 21h.

Cada posición de memoria o byte se identifica mediante una dirección o número de posición, al igual que las casas y las calles en las que habitamos.

¿Cuántos bytes de memoria RAM puede tener cada ordenador?  La cantidad de bytes de memoria depende del tamaño del bus de direcciones del microprocesador.

El bus de direcciones está formado por líneas de 1 bit cada una, por las que viajan en paralelo (1 bit por todas las líneas a la vez) las direcciones de las celdas de memoria.  Una línea de 1 bit es un circuito por el que puede viajar 1 bit (un 0 ó un 1).  Si el bus de direcciones es de 2 bits (tiene 2 líneas), sólo podrá gestionar 4 direcciones de celdas de memoria de 1 byte; es decir, 4 bytes.  Con 2 líneas se pueden enviar estas 4 direcciones:  00, 01, 10 y 11.  En general, el número de direcciones de un microprocesador es 2n  siendo n el número de líneas del bus de direcciones.  En este caso 22 es igual a 4.

Los microprocesadores de los ordenadores PC poseen los siguientes tamaños en el bus de direcciones.  El 8088/8086 propio de los PC y XT tenía 20 líneas, por tanto gestionaba 220, que es igual a 1.048.576 bytes; es decir, 1024K (1MB).  El 286 tenía un bus de direcciones de 24 bits; por tanto, 224  direcciones, que es igual a 16MB.  Y los micros 386 y superiores tienen 32 líneas; por tanto, 232, que es igual a 4 GB.  Por supuesto, esto es la capacidad máxima que puede llegar a tener el ordenador.  Otra cosa es el número de chips de memoria RAM que tenga realmente instalados el ordenador.

En  resumen, el máximo de direcciones es 1MB en el microprocesador 8088/8086, 16MB en el 286 y 4.096MB en los 386 y superiores.

Por cierto, a pesar de que todo el rato estamos hablando de Bytes, 8 Bits, en un PC la memoria no tiene 8 Bits, sino 9.  El noveno Bit se usa para el cálculo de la paridad.

¿Qué es la paridad?  Es una suma de todos los 1 lógicos de un mismo Byte.  El resultado puede ser par o impar.  Si es par, se carga un 1 lógico en el Bit de paridad, si es impar se carga un 0 lógico.  Luego, en cada operación que haga el ordenador se calcula otra vez la suma del Byte correspondiente y se chequea el Bit de paridad.  Si algo cambia, puede deberse a un error, el cual debe ser corregido.

Lamentablemente, la paridad no es un método fiable:  Si cambian dos Bits a la vez debido a un error,  el resultado par o impar seguirá siendo el mismo, de manera que no será advertido por el sistema.  Es por ello que la paridad hoy día no se usa apenas, siendo sustituido por Sistemas de Corrección de Errores (ECC Codes).

 

4.2. Descripción física y técnica de una memoria

Antes de seguir, debemos intentar comprender de la manera más simple cómo es una memoria desde el punto de vista electrónico.  Puede ser difícil de comprender para aquellos que no tengan conocimientos suficientes, pero se intentará hacerlo de la manera más sencilla posible.

El fundamento básico de memoria parte de un circuito con transistores denominado circuito biestable, el cual es capaz de mantenerse sin conducir (0 lógico) o en conducción (1 lógico) y cuyo estado puede cambiarse mediante la aplicación de una señal exterior.  Una vez cambiado de estado, se mantiene mientras no desconectemos el voltaje de la alimentación del circuito (memoriza el estado lógico).

Al principio no se conseguía una alta integración, pero poco a poco fue aumentando, hasta el punto en el que en un chip pueden caber varios millones de circuitos de estos (MegaBits).  Agrupándolos de ocho en ocho, hacemos Bytes de memoria.

 

Si bien su funcionamiento es correcto, este método es caro, por lo que el uso de las memorias de biestable, denominadas memorias estáticas ha quedado reducido al ámbito de las memorias caché, que se explicarán más adelante.

  Al poco tiempo surgieron otros tipos de memorias que utilizaban óxidos semiconductores, de manera que la integración aumentó espectacularmente.  Sin embargo, tenían un problema:  La información almacenada no duraba más de unos nanosegundos, siendo necesario volver a leer la memoria, con lo que la información se actualizaba.  A estas memorias se las denominó memorias dinámicas y al proceso de actualización de los valores se le denominó refresco.

Con las memorias dinámicas llegó el boom de los "megas":  La alta integración conseguida y la caída espectacular de los precios (al contrario que las estáticas) provocó la aparición de los  módulos de memoria.

Es muy simple: al principio, ampliar la memoria del ordenador consistía en aplicar un número determinado de chips en unos zócalos destinados a tal fin en la placa base.  Pero  para  el  usuario  profano,

esto era difícil: las patillas del chip se doblaban, daba lugar a cortocircuitos, etc.  La solución fue simple, ya que se cogieron varios chips y se soldaron en una pequeña placa de circuito impreso con pines.

A estos módulos se los llamó SIP (Single In-Line Package), y tenían una fila de pines en un lado, para encajarlos en un zócalo especial de la placa base.  Si bien fue un paso adelante,  aun resultaba difícil de manipular por el torpe usuario profano.  Además, como la memoria en sí eran chips independientes, era una solución cara.

El paso final fue el módulo SIMM (Single In-Line Memory Module), el cual era una placa de circuito impreso en el cual se aglutinaban chips de memoria pero no de los normales de ordenador, sino fabricados especialmente para los módulos, con encapsulado más pequeño de tipo SMD (montaje superficial) y más alta integración, lo que redundaba en un coste menor.  Además, ya no tenían los pines de conexión, sino unas zonas del circuito impreso hacían de contacto eléctrico con un zócalo especial de la placa base que tenía unas "pinzas" en las que encajaba el módulo SIMM.  La conexión era de 30 contactos.

Al principio, los módulos SIMM eran sólo de 256KB x 8Bits, siendo necesarios cuatro módulos para conseguir 1MB.  Posteriormente aparecieron de 1MB, 2MB, 4MB, 8MB y 16 MB, existiendo algún fabricante que los llegó a hacer de 32MB.

Cuando se popularizaron, IBM lanzó la bomba con unos módulos de 72 contactos que además tenían un ancho de bus de 32Bits.  Eran idóneos para los 486 y posteriormente para los Pentium, si bien para estos últimos es necesaria la colocación de dos módulos, porque su ancho de bus es de 64Bits.

Es por ello que el siguiente paso fue la implementación del módulo DIMM (Dual In-Line Memory Module), el cual tiene 168 contactos y un ancho de bus de 64Bits. El hecho de acceder a los 64Bits en un mismo banco aumenta la velocidad de la RAM en un 40%.

Además, con los nuevos procesadores con bus FSB de 100MHz, se ha puesto de moda una memoria DIMM ultrarrápida de 7-8 nseg. Denominada SDRAM PC-100, la cual soporta velocidades de bus de 100 MHz.  El rendimiento es brutal, con lo cual se ha reducido el cuello de botella del acceso a la memoria.

Si bien por cálculo sería suficiente una memoria de velocidad 10 nseg., se utilizan memorias de 7-8 nseg como margen de seguridad, para evitar posibles cuelgues.  Como comentario final, comienza a verse, cada vez más, la memoria PC-133, para los futuros buses y micros, como el Pentium III Coppermine.

Debemos recordar que los primeros DIMM funcionaban a 5V, mientras que los de última generación lo hacen a 3,3V.  Si bien existen placas base que poseen zócalos tanto para DIMM y SIMM, no pueden mezclarse, ya que la diferencia de voltaje sería perjudicial para los DIMM.

Otro detalle, la manera de distinguir los de 5V de los de 3,3V es mediante las muescas que aparecen en la parte inferior del módulo (ver foto de arriba).  La muesca de la izquierda aparece ligeramente desplazada más hacia la izquierda en los de 5V.

Por cierto, ya hemos comentado que los de PC100 o DIMM de 100 MHz han aparecido recientemente. ¿Cómo distinguirlos de los de 66MHz?

Si volvemos a observar la foto superior, en la esquina derecha aparece un pequeño chip de 8 pines, denominado SPD, el cual es una memoria Flash EPROM que guarda en su interior los valores correctos aplicables al módulo tanto de refresco de filas como de columnas (señales RAS y CAS, ya explicadas anteriormente) con objeto de que la placa base se autoconfigure de manera correcta.  El SPD sólo aparece en los DIMM de tipo PC100.

Debido al avance tecnológico del AMD K7, el cual vimos que puede llegar a funcionar con velocidades de bus FSB de 200MHz, una serie de fabricantes han preparado un nuevo tipo de memoria denominado módulo RIMM o RAMBUS, el cual utiliza los flancos de subida y bajada del reloj, consiguiendo la comunicación a 200MHz.


           

Obsérvese como la disposición de las muescas y pines de conexión han cambiado, con lo que probablemente tendremos que volver a cambiar de placa base.

Actualmente, las RAMBUS están apareciendo en las placas con chipsets I810, pero es un consuelo pensar que dichas placas vienen con un adaptador para los antiguos módulos DIMM (antiguos de un año, je je)

Pero no sólo existe memoria RAM en un ordenador, hay otros tipos de memoria.  En un capítulo posterior, se analizará en profundidad la ROM BIOS, la memoria donde se almacena el programa de entradas-salidas del ordenador, el que permite cambiar el tipo de disco duro, disquetera, etc.

La memoria ROM (Read Only Memory, memoria de sólo lectura) se hace bajo encargo, ya que es un chip que hay que fabricar a medida, puesto que incorpora un programa fijo que varía según el fabricante, aunque siempre bajo unas directivas mínimas que son las que marca la compatibilidad de los sistemas basados en PC.  Es por ello que resulta cara de hacer.

            El siguiente paso fue la memoria EPROM (Erasable Programmable Read Only Memory, memoria programable y borrable de sólo lectura).  Estas memorias se programaban mediante un aparato que le introducía los valores lógicos adecuados, pero luego podían borrarse mediante una especie de ventanilla en la parte superior del encapsulado, por la que se aplicaba una luz ultravioleta.  Los transistores que integran la memoria son sensibles a ese tipo de radiación, de manera que la información almacenada se pierde.  De esta forma, una vez borrada, puede volver a programarse para actualizar una BIOS, por ejemplo.

            De todas formas, la información no se queda de manera estable, puede perderse debido a diversos problemas sobre todo luminosos, lo que obliga a tapar la ventanilla con un material opaco.  Además, a veces no quedan bien borradas y en memorias EPROM de muy baja calidad, el borrado puede ser espontáneo.

            Desde hace un par de años, se han puesto de moda las memorias FLASH, memorias al estilo de las EPROM pero que pueden ser borradas mediante un voltaje determinado en una de sus patillas.  Como esto puede hacerlo el ordenador, ahora es muy fácil actualizar una BIOS:  se introduce el disquete con el nuevo programa y el ordenador borra la FLASH y carga el nuevo programa.  La memoria FLASH se usa como BIOS no sólo en todas las placas base actuales, sino también en ROM de módems, tarjetas SCSI, etc.  La FLASH es la memoria del futuro.

            Incluso se está experimentando para sustituir el disco duro por un módulo de memorias FLASH, pero de momento es una solución cara debido a que el número de borrados está limitado a un centenar (hace poco era una decena de veces) y su baja integración, pero todo se andará.

 

                                                    Te esperamos en : C/ Maestro Pablo Luna, 11 (Nueva Málaga) 29010 - Málaga - Spain. 952279164                                             © Copyright 2000-2001 Soluciones Informáticas Multimedia Málaga, S.L.L. Última actualización:  viernes, 18 de mayo de 2001 (Optimizada para 800x600)