PROTOCOLLI DI TRASFERIMENTO

Per la trasmissione dei dati che si trovano all'esterno della CPU (ad esempio in memoria o nei dispositivi I/O) servono opportuni protocolli di comunicazione che regolino l’attività di trasferimento con il funzionamento della CPU. I protocolli possono essere software o hardware: è di questi ultimi che tratteremo in particolare nel corso di Architetture. Un protocollo è un meccanismo che mi permette di realizzare la comunicazione dei dati;una prima differenziazione evidenzia la presenza di due diverse categorie di protocolli:

- PROTOCOLLI SINCRONI Utilizza un singolo segnale START. Il tempo di risposta di un protocollo sincrono è indipendente dall’operazione , ma è modulato sul tempo standard dell’operazione più lunga che Il protocollo può eseguire.

INSERT 1

Nella rappresentazione tramite automa, si cicla nello stato iniziale fintanto che START=0 e si transita negli stati di attesa quando START=1; finita la stessa,l’automa torna in S0 ponendo il segnale nuovamente a zero.

Durante la trasmissione dei dati, la CPU rimane in attesa per un tempo standard che, come detto, è modulato sulla durata di un compito standard; questo vuol dire che l’attesa della CPU può essere maggiore del tempo richiesto per l’operazione corrente (attesa passiva): questo inconveniente può essere ovviato tramite i protocolli asincroni che prevedono un ulteriore segnale DONE che indica la terminazione del processo in atto.

PROTOCOLLI ASINCRONI

Si dividono in protocolli a tempo di risposta “breve” (qualche migliaio di cicli di clock) e protocolli a tempo di risposta “elevato”, basati sulle interruzioni. Esaminiamo il primo tipo:

INSERT 2

L’automa può essere rappresentato tramite due soli stati,uno stato iniziale in cui si cicla fintanto che START=0 ed uno stato di attesa in cui si transita quando START=1; si rimane nello stato di attesa finchè DONE=0 e si torna in S0 quando DONE diventa 1. L’attesa della CPU è in questo caso detta attiva, in quanto è quella strettamente necessaria per assolvere il compito specifico in esecuzione.

Vediamo ora i protocolli asincroni basati sulle INTERRUZIONI: - Il microprocessore attiva il dispositivo di comunicazione - Legge periodicamente il segnale di stato - Nel frattempo esegue istruzioni di un altro programma La CPU controlla se arriva il segnale per la trasmissione dei dati da una periferica, attiva la trasmissione degli stessi e continua a svolgere altri programmi controllando periodicamente lo stato della trasmissione. Sono detti segnali di interruzione quelli che chiedono alla CPU l’abilitazione al trasferimento dati; vediamo cosa comporta a livello di CPU questa realizzazione via hardware, tenendo conto che la stessa dovrà essere programmata per tener presente la possibilità di interruzioni.

INTERRUZIONI

Le interruzioni sono solitamente distinte in tre categorie; bisogna però tener presente che nelle varie architetture esse sono indicate con l’uno o l’altro nome pur senza riferimenti alle specifiche caratteristiche delle categorie.

Un’interruzione è, in generale, un evento che altera il flusso di esecuzione di un programma e impone alla CPU di sospendere lo stesso per eseguirne un altro solitamente indicato col nome di GESTORE DELLE INTERRUZIONI. Come detto, le interruzioni possono essere classificate in: -interruzioni esterne -interruzioni esterne o eccezioni -trappole o interruzioni software

1- Le interruzioni interne o eccezioni sono dovute a situazioni anomale che si verificano durante l’esecuzione di un’istruzione del programma (ad esempio un’istruzione non definita o un overflow); sono eventi sincroni ma non predicabili.

2- Le interruzioni esterne non sono causate da istruzioni in esecuzione ma provengono dall’esterno, ad esempio dai dispositivi di I/O; sono eventi asincroni rispetto all’esecuzione del programma ed imprevedibili.

3- Le Trappole sono delle interruzioni poste dal programmatore (come il breakpoint e la syscall nello SPIM); sono eventi sincroni e predicabili.

-- MatteoManni - 18 Apr 2002

Topic attachments
I Attachment History ActionSorted ascending Size Date Who Comment
Microsoft Word filedoc INSERT1.doc r1 manage 21.0 K 2002-05-04 - 12:23 MatteoManni  
Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2002-05-04 - MatteoManni






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback