O que é mapeamento direto?

O mapeamento direto é um método de armazenamento de informações para facilitar o acesso em um computador. As informações usadas recentemente são armazenadas em um cache para que o computador possa encontrar rapidamente as informações na próxima vez em que for necessário. Na programação de computadores, um cache é uma pequena seção da memória de acesso aleatório (RAM) que é reservada para o objetivo de recuperar dados com facilidade. Com o mapeamento direto, cada pedaço de dados na memória recebe um espaço no cache, que é compartilhado com outros pedaços de dados. Os dados do cache são constantemente substituídos à medida que novos dados são necessários.

Um cache é organizado em linhas. Cada linha é grande o suficiente para armazenar um bloco de dados e uma tag para identificar de onde vieram os dados. Quando um usuário solicita uma parte dos dados, o computador verifica primeiro o cache para verificar se as informações estão lá. Se for, as informações são retornadas ao usuário. Isso é conhecido como um acerto de cache, que é mais rápido do que recuperar os dados de seu local original.

A porcentagem de solicitações que resulta em acertos no cache é chamada de taxa de acertos. Se os dados solicitados pelo usuário não estiverem no cache, o computador os encontrará na memória. Uma cópia dos dados será depositada no cache para que possa ser encontrada rapidamente na próxima vez que o usuário solicitar, aumentando teoricamente a taxa de acertos. Tudo isso acontece nos bastidores. O usuário não sabe se os dados recebidos vieram do cache ou da memória.

O mapeamento direto é um método para decidir onde os blocos de memória serão armazenados no cache. Cada bloco de memória recebe uma linha específica no cache. Como o cache é menor que a memória, vários blocos compartilharão uma única linha no cache. Se uma linha já estiver cheia quando um novo bloco precisar ser gravado nela, um bloco antigo será substituído.

Embora o mapeamento direto seja uma maneira muito simples e fácil de projetar um cache, ele apresenta alguns problemas. Se um programa acessar continuamente vários blocos de dados que compartilham a mesma linha em um cache de mapeamento direto, a linha será reescrita com frequência. Isso resulta em muitas falhas, porque os dados que o computador precisa têm menos probabilidade de serem os dados que estão realmente nessa linha de cache no momento. Portanto, o mapeamento direto tem uma taxa de acerto mais baixa do que outros modelos de mapeamento de cache.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?