ÍNDICE
1. INTRODUCCIÓN
2. MEMORIA CENTRAL. MEMORIA INTERNA.
3. TIPOS DE MEMORIA
4. ESQUEMA GENERAL DE UNA UNIDAD DE MEMORIA
5. DIRECCIONAMIENTO
6. CARACTERÍSTICAS Y FUNCIONES
7. JERARQUÍA DE MEMORIAS
8. LA MEMORIA EN EL PC
9. BIBLIOGRAFÍA
1. INTRODUCCIÓN
Se denomina memoria a todo dispositivo que mantenga constancia de lo ocurrido en el pasado. El elemento básico de la memoria digital es el biestable, capaz de almacenar un bit. Agrupando biestables se construyen los registros, capaces de almacenar hasta una palabra. Pero en muchas ocasiones se requiere almacenar cientos, miles, millones de palabras. Esta función de almacenamiento masivo de información la realizan los elementos llamados memorias, que en muchas ocasiones se implementan agrupando registros.
La memoria es una unidad donde se almacena la información que necesita el ordenador, es decir, tanto las instrucciones que forman los programas como los datos. En este tema nos referiremos a la memoria principal o interna, que forma parte de la denominada computadora central.
2. MEMORIA CENTRAL. MEMORIA INTERNA.
Es el elemento encargado de almacenar los programas y los datos necesarios para que el sistema informático lleve a cabo alguna tarea. Para que un programa pueda ser ejecutado en un ordenador, al menos parte del mismo debe encontrarse en memoria principal, junto con los datos que deban ser procesados. Estas memorias presentan gran rapidez y se componen de celdas direccionadas, de forma que cada operación de lectura o escritura en memoria exige especificar la dirección sobre la cual se va a realizar dicha operación. Mediante esta dirección se puede acceder de forma directa a cualquier celda de memoria, independientemente de su posición; por ello se dice que la memoria principal es una memoria de acceso directo o memoria accesible por dirección.
2.1. Fases de lectura y escritura
Sobre la memoria central solamente se pueden realizar dos operaciones: leer una o varias posiciones de memoria o escribir en ellas. En estas operaciones intervienen dos registros o células de memoria que gestionan dichas acciones de lectura y/o escritura.:
Registro de direcciones de memoria (RDM)
Contiene la dirección de memoria de la celda en la que queremos realizar la operación de lectura o de escritura.
Registro de intercambio de memoria (RIM)
Conserva el contenido de la celda que se ha leído o sobre la que se ha escrito. Este registro ha de coincidir con el tamaño de las células de memoria.
La escritura sobre la memoria es destructiva, es decir, el contenido que hay en la célula de memoria direccionada desaparecerá en cuanto llegue la nueva información. La lectura no es destructiva.
3. TIPOS DE MEMORIA
La memoria interna está formada por dos tipos de memoria:
La memoria ROM (Read Only Memory – Memoria de sólo lectura)
En ella sólo se permite la lectura y es permanente, es decir, al desconectar el ordenador la información no se pierde. Algunos chips de ROM tienen su contenido grabado permanentemente desde el momento en que se fabrican. Otros están inicialmente en blanco y pueden grabarse con el equipo apropiado. Éstas son las memorias programables de sólo lectura o PROM (Programmable Read Only Memory). Algunas PROM pueden borrarse de nuevo empleando el equipo apropiado para éste propósito. Éstas son las memorias programables de sólo lectura que pueden borrarse o EPROM (Erasable Programmable Read Only Memory). En cualquiera de estos casos, los chips de ROM, una vez instalados en un ordenador, sólo pueden leerse. Las instrucciones y los datos de la ROM permanecen allí después de apagarse el ordenador.
Cualquier intento de escribir en la ROM no causa ningún efecto, excepto provocar un error que será detectado por el sistema operativo.
La memoria RAM (Random Acces Memory – Memoria de acceso aleatorio)
En ella se puede leer y escribir. Esta memoria es volátil, al desconectar el ordenador la información almacenada en la RAM desaparece, de forma que al conectar de nuevo la máquina la zona de memoria RAM se encuentra vacía. Se emplean dos tipos de chips para las RAM: chips de RAM estática (SRAM), que retiene datos mientras se suministre corriente, y chips de RAM dinámica (DRAM), en la que los datos desaparecen lentamente y es necesario refrescarlos periódicamente. En este último caso, los refrescos de memoria se consiguen leyendo los datos y volviendo a escribirlos en la misma posición. Todas las posiciones de memoria se van refrescando de forma cíclica mientras el ordenador permanezca encendido. Las SRAM son más rápidas, pero de menor capacidad que las DRAM.
4. ESQUEMA GENERAL DE UNA UNIDAD DE MEMORIA
La principal función de la unidad de memoria consiste en gestionar los procesos que se encargan de almacenar y recuperar la información. El esquema general de una unidad de memoria es el siguiente:
Decodificador de direcciones
Registro de datos de memoria
Registro de dirección de memoria
Antes de realizar una operación de lectura/escritura, se ha de colocar en este registro la dirección de la celda que va a intervenir en la operación. Dependiendo del número de bits que contenga el registro de dirección se tendrá una determinada capacidad de memoria (si el registro de dirección es de 8 bits, se podrán codificar hasta 28 = 256 direcciones de memoria distintas).
Decodificador de dirección o selector de memoria
Se activa cada vez que se produce una orden de lectura/escritura, conectando la celda de memoria, cuya dirección se encuentra en el registro de dirección, con el registro de datos y posibilitando la transferencia de los datos en un sentido u otro.
Registro de datos
En el se almacena el dato que se ha leído de memoria o el dato que se va a escribir en memoria. También existen líneas de control mediante las que se transmiten órdenes procedentes de la
unidad de control (señal de escritura/lectura, de funcionamiento, de estado).
4.1. Secuencia de pasos para leer/escribir un dato
Para la lectura de un dato almacenado en memoria se siguen estos pasos:
– Se pasa la dirección al registro de dirección.
– Mediante el decodificador se accede a la dirección.
– Se pasa el dato que está en esa dirección al registro de datos. Para la escritura de un dato en memoria se siguen los pasos:
– Se transfiere la dirección en la que se va a escribir al registro de dirección.
– Se transfiere el dato al registro de datos.
– Se pasa el contenido del registro de datos a la dirección que contiene el registro de dirección.
5. DIRECCIONAMIENTO
Es la operación que consiste en localizar una información determinada en la memoria.
Una memoria organizada en 2n palabras de m bits es una estructura lógica que tiene n entradas de dirección, m salidas de datos y m*2n celdas de memoria; además, puede tener m entradas de datos y p entradas de control. Esquemáticamente se representa tal y como puede verse en la siguiente figura:
C
n
X m * 2n m
m celdas Z
Y
Cada celda de memoria contiene un bit de información, que a través de las salidas de datos puede ser
leído cuando se desee. Cuando la información contenida en cada celda se puede modificar (memoria de lectura y escritura), la memoria tiene m entradas de datos, a través de las cuales se introduce la información a escribir.
A cada palabra de memoria le corresponde una dirección única, estando formada dicha dirección por una combinación específica de las n entradas de dirección. Para leer una palabra dada en las entradas de dirección se aplica la dirección correspondiente a esa palabra, y en las salidas de datos aparece la información “escrita” en esa palabra de memoria. A las memorias que para seleccionar una palabra debe especificarse su dirección se les llama memorias accesibles por dirección. A veces también se utilizan memorias accesibles por contenido o memorias asociativas, donde en lugar de una dirección se da parte del contenido de la posición (denominada clave) y la memoria proporciona la totalidad del contenido de las palabras que contienen esa clave.
En general, existen dos tipos de mecanismos de direccionamiento que dan lugar a los dos tipos de organización de la memoria:
1- Organización por palabras o 2D: Utiliza un único decodificador con tantas salidas como palabras tenga la memoria y tantas entradas como dígitos sean necesarios para direccionar todas las palabras. En el caso de una memoria con 4 palabras el decodificador tendrá 2 entradas y 4 salidas. En general podemos decir que si el numero de palabras que hay en memoria es 2n entonces el numero de entradas del decodificador es n y el numero de salidas es 2n. Este direccionamiento es adecuado para memorias de tamaño reducido y alta velocidad de acceso.
2- Organización por coincidencia o 3B: Este tipo de organización utiliza 2 decodificadores y las palabras están formando una matriz, se consigue así reducir el numero de entradas y de salidas.
6. CARACTERÍSTICAS Y FUNCIONES
Un parámetro de gran importancia de las memorias accesibles por dirección es la velocidad de respuesta. Usualmente se utilizan tres parámetro relacionados con la velocidad:
Tiempo de acceso, ta
Es el tiempo máximo que se tarda en leer (tiempo de acceso de lectura) o escribir (tiempo de acceso de escritura) el contenido de una posición de memoria.
Tiempo de ciclo, tc
Es el tiempo mínimo entre dos lecturas sucesivas.
Ancho de banda, AB
Es el número de palabras que se transfieren entre memoria y la CPU por unidad de tiempo: AB = 1 / tc.
7. JERARQUÍA DE MEMORIA
Para que un programa pueda ser ejecutado debe encontrarse en memoria principal. Puede ocurrir que el tamaño del programa sea mayor que el de la propia memoria principal. En estos casos se utiliza la técnica llamada memoria virtual, que consiste en guardar el programa y sus datos en memoria masiva y mantener en memoria principal únicamente la parte de ellos que está en ese momento en la ejecución.
Otro problema que se plantea es que la CPU capta instrucciones y datos de la memoria principal, almacenando en ella los resultados de las operaciones. Sin embargo, la velocidad a la que opera la CPU es del orden de 10 veces superior a la de la memoria principal. Con esto se desperdiciaría mucho tiempo de CPU esperando que la memoria principal realice su función. En realidad, esto no suele ser así, sino que se introduce entre la CPU y la memoria principal una memoria denominada caché. La memoria caché es una pequeña memoria rápida que se coloca entre la memoria principal y la CPU, de forma que esta última se comunica directamente con ella y no con la memoria principal. El problema de las memorias caché es que son más caras y tienen menor capacidad.
Las prestaciones de una memoria, sea del tipo que sea, se miden mediante cuatro parámetros:
Capacidad de almacenamiento, s (que sea suficiente) Tiempo de acceso, t (lo menor posible)
Ancho de banda, b (lo más alto posible) Coste, c (lo más reducido posible)
En general, en una memoria se cumple que a mayor velocidad, se tiene un mayor ancho de banda, mayor coste y menor capacidad. Así los registro de la CPU son los más rápidos y los que tienen mayor ancho de banda, sin embargo, son los más caros y los que tienen menor capacidad. A medida que descendemos en la pirámide de la siguiente figura, va aumentando el tiempo de acceso (velocidad menor) y la capacidad, y disminuyen el ancho de banda y el precio.
CAPACIDAD
Cuando IBM diseñó su primer ordenador personal, el PC, utilizó los procesadores 8088 y 8086 que pueden direccionar 1 Mb de RAM.
Los ingenieros de IBM tuvieron que asignar parte del espacio de direcciones a la ROM necesaria y el resto a la RAM. Decidieron que los 640 Kb más bajos se utilizaran para RAM y que los 384 Kb más altos se reservaran para ROM. Con esta división se creó el esquema principal para los ordenadores personales y provocó la aparición de dos términos: memoria convencional y memoria reservada.
8.1. Memoria convencional
Es la zona en la que el DOS carga y ejecuta sus programas. La memoria convencional más baja está reservada para uso exclusivo del ordenador, pero a partir de 2 Kb y hasta los 640 Kb se pueden ejecutar aplicaciones. Esto no significa que se disponga de los 638 Kb restantes totalmente, ya que el DOS también se carga en memoria convencional y consume de 18 a 90 Kb dependiendo de la versión del sistema operativo.
Encima del DOS está el área de almacenamiento de datos, de gestión de archivos abiertos, controladores de dispositivos y programas residentes en memoria. Por último en la zona más alta está la aplicación y los archivos cargados con la aplicación.
8.2. Memoria superior
IBM reservó los 384 Kb de la parte superior de la memoria del PC para futuras expansiones o para la ROM. El PC original usaba sólo una parte de esta memoria para su BIOS (Basic Input/Output System), que proporcionaba las instrucciones de bajo nivel para controlar periféricos como unidades de disco y el teclado. Otra pequeña parte la utilizó para la memoria de vídeo, donde se almacenaba la información a visualizar en el monitor. Y todavía sobraba mucho para expansiones.
A medida que los programas crecían en tamaño, y con los nuevos microprocesadores que podían acceder a más memoria, empezaron a surgir las limitaciones del diseño del PC original. Así en vez de ser conocido como el punto donde termina la RAM de los programas y comienza la memoria superior, los
640 Kb llegaron a ser conocidos como la barrera del DOS, un punto más allá del cual estaba prohibido el uso de memoria. Los programas sólo podían trabajar con los menos de 640 Kb de RAM que el DOS ofrecía.
8.3. Memoria expandida
Se propuso una solución que utilizaba una combinación de hardware y software. Lotus, Intel y Microsoft anunciaron la especificación de memoria expandida, conocida como LIM EMS, que constituye un estándar para este tipo de memoria. La idea original requería el uso de una tarjeta de expansión de memoria especial, en la actualidad es controlada por gestores de memoria que emulan a las tarjetas.
La memoria expandida aprovecha un área no utilizada de la memoria superior, reservando un bloque de
64 Kb llamado marco de página. Un controlador de dispositivo llamado EMM permite a las aplicaciones acceder a la memoria expandida mediante cuatro páginas de 16 Kb mapeadas en el marco de página. Esta memoria utiliza conmutación de páginas; es decir, las páginas pueden intercambiarse dentro y fuera del marco de página según se necesiten. Cuando una página está dentro del marco puede ser leída por el micro porque cae dentro del espacio de direcciones de 1 Mb.
8.4. Memoria extendida
Se trata de la parte de memoria utilizable por encima de 1 Mb, accesible sólo por las máquinas modernas. Algunos programas acceden a esta memoria directamente, mientras que otros deben hacerlo a través de un controlador de memoria o un controlador de dispositivo.
8.5. El área de memoria alta
Los microprocesadores 8088/8086 pueden direccionar 1 Mb de memoria. Cualquier intento de utilizar memoria más allá del límite de 1 Mb origina en el microprocesador un efecto conocido como warp around, por el cual regresa a la dirección de memoria 0. Los 80286/386/486 también efectúan este desbordamiento de vuelta a la posición 0. Pero pueden mapear estos bytes en los primeros 64 Kb de memoria extendida. Estos 65520 bytes extra son conocidos como área de memoria alta o HMA (en realidad son 64 Kb menos 16 bytes).
El DOS puede realmente ver la memoria situada en esa zona y acceder directamente a ella sin tener que conmutar el micro a modo protegido.
Para acceder a la HMA se necesita, por tanto:
Un ordenador con micro 80286 o superior y memoria extendida.
Un controlador de dispositivo que permita su acceso y control (HYMEN.SYS).
9. BIBLIOGRAFÍA
Alberto Prieto
Introducción a la Informática
Mc Graw-Hill, 2ª edición, 1997
Alfonso Ureña López Fundamentos de Informática Ra-ma, 1997
Gooking, D.
Gestión de memoria con el DOS
Anaya Multimedia, 1993