PREFETCH
A diretiva PREFETCH instrui o compilador a carregar dados específicos da memória principal no cache antes que os dados sejam referenciados. Alguma pré-busca pode ser feita automaticamente por hardware, mas como a pré-busca de software assistido por compilador pode usar informações diretamente de seu código-fonte, especificar a diretiva pode reduzir significativamente o número de perdas de cache.
Regras
Quando você pré-busca uma variável, o bloco de memória que inclui o endereço da variável é carregado no cache.. Um bloco de memória é igual ao tamanho de uma linha de cache Como a variável que você está carregando no cache pode aparecer em qualquer lugar dentro do bloco de memória, talvez não seja possível pré-buscar todos os elementos de uma matriz.
Essas diretivas podem aparecer em qualquer lugar em seu código-fonte onde construções executáveis podem aparecer.
Essas diretivas podem incluir sobrecarga de tempo de execução em seu programa Portanto, você deve usar as diretivas apenas quando necessário..
Para maximizar a eficácia das diretivas de pré-busca, recomenda-se especificar a diretiva LIGHT_SYNC após uma única pré-busca ou no final de uma série de pré-buscas.
Informações relacionadas
Para obter informações sobre a aplicação de técnicas de pré-busca para loops com uma contagem de iteração grande, consulte a diretiva STREAM_UNROLL