input / output. connessione tra componenti cpu ram dischimonitor stampantetastieramouse bus =...
TRANSCRIPT
![Page 1: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/1.jpg)
INPUT / OUTPUTINPUT / OUTPUT
![Page 2: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/2.jpg)
Connessione tra componenti Connessione tra componenti
CPU
RAMDischiMonitor
StampanteTastiera Mouse
BUS
= Interfacce o Controller
![Page 3: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/3.jpg)
Interfaccia di I/OInterfaccia di I/O
Linea indirizzi
Linea dati
Linea controllo
Dispositivo
Decoderindirizzi
Circuiticontrollo
Registo datiE stato
![Page 4: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/4.jpg)
InterruptInterrupt
Meccanismo che avvisa il processore della disponibilità delDispositivo di I/O ad eseguire una operazione.
Quando il dispositivo è pronto invia alla CPU un segnale di Interrupt
La CPU interrompe l’operazione corrente ed esegue una routinedi servizio dell’interrupt
La CPU informa il dispositivo che la richiesta di interrupt è stataAccolta con un segnale di riscontro (Interrupt Acknowledge)
La routine di gestione dell’interrupt salva lo stato della CPU (latenza)
![Page 5: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/5.jpg)
InterruptInterrupt
Gli interrupt modificano la sequenza temporale prevista dalprogrammatore per cui è fornito un meccanismo di Abilitazionee Disabilitazione degli Interrupt.
Soluzione 1:
La routine di gestione dell’interrupt come primaIstruzione disabilita gli interrupt e li riabilita allafine
Soluzione 2:
Il processore automaticamente quando riceveun interrupt li disabilita e li riabilita quandoTorna dalla routine di gestione dell’interrupt.
Soluzione 3:Interrupt EDGE-TRIGGERED
![Page 6: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/6.jpg)
Gestione di più dispositiviGestione di più dispositivi
Come fa la CPU a capire da quale dispositivo riceve l’Interrupt?
Come fa la CPU a determinare qual è la procedura di gestionedell’interrupt per lo specifico dispositivo?
Un dispositivo può interrompere la CPU mentre questa staservendo un altro interrupt?
Come può gestire la CPU due richieste di interrupt contemporanee?
![Page 7: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/7.jpg)
Gestione di più dispositiviGestione di più dispositivi
CPU
INTR
INTR1 INTR2 INTR3
La CPU fa il “POLLING” dei dispositivi per verificarequale IRQ è abilitato.
Come fa la CPU a capire da quale dispositivo riceve l’Interrupt?
![Page 8: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/8.jpg)
Gestione di più dispositiviGestione di più dispositivi
Oltre al segnale di interrupt il dispositivo invia sul bus alla CPUun proprio codice identificativo che può essere utilizzato perIdentificare la routine specifica di gestione dell’interrupt (vettoredi interrupt)
![Page 9: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/9.jpg)
Gestione di più dispositiviGestione di più dispositivi
Un dispositivo può interrompere la CPU mentre questa staservendo un altro interrupt?
Problema delle Priorità
CPU
Dispositivo 1 Dispositivo 2 Dispositivo 3
Circuito Arbitraggio Priorità
![Page 10: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/10.jpg)
Gestione di più dispositiviGestione di più dispositivi
Come può gestire la CPU due richieste di interrupt contemporanee?
CPU
Dispositivo 1 Dispositivo 2 Dispositivo 3
![Page 11: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/11.jpg)
Gestione di più dispositiviGestione di più dispositivi
Come può gestire la CPU due richieste di interrupt contemporanee?
CPU
Dispositivo 1 Dispositivo 2 Dispositivo 3
Circuito Arbitraggio Priorità
Dispositivo 4 Dispositivo 5 Dispositivo 6
![Page 12: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/12.jpg)
Interrupt Software (TRAP)Interrupt Software (TRAP)
Richieste dal programma utente al SistemaOperativo
![Page 13: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/13.jpg)
Direct Memory Access (DMA)Direct Memory Access (DMA)
Capacità di trasferire grosse quantità di datiSenza l’intervento della CPU
Il trasferimento in DMA è effettuato da un appositoCircuito di controllo del dispositivo detto Controllore DMA
La CPU inizializza il trasferimento e lascia al controlloreDMA il compito del trasferimento. Alla fine la CPUViene informata da un’interrupt.
![Page 14: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/14.jpg)
Arbitraggio del BUSArbitraggio del BUS
Poiché il BUS è unico più dispositivi possono richiedereDi effettuare un trasferimento DMA
La CPU decide qual è il dispositivo che deve operare.Tale dispositivo diventa BUS MASTER
Soluzione 1: Arbitraggio Centralizzato
Soluzione 2: Arbitraggio Distribuito
Ogni dispositivo che deve effettuare il DMAPone un codice su 4 linee di controllo. Il vincitoreViene selezionato in base al risultato dell’interazioneTra i segnali trasmessi su tali linee da tutti i contendenti
![Page 15: INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller](https://reader036.vdocuments.net/reader036/viewer/2022082702/5542eb5a497959361e8c77ab/html5/thumbnails/15.jpg)
Realizzazioni HardwareRealizzazioni Hardware
Bus sincroni ed asincroni
Interfaccia Parallela
Interfaccia Seriale (RS232)
Bus SCSI
Bus IDE, EIDE, ATA, Serial ATA
Bus VMEBus ISABus PCI, PCI64, PCI-X
Interfaccia di Rete