Post by Domenico Giorgio Sorrenti
Buona la prima.
La questione non si può svolgere, per i tempi in gioco, a livello di interruzione: il meccanismo dell'interruzione implica l'eseguire istruzioni e l'eseguire istruzioni implica almeno l'accesso in memoria per il fetch. Con la tecnica DMA la periferica (il DMAC cui è connessa) accedono direttamente alla memoria quindi i tempi in gioco per l'arbitraggio sono quelli degli accessi alla memoria., i periodi del ciclo di clock del bus. Si tratta di hardware, magari sofisticato, ma hardware; l'esecuzione di istruzioni è immensamente più lento.
Abbiamo invece parlato del meccanismo dell'interruzione per rendere percepibile, al livello della logica del software in esecuzione in CPU, il termine del trasferimento, un evento che altrimenti non sarebbe proprio percepibile. Non siamo però entrati nel dettaglio di quale software sia quello in esecuzione in CPU, pur nominando al volo le stringhe "sistema operativo", "processo in attesa dei dati", "buffer di sistema", etc. etc.