Minha pergunta é: como a CPU grava dados no RAM?
Pelo que entendi, as CPUs modernas usam diferentes níveis de cache para acelerar o acesso à memória RAM. A RAM obtém um comando para obter informações e, em seguida, envia uma explosão de dados para a CPU, que armazena os dados necessários (e um monte de dados extras que estavam próximos do endereço que a CPU queria) no cache de nível mais alto, a CPU solicita progressivamente os caches diferentes para enviar pedaços cada vez menores de dados para baixo dos níveis de caches até chegar ao cache de nível 1, que é lido diretamente em um registro da CPU.
Como esse processo funciona quando a CPU grava na memória? O computador diminui os níveis de cache (na ordem inversa à da leitura)? Em caso afirmativo, que tal sincronizar as informações nos diferentes caches com a memória principal? Além disso, como a velocidade de uma operação de gravação é comparada a uma operação de leitura? O que acontece se eu estiver gravando continuamente na RAM, como no caso de uma classificação de bucket?
Desde já, obrigado,
-Faken
Edit: Eu ainda não recebi uma resposta que eu possa aceitar completamente. Quero saber especialmente sobre a parte de sincronização da gravação em RAM. Eu sei que gravamos no cache L1 diretamente da CPU e que os dados são empurrados para baixo dos níveis de cache, à medida que sincronizamos os diferentes níveis de caches e, eventualmente, a RAM principal é sincronizada com o cache de nível mais alto. No entanto, o que eu gostaria de saber é QUANDO os caches são sincronizados e sincronizados com a RAM principal e com que rapidez são suas velocidades em relação aos comandos de leitura.
fonte