[5.2] Princípios de Caches (cont.)
O que acontece durante um write?
- Passos executados num read:
- Separar bits de endereço do bloco na cache
- Ler dados do bloco, ler valid/tag do bloco (em paralelo)
- Se valid/tag ok, dados lidos são repassados à CPU
- Num write, porém, escrita só pode iniciar após teste de valid/tag ? write é implicitamente mais lento que read
- Onde escrever o dado? (supondo que o bloco está na cache)
- Na cache e na mem.principal: caches write-through
- Somente na cache: caches write-back
? Bit adicional (dirty-bit) em cada bloco, sinalizando a escrita
Ao remover o bloco, se estiver dirty, deve ser copiado p/ mem.