• Save

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this document? Why not share!

Memoria cache princípio da localidade

on

  • 3,111 views

 

Statistics

Views

Total Views
3,111
Views on SlideShare
3,111
Embed Views
0

Actions

Likes
2
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Memoria cache   princípio da localidade Memoria cache princípio da localidade Document Transcript

  • Por conta do gargalo existente entre Processador e Memória Principal, na busca por minimizar o impacto causado por essa “espera” obrigatória, do processador pelos ciclos da MP, foi desenvolvido um elemento intermediário entre Memória e Processador, que se tornou indispensável nos sistemas atuais de computação: Seu nome - Memória CACHE.A busca constante pela maior eficiência do processador, nos sistemas computacionais, fezsurgir a Hierarquia de memória, que divide em categorias as memórias existentes. O objetivodessa divisão é dar tratamento integrado e melhor gerenciamento de recursos que permitamum melhor aproveitamento das funções do processamento. Nessa pirâmide é demonstrada arelação de custo-benefício das memórias primárias, secundárias e demais.
  • O Principio de LocalidadeCom o advento do multiprocessamento, constatou-se que os tempos de acesso à memóriapoderiam constituir um grande gargalo e até impedir a evolução dos Processadores, quesempre dependeram do acesso à Memória Principal a fim de processar as informações numSistema. O objetivo dos projetos da Arquitetura de Computadores sempre foi o de dar maioreficiência ao processador, diminuindo seu tempo ocioso (silêncios) e permitindo maior usocompartilhado por parte dos processos.Com a continuada pesquisa em aplicações científicas, comerciais e acadêmicas, percebeu-seque os programas, na sua grande maioria, são executados em lotes de instruções, que sãofrequentemente acessadas pelo processador e que há grande chance de que essas instruções,uma vez acessadas sejam acessadas novamente em um curto espaço de tempo.Estabelecido o “Princípio da Localidade”, sabemos hoje que ele pode ser analisado em duasfaces:A Localidade Temporal: Que diz respeito ao intervalo de tempo em que o processador fazacesso à Palavra da Memória – Se um Bloco foi acessado recentemente, há grandes chancesprobabilidades de que ele seja novamente acessado em breve, durante a execução de umprograma (loop).A Localidade Espacial: Que diz respeito à probabilidade de que o Processador, ao acessar umaPalavra, em seguida tentará acessar uma Palavra na memória subjacente à anteriormenteacessada. Se uma Palavra foi acessada recentemente, há grandes probabilidades de que, opróximo acesso à Memória Principal se dê em busca de Palavras (blocos) subjacentes.A função da Memória Cache, neste contexto, é justamente servir de repositório das Palavras(ou bloco de informações) mais comumente acessadas pelo processador, durante a execuçãode uma aplicação, diminuindo a quantidade de acessos à Memória Principal, que é exterior aoprocessador, causando uma drástica diminuição nos tempos de resposta.Cada vez que o processador precisa acessar um bloco, a busca se dá, primeiramente, nas linhasda Memória Cache. Se a informação está armazenada ali, chamamos a isso de hit, casocontrário, a busca e a transferência da informação será feita na Memória Principal (através dosBarramentos de Controle, Endereços e de Dados).  hit  acertos  miss  falhas
  • A proporção de hits, num projeto para implementação de Memória Cache, é um dos fatoresrelevantes para sua construção. Outros fatores levados em conta são: Tempo de acesso a memória principal; O custo médio, por bit, da memória principal, da cache; O tempo de acesso das memórias cache L1 ou L2; A natureza do programa a ser executado no momentoEsquemas de Escrita da Memória CacheOs blocos (Palavra) escritos na Memória Cache, mantêm o seu correspondente na MemóriaPrincipal. Quando é necessário fazer a relocação do bloco (substituição ou swap), oProcessador verifica se houve alteração no dado armazenado.As memórias caches possuem dois modos básicos para trabalhar em relação à atualização dosdados na memória principal durante uma escrita: a) Write-through - Os dados são atualizados tanto na memória cache como na memória principal. b) Write-back - Os dados são atualizados apenas na memória cache, e copiados para a memória principal, apenas quando da substituição do bloco/linha modificado na Memória Cache. DIVISÃO DAS MEMÓRIAS CACHEL1 - (Memórias Cache internas, no processador) – Posteriormente dividida em L1 paraInstrução e L1 para Dados;L2 - Pequena porção (maior que L1) inicialmente alocada na Placa Mãe, posteriormente foitrazida também para o interior do processador;L3 - De implementação mais recente, passou a existir com o advento K6 III, da AMD, como umrecurso externo de memória rápida adicional, já que os dois caches (L1 e L2) já estavamintegrados ao processador. Agora, a com o lançamento de múltiplos núcleos num mesmoprocessador, a maioria (AMD e INTEL, por exemplo) já vem com a cache L3 integrada.A divisão tradicional entre cache L1 e cache L2 funcionou bem durante a fase dosprocessadores Single-core e Dual-core. Entretanto, com a introdução dos processadores Quad-core passou a fazer mais sentido usar caches L1 e L2 menores e incluir um terceiro nível decache. Com isso, temos quatro pequenos blocos de cache L1 e L2 (um para cada núcleo) e umgrande cache L3 compartilhado entre todos. View slide
  • COMO A MEMÓRIA CACHE ARMAZENA DADOSMAPEAMENTO DIRETONeste tipo de mapeamento,a Memória Principal ésubdividida emagrupamentos de células,que podem ser armazenadosdiretamente nas “células” damemória cache. Estabeleceum mapeamento diretoentre os blocos da MemóriaPrincipal e as células damemória cache, de modoum bloco X estará sempreassociado a uma mesmacélula na memória cache.Vantagens:Implementação e funcionamento simples.Desvantagens:Inflexibilidade em relação ao estabelecimento da associação entre Memória Principal eMemória Cache, que pode acarretar um aumento na taxa de falhas (misses) nos acessos àMemória Cache, degradando o desempenho do sistema - quanto mais falhas, mais vezes oprocessador terá de buscar a informação na Memória Principal. View slide
  • MAPEAMENTO ASSOCIATIVODiferente do mapeamento direto, o Mapeamento associativo não determina um local fixo naMemória Cache para os blocos da Memória Principal; Os endereços de acesso a MP sãointerpretados da mesma forma que no mapeamento direto, porém o número de Bitsdemandados para a determinação do rótulo é maior.VantagensFlexibilidade na associação entre MP e MC;DesvantagensComplexidade de implementação;Maior demanda de processamentoMAPEAMENTO ASSOCIATIVO POR GRUPO DE N-VIASCriado com o objetivo de eliminar os problemas das técnicas de mapeamento direto emapeamento associativo; Blocos da MP são associados a um conjunto de linhas na MemóriaCache.Vantagem Máxima flexibilidadeno posicionamento dequalquer Palavra (oulinha) da memóriaprincipal em qualquerPalavra (ou linha) dacache.DesvantagensO custo em hardware para a comparação simultânea de todos os endereços armazenados nacache;Necessidade de se algoritmo de substituição (em hardware) para selecionar uma linha dacache na ocorrência um miss;
  • ALGORITMOS DA MEMÓRIA CACHEOs algoritmos de substituição de dados na Memória Cache, definem qual dos blocosarmazenados na memória cache podem ser retirados para armazenamento de no um novobloco.Esses algoritmos só se aplicam nos casos de mapeamentos associativos, já que por essemétodo, a posição do bloco na Memória Principal é que determinará a posição da informaçãona Memória Cache. Algoritmos de SubstituiçãoLRU (least Recently Used): Determina como candidatos à substituição os blocos que nãotenham sido acessados recentemente.FIFO (First-In-First-Out): Seleciona como candidato para substituição o bloco que foiarmazenado primeiro na Memória cache;LFU (least Frequently Used ): o sistema de controle selecionará o bloco que tem tido menosacessos por parte do processador;Escolha Aleatória: O sistema de controle da memória Cache escolhe aleatoriamente o blocoque será removido.Texto: Claudia Pereira da CostaFontes:Introdução à Organização de Computadores – 5ª Ed. - Mário A. Monteirohttp://www.inf.ufes.br/~fscpereira/oec/aulas/http://equipe.nce.ufrj.br/gabriel/sispar/ - Professor Gabriel P. Silva – UFRJ