• Non ci sono risultati.

DMA Accesso Diretto alla Memoria

N/A
N/A
Protected

Academic year: 2022

Condividi "DMA Accesso Diretto alla Memoria"

Copied!
8
0
0

Testo completo

(1)

08.a

DMA DMA Accesso Diretto alla Memoria Accesso Diretto alla Memoria

Motivazioni Motivazioni Organizzazione dei trasferimenti DMA Organizzazione dei trasferimenti DMA

Arbitraggio del

Arbitraggio del busbus di memoriadi memoria Trasferimento di un blocco di dati Trasferimento di un blocco di dati Sistemi multiprocessore Sistemi multiprocessore Testo di rif.to:

[Congiu] - 8.1-8.3 (pg. 241–250)

1

13

Programmazione dell

Programmazione dell ’ ’ I/O: confronti I/O: confronti

tempo di risposta = tempo trascorso tra l’istante in cui il dispositivo diviene pronto (STATUS=1) e l’istante in cui il processore inizia ad eseguire le istruzioni di I/O richieste dal relativo protocollo;

• programmazione con i cicli di attesa (busy waiting):

● svantaggio: uso inefficiente del processore;

● vantaggio: tempo di risposta minimo (1 istruzione);

• programmazione tramite le interruzioni:

● vantaggio: uso efficiente del processore;

● svantaggio: ritardo nella risposta (necessità di salvare il contesto, riconoscere l’interruzione, attivare la RSI, prima di poter eseguire le istruzioni di I/O).

(2)

2

Architettura degli Elaboratori 1 © 2007

13

Limiti dell

Limiti dell’ ’I/O tramite interruzioni I/O tramite interruzioni

●si consideri una RSI (routine di servizio delle interruzioni) la cui esecuzione richieda 10μs;

▪ tenendo presente il fatto che una RSI non può essere rientrante (per esserlo, ad ogni sua

attivazione dovrebbe operare su dati diversi;

invece opera sempre sugli stessi registri del medesimo dispositivo),

▪ e che, pertanto, non può essere interrotta dal medesimo dispositivo che ne ha provocato

l’attivazione;

●il periodo di tempo tra due trasferimenti consecutivi non può essere inferiore a 10μs.

3

13

Limiti dell

Limiti dell ’ ’ I/O tramite interruzioni I/O tramite interruzioni

velocità di trasferimento dati (data rate) = numero di dati trasferiti in un secondo;

• nell’esempio precedente (RSI da 10 μs) la massima velocità di trasferimento dati consentita è di 100 Kdati/secondo:

- se il dispositivo trasferisce dati a una velocità

superiore, il processore non riesce a starci dietro:

perdita di dati;

- se il dispositivo trasferisce dati alla massima velocità consentita (100 Kdati/secondo), il processore impegna il 100% del suo tempo per gestire il trasferimento:

mentre dura il trasferimento dei dati, il processore non fa altro;

- se il dispositivo trasferisce un dato ogni 12,5 μs, alla velocità di 80 Kdati/s: il processore impegna l’80% del suo tempo.

• per gestire dispositivi con data rate superiori a 100 Kdati/s, il metodo delle interruzioni non va bene.

(3)

4

Architettura degli Elaboratori 1 © 2007

13

Accesso diretto alla memoria Accesso diretto alla memoria

per gestire dispositivi con data rate superiori a 100 Kdati/s, è necessario usare il metodo

dell’accesso diretto alla memoria (DMA – Direct Memory Access);

si tratta di un diverso meccanismo di I/O: i dati vengono trasferiti autonomamente dal dispositivo, che accede direttamente alla memoria, senza

l’intervento del processore;

come organizzare un meccanismo di questo tipo?

5

13

Operazioni per trasferire un dato Operazioni per trasferire un dato

il trasferimento di un blocco di dati da (o verso) un dispositivo esterno richiede che, ad ogni dato che viene trasferito, siano effettuate le seguenti operazioni:

●trasferimento del dato dal registro data buffer ad una locazione di memoria (o viceversa);

●incremento di un puntatore, in modo che punti alla posizione da cui (o in cui) verrà trasferito il dato successivo;

●aggiornamento di un contatore (di solito un decremento)

•se il trasferimento è gestito utilizzando le interruzioni, queste operazioni sono realizzate dal processore con

l’esecuzione di istruzioni inserite nella routine di servizio;

•si tratta, però, di operazioni piuttosto semplici, che possono essere eseguite da un hardware molto semplice (non serve la complessità di un processore).

(4)

6

Architettura degli Elaboratori 1 © 2007

13

DMA controller DMA controller

Schema per i

trasferimenti via DMA

L’hardware che esegue quelle operazioni è un DMA controller ; esso affianca il dispositivo, come

rappresentato in figura:

7

13

DMA controller DMA controller

•il DMA controller rappresentato in figura comprende due registri:

●CAR (Current Address Register), che contiene un puntatore alla locazione di memoria da cui (o in cui) verrà trasferito il prossimo dato;

●WC (Word Count), che funge da contatore e indica il numero di dati che rimangono da trasferire;

•il DMA controller accede alle linee del bus di memoria e può effettuare operazioni di lettura e scrittura;

•poiché le medesime linee del bus di memoria sono anche usate dal processore, l’hardware deve realizzare una funzione di arbitraggio delle richieste di accesso al bus: per evitare conflitti, l’accesso al bus può aver luogo solo dopo aver ottenuto il consenso dell’arbitro.

(5)

8

Architettura degli Elaboratori 1 © 2007

13

Trasferimento di un blocco di dati Trasferimento di un blocco di dati

Sequenza di eventi che controlla il trasferimento di un blocco di dati con modalità DMA:

1. il processore invia nei registri CAR e WC associati al dispositivo, le informazioni che definiscono il

trasferimento da effettuare (indirizzo dell’area di memoria interessata dal trasferimento, numero di dati del blocco da trasferire);

2. il processore invia il segnale START (con cui

comanda il trasferimento dell’intero blocco di dati);

da questo momento in poi il processore non

interviene più nel trasferimento dei singoli dati, che viene operato autonomamente dal dispositivo e dal DMA controller;

9

13

Trasferimento di un blocco di dati Trasferimento di un blocco di dati

3.quando il dispositivo è pronto a trasferire un dato, hanno luogo lo scambio di informazioni e le operazioni indicate nel seguente schema:

4.quando l’ultimo dato del blocco è stato trasferito, il DMA controller genera una richiesta di interruzione, che segnala al processore che il comando (di trasferire l’intero blocco di dati) è stato eseguito.

t

(6)

10

Architettura degli Elaboratori 1 © 2007

13

Arbitraggio del bus Arbitraggio del bus

Il processore fa da arbitro e dà la precedenza al (ai) DMA

11

13

Sistemi multiprocessore Sistemi multiprocessore

Si è visto come sia possibile, con una opportuna logica di arbitraggio, consentire a qualcun altro (il DMA controller ) di accedere alla medesima

memoria cui accede il processore;

Questo qualcun altro potrebbe possedere un

hardware più sofisticato di un DMA controller ed essere anche un altro processore (con il proprio PC, IR, ecc., in grado di eseguire le istruzioni di un programma residente nella medesima memoria, in parallelo a quello eseguito dal processore

“principale”).

(7)

12

Architettura degli Elaboratori 1 © 2007

13

MEMORIA LOCALE

Sistemi con processori ausiliari Sistemi con processori ausiliari

Ciò consente, ad esempio di affiancare alla CPU uno (o più) processori ausiliari, dedicati a funzioni specializzate (gestione di grafica video, elaborazioni multimediali, …);

spesso conviene che i processori ausiliari abbiano anche una memoria locale (per ridurre il traffico su quella

condivisa).

Sistema multiprocessore con PU Specializzati

13

13

mem. loc. mem. loc. mem. loc.

Sistemi multiprocessore simmetrici Sistemi multiprocessore simmetrici

In alcune circostanze risultano utili configurazioni con processori paritetici, con cui si ottiene, oltre alla

maggior potenza di calcolo dovuta al parallelismo, anche la possibilità di ripartire il carico in modo dinamico, una buona tolleranza ai guasti, …

Sistema multiprocessore con PU Equivalenti

(8)

08.a

Fine Fine

DMA - Accesso Diretto alla Memoria

Riferimenti

Documenti correlati

In quel percorso le persone che hanno visitato i lager di Dachau (Germania), Ebensee, Hartheim, Gusen e Mauthausen (Austria), sono stati accompagnati da Laura

Codice Fiscale Fornitore in fattura..

la volontà di effettuare presso la propria utenza il cosiddetto compostaggio domestico, e quindi la sua disponibilità a ricevere, in comodato d’uso gratuito, una compostiera

Così come nel 1919, un detenuto trasferito da San Quentin porta il contagio a Folsom nonostante la quarantena di 4 giorni, così molti detenuti vengono trasferiti da istituti

Una famiglia composta da 2 adulti, 1 figlio maggiorenne e 1 figlio minorenne avrà fino a 1.280 euro al mese di RdC: fino a 1.000 euro mensili come integrazione al reddito più 280

Alcuni esempi sono costituiti da KRAS ( gene mutato in circa il 25% dei pazienti con tumore polmonare, indipendentemente dall’esposizio- ne al fumo di sigaretta), BRAF

Tutti i prodotti ergoline, dallo sviluppo fi no alla fabbricazione, sono soggetti a un sistema di assicurazione della qualità certifi cato a norma DIN EN ISO 13485:2003. Tutti

Nell a relazione si evidenzia inoltre che l'importo dell'avanzo di amministrazione dell'esercizio 2014 potrebbe subire variazioni a causa dì eventuali variazioni