ariáveis variáveis voláteis e memória cache

@Cache é controlado pelo hardware do cache de forma transparente para o processador; portanto, se usarmos variáveis voláteis no programa C, como é garantido que meu programa leia dados sempre do endereço de memória real especificado, mas não o cach

Meu entendimento é que,

palavra-chave Volatile informa ao compilador que as referências de variáveis não devem ser otimizadas e devem ser lidas conforme programado no códig

@Cache é controlado pelo hardware do cache de forma transparente; portanto, quando o processador emite um endereço, ele não sabe se os dados são provenientes do cache ou da memóri

Então, se eu precisar ler um endereço de memória sempre que necessário, como posso garantir que ele não seja referido no cache, mas no endereço necessári

De alguma forma, esses dois conceitos não se encaixam bem. Esclareça como é feito.

(Imaginando que temos uma política de write-back no cache (se necessário para analisar o problema))

Obrigado, Microkernel

questionAnswers(7)

yourAnswerToTheQuestion