Hierarquia de Memória
|
|
|
- Edson Padilha Schmidt
- 9 Há anos
- Visualizações:
Transcrição
1 Hierarquia de Memória Luís Nogueira Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Hierarquia de Memória p.
2 Introdução Problema Velocidade do CPU muito superior à da memória Consequência Acessos à memória provocam perda de performance Usar memória com mesma velocidade do CPU Técnica e economicamente impraticável Custo por bit de hardware rápido é muito elevado Memórias rápidas possuem pequena capacidade Como disponibilizar grande capacidade a elevada velocidade? Hierarquia de Memória p. 2
3 Lei de Amdahl O aumento da performance obtido por usar um qualquer modo de execução mais rápido é limitado pela fracção de tempo em que esse modo é utilizado Aumento performance = ( f) + f s f fracção melhorada do programa s aumento da velocidade de execução Optimizar 0% do programa 90% mais rápido % do programa 0% mais rápido Aumento performance Hierarquia de Memória p. 3
4 Localidade Espacial e Temporal Análise de programas revela que a maior parte possui Localidade espacial Localidade temporal Localidade Espacial Programas tendem a aceder a dados/executar instruções em zonas contíguas de memória Localidade Temporal Código/dados acedidos num ciclo de relógio possuem grande probabilidade de o voltar a ser nos ciclos seguintes Hierarquia de Memória p. 4
5 Hierarquia de memória Usar memória(s) intermédia(s) (caches) entre RAM e CPU Velocidade maior que RAM mas menor que CPU Armazenar instruções/dados acedidos com maior frequência Usar discos rígidos para memória virtual Grande capacidade e baixo custo Velocidade de acesso reduzida Estabelecer hierarquia de memória Por ordem decrescente de velocidade e custo por bit Por ordem crescente de capacidade em bits Hierarquia de Memória p. 5
6 Hierarquia de memória Current Speed CPU Size Cost ($/bit) Technology Fastest Memory Smallest Highest SRAM Memory DRAM Slowest Memory Biggest Lowest Magnetic Disk Hierarquia de Memória p. 6
7 Transferência de valores entre níveis Processor Data are transferred De cada vez que falha uma pesquisa Procurar no nível seguinte Perda de performance crescente Hierarquia de Memória p. 7
8 Algumas definições... Bloco Unidade mínima de informação que é transferida entre 2 níveis consecutivos Eficiência da cache (Hit-rate) % de vezes em que os valores são encontrados na cache Falha na pesquisa (cache miss) O endereço procurado não está na cache Hierarquia de Memória p. 8
9 Algumas definições... Penalização no acesso (miss penalty) N o de ciclos associados a um cache miss Largura de banda Bytes transferidos entre dois níveis por ciclo de relógio Palavra Unidade usada por uma determinada arquitectura (6, 32, 64 bits,...) Normalmente um endereço de memória ocupa uma palavra Hierarquia de Memória p. 9
10 Cache Memória tem maior capacidade que a cache A cada endereço da cache terão necessariamente de corresponder vários endereços na memória 4 questões essenciais Onde colocar um bloco na cache? Como identificar um bloco na cache? Como substituir um bloco depois de um cache miss? Como escrever um valor em memória? Hierarquia de Memória p. 0
11 Onde colocar um bloco na cache? Direct-mapped cache Cada bloco só tem um destino possível Fully associative cache O bloco pode ser colocado numa qualquer entrada da cache n-way Set associative cache O bloco pode ser colocado apenas num conjunto de entradas da cache Dentro desse conjunto pode ser colocado em qualquer entrada Hierarquia de Memória p.
12 Direct-mapped Mapeamento directo baseado no endereço da palavra em memória Endereço possui apenas uma localização possível na cache Bloco mapeado na cache por (endereço bloco) módulo (n o de blocos da cache) Se o número de blocos na cache for uma potência de 2 Destino calculado usando os log 2 (n o blocos) bits menos significativos do endereço Evita uma divisão! Hierarquia de Memória p. 2
13 Direct-mapped Cache Memory Hierarquia de Memória p. 3
14 Direct-mapped Mais do que um endereço de memória na mesma entrada Como saber se o valor na cache corresponde ao endereço pretendido? Conflito resolvido com uma etiqueta Usando os bits mais significativos do endereço (não usados na indexação) Como validar valor na cache? Entrada pode conter valores inválidos ou estar vazia Problema resolvido com valid bit Indica se a entrada contém um valor válido Hierarquia de Memória p. 4
15 Direct-mapped Address (showing bit positions) Hit Tag Byte offset 20 0 Index Data Index 0 2 Valid Tag Data = Hierarquia de Memória p. 5
16 Fully associative Bloco pode ser colocado em qualquer entrada da cache Vantagens Independente do endereço Não há colisões Principal desvantagem Procurar um bloco na cache exige a pesquisa de todas as posições Hierarquia de Memória p. 6
17 Fully associative Pesquisa eficiente tem de ser efectuada em paralelo Cada entrada exige um comparador Aumenta o custo do hardware Fully associative só é sustentável em caches com poucos blocos Hierarquia de Memória p. 7
18 n-way Set associative Meio termo entre direct-mapped and fully associative Cache dividida em vários conjuntos Cada conjunto possui n entradas Mapeamento directo para encontrar o conjunto (endereço do bloco) módulo (n o de conjuntos na cache) Dentro do conjunto Bloco pode ocupar qualquer uma das n entradas Hierarquia de Memória p. 8
19 n-way Set associative Procura de um bloco limitada a um conjunto mapeado directamente No entanto, todas as n entradas do conjunto têm de ser pesquisadas Exige n comparadores para uma pesquisa em paralelo n-way Set associative é o compromisso entre eficiência e custo Hierarquia de Memória p. 9
20 4-way Set associative Address Tag Index 22 8 Index 0 2 V Tag Data V Tag Data V Tag Data V Tag Data = = = = 4-to- multiplexor Hit Data Hierarquia de Memória p. 20
21 Procurar bloco na cache (comparação) Direct mapped Set associative Fully associative Block # Set # Data Data Data Tag 2 Tag 2 Tag 2 Search Search Search Direct-mapped bloco só pode estar na entrada 4 (2 mod 8 = 4) 2-way set associative bloco pode estar numa das 2 entradas do bloco 0 (2 mod 4 = 0) Fully associative bloco pode estar numa qualquer das 8 entradas Hierarquia de Memória p. 2
22 Cache miss Cache miss provoca paragem no pipeline Pode demorar vários ciclos de relógio Ler endereço pretendido na memória Latência no acesso à memória Tempo para completar a leitura Armazenar valor na cache Usando um dos esquemas anteriores Pode implicar substituir bloco na cache Como escolher qual o bloco a substituir? Hierarquia de Memória p. 22
23 Como escolher qual o bloco a substituir? Direct-mapped Mapeamento directo determina bloco Fully associative e n-way Set associative Mais do que um bloco possível Estratégias principais Escolha aleatória Least Recently Used (LRU) Hierarquia de Memória p. 23
24 Escolha aleatória Bloco candidato à substituição escolhido aleatoriamente Vantagem Implementação simples em hardware Desvantagem Ignora princípios da localidade espacial e temporal Hierarquia de Memória p. 24
25 Least Recently Used Bloco a ser substituído é o menos acedido Acessos aos blocos são contabilizados Vantagens Tem em conta princípios de localidade Reduz hipótese de substituir informação que poderá ser usada em breve Desvantagem Com o aumento do n o de blocos torna-se custoso implementar em hardware Hierarquia de Memória p. 25
26 Aleatório vs LRU Na prática é muito custoso implementar LRU em caches com elevada associatividade Algoritmo de substituição implementado em hardware Esquema deve ser simples Caches com elevada associatividade LRU aproximado ou método aleatório Aleatório pode ter melhor performance que métodos LRU aproximados à medida que aumenta o tamanho da cache Hierarquia de Memória p. 26
27 Como lidar com escritas na memória? Memória possui latência elevada Ideal seria usar apenas a cache Mas tem pouca capacidade de armazenamento Políticas de interacção com memória principal Write-through Bloco escrito na cache e na memória principal Write-back Apenas a cache é actualizada numa primeira fase Bloco escrito na memória oportunamente Hierarquia de Memória p. 27
28 Write-through Operação de escrita bloqueia até bloco ser escrito na cache e na memória Latência elevada da memória fraca performance Solução é usar write buffer Armazena valores que esperam ser escritos em memória CPU continua execução depois de escrever valor na cache e no write buffer Write buffer cheio paragem no pipeline Hierarquia de Memória p. 28
29 Write-through Vantagens Read miss nunca resulta em escritas na memória Fácil implementação Coerência entre memória e cache Desvantagens Todas as escritas exigem acesso à memória Para ser eficiente necessita de um write buffer Hierarquia de Memória p. 29
30 Write-back Reduzir frequência de escrita na memória Bloco é escrito na cache numa primeira fase Escrito na memória quando tiver que ser substituído Como determinar se bloco deve ser substituído? Bloco na cache pode resultar de uma leitura anterior Se não foi alterado enquanto esteve na cache não precisa de ser escrito na memória Dirty bit Indica se bloco foi modificado enquanto esteve na cache Apenas blocos com dirty bit a são escritos na memória num write miss Hierarquia de Memória p. 30
31 Write-back Vantagens Operação de escrita à velocidade da cache Múltiplas escritas no mesmo bloco apenas exigem um acesso à memória Desvantagens Leituras que resultem numa substituição de bloco podem implicar escrita na memória Mais difícil de implementar Memória não está sempre consistente com a cache Hierarquia de Memória p. 3
32 Melhorar performance das caches Tempo de CPU dividido entre Execução de instruções Espera por valores de memória Explorar 2 técnicas para melhorar performance da cache Adicionar níveis à hierarquia de memória Tentando reduzir custo de um cache miss (miss penalty) Aumentar tamanho dos blocos (n palavras por bloco) Tentando reduzir miss rate Hierarquia de Memória p. 32
33 Acrescentar níveis de cache Reduzir diferença de velocidade entre CPU e memória Suportar níveis adicionais de cache Reduzindo miss penalty Níveis adicionais de cache dentro ou fora do CPU Por ordem crescente de tamanho Por ordem decrescente de velocidade e custo Se bloco estiver presente na cache L2 Miss penalty associado à velocidade da cache L2 e não da RAM Hierarquia de Memória p. 33
34 Acrescentar níveis de cache Cache L Muito rápida e pequena (6KB - 64KB) Dividida em cache instruções e dados Normalmente possui blocos mais pequenos Menor associatividade (4-way no Pentium 4) Principal preocupação com hit time Cache L2 Maior e mais lenta (52KB - 2MB) Blocos maiores Maior associatividade (8-way no Pentium 4) Principal preocupação com miss penalty Hierarquia de Memória p. 34
35 Aumentar tamanho dos blocos Aproveitar localidade espacial Aumentar tamanho dos blocos diminuir miss rate Tradicionalmente memória possui largura de uma palavra Ligada ao CPU por um bus com largura de uma palavra Logo, para blocos maiores do que uma palavra os acessos terão de ser sequenciais Qual o efeito de aumentar apenas tamanho do bloco? Hierarquia de Memória p. 35
36 Aumentar tamanho dos blocos Assumindo ciclo de relógio para enviar o endereço 5 ciclos de relógio para aceder à informação ciclo de relógio para enviar uma palavra Se aumentarmos tamanho do bloco para 4 palavras Miss penalty = = 65 ciclos de relógio Tempo de transferência aumenta com tamanho do bloco Latência em obter primeira palavra Tempo de transferência do resto do bloco Hierarquia de Memória p. 36
37 Aumentar tamanho dos blocos Miss rate pode também aumentar Para bloco com % significativa do tamanho da cache Porquê? Cache armazena menos blocos Maior competição pela mesma entrada Bloco é substituído sem muitas das palavras que armazena terem sido acedidas Benefícios em aumentar simplesmente tamanho dos blocos Inferiores às desvantagens por aumentar miss penalty Necessário (re)desenhar memórias para suportar caches Hierarquia de Memória p. 37
38 Desenhar memória para suportar caches Cache miss obriga a leitura da memória Latência em obter primeira palavra dificilmente reduzida Transferência do resto do bloco pode ser melhorada Melhorar acesso à memória Aumentar largura da memória e do bus Interleaving Pipelining Arquitectura de Harvard Hierarquia de Memória p. 38
39 Aumentar largura da memória e do bus Largura da memória e do bus n palavras Permite aceder a todas as palavras do bloco em paralelo Miss penalty diminui Diminui tempo de transferência do bloco Largura de banda aumenta Proporcionalmente à largura da memória e do bus Hierarquia de Memória p. 39
40 Aumentar largura da memória e do bus Usando o exemplo anterior Bloco de 4 palavras ciclo de relógio para enviar o endereço 5 ciclos de relógio para aceder à informação ciclo de relógio para enviar uma palavra Miss penalty de 65 ciclos de relógio Aumentando a largura da memória e do bus para 2 palavras Miss penalty = = 33 ciclos de relógio Aumentando a largura da memória e do bus para 4 palavras Miss penalty = = 7 ciclos de relógio Hierarquia de Memória p. 40
41 Aumentar largura da memória e do bus Exige hardware adicional entre CPU e cache para ler/escrever palavra correcta Multiplexador usado nas leituras Lógica de controlo nas escritas Restringe o incremento mínimo da memória do sistema Normalmente efectuado pelos utilizadores Hierarquia de Memória p. 4
42 Aumentar largura da memória e do bus CPU Multiplexor Cache Bus Memory b. Wide memory organization Hierarquia de Memória p. 42
43 Interleaving Organizar a memória em bancos independentes Bancos com largura de uma palavra bus inalterado Dados/instruções contíguas em bancos adjacentes Palavras em bancos diferentes acedidas em paralelo Latência no acesso à memória independente do número de bancos Continuando o exemplo, com 4 bancos Miss penalty = = 20 ciclos de relógio Hierarquia de Memória p. 43
44 Interleaving CPU Cache Bus Memory Memory Memory Memory bank 0 bank bank 2 bank 3 c. Interleaved memory organization Hierarquia de Memória p. 44
45 Pipelining Técnica semelhante à usada no CPU Acesso à memória dividido em fases Envio do endereço para a memória Acesso à posição de memória Retorno da informação Acesso à memória pode começar enquanto outros ainda estão em execução Hierarquia de Memória p. 45
46 Arquitectura von Neumann CPU ligado à memória por um bus Fluxo de execução determinado pela ordem estática das instruções no programa Dados e instruções armazenados em conjunto Objectivo tratar dados e instruções de forma indiferenciada Ineficiente à medida que aumenta fosso entre velocidade do CPU e memória Hierarquia de Memória p. 46
47 Arquitecturas Harvard Memórias (e caches) de dados e instruções separadas Em algumas arquitecturas, apenas nas caches dentro do CPU Permite obter instruções e dados simultaneamente Próxima instrução obtida enquanto se completa a anterior Aumenta de performance à custa de maior complexidade nos circuitos Hierarquia de Memória p. 47
48 Memória principal Informação guardada de forma persistente em disco Memória principal funciona como cache para o nível secundário Mantém programas e dados mais utilizados Explorando localidade temporal e espacial Responsabilidade de gestão é do S.O. Decide como e quando deve ser armazenada a informação Gere a memória usando técnicas como paginação, segmentação, endereçamento virtual, etc. Hierarquia de Memória p. 48
49 Memória principal - algumas definições Unidade mínima endereçável Menor bloco de bytes com endereço próprio Nas arquitecturas actuais normalmente é byte Espaço de endereçamento Conjunto das posições endereçáveis Depende do tamanho da palavra da arquitectura Arquitectura n bits endereça no máximo 2 n endereços Na prática é limitado pela capacidade dos discos 32 bits 2 32 endereços = 4 GB (começa a ser pouco) 64 bits 2 64 endereços = 8 ExaBytes endereços Hierarquia de Memória p. 49
50 Memória virtual S.O. permite que programas ignorem limite físico Programas podem utilizar mais memória do que a que está disponível De forma transparente para o utilizador Usando espaço disponível em disco Conjunto de programas em execução Apenas partes destes programas estão em memória Restante reside em disco Cada um possui o seu espaço de endereçamento virtual Hierarquia de Memória p. 50
51 Memória virtual Conceitos entre memória virtual e caches são semelhantes Por razões históricas usam termos diferentes Página bloco Porção de memória com tamanho fixo (4, 8, 6 KB) Page fault cache miss Página pretendida não está na memória primária Swapping Troca de páginas entre memória primária e disco Hierarquia de Memória p. 5
52 Endereços virtuais CPU produz endereços virtuais Traduzidos em endereços físicos Virtual addresses Address translation Physical addresses Disk addresses Hierarquia de Memória p. 52
53 Endereços virtuais Endereço virtual composto por N o de página virtual n bits mais significativos do endereço virtual Determina o n o de páginas endereçáveis Deslocamento n bits menos significativos do endereço virtual Determina o tamanho da página Endereço físico Endereço da página na memória física + deslocamento Logo, apenas é necessário traduzir N o página virtual N o de página física Hierarquia de Memória p. 53
54 Endereços virtuais Virtual address Virtual page number Page offset Translation Physical page number Page offset Physical address Endereço virtual - 32 bits = 4GB Tamanho da página - 2 bits = 4KB Endereço físico páginas = GB Hierarquia de Memória p. 54
55 Colocar e pesquisar páginas em memória Elevada penalização no acesso ao disco Necessário optimizar presença de páginas em memória Colocação fully associative minimiza colisões Mas exige pesquisa em todas as entradas Performance inaceitável! Como minimizar colisões e melhorar pesquisa? Agora a gestão é feita por software (S.O.) Possível usar técnicas mais complexas Hierarquia de Memória p. 55
56 Tabela de páginas Tabela de traduções endereço virtual físico Valid bit indica se página está em memória Indexada pelo n o de página virtual Fornece n o de página física Cada processo possui a sua tabela de páginas Processos partilham espaço de endereçamento virtual Tabela de páginas também armazenada em memória Page Table Register indica endereço da tabela Numa mudança de contexto apenas é preciso guardar valor do registo e não toda a tabela Hierarquia de Memória p. 56
57 Tabela de páginas Page table register Virtual address Virtual page number Page offset Valid 20 2 Physical page number Page table 8 If 0 then page is not present in memory Physical page number Page offset Hierarquia de Memória p. 57
58 Tabela de páginas Virtual page number Valid Page table Physical page or disk address Physical memory Disk storage Hierarquia de Memória p. 58
59 Tamanho da tabela de páginas Quanto menor for o tamanho da página maior é o tamanho da tabela de páginas Exemplo Página de 4KB (2 2 ) numa arquitectura de 32 bits Tabela com 2 32 /2 2 = 2 20 entradas Se cada entrada na tabela tiver 32 bits Espaço ocupado pela tabela: bits = 4MB Com centenas de processos activos a maioria da memória é ocupada com tabelas de páginas! Hierarquia de Memória p. 59
60 Tamanho da tabela de páginas Tamanho da página deve ser suficientemente grande Minimizar tamanho da tabela de página Atenuar latência do acesso ao disco Então porque não usar páginas ainda maiores? Velocidade de transferência entre memória e disco é muito baixa Existem diversas técnicas para optimizar tamanho da tabela de páginas Limitar o tamanho da tabela para cada processo Segmentação Inverted page table (função de hash na indexação) Tabelas de tabelas de páginas Hierarquia de Memória p. 60
61 Page fault O que fazer quando uma página não está em memória? Se todas as páginas em memória estiverem ocupadas é necessário seleccionar qual a página a substituir Objectivo é minimizar page faults Escolher página com maior probalidade de não ser usada num futuro próximo Usar esquema LRU Acrescentar reference bit a cada entrada da tabela Colocar bit a num acesso ao endereço Hierarquia de Memória p. 6
62 Como lidar com escritas em memória? Enorme latência no acesso ao disco impossibilita utilização de write-through Entre cache e memória pode demorar dezenas de milhares de ciclos Entre memória e disco pode demorar milhões de ciclos Write buffer é impraticável Solução é usar write-back Múltiplas escritas num endereço apenas originam uma escrita em disco Tempo de transferência para disco é largamente inferior ao tempo de acesso Implica acrescentar dirty bit à tabela de páginas Hierarquia de Memória p. 62
63 Optimizar a tradução de endereços Tabela de páginas está em memória Operações com a memória a dois tempos Traduzir endereço virtual físico Usar endereço físico para ler/escrever Tradução de endereços é bastante custosa Consultar Page Table Register Aceder à tabela de páginas (memória) Calcular endereço físico Dois acessos à memória por cada operação! Hierarquia de Memória p. 63
64 Optimizar tradução de endereços Solução é tirar partido da localidade espacial e temporal Usar uma cache para a tabela de páginas Manter em cache os últimos endereços traduzidos Evita consulta da tabela de páginas se o endereço foi recentemente utilizado Tradicionalmente referida como Translation Lookaside Buffer fully associative para minimizar colisões, se TLB for pequena n-way set associative para TLBs maiores Hierarquia de Memória p. 64
65 Translation Lookaside Buffer Para cada tradução é pesquisada a TLB Num TLB hit o endereço físico é devolvido Num TLB miss a tabela de páginas é consultada Tradução não implica necessariamente acesso à tabela Bits de controlo têm de estar presentes na TLB Cada entrada da TLB possui Bits de controlo (valid, dirty e reference) Etiqueta para indexação do endereço virtual Endereço físico traduzido Hierarquia de Memória p. 65
66 Translation Lookaside Buffer Virtual page number Valid Dirty Ref Tag TLB Physical page address Physical memory Valid Dirty Ref Page table Physical page or disk address Disk storage Hierarquia de Memória p. 66
67 TLB miss e Page fault TLB miss não implica necessariamente um page fault Apenas indica que o endereço físico não está na TLB Consultar tabela de páginas Se a página correspondente estiver em memória Endereço físico copiado para a TLB Substituição da entrada na TLB por LRU Endereço físico devolvido ao CPU Página não está em memória Aqui temos um page fault Passar o controlo para o S.O. para iniciar processo de swapping Hierarquia de Memória p. 67
68 Integrar memória virtual, TLB e caches Memória virtual e caches funcionam em hierarquia Dados da cache estão também em memória Dados da memória estão também no disco S.O. tem papel importante na gestão desta hierarquia Invalida entrada da cache quando move página para disco Modifica tabela de páginas e TLB Endereços virtuais são traduzidos antes da cache ser acedida Tempo de acesso à cache inclui acesso a TLB Normalmente acessos efectuados em pipeline Hierarquia de Memória p. 68
69 Integrar memória virtual, TLB e caches Na melhor das hipóteses Endereço virtual é traduzido pela TLB Bloco pretendido está na cache Dados devolvidos ao CPU Na pior das hipóteses Endereço físico não está na TLB (TLB miss) Consultar tabela de páginas Página não está em memória (page fault) Logo, bloco não está na cache (cache miss) Aceder ao disco Iniciar processo de swapping Hierarquia de Memória p. 69
70 Integrar memória virtual, TLB e caches TLB Tab Pag Cache Possível? Em que circunstâncias? hit X miss Possível, tabela de páginas não é consultada num TLB hit mas bloco não está na cache miss hit hit Possível, TLB falha, endereço encontrado na tabela páginas e bloco na cache miss hit miss Possível, TLB falha, endereço encontrado na tabela páginas, mas bloco não está na cache miss miss miss Possível, TLB falha, endereço não encontrado na tabela páginas nem bloco na cache hit miss miss Impossível, não pode haver tradução se página não está em memória hit miss hit Impossível, não pode haver tradução se página não está em memória miss miss hit Impossível, bloco não pode estar em cache se não está em memória Hierarquia de Memória p. 70
71 Hierarquia de memória - Onde colocar a informação? 3 esquemas principais Direct-mapped Fully associative n-way Set associative Vantagem em aumentar grau de associatividade Diminui miss rate, diminuindo colisões entre blocos Desvantagens em aumentar grau de associatividade Maior custo de pesquisa Hierarquia de Memória p. 7
72 Hierarquia de memória - Onde colocar a informação? Colocação de blocos na cache Qualquer um dos 3 esquemas é possível Depende da arquitectura e custo máximo do sistema Colocação de páginas em memória É sempre fully associative Razão é a elevada penalização no acesso ao disco Hierarquia de Memória p. 72
73 Hierarquia de memória - Como pesquisar um bloco? Direct-mapped Bloco só pode estar numa entrada N-way Set associative e Fully associative Bloco pode estar numa de n entradas Para pesquisa ser eficiente tem de ser feita em paralelo Maior custo do hardware Hierarquia de Memória p. 73
74 Hierarquia de memória - Como pesquisar uma página? Fully associative obriga a pesquisar em todas as entradas S.O. pode usar algoritmos de pesquisa eficientes Memória virtual usa tabela de páginas Exige acesso extra à memória Para ser eficiente usa TLB Hierarquia de Memória p. 74
75 Hierarquia de memória - Como substituir informação? 3 técnicas principais Mapeamento direto Escolha aleatória Least Recently Used (LRU) Mapeamento directo não há alternativa na escolha Escolha aleatória bloco seleccionado aleatoriamente entre os possíveis candidatos Least Recently Used (LRU) bloco substituído é o que não é usado há mais tempo Na prática opta-se normalmente por LRU aproximado Hierarquia de Memória p. 75
76 Hierarquia de memória - Como substituir informação? Bloco a substituir depende do tipo de cache Numa cache direct mapped não há escolha Em caches associativas: escolha aleatória ou LRU Memória virtual usa sempre LRU aproximado Recorre a um reference bit Hierarquia de Memória p. 76
77 Hierarquia de memória - Como lidar com escritas? Write-through Bloco escrito na cache e na memória Cache misses nunca requerem escrita em memória Write-back Bloco apenas escrito na cache numa primeira fase Só é escrito em memória quando tiver que ser substituído Múltiplas escritas na cache uma escrita em memória Cache misses podem exigir escrita em memória Hierarquia de Memória p. 77
78 Hierarquia de memória - Como lidar com escritas? Entre cache e memória As duas políticas são possíveis Depende da arquitectura e tipo de programas a que se destina Memória virtual usa sempre write-back Elevada latência do disco Hierarquia de Memória p. 78
Memórias Cache. Memória
Memórias Cache Memória Organização da cache de memória Funcionamento: CPU regs controlo da cache memória cache Memória central CPU referencia memória Se está em cache acede à cache Senão acede à memória
Microprocessadores. Memórias
s António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal [email protected] Arquitectura de Microcomputador Modelo de Von Neumann Barramento de Endereços µprocessador Entrada/Saída Barramento
Memórias cache. Tópicos. João Canas Ferreira 2007-11-15. Tópicos de Arquitectura de Computadores. 1 Aspectos elementares
Memórias cache João Canas Ferreira 2007-11-15 Tópicos de Arquitectura de Computadores Assuntos Tópicos 1 Aspectos elementares 2 Alternativas de implementação e desempenho 3 Melhoramento do desempenho de
Capítulo 7 Sistemas de Memória. Ch7a 1
Capítulo 7 Sistemas de Memória Ch7a 1 Memórias: Revisão SRAM (Static RAM): Valor é armazenado por meio da interligação de um par de inversores Rápido, mas consome mais espaço que DRAM (4 a 6 transistores)
Organização e Arquitetura de Computadores. Ivan Saraiva Silva
Organização e Arquitetura de Computadores Hierarquia de Memória Ivan Saraiva Silva Hierarquia de Memória A Organização de Memória em um computador é feita de forma hierárquica Registradores, Cache Memória
Introdução à Informática. Alexandre Meslin
Introdução à Informática Alexandre Meslin ([email protected]) Organização da Memória Conceito de hierarquia de memória Memória principal e memórias secundárias Projeto lógico da memória principal Memórias
Infraestrutura de Hardware. Explorando Desempenho com a Hierarquia de Memória
Infraestrutura de Hardware Explorando Desempenho com a Hierarquia de Memória Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e
Memória e Hierarquia de Memória. Memória Vs. Armazenamento
Memória e Hierarquia de Memória Memória Vs. Armazenamento Fichário Pasta O fichário representa o disco rígido, com alta capacidade de armazenamento. A pasta sobre a mesa representa a memória, de acesso
6 de Maio de 2005 1. Aula 16
6 de Maio de 2005 1 Caches II Aula 16 Estrutura desta aula Desempenho das caches Melhoria do desempenho das caches Redução da taxa de faltas Redução da penalização por faltas e caches multinível Redução
Capítulo Sistemas de Memória Memória Virtual. Ch7b 1
Capítulo Sistemas de Memória Memória Virtual Ch7b Memória Virtual Memória principal funciona como uma cache para o armazenamento secundário (disco) Virtual addresses Physical addresses Address translation
Memória Cache: Funcionamento
Microcontroladores e Interfaces º Ano Eng. Electrónica Industrial Carlos A. Silva º Semestre de 5/6 http://www.dei.uminho.pt/lic/mint Assunto: Memória Cache Aula #9 9Maio6-M Memória Cache: Funcionamento
Gerência de Memória. Algoritmos de Substituição de Páginas
Gerência de Memória Algoritmos de Substituição de Páginas Introdução Quando ocorre um Page Fault, o S.O. deve escolher que página remover para abrir espaço em memória. Se a página foi alterada (bit Modified
Hierarquia de Memória. Sistemas de Computação André Luiz da Costa Carvalho
Hierarquia de Memória Sistemas de Computação André Luiz da Costa Carvalho 1 Introdução l Pode ser definida como um local para armazenamento de informações, onde as duas únicas ações possíveis são a leitura
Arquitectura de Computadores II
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 [email protected] 2 Hierarquia
Subsistema de Memória. Aleardo Manacero Jr.
Subsistema de Memória Aleardo Manacero Jr. Introdução Na aula de hoje examinaremos o subsistema de memória Veremos que sua importância para um sistema computacional vem do grande impacto que tem sobre
Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade
Memória Cache Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade Temporal Um item referenciado tende a
Hierarquia de memória
Hierarquia de memória Capítulo 6, Secção.{3..} Caches Slides adaptados dos slides do professor Pedro Pereira Consultar slides originais no moodle Centro de Cálculo Instituto Superior de Engenharia de Lisboa
Memória Cache Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h
Memória Cache Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Memória Cache Memória Principal Vs. Cache Fichário Quadro Pasta O fichário representa o disco rígido. A pasta sobre a mesa representa
Aula 09. Gerenciamento de Memória Virtual Paginação. Capítulo 10 PLT Pág. 174-214. Gerenciamento de Memória Virtual
Aula 09 Sistemas Operacionais Prof Esp André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerenciamento de Memória Virtual Paginação Capítulo 0 PLT Pág 74-24 2
Arquitetura de Computadores
Arquitetura de Computadores Organização de Memória Anderson L. S. Moreira [email protected] Copyright 2010, IFPE. Creative Commons BY-SA 3.0 license Latest update: 12 de Abr de 2011,
Memória Cache. Aula 24
Memória Cache Aula 24 Introdução Objetivo: oferecer o máximo de memória disponível na tecnologia mais barata, enquanto se fornece acesso na velocidade oferecida pela memória mais rápida Velocidade CPU
Memória. Gestão do espaço lógico Paginação Segmentação com paginação
Memória Gestão do espaço lógico Paginação Segmentação com paginação Paginação Divide-se a memória física em pequenos blocos de tamanho fixo chamados de páginas físicas (ou frames) o tamanho é uma potência
Memória. Memória Secundária
Memória Memória Secundária Revisão - Memória Cache Memória rápida, porem cara e de menor capacidade Contudo, associada à memória principal, (barata e de grande capacidade), resulta num sistema: razoavelmente
Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP
Departamento de Ciência da Computação - UFF Memória Cache Profa. Débora Christina Muchaluat Saade [email protected] Memória Cache Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade
Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache
Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade Funcionamento da memória cache Elementos de projeto de memória cache Mapeamento de dados MP/cache Algoritmos de substituição de dados
Sistemas de Memória II
Sistemas de Memória II José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2014-11-21 José Costa (DEI/IST) Sistemas de Memória II
T1: T2: T3: T4: T5: T6: T7: T: P: TEÓRICA
T1: T2: T3: T4: T5: T6: T7: T: P: Arquitectura de Computadores I - 2002/03 TEÓRICA As questões devem ser respondidas na própria folha do enunciado. As questões 1 a 4 são de escolha múltipla, e apenas uma
Gerência de Memória. Paginação
Gerência de Memória Paginação Endereçamento Virtual (1) Espaço de endereçamento dos processos não linearmente relacionado com a memória física Cada vez que são usados, os endereços virtuais são convertidos
Oganização e Arquitetura de Computadores
Oganização e Arquitetura de Computadores Capítulo 14 e 15 Unidade de Controle Parte I Operação da Unidade de Controle 1 Micro-Operações Um computador executa um programa Ciclo: Busca/Executa Cada ciclo
Memória Cache. Walter Fetter Lages.
Memória Cache Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Copyright (c) Walter Fetter Lages p.1 Introdução SRAM
Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)
Endereçamento Virtual (1) Gerência de Memória Paginação Espaço de endereçamento dos processos não linearmente relacionado com a física Cada vez que são usados, os endereços virtuais são convertidos pela
Infraestrutura de Hardware. Explorando a Hierarquia de Memória
Infraestrutura de Hardware Explorando a Hierarquia de Memória Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo
AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual
AULA Nº 11 SISTEMAS OPERACIONAIS Técnicas de Memória Virtual 1 Contextualizando Vimos Introdução ao Gerenciamento de Memória Agora Técnicas de Memória Virtual 2 O que é Memória Virtual (MV)? É uma técnica
Resumo. l Hierarquia de Armazenamento l Discos Magnéticos l Mapeamento de Endereços l Tempos de Acesso l Exemplos l Referências
Bancos de Dados I 2013/02 Conceitos de Memória Secundária Prof. Altigran Soares da Silva Resumo l Hierarquia de l Discos Magnéticos l Mapeamento de Endereços l Tempos de Acesso l Exemplos l Referências
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Memória Cache Slide 1 Introdução Tamanho Função de Mapeamento Política de Escrita Tamanho da Linha Número de Memórias Cache Cache em Níveis Slide 2 Introdução
Infra-estrutura Hardware
Memória e Hierarquia de Memória Roteiro da Aula Hierarquia de Memória Localidade temporal e espacial Memória cache Tipos Princípio de funcionamento Melhorando o desempenho Aumento do bloco Aumento da associatividade
Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache
Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aulas 9 e 10 Memória cache Tendências tecnológicas
Fundamentos de Arquitetura e Organização de Computadores
Fundamentos de Arquitetura e Organização de Computadores Dois conceitos fundamentais no estudo dos sistemas de computação são o de Arquitetura e Organização de computadores. O termo arquitetura refere-se
Organização de Computadores
Organização de Computadores Aula 21 Memória Cache Rodrigo Hausen 21 de outubro de 2011 http://cuco.pro.br/ach2034 1/49 Apresentação 1. Bases Teóricas 2. Organização de computadores... 2.2. Execução de
Organização de um Sistema Operativo
Gestão de Memória 1. Conceitos Básicos 2. Swapping 3. Memória Virtual 4. Algoritmos de substituição de páginas 5. Modelação de algoritmos de substituição de páginas 6. Questões no desenho de sistemas de
- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: [email protected]
Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: [email protected] Sistemas de Arquivos- Parte 2 Pontos importantes de um sistema de arquivos Vários problemas importantes devem
FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres
FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5 Cristina Boeres Introdução! Diferença de velocidade entre Processador e MP O processador executa uma operação rapidamente e fica em
Arquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Interconexão do Computador Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha [email protected] Material do prof. Sílvio Fernandes -
Hierarquia de Memória
No projeto de um sistema digital, deve-se ter em mente que hardware menor geralmente é mais rápido do que hardware maior. A propagação do sinal é uma das principais causas de atrasos. No caso da memória,
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização e Arquitetura Básicas B de (Parte II)
Correção de Erros. Erros de memória de semicondutores podem ser:
Correção de Erros Erros de memória de semicondutores podem ser: Erros graves que constitui um defeito físico permanente; Erros moderados, onde a(s) célula(s) não são capazes de armazenar os dados ou fazem
Gestão de memória - Memory Management Unit (MMU)
Gestão de memória - Memory Management Unit (MMU) A distinção entre espaço de edereçamento virtual e espaço de endereçamento físico é fundamental na eficiente gestão do recurso memória física (RAM) por
Sistemas Operacionais
Sistemas Operacionais Gerência de Memória Memória virtual Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar
Níveis de memória. Diferentes velocidades de acesso. Memória Cache. Memórias Auxiliar e Auxiliar-Backup
Memória Níveis de memória Diferentes velocidades de acesso Pequeno Alto(a) Cache RAM Auxiliar Auxiliar-Backup Memória Cache altíssima velocidade de acesso acelerar o processo de busca de informações na
Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Gerenciamento de Memória Carlos Ferraz ([email protected]) Jorge Cavalcanti Fonsêca ([email protected]) Memória Física vs. Memória do Programa Memória P Física Tamanho dos softwares
Estrutura de um Computador
Estrutura de um Computador Tratando-se o computador de uma máquina complexa a sua estrutura pode ser apreciada a diferentes níveis de detalhe, duma forma hierárquica. AC1 3ª aula Arquitectura e Organização
Gerência de Memória. Paginação
Gerência de Memória Paginação Endereçamento Virtual (1) O programa usa endereços virtuais É necessário HW para traduzir cada endereço virtual em endereço físico MMU: Memory Management Unit Normalmente
Sistemas Operacionais Aula 16 Memória Virtual
Sistemas Operacionais Aula 16 Memória Virtual Ivan da Silva Sendin [email protected] FACOM - Universidade Federal de Uberlândia Sistemas OperacionaisAula 16Memória Virtual p. 1 Memória Virtual - Definição
FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres
FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5 Cristina Boeres Mapeamento Associativo por Conjunto! Tenta resolver o problema de conflito de blocos na mesma linha (mapeamento
Gestão de memória - Memory Management Unit (MMU)
Gestão de memória - Memory Management Unit (MMU) A distinção entre espaço de edereçamento virtual e espaço de endereçamento físico é fundamental na eficiente gestão do recurso memória física (RAM) por
Informática Aplicada
Informática Aplicada Aula 1 Introdução Diogo Pinheiro Fernandes Pedrosa Departamento de Ciências Exatas e Naturais Universidade Federal Rural do Semi-Árido Introdução Informática informação aplicada; Pressupõe
Arquitetura de Computadores
Departamento de Ciência da Computação Bacharelado em Ciência da Computação Arquitetura de Computadores Hierarquia de Memória Gabriel P. Silva Ementa Unidade 3: Hierarquia de Memória 3.1 Registradores 3.2
