Vad är Direct Memory Access?

December 19

Direkt minnesåtkomst, som ibland kallas DMA, är en metod för att överföra data från direktminnet till en annan del av en dator utan att uppta den centrala behandlingsenheten. Denna förmåga är inbyggd i de flesta moderna datorsystem. Det gör att datorn kan utföra flera uppgifter samtidigt, i slutändan gör att datorn snabbare.

Precis som ägare av en liten affärer med alla rapporter och information som går in i eller ut ur sitt kontor, måste centralenheten i en dator bearbeta all in- och utdata av datorn. Innan direkt minnesåtkomst, tog nedladdning eller ladda upp data upp all den centrala processorn uppmärksamhet. Det kunde bara göra en uppgift i taget.

En dator med direkt minnesåtkomst aktiverad är som en småföretagare med ett par assistenter. Istället för att hantera all information direkt, är centralenheten kunna delegera uppgiften till den direkt minnesåtkomst controller. Detta är en enhet inbyggd i moderkortet som övervakar direkta minnesåtkomstoperationer. Den centrala processorenheten är sedan fri att utföra andra uppgifter när uppladdning eller nedladdning sker. När den delegerade uppgiften är klar, berättar DMA-styrenheten centralenheten.

Varje port på en dator har minst en direkt minnesåtkomst-kanal som kan tilldelas till enheter anslutna via den porten. För att fungera korrekt måste varje enhet tilldelas en annan kanal. De flesta kort som kan installeras i en dator, till exempel ljud, nätverk, eller grafikkort, kan använda direkt minnesåtkomst för att utföra sina uppgifter.

Multi-core processorer har även möjlighet att använda direkt minnesåtkomst. De har i allmänhet en typ av temporärt minne som kallas lokal eller anteckningsminnet. När åtgärden de arbetar på är klar, kan de överföra data från lokala minnet till huvudminnet med hjälp av en direktminneskanal.

Nackdelen med beroende på DMA är att det kan orsaka vad som kallas en förlust av cache koherens. I grund och botten innebär detta att uppgifterna rör hela tiden och kan lagras i flera tillfälliga platser. Problemet med detta är att när datorn ombedd att komma åt information, kan det inte komma åt den senaste informationen. Datortillverkare kan hantera detta genom att använda speciell hårdvara eller genom programmeringen av operativsystemet för att skydda mot förlust av cache koherens.

  • Direkt minnesaccess används med RAM.