Estratto del documento

Dma (Direct Memory Access)

Il DMA (Direct Memory Access) permette trasferimenti di dati in memoria in maniera rapida. Tale dispositivo è particolarmente utile quando il processore si trova a lavorare con periferiche talmente veloci le cui interruzioni potrebbero essere degradanti per le prestazioni del sistema. Il processore per operare un trasferimento in memoria deve necessariamente eseguire un'istruzione, il DMA invece fornisce la soluzione hardware al problema poiché è in grado di divenire "master" di bus e quindi di gestire "cicli di bus" di lettura e scrittura.

Collegamento col processore

  • D0-D7: Bus dati di ingresso/uscita
  • !CS: Chip select
  • A0-A3: Bit per la selezione dei registri interni
  • !IOR, IOW: Lettura/scrittura sulle interfacce periferiche
  • !MEMR, !MEMW: Lettura/scrittura in memoria
  • Reset: Reset del dispositivo
  • CLK: Clock
  • HRQ: Hold request, per richiedere il bus al processore
  • HLDA: Hold ack, ricevuta conferma del possesso del bus
  • !EOP: Trasmette al processore un'interruzione di fine trasferimento del blocco

Collegamento con le periferiche

  • DREQ0: Linea di richiesta da parte di una periferica sul canale 0
  • DREQ1: Linea di richiesta da parte di una periferica sul canale 1
  • DACK1: Conferma alla periferica sul canale 0
  • DACK2: Conferma alla periferica sul canale 1

Programmazione del dispositivo

  • BADDR0, BADDR1: Hanno parallelismo 16 bit e servono a memorizzare gli indirizzi iniziali del trasferimento. Sono accessibili solo in scrittura.
  • CADDR0, CADDR1: Hanno parallelismo 16 bit e contengono l'indirizzo della locazione di memoria interessata al trasferimento (locazione corrente). Nel caso di trasferimento da memoria a memoria CADDR0 contiene l'indirizzo sorgente e CADDR1 l'indirizzo destinazione. Sono accessibili in lettura e scrittura.
  • BCOUNT0, BCOUNT1: Hanno parallelismo 16 bit e memorizzano il valore base del conteggio (numero di byte da trasferire). Sono accessibili solo in fase di scrittura.
  • CCOUNT0, CCOUNT1: Hanno parallelismo 16 bit e sono i registri di conteggio correnti, che memorizzano il numero di byte da trasferire. Sono accessibili in lettura e scrittura. Nel caso di trasferimento da memoria a memoria il conteggio viene effettuato da CCOUNT1.
  • MODE0, MODE1: Sono i registri che contengono le informazioni relative al modo di funzionamento dei rispettivi canali. Sono a sola scrittura e la selezione tra i due avviene sul valore del bit meno significativo del dato: se 0, il dato viene scritto in MODE0 altrimenti in MODE1.
  • RF0, RF1: Flag dove indirizzare le richieste di tipo software al DMA. Questi flag sono accessibili solo in scrittura, anche in questo caso la selezione del canale avviene sul bit meno significativo.
Anteprima
Vedrai una selezione di 1 pagina su 5
Direct memory access Pag. 1
1 su 5
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche MAT/02 Algebra

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher cecilialll di informazioni apprese con la frequenza delle lezioni di Algebra e Geometria e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Pastore Stefano.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community