Arquitetura e Organização de Computadores. Capítulo 5 Grande e Rápida: Explorando a Hierarquia de Memória
|
|
- Diana Sousa Dreer
- 7 Há anos
- Visualizações:
Transcrição
1 Arquitetura e Organização de Computadores Capítulo 5 Grande e Rápida: Explorando a Hierarquia de Memória
2 Material adaptado de: Patterson e Henessy, Computer Organization and Design 4 th Edition 2
3 Static RAM (SRAM): 0,5ns 2,5ns, $ $5000 por GB; Dynamic RAM (DRAM): 50ns 70ns, $20 - $75 por GB; Disco magnético: 5ms 20ms, $0,20 - $2 por GB; Memória ideal: Tempo de acesso da SRAM; Capacidade e custo/gb do disco. Tecnologia da memória 3
4 Programas acessam uma pequena porção do seu espaço de endereços em qualquer momento; Localidade temporal: Itens acessados recentemente são mais prováveis de serem acessados novamente: Ex: instruções em um loop, variáveis de indução; Localidade espacial: Itens próximos daqueles acessados recentemente são mais prováveis de serem acessados em breve: Ex: acesso a instruções sequenciais, array de dados. Princípio da localidade 4
5 Hierarquia de memória; Armazene tudo no disco; Copie itens recentemente acessados (e os próximos) do disco para uma memória menor (DRAM): Memória principal; Copie itens mais recentemente acessados (e os próximos) da DRAM para uma memória menor (SRAM): Memória cache anexada a CPU. Aproveitando-se da localidade 5
6 Bloco (ou linha): unidade de cópia Podem ser várias palavras; Se o dado acessado está presente no nível mais alto: Hit (acerto): acesso satisfeito pelo nível mais alto: Taxa de acerto = hits/acessos; Se dado acesso está ausente: Miss (falta): bloco é copiado de um nível inferior Tempo gasto: miss penalty (penalidade); Taxa de faltas = misses/acessos = 1 taxa de acerto; Por fim, o dado acessado é disponibilizado pelo nível mais alto. Níveis e hierarquia de memória 6
7 Memória cache: Nível da hierarquia de memória mais próximo à CPU: Dado os acesso X 1,..., X n-1, X n Como saber se o dado está presente? Onde devemos procurar? Memória cache 7
8 Localização determinada pelo endereço; Mapeamento direto: só uma opção: (endereço do bloco) módulo (#blocos na cache) #Blocos é uma potência de 2. Utilize os bits de baixa ordem do endereço. Cache de mapeamento direto 8
9 Como nós sabemos qual bloco em particular está armazenado em uma posição da cache? Armazene o endereço do bloco bem como o dado; Na verdade, só é necessário os bits de mais alta ordem do endereço; Chamado Tag; E se não há dados válidos em uma posição? Bit de validade: 1 = presente, 0 = não presente; Inicia com 0. Rótulos (Tags) e bit de validade 9
10 8 blocos, 1 palavra/bloco, mapeamento direto; Estado inicial: Index V Tag Data 000 N 001 N 010 N 011 N 100 N 101 N 110 N 111 N Exemplo de cache 10
11 Word addr Binary addr Hit/miss Cache block Miss 110 Index V Tag Data 000 N 001 N 010 N 011 N 100 N 101 N 110 Y 10 Mem[10110] 111 N Exemplo de cache 11
12 Word addr Binary addr Hit/miss Cache block Miss 010 Index V Tag Data 000 N 001 N 010 Y 11 Mem[11010] 011 N 100 N 101 N 110 Y 10 Mem[10110] 111 N Exemplo de cache 12
13 Word addr Binary addr Hit/miss Cache block Hit Hit 010 Index V Tag Data 000 N 001 N 010 Y 11 Mem[11010] 011 N 100 N 101 N 110 Y 10 Mem[10110] 111 N Exemplo de cache 13
14 Word addr Binary addr Hit/miss Cache block Miss Miss Hit 000 Index V Tag Data 000 Y 10 Mem[10000] 001 N 010 Y 11 Mem[11010] 011 Y 00 Mem[00011] 100 N 101 N 110 Y 10 Mem[10110] 111 N Exemplo de cache 14
15 Word addr Binary addr Hit/miss Cache block Miss 010 Index V Tag Data 000 Y 10 Mem[10000] 001 N 010 Y 10 Mem[10010] 011 Y 00 Mem[00011] 100 N 101 N 110 Y 10 Mem[10110] 111 N Exemplo de cache 15
16 Subdivisão do endereço 16
17 64 blocos, 16 bytes/bloco; Em qual bloco o endereço 1200 é mapeado? Endereço do bloco = 1200/16 = 75 Número do bloco = 75 módulo 64 = Tag Index Offset 22 bits 6 bits 4 bits Exemplo: Tamanho de bloco grande 17
18 Blocos grandes deveriam reduzir a taxa de faltas: Devido a localidade espacial; Mas em um cache com um tamanho fixo: Blocos grandes poucos blocos; Mais competição por espaço aumento da taxa de faltas; Blocos grandes poluição; Maior penalidade no miss: Pode inverter o benefício de reduzir a taxa de faltas; Reinicio mais cedo possível e palavra crítica primeiro podem ajudar. Considerações do tamanho do bloco 18
19 Em caso de hit, CPU procede normalmente; Em caso de miss: Stall no pipeline da CPU; Buscar o bloco no próximo nível de memória; Instruction Cache Miss: Reinicia o Fetch da instrução; Data Cache Miss: Completar o acesso ao dado. Cache Misses 19
20 Em caso de escrita de dados der um hit, simplesmente atualize o bloco na cache; Entretanto cache e memória ficarão inconsistentes; Write-through: também atualize a memória; Faz a escrita demorar mais tempo: Se o CPI base é 1, 10% das instruções são stores e a escrita na memória leva 100 ciclos: CPI Efetivo = 1 + 0,1x100 = 11 Solução: buffer de escrita Armazena o dado esperando para ser escrito na memória; CPU continua imediatamente: Só dá um stall quando o buffer de escrita está cheio. Write-Through 20
21 Alternativa: caso a escrita de dado der um hit, apenas atualize o bloco da cache: Mantenha a informação que o bloco está inconsistente (dirty); Quando o bloco inconsistente é substituído: Escreva de volta na memória; Pode usar um buffer de escrita para permitir que o bloco substituto seja lido primeiro. Write-Back 21
22 O que deveria acontecer em caso de falta na escrita? Alternativas para o wirte-through Allocate on miss: busque o bloco; Write around: não busque o bloco: Uma vez que programas normalmente escrevem em todo o bloco antes de o ler (ex: inicialização); Para o write-back: Geralmente busque o bloco. Write Allocation 22
23 Processador MIPS embarcado: Pipeline de 12 estágios; Acesso a instrução e dados em cada ciclo: Split Caches: caches separadas para instrução (I-cache) e dados (D-cache): Cada 16KB: 256 blocos x 16 palavras/bloco; D-cache: write-through ou write-back; Taxa de faltas no SPEC2000: I-cache: 0,4% D-cache: 11,4% Combinadas: 3,2% Exemplo: Intrinsity FastMATH 23
24 Exemplo: Intrinsity FastMATH 24
25 Use DRAMs para a memória principal: Largura fixa (ex: 1 word); Conectada com um barramento síncrono de largura fixa: Frequência de clock do barramento normalmente é menor que a da CPU; Exemplo de leitura de um bloco da cache: 1 ciclo de barramento para enviar o endereço; 15 ciclos de barramento por acesso a DRAM; 1 ciclo de barramento por dado transferido; Para um bloco de 4 palavras, DRAM com largura de 1 palavra: Miss Penalty = 1 + 4x15 + 4x1 = 65 bus cycles Bandwidth = 16 bytes / 65 cycles = 0.25 B/cycle Memória principal com suporte de caches 25
26 Largura de 4 palavras: Miss Penalty = = 17 bus cycles; Bandwith = 16 bytes / 17 cycles = 0,94 B/cycle 4 bancos de memória intercalados: Miss Penalty = x1 = 20 bus cycles; Bandwith = 16 bytes / 20 cycles = 0,8 B/cycle Aumentando a largura de banda da memória 26
27 Bits na DRAM são organizados como um array retangular: DRAM acessa um linha inteira; Modo rajada (burst mode): acessa palavras sucessivas de uma linha com latência reduzida; Double data rate (DDR) DRAM: Transfere na subida e descida do clock; Quad data rate (QDR) DRAM: Entradas e saídas DDR separadas. Organização avançada da DRAM 27
28 Trac = Tempo de acesso a uma lina. Tcac = Tempo de acesso à coluna com a linha já selecionada. Year Capacity $/GB Kbit $ Kbit $ Mbit $ Mbit $ Mbit $ Mbit $ Mbit $ Mbit $ Mbit $ Gbit $ '80 '83 '85 '89 '92 '96 '98 '00 '04 '07 Trac Tcac Gerações da DRAM 28
29 Componentes do tempo de CPU: Execução do programa em ciclos: Inclui o tempo de hit da cache; Ciclos de stall da memória: Principalmente de cache misses; Com hipóteses simplificadas: Memory stall cycles Memory accesses Program Instructions Program Miss rate Miss penalty Misses Instruction Miss penalty Desempenho da cache 29
30 Dado: I-cache miss rate = 2% D-cache miss rate = 4% Miss penalty = 100 cycles CPI base (cache ideal) = 2 Load & stores são 36% das instruções Ciclos de miss por instrução: I-cache: 0,02 x 100 = 2 D-cache: 0,36 x 0,04 x 100 = 1,44 CPI = ,44 = 5,44 CPU ideal é 5,44/2 = 2,72 vezes mais rápida Exemplo: desempenho da cache 30
31 Tempo do hit também é importante para o desempenho; Average memory acess time (AMAT): AMAT = Hit time + Miss rate x Miss penalty Exemplo: CPU com clock de 1ns, hit time = 1 ciclo, miss penalty = 20 ciclos, I-cache miss rate = 5% AMAT = 1 + 0,05 x 20 = 2ns 2 ciclos por instrução Tempo de acesso médio 31
32 Quando o desempenho da CPU aumenta: A penalidade em caso de falta se torna mais significante; Diminuindo o CPI base: Maior a proporção do tempo gasto em stalls da memória; Aumentando a frequência do clock: Stalls da memória gastam mais ciclos da CPU; Não pode ser negligenciado o comportamento da cache durante a avaliação do desempenho do sistema. Resumo do desempenho 32
33 Totalmente associativa (fully associative): Permite que um dado bloco possa ser armazenado em qualquer entrada da cache; Necessita que todas as entradas sejam avaliadas de uma só vez; Um comparador por entrada da cache (muito caro!); Caches associativas 33
34 Associativa por conjunto (n-away set associative): Cada conjunto contêm n entradas; Número do bloco determina em qual conjunto ele será armazenado: (Block number) modulo (#Sets in cache) Busca em todas as entradas de um determinado conjunto de um só vez; N comparadores (menos caro!) Caches associativas 34
35 Exemplo: cache associativa 35
36 Compare caches de 4 blocos: Mapeamento direto, 2-way associativa por conjunto, totalmente associativa; Sequência de acesso a blocos: 0, 8, 0, 6, 8; Mapeamento Direto: Block address Cache index Hit/miss Cache content after access Exemplo de associatividade 36
37 Compare caches de 4 blocos: Mapeamento direto, 2-way associativa por conjunto, totalmente associativa; Sequência de acesso a blocos: 0, 8, 0, 6, 8; Mapeamento Direto: Block address Cache index Hit/miss 0 0 miss Mem[0] Cache content after access Exemplo de associatividade 37
38 Compare caches de 4 blocos: Mapeamento direto, 2-way associativa por conjunto, totalmente associativa; Sequência de acesso a blocos: 0, 8, 0, 6, 8; Mapeamento Direto: Block address Cache index Hit/miss 0 0 miss Mem[0] 8 0 miss Mem[8] Cache content after access Exemplo de associatividade 38
39 Compare caches de 4 blocos: Mapeamento direto, 2-way associativa por conjunto, totalmente associativa; Sequência de acesso a blocos: 0, 8, 0, 6, 8; Mapeamento Direto: Block address Cache index Hit/miss 0 0 miss Mem[0] 8 0 miss Mem[8] 0 0 miss Mem[0] Cache content after access Exemplo de associatividade 39
40 Compare caches de 4 blocos: Mapeamento direto, 2-way associativa por conjunto, totalmente associativa; Sequência de acesso a blocos: 0, 8, 0, 6, 8; Mapeamento Direto: Block address Cache index Hit/miss Cache content after access miss Mem[0] 8 0 miss Mem[8] 0 0 miss Mem[0] 6 2 miss Mem[0] Mem[6] Exemplo de associatividade 40
41 Compare caches de 4 blocos: Mapeamento direto, 2-way associativa por conjunto, totalmente associativa; Sequência de acesso a blocos: 0, 8, 0, 6, 8; Mapeamento Direto: Block address Cache index Hit/miss Cache content after access miss Mem[0] 8 0 miss Mem[8] 0 0 miss Mem[0] 6 2 miss Mem[0] Mem[6] 8 0 miss Mem[8] Mem[6] Exemplo de associatividade 41
42 2-way set associative: Block address Cache index Hit/miss Cache content after access Set 0 Set 1 Exemplo de associatividade 42
43 2-way set associative: Block address Cache index Hit/miss 0 0 miss Mem[0] Cache content after access Set 0 Set 1 Exemplo de associatividade 43
44 2-way set associative: Block address Cache index Hit/miss 0 0 miss Mem[0] 8 0 miss Mem[0] Mem[8] Cache content after access Set 0 Set 1 Exemplo de associatividade 44
45 2-way set associative: Block address Cache index Hit/miss 0 0 miss Mem[0] 8 0 miss Mem[0] Mem[8] 0 0 hit Mem[0] Mem[8] Cache content after access Set 0 Set 1 Exemplo de associatividade 45
46 2-way set associative: Block address Cache index Hit/miss 0 0 miss Mem[0] 8 0 miss Mem[0] Mem[8] 0 0 hit Mem[0] Mem[8] 6 0 miss Mem[0] Mem[6] Cache content after access Set 0 Set 1 Exemplo de associatividade 46
47 2-way set associative: Block address Cache index Hit/miss 0 0 miss Mem[0] 8 0 miss Mem[0] Mem[8] 0 0 hit Mem[0] Mem[8] 6 0 miss Mem[0] Mem[6] 8 0 miss Mem[8] Mem[6] Cache content after access Set 0 Set 1 Exemplo de associatividade 47
48 2-way set associative: Block address Cache index Hit/miss 0 0 miss Mem[0] 8 0 miss Mem[0] Mem[8] 0 0 hit Mem[0] Mem[8] 6 0 miss Mem[0] Mem[6] 8 0 miss Mem[8] Mem[6] Cache content after access Set 0 Set 1 Fully associative: Block address Hit/miss Cache content after access Exemplo de associatividade 48
49 2-way set associative: Block address Cache index Hit/miss 0 0 miss Mem[0] 8 0 miss Mem[0] Mem[8] 0 0 hit Mem[0] Mem[8] 6 0 miss Mem[0] Mem[6] 8 0 miss Mem[8] Mem[6] Cache content after access Set 0 Set 1 Fully associative: Block Hit/miss address 0 miss Mem[0] Cache content after access Exemplo de associatividade 49
50 2-way set associative: Block address Cache index Hit/miss 0 0 miss Mem[0] 8 0 miss Mem[0] Mem[8] 0 0 hit Mem[0] Mem[8] 6 0 miss Mem[0] Mem[6] 8 0 miss Mem[8] Mem[6] Cache content after access Set 0 Set 1 Fully associative: Block address Hit/miss Cache content after access 0 miss Mem[0] 8 miss Mem[0] Mem[8] Exemplo de associatividade 50
51 2-way set associative: Block address Cache index Hit/miss 0 0 miss Mem[0] 8 0 miss Mem[0] Mem[8] 0 0 hit Mem[0] Mem[8] 6 0 miss Mem[0] Mem[6] 8 0 miss Mem[8] Mem[6] Cache content after access Set 0 Set 1 Fully associative: Block address Hit/miss Cache content after access 0 miss Mem[0] 8 miss Mem[0] Mem[8] 0 hit Mem[0] Mem[8] Exemplo de associatividade 51
52 2-way set associative: Block address Cache index Hit/miss 0 0 miss Mem[0] 8 0 miss Mem[0] Mem[8] 0 0 hit Mem[0] Mem[8] 6 0 miss Mem[0] Mem[6] 8 0 miss Mem[8] Mem[6] Cache content after access Set 0 Set 1 Fully associative: Block address Hit/miss Cache content after access 0 miss Mem[0] 8 miss Mem[0] Mem[8] 0 hit Mem[0] Mem[8] 6 miss Mem[0] Mem[8] Mem[6] Exemplo de associatividade 52
53 2-way set associative: Block address Cache index Hit/miss 0 0 miss Mem[0] 8 0 miss Mem[0] Mem[8] 0 0 hit Mem[0] Mem[8] 6 0 miss Mem[0] Mem[6] 8 0 miss Mem[8] Mem[6] Cache content after access Set 0 Set 1 Fully associative: Block address Hit/miss Cache content after access 0 miss Mem[0] 8 miss Mem[0] Mem[8] 0 hit Mem[0] Mem[8] 6 miss Mem[0] Mem[8] Mem[6] 8 hit Mem[0] Mem[8] Mem[6] Exemplo de associatividade 53
54 Aumento da associatividade diminui a taxa de faltas: Mas com retornos decrescentes; Simulação de um sistema com 64KB D-cache, blocos de 16-word, SPEC2000: 1-way: 10,3% 2-way: 8,6% 4-way: 8,3% 8-way: 8,1% Quanto do associtividade? 54
55 Organização da cache associativa por conjunto 55
56 Mapeamento direto: sem escolha; Associativa por conjunto: Escolha a entrada inválida, se existir uma; Caso contrário, escolher entre as entradas do conjunto; Least-recently used (LRU): Escolha aquela não foi utilizada pelo tempo mais longo: Simples para 2-way, gerenciável para 4-way, muito difícil para maiores que isso; Random: Dá aproximadamente o mesmo desempenho que o LRU para associatividade alta. Política de substituição 56
57 Cache primária anexa à CPU (Level 1 L1): Pequena, porém rápida; Cache Nível 2 (Level 2 L2) responde aos misses da cache L1: Maior, lenta, entretanto mais rápida que a memória principal; Memória principal responde aos misses da cache L2; Alguns sistemas de alta capacidade incluem uma cache L3. Cache Multinível 57
58 Dado: CPI base = 1, frequência de clock = 4GHz; Miss rate/instrução = 2%; Tempo de acesso à memória principal = 100ns; Com apenas uma cache primária: Miss penalty = 100ns/0.25ns = 400 cycles; Effective CPI = x 400 = 9. Exemplo: cache multinível 58
59 Com adição da cache L2: Tempo de acesso = 5ns; Taxa de falta global para memória principal = 0.5%; L1 miss com L2 hit: Penalty = 5ns/0.25ns = 20 cycles; L1 miss com L2 miss: Extra penalty = 400 cycles; CPI = x x 400 = 3.4; Razão de desempenho = 9/3.4 = 2.6. Exemplo: continuação; 59
60 Cache L1: Foca no tempo de hit mínimo; Cache L2: Foca em um baixa taxa de faltas para evitar acessos à memória; Tempo de hit tem um pequeno impacto; Resultados: Cache L1 normalmente menos que o sistema com cache única; Tamanho do bloco da cache L1 é menor que o da cache L2. Considerações da cache multinível 60
61 CPUs out-of-order podem executar instruções durante um cache miss: Stores pendentes ficam na unidade load/store; Instruções dependentes esperam nas unidades de reserva; Instruções independentes continuam; Efeito do miss depende fluxo de dados do programa: Muito difícil de analisar; Usar simulação de sistema. Interações com CPU avançadas 61
62 Misses depende dos padrões de acesso à memória: Comportamento do algoritmo; Otimizações do compilador para acessar à memória. Interações com software 62
63 MEMÓRIA VIRTUAL 63
64 Usa a memória principal como uma cache para o armazenamento secundário (disco): Gerenciado em conjunto pela CPU e sistema operacional; Programas compartilham a memória principal: Cada um possui o seu espaço virtual e privado de endereçamento que armazena o seu código e dados frequentemente utilizados; Protegido de outros programas; CPU e SO traduzem endereços virtuais em endereços físicos: Bloco da MV é chamado página; Miss na tradução da MV é chamado de falta de página (page fault). Memória virtual 64
65 Páginas de tamanho fixo (ex: 4K). Tradução do endereço 65
66 Em caso de falta de página, ela precisa ser buscada do disco: Leva milhões de ciclo de clocks; Realizada pelo SO; Tentar minimizar a taxa de falta de páginas: Posicionamento totalmente associativo; Algoritmos de substituição mais inteligentes. Page Fault Penalty 66
67 Armazena informação do posicionamento das páginas: Array de entradas de tabela de páginas (PTE), indexadas pelo número da página virtual; Se a página está presenta na memória: PTE armazena o número da página física; Além de outros bits de status (referenciado, dirty,...); Se a página não está presente: PTE pode referencia para um local espaço de swap no disco. Tabela de páginas 67
68 Tradução utilizando a tabela de páginas 68
69 Mapeando páginas no disco 69
70 Para reduzir a taxa de faltas, normalmente usamos LRU como algoritmo de substituição: Bit de referência (bit de uso) no PTE é setado para 1 quando a página é acessada; Periodicamente é setada para 0 pelo SO; Uma página com bit de referência = 0 não foi recentemente utilizada; Escritas no disco gastam milhões de ciclos: Bloque as escritas de uma vez, sem posições individuais; Write through é impraticável; Usar write-back; Seta o bit de dirty no PTE quando a página é escrita. Substituição e escritas 70
71 Tradução de endereço pode aparentar o acesso extra à memória: Uma para acessar a tabela de páginas; Depois para acessar o dado na memória; Entretanto o acesso à tabela de páginas apresenta boa localidade: Então usamos uma cache rápida com as entradas de tabela de páginas (PTEs) junto à CPU; Chamada: Translation Look-aside Buffer (TLB); Configurações típicas: PTEs, ciclo por hit, ciclos por miss, 0.01%-1% de miss rate; Misses podem ser gerenciados por hardware ou software. Tradução rápida usando a TLB 71
72 Tradução rápida usando a TLB 72
73 Se a página está na memória: Carregue a entrada da tabela de página (PTE) da memória e tente novamente; Pode ser tratada por hardware: Pode ficar mais complexo para estruturas de tabelas de página complicadas; Ou por software:\ Levantando um exceção especial, com uma rotina otimizada; Se a página não está na memória (page fault): SO busca a página no disco e atualiza a tabela de páginas; Depois reinicia a instrução que causou a falta. TLB Misses 73
74 TLB miss indica: Página está presente, mas a entrada da tabela (PTE) não está na TLB; Página não está presente; Deve reconhecer o TLB miss antes da sobrescrita no registrador destino: Levantando uma exceção; Handler copia o PTE da memória para a TLB: Depois reinicia a instrução; Se a página não está presente, então uma falta de página irá ocorrer. TLB Miss Handler 74
75 Usa o endereço virtual faltante para achar o PTE; Localiza a página no disco; Escolhe a página para substituir: Se a página está modificada (dirty), escreve ela no disco; Carrega a página na memória e atualiza a tabela de páginas; Faça o procedimento executar novamente: Reinicia a instrução que causou a falta. Page Fault Handler 75
76 Se a tag da cache usa endereços físicos: Necessita de tradução antes de acessar a cache; Alternativa: usar endereços virtuais na tag: Complicações devidos aos apelidos : Endereços virtuais diferentes para endereços físicos compartilhados. Interação entre TLB e Cache 76
77 Tarefas diferente podem compartilhar partes dos espaços de endereçamento virtual; Entretanto necessitam de proteção contra acessos errantes; Necessita de assistência do SO; Suporte de hardware para a proteção do SO: Modo supervisor privilegiado (kernel mode); Instruções previlegiadas; Tabelas de páginas e outras informações de estados só são acessíveis no modo supervisor; Exceção para as syscalls. Proteção da Memória 77
78 A HIERARQUIA DE MEMÓRIA 78
79 Princípios comuns se aplicam a todos os níveis da hierarquia de memória: Baseado na noção de cache; Em cada nível da hierarquia: Posicionamento de blocos; Encontrar um bloco; Substituição na falta; Política de escrita. A hierarquia de memória 79
80 Determinado pela associatividade; Mapeamento direto (1-way associativo); Uma escolha de posição; N-away associativo (conjunto); N escolhas dentro de um conjunto; Completamente associativa: Qualquer posição; Maior associatividade reduz a taxa de faltas: Aumenta a complexidade, custo e tempo de acesso. Posicionamento do bloco 80
81 Associativity Location method Tag comparisons Direct mapped Index 1 n-way set associative Caches no hardware: Reduzir as comparações para reduzir os custos; Memória virtual: Set index, then search entries within the set Fully associative Search all entries #entries Full lookup table 0 Busca em toda a tabela faz a associatividade completa factível; Beneficio de reduzir a taxa de faltas. n Encontrando um bloco 81
82 Escolha a entrada que será substituída no miss: Least recently used (LRU): Complexo e custosa para hardware com grande associatividade; Aleatório: Próximo ao LRU, porém fácil de implementar; Memória virtual: Aproximação de LRU com suporte de hardware. Substituição 82
83 Write-through: Atualiza ambos níveis superior e inferior; Simplifica a substituição, mas necessita de um buffer de escrita; Write-back: Atualiza apenas o nível superior; Atualiza o nível inferior apenas quando o bloco é substituído; Necessita armazenar o estado do bloco; Memória virtual: Apenas write-back é factível devido a latência de escrita no disco. Políticas de escrita 83
84 Misses compulsórios (cold start misses): Primeiro acesso a um bloco; Misses de capacidade: Devido ao tamanho finito das caches; Um bloco substituído é acessado mais tarde novamente; Misses de conflito (collisions misses): Em uma cache não completamente associativa; Devido a competição entre as entradas da cache em um conjunto; Não ocorreriam em caches completamente associativas do mesmo tamanho. Fonte dos misses 84
85 Design change Effect on miss rate Negative performance effect Increase cache size Increase associativity Increase block size Decrease capacity misses Decrease conflict misses Decrease compulsory misses May increase access time May increase access time Increases miss penalty. For very large block size, may increase miss rate due to pollution. Cache Design Trade-offs 85
86 Host emula sistemas operacionais hóspede e recursos de máquina: Isolamento entre vários hóspedes ; Evita problemas de segurança e confiabilidade; Compartilhamento de recursos; Virtualização tem algum impacto no desempenho: Factível com computadores modernos de alto-desempenho; Exemplos: IBM VM/370 (tecnologia dos anos 1970); VMWare; Microsoft Virtual PC. Máquinas Virtuais 86
87 Mapeia recursos virtuais em recursos físicos: Memória, dispositivos de I/O, CPUs Código do hóspede executa nativamente no processador em modo usuário: Chama a VMM em instruções privilegiadas e acesso a recursos protegidos; SO hóspede pode ser diferente do SO do host; VMM gerencia dispositivos de I/O reais: Emula dispositivos de I/O genéricos para o hóspede. Monitor da Máquina Virtual - VMM 87
88 Na máquina nativa, quando ocorre uma interrupção do timer: SO suspende o processo corrente, trata a interrupção, seleciona e executa a próximo processo; Com o Monitor de Máquina Virtual: VMM suspende a VM em execução, trata a interrupção, seleciona e executa a próxima VM; Se a VM requisita interrupções do timer: VMM emula um timer virtual; Emula a interrupção na VM quando uma interrupção do timer físico acontece. Exemplo: Virtualização do Timer 88
89 Modos Usuário e Sistema; Instruções privilegiadas só estão disponíveis no modo Sistema: Chama o sistema se ela for executada no modo usuário; Todos os recursos físicos só são acessível usando instruções privilegiadas: Incluindo tabela de páginas, controle de interrupções, registradores de I/O; Renascimento do suporte a virtualização: Adaptando ISAs mais recentes (ex. x86). Suporte do conjunto de instruções 89
90 Exemplo de cache: Mapeamento direto, write-back, write allocate; Tamanho do bloco: 4 palavras (16 bytes); Tamanho da cache: 16 KB (1024 blocos); Endereços de 32 bits; Um bit de validade e outro de modificado ( dirty ) por bloco; Cache bloqueante: CPU espera até que todo o acesso esteja completo Tag Index Offset 18 bits 10 bits 4 bits Controlador da Cache 90
91 Read/Write Read/Write Valid Valid Address 32 Address 32 CPU Write Data 32 Cache Write Data 128 Memory Read Data 32 Read Data 128 Ready Ready Multiple cycles per access Sinais da Interface 91
92 Could partition into separate states to reduce clock cycle time FSM do controlador de cache 92
93 Suponha que duas CPUs compartilham o mesmo espaço de endereçamento físico: Cache write-through. Time step Event CPU A s cache CPU B s cache Memory CPU A reads X CPU B reads X CPU A writes 1 to X Problema da Coerência de Cache 93
94 Informalmente: Leitura de um dado retorna o valor mais recentemente escrito; Formalmente: P escreve em X; P lê X (sem escritas intercaladas) leitura retorna o valor escrito; P 1 escreve em X; P 2 lê X (suficientemente depois) leitura retorna o valor escrito: Ex. CPU B lendo X depois do passo 3 no exemplo anterior; P 1 escreve em X, P 2 escreve em X todos os processadores veem as escritas na mesma ordem: Terminam com mesmo valor final de X. Definição de Coerência 94
95 Operações executada pelas caches em multiprocessadores para garantir a coerência: Migração de dados para as caches locais: Reduz o consumo de banda da memória compartilhada; Replicação de dado compartilhado para leitura: Reduz a contenção por acesso; Protocolos Snooping: Cada cache monitora as leituras e escritas no barramento; Protocolos baseados em diretórios: O estado de compartilhamento de blocos entre caches e memória é armazenado em um diretório. Protocolos de coerência de cache 95
96 Cache garante exclusividade de acesso a um bloco antes de ele ser escrito: Broadcast uma mensagem de invalidação no barramento; Leitura posterior do dado em uma falta de outra cache: Envia o dado atualizado; CPU activity Bus activity CPU A s cache CPU B s cache Memory CPU A reads X Cache miss for X 0 0 CPU B reads X Cache miss for X CPU A writes 1 to X Invalidate for X 1 0 CPU B read X Cache miss for X Invalidanting Snooping Protocols 96
97 Quando escritas são vistas por todos os processaodres: Vista indica que uma leitura retorna o valor escrito; Não pode ser instantâneo; Pressuposto: Uma escrita só completa quando todos os processadores a tenham visto. Um processador não reordena escritas com outros acessos; Consequência: P escreve X e depois escreve Y todos os processadores que veem o novo valor Y também veem o novo valor X; Processadores podem reordenar leituras mas não escritas. Consistência de Memória 97
98 Intel Nehalem 4-core processor Per core: 32KB L1 I-cache, 32KB L1 D-cache, 512KB L2 cache Multilevel On-Chip Caches 98
99 Intel Nehalem AMD Opteron X4 Virtual addr 48 bits 48 bits Physical addr 44 bits 48 bits Page size 4KB, 2/4MB 4KB, 2/4MB L1 TLB (per core) L2 TLB (per core) L1 I-TLB: 128 entries for small pages, 7 per thread (2 ) for large pages L1 D-TLB: 64 entries for small pages, 32 for large pages Both 4-way, LRU replacement Single L2 TLB: 512 entries 4-way, LRU replacement L1 I-TLB: 48 entries L1 D-TLB: 48 entries Both fully associative, LRU replacement L2 I-TLB: 512 entries L2 D-TLB: 512 entries Both 4-way, round-robin LRU TLB misses Handled in hardware Handled in hardware 2-Level TLB Organization 99
100 L1 caches (per core) L2 unified cache (per core) L3 unified cache (shared) Intel Nehalem L1 I-cache: 32KB, 64-byte blocks, 4-way, approx LRU replacement, hit time n/a L1 D-cache: 32KB, 64-byte blocks, 8-way, approx LRU replacement, writeback/allocate, hit time n/a 256KB, 64-byte blocks, 8-way, approx LRU replacement, writeback/allocate, hit time n/a 8MB, 64-byte blocks, 16-way, replacement n/a, writeback/allocate, hit time n/a AMD Opteron X4 L1 I-cache: 32KB, 64-byte blocks, 2-way, LRU replacement, hit time 3 cycles L1 D-cache: 32KB, 64-byte blocks, 2-way, LRU replacement, writeback/allocate, hit time 9 cycles 512KB, 64-byte blocks, 16-way, approx LRU replacement, writeback/allocate, hit time n/a 2MB, 64-byte blocks, 32-way, replace block shared by fewest cores, write-back/allocate, hit time 32 cycles n/a: data not available 3-Level Cache Organization 100
101 Retorne a palavra requisitada primeiro: Depois preenche o resto do bloco; Processamento de MISS não bloqueante: Hit sob miss: permita que os hits procedam; Miss sob miss: permita múltiplos misses em aberto; Hardware prefetch: instruções e dados; Redução da Penalidade na Falta 101
102 Endereçamento a byte vs. Palavra: Exemplo: cache de mapeamento direto de 32 bytes, blocos de 4 bytes: Byte 36 é mapeado no bloco 1; Palavra 36 é mapeada no bloco 4; Ignorar os efeitos do sistema de memória quando escrever ou gerar código: Ex. iterações sobre linhas vs. colunas de um array; Saltos grandes resultam em uma localidade ruim. Armadilhas 102
103 Em um multiprocessador com caches L2 e L3 compartilhadas: Menos associatividade que núcleos resultam em miss de conflitos; Mais núcleos necessidade de aumentar a associatividade; Usando AMAT para avaliar o desempenho de processadores com execução fora de ordem: Ignora o efeito de acessos não bloqueantes; Ao invés disso, avalie o desempenho com simulação. Armadilhas 103
104 Aumentar o alcance do endereçamento usando segmentos: Ex. Intel 80286; Entretanto um segmento nem sempre é grande o suficiente; Torna o cálculo do endereço mais complicado; Implementando uma VMM em um ISA que não foi projetada para virtualização: Ex. instruções não privilegiadas acessando recursos de hardware; Ou estenda o ISA, ou faça com que o SO hóspede não use instruções problemáticas. Armadilhas 104
105 Memórias pequenas são rápidas, memórias grandes são lentas: Nós realmente queremos memórias rápidas e grandes Cache cria essa ilusão Princípio da localidade: Programas usam uma pequena parte de seu espaço de memória frequentemente; Hierarquia de memória: L1 cache L2 cache... Memória DRAM disco; Projeto do sistema de memória é crítico em multiprocessadores. Conclusões 105
106 Arquitetura e Organização de Computadores Capítulo 5 Grande e Rápida: Explorando a Hierarquia de Memória
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
Leia maisInfraestrutura 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
Leia maisCapí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)
Leia maisArquitetura 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
Leia maisHierarquia de Memória
Hierarquia de Memória Organização da cache AC1 Hierarquia da Memória: Organização 1 Mapeamento Directo A cada endereço de memória corresponde apenas uma linha da cache. linha = resto (endereço do bloco
Leia maisHierarquia 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
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 5ª e 6ª Aulas Revisão de Hierarquia de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Memória Todo componente capaz de armazenar bits de informação
Leia maisMemó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
Leia maisMemória cache segunda parte. Organização de Computadores. Aula 17. Memória cache segunda parte. 1. Mapeamento completamente associativo
Universidade Federal do Rio Grande do Sul Instituto de Informática Memória segunda parte Organização de Computadores 1. Mapeamento completamente associativo 2. Mapeamento direto 3. Mapeamento conjunto
Leia maisPrincí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
Leia maisOrganizaçã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
Leia maisOrganização e Arquitetura de computadores
Organização e Arquitetura de computadores Revisão: hierarquia de memória Utilização do conceito da localidade para apresentar ao usuário toda a quantidade de memória disponível no sistema processador 4-8
Leia maisCache. Cache. Direct Mapping Cache. Direct Mapping Cache. Internet. Bus CPU Cache Memória. Cache. Endereço Byte offset
-- Internet Bus Memória Fully Associative Direct Mapping Direct Mapping Direct Mapping 7 Endereço Byte offset Hit Tag Endereço Byte offset Index Block offset bits 8 bits bits bits V Tag Valid Tag K entries
Leia maisMemó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
Leia maisMemória 21/05/2010. Introdução. Hierarquia de Memória. Hierarquia de Memória. Arquitetura de Computadores
Introdução Arquitetura de Computadores Profa. Delfa H. Zuasnábar A memória pode ser definida como um local para armazenamento de informações, onde as duas únicas ações possíveis são a leitura e a escrita.
Leia maisAula 16: Memória Principal e Memória Virtual
Aula 16: Memória Principal e Memória Virtual Memória Principal Performance na memória principal: Latência: Miss Penalty na Cache Access Time: tempo entre requisição e retorno de palavra Cycle Time:
Leia maisCapí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
Leia maisELECTRÓNICA DE COMPUTADORES. Sumário
ELTRÓNICA DE COMPUTADORES Aulas nº14 e15 Memórias tampão (s) 12.1 Sumário Princípio da localidade espacial e temporal Organização das caches s de dados: políticas de escrita e estratégias de alocação Interligação
Leia maisHierarquia de memória
Hierarquia de memória Capítulo 6, Secção.{3..} Caches Slides adaptados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João Pedro Patriarca (jpatri@cc.isel.ipl.pt)
Leia maisHierarquia 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
Leia maisFUNDAMENTOS 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
Leia maisMemó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 debora@midiacom.uff.br Memória Cache Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade
Leia maisMemória Virtual. Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII
Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII Permitir o compartilhamento seguro e eficiente da memória entre vários programas Remover os transtornos de programação de uma quatidade pequena e limitada
Leia maisMemó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
Leia maisMemória Cache. Walter Fetter Lages.
Memória Cache Walter Fetter Lages w.fetter@ieee.org 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
Leia mais5 de Maio de Aula 15
5 de Maio de 2005 1 Caches I Aula 15 Estrutura desta aula Hierarquia de memórias Tecnologia das memórias Fundamentos de caches Organização em blocos Colocação dos blocos Identificação dos blocos Políticas
Leia maisAula 16: Memória Principal e Memória Virtual
Aula 16: Memória Principal e Memória Virtual Memória Principal Performance na memória principal: Latência: Miss Penalty na Cache Access Time: tempo entre requisição e retorno de palavra Cycle Time: tempo
Leia maisOrganizaçã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
Leia maisGerê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
Leia maisArquitetura de Computadores. Hierarquia de Memória. Prof. Msc. Eduardo Luzeiro Feitosa
Arquitetura de Computadores Hierarquia de Memória Prof. Msc. Eduardo Luzeiro Feitosa efeitosa@dcc.ufam.edu.br 1 Introdução Conteúdo Exemplo da biblioteca Princípio da localidade Hierarquia de memória Cache
Leia maisHierarquia 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,
Leia maisTempo de processador desperdiçado a fazer nada. Processor register 1 clock cycle (0.5 2 GHz) $??? DRAM semiconductor memory ns $10 $20
Caches Cache Acesso à memória é lento Tempo de processador desperdiçado a fazer nada CPU Memória Memory technology Typical access time $ per GiB in 2012 Processor register 1 clock cycle (0.5 ns @ 2 GHz)
Leia maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 18ª Aula Hierarquia de memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Cache Método de Acesso: Associativo Localização de dados na memória
Leia maisGerê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
Leia maisMicroprocessadores. Memórias
s António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Arquitectura de Microcomputador Modelo de Von Neumann Barramento de Endereços µprocessador Entrada/Saída Barramento
Leia maisMemoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática
Arquitectura de Computadores II Engenharia Informática (11545) Tecnologias e Sistemas de Informação (6621) Memoria Fonte: Arquitectura de Computadores, José Delgado, IST, 2004 Nuno Pombo / Paulo Fazendeiro
Leia maisCapí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
Leia maisUniversidade 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)
Leia maisArquitectura de Computadores (ACom)
Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 20: Título: Sumário: Sistema de primária (ciclo de acesso, memória estática, memória dinâmica, planos
Leia maisArquitetura e Organização de Computadores 2. Organização Hierárquica da Memória. Uma afirmação antiga, mas perfeitamente atual
Arquitetura e Organização de Computadores 2 Organização Hierárquica da Memória Hierarquia da Memória Uma afirmação antiga, mas perfeitamente atual Ideally one would desire an indefinitely large memory
Leia maisOrganização e Arquitetura de Computadores
Organização e Arquitetura de Computadores Hierarquia de Memória: Introdução Alexandre Amory Edson Moreno Nas Aulas Anteriores Computação Organização interna de CPU Parte operativa: Lógica combinacional
Leia maisArquitectura 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 pmarques@dei.uc.pt 2 Hierarquia
Leia maisHierarquia de Memória
Hierarquia de Memória Introdução e Análise do Desempenho AC1 Hierarquia da Memória: Análise do Desempenho 1 Hierarquia de Memória A velocidade dos processadores tem aumentado muito mais rapidamente do
Leia maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 20ª Aula Hierarquia de memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Princípios básicos Definição: Tamanho da cache Tamanho do bloco Função de
Leia maisMemórias cache: uma introdução
Memórias cache: uma introdução João Canas Ferreira Dezembro de 2006 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP 2006 AAC (FEUP/MIEIC) Memórias
Leia maisProjeto de Caches. Projeto de memórias cache (ii)
Projeto de Caches Mapeamento de endereços (hashing) [bytes] tamanho de bloco [palavras] associatividade (mais hashing) três tipos de faltas tempo médio de acesso à memória UFPR BCC CI22 26-2 projeto de
Leia maisArquitectura de Computadores
Arquitectura de Computadores Hierarquia de Memória; Memória Cache (13.2 e 13.3) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto
Leia maisArquitetura 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
Leia maisArquitectura de Computadores (ACom)
Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 22: Título: Sumário: cache; cache por blocos; Política de substituição; Tratamento das operações de
Leia maisOrganizaçã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
Leia maisGerenciamento de memória
Gerenciamento de memória O que faz? Controla o uso dos espaços em memória Controla os modos de endereçamento dos processos Como funciona a memória? Hierarquia de memória A falta de desempenho A velocidade
Leia maisMC722. Medidas. Instruções. Funções. Pilha. add $t0,$s1,$s2. slti rt,rs,const if (rs < const) rd=1; else rd=0;
Medidas CPU Time = instructions program T improved = MC722 clock cycles instruction T affected improvement factor + T unaffected CPU Time = # cycles cycle time = # cycles clock rate Instruções seconds
Leia maisHierarquia de memória. Melhorando o desempenho
Hierarquia de memória Melhorando o desempenho Desempenho de uma CPU CPU time_sem_mem = #instruções x CPI x Clk_período CPU time = CPU time_sem_mem + Memória time CPU time = (CPU ciclos_sem_mem + Memória
Leia maisORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL
ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL MEMÓRIA Componente de um sistema de computação cuja função é armazenar informações que são manipuladas pelo sistema para que possam ser recuperadas
Leia maishttp://www.ic.uff.br/~debora/fac! 1 Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal Organização Operações de leitura e escrita Capacidade 2 Componente de um sistema
Leia maisSistemas Operacionais
Introdução Memória virtual Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3.0 Brasil Creative Commons. Para visualizar uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/3.0/br/
Leia maisCorreçã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
Leia maisInfra-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
Leia maisEA960 Memória virtual
EA960 Memória virtual Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Motivação Vimos no tópico anterior como a memória cache pode
Leia maisFUNDAMENTOS 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
Leia maisMemória virtual. Sistemas de Computação
Memória virtual Fundamentos Memória virtual separação da memória lógica do usuário da memória física somente uma parte do programa precisa estar na memória para execução espaço de endereçamento lógico
Leia maisSSC510 Arquitetura de Computadores. 8ª aula
SSC510 Arquitetura de Computadores 8ª aula ARQUITETURAS MIMD COM MEMÓRIA COMPARTILHADA COERÊNCIA DE CACHE PROFA. SARITA MAZZINI BRUSCHI Memórias Cache Políticas de Atualização As memórias caches possuem
Leia maisSistemas Operacionais. Conceitos de Hardware
Sistemas Operacionais Conceitos de Hardware Sumário 1. Introdução 7. RISC e CISC 2. Processador 1. Operações de Processamento 2. Unidade de Controle 3. Ciclos de uma Instrução 3. Memória 1. Memória Principal
Leia maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 10: MEMÓRIA E HIERARQUIA DE MEMÓRIAS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 10: MEMÓRIA E HIERARQUIA DE MEMÓRIAS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MEMÓRIA SÃO TODOS
Leia maisMemória Cache. Adriano J. Holanda. 12 e 16/5/2017
Memória Cache Adriano J Holanda 12 e 16/5/2017 Memória: princípios físicos Revisão: Hierarquia de memória; Memória RAM: estática, dinâmica; Memória ROM: PROM, EPROM, EEPROM; Memória flash Memória: fundamentos
Leia maisü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória ü Memória Principal ü Memória principal ü Memória cache
Departamento de Ciência da Computação - UFF Principal Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Principal ü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de Memória Memória virtual Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar
Leia maisExperimentos com o Cache Organização de Computadores
Experimentos com o Cache Organização de Computadores Bruno Milan Perfetto - n o USP : 6552421 Steven Koiti Tsukamoto - n o USP : 6431089 Departamento de Ciência da Computação Instituto de Matemática e
Leia maisMemória Principal. Tiago Alves de Oliveira
Memória Principal Tiago Alves de Oliveira tiago@div.cefetmg.br Memória Principal Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal Organização Operações de leitura e
Leia maisMemó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
Leia maisArquitectura de Computadores (ACom)
Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 23: Título: Sumário: Memória paginada; Tabela de páginas; Tabela de páginas hierárquica. 2014/2015
Leia maisArquitetura e Organização de Processadores. Aula 4. Pipelines
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 Aula 4 Pipelines 1. Introdução Objetivo: aumento de
Leia maisMemória cache (cont.) Sistemas de Computação
Memória cache (cont.) Sistemas de Computação Memórias cache CPU procura por dados em L, depois em L2 e finalmente na memória principal CPU registradores barramento de cache L cache ALU barramento de sistema
Leia maisAula 06. Slots para Memórias
Aula 06 Slots para Memórias Slot para as memórias 2 Slot para as memórias Os soquetes de memória são numerados: 1, 2 e 3. Instale memória primeiro no 1, depois no 2, depois no 3. Normalmente não é permitido
Leia maisNí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
Leia maisÉ um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.
Universidade Estácio de Sá Curso de Informática Disciplina de Organização de Computadores II Prof. Gabriel P. Silva - 1 o Sem. / 2005 2 ª Lista de Exercícios 1) O que é o relógio de um sistema digital?
Leia maisDCC-IM/NCE UFRJ Pós-Graduação em Informática. Gabriel P. Silva. Microarquiteturas de Alto Desempenho
DCC-IM/NCE UFRJ Pós-Graduação em Informática Microarquiteturas de Alto Desempenho Hierarquia de Memória Gabriel P. Silva Introdução Os programadores sempre ambicionaram ter quantidades ilimitadas de memória
Leia maisTecnologias de Memória
Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Sistema de Memória Aula #8 2Maio06-M Memórias SRAM:
Leia maisMicrocontroladores e Interfaces
Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Sistema de Memória Aula #8 2 Maio 06 - M Memórias
Leia maisInstituto de Matemática e Estatística - USP MAC Organização de Computadores EP1. Experimentos com o cache. Tiago Andrade Togores
Instituto de Matemática e Estatística - USP MAC0412 - Organização de Computadores EP1 Experimentos com o cache Tiago Andrade Togores - 6514230 30 de setembro de 2010 Sumário 1 Introdução 2 1.1 O que é
Leia maisMemória virtual. Pedro Cruz. EEL770 Sistemas Operacionais
Memória virtual Pedro Cruz EEL770 Sistemas Operacionais Avisos Menos de um mês para a 1ª apresentação do trabalho Dia 22/9/2017 O que fizeram até agora? Análises Estratégias Problemas Soluções Presenças
Leia maisArquitetura de Computadores. Processamento Paralelo
Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple
Leia maisArquitetura de Computadores. Memórias
Arquitetura de Computadores Memórias Relembrando Arquitetura de Von Neuman Memória Acesso por palavra Programas são armazenados aqui Controlador de memoria Dispositivos de entrada Dispositivos de saída
Leia maisMemória. Conceitos gerais Hierarquia de memórias
Memória Conceitos gerais Hierarquia de memórias Memória Componente do computador onde os programas e os dados são guardados. Consistem num conjunto de células, cada uma com um identificador: endereço.
Leia maisSSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 15ª Aula Gerenciamento de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano
Leia mais1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é
1. A pastilha do processador Intel 80486 possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é organizado com mapeamento associativo por conjuntos de quatro
Leia maisSistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Gerenciamento de Memória Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Memória Física vs. Memória do Programa Memória P Física Tamanho dos softwares
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 21ª Aula Arquiteturas Paralelas Arquitetura MIMD com Memória Compartilhada Coerência de Cache Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Memórias Cache Políticas
Leia maisUNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES
Tecnologia da informação e comunicação UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES CICLO DE INSTRUÇÕES OU DE EXECUÇÃO Arquitetura de computadores 2 CICLO DE EXECUÇÃO No inicio de cada ciclo de instrução,
Leia maisSistemas Operacionais. Gerenciamento de Memória
Sistemas Operacionais Gerenciamento de Memória Prof. Arliones Hoeller arliones.hoeller@ifsc.edu.br Abril de baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto 6 de março de Prof. Arliones
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução
Leia maisArquitectura de Computadores (ACom)
Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 24: Título: Sumário: - II ; memória virtual - caches. 2014/2015 Nuno.Roma@tecnico.ulisboa.pt Arquitectura
Leia maisAULA 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
Leia maisProf. Frank Sill Torres DELT Escola de Engenharia UFMG
Sistemas, Processadores e Periféricos Aula 7 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professores Leandro
Leia maisSistemas Operacionais: Memória Virtual
Sistemas Operacionais: Memória Virtual Memória virtual Memória virtual: separação entre a visão lógica do usuário e a memória física Somente uma parte do programa necessita estar na memória para executar
Leia maisSistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro
Sistemas de Memória Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Memória: O Gargalo de Von Neuman Memória principal: considerada como sendo
Leia maisCircuitos Lógicos Aula 26
Circuitos Lógicos Aula 26 Aula passada Mais adição Circuito com maior largura Subtração Mais ULA Aula de hoje Memória Funcionamento e arquitetura ROM, RAM e variações Processador Intel Memória Memória:
Leia maisArquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência de Memória Virtual Cap 10 Gerência de Memória Virtual 1 Sumário Introdução Espaço de Endereçamento Virtual
Leia mais