Articles of cpu cache

Instruções de carregamento globalmente invisíveis

Algumas das instruções de carregamento podem nunca ser visíveis globalmente devido ao encaminhamento de carga da loja? Para colocar de outra forma, se uma instrução load obtém seu valor do buffer de armazenamento, ela nunca precisa ler o cache. Como é geralmente afirmado que uma carga é globalmente visível quando lê a partir da cache […]

clflush para invalidar a linha de cache via function C

Eu estou tentando usar clflush para clflush manualmente uma linha de cache para determinar o cache e os tamanhos de linha. Não encontrei nenhum guia sobre como usar essa instrução. Tudo o que vejo são alguns códigos que usam funções de nível superior para essa finalidade. Existe uma function do kernel void clflush_cache_range(void *vaddr, unsigned […]

Qual técnica de mapeamento de cache é usada no processador Intel Core i7?

Eu aprendi sobre diferentes técnicas de mapeamento de cache como mapeamento direto, mapeamento associado e técnica de mapeamento associativo de conjunto e também aprendi as compensações. Mas estou curioso sobre o que é usado atualmente no processador Intel Core i7 ou AMD. E como as técnicas são evoluídas. E quais são as coisas que precisam […]

Como se escreve um código que utiliza melhor o cache da CPU para melhorar o desempenho?

Isso pode soar como uma questão subjetiva, mas o que estou procurando são instâncias específicas, que você poderia ter encontrado relacionadas a isso. Como fazer código, cache eficaz / cache amigável (mais acertos de cache, como poucos erros de cache quanto possível)? De ambas as outlook, cache de dados e cache de programa (cache de […]

Qual ordenação de loops nesteds para iterar em um array 2D é mais eficiente

Qual das seguintes ordenações de loops nesteds para iterar em um array 2D é mais eficiente em termos de tempo (desempenho do cache)? Por quê? int a[100][100]; for(i=0; i<100; i++) { for(j=0; j<100; j++) { a[i][j] = 10; } } ou for(i=0; i<100; i++) { for(j=0; j<100; j++) { a[j][i] = 10; } }

Por que o tamanho do cache L1 é menor que o cache L2 na maioria dos processadores?

Por que o tamanho do cache L1 é menor que o cache L2 na maioria dos processadores?

Custo aproximado para acessar vários caches e memory principal?

Alguém pode me dar o tempo aproximado (em nanossegundos) para acessar caches L1, L2 e L3, bem como a memory principal em processadores Intel i7? Embora isso não seja especificamente uma questão de programação, é necessário conhecer esses tipos de detalhes de velocidade para alguns desafios de programação de baixa latência. EDIT : O segundo […]

Por que a ordem dos loops afeta o desempenho ao iterar em um array 2D?

Duplicar Possível: Qual desses dois loops for é mais eficiente em termos de tempo e desempenho do cache Abaixo estão dois programas que são quase idênticos, exceto que eu mudei as variables i e j ao redor. Ambos correm em diferentes quantidades de tempo. Alguém poderia explicar por que isso acontece? Versão 1 #include #include […]