Buscar

Lista Memória

Prévia do material em texto

Arquitetura de Computadores – Prof. José Wilson 
Jaqueline de Sousa Queroz – Matrícula: 640815 
 
Lista de Exercícios Sobre Memória 
 
1. Qual memória é mais rápida SRAM ou DRAM? 
SRAM é mais rápida, porém mais cara. 
2. Quais vantagens do uso da memória DRAM como memória principal? 
DRAM permite armazenar mais bits por chip, usa menos energia e gera menos calor, 
além de ser mais barata. 
3. . Relacione três aplicações para as ROMs. 
ROMs podem ser utilizadas em eletrodomésticos com funções digitais, como micro-
ondas, como é o caso das Mask-ROMs. As EEPROMs estão presentes na Bios do 
computador, além de estarem presentes em consoles e celulares. 
4. Explique o conceito de hierarquia de memória. Por que o uso de uma 
pirâmide para representá-la? 
Hierarquia de memória é uma forma de classificar os diversos tipos em função do 
desempenho apresentado. A representação por meio de uma pirâmide faz bastante 
sentido, pois com isso é possível visualizar a relação entre preço e desempenho. Quanto 
mais próxima do topo, mais cara e mais rápida é a memória, mas também é menor. As 
memórias mais próximas da base são mais baratas, possuem maior capacidade, mas são 
mais lentas. 
5. Explique o conceito de referência (princípio) de localidade e sua importância 
nos sistemas de memória. 
O sistema de memória se baseia no princípio de localidade. Este princípio se baseia da 
ideia de os recursos de memória não serem providos de maneira igual. Ele é importante 
nos sistemas de memória para que se construam sistema eficientes, dividindo e 
direcionando recursos da melhor forma, no intuito de aumentar o desempenho. 
6. Quais são as três formas de localidade? 
O princípio da localidade pode ser dividido em localidade temporal (itens acessados 
recentemente tendem a ser acessados novamente no futuro), localidade espacial (itens 
tendem a ser agrupados no espaço, assim dados tendem a ficar juntos no espaço da 
memória) e localidade sequencial (instruções tendem a ser acessadas sequencialmente). 
7. Utilizando analogia com a vida real, dê dois exemplos que se assemelham à 
memória cache. 
A memória cache armazena dados que serão usados por programas em execução, para 
que sejam acessados mais rapidamente. Duas analogias possíveis com a vida real são: 
Primeiro, a forma como guardamos os alimentos em casa: Aqueles que estão sendo 
consumidos ficam em potes e armários na cozinha, para que sejam usados rapidamente e 
os demais ficam localizados na despensa. 
Segundo, quando guardamos objetos e documentos pessoais em uma bolsa, para que 
estejam facilmente disponíveis, e documentos não tão usados ficam frequentemente em 
um armário escondido em casa. 
8. Qual cache é mais rápida L1 ou L2? Qual é menor e por quê? Explique a 
diferença entre elas. 
O “L” de L1 e L2 significa Level¸ ou seja, Nível. A memória L1 está no primeiro nível e 
a L2 no segundo. Desta forma, a menor e mais rápida entre as duas é a L1. Isso ocorre 
pois sempre que o processador fizer uma busca por informações, buscará inicialmente no 
primeiro nível, e só passara para os seguintes caso não encontre. 
9. Quais são os três campos que identificam o mapeamento direto de endereço 
de memória cache? Como eles são usados para obter o acesso de uma palavra 
localizada na memória cache? 
Os três campos são block (que identifica o bloco da cache), offset (que identifica uma 
palavra ou byte dentro de um bloco de memória principal) e a tag (como o nome sugere, 
uma “etiqueta”. Ela identifica o bloco de memória). 
10. Como o mapeamento associativo difere do mapeamento direto? Qual é mais 
caro e por quê? 
O mapeamento direto é a forma mais simples de mapeamento. Ele consiste em cada bloco 
na memória principal sendo mapeado em um único bloco da cache. Por outro lado, no 
mapeamento associativo um bloco da memória principal pode ser carregado em blocos 
diferentes, sem seguir uma posição fixa. O mapeamento associativo é mais caro pois 
necessita de mais recursos. 
11. Explique como o mapeamento associativo por conjunto utiliza os conceitos 
de mapeamento associativo e mapeamento direto. 
O mapeamento associativo por conjunto mescla conceitos do mapeamento direto (já que 
cada conjunto é organizado internamente através de mapeamento direto), e mapeamento 
associativo (já que o mapeamento dos conjuntos em segue os conceitos do mapeamento 
associativo). 
12. O que significa tempo efetivo de acerto (TEA)? 
É o tempo necessário para buscar a informação em um dado nível de hierarquia, que inclui 
o tempo necessário para determinar se o acesso à informação vai gerar um acerto ou uma 
falha. 
13. Por que minha nova memória DDR3 não está funcionando no meu 
computador embora ela tenha as mesmas especificações da minha memória 
antiga? 
Uma máquina que possua suporte apenas para memórias DDR2 não conseguirá ler 
memórias DD3. O problema possivelmente é de incompatibilidade entre a memória e a 
placa mãe. 
14. Como eu posso descobrir quanta memória está instalada no meu sistema? 
No Windows, é possível pressionando Windows+pause break. 
15. A memória adicional irá aumentar a velocidade do meu computador? 
Não necessariamente. Existem outros componentes relacionados a velocidade do 
computador. Se eles também estiverem desatualizados, adicionar memória não causará 
um ganho significativo. 
16. Dada uma memória principal de 256 bytes e uma memória cache com 16 
blocos de 8 bytes cada bloco. 
a) Representar o mapeamento direto para acesso aos dados na cache. 
 
 
 
b) Representar o mapeamento associativo. 
 
c) Representar o mapeamento associativo por conjunto (set de 4 blocos). 
 
d) No mapeamento direto, quantos blocos da memória principal mapeiam cada 
bloco da cache? 
4 blocos da memória principal mapeiam cada bloco da cache. 
 
e) Considere que os seguintes blocos da cache estão 
preenchidos, tabela ao lado, em mapeamento direto: Suponha 
que será buscado pela CPU na cache o dado do endereço 
0X0C (hexadecimal), o dado já está na cache? Se sim, onde ele 
está mapeado? senão, onde será mapeado? 
RAM -> 256 bytes 
Block -> 8 bytes 
Cache -> 16 (blocos) * 8 bytes = 128 bytes 
 
0X0C 
0C = 12*160 + 0 * 161 = 12 
12%8 = 1 
Bloco: 1 % 16 = 1 
Tag: 1/ 16 = 0 
Bloco 01 Tag 00 – Dado já se encontra na cache. 
 
f) O que acontecerá se a CPU buscar o dado do endereço 0X8D (hexadecimal)? 
Explique. 
8D = 13 * 16 0 + 8 * 161 = 13 + 128 = 141 
141 % 8 = 17 
Bloco: 17 % 16 = 1 
Tag: 17 / 16 = 1 
Tag = 17 / 16 = 1 
 
Bloco 01 Tag 01 – Será necessário buscar o dado na memória.

Continue navegando