• Non ci sono risultati.

Capitolo 13 Il sottosistema di ingresso/uscita

N/A
N/A
Protected

Academic year: 2021

Condividi "Capitolo 13 Il sottosistema di ingresso/uscita"

Copied!
13
0
0

Testo completo

(1)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Capitolo 13 Il sottosistema di

ingresso/uscita

Elementi di base del sottosistema di I/O

I dispositivi di I/O sono collegati al bus di sistema attraverso una

interfaccia che risolve i problemi di sincronizzazione fra componenti di

diversa velocità.

(2)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

• Funzioni dell’interfaccia:

– Fornire eventuali registri di appoggio per i dati che transitano da e verso la periferica

(registro DREG)

– Fornire eventuali registri di appoggio per i comandi alla perifierica ( (pseudo-) registro CREG)

– Tenere traccia dello stato e di eventuali condizioni di malfunzionamento/errore ( (pseudo-) registro SREG).

Interfaccia sistema – I/O

Spazio di memoria degli indirizzi di I/O

I registri di interfaccia devono essere indirizzati in uno spazio di memoria disgiunto da quello degli indirizzi di memoria.

Organizzazioni:

•I/O isolato (I/O mapped I/O)

•I/O mappato in memoria (memory mapped I/O)

(3)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

I/O isolato

 esistono istruzioni dedicate alle operazioni di I/O

 la loro esecuzione è analoga a quella delle istruzioni di R/W in memoria

 Vengono asserite due specifiche linee di comando IORC ( I/O Read Command ) e IOWC ( I/O Write Command )

 Istruzioni disponibili: IN; OUT

IN AL, PIN ( PIN è l’indirizzo simbolico di una porta di ingresso )

a) Indirizzo PIN Presentato sul bus indirizzi

b) Comando IORC asserito c) Lettura del bus dati e

scrittura del dato letto in AL

OUT AH, POUT ( POUT è l’indirizzo simbolico di una porta di uscita )

a) Indirizzo POUT Presentato sul bus indirizzi

b) Contenuto di AH presentato sul bus dati

c) Comando IOWC asserito

I/O mappato in memoria

1. Non esistono specifiche istruzioni dedicate alle operazioni di I/O, vengono usate le stesse istruzioni impiegate per il R/W in memoria

2. Lo spazio di memoria viene mappato (con spreco di spazio).

Esempio se si usa il bit più significativo dell’indirizzo per

discriminare il registro di I/O (porta), si spreca il 50% dello

spazio di memoria

(4)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Decodifica degli indirizzi

Gestione delle perifieriche:

Esecuzione I/O a controllo di programma

Operazione di uscita (verso una stampante) Segnali di comando:

• DAV (dato valido) asserito quando i dati in uscita sono stabili

• DAC (dato accettato) asserito quando la stampante è in grado di accettare un dato successivo

•Dovrà anche essere presente un indicatore di stato della stampante (f/f SFF)

(5)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

• Dovrà anche essere presente un indicatore di stato della stampante (f/f SFF dove SFF=0 indica periferica pronta a ricevere un nuovo dato, SFF=1 occupata)

• lo stato di SFF viene letto nel bit meno significativo DB

0

di SREG

• La risposta DAC della periferica porta SFF a 0, il comando di stampa DAV lo riporta a 1

Esecuzione I/O a controllo di programma

• Effetti esecuzione operazione di scrittura:

1.Copia dello stato del bus dati in DREG 2.SFF portato a 1

3.La stampante riporta SFF a 0

Esecuzione I/O a controllo di programma

(6)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Esecuzione I/O a controllo di programma

Soluzione non efficiente perchè il processore resta in attesa della periferica che (è più lenta).

Occorre impiegare la CPU durante l’attesa della periferica (DAC)

Esecuzione I/O sotto controllo di interruzione

La CPU non resta in attesa della perifierica.

L’interruzione esterna della perifierica, che segnala che la stampa (di

un carattere) è avvenuta, ha l’effetto di richiamare la routine di

servizio

(7)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Sistema di Interruzione (modello semplificato)

Ipotesi semplificatiive:

• il sistema pilota una sola periferica

• una sola linea di interruzione (INTR) in ingresso alla CPU

• ff IE che abilita il sistema di interruzione (serve a mascherare la richiesta di interruzione)

•Quando la CPU riconosce la linea IINTR asserita:

•Conclude l’istruzione corrente

•e, invece di passare all’istr. successiva, effettua, in modo indivisibile, le seguenti azioni:

•Azzeramento di IE

•Fetch dell’istruzione della routine di servizio

Interfaccia con sistema di Interruzione

Il comando PORTW diasserisce INTR, DAC asserisce INTR

Il ff IENFF maschera l’interruzione

(8)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Interruzion i non mascherabili

Interruzioni da più perifieriche

Problemi:

1.Ricnonoscimento della periferica che richiede l’interruzione 2.Scelta della routine di servizio relativa

3.Trattamento delle priorità delle interruzioni (poichè le int. sono asincrone, ci possono essere delle sovrapposizioni)

4.Interrompibilità delle routine di servizio

(9)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Interruzioni da più perifieriche

Limiti

1. L’ordine di esame dei bit di ISR determina la priorità delle richieste 2. Una sola richiesta servita

3. Occorre disasserire la richiesta servita prima dell’uscita dalla routine di servizio

Interruzioni vettorizzate: linee di richiesta indipendenti

Soluzione semplice ma non sostenibile per problemi di economia di

integrazione (un solo piedino per le interruzioni)

(10)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Interruzioni vettorizzate: linee di richiesta indipendenti

Portare all’esterno la parte evidenziata

(11)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Vettorizzazione esterna

L’indicazione alla CPU di quel’è la routine di servizio da eseguire arriva dall’esterno.

Risposta all’interruzione:

a)Azzeramento di IE

b)Asserzione segnale INTA verso l’esterno (interrupt acknowledgement) c)Lettura del selettore di interruzione dal bus dei dati

d)Uso del selettore per eseguire l’azione prevista dall’architettura (usato per puntare ad una tebella in memoria – es. TABIR)

Interruzioni vettorizzazione con daisy chain

Priorità delle unità periferiche basata sulla loro posizione

(12)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Interruzioni vettorizzazione con daisy chain

Criterio di funzionamento

a)La CPU risponde alla richiesta di interruzione eseguendo il ciclo INTA, asserendo INTA in ingresso all’interfaccia sinistra

b)Se l’interfaccia ha asserito l’interruzione, il segnale INTA non viene fatto propagare a valle

c)Se l’interfaccia non ha asserito l’interruzione il segnale viene fatto transitare a valle

d)INTA viene fatto propagare finchè non incontra un’interfaccia che ha asserito l’interruzione

Accesso diretto alla memoria

Se le periferiche sono molto veloci, il costo della gestione delle interruzioni (salvataggio registri, caricamento e aggiornamento puntatori, ...) non è più conveniente.

In questo caso il trasfeimento dei dati fra le periferiche e la memoria centrale

avviene direttamente attraverso un controllore hardware che non interessa la

CPU nel trasferimento dati: DMAC (Direct Memory Access Controller)

(13)

Calcolatori elettronici – Architettura e organizzazione

Giacomo Bucci Copyright © 2009 – The McGraw-Hill Companies srl

Accesso diretto alla memoria

1) Interfaccia della periferica asserisce DMREQ (richiesta trasferimento) per indicare che un dato in ingresso è disponibile o che è disponibile ad accettare un dato in uscita

2) DMAC asserisce BUSREQ (richiesta di controllo del bus) 3) La CPU risponde asserendo BUSACK (richiesta accolta)

4) DMAC pilota il bus, risponde alla periferica con DMACK, asserisce il comando di R/W in memoria e il corrispondente comando R/W verso l’interfaccia

5) Finito il trasferimento BUSRQ viene disattivato, il bus ritorna sotto il controllo

della CPU che disasserisce BUSACK

Riferimenti

Documenti correlati

Il numero massimo di animali da compagnia di specie diverse da cani, gatti e furetti non è stabilito dalla norma dell’Unione, ma deve essere tale da non dissimulare

- all’ingresso gli alunni che usano il cortile interno verranno consegnati ai collaboratori agli accessi D1 e D2 e indirizzati alle proprie maestre in aula magna e palestra, quelli

Gli eventi interni e ogni attività di formazione in modalità in aula, anche obbligatoria, potranno essere svolti nel rispetto delle attuali norme di sicurezza con

RIMODULAZIONE DEGLI ORARI DI INGRESSO E DI USCITA E INDIVIDUAZIONE DEI NUOVI ACCESSI.. Deliberato nella seduta del Consiglio di Istituto del 7

In riferimento al servizio mensa nei plessi Laiolo e Cagni il pasto verrà consumato nelle aule in quanto il refettorio per problemi di capienza delle stesse verrà utilizzato come

Presso i locali della Scuola Secondaria di primo grado di Genola è presente un servizio mensa nei giorni di rientro gestito dalla cooperativa “Il Girasole”. Servizio prescuola

Sorveglianza degli alunni da parte dei genitori durante le assemblee di classe o Colloqui individuali Durante le Assemblee di classe o Colloqui individuali, qualora essi

del 14 ottobre, gli alunni del plesso di Via Fermi, in esubero rispetto alla quadratura dell’aula, seguiranno le lezioni di Didattica Integrata Digitale (DID) da casa