Interfaces en busstandaarden
Welke uitspraak over het DMA-mechanisme met een ring van descriptors in het geheugen, dat veel wordt gebruikt bij netwerkkaarten en NVMe-SSD's, is juist?
- ADe CPU schrijft de data byte voor byte naar de registers van het apparaat om te verzenden
- BDe CPU schrijft het adres en de lengte van de overdracht alleen in een descriptor en meldt dat aan het apparaat, en het apparaat leest de descriptor en voert de overdracht zelf uit
- CDescriptors bestaan alleen in het apparaat en zijn voor de CPU niet zichtbaar
Antwoord en toelichting tonen
Antwoord: B. De CPU schrijft het adres en de lengte van de overdracht alleen in een descriptor en meldt dat aan het apparaat, en het apparaat leest de descriptor en voert de overdracht zelf uit
Een descriptorring is een mechanisme waarbij een in het hoofdgeheugen geplaatste tabel, waarin staat vanaf welk adres hoeveel bytes moeten worden verzonden, als een ring wordt gebruikt. De CPU schrijft de inhoud van de overdracht in een vrije descriptor en meldt één keer aan een register van het apparaat tot waar is geschreven. Het apparaat leest de descriptor via DMA, voert de overdracht uit en markeert de afgeronde descriptor als voltooid. CPU en apparaat kunnen zo veel overdrachten uitvoeren zonder op elkaar te wachten.