Organización de Computadoras

Guía de Trabajos Práctico Nro. 8

B. Gonzalez - M.Cuenca

 

  1. Suponga una PC con un cache de mapeo directo (direct mapped cache) de 128 slots o líneas. La memoria principal de la máquina posee 16K bloques de 16 palabras cada uno. El tiempo de acceso del cache es de 10ns y el tiempo necesario para cargar un slot del cache es de 200ns. La memoria cache no utiliza load-through lo que significa que si una palabra no se encuentra en el cache, el bloque entero es cargado en el mismo y luego la palabra es accedida a través del cache. Inicialmente el cache esta vacío. Nota: 1K = 1024.
    1. Muestre el formato de una dirección de memoria, de acuerdo con el mapeo realizado por la memoria cache.
    2. Compute el hit ratio de un programa que itera 10 veces entre las direcciones 15 - 200. Nótese que la memoria es accedida dos veces en caso de tener un miss del cache (primero para el miss y luego para satisfacer el pedido), sin embargo en este evento no se cuenta un hit.
    3. Compute el tiempo de acceso efectivo (effective access time) para el programa.

     

  2. Utilizando el siguiente esquema de memoria cache
    1. Cuanto es necesario espaciar dos referencias a memoria sucesivas para causar un miss de cache en cada acceso?
    2. Compute el hit ratio y el tiempo de acceso efectivo para el esquema de acceso a memoria planteado en (a). Suponga que TMiss=1000ns y THit=10ns. Para este ejercicio utilice load-through
  3. Una CPU produce la siguiente secuencia de direcciones de lectura hexadecimal:
  4. 54, 58, 104, 5C, 108, 60, F0, 64, 54, 58, 10C, 5C, 110, 60 F0, 64

    Si el cache esta vacío inicialmente, y suponiendo un reemplazo LRU, determine si las direcciones producen hits o miss con cada uno de los siguientes caches.

     

    1. Cache de mapeo directo (direct mapped cache).
    2. Cache asociativo (associative cache).
    3. Cache asociativo de conjuntos de dos vias (set associative cache).
  5. Una computadora posee direcciones de 32 bits y un cache de mapeo directo. El direccionamiento es a nivel byte. El cache tiene capacidad de 256K bytes y utiliza líneas de 32 bits. Emplea escritura write trough, por lo que no requiere dirty bit.
    1. ¿Cuántos bits hay en el índice del cache?
    2. ¿Cuántos bits hay en la etiqueta o tag del cache?
    3. ¿Cuál es la cantidad total de bits que de almacenamiento en el cache, incluyendo los bit validos, las etiquetas y líneas de cache?
  6. Un sistema de memoria virtual emplea páginas de 4K bytes, palabras de 32 bits y direcciones virtuales de 32 bits. Un programa determinado y sus datos requieren 3,657 páginas.
    1. ¿Cuál es la cantidad mínima necesaria de tablas de páginas?
    2. ¿Cuál es la cantidad mínima necesaria de entradas en la pagina de directorio?
    3. Con base en las respuestas de (a) y (b) ¿cuántas entradas hay en la última tabla de páginas?
  7. Se están ejecutando cinco programas de manera concurrente en una computadora multitarea con páginas de memoria virtual de 4K bytes. Cada entrada de la tabla de páginas es de 32 bits. ¿Cuál es el mínimo de bytes de memoria principal ocupados por las páginas de directorio y las tablas de página de los cinco programas si las cantidades de páginas por programa, en decimales, son las siguientes: 4598, 8792, 6345, 12742, 142688.