ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Mapeo De Memorias


Enviado por   •  27 de Junio de 2014  •  1.411 Palabras (6 Páginas)  •  355 Visitas

Página 1 de 6

MAPEO DE MEMORIA

Al pasar los datos desde la memoria principal a la memoria cache estos se traen por bloques. El motivo de llevar los datos por bloques se debe a que, por ejemplo, si el procesador pide el dato de la dirección n entonces es muy probable que después pida el dato de la dirección n+1, por lo tanto, se ahorra tiempo al llevar los datos por bloques a la cache. Por otro lado como ya hemos visto en los párrafos anteriores la memoria Cache es de poca capacidad, en relación con la memoria principal, por lo tanto cobra importancia el tema de que y como pongo datos en la memoria Cache. Es necesario entonces contar con un proceso de conversión de las direcciones, que se llama MAPEO.

 Mapeo Directo

 Mapeo Asociativo (totalmente asociativo)

 Mapeo Asociativo por conjunto

Mapeo Directo

Para explicar, el mapeo directo es mejor comenzar con un ejemplo, que por el momento, es sólo, ilustrativo y no tiene relación con la realidad (es de mentira)

 MM 512B ----> 9b 64 bloques

 MC 32B ------> 5b 4 bloques

 Cada bloque de 8B

El Mapeo Directo funciona de la siguiente forma:

 Según las condiciones antes definidas se tiene lo siguiente: cada bloque será de 8 Byte, es decir 8 palabras de largo 8.

 La memoria principal al ser dividida por 8 (512 B / 8) dará como resultado 64 bloques de 8 palabras cada uno.

 La memoria Cache también se divide por 8 (32B / 8), lo cual da como resultado 4 bloques

 Cada bloque de la memoria principal se coloca dentro de uno de los bloques de la memoria Cache siguiendo un orden establecido de la siguiente forma (La fig 00 muestra parte de esta asignación):

 En el bloque cero de la cache pueden ir cualquiera de los múltiplos exactos de 4 (0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60), que son 16.

 En el bloque uno de la cache van (1,5,9,13,17,21,25...............)

 En el bloque dos (2,6,10,14,18,22,26..................................)

 En el bloque tres van (3,7,11,15,19,23,27..................)

 Para distinguir entre las 16 alternativas que corresponden a un bloque determinado de la memoria cache existe una memoria, en este caso de 4 bit, que lleva el registro. Esta memoria se denomina TAG.

Si por ejemplo se quiere acceder a la posición de memoria 405 se ocupa la siguiente tabla de ubicación.

TAG BIC WIB

1 1 0 0 1 0 1 0 1 = 405

El WIB es de 3 bit por que con estos se pueden distinguir entre 8 alternativas, es decir las que corresponden a las divisiones de un bloque.

El BIC es de 2 bit porque se pueden distinguir cuatro alternativas, o sea los cuatro bloques de la cache.

El TAG, finalmente distingue entre las 16 alternativas que corresponden a los diferentes bloques de la memoria principal que pueden ir a parar a un bloque determinado de la cache.

El diagrama de la fig ilustra el mapeo directo. Aquí se puede apreciar como las posiciones de la memoria principal son asignadas a los bloques de la cache, por otro lado la flecha que apunta desde la posición cero de la MM indica como cada bloque de la memoria principal esta dividido en otros ocho sub bloques.

Finalmente no sólo basta con llevar los datos a las posiciones de la cache, además el procesador de alguna forma debe ubicar los datos, ya sea que los encuentre o no, en la cache.

NOTA : Cabe destacar que el procesador pide datos al mismo tiempo tanto a la cache como a la memoria principal, por lo tanto si el dato esta en la cache esta responderá más rápido que la MM.

El siguiente hardware permite al procesador ubicar los datos que requiere.

Ejemplo

Un procesador 80386 tiene 32b de direcciones, lo que quiere decir que puede direccionar 4GB de memoria. Obviamente es difícil que un procesador con las características del 386 pueda direccionar tal cantidad de memoria. Supondremos (la suposición en este caso es muy real) entonces, el siguiente detalle.

• Memoria Principal 8 MB

• Memoria Cache 128 KB (17 b)

• Los bloques en este ejemplo serán de tamaño 16b (WIB = 4 b)

8 MB = 8.388.608 / 16 = 524.288 (19 b) Número de bloques de la MM

128 KB = 131.072 / 16 = 8.192 (BIC = 13 b) Número de bloques de la MC

524.288

...

Descargar como (para miembros actualizados)  txt (8.1 Kb)  
Leer 5 páginas más »
Disponible sólo en Clubensayos.com