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

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

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

SSC0611 Arquitetura de Computadores

SSC0112 Organização de Computadores Digitais I

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

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

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

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

Organização de Computadores

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

Hierarquia de Memória

Memória Cache: Funcionamento

Organização e Arquitetura de Computadores I

Sistemas Operacionais. Prof. André Y. Kusumoto

Memória Cache endereço de memória

ELECTRÓNICA DE COMPUTADORES. Sumário

Arquitetura de Computadores. Memórias

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

Cache. Cache. Direct Mapping Cache. Direct Mapping Cache. Internet. Bus CPU Cache Memória. Cache. Endereço Byte offset

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

Arquitectura de Computadores

Sistemas de Computação. Tecnologia de memória/memória cache

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

Tempo de processador desperdiçado a fazer nada. Processor register 1 clock cycle (0.5 2 GHz) $??? DRAM semiconductor memory ns $10 $20

Arquitetura de Computadores. Hierarquia de Memória. Prof. Msc. Eduardo Luzeiro Feitosa

Microprocessadores. Memórias

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

Hierarquia de Memória

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores

Divisão da lacuna em espaços na base 2: Eficiente quanto à velocidade e Ineficiente quanto à fragmentação.

CURSO TÉCNICO EM INFORMÁTICA SISTEMAS OPERACIONAIS II MEMÓRIA VIRTUAL

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

RESUMO PROVA INTEGRADA (AV2)

Arquitectura de Computadores (ACom)

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

MEMÓRIA CACHE FELIPE G. TORRES

Gerenciamento de memória

ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA. Prof. Dr. Daniel Caetano

Memória Cache. Walter Fetter Lages.

SSC0640 Sistemas Operacionais I

Gerenciamento de Memória

Introdução. Principio de Localidade. Localidade temporal: Localidade Espacial:

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

SSC0112 Organização de Computadores Digitais I

Tecnologia dos Microprocessadores. António M. G. Pinheiro Universidade da Beira Interior Covilhã - Portugal

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

Aula 13: Memória Cache

Sistemas de Memória II

5 de Maio de Aula 15

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

CEFET-RS Curso de Eletrônica

Hierarquia de memória

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

Hierarquia de memória

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

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

Arquitetura e Organização de Computadores

Memórias cache: uma introdução

Sistemas Operacionais Memória Virtual

Sistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Arquitetura de Computadores. Arquitetura de Computadores 1

Memória Cache. Adriano J. Holanda. 12 e 16/5/2017

Arquitectura de Computadores

Memória virtual. Sistemas de Computação

Organização e Arquitetura de Computadores I

Memória Virtual. Adriano J. Holanda 1/3/2016

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2014/2015

Memória cache segunda parte. Organização de Computadores. Aula 17. Memória cache segunda parte. 1. Mapeamento completamente associativo

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2017/2018

Experimentos com o Cache Organização de Computadores

Segundo Trabalho Prático de Organização de Computadores B /2

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2018/2019

Sistemas Operacionais. - Gerência de Memória -

DCC-IM/NCE UFRJ Pós-Graduação em Informática. Gabriel P. Silva. Microarquiteturas de Alto Desempenho

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Memória cache. Sistemas de Computação

Arquitetura e Organização de Computadores 2. Organização Hierárquica da Memória. Uma afirmação antiga, mas perfeitamente atual

AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP;

Memória para CAD. Aleardo Manacero Jr.

Organização de Computadores B - Trabalho 2

SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2

Administração de Memória

Memória cache. Prof. Francisco Adelton

Hierarquia de memória e a memória cache

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

Arquitetura de Sistemas Operacionais

Memória Cache. Prof. Leonardo Barreto Campos 1

Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A

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

Sistemas Operacionais Aula 16 Memória Virtual

Capítulo 9: Memória Virtual. Operating System Concepts 8th Edition

Capítulo 6 Nível do Sistema Operacional

Fundamentos de Sistemas Operacionais

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

CONCURSO PÚBLICO EDITAL Nº 03 / 2015

Memória Cache. Aula 24

Transcrição:

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

Memórias cache CPU procura por dados em L, depois em L2 e finalmente na memória principal CPU registradores barramento de cache L cache ALU barramento de sistema barramento de memória L2 cache interface de barramento ponte E/S memória principal

Organização geral da memória cache bit válido t bits para por linha por linha B = 2 b bytes por bloco de cache conj. : B B E linhas por conjunto S = 2 s sets conj. : B B conj. S-: B B Tamanho da cache: C = B x E x S bytes

Endereçamento de cache Endereço A: t bits s bits b bits conj.: v v B B m- <> <índ. conj.> <offset> conj : conj. S-: v v v v B B B B A palavra no endereço A está na cache se os bits de em uma das linhas válidas no conjunto <ind. conj.> são idênticos aos bits do campo <>. O conteúdo da palavra começa no deslocamento de <offset> bytes a partir do início do bloco

Cache mapeada diretamente Forma mais simples Caracterizada por ter uma linha por conjunto conj. : bloco da cache E= linha por conjunto conj. : bloco da cache conj. S-: bloco da cache

Acesso a caches mapeadas diretamente Seleção do conjunto feita pelos bits de índice de conjunto conj. selecionado conj. : bloco da cache conj. : bloco da cache m- t bits s bits b bits ind. conj offset conj. S-: bloco da cache

Acesso a caches mapeadas diretamente Encontre uma linha válida no conjunto selecionado com campo idêntico a bits de e extrai a palavra desejada conj. (i) selecionado: (2) Os bits de s na linha da cache tem que casar com os bits de do endereço =? () O bit válido tem que ser m- =? t bits 2 3 4 5 6 7 w w w 2 w 3 s bits b bits i ind. conj. offset (3) Se () e (2), então acerto, e offset seleciona o byte inicial.

Exemplo de cache mapeada diretamente t= s=2 b= x xx x M=endereço para 6 células, B=2 bytes/bloco, S=4 conj., E= linha/conj. Acessos a endereços (leituras): [ 2 ], [ 2 ], 3 [ 2 ], 8 [ 2 ], [ 2 ] [ 2 ] (miss) v data m[] M[-] m[] 3 [ 2 ] (miss) v data m[] M[-] m[] () (3) M[2-3] m[3] m[2] (4) 8 [ 2 ] (miss) v data M[8-9] m[9] m[8] M[2-3] (5) [ 2 ] (miss) v data m[] M[-] m[] M[2-3] m[3] m[2]

Caches associativas por conjunto Caracterizadas por mais de uma linha no conjunto conj. : bloco de cache bloco de cache E=2 linhas por conj. conj. : conj. S-: bloco de cache bloco de cache bloco de cache bloco de cache

Acesso a caches associativas por conjuntos Seleção do conjunto é igual à memória mapeada diretamente conj. : bloco de cache bloco de cache Conj. selecionado conj. : bloco de cache bloco de cache m- t bits s bits b bits ìnd. conj. offset conj. S-: bloco de cache bloco de cache

Acesso a caches associativas por conjunto Compara o de cada linha válida do conjunto selecionado =? () Bit válido deve ser. 2 3 4 5 6 7 conj.(i) selecionado): w w w 2 w 3 (2) Os bits de em uma das linhas de cache tem que casar com bits de do endereço m- =? t bits s bits b bits i ind. conj. offset (3) Se () e (2), então acerto, e offset seleciona byte inicial.

Caches totalmente associativas Caracterizadas por um único conjunto conter todas as linhas bloco de cache bloco de cache conj. : bloco de cache bloco de cache bloco de cache bloco de cache E=C/B linhas em um único conjunto

Acesso a caches totalmente associativas Conjunto é sempre selecionado bloco de cache bloco de cache t bits b bits conj. : bloco de cache bloco de cache bloco de cache m- offset bloco de cache

Acesso a caches totalmente associativas Compara do endereço com campo da cache =? () Bit válido deve ser. 2 3 4 5 6 7 cache inteira: w w w 2 w 3 =? (2) Os bits de em uma das linhas de cache tem que casar com bits de do endereço =? t bits b bits m- offset (3) Se () e (2), então acerto, e offset seleciona byte inicial.

Algoritmo de substituição de dados Consiste em determinar qual o bloco da memória cache deve ser retirado para ceder lugar a outro por ocasião de uma falta No mapeamento direto não há opção! Nos demais mapeamentos LRU - Least Recently Used FIFO - First In First Out LFU - Least Frequently Used Escolha aleatória (*)

Política de escrita I A escrita é sempre realizada na cache pela CPU. Quando deve ser realizada na memória principal? Problema: vários processos em várias CPU ou dispositivos de E/S podem acessar um mesmo bloco na MP valores diferentes para um mesmo dado! Políticas de escrita... write through write back write once

Política de escrita II Escrita em ambas (write through) Sempre que se escreve na cache, escreve-se na memória principal Pode haver queda no desempenho Escrita somente no retorno (write back) Escreve apenas quando o bloco é substituído: há bit de alteração A memória principal pode ficar desatualizada (ex: E/S via DMA)