MEMORIAS PRINCIPALES Y SUS TECNOLOGÍAS
El sistema de memoria es uno de los componentes principales de los sistemas basados en uP como el PC. Su función es la de almacenar datos e instrucciones.
Poco a poco las memorias electrónicas han ido separándose de ese primer diseño inicial para ir ofreciendo más prestaciones y funciones. Las primeras memorias eran realizadas en telares donde se hacía incidir por un anillo de grafito una serie de hilos cuya función era la de escribir o borrar datos aprovechando el ciclo de histéresis (éste es el famoso efecto memoria que presentan las baterías de determinados instrumentos electrónicos, como es el caso de los teléfonos móviles). 1
Hoy en día una configuración "generosa y veloz" en memoria es imprescindible con los sistemas operativos bajo entornos gráficos. Lejos quedan los tiempos donde se usaban KB para referenciar la memoria. Peter Norton habló de los PC XT de IBM de la siguiente forma: "IBM ha equipado a sus ordenadores PC XT con lo mínimo que se considera necesario para un ordenador personal serio. Disponer de 10 MB de disco duro y 128 KB de memoria (¡un octavo de MB!) es lo propio para una máquina profesional". No muy lejano quedaba Bill Gates al vaticinar dos años antes que "640 KB debería ser suficiente para cualquier PC". Piénsese que un PC puede tener almacenados muchos programas en su disco duro, pero sólo uno es el que se ejecuta en un momento determinado -salvando consideraciones como el multiproceso o la multitarea-. Ese programa en ejecución está en la memoria del sistema. 2
El cálculo de la memoria que precisa un PC es complejo, ya que dependerá de la función que se le desee dar. Así no existirán los mismos requerimientos para pequeñas aplicaciones en DOS que para complejos entornos gráficos. Lo cierto es que un exceso de memoria rara vez es perjudicial y, en su defecto, aparecen de forma inevitable algunos problemas (ralentización del sistema, errores de memoria...). Hay muchas aplicaciones que exigen un mínimo de memoria para su correcto funcionamiento y una mala elección del tipo de memoria o un módulo en mal estado puede provocar serios problemas en la máquina. Error común de confundir la memoria RAM con el disco duro. Si bien ambos son dispositivos de almacenamiento y, lógicamente usan las mismas unidades para definir su capacidad, hay una característica (además de otras miles de ellas) que los distingue funcionalmente (volatilidad, velocidad....). 3
TIPOS DE MEMORIAS
Un PC dispone principalmente de dos tipos de memoria: ROM y RAM. La diferencia evidente entre ellas es que la primera es de sólo lectura, es decir, no se puede borrar ni escribir (inicialmente) y la segunda permite su uso completo al usuario, con el matiz de la volatilidad o lo que es lo mismo, la pérdida de datos ante la falta de suministro eléctrico. Como resulta evidente, la ROM no se puede modificar en sí misma, sino que es preciso sustituirla en caso necesario. La RAM, de forma genérica, será el tipo de memoria más usado, ya no sólo como memoria principal del sistema sino como complemento al vídeo, búferes de diferentes dispositivos, etc. En función de la tarea que realice, tendrá unas características concretas y un formato específico.
4
MEMORIAS ROM
"Read Only Memory" o Memoria de sólo lectura, implementada por el fabricante para uso del PC. Las ROM pueden ser más lentas o muchísimo más rápidas que las RAM. Se coloca en una base y normalmente no debe ser cambiada. Entre otras cosas, contiene rutinas del sistema BIOS ("BASIC Input Output System") que, en determinadas aplicaciones, reciben el nombre de FIRMWARE. Existen tres variaciones básicas sobre esta memoria: PROM, EPROM y EEPROM. Memoria PROM: "Programmable ROM". Se trata de un chip ROM "en blanco", que permite su escritura o grabado. Sólo se puede escribir una única vez. Podría compararse con un disco de CD-R que admite una escritura y múltiples lecturas. Físicamente la escritura lleva asociado una tarea destructiva que impide una nueva escritura del integrado.
5
Memoria EPROM: "Erasable Programmable ROM". Es similar en funcionalidad a la PROM, pero puede ser reescrita. El proceso de borrado consiste en la aplicación de luz ultravioleta en una ventana que el chip habilita en su zona superior. El proceso de grabación se basa en almacenar una carga electroestática en transistores MOS-FET.
6
La luz ultravioleta provoca una alteración en todo el sustrato haciéndolo "conductor" y provocando la descarga de la electricidad estática almacenada. Esto provoca una degradación en el chip, generalmente el fabricante garantiza 10 ciclos de grabado (actualmente se admiten hasta 100 ciclos, siendo inversamente proporcional las veces de grabación con la frecuencia máxima de trabajo). Existen ya en el mercado muchos microcontroladores y DSPs que incluyen memoria de programa, lo que sería la PROM en OTPs ("On Time Programable"), que incorporan memorias denominadas FLASH (Z-Flash, V-Flash, etc.). Este tipo de memoria se comporta como una EPROM, sin necesidad de borrado previo, sino que se reescriben nuevamente “chancando" la escritura anterior.
7
Aunque aún están limitadas en velocidad de trabajo, existen dispositivos que funcionan a más de 60 MHz (especialmente DSPs con set de instrucciones de tipo RISC). Sus ventajas principales son dos: son regrabables indefinidas veces y, muy importante, puede hacerse esto con el chip montado (soldado) en el circuito impreso (a través de puertos de acceso especiales, como el JTAG de TEXAS INSTRUMENTS). Los principales fabricantes de microcontroladores con Flash son: HITACHI, TEXAS INSTRUMENTS, MOTOROLA y NATIONAL. Los microcontroladores con Flash son más caros. Memoria EEPROM: "Electrically Erasable Programmable ROM". Es la popularmente conocida como "Flash BIOS". Esta memoria tiene prestaciones idénticas a la EPROM, elimina el molesto proceso de borrado y lo sustituye por un control por software. 8
Esto permite, en el caso de las BIOS, que el usuario pueda actualizar la misma con las mejoras que se implementen por software. La EEPROM se implementa también en módulos DIMM como dispositivo SPD ("Serial Presence Detect"), manteniendo información relativa al módulo como es el tamaño, velocidad, número de filas y columnas. Esta información es usada por la BIOS para optimizar el modo de acceso a la memoria y es grabada por el fabricante.
9
MEMORIAS RAM
"Random Access Memory“ o Memoria de acceso aleatorio. Se trata de una memoria extremadamente rápida que está a disposición del usuario. Tiene la característica de ser de lectura y escritura además de volátil (cuando desaparece el fluido eléctrico del PC, esta memoria se descarga). En función de cómo el usuario es capaz de mantener los datos se podrá encontrar memorias estáticas SRAM ("Static RAM") o dinámicas DRAM ("Dinamic RAM"). En la SRAM cada bit se representa mediante un circuito capaz de adoptar dos estados estables diferentes, manteniemdo estos datos sin ninguna otra aportación que la carga de datos inicial y el fluido eléctrico, naturalmente. Así, un estado corresponderá al 0 y otro al 1. Estos circuitos se implementan con biestables. De forma habitual usan un pin para la línea de direcciones y el resto de los pines se quedan disponibles para el manejo de datos.
10
Aunque mucho más rápida que la RAM dinámica, la SRAM resulta también mucho más cara y se usa sobre todo para implementar la memoria caché. Existen diferentes tipos de SRAM: síncrona, asincrona, Pipeline Burst SRAM, etc. En las DRAM, cada bit se representa mediante la carga almacenada en un condensador que está acompañado de un transistor dedicado a la lectura de la celda. Cada celda en memoria DRAM ocupa superficialmente un cuarto de lo que ocupa la SRAM, siendo en definitiva la superficie el costo de la memoria (esta densidad de almacenamiento la hace idónea para sistemas cada vez más miniaturizados). Las DRAM con el paso del tiempo tienden a perder la información almacenada por esta razón es necesario "recordar" a la memoria su contenido mediante refrescos periódicos, también llamados "refreshing", donde se lee la información y se vuelve a reescribir. Según el tipo de memoria los refrescos, se realizarán con menor o mayor frecuencia. 11
Las celdas de la DRAM se organizan a través de filas y columnas formando matrices, donde es necesario especificar ambos parámetros para acceder a un punto determinado de la memoria.
12
Dado que el tiempo usado por las filas es diferente al de las columnas se pueden compartir los mismos pines, consiguiendo así la fabricación de módulos más pequeños y económicos, a costa de distribuir las señales, a veces, en tiempos críticos. La integridad de dichas señales de control será uno de los parámetros decisivos para evaluar la calidad de un tipo de memoria. El refresco de la memoria consume recursos del microprocesador (aunque el DMA alivie esta tarea). Dependiendo del tipo de máquina por cada ciclo de refresco se realizaban varios de microprocesador llegando a consumir hasta un 10% del tiempo total de uso del micro. En su momento, los módulos DIMM en trabajo con los PENTIUM II y III reducieron este tiempo hasta un 1%.
13
Comparación entre Memorias Estáticas y Dinámicas Memoria
Ventajas
Desventajas
• La velocidad de acceso es alta. • Para retener los datos solo necesita estar energizada. • Son mas fáciles de diseñar.
•Menor capacidad, debido a que cada celda de almacenamiento requiere mas transistores. • Mayor costo por bit. • Mayor consumo de potencia.
• Mayor densidad y capacidad. • Menor costo por bit. • Menor consumo de potencia.
• La velocidad de acceso es baja. • Necesita recargar la información. almacenada para retenerla. • Diseño complejo.
SRAM
DRAM
14
CONTROLADOR DE MEMORIAS
Su misión es la de generar las señales de control precisas para leer y/o escribir desde/hacia la memoria, además de realizar las veces de interfaz entre la memoria y el resto del sistema. De forma habitual, el controlador de memoria se encuentra implementado en el chipset de la placa base, formando parte del conjunto de elementos que definen la potencia del PC. Puesto que la memoria y la placa no "conocen" entre sí sus tiempos de respuesta y propagación, el controlador de memoria se encarga también de sincronizarlos a través de los estados de espera o wait states (W/S). Los Wait States son períodos de inactividad encargados de obtener una adecuación de frecuencia entre los diferentes componentes que integran la comunicación con la memoria.
15