Quando a CPU com um cache L1 faz uma gravação, o que normalmente acontece é que (assumindo que a linha de cache na qual está gravando já esteja no cache L1) o cache (além de atualizar os dados) marca essa linha de cache como suja , e gravará a linha com os dados atualizados mais tarde.
Uma otimização possível seria fazer com que o cache comparasse o conteúdo da gravação e o conteúdo anterior do cache e, se forem iguais, não marque a linha como suja. Como isso pode permitir que o cache evite retrocessos de vez em quando, posso ver como o fabricante da CPU pode ver isso valendo as portas necessárias para fazer essa lógica.
Minha pergunta: existem CPUs que realizam essa otimização?
Antecedentes do motivo pelo qual estou perguntando: estou escrevendo algum código que precisa ter acesso constante à memória; isto é, alguém que é capaz de ouvir o comportamento do cache não deve deduzir o que estou fazendo. Alguns dos meus acessos são gravações e, da maneira óbvia para implementar esse código, muitas gravações gravam os mesmos dados que já estão lá. Preciso fazer as gravações porque, dependendo dos dados, os dados que estou gravando podem ou não ser os mesmos, e é importante executar a mesma ação independentemente. Se a CPU otimizar realmente não escrevendo uma 'gravação sem alteração', isso significaria que o comportamento do cache variaria dependendo do que estou fazendo, o que subverteria meu objetivo.
Então, existe uma CPU que tenta otimizar as gravações dessa maneira?