Tema 2 Definiciones y conceptos básicos



Descargar 424.76 Kb.
Página4/8
Fecha de conversión12.11.2017
Tamaño424.76 Kb.
1   2   3   4   5   6   7   8

Correspondencia directa

Es la técnica más simple de todas. Cada bloque de la memoria principal se transforma en un único bloque de la memoria caché, tal como se muestra en la Figura 2.38.





Figura 2.38: Asignación de bloques de la Mp en la Mca con correspondencia directa

La función de transformación es: i = j módulo C (2.3)

donde:

i = Número de bloque asignado en la Mca al bloque de la Mp



j = Número de bloque de la Mp

C = Número de bloques que tiene la Mca


En la Tabla 2.10 se muestra de acuerdo con la ecuación (2.3) la correspondencia entre los bloques de la memoria caché y de la memoria principal.

Bloque de Mca

Bloque de Mp asignado

0

O, C, 2C, ….. , M-C

1

1, C+1, 2C+1, …. , M-C+1







C-l

C-1, 2C-1, 3C-1, …. , M-1

Tabla 2.10: Correspondencia entre los bloques de Mca y Mp
La Figura 2.39 ilustra el mecanismo general de la correspondencia directa.



Figura 2.39: Organización de una memoria caché con correspondencia directa
Cuando la CPU genera una dirección para acceder a una palabra de la Mp, su formato desde el punto de vista de la Mca se divide en tres campos: etiqueta, bloque y palabra. El número de bits de cada uno de estos campos (se supone, como es habitual que k y C son potencias de 2) viene dado por las relaciones siguientes:

campo palabra: p = log2(k) campo bloque: b = log2(C) campo etiqueta: e = n   p   b (2.4)

El funcionamiento de la correspondencia directa se puede describir en los términos que siguen:

1) Con el campo bloque se identifica un bloque de la Mca

2) Se compara la etiqueta de ese bloque de la Mca con el campo etiqueta (de la dirección solicitada por el procesador). Si coinciden entonces con el campo palabra se selecciona la palabra pedida dentro del bloque y se le entrega a la CPU. Si al comparar las etiquetas no coinciden quiere decir que no se encuentra en la Mca y por lo tanto se produce un fallo y habrá que ir a buscar la palabra a Mp.


En la Tabla 2.11 se resumen los parámetros del ejemplo propuesto y los de la organización de la memoria caché con correspondencia directa.


Tamaño de la Mp

N = 32 K

N° de bits para direccionar la Mp

n = 15

Tamaño de la Mca

512 bytes

N° de bits del campo de palabra

p = 3

Palabras/bloque

k = 8

de bits del campo de bloque

b = 6

de bloques en la Mp

M = 4 K

N° de bits del campo de etiqueta

e = 6

de bloques en la Mca

C = 64







Tabla 2.11: Parámetros del ejemplo propuesto con organización con correspondencia directa
En el ejemplo propuesto (ver Figura 2.40), la función de transformación se realiza fácilmente utilizando los 15 bits de la dirección. Los 3 bits menos significativos (los que están más a la derecha) sirven para localizar una palabra dentro de un bloque de la Mp. Los restantes 12 bits especifican uno de los 212 = 4K

bloques de la memoria principal. La lógica que lleva incorporada la memoria caché interpreta estos 12 bits como una etiqueta de 6 bits (la parte más significativa) y los otros 6 bits (la parte menos significativa) identifican un bloque dentro de la memoria caché. A1 mismo tiempo, estos 12 bits determinan el número del bloque de la memoria principal que se transfiere al correspondiente bloque de la memoria caché.

Así, los bloques 0000, 0100, ..., 7700 (los valores se representan en base octal) de la memoria principal se transforman en el bloque 0 de la memoria caché; los bloques 0001, 0101, ..., 7701 se transforman en el bloque 1 de la memoria caché, etc. La utilización de una parte de la dirección como campo de bloque proporciona una transformación única de cada bloque de la memoria principal en un bloque de la memoria caché. Cuando se asigna un bloque de Mp a un bloque de Mca, es necesario ponerle una marca para distinguirlo de otros bloques que podrían transformarse en el mismo bloque. Los 6 bits más significativos de la dirección que constituyen el campo de etiqueta cumplen esta misión, de manera que los bloques 0000, 0100, ..., 7700 tienen como número de etiqueta 00, 01 . ...., 77 respectivamente.

Una operación de lectura se realiza de la forma siguiente (ver Figura 2.40). A la memoria caché se le presenta una dirección de 15 bits. Los 6 bits del campo bloque se utilizan como índice dentro de la memoria caché para acceder a un bloque en particular. Si los 6 bits del campo etiqueta de la dirección coinciden con la etiqueta de ese bloque de la Mca, se usan los 3 bits del campo palabra para seleccionar una de las 8 palabras que contiene. Si no coinciden se emplean, los 12 bits de los campos etiqueta y bloque conjuntamente, para localizar un bloque en la memoria principal. La dirección correspondiente está constituida por los 12 bits anteriores concatenados con 3 bits puestos a cero en la parte menos significativa. De esta manera se accede a 8 palabras que comienzan en una frontera de bloque.





Figura 2.40: Ejemplo de correspondencia directa

La técnica de correspondencia directa es simple y poco costosa de realizar. Su principal desventaja es que cualquier bloque dado tiene asignada una posición fija en la memoria caché. Así, si ocurre que un programa efectúa repetidas referencias a palabras de dos bloques diferentes que se transforman en el mismo bloque de la Mca, estos bloques se estarán moviendo continuamente entre la memoria caché y la memoria principal, con la consiguiente pérdida de rendimiento del sistema.


Correspondencia totalmente asociativa

Esta técnica subsana el inconveniente que se acaba de mencionar al estudiar la correspondencia directa, ya que permite que un bloque de memoria principal se cargue en cualquier bloque de la memoria caché, tal como se muestra en la Figura 2.41.





Figura 2.41: Asignación de bloques de la Mp en la Mca con correspondencia totalmente asociativa
La Figura 2.42 ilustra el mecanismo general de la correspondencia totalmente asociativa. Cuando la CPU genera una dirección para acceder a una palabra de la Mp, su formato desde el punto de vista de la Mca se divide en dos campos: etiqueta, y palabra. El número de bits de cada uno de estos campos viene dado por las relaciones siguientes:

campo palabra: p = log2(k) campo etiqueta: e = n - p (2.5)

El funcionamiento de la correspondencia totalmente asociativa se puede describir en los términos que siguen:

1) Para determinar si un bloque está ya en la Mca es preciso que esta incorpore la lógica necesaria que le permita examinar de forma simultánea todas las etiquetas de su directorio y comprobar si el campo etiqueta de la dirección solicitada por el procesador coincide con alguna de ellas. Un bloque de memoria principal se puede almacenar en cualquier bloque de la memoria caché, a condición de que se almacene con él los e bits de su campo de etiqueta.

Si coinciden, con el campo palabra se selecciona la palabra pedida dentro del bloque y se le entrega a la CPU. Si al comparar las etiquetas no coinciden quiere decir que no se encuentra en la Mca y por lo tanto se produce un fallo y habrá que ir a buscar la palabra a Mp.





Figura 2.42: Organización de una memoria caché con correspondencia totalmente asociativa

En la Tabla 2.12 se resumen los parámetros del ejemplo propuesto y los de la organización de la memoria caché con correspondencia totalmente asociativa y en la Figura 2.43 se muestra el ejemplo que se viene desarrollando a lo largo de esta sección.




Tamaño de la Mp

N = 32 K

N° de bloques en la Mca

C = 64

Tamaño de la Mca

512 bytes

N° de bits para direccionar la Mp

n = 15

Palabras/bloque

k = 8

N° de bits del campo de palabra

p = 3

N° de bloques en la Mp

M = 4 K

N° de bits del campo de etiqueta

e = 12


Compartir con tus amigos:
1   2   3   4   5   6   7   8


La base de datos está protegida por derechos de autor ©composi.info 2017
enviar mensaje

    Página principal