Una forma de solucionar los problemas descritos en el item anterior es mediante la creación de una jerarquía de memorias. El cuadro anteriormente visto, muestra que si las memorias de los computadores fueran tan rápidas como sea posible haría de los computadores artículos demasiado caros, por otro lado, si los computadores fueran más lentos, entonces perderían todo su potencial. Por lo tanto la solución es compatibilizar velocidad con costo. Esto se logra con la creación de a lo menos tres niveles o jerarquías diferentes de memoria.
- Memoria CACHE: Es una memoria muy rápida de poca capacidad y que se ubica generalmente muy cerca del procesador (actualmente se ubican en el interior del propio procesador). A veces encontramos más de un nivel de Cache. Tiene como objetivo aumentar la rapidez de acceso a los datos de memoria, es transparente para el usuario. Se dice que es transparente porque esta pero no se ve. Por ejemplo si un procesador ejecuta una instrucción cada 2 o 3 ns resulta para el demasiado tiempo de espera si la memoria demora 10 ms en llevar la información.
- Memoria Principal: Esta memoria es de mayor capacidad, pero más lenta que la memoria CACHE
- Disco Duro: El disco duro no es considerado como memoria, sino más bien se le considera como un almacén de información.
Como se puede ver en el siguiente diagrama la Jerarquía de Memorias soluciona el problema del costo al hacer disminuir considerablemente el precio total de las memorias.

El siguiente ejemplo sirve para entender mejor el concepto de Jerarquía de Memoria
Habitualmente al manejar los números telefónicos es común saber algunos de memoria (los que más se utilizan), por otro lado los teléfonos que me sirven, los llevo en una agenda, sin embargo, todos los teléfonos disponibles están en la guía telefónica la que solo se consulta cuando es necesario. Si llevamos este ejemplo al caso de las memorias tenemos lo siguiente.
Memoria CACHE = Teléfonos que más utilizo
Memoria Principal = Teléfonos que me sirven
Disco duro = Guía telefónica
Unido al concepto de Jerarquía de Memoria esta el concepto de Localidad el cual queda más claro si se explica con un ejemplo.
Es común que al buscar a un amigo pensemos que para encontrarlo es más probable ubicarlo en lugares como su casa o su lugar de trabajo. Es esta probabilidad de encontrar las cosas en un entorno común lo que se llama Localidad. La Localidad se relaciona con dos parámetros opuestos que a continuación se definen.
HIT RATIO (H): La Razón de Acierto permite entregar una medida de la eficiencia de los diferentes niveles de memoria o dicho de otra forma es el porcentaje de requerimientos que es satisfecho por un nivel dado de memoria.
T = Ht1 + (1 – H) t2
Donde:
t1 es el tiempo de acceso del nivel 1
t2 es el tiempo de acceso del nivel 2
En general las razones de acierto son altas (Superiores al 90 %) aunque las memorias sean cada vez más pequeñas.
MISS : (perder, extrañar) MISS: Razón de desacierto, significa que la información buscada no se encuentra en ese nivel.
MISS = (1 – H)
El siguiente ejemplo mide el tiempo de acceso a la memoria.
10 ns tiempo de acceso a la cache.
100 ns tiempo de acceso a la memoria principal.
10 ms tiempo de acceso al disco duro.
T = 0.9 x 10ns +0.1 [0.9 x 100ns + 0.1 x 10ms] = 100.018 micro segundos
Se aprecia en el resultado, que la distancia entre la velocidad de la memoria cache(aprox. 10 ns) y la velocidad en el tiempo de acceso a memoria(100.018 m s), son muy diferentes, por lo tanto, no se estaría cumpliendo con el requisito de que las memorias deben ser rápidas. La solución a este problema radica en el hecho de que no se debe considerar al Disco Duro como memoria.
La memoria es el lugar donde están los datos que se ocupan continuamente.
El Disco Duro contiene los datos que se ocupan con menos frecuencia, sólo cuando se necesitan.
El siguiente cálculo se efectúa sin considerar al Disco Duro, y como se puede ver, en este caso si nos aproximamos a la velocidad de la memoria cache, lo cual soluciona el problema de la velocidad.
T = 0.9 * 10 ns + 0.1 * 100 ns = 19 ns

El concepto de Memoria Virtual consiste en que el procesador ve más memoria de la que realmente existe, se puede relacionar con un espejo, es decir se ve pero no esta. Trabaja creando un espacio de intercambio entre la memoria principal y el disco duro.
Multitarea: Aparentemente se ejecuta más de un proceso a la vez, sin embargo, esta apariencia se debe a la gran velocidad de ejecución de las tareas.
Memoria CACHE ---------> Hardware (circuitos)
Memoria Virtual ------------->Sistema Operativo
No hay comentarios.:
Publicar un comentario