·

Engenharia de Computação ·

Arquitetura de Computadores

· 2022/2

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

Dissertação sobre Memória: Introdução: A memória é um componente fundamental do processamento de informação em um computador, é onde os dados e programas são armazenados e acessados para que possam ser processados pelo sistema. É importante entender o funcionamento da memória e suas características, como hierarquia, localidade temporal e espacial, tempo de acerto e de falha, entre outros aspectos, para se projetar e gerenciar a memória de forma eficiente. 1. Hierarquia de memória: A hierarquia de memória se refere à organização lógica da memória em diferentes níveis, cada um com sua capacidade, velocidade e preço. A hierarquia de memória é composta por vários níveis, incluindo memória principal (RAM), memória cache, memória secundária (como disco rígido ou SSD), entre outros. Cada nível da hierarquia é responsável por armazenar diferentes tipos de informações, como dados temporários ou programas em execução, para que possam ser acessados rapidamente pelo processador. O aumento da largura de banda da memória e a diminuição do tempo de acesso à memória são também importantes para o desempenho do sistema. O princípio da localidade se baseia no fato de que, num intervalo virtual de tempo, os endereços virtuais gerados por um programa tendem a ficar restritos a pequenos conjuntos do seu espaço. Isto se deve a iterações, sequenciamento das instruções e estruturas em bloco. Assim sendo, deveríamos manter os itens mais recentemente utilizados na memória mais rápida e o mais próximo possível da CPU. 2. Localidade temporal e espacial: A localidade temporal se refere à tendência de os programas acessarem dados ou instruções consecutivas ao longo do tempo. A localidade espacial se refere à tendência de os programas acessarem dados ou instruções próximos aos que foram acessados recentemente. Essas duas características são importantes porque permitem que a memória cache seja projetada de forma a maximizar a probabilidade de acerto. A localidade temporal fala que se um item é referenciado, ele tende a ser referenciado novamente dentro de um espaço de tempo curto. Se o estudante tiver trazido o livro recentemente para sua mesa, é provável que o faça em breve novamente. Já a localidade espacial é se um item é referenciado, itens cujos endereços sejam próximos dele tendem a ser logo referenciados. 3. Tempo de acerto e de falha: O tempo de acerto se refere ao tempo que leva para a memória retornar o dado solicitado pelo processador. O tempo de falha se refere ao tempo adicional necessário para transferir o dado para o nível superior da hierarquia de memória, caso o dado solicitado não esteja disponível na memória cache. O tempo de acerto e falha são importantes porque afetam diretamente o desempenho do sistema. 4.Cache: A memória cache é um nível intermediário da hierarquia de memória, responsável por armazenar dados e instruções que são frequentemente acessados pelo processador. A idéia é que, se um dado ou instrução é frequentemente acessado, mantê-lo na memória cache pode aumentar o desempenho do sistema, pois o tempo de acerto será menor. Hit - dado encontrado no nível procurado. Miss - dado não encontrado no nível procurado. Hit-rate (ratio) - percentual de hits no nível. Miss-rate (ratio) – percentual de misses no nível. É complementar ao hit-rate. Hit-time – tempo de acesso ao nível incluindo tempo de ver se é hit ou miss. Miss-penalty – tempo médio gasto para que o dado não encontrado no nível desejado seja transferido dos níveis mais baixos. Cache significa lugar seguro para esconder (guardar) coisas, como o cache só pode ter parte dos dados por causa de seu tamanho, tem-se dois problemas: Como identificar se o dado procurado está na cache; Se ele estiver na cache, como acessá-lo de forma rápida. A solução é fazer o mapeamento de endereços 4.1 Mapeamentos: Existem diferentes tipos de mapeamento de cache, incluindo mapeamento direto, mapeamento associativo e mapeamento totalmente associativo. Cada tipo de mapeamento determina como os endereços de memória são mapeados para posições na cache. O mapeamento direto mapeia cada endereço de memória para uma posição única na cache, enquanto o mapeamento associativo permite que múltiplos endereços de memória sejam mapeados para a mesma posição na cache. O mapeamento totalmente associativo permite que qualquer endereço de memória seja mapeado para qualquer posição na cache. 4.2 Tratamento de falhas e de escrita: Quando o dado solicitado pelo processador não está disponível na cache, ocorre uma falha de cache, que precisa ser tratada para que o dado possa ser recuperado. O tratamento de falhas pode ser feito por meio de políticas como a política de substituição de Least Recently Used (LRU), que substitui o dado menos recentemente usado na cache, ou a política de substituição de First In, First Out (FIFO), que substitui o dado que foi adicionado primeiro na cache. Além disso, é importante considerar como a escrita é tratada na cache, pois a escrita pode causar conflitos quando múltiplos processadores tentam escrever na mesma posição da cache ao mesmo tempo. Uma política comum é a política de escrita atrasada, que escreve o dado na memória principal primeiro e, em seguida, atualiza a cache, evitando conflitos. Conclusão: A memória é um componente fundamental do processamento de informação em um computador, e é importante entender suas características, como hierarquia, localidade temporal e espacial, tempo de acerto e de falha, cache, mapeamentos e tratamento de falhas e de escrita, para projetar e gerenciar a memória de forma eficiente. Ao compreender esses conceitos, é possível projetar sistemas com desempenho otimizado e melhor gerenciamento de memória.