Diferencia entre revisiones de «Jerarquía de memoria»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Diegusjaimes (discusión · contribs.)
m Revertidos los cambios de 83.52.34.190 a la última edición de Juckar
Línea 25: Línea 25:
== Diagrama explicativo de la jerarquía de memoria ==
== Diagrama explicativo de la jerarquía de memoria ==
[[Archivo:jerarquia_memoria.png|Diagrama de la jerarquía de memoria.]]
[[Archivo:jerarquia_memoria.png|Diagrama de la jerarquía de memoria.]]
sistem11


== Gestión de memoria ==
== Gestión de memoria ==

Revisión del 16:55 20 ene 2010

Se conoce como jerarquía de memoria a la organización piramidal de la memoria en niveles, que tienen los ordenadores. Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al coste de una memoria de baja velocidad, basándose en el principio de cercanía de referencias.

Los puntos básicos relacionados con la memoria pueden resumirse en:

  • Cantidad
  • Velocidad
  • Coste

La cuestión de la cantidad es simple, cuanto más memoria haya disponible, más podrá utilizarse. La velocidad óptima para la memoria es la velocidad a la que el procesador puede trabajar, de modo que no haya tiempos de espera entre cálculo y cálculo, utilizados para traer operandos o guardar resultados. En suma, el costo de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible.

Como puede esperarse los tres factores compiten entre sí, por lo que hay que encontrar un equilibrio. Las siguientes afirmaciones son válidas:

  • A menor tiempo de acceso mayor coste
  • A mayor capacidad mayor coste
  • A mayor capacidad menor velocidad.

Se busca entonces contar con capacidad suficiente de memoria, con una velocidad que sirva para satisfacer la demanda de rendimiento y con un coste que no sea excesivo. Gracias a un principio llamado cercanía de referencias, es factible utilizar una mezcla de los distintos tipos y lograr un rendimiento cercano al de la memoria más rápida.

Los niveles que componen la jerarquía de memoria habitualmente son:

Diagrama explicativo de la jerarquía de memoria

Diagrama de la jerarquía de memoria.

Gestión de memoria

Los lenguajes de programación actuales generalmente asumen la existencia de unicamente dos niveles de memoria, memoria principal y almacenamiento secundario (normalmente en disco). Aunque en lenguaje ensamblador, ensamblador en linea y lenguajes como C podemos direccionar directamente los registros del procesador. Para aprovechar de forma óptima las ventajas de la jerarquía de memoria es necesario cooperación entre programadores, compiladores y fabricantes de hardware:

  • Programadores deben ser responsables del movimiento entre memoria principal y disco mediante el uso de ficheros.
  • Hardware el movimiento de datos entre la memoria principal y los niveles de caché es realizado por algoritmos hardware.
  • Compiladores son responsables de optimizar el código de modo que el uso de los registros y la caché sea eficiente.

Véase también