Vad är direkt minnesåtkomst?
Direktminnesåtkomst, ibland kallad DMA, är en metod för att överföra data från det slumpmässiga åtkomstminnet till en annan del av en dator utan att ockupera den centrala bearbetningsenheten. Denna kapacitet är inbyggd i de flesta moderna datorsystem. Det gör det möjligt för datorn att utföra flera uppgifter på en gång, vilket i slutändan gör datorn snabbare.
Precis som ägaren till ett litet företag handlar om alla rapporter och information som går in i eller ut från hans eller hennes kontor, måste den centrala bearbetningsenheten för en dator bearbeta all ingång eller utgång på datorn. Innan direktminnesåtkomst tog nedladdning eller uppladdning av data upp all den centrala processorns uppmärksamhet. Det kunde bara göra en uppgift åt gången.
En dator med direkt minnesåtkomst aktiverad är som en liten företagare med ett par assistenter. Istället för att hantera all information direkt kan den centrala bearbetningsenheten delegera uppgiften till den direkta minnesåtkomstkontrollen. Detta är en enhetsbuilt in i moderkortet som övervakar direkta minnesåtkomstoperationer. Den centrala bearbetningsenheten är då fri att utföra andra uppgifter medan uppladdningen eller nedladdningen sker. När den delegerade uppgiften är klar, berättar DMA -styrenheten den centrala bearbetningsenheten.
Varje port på en dator har minst en direkt minnesåtkomstkanal som kan tilldelas 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 kan också använda direkt minnesåtkomst. De har i allmänhet en typ av tillfälligt minne som kallas lokalt eller skrappadminne. När åtgärden de arbetar med är klar kan de överföra data från lokalt minne till huvudminnet med en direktåtkomst MEmory Channel.
Nackdelen till beroende på DMA är att det kan orsaka det som kallas en förlust av cache -koherens. I grund och botten innebär detta att data rör sig hela tiden och kan lagras på flera tillfälliga platser. Problemet med detta är att när datorn uppmanas att få åtkomst till information kanske den inte får åtkomst till den senaste informationen. Datortillverkare kan hantera detta med hjälp av speciell hårdvara eller genom att programmera operativsystemet för att skydda mot förlust av cache -koherens.