• Non ci sono risultati.

Macchina a stati finiti DMAC (c’è una sola periferica bidirezionale: DISCO)

N/A
N/A
Protected

Academic year: 2022

Condividi "Macchina a stati finiti DMAC (c’è una sola periferica bidirezionale: DISCO)"

Copied!
10
0
0

Testo completo

(1)

Macchina a stati finiti DMAC

(c’è una sola periferica bidirezionale: DISCO)

1. I/O dalla memoria al disco in modalità Burst

2. I/O dalla memoria al disco in modalità Bus Stealing 3. I/O dal disco alla memoria in modalità Burst

4. I/O dal disco alla memoria in modalità Bus Stealing

NOP

START=1 ?

NOP

Periferica Pronta?

DMAC

SI NO

SI NO

START SELECT I/O

I/O WR

Programmazione del DMAC

sono comandi dati a livello software Dal PD 32

Il DMAC controlla che la periferica

non sia già impegnata con altre

operazioni di I/O

(2)

Macchina a stati finiti DMAC

I/O FF=1

?

DMAC

B-ST = 1?

B-ST = 1?

SI NO

SI NO SI NO

L’SCO del DMAC legge il valore del Flip Flop SR I/O:

-Se è 0 è un’interazione da disco verso la memoria

-Se è 1 è un’interazione dalla memoria al disco

L’SCO legge il valore del Flip Flop SR Burst Bus – St:

-Se è 0 si tratta di un uso del Bus di tipo Burst

-Se è 1 si tratta di un uso del Bus di tipo Burst Stealing

*si tratta di controlli implementati a livello Firmware ( 1 )

( 2 ) ( 3 )

( 4 )

(3)

Macchina a stati finiti DMAC

(1) Trasferimento da disco a memoria di tipo Burst 1 di 2

Dato Pronto=1

DMAC

SI NO

Dato Letto=1 Nop

MBG = 1

SI NO

MBR = 0

Bcar = 1 Bout = 1 MWR = 1 Mbi = 1 ,

i=1..4 SI

Lo SCO del DMAC invia allo SCO della periferica il segnale “Dato Letto”

Subito dopo lo SCO del DMAC si mette in ascolto del segnale

“Dato Pronto”, il quale verrà posto ad uno dalla periferica quando sarà pronto il dato da lei generato.

Viene richiesto il bus al Processore, da parte del DMAC, attraverso Il Memory Bus Request, funzionante in logica negata

Si attende che il PD32 abbia messo le sue uscite in alta impedenza, Il tutto avviene quando il segnale Memory Bus Grent, ascoltato dal DMAC, è posto ad uno dal PD32

Questa serie di segnali di controllo generati dal SCO del DMAC servono per scaricare i 30 bit dal CAR e i 32 del registo di out della periferica nella memoria.

Settare i quattro segnali Mbi, i=1,..,4 significa ipotizzare di scrivere simultaneamente 4 Byte allineati in memoria

(4)

Macchina a stati finiti DMAC

(1) Trasferimento da disco a memoria di tipo Burst 2 di 2

WC = 0

DMAC

SI NO

Inc = 1 Dec = 1

Dato Pronto=1 NO

Nop Dato Letto = 1

SI

Rstart = 1 MBR = 1

Una volta effettuato il trasferimento viene incrementato di 4 il registro CAR e decrementato di 4 il registro WC

Si verifica se il World Counter è divenuto 0:

Se si il lavoro del DMAC è finito

Se no ci sono ancora dati da trasferire

Chiedo alla periferica di generare l’n-esimo dato

Lo SCO del DMAC si mette di nuovo in ascolto del segnale

“Dato Pronto”, il quale verrà posto ad uno dalla periferica quando sarà pronto il nuovo dato da lei generato.

Se il trasferimento è completato il DMAC rilascia il bus, il Processore si risveglia e continua il suo lavoro…

Resetta il Flip Flop SR “START”

(5)

Macchina a stati finiti DMAC

(2) Trasferimento da disco a memoria di tipo Burst Stealing 1 di 2

Dato Pronto=1

DMAC

SI NO

Dato Letto=1 Nop

MBG = 1

SI NO

MBR = 0

Bcar = 1 Bout = 1 MWR = 1 Mbi = 1 , i=1..4 NO

Lo SCO del DMAC invia allo SCO della periferica il segnale “Dato Letto”

Subito dopo lo SCO del DMAC si mette in ascolto del segnale

“Dato Pronto”, il quale verrà posto ad uno dalla periferica quando sarà pronto il dato da lei generato.

Viene richiesto il bus al Processore, da parte del DMAC, attraverso Il Memory Bus Request, funzionante in logica negata

Si attende che il PD32 abbia messo le sue uscite in alta impedenza, Il tutto avviene quando il segnale Memory Bus Grent, ascoltato dal DMAC, è posto ad uno dal PD32

Questa serie di segnali di controllo generati dal SCO del DMAC servono per scaricare i 30 bit dal CAR e i 32 del registo di out della periferica nella memoria.

Settare i quattro segnali Mbi, i=1,..,4 significa ipotizzare di scrivere simultaneamente 4 Byte allineati in memoria

(6)

Macchina a stati finiti DMAC

(2) Trasferimento da disco a memoria di tipo Burst Stealing 2 di 2

WC = 0

DMAC

Inc = 1 Dec = 1

NO

SI

Rstart = 1 Sint = 1 MBR = 1

Una volta effettuato il trasferimento viene incrementato di 4 il registro CAR e decrementato di 4 il registro WC

Un trasferimento è completato il DMAC rilascia il bus , il Processore si risveglia e continua il suo lavoro…

Resetta il Flip Flop SR “START”

Avvisa il PD32 di aver finito generando un Interrupt Si verifica se il World Counter è divenuto 0:

Se si il lavoro del DMAC è finito

Se no ci sono ancora dati da trasferire

(7)

Macchina a stati finiti DMAC

(3) Trasferimento da memoria a disco di tipo Burst 1 di 2

MBG = 1

DMAC

SI NO

MBR = 0

MRD = 1 Bcar = 1 Mbi = 1 , i=1..4 Ereg = 1

SI Enr = 1

Bmdr = 1

Viene richiesto il bus al Processore, da parte del DMAC, attraverso Il Memory Bus Request, funzionante in logica negata

Si attende che il PD32 abbia messo le sue uscite in alta impedenza, Il tutto avviene quando il segnale Memory Bus Grent, ascoltato dal DMAC, è posto ad uno dal PD32

Questa serie di segnali di controllo generati dal SCO del DMAC servono per selezionare i dati indirizzati dal CAR e depositarli Nel REGin della periferica

Settare i quattro segnali Mbi, i=1,..,4 significa ipotizziamo di scrivere simultaneamente 4 Byte allineati in memoria

Trasferimento del dato dall’MDR al registro interno della periferica

(8)

Macchina a stati finiti DMAC

(3) Trasferimento da memoria a disco di tipo Burst 2 di 2

WC = 0

DMAC

SI NO

Inc = 1 Dec = 1

Next Dato =1 NO

Nop Dato Scritto=1

SI

Rstart = 1 MBR = 1 Dato Scritto=1

Una volta effettuato il trasferimento viene incrementato di 4 il registro CAR e decrementato di 4 il registro WC

Si verifica se il World Counter è divenuto 0:

Se si il lavoro del DMAC è finito

Se no ci sono ancora dati da trasferire

Il DMAC avverte la periferica che il dato è stato scritto nel REGIN

Lo SCO del DMAC si mette in ascolto del segnale

“Next Dato”, il quale verrà posto ad uno dalla periferica quando sarà pronta a ricevere un nuovo dato.

Il DMAC avverte la periferica che il dato è stato scritto nel REGIN

DMAC rilascia il bus, il Processore si risveglia e continua il lavoro…

Resetta il Flip Flop SR “START”

(9)

Macchina a stati finiti DMAC

(4) Trasferimento da memoria a disco di tipo Burst Stealing 1 di 2

MBG = 1

DMAC

SI NO

MBR = 0

MRD = 1 Bcar = 1 Mbi = 1 , i=1..4 Ereg = 1 SI

MBR = 1 Dato Scritto=1

Viene richiesto il bus al Processore, da parte del DMAC, attraverso Il Memory Bus Request, funzionante in logica negata

Si attende che il PD32 abbia messo le sue uscite in alta impedenza, Il tutto avviene quando il segnale Memory Bus Grent, ascoltato dal DMAC, è posto ad uno dal PD32

Trasferimento del dato dall’MDR al registro interno della periferica

Enr = 1 Bmdr = 1

Un trasferimento è completato il DMAC rilascia il bus , il Processore si risveglia e continua il suo lavoro…

Il DMAC avverte la periferica che il dato è stato scritto nel REGIN Questa serie di segnali di controllo generati dal SCO del DMAC servono per selezionare i dati indirizzati dal CAR e depositarli Nel REGin della periferica

Settare i quattro segnali Mbi, i=1,..,4 significa ipotizzare di scrivere simultaneamente 4 Byte allineati in memoria

(10)

Macchina a stati finiti DMAC

(4) Trasferimento da memoria a disco di tipo Burst Stealing 2 di 2

WC = 0

DMAC

SI NO

Inc = 1 Dec = 1

Next Dato =1 NO

Nop

SI

Rstart = 1

Una volta effettuato il trasferimento viene incrementato di 4 il registro CAR e decrementato di 4 il registro WC

Si verifica se il World Counter è divenuto 0:

Se si il lavoro del DMAC è finito

Se no ci sono ancora dati da trasferire

Lo SCO del DMAC si mette in ascolto del segnale

“Next Dato”, il quale verrà posto ad uno dalla periferica quando sarà pronta a ricevere un nuovo dato, poi il DMAC andrà a chiedere di nuovo il Bus al Processore

Resetta il Flip Flop SR “START”

Riferimenti

Documenti correlati

Dato il loro rischio asso- luto più elevato, i pazienti con PAD ottengono un maggiore beneficio clinico dall’intensificazione dell’ab- bassamento di LDL-C con terapia di

3.  SCELTA DELLA VENA PIÙ APPROPRIATA IN TERMINI DI PROFONDITÀ E DI CALIBRO, A SECONDA DEL CALIBRO DEL CATETERE PIANIFICATO (RAPPORTO 1:3 TRA DIAMETRO ESTERNO DEL CATETERE E

† Possibile ruolo ‘temporaneo’ nella NPD, sfruttando il basso rischio di infezioni batteriemiche (Midline = posizionabile anche nel paziente settico o ad alto rischio di sepsi

•  Le conseguenze a distanza possono essere, peggiori di quelle della puntura arteriosa (dolori cronici, deficit permanenti, etc,). •  Le conseguenze meno gravi comportano un

[r]

Seldinger diretto – Precauzioni sterili ridotte Se possibile: non nelle vene profonde del braccio. Rimuovere e sostituire

Tuttavia, specie in caso di traumi muscolari, si preferisce usare il freddo per l’effetto che questo ha nei confronti dei vasi sanguigni: infatti, in seguito a un trauma,

Quando una periferica ha pronto un blocco di dati da scrivere in memoria invia al DMAC una DMA request Quando può il DMAC accetta la richiesta smistandola verso il micro come