Title: Presentazione di PowerPoint
1INPUT / OUTPUT
2Connessione tra componenti
Stampante
Tastiera
Mouse
BUS
CPU
RAM
Dischi
Monitor
Interfacce o Controller
3Interfaccia di I/O
Linea indirizzi
Linea dati
Linea controllo
Decoder indirizzi
Circuiti controllo
Registo dati E stato
Dispositivo
4Interrupt
Meccanismo che avvisa il processore della
disponibilità del Dispositivo di I/O ad eseguire
una operazione.
Quando il dispositivo è pronto invia alla CPU un
segnale di Interrupt
La CPU interrompe loperazione corrente ed esegue
una routine di servizio dellinterrupt
La CPU informa il dispositivo che la richiesta di
interrupt è stata Accolta con un segnale di
riscontro (Interrupt Acknowledge)
La routine di gestione dellinterrupt salva lo
stato della CPU (latenza)
5Interrupt
Gli interrupt modificano la sequenza temporale
prevista dal programmatore per cui è fornito un
meccanismo di Abilitazione e Disabilitazione
degli Interrupt.
Soluzione 1
La routine di gestione dellinterrupt come
prima Istruzione disabilita gli interrupt e li
riabilita alla fine
Soluzione 2
Il processore automaticamente quando riceve un
interrupt li disabilita e li riabilita
quando Torna dalla routine di gestione
dellinterrupt.
Soluzione 3
Interrupt EDGE-TRIGGERED
6Gestione di più dispositivi
Come fa la CPU a capire da quale dispositivo
riceve lInterrupt?
Come fa la CPU a determinare qual è la procedura
di gestione dellinterrupt per lo specifico
dispositivo?
Un dispositivo può interrompere la CPU mentre
questa sta servendo un altro interrupt?
Come può gestire la CPU due richieste di
interrupt contemporanee?
7Gestione di più dispositivi
Come fa la CPU a capire da quale dispositivo
riceve lInterrupt?
CPU
INTR
INTR1
INTR2
INTR3
La CPU fa il POLLING dei dispositivi per
verificare quale IRQ è abilitato.
8Gestione di più dispositivi
Oltre al segnale di interrupt il dispositivo
invia sul bus alla CPU un proprio codice
identificativo che può essere utilizzato
per Identificare la routine specifica di gestione
dellinterrupt (vettore di interrupt)
9Gestione di più dispositivi
Un dispositivo può interrompere la CPU mentre
questa sta servendo un altro interrupt?
Problema delle Priorità
CPU
Dispositivo 1
Dispositivo 2
Dispositivo 3
Circuito Arbitraggio Priorità
10Gestione di più dispositivi
Come può gestire la CPU due richieste di
interrupt contemporanee?
CPU
Dispositivo 1
Dispositivo 2
Dispositivo 3
11Gestione di più dispositivi
Come può gestire la CPU due richieste di
interrupt contemporanee?
CPU
Dispositivo 1
Dispositivo 2
Dispositivo 3
Dispositivo 4
Dispositivo 5
Dispositivo 6
Circuito Arbitraggio Priorità
12Interrupt Software (TRAP)
Richieste dal programma utente al
Sistema Operativo
13Direct Memory Access (DMA)
Capacità di trasferire grosse quantità di
dati Senza lintervento della CPU
Il trasferimento in DMA è effettuato da un
apposito Circuito di controllo del dispositivo
detto Controllore DMA
La CPU inizializza il trasferimento e lascia al
controllore DMA il compito del trasferimento.
Alla fine la CPU Viene informata da uninterrupt.
14Arbitraggio del BUS
Poiché il BUS è unico più dispositivi possono
richiedere Di effettuare un trasferimento DMA
Soluzione 1 Arbitraggio Centralizzato
La CPU decide qual è il dispositivo che deve
operare. Tale dispositivo diventa BUS MASTER
Soluzione 2 Arbitraggio Distribuito
Ogni dispositivo che deve effettuare il DMA Pone
un codice su 4 linee di controllo. Il
vincitore Viene selezionato in base al risultato
dellinterazione Tra i segnali trasmessi su tali
linee da tutti i contendenti
15Realizzazioni Hardware
Bus sincroni ed asincroni
Bus VME Bus ISA Bus PCI, PCI64, PCI-X
Bus SCSI
Bus IDE, EIDE, ATA, Serial ATA
Interfaccia Parallela
Interfaccia Seriale (RS232)
Interfaccia di Rete