Memoria
de Acceso Aleatorio (RAM)
Las Memorias de Acceso Aleatorio (RAM: Random Access Memory) son memorias
construidas sobre semiconductores donde la información se almacena en celdas de
memoria que pueden adquirir uno cualquiera de los dos valores del código binario.
Las memorias de acceso aleatorio son memorias en la que se puede leer y
escribir información. Permite el acceso a cualquier informaciónque contenga con
la misma velocidad. Esto significa que se puede acceder aleatoriamente a
cualquier información almacenada sin que se afecte la eficiencia del acceso. Contrasta
con las memorias secuenciales, por ejemplo una cinta magnética, donde la
facilidad de acceso a una información depende del lugar de la cinta donde esté almacenada.
Las tecnologías de memorias RAM se basan en Celdas de Memoria. La memoria RAM
es volátil, esto es, cuando se corta la alimentación eléctrica se pierde toda
la información que estuviera almacenada en este tipo de memoria. La
comunicación de la RAM con la CPU se realiza a través del Bus de Direcciones y
el Bus de Datos.
La memoria RAM se utiliza tanto para almacenar temporalmente programas y datos como para guardar los
resultados intermedios que se están manipulando durante un proceso.
Una celda de memoria concreta de la RAM se puede referenciar con una dirección
de Segmento de Memoria y un valor determinado dentro de ese segmento llamado
«desplazamiento».
La RAM está dividida en segmentos de memoria para facilitar su manejo por la
unidad de control. Los segmentos de memoria tienen un tamaño múltiplo de 16, de
0 a F en Hexadecimal. El rango total varía desde 0000 hasta un valor
Hexadecimal que depende de la cantidad de semiconductores de memoria RAM con la
que se haya configurado el sistema de la computadora.
Los segmentos de memoria se agrupan en diferentes Áreas de Trabajo que permiten
delimitar las diversas funciones que se realizan en la memoria.
Las áreas de la memoriason:
• Memoria Convencional.
• Memoria Extendida.
La Memoria Convencional viene delimitada por la capacidad de direccionamiento
de memoria de la CPU de la computadora y la capacidad de manejo de memoria que
sea capaz de realizar el sistema operativo que gestiona el sistema informático.
Se puede ver un ejemplo en el microprocesador Intel 8088 que constituía la CPU
de los primeros Personal Computer de IBM; este microprocesador era capaz de
direccionar un máximo de 1 megabyte de memoria, por ello, las primeras
versiones del sistema operativo que lo gestionaba no necesitaban manejar más de
640 kilobytes para poder realizar su trabajo.
En la actualidad, las unidades centrales de proceso, como
el microprocesador 80486, pueden llegar a manejar hasta 4 gigabytes de memoria,
por lo que los sistemas operativos como
OS/2 o WINDOWS han previsto esta posibilidad, pudiendo manejar esa cantidad de
memoria.
La Memoria Convencional se Divide en:
• Memoria Baja.
• Memoria Alta.
La Memoria Baja es el área de memoria del
sistema. Ocupa las primeras direcciones de la memoria convencional y está
ocupada por las tablas de los vectores de las interrupciones, las rutinas de la
ROM-BIOS y la parte residente del
sistema operativo.
La Memoria Alta, también se denomina área de memoria del usuario, es la zona en la que se sitúan
los códigos de los programas ejecutables y los datos que éstos manejan en las
diferentes aplicaciones que la computadora ejecuta.
Puede ocurrir que la memoria convencional, es decir, la memoria que existeen la
configuración de la computadora no sea suficiente para poder realizar ciertas
operaciones en ese sistema informático; para poder solventar ese problema se
utiliza la memoria extendida.
La Memoria Extendida se utiliza en computadoras que poseen una CPU que puede
direccionar una gran cantidad de memoria, más de 1 megabyte, asociada a
sistemas operativos que permiten gestionarla correctamente, es decir, los
sistemas operativos multitareas o multiusuarios como UNIX, WINDOWS, sistemas
operativos LAN, etc.
Estos sistemas operativos permiten instalar el código de los programas de
aplicaciones y los datos que éstos manejan fuera del área de la memoria
convencional denominada área de memoria del usuario, pudiendo, por tanto,
realizar más de un proceso al mismo tiempo o permitiendo trabajar a varios
usuarios a la vez en la misma computadora, como en una red de área local.
Sin embargo, puede ocurrir que la memoria extendida no tenga el tamaño suficiente
para que todos los procesos o todos los usuarios puedan realizar sus tareas al
mismo tiempo; una solución que se utiliza para resolver este problema es una
simulación de la memoria de trabajo llamada Memoria Virtual.
Esta memoria virtual consiste en que cuando el sistema informático intenta
utilizar más memoria de trabajo que la que realmente existe, el gestor de la
memoria salva una parte de la información que existe en la memoria, en el disco
duro del sistema informático.
La parte de la memoria salvada en el disco se llama página; esta página de
memoriaalmacenada queda disponible en la memoria de trabajo para ser utilizada
por el sistema informático. Cuando la computadora necesite utilizar la
información almacenada en la página guardada en el disco del sistema informático volverá a repetir el
proceso salvando otra página de memoria en el disco y recuperando la que estaba
almacenada en él.
La Memoria Virtual tiene Ventajas e Inconvenientes.
Entre las Ventajas merece la pena destacar que nos permite utilizar una gran
cantidad de software, al mismo tiempo dentro del
sistema informático, que de otra forma no se podría utilizar al no tener
suficiente memoria y que nos permite utilizar mejor los recursos del sistema informático.
El principal Inconveniente que conlleva la memoria virtual es que si existe una
excesiva cantidad de páginas se ralentiza considerablemente la velocidad de
proceso del sistema informático al tener que acceder constantemente al disco,
pudiendo, por ello, causar colapsos en los diferentes procesos.
Un tipo diferente de ampliación de la memoria de trabajo es la denominada
Memoria Expandida. Este tipo de memoria utiliza una serie de bancos de memoria
en forma de circuitos integrados que se añaden a la circuitería básica de la
computadora.
El estándar de memoria expandida lo instituyeron Lotus, Intel y Microsoft, por
lo que en algunos lugares puede aparecer como memoria LIM.
La memoria expandida utilizaba una zona de la memoria convencional para crear
un mapa de la cantidad de memoria expandida que se añade al sistema
informático. El mapapermitirá que, cuando un programa de aplicación lo
solicite, el gestor de la memoria expandida distribuya por las diferentes
páginas en que se dividen los bancos de memoria los datos que la aplicación no
puede manejar en la memoria convencional.
Como los tipos
de memorias vistos anteriormente, la Memoria Expandida tiene también ventajas e
inconvenientes.
La principal Ventaja es que al no realizar accesos al disco del sistema
informático es mucho más rápida que la memoria virtual, pero el Inconveniente
con que se encuentra la memoria expandida es que como los que tienen que
solicitar su utilización son los propios programas de aplicación, en este tipo
de memorias sólo se pueden almacenar datos, debiéndose colocar el código de los
programas de aplicación en la memoria convencional.
Existen dos tipos de memorias RAM:
• RAM Estáticas.
Son memorias RAM convencionales que mantienen la información almacenada en
ellas permanentemente, mientras se mantenga la alimentación eléctrica.
• RAM Dinámicas (DRAM).
La diferencia fundamental entre este tipo de memorias y las memorias RAM
estáticas es que debido a que la celda de memoria donde almacenan la
información tiende a descargarse, por tanto a perder la información almacenada
en ella, se ha de producir un «refresco», esto es, una regrabación de la
información almacenada cada pocos milisegundos para que no se pierdan los datos
almacenados.
La ventaja con respecto a las memorias RAM convencionales es su bajo costo para
tamaños de memorias medios y grandes.
Un tipoespecífico de memorias DRAM son las VRAM (Vídeo RAM). Este tipo de
memorias está diseñadas específicamentepara almacenar los datos de vídeo de los
sistemas informáticos. Estas memorias son especialmente útiles para manejar
subsistemas de vídeo, ya que su necesidad de refresco constante permite un
manejo más sencillo de las cambiantes señales de vídeo.