Direct memory access (DMA) maakt het mogelijk om data over te brengen van een niveau in de geheugenhiërarchie met een minimale tussenkomst van de centrale verwerkingseenheid (processor, CPU). Aangezien dit parallel gebeurt met de bewerkingen die op dat moment op de CPU lopen, vormt DMA een belangrijk onderdeel in de aanspreking van de hardware en de basis van efficiënte en goed presterende drivers en applicaties.
In veel toepassingen staat DMA tegenover cache-operaties. Simpel gezegd laat DMA toe efficiënter te werken dan de cache controller kan toelaten, maar vereist een duidelijk inzicht van de programmeur in het algoritme of code.
Sommige processoren zoals digitale signaalprocessors bezitten bovendien ook geen cache controller (of cache) of wordt de cache-operatie afgezet voor expliciete prestatiedoeleinden; cache-operaties zijn namelijk altijd onderhevig aan een inschatting van de cache controller over welke data nodig zal zijn in een volgende stap.