Practica de Memoria Cache

Teoría 4.1. ¿Qué diferencias hay entre acceso secuencial acceso directo y acceso aleatorio? La diferencia esta en la for

Views 79 Downloads 3 File size 47KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Teoría 4.1. ¿Qué diferencias hay entre acceso secuencial acceso directo y acceso aleatorio? La diferencia esta en la forma de acceder a los datos: _Secuencial: Revisa los datos en forma lineal, si el dato que se busca esta en la ultima posición se deberá leer toda la memoria, ejm: cinta. _Directo: Se divide en bloques los cuales tienen una dirección única para identificarlos, dentro de los bloques se accede en forma secuencial, Ej.: RAM, ROM. _Aleatorio: Cada posición de memoria tiene una dirección única, Ej.: Memoria Cache. 4.2. ¿Cuál es la relación general entre tiempo de acceso, coste y capacidad de memoria? El tamaño de la cache tiene que ser los deficientemente pequeño para tener un coste cercano al de la memoria Ram, y lo suficientemente grande para tener los tiempos de acceso próximos a los de una memoria cache. 4.3. ¿Cómo se relaciona el principio de localidad con el uso de múltiples niveles de memoria? El principio de localidad permite que no se hagan tantos pasajes de una memoria a otra. 4.4. ¿Qué diferencias existen entre las correspondencias directa, asociativa y asociativa por conjuntos? _Correspondencia Directa: El bloque dentro de la cache se puede ubicar directamente con la ubicación que ofrece el “block” de la dirección de memoria.

_Asociativa: La dirección de memoria no posee la ubicación por lo que revisa la totalidad de estos. _Asociativa por conjunto: Igual que el mapeo directo utiliza una dirección para identificar el bloque, pero aquí mapea una dirección de bloques. 4.5. Para una caché con correspondencia directa, una dirección de memoria principal es vista como tres campos. Enumere y defina estos campos. Para una cache con mapeo directo la dirección de memoria principal se divide en 3 partes: _Block: Identifica los bloques dentro de la memoria principal. _Tag: Identifica cual de los bloques que identifico es el que necesita. _Word: Que dato dentro del bloque identificado es el que necesita. 4.6. Para una caché con correspondencia asociativa, una dirección de memoria principal es vista como dos campos. Enumere y defina estos campos. Para una cache con mapeo asociativo la dirección de memoria principal se divide en 2 partes: _Tag: Se utiliza para identificar si el bloque que busca esta en cache (Como no tiene “Block” debe revisar la totalidad de los bloques). _Word: Una vez encontrado el bloque correspondiente el “Word” ayuda a identificar que dato dentro de este es el que busca. 4.7. Para una caché con correspondencia asociativa por conjuntos, una dirección de memoria principal es vista como tres campos. Enumere y defina estos campos. Para una cache con mapeo asociativo conjunto la dirección de memoria principal se divide en 3 partes:

_Set: Identifica en que conjunto de bloques esta el bloque que busca. _Tag: Identifica el bloque dentro del conjunto. _Word: Identifica la palabra o dato dentro de un bloque. 4.8. ¿Qué diferencia hay entre localidad espacial y localidad temporal? La diferencia entre localidad temporal y espacial es que en la temporal los datos se agrupan según la frecuencia con la que son accedidos y en la espacial según sus direcciones de memoria.

4.9. En general, ¿cuáles son las estrategias para explotar la localidad espacial y la localidad temporal? Algunas estrategias que se utilizan para usar la localidad temporal y espacial son: FIFO (First In First Out), Random, LRU (Menos usado recientemente) y LFU (Menos Frecuentemente Usado). Practica 4.1. Una caché asociativa por conjuntos consta de 64 líneas divididas en conjuntos de 4 líneas. La memoria principal contiene 4K bloques de 128 palabras cada uno. Muestre el formato de direcciones de memoria principal. Las direcciones de memoria tienen 19 bits Tag 8 bits Set 4 bits Word 7 bits

4.2. Una caché asociativa por conjuntos de dos vías tiene líneas de 16 bytes y una capacidad total de 8 KB. La memoria principal, de 64 MB, es dirección hable por bytes. Muestre el formato de las direcciones de memoria principal. Las direcciones de memoria tienen 26 bits Tag 5 bits Blosck 17 bits Word 4 bits 4.3. Para las direcciones he («decimales de memoria principal: 111111, 666666, BBBBBB: muestre en formato hexadecimal la siguiente información: A) 11111111 =>0001 0001| 0001 0001 0001 00|01 Tag = 11 Blosck = 444 Word = 1 -----------------------------

666666 => 0110 0110| 0110 0110 0110 01|10 Tag = 66 Block = 1999 Word = 2 ------------------------BBBBBBBB => 1011 1011| 1011 1011 1011 10|11 Tag = BB Block = 2EEE

Word = 3 B) 11111111 => 0001 0001 0001 0001 0001 00|01 Etiqueta = 044444 Word = 1 ---------------------------66666666 => 0110 0110 0110 0110 0110 01|10 Etiqueta = 199999 Word = 2 -------------------------BBBBBBBB => 1011 1011 1011 1011 1011 10|11 Etiqueta = 2EEEEE Word = 3 C) 11111111 => 0001 0001 0|001 0001 0001 00|01 Etiqueta = 022 Linea = 0444 Word = 1 ------------------66666666 => 0110 0110 0|110 0110 0110 01|10 Etiqueta = 0CC Linea = 1999 Word = 2 ------------------------------BBBBBBBB => 1011 1011 1|011 1011 1011 10|11 Etiqueta = 177 Linea = 0EEE

Word = 3 4.4. Indique los siguientes valores: a) Para la caché directa del ejemplo la Figura 4.8: la longitud de la dirección, el número de unidades direccionales, el tamaño de bloque, el número de bloques en memoria principal, el número de líneas en caché y el tamaño de la etiqueta. _Longitud de tamaño 10 bits _Nº de unidades direccionales 2^10 _Tamaño de bloque 4 Bytes _Nº de bloques en memoria principal 2^8 _Nº de líneas de cache 2^14 b) Para la caché asociativa del ejemplo la Figura 4.10: la longitud de la dirección, el número de unidades direccionales el tamaño de bloque, el número de bloques en memoria principal, el número de líneas en caché y el tamaño de la etiqueta. _Longitud de dirección 10 Bits _Nº de unidades direccionales 2^10 _Tamaño de bloques 4 Bytes _Nº de bloques en memoria principal 2^8 _Nº de líneas de cache 2^14 c) Para la caché asociativa por conjuntos del ejemplo la Figura 4.12: la longitud de la dirección, el número de unidades direccionales, el tamaño de bloque, el número de bloques en memoria principal, el número de líneas en un conjunto, el número de líneas en caché y el tamaño de la etiqueta. _Longitud de dirección 11 Bits _Nº de unidades direccionales 2^11 _Tamaño de bloques 2^2

_Nº de bloques en memoria principal 2^9 _Nº de líneas de un conjunto 128 _Nº de líneas de cache 2^4 _Tamaño de etiqueta 5 Bits