Wat is DMA?
DMA staat voor Direct Memory Access, een vermogen in de moderne computers waarmee randapparatuur data sturen naar het moederbord het geheugen zonder tussenkomst van de CPU.
De DMA-controllers zijn speciale hardware - nu verankerd in de chip in moderne geïntegreerde processoren - dat het beheer van de gegevensoverdracht en bemiddelen bij de toegang tot het systeem bus. De controllers zijn geprogrammeerd met de bron en de bestemming pointers (waar te lezen / schrijven van de gegevens), tellers voor het bijhouden van het aantal overgedragen bytes, en instellingen, waaronder I / O en geheugen types, interrupts en stelt voor de CPU cycli.
Overdrachten zijn gestart toen de DMA-controller is in kennis gesteld van de noodzaak om gegevens te verplaatsen naar het geheugen van sommige evenement (toetsenbord drukt of de muis klik, voor voorbeelden). De controleur stelt een DMA verzoek signaal naar de CPU-gebruik te maken van het systeem bus. De CPU voltooit haar huidige werking en rendementen controle van de bus naar het DMA-controller via een DMA erkennen signaal. De controller leest en schrijft gegevens en controles signalen alsof het de CPU, die op dat moment is tri-verklaard (idled). Na voltooiing van de overdracht, de DMA-controller stelt de DMA verzoek signaal en de CPU op zijn beurt verwijdert haar DMA erkennen signaal en hervat controle van de bus.
DMA is geïmplementeerd in computer-bus architecturen om vaart te zetten achter de computer en het toestaan multitasking. Normaal gesproken is de CPU volledig zal worden bezet in een lees / schrijf-operatie, waardoor DMA kunt lezen / schrijven van gegevens in het interne geheugen, extern geheugen en randapparatuur zonder CPU betrokkenheid, waardoor de processor beschikbaar voor andere taken. Dit zorgt voor gestroomlijnde operaties, zoals verkeer van gegevens naar / van geheugen is een van de meest voorkomende computer en het vrijmaken van de CPU van deze overhead kan leiden tot een significante verbetering in de prestaties.
DMA is handig in real-time computing toepassingen waar kritische operaties gedaan moet worden toegepast. Stream verwerking is een andere toepassing van DMA, waar de overdracht en verwerking van gegevens gebeurt gelijktijdig. Veel hardware-systemen maken gebruik van DMA inclusief floppy disk drive en controllers, grafische kaarten, netwerkkaarten, geluidskaarten en grafische verwerking eenheden.
Implementaties
Synchrone DMA beweegt een byte of woord in een tijd tussen systeemgeheugen en een randapparaat. Na het voltooien van elke overdracht, de DMA vraagt de I / O-poort om aan te geven wanneer deze klaar is voor een andere transactie. In deze set-up, de DMA en de CPU-aandelen de bus cycli, met de DMA winnende elke wedstrijd voor systeem bus controle.
Burst-modus DMA wordt ervan uitgegaan dat zowel de bestemming en de bron kan de overdracht zo snel als de controller kan maken. De CPU wordt de controller, en na een signaal van de I / O-poort, wordt de gehele data wordt gekopieerd naar de bestemming. De DMA-controller is als enige toegang tot het systeem de bus tijdens de overdracht, die zeer snel in vergelijking met synchrone DMA.
Flyby DMA, die niet wordt ondersteund door alle controllers, legt de bron of bestemming adres, dan start een gelijktijdig lezen en schrijven cyclus. Flyby transfers zijn zeer snel als het lezen en schrijven cyclus cyclus zijn gecomprimeerd tot een enkele cyclus. Flyby kan zowel burst en synchrone soorten transacties.
|
Bookmark Wat is DMA?

