CEFET-RS Curso de Eletrônica 3.2 - Cache Profs. Roberta Nobre & Sandro Silva robertacnobre@gmail.com e sandro@cefetrs.tche.br
Cache Wait States CPU Principal Durante o processamento normal, o processador realiza muitos acessos (leitura ou escrita) à memória; O processador é um dispositivo rápido; A memória é bem mais lenta que o processador. Ocorre wait-states durante os acessos à memória. Unidade 03.2.2
Cache Aumentar a velocidade do acesso à memória; Principal DRAM Grande capacidade de armazenamento; Custo por palavra reduzido; Baixo consumo. Cache SRAM Alta velocidade; Alto custo; Alto consumo; Não requer refresh. Unidade 03.2.3
Cache Aumentar a velocidade do ciclo de memória; CPU Wait States Controle e gerência da cache Cache Principal Todo o controle e gerenciamento deve ser realizado por hardware; O processador não toma conhecimento da existência da memória cache; Todos os acessos à memória principal são interceptados e resolvidos pelo controle de cache. Unidade 03.2.4
Cache O gerenciamento da cache tira proveito da concentração de referências, ou seja, os trechos de programa e dados mais usados devem efetivamente estar presentes na cache quando necessários. Unidade 03.2.5
Leitura na memória Cache CPU Wait States read Controle e gerência da cache Principal Cache Cache hit: O processador realiza operação de leitura (read) e o controle da cache detecta que o bloco está presente na cache, a palavra é fornecida pela cache; Unidade 03.2.6
Leitura na memória Cache read CPU Wait States Controle e gerência da cache Cache Principal Cache miss: O processador realiza operação de leitura (read) e o controle da cache detecta que o bloco está ausente na cache, a palavra é fornecida pela memória principal e é copiada na cache; Unidade 03.2.7
Leitura na memória Cache Estratégias para leitura de blocos da memória cache: A palavra pode ser fornecida ao processador tão logo esteja disponível (load-through); A palavra somente é fornecida após a cache ser totalmente atualizada com o novo bloco. Unidade 03.2.8
Escrita na memória Cache CPU Controle e gerência da cache Cache Principal Quando o bloco onde se encontra a palavra se encontra na cache, o processador realiza operação de escrita (write) na memória principal e na cache simultaneamente (storethrough ou write-through). Unidade 03.2.9
Escrita na memória Cache CPU Controle e gerência da cache Cache Principal Quando o bloco onde se encontra a palavra se encontra na cache, o processador realiza operação de escrita (write) somente na cache, marcando-a como alterada (dirty). Quando o bloco precisar ser substituído, a memória principal é atualizada (write-back). Unidade 03.2.10
Escrita na memória Cache CPU Controle e gerência da cache Cache Principal Quando o bloco onde se encontra a palavra não se encontra na cache, o processador realiza operação de escrita (write) somente na memória principal e o bloco não precisa ser copiado para a cache. Unidade 03.2.11
Mapeamento da memória Cache Deve existir uma indicação de quais blocos da memória principal estão presentes na cache e onde eles estão localizados na cache. Tipos de mapeamento: Direto; Associativo; Bloco associativo. Unidade 03.2.12
Mapeamento Direto cache bloco 0 k blocos bloco 0 bloco 1 bloco 1 bloco m bloco m+1 bloco m-1 bloco 2m bloco 2m+1 end no bloco palavra Pode ocorrer substituições de blocos, enquanto outros ficam ociosos. Unidade 03.2.13
Mapeamento Associativo cache bloco 0 k blocos bloco 0 bloco 1 bloco 1 bloco m-1 palavra Requer memória associativa entre todos os endereços para realizar a busca na cache (alto custo). Unidade 03.2.14
Mapeamento Grupo Associativo cache bloco 0 bloco 1 bloco 2 bloco 3 bloco 4 bloco 5 k blocos bloco 0 bloco 1 bloco m/3 bloco m/3+1 bloco 2m/3 bloco 2m/3+1 conj bloco palavra Requer memória Associativa somente dentro de cada bloco; Melhor utilização dos blocos. Unidade 03.2.15