EO_509

ANALOG DMA Accesso al bus e cicli della CPU Sebbene i controllori DMA possano essere incredi- bilmente efficaci per risparmiare energia o accelera- re i sistemi embedded, la loro implementazione non è ancora molto standardizzata. Esistono diversi schemi per garantire che l’accesso al bus interno non avvenga contemporaneamente alla CPU. L’obiettivo dello sche- ma di accesso al bus è principalmente di evitare l’ac- cesso simultaneo alle stesse posizioni di memoria, che può portare a incoerenze della cache e a errori logici. In genere, per impiegare uno di questi schemi viene configurato un singolo controllore DMA, in quanto per l’utilizzo di ciascuno di essi può essere necessario un controllo hardware o firmware diverso. Gli schemi di accesso al bus utilizzati dalla maggior parte dei con- trollori DMA sono burst, cycle-stealing e trasparente, che sono riportati nelle figure 1, 2 e 3. Il DMA trasparente può eseguire una singola operazio- ne alla volta, ma deve anche attendere che il processore esegua le istruzioni con cui garantisce l’accesso ai bus di dati o di indirizzi desiderati. Per verificare questa restrizione di accesso è necessaria una logica aggiun- Vantaggi nell’Uso del DMA Tempo CPU Il DMA riduce al minimo l'esecuzione del processore e gli interrupt, diminui- sce il tempo necessario alla CPU per le transazioni di dati. Potenza Assorbita L’uso del DMA può consentire di ridurre al minimo il consumo di energia, se permette al processore di andare in sleep durante i trasferimenti DMA. Funzionamento Parallelo A seconda dell’architettura del bus di sistema, il processore può essere in gra- do di eseguire altre operazioni mentre sono in corso transazioni di dati con le periferiche. Svantaggi nell’Uso del DMA Costo L'integrazione del DMA in un sistema richiede un controllore DMA, che può rendere il sistema più costoso. Complessità Se da un lato il DMA può ridurre la frequenza degli interrupt, dall'altro può aumentare le dimensioni e la complessità del firmware. Dipendenza dalle Piattafor- me I controllori DMA hanno architetture interne diverse fra un produttore e l'al- tro e possono avere un comportamento diverso a seconda dei propri schemi di accesso al bus. Incoerenza della Cache Le transazioni DMA possono causare errori logici scrivendo su un livello cache della gerarchia di memoria. Questo problema può essere risolto utiliz- zando architetture di sistema coerenti con la cache o invalidando la scrittura nella memoria cache al completamento del DMA. Tabella 2 - Svantaggi nell’uso del DMA Tabella 1 - Vantaggi nell’Uso del DMA ELETTRONICA OGGI 509 - APRILE 2023 25

RkJQdWJsaXNoZXIy Mzg4NjYz