Memórias Cache

As figuras que se seguem representam diferentes configurações de memórias cache:
  1. Para cada memória cache determine a tag e o index associados aos seguintes endereços:
    1. 0x0000222c
    2. 0x00001956
    3. 0x00004321
    4. 0x00000037
  2. Assumindo que a memória principal tem o tamanho máximo suportado por endereços de 32 bits (4 GiB), para cada memória cache indique:
    1. o tipo de cache
    2. o número de linhas da cache
    3. a capacidade de cada linha da cache em bytes
    4. a capacidade total da cache em bytes
    5. o número de bits necessários para implementar a cache
    6. o número de linhas de cache em que pode ser dividida a memória
    7. o número de linhas de memória mapeadas na mesma linha da cache
  3. Assumindo agora que a memória principal tem apenas 2 MiB, para cada memória cache indique:
    1. o número de linhas de cache em que pode ser dividida a memória
    2. o número de linhas de memória mapeadas na mesma linha da cache
  4. Considere a memória cache II e assuma que a memória principal tem 4 GiB. Sabendo que o conteúdo do endereço de memória 0xC0C0C0C0 se encontra em cache, indique:
    1. dois endereços cujo acesso levaria a aceder à linha de cache contendo o endereço 0xC0C0C0C0 (cache hit)
    2. dois endereços cujo acesso obrigaria a substituir a linha da cache contendo o endereço 0xC0C0C0C0 (cache miss)
  5. Considere a sequência de referências de acessos a memória que se segue (endereços em bytes):
    12, 720, 172, 8, 764, 352, 760, 56, 724, 176, 744, 1012
    1. Indique a mesma sequência mas com os endereços em múltiplos de palavras (words, 4 bytes).
    2. Dadas 3 caches de mapeamento direto (direct-mapped caches), C1, C2 e C3, todas com uma capacidade total de 8 palavras, diga qual a que tem o menor miss rate na sequência acima, sabendo que a cache C1 usa blocos de 1 palavra, C2 usa blocos de 2 palavras e C3 usa blocos de 4 palavras.
    3. Se o miss stall time for de 25 ciclos e C1 tem um tempo de acesso de 2 ciclos, C2 de 3 ciclos e C3 de 5 ciclos, qual é a cache com melhor desempenho na sequência acima?