Кеш - это функция процессора;если вы выполняете запись в память через ЦП, кэш будет обновляться и будет оставаться согласованным.
Если вы записываете в память другим способом (например, перенос DMA, как вы предлагаете), вам понадобится (возможно)предварительно очистите кеш, а затем скажите ЦПУ, что кеш недействителен.Как это сделать, зависит от вашей системы - например, см. INVD и WBINVD для x86.
Две хорошие статьи о когерентности кэша и DMA: Понимание кэширования и с использованием DMA (оба написаны Джеймсом Боттомли (James Bottomley), опубликовано в Linux Journal; «Кэширование» в выпуске 117, январь 2004 г. и «DMA» в выпуске 121, май 2004 г.).