Políticas de cache e desempenho

Escritas, vítimas dirty, memória principal e CPI de caches separadas ou multinível.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Escrita e alocação

WT/no-allocateWB/allocate
Write hitCache + nível seguinteCache; marca dirty
Write missSó nível seguinteDescarrega vítima dirty; instala e altera
Read missCarrega linhaDescarrega vítima dirty; carrega limpa
  • Escrita e alocação são decisões distintas. Escrita parcial lê os restantes bytes; no modelo adotado, linha inteira dispensa essa leitura.
  • Dirty é modificado, não inválido. Vítima usa a etiqueta antiga.
  • Linha WB válida limpa coincide com a memória, sem agentes externos. A linha válida fornece o valor que o CPU lê; dirty assinala modificação desde a carga, sem revelar o valor antigo na RAM.

Tempo médio e CPI

TMAM=tacerto+mp,CPI=CPIbase+mIpI+r mDpD.TMAM=t_{\rm acerto}+mp,\qquad CPI=CPI_{\rm base}+m_Ip_I+r\,m_Dp_D.

tacertot_{\rm acerto} tempo de acerto; mm taxa de faltas; pp penalidade em ciclos. mIm_I/pIp_I faltas e penalidade de instruções; mDm_D/pDp_D de dados.

Modelo com penalidades adicionais após a falta, sem sobreposição e ainda não contadas no custo base.

  • Taxas por acesso; a taxa D precisa da fração rr de instruções com acesso a dados (loads/stores). Unificada: 1+r1+r acessos por instrução.
  • Para inverter: r=CPIespera/(mp)−1r=CPI_{\rm espera}/(mp)-1, com 0≤r≤10\le r\le1 neste modelo de uma obtenção e no máximo um acesso a dados por instrução, e esperas em ciclos.
  • Acertos kk vezes as faltas: m=1/(k+1)m=1/(k+1).

Dois níveis

TMAM=t1+m1(t2+m2,lpRAM),m2,g=m1m2,l.TMAM=t_1+m_1(t_2+m_{2,l}p_{\rm RAM}),\qquad m_{2,g}=m_1m_{2,l}.

t1t_1 acerto em L1; m1m_1 faltas locais de L1; t2t_2 acerto em L2; m2,lm_{2,l} faltas locais de L2; pRAMp_{\rm RAM} penalidade da RAM; m2,gm_{2,g} taxa global.

Taxa local divide pelos pedidos que chegam a L2; global, pelos originais. Contar faltas não conta descargas WB: segue carregamentos e descargas de cada nível.

Traços e misturas.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.