Arquitectura de Computadores

Documentos relacionados
Arquitectura de Computadores (ACom)

Arquitectura de Computadores

Sistemas de Memória II

Arquitectura de Computadores

Arquitectura de Computadores

Sistemas de Memória III

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

Hierarquia de Memória

ELECTRÓNICA DE COMPUTADORES. Sumário

5 de Maio de Aula 15

Arquitectura de Computadores (ACom)

SSC0112 Organização de Computadores Digitais I

Memórias cache: uma introdução

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom)

Sistemas de Memória I

SSC0611 Arquitetura de Computadores

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

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

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

Arquitectura de Computadores (ACom)

Memória Cache: Funcionamento

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

Memória cache. Sistemas de Computação

Microprocessadores. Memórias

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

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

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

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

Organização de Computadores

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

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

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

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

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

CEFET-RS Curso de Eletrônica

Hierarquia de Memória

Memória Cache. Walter Fetter Lages.

ORGANIZAÇÃO DE COMPUTADORES

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

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

MEMÓRIA CACHE FELIPE G. TORRES

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

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

Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores. 2º sem.

Segundo Trabalho Prático de Organização de Computadores B /2

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

Arquitectura de Computadores

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

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

I. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado

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

Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (B) - 15/06/2007. Folha de Respostas

Hierarquia de memória

Arquitetura de Computadores

Organização de Computadores B - Trabalho 2

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

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

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

Aula 13: Memória Cache

Hierarquia de memória

Gerenciamento de memória

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

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

Arquitectura de Computadores

Gestão de Memória. Espaço de Endereçamento

Sistemas de Entrada e Saídas III

Arquitectura de Computadores II

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2017/2018

/17. Arquitetura de Computadores Subsistemas de Memória Prof. Fred Sauer

Organização e Arquitetura de Computadores

SSC0112 Organização de Computadores Digitais I

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2018/2019

Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (A) - 15/06/2007. Folha de Respostas

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

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

Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A

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

Memória Cache. Aula 24

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

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2014/2015

Introdução à Arquitetura de Computadores

Memória. Memória Cache

Arquitectura de Computadores

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

Introdução à Arquitetura de Computadores

Evolução da arquitetura básica

Arquitectura de Computadores 2007/2008 2º Semestre 2º Teste (A) - 16/06/2008

Fundamentos de Sistemas Operacionais

Tecnologias de Memória

Microcontroladores e Interfaces

Gestão de Memória. Espaço de Endereçamento

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

Arquitetura de Computadores. Memórias

Memória Cache endereço de memória

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

Divisão da lacuna em espaços na base 2: Eficiente quanto à velocidade e Ineficiente quanto à fragmentação.

Transcrição:

Arquitectura de Computadores Memória Cache; Memória Secundária (13.3) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 14 de Maio, 2009 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 1 / 14

Sumário da Aula exemplo de funcionamento poĺıticas de escrita bits de controlo níveis de cache arquitectura de Harvard José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 2 / 14

Hierarquia de Memória UCP Registos Cache Memória Primária Memória Secundária José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 3 / 14

Princípio da Localidade Regra 90/10 Princípio da Localidade Localidade Temporal Se um endereço é referenciado, tenderá a sê-lo de novo em breve. Localidade Espacial Se um endereço é referenciado, os endereços contíguos tenderão a ser referenciados em breve. José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 4 / 14

Indicadores Estatísticos das Caches Sucesso (hit): endereço a que se pretende aceder está presente na cache, sendo o acesso servido por esta. t h : tempo de acesso à cache com sucesso p h : fracção de acessos à cache com sucesso (taxa de sucesso, hit rate) Falta (miss): endereço a que se pretende aceder não se encontra na cache, sendo necessário um acesso à memória primária. t m : tempo de acesso à cache com falta p m : fracção de acessos à cache com falta, p m = 1 p h (taxa de faltas, miss rate) Tempo médio de acesso: t p : penalidade de falta, t p = t m t h t acesso = p h t h + p m t m = t h + p m t p José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 5 / 14

Organização da Cache Etiqueta Índice Deslocamento Etiquetas Dados Etiquetas Dados Descodificador Multiplexador = = Multiplexador Codificador Multiplexador Hit Dados José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 6 / 14

Posição de um Bloco na Cache Onde colocar um bloco na cache? Cache Completamente Associativa o bloco pode ficar em qualquer posição da cache. Cache de Mapeamento Directo cada bloco apenas pode ficar numa posição da cache, determinada pelos bits do campo índice. Endereço Etiqueta Índice Bloco Associativa de n vias o bloco tem n posições possíveis de colocação, uma por cada via, sendo a posição numa dada via determinada pelos bits do campo índice. José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 7 / 14

Poĺıtica de Escrita O que acontece numa escrita? Estatisticamente, as escritas perfazem cerca de 21% dos acessos a dados. Contabilizando as leituras de instruções, 7% dos acessos à memória são escritas. Optimizar as leituras! Mas não ignorar as escritas. Ao contrário da leitura, a escrita só pode ter início depois de se saber se houve sucesso ou falta. José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 8 / 14

Poĺıtica de Escrita Write Back: a escrita é apenas realizada no bloco da cache. escrita realizada à velocidade da cache redução do tráfego para memória José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 9 / 14

Poĺıtica de Escrita Write Back: a escrita é apenas realizada no bloco da cache. escrita realizada à velocidade da cache redução do tráfego para memória Write Through: a escrita é realizada quer no bloco da cache quer na memória primária mais fácil de implementar cache e memória estão sempre consistentes falta em leitura nunca causa uma escrita em memória optimizada recorrendo a write buffer José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 9 / 14

Poĺıtica de Alocação O que fazer no caso de uma falta de escrita? Write Allocate: bloco é trazido para a cache e actualizado No-Write Allocate: cache é alterada se o bloco lá estiver José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 10 / 14

Poĺıtica de Alocação O que fazer no caso de uma falta de escrita? Write Allocate: bloco é trazido para a cache e actualizado No-Write Allocate: cache é alterada se o bloco lá estiver Ambas podem ser usadas com qualquer das poĺıticas de escrita, embora as combinações típicas sejam: Write Back, Write Allocate: possíveis escritas futuras para o mesmo endereço passam a ser realizadas na cache. Write Through, No-Write Allocate: o racional é que se se tem que ir realizar a escrita em memória, não há muito a ganhar por ter este bloco na cache. José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 10 / 14

Bits de Controlo José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 11 / 14

Bits de Controlo Valid: indica se o valor associado à etiqueta está correcto ou não utilizado, por exemplo, para invalidar todas as posições da cache quando se re-inicializa o sistema José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 11 / 14

Bits de Controlo Valid: indica se o valor associado à etiqueta está correcto ou não utilizado, por exemplo, para invalidar todas as posições da cache quando se re-inicializa o sistema Dirty: indica que o valor que está na cache é mais recente do que o valor em memória primária utilizado apenas no caso das caches write-back José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 11 / 14

Bits de Controlo Valid: indica se o valor associado à etiqueta está correcto ou não utilizado, por exemplo, para invalidar todas as posições da cache quando se re-inicializa o sistema Dirty: indica que o valor que está na cache é mais recente do que o valor em memória primária utilizado apenas no caso das caches write-back R/W: indica se uma posição de memória pode ser escrita ou se é só de leitura José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 11 / 14

Bits de Controlo Valid: indica se o valor associado à etiqueta está correcto ou não utilizado, por exemplo, para invalidar todas as posições da cache quando se re-inicializa o sistema Dirty: indica que o valor que está na cache é mais recente do que o valor em memória primária utilizado apenas no caso das caches write-back R/W: indica se uma posição de memória pode ser escrita ou se é só de leitura LRU: indica que esta via foi a última a ser acedida utilizado nas caches com 2-vias de associatividade para implementar a poĺıtica de substituição LRU José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 11 / 14

Bits de Controlo Valid: indica se o valor associado à etiqueta está correcto ou não utilizado, por exemplo, para invalidar todas as posições da cache quando se re-inicializa o sistema Dirty: indica que o valor que está na cache é mais recente do que o valor em memória primária utilizado apenas no caso das caches write-back R/W: indica se uma posição de memória pode ser escrita ou se é só de leitura LRU: indica que esta via foi a última a ser acedida utilizado nas caches com 2-vias de associatividade para implementar a poĺıtica de substituição LRU Accessed: indica que esta via foi acedida desde a última vez que este bit foi colocado a 0 aproximação da poĺıtica LRU, sendo colocado a 0 em intervalos de tempos regulares e colocado a 1 quando a via for acedida José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 11 / 14

Caches Multi-nível up Cache L1 Cache L2 Memória Primária t acesso = t hl1 + p ml1 t pl1 t pl1 = t hl2 + p ml2 t pl2 t acesso = t hl1 + p ml1 (t hl2 + p ml2 t pl2 ) José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 12 / 14

Taxas Locais e Globais Taxa de Faltas Local: fracção dos acessos à cache com falta nessa cache Taxa de Faltas Global: fracção dos acessos processador com falta na cache p missgloball2 = p misslocall1 p misslocall2 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 13 / 14

Taxas Locais e Globais Taxa de Faltas Local: fracção dos acessos à cache com falta nessa cache Taxa de Faltas Global: fracção dos acessos processador com falta na cache p missgloball2 = p misslocall1 p misslocall2 local igual a global para a cache L1 taxa de faltas local da L2 muito elevada, a global é uma medida melhor José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 13 / 14

Arquitectura de Harvard up Cache Instruções Cache Dados Memória Primária José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-14 14 / 14