Aham
Milene B. Carvalho1, Carlos A. P. S. Martins2
Laboratório de Sistemas Digitais e Computacionais (LSDC)
Programa de Pós-Graduação em Engenharia Elétrica, Pontifícia Universidade Católica de
Minas Gerais, Av. Dom José Gaspar 500, Belo Horizonte, MG.
1
milenebc@yahoo.com.br, 2capsm@pucminas.br
Resumo
Neste artigo apresentamos uma arquitetura de cache com associatividade reconfigurável. Nossos objetivos principais são: propor e analisar uma arquitetura de memória cache com associatividade reconfigurável/variável. Apresentamos a taxa de erro da execução de algumas cargas de trabalho reais representadas por traces obtidos do BYU Trace
Distribution Center. Analisamos o desempenho da arquitetura proposta através de comparação das taxas de erro obtidas através da simulação da arquitetura e de caches associativas por conjunto. Além disso, analisamos o espaço necessário para armazenar as tags na cache. Nossa principal contribuição é a proposta de uma arquitetura de memória cache com associatividade reconfigurável/variável capaz de se adaptar às diferentes cargas de trabalho.
1. Introdução
Idealmente, a memória principal de um computador deveria ser grande o suficiente para armazenar qualquer quantidade de bytes desejada e, ao mesmo tempo, veloz o suficiente, para que seu acesso não exigisse um tempo diferente de zero [3]. Como isso não é possível, os pesquisadores que participaram do projeto do ENIAC (Electronic Numerical Integrator and Calculator), considerado pela maioria dos pesquisadores o primeiro computador de propósito geral, sugeriram a criação de uma hierarquia de memória. Dentro de uma hierarquia de memória, as camadas que estão entre a memória principal e a UCP (Unidade
Central de Processamento), são chamadas de memória cache. Sua utilização tem o objetivo de melhorar o desempenho da memória do sistema computacional, baseada no principio de localidade de referência