Baixe o app para aproveitar ainda mais
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.
Compartilhar