Arquitectura de Von-Neumann: La memoria

Concepto

La memoria está formada por circuitos electrónicos que almacenan valores binarios (bits) en cada celda de memoria. Almacena la información que va a ser utilizada por la CPU: datos e instrucciones de los programas a ejecutar.

Al hablar de una memoria tenemos que tener en cuenta dos parámetros fundamentales:

  • Se llama ancho de palabra al tamaño menor que se puede leer o escribir simultáneamente en la memoria. Depende de la memoria y del bus que se encarga de mover los datos. Algunos tamaños actuales son 32 o 64 bits.
  • Las direcciones de memoria se utilizan para identificar cada palabra de memoria, y son usadas en las instrucciones que ejecuta el procesador para indicar a qué información se quiere acceder. Cuanto mayor sea la memoria, a más direcciones de memoria podré acceder. Actualmente se trabaja con 32 y 64 bits.

Habitualmente nos referimos a la memoria que almacena la información usada por la CPU como memoria RAM (Random Access Memory, Memoria de Acceso Aleatorio) o, directamente,  memoria principal del ordenador (pues si bien tenemos varios tipos de memoria, ésta es la más importante para que el ordenador funcione correctamente).

 

Nota: En contraposición a la memoria RAM, habitualmente se contempla otro tipo de memoria denominado memoria ROM (Read Only Memory, Memoria de Sólo Lectura), pensada para almacenar información no variable, de forma permanentemente, aunque no haya corriente eléctrica. Por ejemplo, la BIOS suele almacenar sus datos en un tipo de memoria ROM.

Al igual que la velocidad de los procesadores, también el tamaño de la memoria principal ha crecido de forma vertiginosa. En muy pocos años hemos pasado de ordenadores personales con varios MB de memoria a equipos con varios GB.

Características

La memoria principal tiene las siguientes características:

  • Es una memoria de acceso directo, es decir, permite acceder directamente a una posición sin la necesidad de acceder previamente al resto de posiciones.
  • Permite leer y escribir sobre ella.
  • Es volátil, es decir, si no recibe suministro eléctrico pierde su contenido. Por eso cuando apagamos el ordenador es posible que se pierdan datos que no han sido almacenados en otras memoria no volátiles (como el disco duro).

Los módulos de memoria

La memoria principal se comercializa habitualmente en forma de pastillas o módulos. Un módulo es una agrupación de chips de memoria que facilita mucho su instalación y reemplazo si se avería o, simplemente, para mejorar la memoria del equipo.

Existen varias tecnologías de fabricación  que suelen presentar los chips en agrupaciones de módulos de diferentes capacidades (actualmente se comercializan módulos que van desde los 512 MB hasta los 8 GB).

Módulo de memoria

 

Los principales factores que definen los módulos de memoria son:

  • La capacidad de la misma.
  • El ancho del bus de datos que define cuantos bits se pueden leer o escribir en una única operación. Las memorias actuales tienen un ancho de 64 bits.
  • El número de operaciones (de lectura o escritura) por segundo que pueden realizar.

 

Jerarquía de memoria

Un problema con el que se enfrentan los fabricantes de equipos es que la elaboración de memorias más rápidas es más cara que la elaboración de memorias lentas. Es por ello que, para optimizar costes, la memoria de un sistema informático se divide en varios niveles que van de mayor a menor velocidad de acceso o rapidez y de menor a mayor tamaño o capacidad. Los datos están continuamente moviéndose entre distintos niveles en función de si están siendo usados por la CPU o no.

Los siguientes elementos conforman la jerarquía de memoria de un ordenador:

  • Registros internos del procesador, con un tiempo de acceso de menos de un nanosegundo (1ns=10-9 seg.) y pequeño tamaño de 128 bytes a 1 KByte. Son por tanto memorias muy pequeñas pero realmente rápidas.
  • Memoria Caché. Es una memoria más rápida que la que se utiliza en los módulos de memoria principal. Está dividida en varios niveles dependiendo de la cercanía al procesador, cuanto más cerca menor tamaño y mayor velocidad. Normalmente tenemos entre 2 y 3 niveles de caché, unas integradas dentro del procesador (L1/L2) y otras fuera (L3) con un tiempo de acceso poco mayor que los registros. En los procesadores actuales el tamaño de la caché de nivel 1 (L1) ronda los 64 KB y el de nivel 2 (L2) de 2 MB a 8 MB. Algunos procesadores también tienen caché de nivel 3.
  • Memoria principal. Tiene tiempos de acceso del orden de los 5 nanosegundos y de tamaños del orden de los GB.
  • Memoria virtual. Realmente no es una memoria, sino una parte del disco duro que se utiliza cuando la memoria principal se queda pequeña para almacenar todos los datos que está usando el ordenador, para guardar parte de lo que debería estar almacenado en memoria principal. El tamaño suele ser de varios GB y la velocidad es la que proporcione el disco duro, normalmente del orden de los milisegundos (1ms=10-3 seg.), que es miles de veces más lento que la memoria principal.  A la memoria virtual también la llamamos área de intercambio o área de swapping.

El siguiente esquema muestra la jerarquía de memoria descrita:

Jerarquía de memoria

En el disco duro también guardamos los programas y datos que queremos almacenar permanentemente, pues es la única memoria de las mencionadas que no es volátil (es decir, que permanece almacenada si no tenemos corriente eléctrica). También podemos utilizar para dicho fin otros dispositivos de almacenamiento como los pendrives o los CD/DVD. Al igual que los demás componentes han sufrido una evolución enorme en su capacidad de almacenamiento,  pues en varios años hemos pasado de discos de cientos de MB a discos de cientos de GB. A todos ellos los llamamos genéricamente dispositivos de almacenamiento secundario.

 

 

Fuente: http://www.cpraviles.com/materiales/pcpi/PCPI/indexfee9.html?page_id=891