Princípio da localidade

Slides:



Advertisements
Apresentações semelhantes
Integridade de Dados em Memórias Cache
Advertisements

Sistemas Operacionais
Sistemas Operacionais
Introdução à Hierarquia de Memória
Organização de Computadores
Arquitetura e organização de computadores
Entrada e Saída Introdução.
1. Introdução: São dispositivos utilizados para armazenar dados (Informações). Desde o lançamento do 1º computador, os programadores vem exigindo capacidades.
SISTEMAS DE INFORMAÇÃO
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Gerenciamento do Disco Gerenciamento do Buffer
Arquitetura de Sistemas Operacionais
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.
Arquitetura de Computadores
Maria Aparecida Castro Livi
Memória.
Sistemas Operacionais Turmas MBI1 e NBI2. Prof: Marcelo Mendes.
Introdução e Análise do Desempenho
Sistemas Operacionais I
Catholic University PUCRS C ACHE M EMORY. Introduction.
Arquitectura de Computadores II
Escola Secundária de Caldas das Taipas Técnico de Gestão de Equipamentos Informáticos Sistemas Digitais e Arquitetura de Computadores Memórias Ram e.
SISTEMAS OPERACIONAIS
Fundamentos da Arquitetura de Computadores
Fundamentos da Arquitetura de Computadores
PROGRAMAÇÃO ESTRUTURADA II
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Sejam bem vindos! Arquitetura de Sistemas Operacionais.
Subsistemas de memória
Organização de um computador
Aveiro, 28 de Abril de Arquitectura de Computadores II Ano lectivo 2003/2004 Nuno
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.
Como devo ligar meu computador?
Arquitetura de Computadores
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
Arquitetura de Computadores
Hardware : Memórias Instrutor : Marcos
Bruno C. Bourbon Jarbas J. de O. Júnior {bcb, cin.ufpe.br
Entrada e Saída (E/S).
DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória.
Memorias.
Escola Secundária Sebastião da Gama
Ch7b-1 Capítulo Sistemas de Memória - Memória Virtual.
ARQUITETURAS E ORGANIZAÇÃO DE COMPUTADORES
Infra-Estrutura de Software Gerenciamento de Memória.
Processador 2014/2015 Comunicação de Dados Ricardo Bento 12ºL.
Gerenciamento de Memória
LFU (LEAST-FREQUENTLY-USED)
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.
Sistemas Operacionais 1º Semestre Aula 3 Prof. Carlos Vinícius SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA.
Prof. André Luis M. Silva Hierarquia de Memória Prof. André Luis M. Silva
Infra-estrutura Hardware
Algoritmo É uma descrição seqüencial ordenada dos passos que devem ser executados de forma lógica e clara, com a finalidade de facilitar a resolução de.
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)
William Stallings Arquitetura e Organização de Computadores 8a Edição
Memória Cache.
Memória Virtual.
Memórias Faculdade de Ciências Aplicadas e Sociais de Petrolina - FACAPE Ciência da Computação Professora: Cynara Carvalho
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Gerenciamento de Memória Capítulo Gerenciamento básico de memória 3.2 Troca de processos.
Pet computação UFPE Arquitetura Von Neumann. pet computação UFPE 1.Definição e tipos de arquitetura Quando falamos em arquitetura temos dois tipos a considerar:
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
 Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer  Localidade Temporal  Um item referenciado.
Transcrição da apresentação:

Princípio da localidade Programas tendem a reutilizar dados e instruções perto daqueles que foram utilizados recentemente Localidade temporal: Itens recentemente referenciados irão ser provavelmente referenciados em futuro próximo Localidade espacial: Itens com endereços próximos tendem a ser referenciados em instantes de tempo próximos

Exemplo de localidade Exemplo de localidade Dados Acessar elementos em série (padrão de referência passo 1): Referência à sum em cada iteração: Instruções Instruções executadas em seqüência: Passa pelo loop repetidamente: sum = 0; for (i = 0; i < n; i++) sum += a[i]; return sum; Localidade espacial Localidade temporal Localidade espacial Localidade temporal

Exemplo de localidade Pergunta: A função abaixo tem boa localidade ? int sumarrayrows(int a[M][N]) { int i, j, sum = 0; for (i = 0; i < M; i++) for (j = 0; j < N; j++) sum += a[i][j]; return sum }

Exemplo de localidade E esta ? int sumarraycols(int a[M][N]) { int i, j, sum = 0; for (j = 0; j < N; j++) for (i = 0; i < M; i++) sum += a[i][j]; return sum }

Caches Cache: Um dispositivo menor e mais rápido que age como uma plataforma de acesso para um subconjunto de dados de um dispositivo maior e mais lento Idéia fundamental: O dispositivo mais rápido e menor no nível k serve como uma cache para um dispositivo maior e mais lento no nível k+1 Porque funciona ? Programas tendem a acessar dados no nível k mais freqüentemente que no nível k+1 Então, o armazenamento em k+1 pode ser mais lento e portanto maior e mais barato por bit Resultado: Uma memória que custa tão barato quanto o dispositivo mais barato, mas que fornece dados para programas em uma taxa perto do dispositivo mais rápido

Caching na hierarquia de memórias Dispositivo menor, mais rápido, mais caro no nível k armazena subconjunto de blocos do nível k+1 Nível k: 8 4 9 10 14 3 Dados são copiados entre níveis em blocos 4 10 1 2 3 4 4 5 6 7 Nível k+1: Dispositivo maior, mais lento, mais barato do nível k+1 é particionado em blocos 8 9 10 10 11 12 13 14 15

Conceitos gerais de caching Programa precisa do objeto d, que está armazenado em algum bloco b Acerto de cache (hit) Programa encontra b na cache nível k. E.x., bloco 14. Falta de cache (miss) b não está no nível k, então a cache do nível k precisa pegar o bloco do nível k+1. Ex., bloco 12. Se a cache do nível k está cheia, então algum bloco corrente terá que sair para dar lugar ao novo. Quem será a vítima? Política de colocação: onde o novo bloco deve ir ? Ex., b mod 4 Política de substituição: qual bloco deve sair ? Ex., LRU Pede 12 14 12 Nível k: 1 2 3 4* 12 4* 9 14 14 3 Pede 12 12 4* Nível k+1: 1 2 3 4 4* 5 6 7 8 9 10 11 12 12 13 14 15

Terminologia para Hierarquia de Memória Acerto (hit): dado presente em algum bloco do nível mais alto (exemplo: Bloco X) Taxa de acertos: a fração de acessos à memória encontrados no nível mais alto Tempo de acerto: Tempo para acessar nível mais alto que consiste de: Tempo de acesso à memória + Tempo para determinar acerto Nível Mais Baixo Memória Nível Mais Alto Para o Processador Do Processador Bloco X Bloco Y A HIT is when the data the processor wants to access is found in the upper level (Blk X). The fraction of the memory access that are HIT is defined as HIT rate. HIT Time is the time to access the Upper Level where the data is found (X). It consists of: (a) Time to access this level. (b) AND the time to determine if this is a Hit or Miss. If the data the processor wants cannot be found in the Upper level. Then we have a miss and we need to retrieve the data (Blk Y) from the lower level. By definition (definition of Hit: Fraction), the miss rate is just 1 minus the hit rate. This miss penalty also consists of two parts: (a) The time it takes to replace a block (Blk Y to BlkX) in the upper level. (b) And then the time it takes to deliver this new block to the processor. It is very important that your Hit Time to be much much smaller than your miss penalty. Otherwise, there will be no reason to build a memory hierarchy. +2 = 14 min. (X:54)

Terminologia para Hierarquia de Memória Falta (miss): dado precisa ser recuperado de um bloco localizado em um nível mais baixo (Bloco Y) Taxa de faltas = 1 - (Taxa de acertos) Penalidade por falta: Tempo para substituir um bloco de nível mais alto + Tempo para enviar informação ao processador Tempo de acerto << Penalidade por falta (nível mais alto menor e com memória mais rápida) A HIT is when the data the processor wants to access is found in the upper level (Blk X). The fraction of the memory access that are HIT is defined as HIT rate. HIT Time is the time to access the Upper Level where the data is found (X). It consists of: (a) Time to access this level. (b) AND the time to determine if this is a Hit or Miss. If the data the processor wants cannot be found in the Upper level. Then we have a miss and we need to retrieve the data (Blk Y) from the lower level. By definition (definition of Hit: Fraction), the miss rate is just 1 minus the hit rate. This miss penalty also consists of two parts: (a) The time it takes to replace a block (Blk Y to BlkX) in the upper level. (b) And then the time it takes to deliver this new block to the processor. It is very important that your Hit Time to be much much smaller than your miss penalty. Otherwise, there will be no reason to build a memory hierarchy. +2 = 14 min. (X:54) Nível Mais Baixo Memória Nível Mais Alto Para o Processador Do Processador Bloco X Bloco Y

Conceitos gerais de caching Tipo de faltas: Falta compulsória Ocorrem porque a cache está vazia. Falta por conflito Ocorrem quando múltiplos objetos de dados são mapeados em um mesmo bloco no nível k E.g. Suponha que bloco i seja referenciado por i mod 4 no nível k, então as referências aos blocos 0, 8, 0, 8, 0, 8, ... sempre acarretarão faltas Falta por capacidade Ocorrem quando o número de blocos ativos da cache é maior que a capacidade da cache.