Integridade de Dados em Memórias Cache

Slides:



Advertisements
Apresentações semelhantes
Coerência de Cache em Multiprocessadores
Advertisements

Paralelismo em Máquinas Multiprocessadas
Exercícios de Dimensionamento de Memórias Cache
Introdução à Hierarquia de Memória
Gerência de Memórias Cache (Mapeamento de Endereços)
Arquitetura e organização de computadores
Sistemas operacionais
Barramentos Introdução.
Técnicas para operações E/S
ARQUITETURAS DE COMPUTADORES II
ARQUITETURA DE COMPUTADORES II
Gerenciamento do Disco Gerenciamento do Buffer
Cap Recuperação Pretende garantir a atomicidade e durabilidade das transações. Atomicidade => É responsabilidade do gerente de recuperação voltar.
Coerência de Cache MC722 - Projeto de Sistemas Computacionais Prof Rodolfo Jardim de Azevedo André Costa Felipe Sodré Davi Barbosa
1998 Morgan Kaufmann Publishers Paulo C. Centoducatte - IC/Unicamp- 2002s Prof. Paulo Cesar Centoducatte
Memórias cache CPU procura por dados em L1, depois em L2 e finalmente na memória principal CPU registradores ALU L1 cache barramento de cache barramento.
Princípio da localidade
Banco de Dados Oracle AESO.
Rganização de Computadores A Interface entre o Processador e os Periféricos Capítulo 8 – Patterson & Hennessy (seções 8.4 e 8.5) Organização de Computadores.
Rganização de Computadores Hierarquia de Memórias Capítulo 7 – Patterson & Hennessy (seções 7.1 a 7.3) Organização de Computadores Hierarquia de Memórias.
REPRESENTAÇÃO DE INSTRUÇÕES
Organização da Memória Principal
Hierarquia de Memória Organização da cache
RECUPERAÇÃO APÓS FALHA
Projeto de Somador com e sem Sinal
Arquitectura de Computadores II
SISTEMAS OPERACIONAIS
Fundamentos da Arquitetura de Computadores
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Circuitos Seqüenciais
Subsistemas de memória
Aveiro, 28 de Abril de Arquitectura de Computadores II Ano lectivo 2003/2004 Nuno
Aula15: Reduzindo Miss Rate e Hit Time
Aula19: Desempenho de SSM Large-Scale MP Sincronização
PUCC 1 Agenda Memória CACHE. PUCC 2 Memória Cache Motivo –Melhorar a relação entre o tempo de acesso a dados e instruções e a velocidade dos processadores.
Linguagem e Ambiente Scratch
Circuitos Combinacionais Exercícios 2 POSCOMP e ENADE
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
Introdução à Hierarquia de Memória
ARQUITETURA DE COMPUTADORES II
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Circuitos Sequenciais
Gerência de Memória Principal
Bruno C. Bourbon Jarbas J. de O. Júnior {bcb, cin.ufpe.br
ARQUITETURAS DE COMPUTADORES II
Localidade Princípio da localidade è um programa acessa uma
DSC/CEEI/UFCG Introdução à Computação. DSC/CEEI/UFCG 2 Hardware – Memória  Componente de um sistema de computação cuja função é armazenar informações.
Ch7b-1 Capítulo Sistemas de Memória - Memória Virtual.
Infra-Estrutura de Software
ARQUITETURAS E ORGANIZAÇÃO DE COMPUTADORES
Coerência de Cache Márcia A. Santos – RA Novembro/2005.
Hierarquia de Memória Arquitetura de Computadores Aula 4 – Memória 23/08/2012 Bruno Iran Ferreira Maciel Mestrando em Ciências da Computação – Cin/UFPE.
Prof. André Luis M. Silva Hierarquia de Memória Prof. André Luis M. Silva
Memória.
The Dirty-Block Index Índice de Bloco Sujo (modificado) AUTORES: Vivek Seshadri, Abhishek Bhowmick, Onur Mutlu, Phillip B. Gibbonsy, Michael A. Kozuchy,
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Infra-estrutura Hardware
Funcionamento interno do computador
MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5
Gerência de Memórias Cache (Mapeamento de Endereços)
Memória Cache.
Memória Virtual.
Bruno Iran Ferreira Maciel
Memória Virtual ARQUITETURAS DE COMPUTADORES II Prof. César Augusto M. Marcon.
Integridade de Dados em Memórias Cache ARQUITETURAS DE COMPUTADORES II Prof. César Augusto M. Marcon.
Hierarquia de Memória – Parte 2 Prof. André Luis M. Silva
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Memórias cache CPU procura por dados em L1, depois em L2 e finalmente na memória principal CPU registradores ALU L1 cache barramento de cache barramento.
Arquitectura de Computadores
Transcrição da apresentação:

Integridade de Dados em Memórias Cache ARQUITETURAS DE COMPUTADORES II Integridade de Dados em Memórias Cache Prof. César Augusto M. Marcon

Integridade dos Dados na Cache Problema Ocorre miss Endereço desejado foi buscado no nível inferior da hierarquia de memória Só que a cache está cheia (não há lugar para escrever este dado) Algoritmo de substituição é acionado e uma posição é escolhida Só que dados da posição escolhida foram alterados e não podem ser simplesmente descartados Motivo Escrita efetuada apenas no nível da cache  as cópias nos outros níveis não estão atualizadas Perguntas Como saber que os dados foram alterados? Como salvar essas alterações? Em que momento salvar as informações? Técnicas para manter a Integridade dos dados Write-through Write-back

Write-Through (Escreve Através) Técnica mais antiga Escrevo as alterações em todos os níveis (escrevo através) Quando? Sempre que escrevo Quanto? Somente a palavra alterada Vantagens / Desvantagens

Write-Back (Escreve de Volta) Técnica mais recente Quando? Escreve alterações só quando necessita de substituição Quanto? Unidade do nível (bloco no caso da cache) Como saber quais dados foram alterados ? dirty-bit (bit de sujeira) no bloco Vantagens / Desvantagens

Passos para escrita e leitura na cache - Leitura Para solucionar o problema da integridade dos dados as técnicas write-back e write-through são incorporadas nas operações de leitura e escrita Se hit então procura bloco desejado (Tag ou direto) e vai para 7 Requisita ao nível abaixo // miss Recebe bloco e procura onde colocar Se tem posição livre na cache então escreve bloco e vai para 7 Procura bloco para substituir (usar política) // cache cheia Se Write-back e dirty-bit ligado, então salva bloco a ser substituído no nível abaixo e substitui bloco Lê palavra desejada no bloco Repassa palavra ao processador Fim

Passos para escrita e leitura na cache - Escrita Se hit procura bloco desejado (Tag ou direto), escreve palavra e vai para 8 Requisita ao nível mais abaixo // Se miss Recebe bloco Se tem posição livre na cache então coloca bloco na posição livre e vai para 8 Procura bloco para substituir (usar política) // cache cheia Substitui bloco e escreve palavra Se Write-back e o bloco a ser substituído tem dirty-bit ligado, salva bloco a ser substituído no nível abaixo Se Write-through escreve palavra também nos níveis mais baixos Se Write-back ligar dirty-bit no bloco que vai para a cache Fim

Estudo de Caso (Itanium Tukwila)

Exercícios Descreva o problema de integridade de cache Como saber se os dados foram alterados  Não são mais válidos? Quais são as técnicas utilizadas para manter a integridade da informação? Explique cada uma delas Fale sobre as vantagens e desvantagens de cada técnica Comente a necessidade de saber se os dados foram alterados com write-through Porque a técnica write-through é mais rápida que a técnica write-back quando ocorre muito cache miss e a cache está cheia? Porque a técnica write-back é adequada para a maior parte dos programas? Faça uma análise de cada técnica com relação ao uso da infra-estrutura de comunicação (ex. barramento). Qual usa mais a infra-estrutura (maior freqüência)? Qual tem a maior carga de acesso concentrada na infra-estrutura?

Exercícios Dado o algoritmo para implementar a técnica write-back, descrito abaixo, responda: (a) Para que buscar dados do nível mais baixo, quando ocorre miss na operação de escrita, se os dados serão escritos novamente? (b) Para que buscar para escrever por cima? (c) Porque só escrever uma palavra e buscar um bloco? Verificar se ocorreu hit, se não ir para 3 Procurar por bloco desejado (Tag ou direto) e escrever. Se Write-through escrever palavra também nos níveis mais baixos. Se Write-back ligar dirty-bit. Ir para 8 Requisitar ao nível abaixo Receber bloco. Procurar onde colocar e se cache cheia ir para 5. Se achar posição livre escrever bloco. Se replicação Write-through escrever palavra também nos níveis abaixo. Se Write-back ligar dirty-bit. Ir para 8 Procurar bloco para substituir (usar política) Se replicação Write-back e dirty-bit ligado, salvar substituído nos níveis abaixo Substituir bloco e escrever palavra. Se replicação Write-through escrever palavra também nos níveis abaixo. Se Write-back ligar dirty-bit. Fim

Exercícios (POSCOMP 2006 - 21) Considere dois sistemas A e B compostos por processador, cache e memória cuja única diferença é a cache de dados. As caches de dados possuem em comum palavras de 2 Bytes, capacidade (por exemplo, 2 KBytes), tamanho de bloco (por exemplo, 8 Bytes por linha) e são implementadas com a mesma tecnologia, porém com organizações diferentes como definidas abaixo: (Cache de A) Cache com mapeamento direto, utilizando políticas write–through e no-write allocate (escritas não utilizam a cache) (Cache de B) Cache 4–way set-associative, utilizando políticas write–back, write–allocate e LRU Considere as seguintes afirmações para os sistemas A e B executando um mesmo programa típico: O sistema A deve possuir um miss rate maior do que B O sistema B deve possuir um hit rate menor do que A A cache de dados de A é mais rápida do que a de B A cache de dados de A é mais simples de ser implementada do que a de B Em média, uma escrita de dados no sistema A é mais rápido do que em B As caches de dados de A e B possuem o mesmo número de linhas Quais são as afirmações verdadeiras? Somente as afirmações (II), (III) e (IV) são verdadeiras Somente as afirmações (I), (III) e (VI) são verdadeiras Somente as afirmações (I), (III) e (IV) são verdadeiras Somente as afirmações (II), (V) e (VI) são verdadeiras Todas as afirmações são verdadeiras

Resposta de Exercícios (POSCOMP 2006 - 21) Considere dois sistemas A e B compostos por processador, cache e memória cuja única diferença é a cache de dados. As caches de dados possuem em comum palavras de 2 Bytes, capacidade (por exemplo, 2 KBytes), tamanho de bloco (por exemplo, 8 Bytes por linha) e são implementadas com a mesma tecnologia, porém com organizações diferentes como definidas abaixo: (Cache de A) Cache com mapeamento direto, utilizando políticas write–through e no-write allocate (escritas não utilizam a cache) (Cache de B) Cache 4–way set-associative, utilizando políticas write–back, write–allocate e LRU Considere as seguintes afirmações para os sistemas A e B executando um mesmo programa típico: O sistema A deve possuir um miss rate maior do que B O sistema B deve possuir um hit rate menor do que A A cache de dados de A é mais rápida do que a de B A cache de dados de A é mais simples de ser implementada do que a de B Em média, uma escrita de dados no sistema A é mais rápido do que em B As caches de dados de A e B possuem o mesmo número de linhas Quais são as afirmações verdadeiras? Somente as afirmações (II), (III) e (IV) são verdadeiras Somente as afirmações (I), (III) e (VI) são verdadeiras Somente as afirmações (I), (III) e (IV) são verdadeiras Somente as afirmações (II), (V) e (VI) são verdadeiras Todas as afirmações são verdadeiras

Exercícios (POSCOMP 2008 - 33) O uso de memória caches é muito importante para o desempenho dos processadores atuais. Analise as afirmativas abaixo relativas ao uso de memórias caches. Em uma memória cache com mapeamento direto um bloco de memória pode ser colocado em qualquer posição (entrada) dessa memória cache. Na política de escrita write-back o bloco modificado é atualizado na memória principal apenas quando for substituído. O uso de associatividade nas memórias cache serve para reduzir o número de falhas por conflito. A análise permite concluir que As três afirmativas são falsas. As três afirmativas são verdadeiras. Apenas a afirmativa I é verdadeira. Apenas as afirmativas II e III são verdadeiras. Apenas a afirmativa III é verdadeira.

Exercícios (POSCOMP 2008 - 33) O uso de memória caches é muito importante para o desempenho dos processadores atuais. Analise as afirmativas abaixo relativas ao uso de memórias caches. Em uma memória cache com mapeamento direto um bloco de memória pode ser colocado em qualquer posição (entrada) dessa memória cache. Na política de escrita write-back o bloco modificado é atualizado na memória principal apenas quando for substituído. O uso de associatividade nas memórias cache serve para reduzir o número de falhas por conflito. A análise permite concluir que As três afirmativas são falsas. As três afirmativas são verdadeiras. Apenas a afirmativa I é verdadeira. Apenas as afirmativas II e III são verdadeiras. Apenas a afirmativa III é verdadeira.