O que é um barramento de cache?
Um barramento de cache é um barramento dedicado de alta velocidade que um processador de computador usa para se comunicar com sua memória cache. Também conhecido como barramento traseiro, ele opera a uma velocidade muito maior do que o barramento do sistema. Um barramento de cache conecta diretamente um núcleo do processador ao seu cache; ele roda independentemente do barramento do processador, transferindo dados por um caminho mais amplo e menos restrito. Um barramento de cache é usado na maioria dos processadores modernos para diminuir o tempo necessário para ler ou modificar dados acessados com freqüência.
Na década de 1980, a memória cache estava geralmente localizada na placa-mãe, não no próprio processador. O cache foi acessado pelo barramento do processador, assim como a memória normal do sistema. A quantidade de memória cache geralmente era muito pequena e oferecida apenas como um aprimoramento opcional do desempenho do sistema.
À medida que a velocidade e a eficiência do processador aumentavam no início dos anos 90, o barramento do processador se tornou um gargalo; a memória cache rápida precisava de uma maneira de interagir com o processador sem esperar que as operações de memória e sistema de entrada / saída fossem muito mais lentas. Em meados dos anos 90, a maioria dos novos processadores adotou uma arquitetura de barramento duplo para resolver esse problema. Um barramento de cache de alta velocidade foi criado para acessar o cache diretamente. Esse barramento não é usado para mais nada - todas as outras transferências de dados utilizam o barramento mais lento do processador, também conhecido como barramento frontal. O processador pode usar os dois barramentos simultaneamente, resultando em desempenho substancialmente melhor.
Os primeiros projetos de barramento duplo usavam frequentemente a memória cache localizada na placa-mãe; grandes quantidades de cache no chip ainda não eram rentáveis devido a problemas de rendimento da produção. Projetos posteriores geralmente incorporavam uma mistura de cache interno e externo à medida que o rendimento aumentava. Processadores modernos geralmente utilizam uma grande quantidade de cache interno; muitos incluem 8 megabytes (MB) ou mais, em comparação com projetos mais antigos que geralmente tinham apenas 8 kilobytes (KB). Em projetos modernos, onde todo o cache está no chip, o barramento de cache pode ser bastante curto com um caminho de dados muito amplo, 512 bits em alguns processadores. O barramento normalmente roda na mesma velocidade que o próprio processador. O resultado final é que o conteúdo do cache pode ser lido ou modificado muito rapidamente.
Cada núcleo de um processador multinúcleo pode ter seu próprio cache ou compartilhar um grande cache comum. Nos dois casos, um barramento de cache conecta cada núcleo à memória cache apropriada. Quando cada núcleo do processador possui seu próprio cache separado, podem surgir problemas de coerência. Por exemplo, quando um núcleo atualiza dados em seu cache, outras cópias desses dados em outros caches ficam desatualizadas ou "obsoletas". Uma maneira de resolver esse tipo de problema é usar um tipo especial de barramento de cache, às vezes chamado de barramento entre núcleos. Esse barramento vincula todos os caches para que cada um possa monitorar o que os outros estão fazendo - se um atualiza uma parte dos dados compartilhados, os outros podem refletir imediatamente o novo conteúdo.