Memória Cache: Funcionamento

Documentos relacionados
Capítulo 7 Sistemas de Memória. Ch7a 1

Memória cache (cont.) Sistemas de Computação

Memória Cache Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Memória e Hierarquia de Memória. Memória Vs. Armazenamento

Hierarquia de Memória. Sistemas de Computação André Luiz da Costa Carvalho

Infraestrutura de Hardware. Explorando Desempenho com a Hierarquia de Memória

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade

Hierarquia de memória

Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache

Organização de Computadores

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

Níveis de memória. Diferentes velocidades de acesso. Memória Cache. Memórias Auxiliar e Auxiliar-Backup

Capítulo Sistemas de Memória Memória Virtual. Ch7b 1

Memória Cache. Aula 24

Hierarquia de Memória

Infra-estrutura Hardware

Microprocessadores. Memórias

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache

Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP

Memória Cache. Walter Fetter Lages.

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Sistemas de Memória II

Organização e Arquitetura de Computadores. Ivan Saraiva Silva

Correção de Erros. Erros de memória de semicondutores podem ser:

MEMÓRIA CACHE FELIPE G. TORRES

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

Organização e Arquitetura de Computadores I

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 12: MEMÓRIA CACHE: FUNÇÃO DE MAPEAMENTO (PARTE 1)

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres

Introdução à Informática. Alexandre Meslin

Hierarquia de memória e a memória cache

Memória Cache. Miguel Leitão, v

Memória Cache endereço de memória

Sistemas Operacionais

Arquitetura de Computadores

Gerência de Memória. Paginação

Prof. Frank Sill Torres DELT Escola de Engenharia UFMG

Organização de Computadores B - Trabalho 2

Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores. 2º sem.

Arquitetura de Computadores. Memórias

Memória. Memória Cache

Memórias cache. João Canas Ferreira. Abril de Porque são efectivas as memórias cache? Hierarquias de memória Caracterização do desempenho

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

Arquitetura e Organização de Computadores. Capítulo 5 Grande e Rápida: Explorando a Hierarquia de Memória

Transcrição:

Microcontroladores e Interfaces º Ano Eng. Electrónica Industrial Carlos A. Silva º Semestre de 5/6 http://www.dei.uminho.pt/lic/mint Assunto: Memória Cache Aula #9 9Maio6-M Memória Cache: Funcionamento A resposta as seguintes quatro questões ajudam-nos a perceber o funcionamento da memória cache: P: Em que local um bloco de dados será colocado? Esta questão ajuda-nos a perceber as estratégias de colocação de blocos de dados e a organização interna da cache. Existem três estratégias: mapeamento directo, memória associativa, set associative. P: Como é que um bloco é localizado caso esteja na cache? Esta questão ajuda-nos a perceber as estratégias de localização dos blocos. TAG / Block. P: Qual bloco deve ser substituído quando há um miss e a cache deve ser enchida? Esta questão ajuda-nos a perceber as estratégias de substituição de blocos. Aleatório, LRU. P4: O que acontece durante a escrita na memória? Esta questão ajuda-nos a perceber as políticas de escrita da cache. Temos duas políticas write through e write back

Organização da Cache: Mapeamento Um bloco só pode ser colocado num único local que é dado por: (Block address) MOD (Number of blocks in cache) Neste caso, a função de mapeamento: (Block address) MOD (8) Cache cache com 8 blocos Memória com blocos cacheable Exemplo: 9 MOD 8 = 5 () MOD () = Memory Organização da Cache: Mapeamento Um bloco só pode ser colocado num único local que é dado por: (Block address) MOD (Number of blocks in cache) Neste caso, a função de mapeamento: (Block address) MOD (8) Cache cache com 8 blocos Memória com blocos cacheable Exemplo: 9 MOD 8 = 5 () MOD () = Memory 4

Organização da Cache: Mapeamento K = 4 Blocos Cada bloco = palavra A cache pode cobrir até bytes = 4 GB de memória Hit field Address (showing bit positions) field Byte offset In de x Valid Função de mapeamento: Número do bloco da cache = (endereço do bloco) MOD (4) Block Address = bits = bits = bits = bits 5 Organização da Cache: Mapeamento Address (showing bit positions) field 4K= 496 blocos Cada bloco = 4 palavras = 6 bytes A cache pode cobrir até bytes = 4 GB de memória Hit 6 5 4 6 Byte offset 6 bits 8 bits V field Word select 4K entries 6 Mux Função de mapeamento: Número do bloco da cache = (Endereço do Bloco) MOD (496) Blocos de maior dimensão tiram mais vantagem da localidade espacial 6 Block Address = 8 bits = 6 bits = bits = 4 bits

Organização da Cache: n-way Set One-way set associative (direct mapped) Block 4 5 6 Two-way set associative Set 7 Four-way set associative Set Eight-way set associative (fully associative) 7 Organização da Cache: n-way Set 8 4

Organização da Cache: n-way Set Associative Cada bloco da cache tem uma tag. As tags de cada bloco da cache que possam conter o dado desejado são procuradas em paralelo. Um bit de validade é adicionado à tag indicando se esta entrada contém um endereço válido. O endereço enviado pelo CPU à cache está dividido em: Um endereço de bloco, que é subdivido em: Campo de índice que permite um conjunto na cache (nas caches fully associative não existe índice). Um campo de tag que permite seleccionar o conjunto desejado. Um offset do bloco que permite seleccionar o dado do bloco. Block Address Block Offset 9 Organização da Cache: n-way Set Endereço físico gerado pelo CPU Block Address Block Offset size = log(block size) size = log(número total de blocos/associatividade) Tamanho da tag = address size - index size - offset size Número de conjuntos Função de mapeamento: Conjunto da cache ou número do bloco = índice = = (Block Address) MOD (número de conjuntos) 5

Organização da Cache: n-way Set Field ( bits) Address 9 8 Block Offset Field ( bits) 4 blocos Cada bloco = palavra 4-way set associative 56 sets V 8 Field (8 bits) V V V A cache pode cobrir até bytes = 4 GB de memória 5 54 55 Block Address = bits = bits = 8 bits = bits 4 -to - m ultiplexor Hit Mapping Function: Cache Set Number = (Block address) MOD (56) 6