![]() ![]() |
![]() |
|||
![]() |
![]() |
![]() |
![]() |
tutoriales |
![]() |
Bases tecnológicas funcionales de un sistema de memoria Propiedad de inclusión, coherencia y localidad Propiedad de Inclusión El desempeño de un computador está asociado al Tiempo de Acceso. A menor Tiempo de Acceso, mejor el desempeño. Por otro lado, y debido a sus características funcionales, toda la información está originalmente almacenada en el nivel de memoria inferior. Durante el procesamiento, la información es copiada progresivamente en los niveles de memoria superiores, siguiendo el orden de menor a mayor. La información leída en un nivel de memoria inferior queda incluida en cada nivel de memoria superior. Con esto se logra que, cuando se requiera leer dicha información nuevamente, la lectura se realice en un nivel de memoria superior, cuyo tiempo de acceso es menor. Esta propiedad se denota por: Propiedad de Coherencia Si después de satisfacer la propiedad de Inclusión se modifica una de las posiciones de memoria en el nivel superior, también es necesario modificar los niveles de memoria inferiores, respetando el orden de los niveles. Es decir, primero Mi+1, luego Mi, donde i = 1, 2, 3, 4, 5, ..., n-1. Esta propiedad es necesaria para satisfacer constantemente la propiedad de Inclusión. Existen básicamente dos estrategias para hacer cumplir la propiedad de Coherencia, a saber: Write Through y Write Back. .- Write Through: La información es actualizada inmediatamente en un nivel de memoria inferior si la información es modificada en el nivel superior. -. Write Back: La información no es actualizada en el nivel de memoria inferior hasta tanto no es modificada por completo en el nivel de memoria superior. En la figura 2.2 podemos observar el cumplimiento de las propiedades de Inclusión y Coherencia para los niveles de memoria M1, M2, y M3, con sus respectivas unidades de transferencia entre niveles adyacentes. Figura 1.2 Propiedad de inclusión y coherencia
Propiedad de Localidad La ejecución de un programa se realiza en ciertas localidades de memoria en general. Estas localidades de memoria pertenecen a un mismo o a diferentes niveles de memoria. Esto es lo que se conoce como propiedad de Localidad. Pueden existir tres dimensiones de esta propiedad, a saber: Localidad Temporal, Localidad Espacial y Localidad Secuencial. -. Localidad Secuencial: Se entiende como Localidad Secuencial la ejecución de instrucciones una detrás de otra tal como se representa en la figura 1.3. La propiedad de Localidad Secuencial deja de ser satisfecha cuando es ejecutada cualquier instrucción de salto. En la figura se representa un ejemplo de Localidad Secuencial, mediante una sección de memoria que incluye un conjunto de instrucciones continuas, sin ninguna instrucción de salto.
Figura 1.3 Propiedad de localidad secuencial -. Localidad Temporal: Se dice que existe Localidad Temporal cuando el microprocesador tiende a ejecutar nuevamente, de forma inmediata, las instrucciones recientemente ejecutadas tal como se muestra en la figura 1.4 . Ejemplos de ello son: un programa construido con lazos iteractivos, el procesamiento de la pila (stack) y las subrutinas. En la figura se ilustra un ejemplo, mediante una sección de memoria con un conjunto de instrucciones que llaman a una subrutina presente en otra Localidad de memoria. Figura 1.4 Propiedad de localidad temporal
-. Localidad Espacial: Se entiende por Localidad Espacial la tendencia de procesar datos cuyas direcciones de memoria están cercas unas de otras tal como se muestra en la figura 1.5. Ejemplos de ello son tablas y arreglos. Otro ejemplo se presenta en la figura 1.5, donde se ilustra una sección de memoria que incluye un conjunto de instrucciones que accesan datos presentes en otra Localidad de memoria.
Figura 1.5 Propiedad de localidad espacial Definamos a continuación una serie de conceptos y principios que se desprenden de las tres propiedades descritas anteriormente: -. Hit: Este principio es válido única y exclusivamente para dos niveles de memoria adyacentes. Se dice que ocurre un Hit cuando la información leída por el microprocesador se encuentra en ambos niveles de memoria simultáneamente, cumpliendo así con las propiedades de Inclusión y Coherencia. -. Miss Hit: Este principio es válido única y exclusivamente para dos niveles de memoria adyacentes. Se dice que ocurre un Miss Hit cuando la información está presente en un nivel de memoria inferior pero no lo está en el nivel de memoria adyacente superior. El inconveniente de que ocurra un Miss Hit es el tiempo adicional para: a) el acceso para la lectura de información en un nivel de memoria inferior y b) actualizar dicha información en el nivel de memoria superior, para cumplir con las propiedades de Inclusión y Coherencia. -. Frecuencia de Acceso: Como consecuencia de la propiedad de Localidad, la frecuencia de acceso para cada nivel de memoria es una función probabilística. Para ilustrar este concepto de manera sencilla, supongamos que, inicialmente, la probabilidad de que ocurra un Hit en el nivel de memoria superior es cero (0) y la probabilidad de que ocurra un Hit en el nivel de memoria inferior es 100%. Esta última condición implica cumplir con el inicio de la propiedad de Inclusión, ya que la información leída en el nivel de memoria inferior tiene que ser incluida en los niveles de memoria superiores. Estas suposiciones se representan por las siguientes condiciones iniciales: ho = 0 y hn = 1. Por otro lado, recordemos que lo que se desea es que la frecuencia de acceso sea mayor en los niveles de memoria superiores. Esto se denota por F1 >> F2 >> F3 >> F4 >>, ...,>>Fn. Todo esto se cumple si, y sólo si, para cada nivel adyacente de memoria, se implementan técnicas o algoritmos que aseguren el constante cumplimiento de las propiedades de Inclusión y Coherencia. -. Tiempo de Acceso Efectivo: Definamos Tiempo de Acceso Efectivo como el tiempo que tarda un programa en ejecutarse en un nivel de memoria. El tiempo de acceso efectivo total es la sumatoria de los tiempos de acceso efectivo utilizados por el microprocesador en los diferentes niveles de memoria. En teoría, lo que se desea es que la mayor parte del tiempo de acceso efectivo total transcurra en el nivel de memoria superior, con el fin de que el programa se ejecute más rápidamente. En la práctica, sin embargo, esto es limitado por las propiedades de Localidad implícitas en un programa y por las políticas de administración de memoria implementadas en cada nivel de memoria adyacente. La siguiente formula representa el tiempo de acceso efectivo para un sistema de memoria de n niveles jerarquicos: Donde: h1xt1, h2xt2, h3xt3 representa al tiempo de acceso para cada nivel de memoria. Donde h representa la probabilidad de que ocurra un hit en un de memoria. Y (1-h1)(1-h2)(1-h3)(1-hn) representa la penalidad a pagar por cada miss hit que ocurra. Por ejemplo: Sí un miss hit ocurre en el nivel de memoria cache L1, la penalidad a pagar para accesar el siguiente nivel de memoria cache L2 es igual a: (1-h1)h2t2. Donde h2t2 es igual a la frecuencia de acceso del nivel de memoria cache L2. Las propiedades de Inclusión, Coherencia, Localidad y los conceptos vistos son las bases de los algoritmos de administración de memoria implementados para los siguientes niveles adyacentes de memoria: a) niveles adyacentes de los registros de microprocesador y memoria Cache, b) memoria cahe y memoria Principal y c) niveles adyacentes de memoria Principal y Disco Duro. |
![]() |
![]() |
![]() |
© 2002 New Devices. Derechos Reservados. |