Önbellek bakımı
Önbellek ile DMA denetleyicisinin belleğin içeriği konusunda hemfikir olması için yazılımın açıkça vermesi gereken işlemler.
Önbelleği olmayan bir mikrodenetleyicide DMA doğrudan RAM’e yazar, işlemci de oradan okur. 2014’te mikrodenetleyici dünyasına veri önbelleği getiren Cortex-M7 bunu bitirdi: DMA denetleyicisi önbelleği atlar ve ikisini senkron tutan bir donanım yoktur. Göndermeden önce tampon temizlenmeli (clean), böylece kirli satırlar RAM’e ulaşmalıdır. Aldıktan sonra ise geçersiz kılınmalı (invalidate), böylece işlemci eski kopyaları okumayı bırakmalıdır.
Tuzak, 32 baytlık satır boyutudur. Satır sınırında başlayıp bitmeyen bir tampon, satırları başka değişkenlerle paylaşır; onu geçersiz kılmak onların yeni yazılmış değerlerini de sessizce çöpe atar. Tembel alternatif — MPU ile DMA belleğini önbelleğe alınamaz işaretlemek — bedelini hata ayıklama saatleriyle değil verimle öder ve çoğu zaman daha iyi bir takastır.