Você está na página 1de 5

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO

Campus Angicos

Lista de Exercícios 15

Disciplina: Organização e Arquitetura de Computadores


Professor: Vinícius Samuel Valério de Souza
Assunto: Microprogramação – Memória Cache

1) A respeito da memória cache, responda:


a) Como a memória cache pode melhorar o desempenho da execução dos programas?
Agilizando o acesso à memória principal evitando perda de desempenho na execução
dos programas.

b) O que são linhas de cache? São áreas de armazenamento temporário na memória


cache que reduzem o tempo na cpu e são compostas por palavras vizinhas.
c) O que é uma falha de cache? Em que situações ela acontece e quais medidas devem
ser tomadas na sua ocorrência? Se a informação procurada não estiver na cache, é
gerado uma (Falha de Cache). Isso pode acontecer devido a várias razões, como o
primeiro acesso a um bloco de dados, perda de capacidade ou invalidação. Para lidar
com isso, pode-se aumentar o tamanho do cache ou da RAM, levando a essa falha
fazer com que a linha de cache na memória principal que possui a informação
procurada seja trazida para a cache;
2) Descreva os princípios da localidade espacial e temporal e diga como a adoção desses
princípios torna o uso da memória cache interessante.
Princípio da localidade espacial: Palavras vizinhas tendem a ser referenciadas em seqüência;
– Trazer palavras vizinhas para a cache junto da que gerou a falha melhora o desempenho nos
próximos acessos;
Princípio da localidade temporal: Palavras que acabara de ser referenciadas tendem a ser
referenciadas de novo em breve;
– Manter palavras que foram recentemente referenciadas melhora o desempenho nos próximos
acessos;
3) Considere um sistema que possui uma memória cache com tempo de resposta de 5 ns e
uma memória principal com tempo de resposta de 50ns. Com base nisso calcule a taxa de
acerto e o tempo médio de acesso numa situação em que são feitas 20 referências a uma
mesma palavra da memória principal. (anulada)
4) A respeito da memória cache associativa, responda:
a) Como a memória principal e a memória cache são organizadas quando é usada uma
cache associativa? Memória Principal, Composta por células agrupadas em blocos de b
bytes, Memória Cache: Dividida em slots compostos por 3 campos.
b) Quais campos compõem os slots de uma memória cache associativa? Descreva a
função de cada um desses campos.
Bit de slot válido: Indica se o slot está ocupado por uma palavra válida trazida da memória
principal;
Número do bloco: Número do bloco da memória principal ao qual a palavra armazenada no
slot pertence;
Valor: Conteúdo presente na palavra propriamente dita;
c) Como é feita a busca de informações nessa memória? Na memória cache
associativa, qualquer linha de memória pode ser armazenada em qualquer slot da
cache, pela necessidade de um hardware dedicado a buscar, na memória cache,
as palavras referenciadas pela CPU. A busca é feita comparando o endereço de
memória procurado com todos os endereços na cache. Se não encontrado (falha
de cache), os dados são buscados na memória principal e armazenados em um
slot de cache disponível.

5) Considere uma arquitetura composta por uma memória principal disposta em 64 células de 1
byte cada e uma memória cache associativa com 4 slots. Diante disso, calcule o número do
bloco associado a cada um dos endereços abaixo (considere blocos de 4 bytes):

a) 0; 0/4 = 0.
b) 10; 10/4 =2.5.
c) 25; 25/4 = 6.25.
d) 63; 63/4 = 15.75.
6) A respeito da memória cache com mapeamento direto, responda:
a) Como a memória principal e a cache são organizadas quando é usada uma cache com
mapeamento direto?

Memória Principal: Organizada em blocos de b bytes;

– Memória Cache: Na cache com mapeamento direto, uma palavra sempre é armazenada
no mesmo slot;
b) Quais campos compõem os slots de uma memória cache com mapeamento direto?
Descreva a função de cada um desses campos.

Possuem 3 campos: – Bit de slot válido: Indica se o slot está ocupado; – Tag: Identifica o
bloco que está armazenado no slot; – Valor: Informação contida no bloco armazenado
no slot;
c) Como é feita a busca de informações nessa memória?
Na memória cache de mapeamento direto, a busca é feita usando o endereço da memória
principal. Este endereço é dividido em Tag, Slot e Campo. A Tag identifica o bloco, o Slot
indica onde o endereço é mapeado na cache e o Campo indica a palavra referenciada no
bloco. Se a Tag e o Slot correspondem, a informação é retornada à CPU. A tabela cache é
atualizada e o bloco com informação é levado para cache. Se não, o bloco é trazido da
memória principal para a cache e a informação é fornecida à CPU.

d) Qual a principal diferença entre a memória cache associativa e com mapeamento direto?
Quais as vantagens e desvantagens de cada uma delas?
Na cache associativa, uma palavra da memória principal pode ser armazenada em
qualquer slot. Sua principal vantagem é a flexibilidade, que resulta em uma elevada
taxa de acerto. No entanto, a desvantagem é que ela é mais cara do que a RAM.
Por outro lado, na cache com mapeamento direto, uma palavra é sempre armazenada no
mesmo slot. Isso torna o tempo de acesso mais rápido e o custo mais baixo, sendo
estas as suas principais vantagens. A desvantagem é que o desempenho pode
diminuir com o tempo.

7) Considere uma arquitetura composta por uma memória principal disposta em 64 células de 1
byte cada e uma memória cache com mapeamento direto disposta em 4 slots. Diante disso,
calcule o valor da tag e slot associado a cada endereço da memória principal (adote que as
células da memória principal são agrupadas em blocos de 4 bytes).

N = 64/4 =16 blocos.


No slot: temos 2 bits menos significativos.

Na tag: 2 primeiros mais significativos para a tag.


|Endereço do Bloco| Tag | Slot |
|--------------------------|-----|------|
| 0000 | 00 | 00 |
| 0001 | 00 | 01 |
| 0010 | 00 | 10 |
| 0011 | 00 | 11 |
| 0100 | 01 | 00 |
| 0101 | 01 | 01 |
| 0110 | 01 | 10 |
| 0111 | 01 | 11 |
| 1000 | 10 | 00 |
| 1001 | 10 | 01 |
| 1010 | 10 | 10 |
| 1011 | 10 | 11 |
| 1100 | 11 | 00 |
| 1101 | 11 | 01 |
| 1110 | 11 | 10 |
| 1111 | 11 | 11 |

8) A respeito da cache associativa por conjunto, responda:


a) Como a memória principal e a cache são organizadas quando é usada uma cache
associativa por conjunto? A organização das memórias principal e cache é idêntica à
adotada para a cache com mapeamento direto. Principal dividida em blocos e cache em
slots;
b) Quais campos compõem os slots de uma memória cache associativa por conjunto?
Descreva a função de cada um desses campos.
Tag: Identifica um bloco de dados.
Conjunto de linhas(valor): Armazena blocos de dados.
Bit de validade(0 sim, 1 não): Indica se a informação na linha é válida.

c) Como é feita a busca de informações nessa memória?


A busca é feita verificando todas as linhas de um conjunto simultaneamente para
uma correspondência de tag.
d) O que acontece, em termos de funcionamento, quando é adotada uma cache associativa
por conjunto que possui apenas um slot?

Quando a cache associativa por conjunto possui apenas um slot, ela se comporta como
uma cache de mapeamento direto. Isso ocorre porque, com apenas um slot, cada bloco da
memória principal pode ser mapeado para um único lugar na cache, que é a
característica definidora de uma cache de mapeamento direto.
e) O que acontece, em termos de funcionamento, quando é adotada uma cache associativa
por conjunto que possui apenas uma entrada por slot? Se a cache tem apenas uma
entrada por slot, ela também funciona como uma cache de mapeamento direto.

“Portanto, agora existem estas três coisas: a fé, a esperança e o amor. Porém a
maior delas é o amor”
(1 Coríntios 13:13)

Você também pode gostar