Buscar

Exercicios memoria cache

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE FEDERAL DO PARÁ 
ICEN – INSTITUTO DE CIENCIA EXATAS E NATURAIS 
FACOMP – FACULDADE DE COMPUTAÇÃO 
CURSO DE CIENCIA DA COMPUTAÇÃO – 2021 TURMA: EN05210 
 
 
 
DISCENTE: CHRISTIAN DE JESUS DA COSTA MARINHO 
Matricula: 202004940041 
 
 
 
 
 
EXERCICIO DE MEMÓRIA CACHE 
SISTEMA DE COMPUTAÇÃO 
 
 
 
 
 
BELÉM 
2021 
1 – Uma memória cache associativa por conjunto consiste em 256 linhas 
divididas em conjuntos de duas linhas cada. A memória principal contém 4K 
bloco de 128 bytes cada um. Mostre o formato de um endereço de MP e da 
cache. 
MP = 4K * 128 = 512K = 29 * 210 = 219 -> Endereço da MP = 19 bits 
Conjunto = 256 / 2 = 128 = 27 -> 7 
Quantidade de blocos por conjunto = 4K / 128 = 32 = 25 -> Tag = 5 
Células = 128 = 27 = 7 
 
 
 
2 – Em que circunstancias uma cache que funciona com mapeamento 
associativo por conjunto pode ser considerada igual a cache que funciona com 
mapeamento direto? 
No endereçamento, já que os dois mapeamentos lidam diretamente com um 
elemento da cache, sendo a própria linha da cache ou um conjunto. 
 
 3 – Considere um sistema de computação que possui uma memória principal 
(RAM) com capacidade máxima de endereçamento de 64K células, e que cada 
célula armazena um byte de informação. Para criar um sistema de controle e 
funcionamento da sua memória cache, a memória RAM é constituída de blocos 
de 8 bytes cada. A memoria cache do sistema é do tipo mapeamento direto, 
contendo 32 linhas. Pergunta-se: 
a) Como seria organizado o endereço da MP (RAM) em termos de tag, número 
de linha e do byte de uma linha? 
Total de Blocos = 64K / 8 = 8K blocos 
Número de linhas da MC = 32 Linhas -> 25 = 5 bits 
Tag = 8K / 32 = 256 -> 28 
Célula = 8 -> 23 = 3 bits 
 
 
 
b) Em que linha estaria contido o byte armazenado no seguinte endereço da MP: 
0001 0001 0001 1011? 
Como o bit menos significativo é 011, logo estaria na linha 00011 
Tag 
5 bits 
Conjunto 
7 bits 
Célula 
7 bits 
19 bits 
Tag 
8 bits 
Linha 
5 bits 
Célula 
3 Bits 
16 bits 
c) Qual é a capacidade de memória cache em bytes? 
MC = 8K / 32 = 213 / 25 = 256 bytes 
 
6 – Ao se verificar a organização de uma memória cache e da MP de um sistema 
de computação, observa-se que a cache tem uma capacidade de 
armazenamento muito menor que a MP e, ainda assim, sabe-se que em 100 
acessos do processador a cache ele obtém cerca de 95 a 98% de acertos. Por 
que? 
Por causa do Princípio da Localidade, que diz que se um dado for acessado na 
memória, há uma boa probabilidade de este dado ser acessado de novo ou de 
um dado seguinte ser acessado, por isso, a memória cache carrega um bloco 
com esses dados prováveis para que sejam acessados mais rápido. 
 
7 – Por que é necessário se estabelecer uma política para substituição de linhas 
para os métodos de mapeamento associativo e não para o método direto? 
Porque no mapeamento direto, cada bloco da MP já tem um lugar pré-
determinado na Memória Cache, já no mapeamento associativo, os blocas 
podem ser colocados em qualquer lugar, por isso, deve-se ter uma politica de 
substituições de linhas para que não ocorram muitos miss. 
 
8 – Considere uma MP que possui 4K blocos de 128 células de 1 byte cada e 
uma memoria cache do tipo associativa por conjunto que possui 64 linhas 
divididas em conjuntos de quatro linhas. Qual deverá ser o formato do campo de 
endereçamento para acesso a MP e a memória cache? 
MP = 4K * 128 = 512K = 212 * 27 = 219 = 19 bits 
Conjunto = 64 / 4 = 16 -> 24 = 4 bits 
Tag = 4K / 16 = 256 -> 28 = 8 bits 
Célula = 128 -> 27 = 7 bits 
 
 
 
9 – Considere um sistema de computação que possui uma memoria principal 
organizada em células de 1 byte cada e apenas uma memoria cache externa, 
organizada com mapeamento direto, sendo cada linha de 32 bytes. Em um dado 
instante, o processador inicia um acesso colocando no BE comum o endereço 
hexadecimal: 5D7A9F2. Sabendo-se que neste sistema cada linha de cache tem 
atribuídos 512 blocos da MP, pergunta-se: 
Tag 
8 bits 
Conjunto 
4 bits 
Célula 
7 Bits 
19 bits 
a) Qual deverá ser a largura do BE do sistema? 
5D7A9F2 = 7 * 4bits = 28 bits 
b) Qual foi a linha acessada pelo processador? 
11110101001111 
 
11 – Considere uma memória cache organizada com mapeamento associativo 
por conjunto, sendo cada conjunto de quatro linhas. A MP tem uma capacidade 
de armazenar 64MB, sendo organizada byte a byte, e o sistema transfere de 
cada vez (MP <- ->cache) 32 bytes. Considerando que a capacidade da cache é 
de 64KB, mostre como deve ser o formato dos campos de endereço para a 
memória cache. 
MP = 64MB = 226 -> 26 bits 
Célula = 32 bytes = 25 -> 5 bits 
Quantidade de Linhas = 64KB / 32 = 2K 
Quantidade de Conjuntos = 2K / 4 = 512 conjuntos 
Conjunto = 512 = 29 -> 9 bits 
Tag = 26 – 9 – 5 = 12 bits 
 
 
 
 
13 – Considere um sistema de armazenamento construído de uma memória 
principal, que é endereçada por byte e que tem uma capacidade de 256KB, 
sendo organizada em blocos de 16 bytes de largura. Considerando que se usa 
neste sistema o método de mapeamento direto para uma cache construída de 
128 linhas, pergunta-se: 
a) Qual deverá ser o formato do endereço a ser interpretado pelo sistema de 
controle da cache, indicando a largura de cada campo? 
MP = 256KB -> 228 = 28 bits 
Linhas = 256KB / 128 = 2K -> 211 = 11 bits 
Total de blocos = 256KB / 16 = 16K 
Tag = 16K / 2K = 8K -> 213 = 13 bits 
Celula = 16 -> 24 = 4 bits 
 
Tag 
12 bits 
Conjunto 
9 bits 
Célula 
5 Bits 
26 bits 
Tag 
13 bits 
Linhas 
11 bits 
Célula 
4 Bits 
28 bits 
b) Em que linha deverão ser armazenados os bytes que possuam os seguintes 
endereços: 
- 1011 1110 0010 1001 1101 0000 1100? 
Tag: 1011 1110 0010 1 
Linha: 001 1101 0000 
Célula: 1100 
 
- 0001 1010 0011 0001 0111 1000 1111? 
Tag: 0001 1010 0011 0 
Linha: 001 0111 1000 
Célula: 1111 
 
c) Qual deverá ser o total de bits consumido nessa cache? 
 
 
d) Qual deverá ser o endereço do bloco que contem um byte com o seguinte 
endereço: 0010 1110 1001 0001 1110 0011 1110? 
0010 1110 1001 0 
 
14 – Considere um sistema de armazenamento com MP endereçada por byte, 
onde cada endereço tem uma largura de 30 bits e uma memória cache 
constituída de 256KB, possuindo L linhas com largura de 16 bytes. Calcule o 
total de bits de memoria cache para um dos métodos de mapeamento: direto, 
associativo e associativo por conjunto. 
Mapeamento Direto: 
MP = 230 = 1GB 
Td = Quantidade de Linha * Largura da Linha = 16K * 16 * 23 = 2.097.152 bits 
Tt = Quantidade de linhas * Total de bits da Tag 
Quantidade de Linhas = 256KB / 16 = 218 / 24 = 214 = 16K 
Quantidade de blocos = 1GB / 16 = 230 / 24 = 226 = 64M 
Largura da Tag = Q. blocos / Q. linha = 226 / 214 = 212 = Tag = 12 
Total de bits da Tag = 214 * 12 = 196.608 bits 
T = Td + Tt = 2.097.152 + 196.608 = 2.293.760 bits 
Mapeamento Associativo: 
MP = 230 = 1GB 
Td = Quantidade de Linha * Largura da Linha = 16K * 16 * 23 = 2.097.152 bits 
Tb = Quantidade de linhas * Total de bits do Bloco 
Quantidade de Linhas = 256KB / 16 = 218 / 24 = 214 = 16K 
Quantidade de blocos = 1GB / 16 = 230 / 24 = 226 = 64M -> LBloco = 26 bits 
Tb = 16K * 26 = 425.984 
T = Td + Tt = 2.097.152 + 425.984 = 2.523.136 bits 
 
Mapeamento Associativo por Conjunto: 
MP = 230 = 1GB 
Td = Quantidade de Linha * Largura da Linha = 16K * 16 * 23 = 2.097.152 bits 
Tt = Quantidade de linhas * Total de bits da Tag 
Quantidade de Linhas = 256KB / 16 = 218 / 24 = 214 = 16K 
Total da Tag = Quantidade de Blocos / Quantidade de Conjuntos 
Quantidade de blocos = 1GB / 16 = 230 / 24 = 226 = 64M 
Quantidade de conjuntos = Quantidade de linhas / Quantidade de Linhas por 
Conjuntos 
(Não consegui determinar a quantidade de conjuntos, por não conseguir determinar a 
quantidade de linhas por conjunto) 
 
15 – Considere um sistema de armazenamento onde a MP é endereçada por 
byte, que utilizao método de mapeamento direto na sua cache e onde o formato 
dos endereços interpretados pelo sistema de controle é: 
 
 
 
Pergunta-se: 
A) Qual a capacidade de armazenamento da MP, em bytes? 
224 = 16MB 
b) Quantas linhas possui a memória cache? 
212 = 4K linhas 
Tag Linha Byte 
8 bits 12 bits 4 bits 
c) Qual a largura de cada bloco/linha? 
24 = 16 bits 
d) Qual é a quantidade de blocos atribuído a cada linha da cache? 
Total de Blocos = 224 / 212 = 212 
Bloco por linha = 212 / 16 = 256 blocos por linha 
 
16 – Supondo que esse sistema utilize o método de mapeamento associativo por 
conjunto de 4 e que o formato do endereço de cache é: 
 
 
Pergunta-se: 
a) Qual a capacidade de armazenamento da MP, em bytes? 
MP = 220 = 1MB 
b) Quantas linhas possui a memória cache? 
256 * 4 = 1K linhas 
c) Quantos conjuntos possui a memória cache? 
28 = 256 conjuntos 
d) Qual é a largura de cada bloco/linha? 
24 = 16 bits 
e) Qual é a quantidade de blocos atribuído a cada linha da cache? 
28 = 256 
Tag Conjunto Byte 
8 bits 8 bits 4 bits

Continue navegando