Colloquio I/O: Colloqui di Input ed Output che avvengono tra periferiche e Master-Slaves. (5 pagine, formato word) ( formato doc)

VOTO: 0 Appunto inviato da pakky

Arbitraggio dei colloqui Arbitraggio dei colloqui Se analizziamo uno scambio di dati tra più di due elementi (sia nel caso del microprocessore collegato alle varie periferiche che in quello del computer centrale collegato ad un certo numero di terminali) occorre prevedere nel Protocollo ulteriori regole per distinguere il sistema cui si è collegati. Due sono i metodi utilizzati per coordinare il trasferimento dei dati: colloquio sotto il controllo dell'unità centrale (o Polling); colloquio su richiesta della periferica (o Interrupt). Chiameremo Master l'unità principale che detiene il controllo del protocollo e Slave i generici elementi collegati. Polling Il Master interroga ciclicamente tutti gli Slave, esaminando per ciascuno un opportuno registro di stato, in modo da individuare chi è disponibile al colloquio (in input o in output): Se la periferica non è pronta, l'esame passa allo Slave successivo. Se la periferica è pronta viene effettuato lo scambio dei dati e, al termine, il master riprende l'esame ciclico. Con questo metodo, detto Polling, l'unità centrale ha il controllo completo dello stato d'avanzamento dei processi, decide di volta, in volta se una periferica deve essere interpellata o no, decide l'ordine di Priorità che può anche cambiare durante il lavoro. Altro vantaggio è la relativa semplicità circuitale e del software di gestione. Per contro il Master spreca buona parte del suo tempo in interrogazioni spesso inutili degli altri dispositivi. Inoltre, una periferica che si renda disponibile al colloquio subito dopo un'interrogazione con esito negativo, dovrà attendere tutto il ciclo di Polling prima di essere nuovamente interpellata con probabile perdita di dati (ad esempio il registro Rx Hold dell'RS232 che rischia d'essere soprascritto dal prossimo carattere in arrivo sul registro Rx Shift). Interrupt Quando il Polling non è utilizzabile per ragioni d'efficienza, viene adottata la tecnica dell'Interruzione di Programma (Interrupt): in questo caso lo Slave che ha necessità di un colloquio (o che si è reso disponibile dopo una precedente richiesta del Master) invia all'unità centrale un segnale di richiesta su un apposito canale. Più in generale per "Interrupt" si intende il verificarsi di un evento esterno che alteri l'esecuzione di un programma. Il master può decidere se ascoltare o no il segnale d'interrupt (mascheramento) che, in ogni modo, non può interrompere un'istruzione macchina in corso. Ricevuta la richiesta il master salva sullo Stack le informazioni relative al programma in corso (Program counter, Flags, registri dati). Viene quindi attivata la procedura di riconoscimento della periferica che ha chiesto il servizio. In base al tipo di slave viene eseguita una subroutine specifica per trasferire i dati da o verso la periferica. Al termine del colloquio il master riprende dallo stack i valori parcheggiati e prosegue il programma interrotto. Con questo tipo di gestione il master può eseguire altri programmi durante le f Continua »

TAG: master
vedi tutti gli appunti di informatica »
Carica un appunto Home Appunti