Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
DISPOSITIVI DI I/O
I principali dispositivi di input sono:
- Tastiera
- Mouse
I principali dispositivi di output sono:
- Monitor
- Stampante
- Casse acustiche
I collegamenti tra i dispositivi di I/O ed il calcolatore possono avvenire tramite:
- Porte di comunicazione (mouse, tastiera)
- Schede montate sulla motherboard (scheda video, scheda audio). Queste schede possono anche essere integrate nella scheda madre
Modello di un generico modulo di I/O
TECNICHE DI I/O
L'I/O può essere:
- Programmato
- Input Driven
- Direct Memory Access (DMA)
I/O programmato
L'I/O programmato (PIO - Programmed Input/Output) è un metodo di trasferimento dati da/verso una periferica in cui la CPU interviene direttamente. Il dispositivo interessato salva periodicamente il suo stato (completamento dell'operazione, condizioni di errore ecc.) in un registro. Ciclicamente la CPU esegue una routine di polling, ovvero verifica lo stato delle periferiche.
Questo porta ad un spreco del tempo di CPU; inoltre, se nessun dispositivo fosse pronto ad un trasferimento dati, la CPU eseguirebbe comunque la routine di polling. Il polling non è adatto a dispositivi veloci.
Input Driven (Interruzioni)
Con la tecnica delle interruzioni, si risolve il problema dello spreco di cicli di CPU dovuta al polling. In questo caso, non è la CPU a monitorare lo stato del dispositivo di I/O, bensì quest'ultimo a comunicare il proprio stato alla CPU attraverso gli interrupts. Difatti, la CPU si limita ad inviare il comando di I/O al dispositivo; poi prosegue con l'esecuzione di altri programmi utente fino alla ricezione dell'interrupt.
DMA
Sia le tecniche PIO e Input Driven richiedono l'intervento attivo della CPU. Il DMA (Direct Memory Access) risolve il problema: esso è un modulo hardware aggiuntivo montato sul bus di sistema.
- La CPU comunica al controller di DMA l'operazione da svolgere (read/write)
L'indirizzo (nome) del dispositivo di I/O: •
La locazione (indirizzo di inizio) del blocco di memoria dedicato a tali dati: •
La quantità di dati da trasferire:
La CPU è libera di svolgere altri lavori - Il controller DMA si occupa del trasferimento e invia un interrupt quando esso è concluso
Il trasferimento tra DMA e I/O può avvenire in diversi modi:
- Burst Transfer: Prevede che una volta iniziato il trasferimento il DMA mantiene il controllo del BUS a discapito della CPU, finché esso non è terminato: l'accesso al bus da parte della CPU resta negato durante tutto il trasferimento. Ciò presuppone che la periferica e la memoria consentano un trasferimento tanto veloce e duraturo quanto necessita il DMA Controller;
- Cycle Stealing: Il DMA esegue il trasferimento di parole un solo ciclo completo alla volta (cioè per ogni ciclo si interfaccia con la periferica ed esegue il trasferimento solo se è pronta,
In altre parole effettuando un handshaking). Come risultato il tempo nel quale la CPU è bloccata è più frammentato;
- Transparent/Hidden: Il DMA occupa il BUS solo quando la CPU non ne ha bisogno. Per far sì che ciò avvenga il DMA sorveglia la CPU e inizia un ciclo di bus solo se l'istruzione in esecuzione nella CPU è abbastanza lunga da consentirlo (e ovviamente non riguarda trasferimenti sul BUS).
Configurazioni DMA
- Single Bus: Ogni trasferimento utilizza il bus di sistema due volte:
- I/O verso DMA (sia il DMA che i dispositivi sono collegati allo stesso livello)
- DMA verso la memoria
- Single bus con DMA-I/O integrato:
- Un controller DMA può supportare più dispositivi
- Ci possono essere più controller DMA
- Ogni trasferimento utilizza il bus di sistema una volta o DMA verso la memoria (le altre comunicazioni avvengono tra DMA e I/O)
- Bus dedicato ad I/O:
- Ogni trasferimento impegna il bus di sistema una volta sola, sia per il DMA che per i dispositivi collegati al bus dedicato ad I/O
sola voltao DMA verso memoria• Un bus secondario collega i dispositivi di I/O ad un singolo controllore DMAo Gestione di conflitti e priorità (arbitraggio del bus)
HARD DISK
L'hard disk costituisce una memoria permanente e di massa (grandi quantità di dati).
Esso è costituito da uno o più dischi in rapida rotazione, realizzati in alluminio o vetro, rivestiti di un materiale ferromagnetico e da due testine per disco (una per lato).
Vi sono di diverse dimensioni a seconda che siano prodotti per computer desktop (3.5 pollici) o laptop (2.5 pollici).
Le prestazioni sono definite dalla capacità (GB) e dalla velocità di rotazione (rpm – rounds per minute; 5400, 7200).
Organizzazione dei dati
La sequenza di bit scritta quando il disco compie una rotazione completa è chiamata traccia (cerchi concentrici scritti attorno all’asse di rotazione). Le tracce sono divise in settori di lunghezza fissa contenente:- preambolo (permette alla
testina di sincronizzarsi)- dati (in genere 512 byte)- codice per la correzione di errori (ECC) (Hamming/ Reed-Salomon per errori multipli).
La minima unità leggibile/scrivibile è il settore.
Le testine sono una per lato e sono tutte allineate. Le tracce allineate su più piatti individuano un cilindro (= insieme ditracce alla stessa distanza dal centro).
I dati sono distribuiti tra i cilindri, così da:
- ridurre il movimento delle testine
- Aumentare la velocità (transfer rate)
Velocità di accesso all’Hard Disk
- Seek (seek time): tempo necessario alla testina per posizionarsi sulla traccia di interesse
- Latenza rotazionale (rotational delay): tempo necessario affinchè la testina si posizioni sul settore di interesse
- Tempo di trasferimento (transfer time): tempo necessario al trasferimento dei dati; dipende da:
- densità lineare (n di bit salvati per cm)
- velocità di rotazione
- Access time: tempo che
- Il controllore doveva convertire gli indirizzi LBA negli indirizzi di testina, del settore e dei cilindri, ma permetteva di indirizzare un limite di 128GB di memoria.
- I controllori EIDE potevano avere due canali, con disco primario e secondario, per la connessione dei dispositivi integrati nella scheda madre.
- Le operazioni di trasferimento dati impegnano la CPU.
- Successore: ATA-3 (AT Attachment); poi ATAPI-4/5/6/7 (Packet Interface).
- ATAPI-6: dimensione indirizzi LBA a 48 bit.
- Velocità di trasferimento: ATAPI-4: 33MB/s, ATAPI-5: 66MB/s; ATAPI-6: 100MB/s.
- ATAPI-7 = SATA (Serial ATA – 150MB/s – 1.5GB/s).
- SCSI (Small Computer Systems Interface):
- Il sistema è definito dall'interfaccia e dal controller.
- Velocità di trasferimento elevata (640MB/s).
- Trasferimento dati gestito dal controller (integrato nel dispositivo).
- Gestione dell'HDD:
- Deframmentazione.
- Formattazione.
- Dividere la capacità del disco in.
affidabilità maggiori rispetto ai dischi precedenti. L’implementazione avviene attraverso la tecnologia SCSI che permette l’utilizzo simultaneo di più dischi: un disco RAID consiste in un controllore RAID SCSI più un insieme di dischi SCSI.
I RAID hanno la proprietà di distribuire i dati sulle diverse unità consentendo elaborazioni parallele.
Livelli di RAID – non esiste una gerarchia ma solo configurazioni differenti
RAID level 0
In questo caso si usa una tecnica di striping: il disco simulato RAID è visto come se ognuno dei suoi k settori fosse diviso in strips (strisce).
Se k sono i dischi del RAID, allora si ha:
- Strip 0: settori da 0 a k-1
- Strip 1: settori da k a 2k-1
- …
Nota: il Sistema vede i 4 dischi fisici come un unico disco virtuale di 4x3x4=48 settori, in cui ogni k settori consecutivi sono memorizzati su una strip, le quali poi sono posizionate nei diversi dischi in sequenza.
Il primo disco
(strips 0,4 e 8)conterrà quindi i settori 0-3, 16-19 e 32-35
Per la lettura/scrittura di 4 settori successivi il controllore RAID spezzerà questo comando in 4 comandi separati (uno per disco) e li farà eseguire in parallelo.
RAID 0 lavora meglio quando le richieste sono di grandi dimensioni
Non è un vero e proprio RAID perché non è ridondante
RAID level 1
In questo caso si utilizza la tecnica di striping + mirroring (copia).
Ogni strip viene mappata su due dischi diversi.
Vantaggi:
- Si può parallelizzare un'operazione di lettura
- Il malfunzionamento del disco è facilmente recuperabile
Svantaggi:
- Costi elevati
- La scrittura va eseguita due volte (anche se potenzialmente in parallelo)
RAID level 2
- L'organizzazione è basata su byte o parole.
- Si scrive 1 bit per disco otten