O cache da CPU é gerenciado por qual componente de software?

9

Os caches da CPU são usados ​​explorando a localidade temporal e espacial. Minha pergunta é quem é responsável por gerenciar esses caches? Este sistema operacional identifica um padrão de acesso específico e depois gerencia (ou seja, armazena os dados) o cache, usando chamadas de função de sistema operacional de baixo nível?

gpuguy
fonte
Se os caches fossem gerenciados por software, as CPUs não executariam nada em termos de tempo; Além disso, isso não seria um problema 22?
Raphael

Respostas:

8

O cache da CPU lida com todo e qualquer acesso à memória, que é rápido demais para estar sob controle de software. Está totalmente embutido no hardware, no próprio chip da CPU ou na placa-mãe.

vonbrand
fonte
12

Os caches da CPU estão operacionais desde o momento em que a CPU é ligada. Nem o BIOS nem o sistema operacional são estritamente "necessários" para controlar os caches. O BIOS e o sistema operacional podem alterar as configurações de cache da CPU, mas não controlam a operação normal, tudo isso está embutido na própria CPU.

uli
fonte
Alguns processadores assumem como padrão o cache ativado; algum padrão para desativá-lo. Ter um cache ativado pode permitir que um processador se comporte de maneira um pouco controlada, mesmo quando não há RAM (por exemplo, o processador pode emitir um bipe no alto-falante várias vezes); desativá-lo inicialmente evitará a necessidade de desativá-lo antes de alterar qualquer opção de configuração de memória.
supercat 27/06
3

Depende totalmente da sua plataforma de hardware (por exemplo, o Nios® II fornece algumas instruções para gerenciar caches). Você deve ler as instruções e a linguagem assembly . Alguns processadores fornecem algumas instruções para gerenciar o cache em algum nível. por exemplo, o WBINVD fornece caches internos Write back e flush; inicie a gravação e a liberação de caches externos (ou INVD ).

Reza
fonte