Diferencia entre revisiones de «Jerarquía de memoria»

300 bytes añadidos ,  hace 8 años
Estructurar texto
Sin resumen de edición
(Estructurar texto)
[[Archivo:jerarquia memoria.png|right|thumb|450px|Diagrama piramidal de la jerarquía de memoria.]]
 
{{VT|Memoria (informática)#Jerarquía de almacenamiento}}
Se conoce comoLa '''jerarquía de memoria''' aes la organización piramidal de la [[Memoria (informática)|memoria]] en niveles que tienen loslas [[ordenadorcomputadora]]ess. SuEl objetivo es conseguir el rendimiento de una memoria de gran velocidad al coste de una [[memoria de ordenador|memoria]] de baja velocidad, basándose en el principio de [[cercanía de referencias]].
 
== Puntos básicos ==
 
Los puntos básicos relacionados con la memoria pueden resumirse en:
* Capacidad
* Velocidad
* Coste por [[bit]]
 
La cuestión de la capacidad 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 coste de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible.
 
La velocidad óptima para la memoria es la velocidad a la que el [[microprocesador]] puede trabajar, de modo que no haya tiempos de espera entre cálculo y cálculo, utilizados para traer operandos o guardar resultados.
Como puede esperarse los tres factores compiten entre sí, por lo que hay que encontrar un equilibrio. Las siguientes afirmaciones son válidas:
 
En suma, el coste de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible.
 
Como puede esperarse losLos tres factores compiten entre sí, por lo que hay que encontrar un equilibrio. Las siguientes afirmaciones son válidas:
 
Las siguientes afirmaciones son válidas:
* A menor tiempo de acceso mayor coste.
* A mayor capacidad menor coste por bit.
 
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.
 
== Niveles jerárquicos ==
 
Los niveles que componen la jerarquía de memoria habitualmente son:
* Nivel 0: [[Registro (hardware)|Registros]] del [[microprocesador]] o [[Unidad central de procesamiento|CPU]]
* Nivel 1: [[Memoria caché]]
* Nivel 2: [[Memoria principalprimaria]] ([[Memoria de acceso aleatorio|RAM]])
* Nivel 3: [[Memorias flash]]
* Nivel 4: [[Disco duro]] (con el mecanismo de [[memoria virtual]])
* Nivel 5: [[Cintas magnéticas]] Consideradas(consideradas las más lentas, con mayor capacidad., de acceso secuencial)
* Nivel 6: [[Red de computadoras|Red]]es (Actualmenteactualmente se considera un nivel más de la jerarquía de memorias)
 
 
== Gestión de memoria ==
Los [[lenguaje de programación|lenguajes de programación]] actuales generalmente asumen la existencia de únicamente dos niveles de memoria,: [[memoria principalprimaria]] y [[almacenamientomemoria secundariosecundaria]] (normalmente en disco). Aunque enEn [[lenguaje ensamblador]], ensamblador en línea, y lenguajes como [[lenguaje de programación C|C]] y [[C++]], podemosse pueden direccionar datos directamente a los registros delde la procesadorCPU.
 
Para aprovechar de forma óptima las ventajas de la jerarquía de memoria es necesarionecesaria la cooperación entre programadores, compiladores y fabricantes de hardware:
* '''[[programador|Programadores]]''' deben ser responsables del movimiento entre memoria principal y disco mediante el uso de [[fichero]]s.
* '''[[HardwareProgramador|Programadores]]''': eldeben movimientoser deresponsables datosdel movimiento entre la memoria principal y losdisco nivelesmediante deel cachéuso es realizado porde [[algoritmofichero]]s hardware.
* '''[[CompiladorHardware]]es''': sonel responsablesmovimiento de optimizardatos elentre códigola dememoria modoprincipal quey ellos usoniveles de loscaché registroses yrealizado lapor caché[[algoritmo]]s seade eficientehardware.
* '''[[Compilador]]es''': son responsables de optimizar el código de modo que el uso de los registros y la caché sea eficiente.
 
== Véase también ==
* [[Memoria (informática)]]
* [[Medios de almacenamiento]]
 
5226

ediciones