Clube do Hardware
Home
Home
Armazenamento
Armazenamento
Energia
Energia
Gabinetes
Gabinetes
Placas-Mãe
Placas-Mãe
Processadores
Processadores
Redes
Redes
Vídeo
Vídeo
Windows
Windows
Outros
Outros
Conteúdo
Artigos
Editoriais
Notícias
Primeiras Impressões
Testes
Tutoriais
Menu Principal
Blog
Boletim
Classificados
Compra Coletiva
Descubra a Marca
Dicionário
Download
Drivers
Dúvidas
Fórum
Links
Livros Recomendados
Livros do Autor
Pesquisa de Preços
Produtos Recomendados
Provas
RSS
Sobre
Sorteio
Boletim
Assine hoje mesmo!
 
Procura
 




Home » Processadores

Como o Cache de Memória Funciona
Autor: Gabriel Torres e Cássio Lima
Tipo: Tutoriais Última Atualização: 20 de setembro de 2007
Página: 7 de 9
Organização do Cache de Memória

O cache de memória é divido internamente em linhas, cada uma podendo guardar de 16 a 128 bytes, dependendo do processador. Na maioria dos processadores atuais o cache de memória está organizado em linhas de 64 bytes (512 bits), portanto consideraremos um cache de memória usando linhas de 64 bytes em nossos exemplos dados neste tutorial. Na última página apresentaremos as especificações dos caches de memória dos principais processadores encontrados no mercado atualmente.

Portanto, um cache de memória L2 de 512 KB é dividido em 8.192 linhas. Lembre-se que 1 KB é igual a 2^10 ou 1.024 bytes e não 1.000 bytes. A conta é a seguinte: 524.288 / 64 = 8.192. Nós consideraremos um processador de um único núcleo com 512 KB de memória cache L2 em nossos exemplos. Na Figura 5 ilustramos esta organização interna deste cache de memória.

Figura 5: Como um cache de memória L2 de 512 KB é organizado.

O cache de memória pode funcionar em três diferentes organizações: cache com mapeamento direto, cache completamente associativo e cache associativo por grupos (também conhecido como cache associativo por grupos de n-vias). O cache associativo por grupos é a configuração mais usada atualmente, mas vamos dar uma olhada em como essas três configurações funcionam.

Cache com Mapeamento Direto

O cache com mapeamento direto é a maneira mais simples de se criar um cache de memória. Nesta configuração a memória RAM é dividida no mesmo número de linhas que existem dentro do cache de memória. Se tivermos um micro com 1 GB de memória RAM, esse 1 GB será dividido em 8.192 blocos (assumindo que o cache de memória use a configuração que descrevemos acima), cada um com 128 KB (1.073.741.824 / 8.192 = 131.072 – lembre-se que 1 GB é igual a 2^30 bytes, 1 MB é igual a 2^20 bytes e 1 KB é igual a 2^10 bytes). Se o micro tivesse 512 MB a memória também seria dividida em 8.192 blocos, mas desta vez cada bloco teria 64 KB. E assim por diante. Nós ilustramos essa organização na Figura 6.


clique para ampliar
Figura 6: Como o cache com mapeamento direto funciona.

A principal vantagem do mapeamento direto é que essa é a configuração mais fácil de ser implementada.

Quando o processador solicita por um dado endereço da memória RAM (por exemplo, o endereço 1.000), o controlador de cache carregará uma linha (64 bytes) da memória RAM e armazenará esta linha no cache de memória (isto é, endereço 1.000 até 1.063, assumindo que estamos usando um esquema de endereçamento de 8 bits só para ajudar em nossos exemplos). Portanto se o processador solicitar novamente o conteúdo deste endereço ou de alguns endereços próximos desse (ou seja, qualquer endereço na faixa de 1.000 a 1.063) eles já estarão dentro do cache.

O problema é que se o processador precisar de dois endereços que estão mapeados na mesma linha do cache, um erro do cache acontecerá (este problema é chamado colisão ou conflito). Continuando nosso exemplo, se o processador solicitar o endereço 1.000 e então solicitar o endereço 2.000, um erro do cache acontecerá porque esses dois endereços estão dentro do mesmo bloco (os primeiros 128 KB da memória RAM), e o que estava dentro do cache era uma linha começando com o endereço 1.000. Portanto o controlador de cache carregará a linha do endereço 2.000 e armazenará ela na primeira linha do cache de memória, limpando o conteúdo antigo, em nosso caso a linha de endereço 1.000.

O problema continua. Se o processador tem de executar um laço de repetição (loop) maior do que 64 bytes, haverá um erro do cache durante o tempo de duração do loop.

Por exemplo, se o loop for do endereço 1.000 até o endereço 1.100, o processador terá de carregar todas as instruções diretamente da memória RAM enquanto o loop durar. Isto acontecerá porque o cache terá o conteúdo do endereço 1.000 até 1.063 e quando o processador solicitar o conteúdo do endereço 1.100 ele terá buscá-lo na memória RAM, e o controlador de cache carregará os endereços 1.100 até 1.163. Quando o processador solicitar o endereço 1.000 novamente ele terá que voltar na memória RAM, já que o cache não tem mais o conteúdo do endereço 1.000. Se este loop for executado 1.000 vezes, o processador terá que ir à memória RAM 1.000 vezes.

É por isso que o cache com mapeamento direto é a configuração de cache menos eficiente e não é mais usada – pelo menos nos PCs.

Cache Completamente Associativo

Na configuração completamente associativa, por outro lado, não existe uma ligação fixa entre as linhas do cache de memória e as localizações da memória RAM. O controlador de cache pode armazenar qualquer endereço. Portanto o problema descrito acima não acontece. Esta configuração é a mais eficiente (ou seja, apresenta uma maior taxa de acertos).

Por outro lado, o circuito de controle é muito mais complicado, já que precisa monitorar quais localizações estão carregadas dentro do cache de memória. É por isso que uma solução hibrida – chamada cache associativo por grupos – é mais usada atualmente.

Páginas (9): « 1 2 3 4 5 6 [7] 8 9 »
Imprimir | Enviar a um Amigo | Adicionar aos Favoritos | Comentários (2)

Conteúdo Relacionado
  • Processadores Para o Próximo Milênio - Parte 3
  • Processadores de Núcleo Duplo da AMD
  • Tecnologia de Núcleo Duplo da Intel
  • Teste do Processador Athlon 64 FX-57
  • Todos os Modelos do Pentium 4
  • Classificados
  • Processador Amd Athlon 64 X2 5600+ Socket Am2 2.9ghz Box - R$ 289,00
  • Proc. Amd Phenom 64 X3 8450 Box, 3 Anos De Garantia + Nf - R$ 335,00
  • Processador Core 2 Quad Intel Q6600 2.4ghz 8mb Box +Nf - R$ 709,00
  • Processador Amd Phenom 9550 Am2+ X4 2.2ghz 4.0mb L2+L3 Box - R$ 532,00
  • Processador Intel Core 2 Quad Q6600 Box 2.4ghz 8mb + Nf - R$ 648,00
  • Mais Ofertas...
  • Ofertas de Lojas Parceiras
    Processador Intel CORE2 DUO 3.0 GHz E6850 4MB LGA775 FSB 1333 MHZ - BOX - ... - Pronta Entrega com nota fiscal ! - cod. 6689 - R$ 675,75 ou 10x de R$ 79,50 (3,07% a.m.)
    Processador Core 2 Quad Q9300, 45nm, 2. 50 GHz, Quad Core, FSB 1333 Mhz, Socket LGA, 6 MB Cache, In Box Garantia: 3 anos, LACRADO COM NOTA FISCAL. - R$ 898,00 ou 12x de R$ 94,80 (3,84% a.m.)
    Walita Processador Compacto Walita RI7620 / 71 127V Portáteis Processador de Alimentos - R$ 219,00 ou 10x sem juros de R$ 21,90
    Proc. AMD Athlon64 X2 5200 2.7GHz 1280 KB Dual Core AM2 ( AT64X25200 ) - R$ 225,00
    Processador Intel Pentium Dual Core E2200 2.20 GHz 775 Box - R$ 278,71 ou 10x de R$ 32,79 (3,07% a.m.)
    BuscapéVeja Mais Ofertas de Processador no Buscapé

    Últimas Notícias
    ASUS Lança Netbook Eee PC 1002HA
    01 de dezembro de 2008 - 16:08 H
    Novos Processadores Para Desktop da Intel
    01 de dezembro de 2008 - 12:42 H
    Novas Ventoinhas da Thermalright
    28 de novembro de 2008 - 09:38 H
    Glacialtech Lança Cooler UFO V51
    27 de novembro de 2008 - 16:16 H
    Lexar Media Lança Kits de Memória para o Core i7
    26 de novembro de 2008 - 14:34 H
    Fontes de Alimentação Fatal1ty da OCZ
    26 de novembro de 2008 - 14:04 H
    Hynix Introduz Chips de Memória GDDR5 de 7 Gbps
    25 de novembro de 2008 - 14:30 H
    Fontes de Alimentação Real Power Pro da Cooler Master
    24 de novembro de 2008 - 14:35 H
    Geil Lança Cooler EVO Cyclone para Memórias
    21 de novembro de 2008 - 13:02 H
    Ventoinhas Smart Fan da Akasa
    20 de novembro de 2008 - 12:08 H
    .:: Mais Notícias ::.

    Últimos Artigos
    Teste do Gabinete Leadership Goldship Smart Handle
    Teste do Teclado-Scanner KeyScan KS810
    Como um notebook pode aumentar sua qualidade de vida? Qual o papel que ele desempenha em sua vida?
    Teste da Fonte de Alimentação Seventeam ST-550P-AG
    Teste da Fonte de Alimentação Leadership Gamer Wireless 900 W
    Encontrado o Melhor Desempenho Por Watt para o Folding@Home
    Design de Laptops: Como a forma pode melhorar a função?
    Teste da Placa de Vídeo GeForce GTX 260 com 216 Processadores
    Teste da Webcam QuickCam Pro 9000 da Logitech
    Teste da Fonte de Alimentação OCZ EliteXStream 1000 W
    Tudo o Que Você Precisa Saber Sobre Megapixels
    Teste do Neural Impulse Actuator da OCZ
    Teste da Fonte de Alimentação Corsair HX1000W
    Qual Deve Ser a Autonomia Ideal de Uma Bateria?
    Teste da Fonte de Alimentação eXtream Aurora 700 W

    Últimas Mensagens no Fórum
    330.037 usuários cadastrados
    1.232 usuários on-line
    MSN é agora pago? E em todas as versões??
    por cervantiz
    (267 visualizações, 17 respostas)
    Processo do IE abre sozinho!
    por adriano_pfs
    (152 visualizações, 8 respostas)
    Problemas com a Conecção Discada
    por cervantiz
    (26 visualizações, 2 respostas)
    [Mini Review] Gateway M-Series Modelo 6851 HD2600 512MB GDDR3 dedicados.
    por ice2642
    (64.956 visualizações, 1.411 respostas)
    AMD Shanghai/Deneb
    por Dragum
    (5.379 visualizações, 223 respostas)
    Left 4 Dead
    por Noobert
    (2.375 visualizações, 68 respostas)
    Caixinha 2.1
    por cervantiz
    (322 visualizações, 7 respostas)
    Tela preta Gunbound
    por noiado
    (1.094 visualizações, 7 respostas)
    Resident Evil 4
    por shield
    (184.345 visualizações, 1.363 respostas)
    Intel Nehalem
    por Dragum
    (20.872 visualizações, 621 respostas)
    .:: Visite Nosso Fórum ::.

    © 1996-2008, Clube do Hardware. Todos os direitos reservados.
    Anuncie Conosco | Informações Legais | Política de Privacidade