EO_509

ANALOG DMA tiva e questo tipo di DMA è generalmente il più lento. Il DMA trasparente può essere vantaggioso nelle appli- cazioni in cui si deve eseguire un’elaborazione supple- mentare che non richiede l’accesso ai bus di memoria. In questo caso, il vantaggio sarebbe l’eliminazione del throttling della CPU, in quanto il processore non deve interrompere del tutto il proprio funzionamento. La tabella 3 sintetizza vantaggi e svantaggi dei vari tipi di DMA. Il DMA burst si verifica attraverso “raffiche” di grandi dimensioni e poco frequenti, in cui il controller DMA invia al buffer di destinazione una quantità di dati pari a quella che può contenere il buffer. Il controller DMA blocca il funzionamento della CPU per un periodo mol- to breve per spostare un’ampia porzione di memoria; quindi, cede nuovamente il bus alla CPU principale, ri- petendo l’operazione fino a completare il trasferimen- to. Il DMA burst è generalmente considerato il tipo più veloce. Al contrario, il trasferimento a singolo byte, o DMA cycle-stealing, si basa sullo stato della CPU ed esegue le operazioni solo tra le istruzioni di quest’ultima. In- serisce una singola operazione tra due cicli della CPU e quindi “ruba” tempo a quest’ultima. A causa della li- mitazione dell’esecuzione di un’operazione alla volta, è generalmente più lento del DMA burst. Esempio di Architettura DMA Burst Un esempio di controllore DMA burst si trova nel Fig. 3 – Durante le operazioni DMA, il DMA trasparente si verifica mentre il processore lavora su attività che non accedono ai bus dati o indirizzi Tab. 3 – Sintesi dei Tipi di DMA e dei relativi vantaggi/svantaggi Tipo di DMA Vantaggi Svantaggi DMA Burst Il tipo più veloce di DMA Tempi di idle della CPU relativamente lunghi DMA Cycle-Stealing La CPU non è in idle per lunghi periodi contigui Più lento del burst DMA DMA Trasparente Non è necessario il throttling nell’uso della CPU La forma di DMA più lenta Fig. 1 – Architettura del DMA burst durante le operazioni DMA Fig. 2 – DMA Cycle-stealing durante le operazioni DMA che si verificano tra due cicli della CPU ELETTRONICA OGGI 509 - APRILE 2023 26

RkJQdWJsaXNoZXIy Mzg4NjYz