Anteprima
Vedrai una selezione di 8 pagine su 34
Organizzazione dei sistemi di calcolo Pag. 1 Organizzazione dei sistemi di calcolo Pag. 2
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Organizzazione dei sistemi di calcolo Pag. 6
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Organizzazione dei sistemi di calcolo Pag. 11
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Organizzazione dei sistemi di calcolo Pag. 16
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Organizzazione dei sistemi di calcolo Pag. 21
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Organizzazione dei sistemi di calcolo Pag. 26
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Organizzazione dei sistemi di calcolo Pag. 31
1 su 34
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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:

  1. Porte di comunicazione (mouse, tastiera)
  2. 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,
volta sola, sia per il DMA che per i dispositivi collegati al bus dedicato ad I/O. Di seguito è riportato il testo formattato con i tag HTML corrispondenti:

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
intercorre tra la richiesta di accesso ai dati e l'istante in cui i dati sono disponibili Hard Disk: Interfacce dati Gli hard disk si differenziano sulla base dell'interfaccia di trasferimento dei dati. - IDE (Integrated Drive Electronics): - il controllo era strettamente integrato con l'unità invece che su una scheda separata come avveniva in precedenza - potevano indirizzare massimo 504MB - per ragioni di retrocompatibilità le chiamate al BIOS non furono modificate: quando apparvero dischi più capaci, la loro struttura non poteva essere sfruttata: i controllori dei dischi iniziarono a mappare una geometria virtuale su quella reale; questa tecnica funzionava ma rovinava il lavoro che faceva il sistema operativo per memorizzare i dati in maniera ottimale - evolsero nelle unità: - EIDE (Enhanced Integrated Drive Electronics) o PATA (Parallel Advanced Technology Attachment) - Indirizzamento LBA (Logical Block Addressing) per settori (da 0 a 28)
  1. 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.
  2. I controllori EIDE potevano avere due canali, con disco primario e secondario, per la connessione dei dispositivi integrati nella scheda madre.
  3. Le operazioni di trasferimento dati impegnano la CPU.
  4. Successore: ATA-3 (AT Attachment); poi ATAPI-4/5/6/7 (Packet Interface).
  5. ATAPI-6: dimensione indirizzi LBA a 48 bit.
  6. Velocità di trasferimento: ATAPI-4: 33MB/s, ATAPI-5: 66MB/s; ATAPI-6: 100MB/s.
  7. ATAPI-7 = SATA (Serial ATA – 150MB/s – 1.5GB/s).
  8. 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).
  9. Gestione dell'HDD:
    • Deframmentazione.
    • Formattazione.
    • Dividere la capacità del disco in.
affidabilità superiori rispetto a un singolo disco. I livelli RAID più comuni sono: ▪ RAID 0: striping, i dati vengono suddivisi tra i dischi senza ridondanza. Aumenta le prestazioni ma non offre ridondanza dei dati. ▪ RAID 1: mirroring, i dati vengono duplicati su due dischi. Offre ridondanza dei dati ma non aumenta le prestazioni. ▪ RAID 5: striping con parità distribuita, i dati vengono suddivisi tra i dischi insieme a una parità che permette la ricostruzione dei dati in caso di guasto di un disco. Offre buone prestazioni e ridondanza dei dati. ▪ RAID 10: combinazione di RAID 1 e RAID 0, i dati vengono duplicati su due gruppi di dischi e poi stripati. Offre elevate prestazioni e ridondanza dei dati. ▪ RAID 6: striping con doppia parità, i dati vengono suddivisi tra i dischi insieme a due parità che permettono la ricostruzione dei dati in caso di guasto di due dischi contemporaneamente. Offre elevate prestazioni e ridondanza dei dati. Questi sono solo alcuni dei livelli RAID disponibili, ognuno con caratteristiche specifiche adatte a diverse esigenze di prestazioni e ridondanza.

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
Dettagli
Publisher
A.A. 2021-2022
34 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher gian_fri99 di informazioni apprese con la frequenza delle lezioni di Architettura degli elaboratori e sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bari o del prof Pirlo Giuseppe.