Arquitetura de Computadores

Tamanho: px
Começar a partir da página:

Download "Arquitetura de Computadores"

Transcrição

1 Tipos de Memória de Semicondutores Arquitetura de Computadores Sistema de Memória Memória de Semicondutores RAM (Random Access Memory) Nome equivocado, já que todas memórias de semicondutores são de acesso randômico Leitura e Escrita Volátil (perde dados se desligada) Memória temporária Podem ser estáticas ou dinâmicas Operação de uma Célula de Memória RAM Dinâmica Bits armazenados como cargas num capacitor A carga (representando o dado) enfraquece Precisa ser refrescada mesmo ligada Mais simples de ser fabricada Tamanho menor por bit Mais barata Precisa de circuitos de refrescagem Mais lenta Utilizada para memória principal Essencialmente analógica O nível de carga determina o valor (0 ou ) Estrutura de uma RAM Dinâmica

2 RAM Está?ca Bits são armazenados como chaves on/off Não precisa de carga para refrescagem Fabricação mais complexa Tamanho maior por bit Mais cara Não precisa de circuitos de refrescagem Mais rápida Utilizadas em Memória Cache Basicamente Digital Ou há sinal (zero) ou não há (um) Estrutura de uma RAM Está?ca 2008 SRAM versus DRAM Ambas são voláteis Precisam de energia para preservar os dados Células da DRAM Fáceis de construir, menores Mais densas (cabem mais num mesmo chip) Menos caras Precisam de refrescagem Unidades de memória menores Células da SRAM Mais rápidas Usadas nas memórias Cache Memórias ROM (Read Only Memory) Armazenamento permanente Não- volátil Usada para: Microprogramação (veja a frente) Biblioteca de subrotinas Programas do sistema (BIOS) Tabelas de Funções Tipos de ROM Escritas durante a fabricação Muito cara para pequenos programas ou poucas unidades Programáveis (apenas uma vez) PROM (Programmable ROM) Precisa de equipamento especial para programar Leitura na maioria das vezes ( mostly ) Erasable Programmable (EPROM) Tipo a PROM, mas pode ser apagável por raios UV Electrically Erasable (EEPROM) Escrita eletronicamente Leva mais tempo para escrever do que para ler Memória Flash Apaga toda a memória automaticamente 2008 Organização em detalhes Um chip de 6Mbits pode ser organizado como M de palavras de 6 bits Um sistema de bit por célula tem 6 lotes de chips de M células cada. Um chip de 6Mbits pode ser organizado como um arranjo de 2048 x 2048 x 4bits = 6Mbits Isso reduz a quantidade de bits para os endereços: Separa endereçamento em duas etapas, uma para linha e outra para coluna, com bits para cada

3 Típica DRAM de 6Mb Refrescagem Circuito de refrescagem incluío no chip O chip tem que ser desabilitado Contagem através das linhas Ciclo de leitura e escrita, para checar o valor e atualizá- lo Leva tempo! Diminui a performance aparente Típica DRAM de 6Mb Refrescagem Circuito de refrescagem incluío no chip O chip tem que ser desabilitado Contagem através das linhas Ciclo de leitura e escrita, para checar o valor e atualizá- lo Leva tempo! Diminui a performance aparente Empacotamento Organização de um módulo de 256KBytes

4 Organização de um módulo de MByte Correção de Erros Falha de hardware Defeito permanente Erro de Software Randômico, não destrutivo Nenhum dano permanente a memória No permanent damage to memory Usando Código de Hamming para correção de erros Função de Correção de Erros Organização de DRAM modernas As DRAMs são basicamente as mesmas desde os primeiros chips de RAM DRAMs melhoradas: Contêm também pequenos chips SRAM SRAM guardam última linha lida (pode ser usada para Caches) Cache de DRAM Componente SRAM maior que DRAM Synchronous DRAM (SDRAM) Acesso é sincronizado com um relógio externo Endereço é apresentado à RAM RAM encontra o dado (CPU espera nas DRAMs convencionais) Como a SDRAM move os dados sincronizado com o relógio, a CPU sabe quando o dado estará pronto CPU não precisa esperar, ela pode fazer outra coisa Módo Rajada permite SDRAM montar um fluxo de dados e dispará- los em bloco DDR- SDRAM enviam dados dobrados por ciclo de clock SDRAM

5 Tempo de leitura da SDRAM RAMBUS (RDRAM) Adotado pela Intel para o Pentium e o Itanium Principal competidor para a SDRAM Empacotamento vertical todos pino em um só lado Troca de dados em 28 fios mais curtos que cm Barramento endereça até 320 chips (RDRAM) a.6gbps Protocolo de bloco assíncrono 480 ns de acesso, resuntando então em.6 Gbps RAMBUS Diagram DDR SDRAM (Double- Data- Rate) SDRAM podem apenas enviar dados uma vez por ciclo de clock DDR SDRAM podem enviar dados duas vezes por ciclo de clock Na subida e na descida do sinal de clock Cache DRAM Pela Mitsubishi Integra pequenas SRAM (6Kbits) em chips DRAM genéricos Usadas como Caches reais Linhas de 64- bits Efetivo para acesso randômico normal (memória principal) Suporta acesso serial a blocos de dados Ex: refrescagem dos dados do monitor de vídeo CDRAM pode pré- carregar dados da DRAM para a SRAM Acessos subsequentes são feitos apenas à SRAM (mais rápida) MEMÓRIA CACHE 5

6 Cache Pequena quantidade de memória rápida Localiza- se entre a memória principal e a CPU Pode ser localizada no mesmo chip da CPU Baseia- se no Princípio da Localidade Cache e Memória Principal Operação da Cache Visão geral CPU requisita conteúdo da memória principal Procura antes conteúdo na Cache Se encontrado, pega o dado da Cache (mais rápida) Se não, lê bloco inteiro da memória principal para a Cache Então entrega dado da Cache para a CPU Cache inclui Tags para identificar que bloco da memória principal está em cada slot da Cache Leitura da Cache Diferença de desempenho Para um Pentium M: Acesso a registrador - > ciclo Acesso a cache L - > 3 ciclos Acesso a cache L2 - > 4 ciclos Acesso a memória - > 240 ciclos Projeto da Cache Tamanho Funcao de Mapeamento Algoritmo de troca Política de escrita Tamanho de Bloco Número de caches Brito@UFPB'

7 Tamanho importa Custo Mais Cache custa caro Velocidade Mais Cache faz sistema ficar mais rápido (até um limite) Checar Cache a procura de dados leva tempo Chips maiores possuem desempenho reduzido Organização Típica de Cache Comparação do tamanho de Cache Processador Tipo Ano Cache L Cache L3 Cache L2 IBM 360/85 Mainframe to 32 KB PDP-/70 Minicomputer 975 KB VAX /780 Minicomputer KB IBM 3033 Mainframe KB IBM 3090 Mainframe to 256 KB Intel PC KB Pentium PC KB/8 KB 256 to 52 KB PowerPC 60 PC KB PowerPC 620 PC KB/32 KB PowerPC G4 PC/server KB/32 KB 256 KB to MB 2 MB IBM S/390 G4 Mainframe KB 256 KB 2 MB IBM S/390 G6 Mainframe KB 8 MB Pentium 4 PC/server KB/8 KB 256 KB IBM SP High-end server/ supercomputer KB/32 KB 8 MB CRAY MTAb Supercomputer KB 2 MB Itanium PC/server KB/6 KB 96 KB 4 MB SGI Origin 200 High-end server KB/32 KB 4 MB Itanium 2 PC/server KB 256 KB 6 MB IBM POWER5 High-end server KB.9 MB 36 MB CRAY XD- Supercomputer KB/64 KB MB Função de Mapeamento Cache de 64KByte Blocos de Cache de 4 bytes Ex: cache formada por 6K (2 4 ) linhas de 4 bytes Memória principal de 6MBytes 24 bits de endereços (2 24 =6M) Mapeamento direto Cada bloco da memória principal é mapeado para apenas uma linha de bloco da Cache Ex: se um bloco está na Cache, ele deve estar num lugar específico Endereçamento em duas partes Primeiros bits do endereço identificam uma palavra única Último bits especificam um bloco de memória Estrutura do endereço mapeamento direto Tag 22-r Linha r Palavra w bits para o endereço 2 bits para a palavra (blocos de 4 bytes) 22 bits para identificar o bloco Tag de 8 bits (22-4) Linhas de 4 bits Não há dois blocos na mesma linha com a mesma Tag Conteúdo é checado procurando a linha e checando a Tag 7

8 Tabela de Cache mapeamento direto Linha de Cache Blocos na memória principal 0 0, m, 2m, 3m 2s- m, m+, 2m+ 2s- m m- m-, 2m-,3m- 2s- Organização da Cache map. direto Estrutura Exemplo Brito@UFPB' Mapeamento direto - prós & contras Simples Não muito caro Acesso é muito rápido Baixa penalidade de Cache Hit Localização fixa para um dado bloco Se um programa acessa dois blocos que mapeam para a mesma linha repetidamente, faltas na Cache (cache miss) são muito frequentes Cache tem que ser grande para reduzir os cache miss Mapeamento Associa?vo Um bloco de memória principal pode ser carregado em qualquer linha da Cache Endereco de memória é interpretado através da Tag e da Palavra Tag identifica um bloco de memória unicamente Toda Tag de linha é examinada para ver se confere Pesquisa na Cache torna- se cara 8

9 Organização Totalmente Associa?va Estrutura 50 Exemplo de mapeamento Associa?vo Estrutura de Endereço Tag 22 bits Palavra 2 bits Tag de 22 bits armazenadas a cada bloco de 32 bits Campo Tag é comparado com a Tag passada para checar se confere 2 bits de endereço menos significativo identificam cada palavra de 6 bits num bloco de dados de 32 bits Mapeamento de Conjunto Associa?vo Cache é dividida num número de conjuntos Cada conjunto contem um número de linhas Um dado bloco mapeia qualquer linha de um dado conjunto Ex: Bloco B pode estar em qualquer linha do conjunto i ex.: 2 linhas por conjunto Mapeamento associativo de duas vias Um dado bloco pode estar em uma das duas linhas em apenas um conjunto Organização em 2 Vias 9

10 Estrutura de endereços Estrutura de uma 4- way Tag 9 bits Conjunto 3 bits Palavras 2 bit Usa campo para determinar o conjunto na Cache que deve ser checado O campo Tag é checado para ver se dado é encontrado Brito@UFPB' Conjunto Associa?vo em 2 Vias Impacto da Associa?vidade Brito@UFPB' Impacto da Associa?vidade Algoritmos de troca() - Mapeamento direto Não há escolha Cada bloco mapeia apenas para uma linha Essa linha é trocada Brito@UFPB'

11 Algoritmos de troca(2) Associa?vo e Conj. Associa?vo Algoritmo implementado por hardware (mais veloz) Menos Usado Recentemente (LRU) Ex: no conjunto associativo de 2 vias Qual dos dois blocos foi menos utilizado? Fila (FIFO) Retira bloco que está há mais tempo na Cache Usado com menos frequencia Substitui bloco que teve menos acesso Randômico Polí?ca de Escrita Um bloco de Cache não deve ser sobreescrito a menos que a Memória Principal esteja atualizada Múltiplas CPUs podem ter Caches individuais E/S pode endereçar memória principal diretamente, sem uso da Cache Escrita Além da Cache (Write through) Todas escritas vão para Memória Principal, assim como na Cache Múltiplas CPUs podem monitorar tráfego da memória principal para manter Cache (dentro da CPU) local atualizada Muito tráfego! Diminui desempenho das escritas Dados já existentes são escrito além da Cache Write Back Atualizações feitas inicialmente apenas na Cache Bit de atualização para Slots de Cache são carregads quando ocorre atualização Se um bloco é substituído, escrita na memória principal apenas se bit de atualização estiver carregado Outras Caches perdem sincronização E/S devem acessar memória principal além da Cache Em média 5% dos acessos à memória são de escrita, o restante são de leituras Cache no Pen?um não tem Cache no chip k usando linhas de 6 bytes e organização de conjunto associativo de 4 vias Pentium (todas versões) duas Caches L no chip Uma para dados outra para instruções Pentium III Cache adicionada for a do chip Pentium 4 Cache L 8k Bytes e linhas de 64 bytes conjunto associativo de 4 vias Cache L2 Alimenta ambas Caches L 256k e linhas de 28 bytes conjunto associativo de 8 vias Cache L3 no chip Evolução da Cache pela Intel Problema Solução Primeiro processador que trouxe essa funcionalidade Adiciona Cache externa mais rápida 386 Memória externa mais lenta do que o barramento do sistema do que a memória principal Aumento da velocidade do processador tornou-se gargálo Mover cache externa para dentro do 486 para acesso à cache chip do processador, rodando na mesma velocidade que ele. Memória cache é pequena devido a limitação de espaço no Adiciona cache externa L2 usando 486 chip do processador. tecnologia mais veloz que a memória principal Conlito quando o Prefetcher tenta acessar a cache ao mesmo Criar Caches separadas para dados e Pentium tempo que a Unidade de Execução. Neste caso, o Prefetcher é instruções paralisado até que a Unidade de Execução termine. Cria barranto Back-Side Bus (BSB) Pentium Pro que roda mais rápido que o barramento frontal externo. O BSB é Aumento na velocidade do processador resulta no dedicado a Cache L2. barramento externo ser um gargálo para o acesso à Cache L2 Move a cache L2 para dentro do Pentium II Chip. Algumas aplicações lidam com quantidade massiva de dados Adiciona Cache L3 externa. Pentium III edeve ter acesso a eles em alta velocidade. A cache do processador é muito pequena para elas! Move cache L3 para o Chip Pentium 4

12 Pen?um 4 diagrama de bloco Núcleo do Pen?um 4 Unidade de Carregamento/Decodificação de instruções Carrega instruções da Cache L2 Decodifica em micro- operações Armazena micro- operações na Cache L Lógica de execução fora de ordem Micro- operações são selecionadas Baseada na dependência de dados e recursos Pode executar especulativamente (pela suposição de que serão necessárias) Unidades de Execução Executa micro- operações Dados da Cache L e resultados em registradores Sub- sistema de memória Cache L2 e barramento do sistema Organização de Cache do PowerPC 60 single 32kb Conjunto associativo de 8 vias 603 6KBytes (2 x 8KBytes) Conjunto associativo de 2 vias KBytes KBytes G3 & G4 Cache L de 64KBytes Conjunto associativo de 8 vias Cache L2 de 256K, 52K ou M Conjunto associativo de 2 vias G5 32kB de Cache de instrução 64kB de Cache de dados PowerPC G5 diagrama de blocos O que importa a hierarquia de memória? DESEMPENHO Desempenho 000! 00! 0!! 980! 98! 982! Moore s Law CPU-DRAM Gap 983! 984! 985! 986! 987! 988! 989! 990! 99! Less Law? CPU! DRAM 992! 993! 994! 995! 996! 997! 998! 999! 2000! µproc 60%/ yr. Gap Processor-Memória Proc: (cresce 50% / ano) DRAM 7%/ano 980: sem cache µproc; 995 cache 2-nivel on-chip (989 o. Proc. Intel com cache on-chip) Lec

13 : : : O que é uma cache? Armazenamento pequeno e rápido usado para reduzir tempo de acesso médio à memória lenta Explora localidade temporal e especial Em Arq. de computadores, quase tudo é cache Registradores são cache de variáveis Cache L é cache da Cache L2 Cache L2 faz cache da memória Memória é cache do disco (memória virtual) TLB é cache da tabela de paginação Predição de salto é cache de execução de instruções Maior Proc/Regs L-Cache L2-Cache Memory Disk, Tape, etc. Mais rápido Lec 3.73 Ex: KB Cache de mapemento direto Para uma cache de 2 N bytes Os primeiros (32 - N) bits are sempre o Tag da cache Os ultimos M (aqui M=5) bits são o Byte Select (Tam. do bloco = 3 2 M ) Valid Bit : Cache Tag Cache Tag 0x50 : End. Bloco Example: 0x50 Stored as part of the cache state 9 Cache Index Ex: 0x0 Cache Data Byte 3 Byte 63 Byte 023 Byte Byte 0 Byte 33 Byte 32 : 4 0 Byte Select Ex: 0x Byte Lec 3.74 Valid Conjunto Associativo Conjunto associativo N-way: N entradas para cada Índice de Cache N cache de mapeamento direto em paralelo Exemplo: conjunto associativo 2-way Cache Index seleciona um conjunto set da cache As duas tags no conjunto são comparadas com endereço em paralelo Dado é selecionado baseano no resultado da comparação Cache Index Cache Tag Cache Data Cache Block 0 Cache Data Cache Block 0 Cache Tag : : : : Valid : : Desvantagens do Conjunto Associativo Conjunto associativo N-way versus Mapeamento Direto: N comparadores versus Multiplexer Extra adiciona atraso Dado vem DEPOIS da decisão se Cache Hit/Miss e da escolha do conjunto Mapemanto Direto, Bloco de Cache está disponível ANTES da decisão se Cache Hit/Miss: É possível assumir um hit e continuar, depois recupera, caso seja Valid um miss Cache Tag Cache Data Cache Block 0 : : : Cache Index Cache Data Cache Block 0 : Cache Tag Valid : : Adr Tag Compare Sel Mux 0 Sel0 Compare Adr Tag Compare Sel Mux 0 Sel0 Compare Hit OR Cache Block Lec 3.75 Hit OR Cache Block Lec 3.76 Fórmula Geral Desempenho de Cache " CPUtime = IC! CPI + MemAccess % $! (HitTime + MissRate! MissPenalty) # Execution '!CycleTime Inst & IC: número de instruções CPI Execution : ciclos por instrução (que não usam memória) MemAccess: qtde. de instruções que acessam memória HitTime: tempo para acessar dado que está em cache MissRate: taxa de Cache Miss MissPenalty: tempo perdido a cada Cache Miss CycleTime: tempo de ciclo Lec 3.77 Quatro questões importantes no projeto de Memória Q: Onde um bloco deve ser inserido no nível superior? (Função de mapeamento) Totalmente Associativo, Conjunto associativo, Mapeamento Direto Q2: Como um bloco pode ser encontrado? (Identificação de bloco) Tag/Bloco Q3: Que bloco deve ser substituído em caso de um cache miss? (Substituição de bloco) Aleatório, FIFO, LRU, LFU Q4: Como a escrita é realizada? (Estratégia de escrita) Write Back ou Write Through Lec

14 Melhorando Desempenho de Cache. Reduzir taxa de perda de cache (cache miss) 2. Reduzir penalidade de perda, ou 3. Reduzir tempo de acesso a dado na cache (Hit time) Reduzindo taxa de perdas Classificando as perdas: regra dos 3 Cs Compulsória o primeiro acesso a um bloco nunca está na cache, ele deve então ser trazido. Chamado Perda de Primeira Referência (acontece mesmo em cache de tam. infinito) Capacidade se a cache não pode conter todos blocos necessários de um programa, perda por capacidade vai ocorrer aos blocos referenciados e não presentes (Perdas em Totalmente Associativas) Conflito se função de mapeamento for associativa por conjunto, ou mapeamento direto, perdas por conflito podem ocorrer, se dois blocos precisarem ser colocados na mesma linha ao mesmo tempo. Também chamado de Perda por Colisão (Perdas em Associativas N-way) Mais recentemente, surgiu um novo C : Coerência- perdas causadas por erro de coerência. Ocorre em arquiteturas paralelas de cache compartilhada. Lec 3.79 Lec Cs Absolute Miss Rate (SPEC92) Regra de 2x em Caches Miss Rate de cache associativa de -via de tamanho X = Miss Rate de cache associativa de 2-vias de tamanho X/ way Conflict 2-way 4-way 8-way Capacity way Conflict 2-way 4-way 8-way Capacity Compulsory vanishingly small Cache Size (KB) Compulsory Cache Size (KB) Compulsory Lec 3.8 Lec 3.82 Taxa de Cache Miss Relativa Como reduzir os Cache Miss? 00% 80% 60% -way 2-way 4-way 8-way Conflict 3 Cs: Compulsória, Capacidade, Conflito Em todos os casos, assuma que o tamanho da cache não muda. O que acontece se: ) Mudar tamanho dos blocos: Qual dos 3Cs é afetado? 40% 20% Capacity 2) Mudar Associatividade: Qual dos 3Cs é afetado? 0% Cache Size (KB) Compulsory 3) Mudar compilador: Qual dos 3Cs é afetado? Lec 3.83 Lec

15 . Reduzir Cache Miss através do aumento dos blocos Miss Rate 25% 20% 5% 0% 5% 0% Block Size (bytes) K 4K 6K 64K 256K 2. Reduzir Cache Miss aumentando Associtividade Exemplo: assuma CCT =.0 for 2-way,.2 for 4-way,.4 for 8-way vs. CCT direct mapped Cache Size Associativity (KB) -way 2-way 4-way 8-way (Red means A.M.A.T. not improved by more associativity) Lec 3.85 Lec Reduzir Misses com Cache de Vítimas Como combinar tempo de hit rápido do mapeamento direto e ainda evitar perdas por conflito? Adicionar buffer para colocar dados discartados da cache Jouppi [990]: Cache de vítima de 4-entradas removeu de 20% a 95% dos conflitos de uma cache de 4 KB Usado em máquinas Alpha e HP TAGS Tag and Comparator Tag and Comparator Tag and Comparator Tag and Comparator DATA One Cache line of Data One Cache line of Data One Cache line of Data One Cache line of Data To Next Lower Level In Hierarchy Lec Reduzindo Misses através de Pseudo-Associatividade Como combinar tempo rápido de hit do Mapeamento Direto e ter os baixo conflitos em uma cache Associativa de 2-vias? Dividir a cache: em caso de miss, checa outra metade da cache para ver se ele está lá. Se sim, há um pseudo-hit (hit lento) Divide cache: on a miss, check other half of cache to see if there, if so have a pseudo-hit (slow hit) Hit Time Pseudo Hit Time Miss Penalty Time Contras: é difícil para o pipeline da CPU se hit leva ou 2 ciclos Melhor para caches não atreladas diretamente ao processador (L2) Usado na cache L2 do MIPS R000, e no UltraSPARC Used in MIPS R000 L2 cache, similar in UltraSPARC Lec Reduzindo Misses pelo Prefetching de Instruções & Dados em Hardware Ex: Prefetching de instruções Alpha 2064 carrega 2 blocos em caso de miss Bloco extra colocado num stream buffer Em caso de miss, checa o buffer Também funciona com blocos de dados Prefetching depende de haver largura de banda extra que pode ser usada sem penalidade 6. Reduzindo Misses pelo Prefetching de Dados por Software Prefetch de dados Load data into register (HP PA-RISC loads) Cache Prefetch: load into cache (MIPS IV, PowerPC, SPARC v. 9) Special prefetching instructions cannot cause faults; a form of speculative execution Prefetching comes in two flavors: Binding prefetch: Requests load directly into register.» Must be correct address and register! Non-Binding prefetch: Load into cache.» Can be incorrect. Frees HW/SW to guess! Issuing Prefetch Instructions takes time Is cost of prefetch issues < savings in reduced misses? Higher superscalar reduces difficulty of issue bandwidth Lec 3.89 Lec

16 7. Reduzindo Misses pela Otimização de Compilador McFarling [989] reduziu em software cache miss em 75% numa cache mapeada diretamente de 8KB, com blocos de 4 byte Instruções Reordenar procedimentos na memória para reduzir misses por conflito Profiling para buscar conflitos Dados Mesclagem de Arrays: melhora localidade espacial com um array único formado por elementos de 2 arrays Permuta de Loop: troca aninhamento de loops para acessar dados na ordem que estão armazenados na memória Fusão de Loop: Combina 2 loops independentes que possuem mesmo loop e dados se sobrepõem Blocagem: melhora localidade temporal acessando blocos de dados repetidamente ao invés de processar linhas ou colunas completas Mesclagem de Array /* Antes: 2 arrays sequenciais */ int val[size]; int key[size]; /* Depois: array de estruturas */ struct merge { int val; int key; }; struct merge merged_array[size]; Reduz conflitos entre val e key: Melhora localidade espacial Lec 3.9 Lec 3.92 Permuta de Loops /* Antes*/ for (k = 0; k < 00; k = k+) for (j = 0; j < 00; j = j+) for (i = 0; i < 5000; i = i+) x[i][j] = 2 * x[i][j]; /* Depois*/ for (k = 0; k < 00; k = k+) for (i = 0; i < 5000; i = i+) for (j = 0; j < 00; j = j+) x[i][j] = 2 * x[i][j]; Acesso sequencial, ao invés de saltar 5000 posições a cada iteração Melhora localidade espacial Fusão de Loops /* Antes*/ for (i = 0; i < N; i = i+) for (j = 0; j < N; j = j+) a[i][j] = /b[i][j] * c[i][j]; for (i = 0; i < N; i = i+) for (j = 0; j < N; j = j+) d[i][j] = a[i][j] + c[i][j]; /* Depois */ for (i = 0; i < N; i = i+) for (j = 0; j < N; j = j+) { a[i][j] = /b[i][j] * c[i][j]; d[i][j] = a[i][j] + c[i][j];} Melhora localidade espacial Lec 3.93 Lec 3.94 Blocagem /* Antes */ for (i = 0; i < N; i = i+) for (j = 0; j < N; j = j+){ r = 0; for (k = 0; k < N; k = k+){ r = r + y[i][k]*z[k][j]; } x[i][j] = r; } Dois loops internos: Lê todos NxN elementos de z[] Lê N elementos de linha de y[] repetidamente Escreve N elementos de linha de x[] Misses por Capacidade em função de N: 2N 3 + N 2 => (assumindo que não haja conflito, caso contrário ) Ideia: computar submatrizes BxB Lec 3.95 Blocagem /* Depois */ for (jj = 0; jj < N; jj = jj+b) for (kk = 0; kk < N; kk = kk+b) for (i = 0; i < N; i = i+) for (j = jj; j < min(jj+b-,n); j = j+){ r = 0; for (k = kk; k < min(kk+b-,n); k = k+) { r = r + y[i][k]*z[k][j]; } x[i][j] = x[i][j] + r; } B é chamado de Fator de Blocagem Misses por capacidade de 2N 3 + N 2 para N 3 /B+2N 2 Misses de Conflito também?? Lec

17 Reduzindo Misses de Conflito por Blocagem Blocking Factor Direct Mapped Cache Fully Associative Cache Otimização de Compilador vpenta (nasa7) gmty (nasa7) tomcatv btrix (nasa7) mxm (nasa7) spice cholesky (nasa7) compress Performance Improvement Lec 3.97 merged arrays loop interchange loop fusion blocking Lec 3.98 Revisando: melhorando Desempenho de Cache. Reduzir taxa de perda de cache (cache miss) 2. Reduzir penalidade de perda, ou 3. Reduzir tempo de acesso a dado na cache (Hit time) Política de Escrita: Write-Through vs Write-Back Write-through: toda escrita atualiza cache e memória Dados da cache podem sempre ser descartados Bit de controle na cache: apenas bit válido Write-back: todas escritas atualizam apenas na Cache Dados da Cache não podem ser simplesmente descartados talvez precise escrever de volta na memória Bits de controle da Cache: valid e dirty Outras Vantagens: Write-through:» Memória (ou outro processador) sempre tem o dado mais atual» Gerência de cache é mais simples Write-back:» Bem menos transferência de memória» Tolerância melhor a memórias de longa latência Lec 3.99 Lec 3.00 Política de Escrita 2: Write Allocate vs Non-Allocate (O que fazer num write-miss). Reduzindo penalidade de Cache Miss: Prioridade na leitura CPU Write allocate: aloca nova linha na Cache Reescreve toda linha mesmo que apenas uma palavra esteja desatualizada Alternativa: bits de validade por palavra Write non-allocate (ou write-around ): Simplesmente escreve dado apenas na memória não aloca nova linha de cache in out write buffer DRAM (or lower mem) Write Buffer Lec 3.0 Lec

18 . Reduzindo penalidade de Cache Miss: Prioridade na leitura Write-through com buffer de escrita oferece conflito RAW com memória principal Se simplesmente esperar buffer de escrita esvaziar, pode aumentar penalidade de cache miss de leitura Checa buffer de escrita antes da leitura;» Se não há conflito, permite acesso à memória, se não, espera Write-back também precisa de buffer para blocos desatualizados Cache miss de leitura substitui blocos desatulizados Normalmente: escreve bloco desatualizado na memória e então faz leitura Ao invés copia o bloco desatualizado para o buffer, faz a leitura, só depois a escrita é feita CPU espera menos já que leitura e escrita pode ser feitas ao mesmo tempo Lec Reduzir Penalidade de Cache Miss: Reinício antecipado e Palavra Crítica primeiro CPU Não espera o bloco completo ser carregado Reinício antecipado Assim que a palavra solicitada do bloco chega, envia-a a CPU, que continua sua execução Palavra Crítica Primeiro solicita primeiro na memória palavra buscada e a envia para CPU antes das demais Geralmente só é útil com blocos grandes Problema de localidade espacial: Tendência de solicitar próxima palavra na sequência. Não é claro o benefício do Reinício Antecipado bloco Lec Reduce Miss Penalty: Nonblocking Caches to reduce stalls on misses Non-blocking cache or lockup-free cache allow data cache to continue to supply cache hits during a miss requires F/E bits on registers or out-of-order execution requires multi-bank memories hit under miss reduces the effective miss penalty by working during miss vs. ignoring CPU requests hit under multiple miss or miss under miss may further lower the effective miss penalty by overlapping multiple misses Significantly increases the complexity of the cache controller as there can be multiple outstanding memory accesses Requires muliple memory banks (otherwise cannot support) Penium Pro allows 4 outstanding memory misses Lec 3.05 Value of Hit Under Miss for SPEC eqntott espresso xlisp compress mdljsp2 ear Hit Under i Misses fpppp tomcatv swm256 Integer Floating Point FP programs on average: AMAT= > > > 0.26 Int programs on average: AMAT= > > 0.9 -> KB Data Cache, Direct Mapped, 32B block, 6 cycle miss doduc su2cor wave5 mdljdp2 hydro2d alvinn nasa7 spice2g6 ora 0-> ->2 2->64 Base 0-> ->2 2->64 Base Hit under n Miss Lec : Add a second-level cache L2 Equations AMAT = Hit Time L + Miss Rate L x Miss Penalty L Miss Penalty L = Hit Time L2 + Miss Rate L2 x Miss Penalty L2 AMAT = Hit Time L + Miss Rate L x (Hit Time L2 + Miss Rate L2 + Miss Penalty L2 ) Definitions: Local miss rate misses in this cache divided by the total number of memory accesses to this cache (Miss rate L2 ) Global miss rate misses in this cache divided by the total number of memory accesses generated by the CPU (Miss Rate L x Miss Rate L2 ) Global Miss Rate is what matters Comparing Local and Global Miss Rates 32 KByte st level cache; Increasing 2nd level cache Global miss rate close to single level cache rate provided L2 >> L Don t use local miss rate L2 not tied to CPU clock cycle! Cost & A.M.A.T. Generally Fast Hit Times and fewer misses Since hits are few, target miss reduction Linear Cache Size Log Cache Size Lec 3.07 Lec

19 Reducing Misses: Which apply to L2 Cache? L2 cache block size & A.M.A.T. Relative CPU Time Reducing Miss Rate. Reduce Misses via Larger Block Size 2. Reduce Conflict Misses via Higher Associativity 3. Reducing Conflict Misses via Victim Cache 4. Reducing Conflict Misses via Pseudo-Associativity 5. Reducing Misses by HW Prefetching Instr, Data 6. Reducing Misses by SW Prefetching Data 7. Reducing Capacity/Conf. Misses by Compiler Optimizations Block Size 32KB L, 8 byte path to memory Lec 3.09 Lec 3.0 Reducing Miss Penalty Summary Memory accesses CPUtime = IC CPI Execution + Miss rate Miss penalty Clock cycle time Instruction Four techniques Read priority over write on miss Early Restart and Critical Word First on miss Non-blocking Caches (Hit under Miss, Miss under Miss) Second Level Cache Can be applied recursively to Multilevel Caches Danger is that time to DRAM will grow with multiple levels in between First attempts at L2 caches can make things worse, since increased worst case is worse What is the Impact of What You ve Learned About Caches? : Speed = ƒ(no. operations) Pipelined Execution & Fast Clock Rate 0 Out-of-Order execution Superscalar Instruction Issue 998: Speed = ƒ(non-cached memory accesses) Superscalar, Out-of-Order machines hide L data cache miss ( 5 clocks) but not L2 cache miss ( 50 clocks)? CPU DRAM Lec 3. Lec 3.2 Cache Optimization Summary miss rate miss penalty Technique MR MP HT Complexity Larger Block Size + 0 Higher Associativity + Victim Caches + 2 Pseudo-Associative Caches + 2 HW Prefetching of Instr/Data + 2 Compiler Controlled Prefetching + 3 Compiler Reduce Misses + 0 Priority to Read Misses + Early Restart & Critical Word st + 2 Non-Blocking Caches + 3 Second Level Caches + 2 Lec 3.3 9

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 5 Memória interna

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 5 Memória interna William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 5 Memória interna Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Tipos de memória de semicondutor slide

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 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 mais

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

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)

Leia mais

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

Aula 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 mais

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

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

Leia mais

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

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

Leia mais

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

Memó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 mais

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

Aula 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 mais

Infraestrutura de Hardware. Explorando Desempenho com 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 mais

SSC0112 Organização de Computadores Digitais I

SSC0112 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 mais

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade

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

Leia mais

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

Cache. 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 mais

Hierarquia de Memória

Hierarquia 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 mais

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 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 mais

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. 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 mais

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 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 mais

ELECTRÓNICA DE COMPUTADORES. Sumário

ELECTRÓ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 mais

Hierarquia de memória. Melhorando o desempenho

Hierarquia 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 mais

Conjunto de Instruções. Alisson Brito

Conjunto de Instruções. Alisson Brito Conjunto de Instruções Alisson Brito 1 1 O que é o Conjunto de Instruções? Instruction Set Architecture (ISA) Interface entre Programas e CPU A coleção completa de instruções reconhecidas pela CPU Programas

Leia mais

Organização e Arquitetura de Computadores I

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

Leia mais

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

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

Leia mais

Memórias RAM e ROM. Adriano J. Holanda 9/5/2017. [Introdução à Organização de Computadores]

Memórias RAM e ROM. Adriano J. Holanda 9/5/2017. [Introdução à Organização de Computadores] Memórias RAM e ROM [Introdução à Organização de Computadores] Adriano J Holanda 9/5/2017 Memória de acesso aleatório RAM Random Access Memory Armazenamento temporário de programas em execução e dados;

Leia mais

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

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

Leia mais

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

Adriano J. Holanda FAFRAM. 4 e 11 de maio de 2012 Memória Adriano J. Holanda FAFRAM 4 e 11 de maio de 2012 Trilha Introdução Hierarquia da memória Memórias RAM Memória ROM Introdução Arquitetura de Von Neumann Memória Aritmética Controle E/S Unidade central

Leia mais

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 4. MEMÓRIA 2 4. MEMÓRIA A memória é um componente essencial de todo computador, sendo utilizada para armazenar as instruções a serem

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

ORGANIZAÇÃ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 mais

Organização de Computadores

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

Leia mais

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

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

Leia mais

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

Sistema de Memórias COMPUTADOR CONTROLE ENTRADA VIA DE DADOS SAÍDA PROCESSADOR MEMÓRIA S E TO R R EC RE CEI TA S T EM S E TO R C A RNE S Sistema de Memórias COMPUTADOR S E TO R R EC EIT AS 0 16 32 RE CEI TA S 4 8 12 20 24 28 36 40 44 CONTROLE S E TO R T EM PER OS VIA DE DADOS ENTRADA 0 48 52 64 68 80 84 1 56 72 88 2 3 60 76 92 4 S E TO

Leia mais

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

SRAM Static RAM. E/L Escrita Leitura. FPM DRAM Fast Page Mode EDO DRAM Extended Data Output SDRAM Synchronous DDR SDRAM Double Data Rate RDRAM Rambus TIPOS DE MEMÓRIA RAM Random Access Memory E/L Escrita Leitura SRAM Static RAM DRAM Dynamic RAM FPM DRAM Fast Page Mode EDO DRAM Extended Data Output SDRAM Synchronous DDR SDRAM Double Data Rate RDRAM Rambus

Leia mais

http://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 mais

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

Visão geral do sistema de memória de computadores Visão geral do sistema de memória de computadores 1 Capacidade da memória Humana Pesquisas concluem que o armazenamento de informações na memória humana se dá a uma taxa de aproximadamente 2 bits por segundo

Leia mais

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4. Cristina Boeres

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4. Cristina Boeres FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4 Cristina Boeres Memória! É um dos componentes de um sistema de computação! Sua função é armazenar informações que são ou serão manipuladas

Leia mais

Circuitos Lógicos Aula 26

Circuitos 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 mais

Organização e Arquitetura de Computadores

Organizaçã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 mais

ORGANIZAÇÃ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 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 mais

Hierarquia de memória

Hierarquia 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 mais

Memória Principal. Tiago Alves de Oliveira

Memó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 mais

ü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória ü Memória Principal ü Memória principal ü Memória cache

ü 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 mais

SSC0112 Organização de Computadores Digitais I

SSC0112 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 mais

Hierarquia de Memória

Hierarquia 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 mais

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

Memó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 mais

ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA. Prof. Dr. Daniel Caetano

ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA. Prof. Dr. Daniel Caetano ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA Prof. Dr. Daniel Caetano 2014-1 Objetivos Compreender o que é a memória e sua hierarquia Compreender os diferentes tipos de memória Entender como é feito o acesso à

Leia mais

Microprocessadores. Memórias

Microprocessadores. 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 mais

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

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 debora@midiacom.uff.br Memória Cache Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade

Leia mais

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 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 mais

Arquitetura de Computadores. Memórias

Arquitetura 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 mais

Memórias cache: uma introdução

Memó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 mais

Desempenho de caches

Desempenho de caches Cache (cont) Sistemas de memória Memória cache organização leitura escrita otimizações Memória Virtual endereçamento paginação TLB excessões UFPR-CI32,CI702 205-08 otimização de caches Revisão Localidade

Leia mais

Memória Cache. Aula 24

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

Leia mais

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I SSC0112 Organização de Computadores Digitais I 23ª Aula 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 Características

Leia mais

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. 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 mais

Hierarquia de memória

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

Leia mais

MEMÓRIAS SEMICONDUTORAS

MEMÓRIAS SEMICONDUTORAS MEMÓRIAS SEMICONDUTORAS Em um sistema computacional subentende-se memória como qualquer dispositivo capaz de armazenar dados, mesmo temporariamente. Atualmente, os métodos de armazenamento de informação

Leia mais

5 de Maio de Aula 15

5 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 mais

Arquitetura de Computadores

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

Leia mais

COMPUTADOR. Adão de Melo Neto

COMPUTADOR. Adão de Melo Neto COMPUTADOR Adão de Melo Neto 1 COMPUTADOR COMPUTADOR Barramento de Endereços: Determina qual a posição de memória que irá ser lida ou escrita (unidirecional). Barramento de Endereços: Transporta o dados

Leia mais

Infra-estrutura Hardware

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

Leia mais

1. 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 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 mais

Memória Cache. Walter Fetter Lages.

Memó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 mais

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa 4. Memórias de Dados e de Programa Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP 4.1 Memórias Semicondutoras Algumas definições Célula: Dispositivo de armazenamento de 1 bit. Palavra:

Leia mais

Sistemas Operacionais. Conceitos de Hardware

Sistemas 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 mais

Tecnologias de Memória

Tecnologias 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 mais

Microcontroladores e Interfaces

Microcontroladores 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 mais

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

Arquitetura 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 mais

Universidade de São Paulo

Universidade de São Paulo Universidade de São Paulo Organização de Computadores Dr. Jorge Luiz e Silva Cap 2 Memória Secundária Memória Principal Memória Secundária - Armazenam informações que precisam ser transferidas para a Memória

Leia mais

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

Tempo 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 mais

Arquitectura de Computadores (ACom)

Arquitectura 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 mais

PCS 3115 Sistemas Digitais I

PCS 3115 Sistemas Digitais I PCS 35 Sistemas Digitais I Módulo 7 Introdução às Memórias Edison versão:. (maio de 28). Conceituação Dispositivos que armazenam dados em grandes quantidades. Flip-Flop s e registradores também têm esta

Leia mais

Correção de Erros. Erros de memória de semicondutores podem ser:

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

Leia mais

Programador/a de Informática

Programador/a de Informática 481040 - Programador/a de Informática UFCD - 0770 Dispositivos e periféricos Sessão 4 SUMÁRIO Memórias Primárias RAM ROM Cache Comunicam diretamente com o processador; Armazenam pequenas quantidades de

Leia mais

Memória Cache: Funcionamento

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

Leia mais

Memória cache (cont.) Sistemas de Computação

Memó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 mais

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

Memoria. 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 mais

ELE Microprocessadores I. AULA 12 Arquitetura do Microprocessador Interface com as memórias

ELE Microprocessadores I. AULA 12 Arquitetura do Microprocessador Interface com as memórias ELE 1078 - Microprocessadores I AULA 12 Arquitetura do Microprocessador 8085 -Interface com as memórias 12.1 - Estrutura das Memórias Memória de Leitura / Escrita (R / W memory). Grupo de registradores;

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Memória Interna Slide 1 Memória Em informática, memória são todos os dispositivos que permitem a um computador guardar dados, temporariamente ou permanentemente.

Leia mais

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

Projeto 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 mais

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

Sistemas 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 mais

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

Memó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

Função Principal da Memória

Função Principal da Memória Memórias Slide 2 Função Principal da Memória Armazenar dados. Armazenar os programas para serem executados pelo processador. Slide 3 Memória x Processador x HD Placa Mãe: Controlador de Memória Slide 4

Leia mais

Sequência 17 Organização e Hierarquia de Memória

Sequência 17 Organização e Hierarquia de Memória Arquitetura de Computadores Os cincos componentes clássicos do computador Sequência 17 Organização e Hierarquia de Memória Seq.17 Memórias - conceitos 1 Seq.17 Memórias - conceitos 2 Memória A memória

Leia mais

Conceitos e Gerenciamento de Memória

Conceitos e Gerenciamento de Memória Conceitos e Gerenciamento de Memória Introdução Num sistema computacional, temos diferentes tipos de memórias, para diferentes finalidades, que se interligam de forma estruturada e que formam o subsistema

Leia mais

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 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 mais

HARDWARE COMPONENTES BÁSICOS E FUNCIONAMENTO. Wagner de Oliveira

HARDWARE COMPONENTES BÁSICOS E FUNCIONAMENTO. Wagner de Oliveira HARDWARE COMPONENTES BÁSICOS E FUNCIONAMENTO Wagner de Oliveira SUMÁRIO Hardware Definição de Computador Computador Digital Componentes Básicos CPU Processador Memória Barramento Unidades de Entrada e

Leia mais

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I SSC0112 Organização de Computadores Digitais I 17ª Aula 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 Características

Leia mais

Arquitetura e Organização de Processadores. Aula 4. Pipelines

Arquitetura 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 mais

Hierarquia de Memória

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,

Leia mais

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo Prof. Benito Piropo Da-Rin Usadas predominantemente na MP devido às suas características: Permitem acesso apenas através do endereço. Ocupam pouco espaço. Grande quantidade de bits podem ser armazenados

Leia mais

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

É 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 mais

Arquitectura de Computadores

Arquitectura 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 mais

Arquitectura de Computadores (ACom)

Arquitectura 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 mais

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro Arquitetura e Organização de Computadores Processador Registrador Memória Professor Airton Ribeiro airton.ribeiros@gmail.com Processador A função de um computador é executar tarefas com a finalidade de

Leia mais

Arquitetura de Computadores. Processamento Paralelo

Arquitetura 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 mais

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização Hardware: Componentes Básicos Arquitetura dos Computadores Dispositivos de Entrada Processamento Dispositivos de Saída Armazenamento Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Sistema de

Leia mais

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

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

Leia mais

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

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

Leia mais

Introdução. Num micro-processador a informação é guardada em registos. Para isso precisamos de muitos registos, isto é memória em massa

Introdução. Num micro-processador a informação é guardada em registos. Para isso precisamos de muitos registos, isto é memória em massa 10 Memória v02 Introdução Num micro-processador a informação é guardada em registos Estes são definidos com grupos de FFs tipo D Além da informação precisamos de guardar também as instruções do próprio

Leia mais

Aula 03. Componentes Básicos de um Computador, Dispositivos de Entrada e Saída, Dispositivos de Armazenamento de Dados, Periféricos.

Aula 03. Componentes Básicos de um Computador, Dispositivos de Entrada e Saída, Dispositivos de Armazenamento de Dados, Periféricos. Aula 03 Componentes Básicos de um Computador, Dispositivos de Entrada e Saída, Dispositivos de Armazenamento de Dados, Periféricos. Máquina de Von Neuman Memória Entrada Unidade Central de Processamento

Leia mais

Memórias cache. João Canas Ferreira. Abril de Porque são efectivas as memórias cache? Hierarquias de memória Caracterização do desempenho

Memórias cache. João Canas Ferreira. Abril de Porque são efectivas as memórias cache? Hierarquias de memória Caracterização do desempenho Memórias cache João Canas Ferreira Abril de 2004 c JCF, 2004 ASPD (FEUP/LEEC) Memórias cache 1/51 Porque são efectivas as memórias cache? Hierarquias de memória Caracterização do desempenho Colocação e

Leia mais