Arquitectura de Computadores II Paulo Marques Departamento de Eng. Informática Universidade de Coimbra 2004/2005 5. Hierarquia de Memória.

Slides:



Advertisements
Apresentações semelhantes
UNIDADE 1: INTRODUÇÃO ÀS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Advertisements

Coerência de Cache em Multiprocessadores
Integridade de Dados em Memórias Cache
Exercícios de Dimensionamento de Memórias Cache
Introdução à Hierarquia de Memória
William Stallings Arquitetura e Organização de Computadores 8a Edição
Fig. 2 Pontos críticos na característica de transferência vo(vi) de um inversor genérico. Microelectronic Circuits - Sedra/Smith (resumo sobre circuitos.
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Aula 16: Memória Principal e Memória Virtual
0. Introdução.
Arquitectura de Computadores II Paulo Marques Departamento de Eng. Informática Universidade de Coimbra 2004/ Tendências Actuais.
Arquitectura de Computadores II Paulo Marques Departamento de Eng. Informática Universidade de Coimbra 2004/ BUS e Armazenamento.
ARQUITETURAS DE COMPUTADORES II
Capítulo 7.
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Análise de regressão linear simples: abordagem matricial
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
1998 Morgan Kaufmann Publishers Paulo C. Centoducatte - IC/Unicamp- 2002s Prof. Paulo Cesar Centoducatte
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
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.
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
SSC541 - SISTEMAS OPERACIONAIS I Aula 13 – Gerenciamento de Memória
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.
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Gerência de Memória Algoritmos de Substituição de Páginas
Organização da Memória Principal
Experiments with Strassen’s Algorithm: from sequential to parallel
Estrutura do computador
Hierarquia de Memória Organização da cache
Introdução e Análise do Desempenho
Introdução à Programação
Catholic University PUCRS C ACHE M EMORY. Introduction.
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Arquitectura de Computadores II
Fundamentos da Arquitetura de Computadores
Sistemas Operacionais
SISTEMAS OPERACIONAIS
Subsistemas de memória
É u m e l e m e n t o f u n d a m e n t a l
Aveiro, 28 de Abril de Arquitectura de Computadores II Ano lectivo 2003/2004 Nuno
Memória virtual Professor Esp. Diego André Sant’Ana
Infra-estrutura Hardware
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Agenda - Aula 03 Introdução (Computador Digital) Memória
Arquitetura de Computadores Memória - 2 Waldemiro Arruda.
Memória Principal.
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
Introdução à Hierarquia de Memória
SO Paginação de Memória Algoritmos de Substituição de Página
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Arquitetura de Computadores
ARQUITETURAS DE COMPUTADORES II
DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória.
Localidade Princípio da localidade è um programa acessa uma
Ch7b-1 Capítulo Sistemas de Memória - Memória Virtual.
ARQUITETURAS E ORGANIZAÇÃO DE COMPUTADORES
Memória 6 1.
Parte 4 Memória.
Prof. André Luis M. Silva Hierarquia de Memória Prof. André Luis M. Silva
Infra-estrutura Hardware
MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5
Memória Cache.
Memória Virtual.
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.
Memória Virtual 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
Transcrição da apresentação:

Arquitectura de Computadores II Paulo Marques Departamento de Eng. Informática Universidade de Coimbra 2004/ Hierarquia de Memória 5.1. Cache

2 O Fosso de Performance

3 Hierarquia de Memória Princípio da localidade espacial Se eu acedi a estes dados, é provável que aceda aos dados que estão próximos Princípio da localidade temporal Se eu acedi à pouco tempo a estes dados, é provável que lhes vá aceder dentro de pouco tempo Registos Cache Memória Central (RAM) Memória de Massa (Disco) ~128x32bits, 0.25ns ~1MByte, 10ns $5000/GB ~512Mbyte, 100ns $100/GB ~200Gbyte, 5ms $1/GB Velocidade Preço Tamanho

4 Conceitos Básicos (Cache Directamente Mapeada) Cache Memória LDR1, 1012 Cache Directamente Mapeada 1012 MOD 8 = 4 Cache Hit O bloco está na cache Cache Miss O bloco não está na cache

5 Conceitos Básicos (Cache Directamente Mapeada) Memória LBR1, 1012 Cache Line

6 Cache Directamente Mapeada

7 Associatividade

8 Porquê diferentes tipos de associatividade? Directamente Mapeada Rápida a aceder aos dados (só podem estar num local) Sempre que existe um miss, limpa a entrada correspondente (hit rate baixo) Completamente Associativa Lenta a aceder aos dados (têm de se comparar todas as tags) Quando existe um miss, podemos escolher qual a entrada a eliminar (hit rate elevado) [E.g. Caches a nível do sistema operativo] Associativa Por blocos O melhor (e/ou pior) de ambos os mundos [E.g. Caches no processador]

9 Uma cache associativa em blocos de 4

10 Efeito da associatividade no miss rate

11 Efeito do tamanho do bloco no miss rate À medida que o tamanho do bloco aumenta... Localidade Espacial (reaproveitamento de dados) Poucos Blocos (competição pelos mesmos blocos) Penalidade nos misses aumenta (...o tempo de ir buscar os blocos)

12 O que acontece num cache read miss? 1. Envia o endereço em falta para a memória 2. Ordena à memória que efectue a leitura e espera que a mesma complete 3. Escreve o valor lido na cache, actualizando os dados, tag e ligando o bit valid No caso das caches associativas utiliza-se uma das seguintes técnicas para seleccionar o bloco: Random Least-Recently Used (LRU) First-in, First-out (FIFO) 4. Efectivamente lê o valor, partindo da cache

13 O que acontece numa escrita? A memória central e a cache devem de estar consistentes Manter ambas consistentes pode sair bastante caro... Write-through: Sempre que se escreve na cache, os dados são também enviados para a memória central Utilização de um write-buffer de actualização da memória central Simples de implementar Coerência de dados (importante em multi-processadores) Pode ser lenta, se os programas têm uma taxa de escritas superior ao o write-buffer aguenta Write-back: Apenas se escreve na cache; a memória central só é actualizada quando o bloco tem de ser eliminado da cache É necessária a presença de um dirty-bit a marcar cada entrada em cache Utiliza menos largura de banda com a memória (importante em multi- processadores) Várias escritas num bloco apenas implicam uma escrita em memória Read misses podem implicar escritas em memória (e.g. se é necessário substituir um bloco dirty) Escritas complicadas (e potencialmente lentas). É necessário verificar se se trata de um hit ou miss antes de actualizar a memória; não se pode simplesmente escrever. Utilização de um store-buffer.

14 Considerações sobre Memória DRAM = Dynamic Random Access Memory Ênfase na densidade (bits/cm^2) Latência de acesso / Velocidade de transferência Tem de ser refrescada periodicamente (basta ler os bits de uma linha) RAS = Row Access Strobe CAS = Column Access Strobe

15 Evolução da tecnologia DRAM

16 Como aumentar a largura de banda com a memória? Vencer a latência de acesso é complicado; mas é possível melhorar a largura de banda! (a) Abordagem assumida até agora (b) Bus largo, acede a todas as palavras de um bloco simultaneamente (c) Interleaved memory, evita o custo da latência de acesso (embora ainda pague o custo da transferência dos dados)

17 Algumas técnicas para melhorar a performance 1. Hierarquias de Caches 2.Requested Word First & Early Restart 3. Merge Write Buffer 4. Victim Caches

18 Exemplos de Caches

Arquitectura de Computadores II Paulo Marques Departamento de Eng. Informática Universidade de Coimbra 2004/ Hierarquia de Memória 5.2. Memória Virtual

20 Conceito A memória física de um computador pode ser considerada apenas como uma cache para os dados em disco Os dados em disco correspondem à memória virtual swap file

21 Mapeamento de endereços Atenção: Nada obriga a que os endereços físicos tenham o mesmo tamanho que os endereços virtuais

22 Aspecto de um sistema com memória virtual 00 4Gb Espaço de endereçamento do processo A Espaço de endereçamento do processo B 1000 Memória física 0 256Mb 5000 Tabela(s) de Tradução de Endereços Disco Nota: não existe apenas uma tabela de tradução de endereços, mas várias. A tabela do processo corrente é carregada utilizando um registo especial do processador

23 Considerações Importantes O tamanho das páginas deve ser grande para amortizar o enorme tempo de acesso ao disco Hoje são tipos valores de 4KB e 16KB. Começam a surgir sistemas de 32KB e 64KB. É importantíssimo baixar o miss rate Abordagens completamente associativas Quando existe uma page fault, a mesma é resolvida em software e não em hardware O preço de resolver o problema em software é baixo comparado com o preço de ir a disco e/ou de incorporar tal solução em hardware. Para além disso, podem-se utilizar algoritmos mais sofisticados em software. Write-thought não é uma opção

24 Tabela de Páginas (1)

25 Tabela de Páginas (1) O que é que falta neste diagrama???

26 Translation-Lookaside Buffer (TLB)

27 Exemplo de TLB+Cache (Intrinsity FastMATH) Nota: Falta mostrar a tabela de páginas (no caso de TLB miss)

28 Intrinsity FastMATH, c/ TLB hit

29 Vários acontecimentos possíveis

30 Alguns Exemplos de Processadores

31 AMD Athlon (2.2GHz)

32 Material para ler Computer Architecture: A Quantitative Approach, 3rd Ed. Secções 5.1, 5.2, 5.3 (Brevemente) 5.4 e 5.5 Secção 5.8 e a parte de 5.9 que diz respeito à tecnologia DRAM Secção 5.10 Alternativamente (ou complementarmente), a matéria encontra-se bastante bem explicada no Capítulo 7 do Computer Organization and Design, 3rd Ed. D. Patterson & J. Hennessy Morgan Kaufmann, ISBN August 2004

33 » People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise, the programs they write will be pretty weird « Donald Knuth

34 Questão Interessante Multiplicação de Matrizes, 1024x1024 Xeon – 2 GHz) ~/tmp]./Mult 1024 Size = 1024x1024 Total time = 57 Celeron – 1 GHz) ~/tmp]./Mult 1024 Size = 1024x1024 Total time = 16 sec O que é que se passa aqui?!?!?!?!

35 Organização da Memória ~/tmp] cat /proc/cpuinfo (...) model name : Celeron (Coppermine) cpu MHz : cache size : 128 KB bogomips : (...) ~/tmp] ~/tmp] cat /proc/cpuinfo (...) model name : Intel(R) XEON(TM) CPU 2.00GHz cpu MHz : cache size : 512 KB bogomips : (...) ~/tmp]

36 Latência de Acesso a Memória 2GHz

37 Largura de Banda de Acesso a Memória (MB/s) 2GHz 1GHz