Arquitectura de Computadores II



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

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

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

Microprocessadores. Memórias

Arquitectura de Computadores

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

ELECTRÓNICA DE COMPUTADORES. Sumário

Aula 16: Memória Principal e Memória Virtual

5 de Maio de Aula 15

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

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

Memória Virtual. Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII

Hierarquia de memória

Hierarquia de Memória

Memórias cache: uma introdução

Aula 16: Memória Principal e Memória Virtual

Arquitectura de Computadores

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

Memória Cache. Walter Fetter Lages.

Hierarquia de memória

Memória Cache. Aula 24

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

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

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

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

SSC0611 Arquitetura de Computadores

Arquitetura de Computadores. Memórias

Arquitectura de Computadores (ACom)

Memórias Cache. Memória

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

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

Arquitectura de Computadores MEEC (2013/14 2º Sem.)

Infra-estrutura Hardware

Hierarquia de memória. Melhorando o desempenho

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

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

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

Tecnologias de Memória

Microcontroladores e Interfaces

Instituto de Matemática e Estatística - USP MAC Organização de Computadores EP1. Experimentos com o cache. Tiago Andrade Togores

Arquitetura de Computadores

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

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

Organização e Arquitetura de computadores

Memória cache. Prof. Francisco Adelton

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I

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

Visão geral do sistema de memória de computadores

Sistemas de Memória II

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

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

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

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Memória. Conceitos gerais Hierarquia de memórias

Projeto de Caches. Projeto de memórias cache (ii)

Arquitetura de Computadores

Evolução da arquitetura básica

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

Hierarquia de Memória

Hierarquia de Memória

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

Arquitectura de Computadores (ACom)

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Arquitectura de Computadores (ACom)

Memória Cache: Funcionamento

Organização de Computadores

Adriano J. Holanda FAFRAM. 4 e 11 de maio de 2012

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

Sistemas Operacionais Aula 16 Memória Virtual

Gerenciamento de memória

Sistema de Memórias COMPUTADOR CONTROLE ENTRADA VIA DE DADOS SAÍDA PROCESSADOR MEMÓRIA S E TO R R EC RE CEI TA S T EM S E TO R C A RNE S

MEMÓRIA CACHE FELIPE G. TORRES

Memória. Gestão do espaço lógico Paginação Segmentação com paginação

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

SSC0112 Organização de Computadores Digitais I

Memória 21/05/2010. Introdução. Hierarquia de Memória. Hierarquia de Memória. Arquitetura de Computadores

Sistemas de Memória III

EA960 Memória virtual

Arquitectura de Computadores (ACom)

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

Capítulo 7. This material may not be copied or distributed for commercial purposes without express written permission of the copyright holder.

SRAM Static RAM. E/L Escrita Leitura. FPM DRAM Fast Page Mode EDO DRAM Extended Data Output SDRAM Synchronous DDR SDRAM Double Data Rate RDRAM Rambus

Memória para CAD. Aleardo Manacero Jr.

Hardware Conceitos Básicos. Introdução*à*Informática 14

13 de Maio de Aula 17

Arquitectura de Computadores

Arquitectura de Computadores

Programador/a de Informática

Hierarquia de memória e a memória cache

Organização de Computadores

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

Organização de Computadores Processadores, Placa Mãe e Memória RAM. Professor: Francisco Ary Alves de Souza

Memórias Semicondutoras

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

Transcrição:

O Fosso de Performance Arquitectura de Computadores II 5. Hierarquia de Memória 5.1. Cache 2004/2005 Paulo Marques Departamento de Eng. Informática Universidade de Coimbra pmarques@dei.uc.pt 2 Hierarquia de Memória Conceitos Básicos (Cache Directamente Mapeada) Velocidade Preço n Princípio da localidade espacial Se eu acedi a estes dados, é provável que aceda aos dados que estão próximos n Princípio da localidade temporal Se eu acedi à pouco tempo a estes dados, é provável que lhes vá aceder dentro de pouco tempo LD R1, 1012 0 1 2 3 4 5 6 7 Cache Cache Directamente Mapeada 1012 MOD 8 = 4 Registos Cache ~128x32bits, 0.25ns ~1MByte, 10ns $5000/GB Memória Central (RAM) ~512Mbyte, 100ns $100/GB... 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 Memória... Memória de Massa (Disco) ~200Gbyte, 5ms $1/GB Tamanho Cache Hit O bloco está na cache Cache Miss O bloco não está na cache 3 4

Conceitos Básicos (Cache Directamente Mapeada) Cache Directamente Mapeada LB R1, 1012 Cache Line 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111... 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 Memória... 5 6 Associatividade Porquê diferentes tipos de associatividade? n Directamente Mapeada n J Rápida a aceder aos dados (só podem estar num local) n L Sempre que existe um miss, limpa a entrada correspondente (hit rate baixo) n Completamente Associativa n L Lenta a aceder aos dados (têm de se comparar todas as tags) n J Quando existe um miss, podemos escolher qual a entrada a eliminar (hit rate elevado) n [E.g. Caches a nível do sistema operativo] n Associativa Por blocos n O melhor (e/ou pior) de ambos os mundos n [E.g. Caches no processador] 7 8

Uma cache associativa em blocos de 4 Efeito da associatividade no miss rate 15% 12% 9% 6% 3% 0 One-way 1 KB 2 KB 4 KB 8 KB 16 KB 32 KB Two-way Associativity 64 KB 128 KB Four-way Eight-way 9 10 Efeito do tamanho do bloco no miss rate 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: n Random n Least-Recently Used (LRU) n First-in, First-out (FIFO) 4. Efectivamente lê o valor, partindo da cache n À medida que o tamanho do bloco aumenta... J Localidade Espacial (reaproveitamento de dados) L Poucos Blocos (competição pelos mesmos blocos) L Penalidade nos misses aumenta (...o tempo de ir buscar os blocos) 11 12

O que acontece numa escrita? Considerações sobre Memória n A memória central e a cache devem de estar consistentes n Manter ambas consistentes pode sair bastante caro... n Write-through: Sempre que se escreve na cache, os dados são também enviados para a memória central n Utilização de um write-buffer de actualização da memória central n J Simples de implementar n J Coerência de dados (importante em multi-processadores) n L Pode ser lenta, se os programas têm uma taxa de escritas superior ao o write-buffer aguenta n DRAM = Dynamic Random Access n Ênfase na densidade (bits/cm^2) n Latência de acesso / Velocidade de transferência n Tem de ser refrescada periodicamente (basta ler os bits de uma linha) n Write-back: Apenas se escreve na cache; a memória central só é actualizada quando o bloco tem de ser eliminado da cache n É necessária a presença de um dirty-bit a marcar cada entrada em cache n J Utiliza menos largura de banda com a memória (importante em multiprocessadores) n J Várias escritas num bloco apenas implicam uma escrita em memória n L Read misses podem implicar escritas em memória (e.g. se é necessário substituir um bloco dirty) n L 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. 13 RAS = Row Access Strobe CAS = Column Access Strobe 14 Evolução da tecnologia DRAM Como aumentar a largura de banda com a memória? CPU CPU CPU Column Access time Year Chip Size $/MB Total Access Time (RAS + CAS) for an Existing Row (CAS) 1985 1 Mbit $200 135 ns 40 ns 1989 4 Mbit $50 110 ns 40 ns 1992 16 Mbit $15 90 ns 30 ns 1996 64 Mbit $10 60 ns 12 ns 1998 128 Mbit $4 60 ns 10 ns 2000 256 Mbit $1 55 ns 7 ns 2002 512 Mbit $0.25 50 ns 5 ns 2004 1024 Mbit $0.10 45 ns 3 ns 15 Cache Bus a. One-word-wide memory organization b. Wide memory organization n (a) (b) (c) Multiplexor Cache Bus bank 0 bank 1 Cache Vencer a latência de acesso é complicado; mas é possível melhorar a largura de banda! Abordagem assumida até agora Bus largo, acede a todas as palavras de um bloco simultaneamente Interleaved memory, evita o custo da latência de acesso (embora ainda pague o custo da transferência dos dados) Bus bank 2 c. Interleaved memory organization bank 3 16

Algumas técnicas para melhorar a performance Exemplos de Caches 1. Hierarquias de Caches 2. Requested Word First & Early Restart 3. Merge Write Buffer 4. Victim Caches 17 18 Conceito Arquitectura de Computadores II n A memória física de um computador pode ser considerada apenas como uma cache para os dados em disco n Os dados em disco correspondem à memória virtual swap file 5. Hierarquia de Memória 5.2. Memória Virtual 2004/2005 Paulo Marques Departamento de Eng. Informática Universidade de Coimbra pmarques@dei.uc.pt 20

Mapeamento de endereços Aspecto de um sistema com memória virtual 4Gb 4Gb 5000 1000 1000 256Mb Disco 0 0 Espaço de Espaço de endereçamento endereçamento do processo A do processo B Tabela(s) de Tradução de Endereços 0 Memória física Atenção: Nada obriga a que os endereços físicos tenham 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 o mesmo tamanho que os endereços virtuais 21 22 Considerações Importantes Tabela de Páginas (1) n O tamanho das páginas deve ser grande para amortizar o enorme tempo de acesso ao disco n Hoje são tipos valores de 4KB e 16KB. Começam a surgir sistemas de 32KB e 64KB. n É importantíssimo baixar o miss rate n Abordagens completamente associativas n Quando existe uma page fault, a mesma é resolvida em software e não em hardware n 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. n Write-thought não é uma opção 23 24

Tabela de Páginas (1) Translation-Lookaside Buffer (TLB) O que é que falta neste diagrama??? 25 26 Exemplo de TLB+Cache (Intrinsity FastMATH) Intrinsity FastMATH, c/ TLB hit Nota: Falta mostrar a tabela de páginas (no caso de TLB miss) 27 28

Vários acontecimentos possíveis Alguns Exemplos de Processadores 29 30 AMD Athlon64 3500+ (2.2GHz) Material para ler n Computer Architecture: A Quantitative Approach, 3rd Ed. n Secções 5.1, 5.2, 5.3 n (Brevemente) 5.4 e 5.5 n Secção 5.8 e a parte de 5.9 que diz respeito à tecnologia DRAM n Secção 5.10 n Alternativamente (ou complementarmente), a matéria encontra-se bastante bem explicada no Capítulo 7 do n Computer Organization and Design, 3rd Ed. D. Patterson & J. Hennessy Morgan Kaufmann, ISBN 1-55860-604-1 August 2004 31 32

Questão Interessante» 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 n Multiplicação de Matrizes, 1024x1024 INT n @XTITAN (Dual Xeon 2 GHz) [pmarques@ingrid ~/tmp]./mult 1024 Size = 1024x1024 Total time = 57 sec n @T01 (Pentium Celeron 1 GHz) [pmarques@t10 ~/tmp]./mult 1024 Size = 1024x1024 Total time = 16 sec O que é que se passa aqui?!?!?!?! 33 34 Organização da Memória Latência de Acesso a Memória [pmarques@ingrid ~/tmp] cat /proc/cpuinfo (...) model name : Intel(R) XEON(TM) CPU 2.00GHz cpu MHz : 1993.562 cache size : 512 KB bogomips : 3971.48 (...) [pmarques@ingrid ~/tmp] [pmarques@t01 ~/tmp] cat /proc/cpuinfo (...) model name : Celeron (Coppermine) cpu MHz : 1002.301 cache size : 128 KB bogomips : 1998.84 (...) [pmarques@t01 ~/tmp] Celeron @ 1GHz Xeon @ 2GHz 35 36

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