Ir al contenido principal

Jerarquía de memoria


El objetivo principal de la memoria es mantener la información por un período de tiempo, y ésta al igual que la memoria de las personas se divide en diferentes partes, sin embargo, no cuenta con la misma capacidad para olvidar o generar recuerdos de un modo mismo, pero al tratarse de acceder a un recuerdo o información relevante de forma instantáneamente hace una tarea similar en un tiempo óptimo, esto gracias a qué cuenta con la jerarquía de memoria la cual puede indagar en diferentes diseños para mantener un balance entre costo y rendimiento.

En arquitectura computacional existen dos tipos de memoria:
  •        Volátil, este tipo de memoria (memoria principal) pierde todos los datos que tenia almacenados al apagar el equipo.
  •        No-volátil, esta (memoria auxiliar o externa) por su parte mantiene los datos guardados así no tenga una fuente de poder conectada.


El funcionamiento de la jerarquía de memoria se da gracias a el principio de localidad, en el cual los programas no acceden con igual probabilidad a los datos, este principio maneja dos aspectos:
  •       Localidad espacial: Al acceder a un dato_3 la probabilidad de acceder a uno de sus datos vecinos es alta, mientras que a un dato alejado la probabilidad se reduce.
  •         Localidad temporal: Cuando un dato o instrucción es referenciada, la probabilidad de que esta vuelva a referenciarse tiempo después es alta, al igual que las referencias vecinas a este.

Estas referencias son almacenadas en la memoria caché para que el procesador tengo un acceso más rápido a estas.


El uso de la jerarquía se ve representado de diferentes formas en cada nivel, los registros de memoria se dan gracias al compilador, la memoria cache es correlacionada con el hardware de la maquina y el almacenamiento de los datos, memoria o discos, si nos referimos a memoria virtual se da por el hardware y sistema operativo mientras los archivos los define el programador. En la siguiente gráfica se representa de mejor manera la distribución.





En la gráfica anterior se puede apreciar los niveles de jerarquía de memoria, entre los diferentes niveles se presentan constante cambio de datos, los registros de la CPU tienen la capacidad de acceder directamente a los dos siguientes niveles, mientras que los datos de la memoria secundaria o datos de entrada como el teclado son almacenados primero en la memoria RAM para que la velocidad de procesamiento sea mayor. A mayor jerarquía, menor tiempo de acceso y mayor costo.

Los niveles principales de la piramide jerarquica se pueden distribuir en:

  1. Registros: Estas son celdas de memoria integradas a la CPU esta memoria contiene datos especificos como la unidad aritmética y lógica, son controlados directamente por el compilador  
  2. Memoria Cache: Las memorias caches estan diseñadas para reducir el tiempo que tardan los datos en llegar a la CPU, almacenando los datos más frecuentes en la CPU para que esten disponibles al instante. Muchas CPUs de hoy en día cuentan con dos niveles de memoria cache, hoy en día se usa una memoria SRAM como memoria cache de nivel 2 síncronica diseñada para mantener la velocidad del reloj de la CPU mejorando la velocidad de rendimiento 
  3. Memoria RAM: La memoria RAM o memoria principal es el espacio de trabajo en cual se manipula los datos y tareas a realizar mientras el comutador este encendido
  4. Dispositivos de almacenamiento
  5. Fuentes de entrada

Los programas se almacenan en la memoria secundaria (disco duro), para que la memoria principal (RAM) pueda acceder a estos, el rendimiento computacional va directamente ligado a la capacidad del sistema en acceder a la información. Es mucho más veloz que el procesador use la información de la RAM a que acceda directamente al disco duro, es decir a mayor cantidad de RAM mayor velocidad de lectura y escritura sobre el procesador, sin embargo, grandes cantidades de memoria representan un costo mayor.

Si se busca mejor un diseño del sistema para optimizar tiempo de respuesta es necesario saber el proceso interno de cada memoria, su velocidad de lectura y escritura. Las CPUs de hoy en día corren a una velocidad de 1 gigahertz, pero para mantener una CPU con esta velocidad es demasiado costoso por eso es necesario el uso de diseñadores computacionales, los cuales proponen una solución al problema usando niveles de memoria.

La jerarquía de memoria brinda una solución de memoria virtual ilimitada a equipos tomado en cuenta la localidad y costos de operación de memoria. Ignorar la jerarquía de memoria al hacer diseños computacionales implica perder velocidad de respuesta, dinero y tiempo. Mantener un balance entre los diferentes niveles de memoria refleja un buen rendimiento computacional y un precio accesible al mercado.





Tambien puedes ver el siguiento vídeo para más información:









Referencias: 

Comentarios

  1. Es interesante la relación que hay de la memoria humana con la memoria de un computador, nuestros cuerpos tienen muchas respuestas para el avance tecnológico, entender el funcionamiento de la jerarquía de memoria de un computador hace ver lo complejos que pueden ser nuestros cuerpos.

    ResponderEliminar
  2. Así es, el tener presente el papel fundamental de la memoria computacional y su importancia en este desarrollo tecnológico que avanza conforme lo hace la humanidad misma, es sorprendente y verdaderamente necesario. Un buen aporte, muy sustancioso y gratificante.

    ResponderEliminar
  3. Que importante es tener presente la distribución de la memoria, gracias, muy buena explicación!

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Smart Campus

"Universidad al alcance de todos y para tdos" Smart, ¿de dónde proviene la palabra "smart"?. smart es un termino anglosajón que español significa inteligente, elevado, alguien lucido, constantemente es empleada en uso de las tecnologías para expresar mejoría, contacto con el consumidor, inclusión. Así que personalmente la palabra smart hace uso de la inteligencia para poner a disposición las cosas al alcance de todos. Desde un televisor con subtitulo para incluir a los sordos, hasta un celular con guía de comando por voz para ser más accesibles a los ciegos. Campus inteligente Para hablar de campus inteligente es necesario verlo como una gran plataforma al uso de todos, estudiantes, profesores, administrativos, personal de equipos varios y visitantes. Una plataforma que esta al constante uso de todos, por ende no puede saturarse y deberá tener la capacidad de implementar tiempos de respuestas óptimos al tiempo. Para manejar una gran plataforma educativa al alcance d