Architettura dei Calcolatori 10 Input Ouput

51
Dispense del corso di Architettura dei Calcolatori Architettura dei Calcolatori Sottosistema di Input/Output

Transcript of Architettura dei Calcolatori 10 Input Ouput

Page 1: Architettura dei Calcolatori 10 Input Ouput

Dispense del corso diArchitettura dei CalcolatoriArchitettura dei Calcolatori

Sottosistema di Input/Output

Page 2: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Moduli di I/O

CPU

2

Page 3: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Semplice unità di I/O

•Esempio: senza registro di stato. Selè il segnale di decodifica che assieme ai segnali di lettura e scrittura (nell’es.

Che operazione viene eseguita?

IOADR equ F000hIN IOADRai segnali di lettura e scrittura (nell es.

IORC e IOWC sono attivi alti) viene usato per creare i segnali di chip select

NEG OUT IOADR

8 FF di tipo D

(Sel decodifica IOADR)

Perifericaesterna

3

Porta unidirezionale In out se segnali di OE# sono abilitati

Page 4: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Interfaccia tra CPU e I/O

4

Page 5: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Interfaccia tra CPU e I/O

• Dal punto di vista hardware la CPU e’ collegata all’I/O attraverso il bus di sistema ( tt b id h t f i li d l b di i t i• ( o attraverso bridge che trasformano i segnali del bus di sistema in segnali del bus di I/O)

• Dal punto di vista del protocollo di comunicazione• Tre meccanismi:

• Polling ( a controllo di programma)• Interrupt driven ( gestita dalle interruzioni)• Interrupt driven ( gestita dalle interruzioni)• DMA direct memory access

5

Page 6: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Interfaccia della CPU con I/O polling

• Il metodo piu’ semplice e’ a controllo di programma con interrogazione periodica (polling).

• Transazione in polling

• La CPU verifica lo stato della periferica (leggendo in locazioni di I/O corrispondenti a registri di stato)

• Continua la richiesta fino a che non verifica che e’ pronta per ricevere dati in uscita ( o fornire dati in ingresso)

• Inizia il trasferimento dati (in scrittura verso la periferica o in lettura)Inizia il trasferimento dati (in scrittura verso la periferica o in lettura)• Ricomincia se necessario

6

Page 7: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Gestione degli eventiGestione degli eventi e comunicazione con I/O

( segnali esterni, trasferimenti di dato verso l’I/O, controllo delle periferiche…)p )

t ll di d i t i ia controllo di programmaPOLLING

Gestito dal master (la CPU)

ad interruzionigestione di eventi asincroni

disaccoppiamento delle funzioni

INTERRUZIONEINTERRUZIONEsospensione forzata del processo di esecuzione e trasferimento di controllo ad una " routine di servizio“ che soddisfa le richieste dell'evento che ha provocato l'i t i l t i d ll l il t ll i tit it ll'interruzione, al termine della quale il controllo viene restituito al processo sospeso

Routine di servizio si chiama RRI Routine di Risposta all’Interrupt

7

Routine di servizio si chiama RRI Routine di Risposta all Interrupt (o ISR Interrupt service routine)

Page 8: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Polling vs interrupt

• Polling: la CPU interroga a controllo di programma esplicito. E’ asserita alla velocita’ dell’I/O.

• Interrupt: l’I/O in modo asincrono richiede il servizio• Interrupt: l I/O in modo asincrono richiede il servizioPolling Interrupt

Is thedata

ready?

addsubandor

userprogram(1) I/O

interrupt

Tempo di attesa ready?

readyes

noornop

interrupt

(2) save PC

attesa

data

t read

(3) interruptservice addr

storedata

done? no

readstore...rti

interruptserviceroutine(4)

8

yes memory

Page 9: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Interruzioni hardware e software• Software

– software nel programma• Tramite opportune istruzioni si simula la presenza di una interruzioneTramite opportune istruzioni si simula la presenza di una interruzione• Nell’Intel Int n viene usata dal sistema operativo

– software indirette (stato della cpu)• Vengono chiamate trap o eccezionig• Interruzioni non mascherabili dovute allo stato interno della cpu

(es. divisione per zero)– Le interruzioni software sono sincrone con l’esecuzione delle istruzioni. Anche le trap

hanno un identificatore esplicitohanno un identificatore esplicito n• Hardware, interruzioni asincrone.

– hardware mascherabili• Le periferiche segnalano l’interruzione con uno o più segnali di ingresso alla CPU; la CPU può

mascherarli tramite opportune istruzioni dell’ISA • sti, cli

– hardware non mascherabilihardware non mascherabili• Le periferiche segnalano l’interruzione con uno o piu’ segnali di ingresso alla CPU non

mascherabili (NMI nelle macchine Intel)• Viene eseguita una routine RRI di default ( n.2 )

9

Page 10: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Interruzioni

• Tutti i calcolatori impiegano il meccanismo delle interruzioni

• Processo di interruzione avviene in diverse fasi

1) notifica alla CPU delle interruzioni2) accettazione della interruzione)3) identificazione della sorgente e reperimento dell’indirizzo della RRI4) salvataggio dello stato della CPU e modifica del PC5) esecuzione delle RRI6) ritorno al programma chiamante e ripristino dello stato

Come si gestiscono interruzioni multiple?

10

Page 11: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Notifica

1) notifica dell’interruzione

• in software; – le eccezioni si verificano al termine della fase di execute.

Ogni eccezione ha il suo identificatore n– Ogni eccezione ha il suo identificatore n• a controllo di programma

– nelle macchine Intel istruzione INT n• in hardware

– viene notificato in modo asincrono con un segnale esterno che gviene sentito al termine dell’istruzione corrente (o al primo clock nello stadio di esecuzione delle pipeline)

11

Page 12: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Interruzioni nell’8086

2) Accettazione dell’interruzione• interruzioni software sono sempre accettate;

le hardware dipende: due segnali che arrivano alla CPU nelle macchine Intel• le hardware dipende: due segnali che arrivano alla CPU nelle macchine Intel– NMI non mascherabile– INTR mascherabile (Istruzioni STI e CLI)

• Altri processori hanno piu’ segnali di interruzione hardware

3) identificazione)• 1) in polling con una sola linea

– Piu’ sorgenti di int possono essere collegati ad una sola linea. La CPU in polling deve richiedere quale e’ la sorgente di intp g q g

• 2) in modo vettorizzato

12

Page 13: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Interruzioni vettorizzate

1) Vettorizzate internamente:• alla CPU arrivano piu’ richieste; all’interno della CPU un arbitro di priorita’ decide

quale interruzione servire e lo indica al PC che seleziona la tabella (vettore) dellequale interruzione servire e lo indica al PC che seleziona la tabella (vettore) delle interruzioni

2) V tt i t t t2) Vettorizzate esternamente:• L’identificazione viene fatta in hardware dal richiedente che manda l’identificatore

della RRI (routine di risposta all’interrupt) da cui risalire all’indirizzo di partenza• Alcuni dispositivi hanno l’interfaccia per poter mandare l’identificatore n su

richiesta della CPU.• Di solito si usa un interrupt controller esterno (PIC, APIC) che gestisce le priorita’p ( ) g p

e indica l’identificatore per il vettore delle interruzioni•• Nell’ISA Intel l’identificatore dell’interruzione (n valore da 0 a 255) e’ un puntatoreNell ISA Intel l identificatore dell interruzione (n valore da 0 a 255) e un puntatore

ad una tabella dove e’ indicato l’indirizzo di partenza delle RRI corrispondenti

13

Page 14: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Intel interrupt nei PCINT (Hex) IRQ Common UsesINT (Hex) IRQ Common Uses

00 - 01 Exception Handlers -

02 Non-Maskable IRQ Non-Maskable IRQ (Parity Errors)

03 - 07 Exception Handlers -p

08 Hardware IRQ0 System Timer

09 Hardware IRQ1 Keyboard

0A Hardware IRQ2 Redirected

0B Hardware IRQ3 Serial Comms. COM2/COM4

0C Hardware IRQ4 Serial Comms. COM1/COM3

0D Hardware IRQ5 Reserved/Sound Card

0E Hardware IRQ6 Floppy Disk Controller

0F Hardware IRQ7 Parallel Comms.

10 - 6F Software Interrupts -

70 Hardware IRQ8 Real Time Clock

71 Hardware IRQ9 Redirected IRQ2

72 Hardware IRQ10 Reserved

73 Hardware IRQ11 Reserved

74 Hardware IRQ12 PS/2 Mouse

75 Hardware IRQ13 Math's Co-Processor

76 H d IRQ14 H d Di k D i

14

76 Hardware IRQ14 Hard Disk Drive

77 Hardware IRQ15 Reserved

78 - FF Software Interrupts -

Page 15: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Exceptions• Formalismo: Exception (Vector) Condition (Real mode)

• Division by Zero (0) Attempting to execute a DIV or an IDIV instruction with a divisorwhich equals zero.

• Debug / Single Step (1) Used in conjunction with the debug registers to indicate a breakpoint hit The processor issues this interrupt after executing every instruction when thebreakpoint hit. The processor issues this interrupt after executing every instruction when the TRAP flag is set.

• Breakpoint (3) The INT 3 instruction generates this exception. Since the opcode of this( ) ginstruction is only one byte long, it is often used by debuggers to set a breakpoint in application code. The debugger needs only to replace the first byte of the instruction withthe INT 3 opcode (11001100b) and wait for the breakpoint exception to occur. After the exception handler resumes execution and before returning to the debugged application, the p g gg pp ,debugger sets the INT 3 opcode to the previously overwritten byte and issues an IRET (interrupt return) instruction.

Overflow (4) When performing arithmetic instructions with signed operands the processor• Overflow (4) When performing arithmetic instructions with signed operands, the processorset the OF flag to indicate an overflow. The INTO instruction tests this flag and if it is set -generates an exception.

• Bounds Check (5) The BOUND instruction is used to verify that an array index does notexceed a certain limit. If the limit is exceeded, an exception is generated.

15

Page 16: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Exception Vector Condition (Real mode)• Invalid Opcode (6) Occurs when the processor executes one of the reserved opcodes or

uses the LOCK prefix improperly. Can also indicate an invalid operand following an opcode.

• Device Not Available (7) Attempting to execute a floating-point instruction when there is no coprocessor installed. The EM bit of the CR0 register can be cleared to disable thisexception.

• Double Fault (8) An interrupt occurs which has no corresponding entry in the IVT or a second exception is generated while the processor is executing a previously activatedexception handlerexception handler.

• Stack Exception (12) Stack operation exceeds offset FFFFh or a selector pointing to a non present segment is loaded into SSnon-present segment is loaded into SS.

• CS, DS, ES, FS, GS Segment Overrun (13) Word memory access at offset FFFFh or anattempt to execute past the end of the code segmentattempt to execute past the end of the code segment.

• Floating-Point Error (16) An error with the numeric coprocessor (Divide-by-Zero, Underflow Overflow )Underflow, Overflow...).

16

Page 17: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Exceptions (virtual 8086)

• Invalid Task State Segment (10) :Indicates that one of the checks made during t k it h f il da task switch failed.

• Segment Not Present (11) Loading one of the segment registers with a selector to a segment marked as not-present.

• Page Fault (14) Accessing a supervisor page from user privileged code orPage Fault (14) Accessing a supervisor page from user privileged code or attempting to access a page which is marked as not-present.

• Alignment Check (17) Memory access to an unaligned memory location (can• Alignment Check (17) Memory access to an unaligned memory location (can only occur while executing ring 3 code).

In protected mode si usa un registro interno, che punta a una tabella in memoria chiamata IDT (Interrupt Descriptor Table) che puo’ essere posta a qualsiasi ( p p ) p p qindirizzo e che dipende dal task in esecuzione

17

Page 18: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Vettore delle interruzioni per interruzioni (Intel) hardware• Il modulo esterno richiede l’interrupt (1); riceve l’ack dalla CPU(2);comunica l’identificatore

n (3);• LA CPU usa n come puntatore per una zona di memoria dove e’ indicato l’indirizzo di p p

partenza della RRI; moltiplica nx4 (4) e riceve l’address (5)

Addr 4 (nx4)MEMORIA

CPU

Addr

Data

( )

5 (addr RRI)

MODULO

CPU

3 n

5 (addr RRI)

MODULODi I/O

Inta# int

1

24 byte perchè(CS:IP)

18

Page 19: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Gestioni delle priorita’

– PIC controllore 8259

Gestisce 8 interruzioni da solo e fino a 64 se connesso in cascataOccupa 2 locazioni di indirizzoOccupa 2 locazioni di indirizzo Riconosce le interruzioni esterne a livello o sul

fronte positivo per istruzioni continue o ad eventiDurante il ciclo di riconoscimento della interruzione il

segnale INTA* ingloba CS* e RD*Modifica delle priorità, mascheratura, polling scelta

dell'EOI etc.

19

Page 20: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Gestione del DMAC• La comunicazione attraverso le interruzioni e’ comunque lenta:

– la CPU deve essere interrottaRitardo per comunicazione dell’identificatore ed inizio di RRI– Ritardo per comunicazione dell’identificatore ed inizio di RRI

– Esecuzione della RRI: trasferimento di dati attraversa la CPU– Termine della RRI

• Ad esempio si debba trasferire un blocco di 1000 byte dalla porta modem alla memoria:

• per 1000 volte– Richiesta di interruzione e risposta all’interruzione

Trasferimento del dato dalla porta alla CPU– Trasferimento del dato dalla porta alla CPU– Trasferimento di dati dalla CPU alla memoria– Esecuzione del codice (fetch , decode, execute)

– Il concetto di Direct Memory Access vuole saltare la connessione tramite CPU per collegare direttamente in hardware memoria ed I/O senza far p geseguire alla CPU alcun programma

20

Page 21: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Direct Memory Access

• DMA e’ il meccanismo per cui, sotto controllo hardware del DMAC (DMA Controller), una periferica si puo’ interfacciare direttamente con la memoria senza passare per la CPUmemoria senza passare per la CPU.

• il DMAC, simile alla CPU, prende il controllo del bus e gestisce il trasferimento. diventa master del bus al posto della CPU

• gestisce piu’ richieste (o DMA channels)• Deve essere piu’ efficiente della CPU nel trasferimento

• 1) la CPU vede il DMAC come una periferica e la programma con– Richiesta di rd o wr– indirizzo di I/O e indirizzo di memoria– n. di parole da trasferire

• 2) il DMAC quando attivato (via hw o sw) e’ in grado di2) il DMAC quando attivato (via hw o sw) e in grado di – indirizzare la memoria e gestire i segnali di controllo– indirizzare l’I/O e gestire i segnali di controllo

incrementare l’indirizzo in memoria– incrementare l indirizzo in memoria– controllare l’arbitraggio per diventare master del bus.

21

Page 22: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Modalità di funzionamento

Burst mode• Il DMAC acquisisce il controllo del bus• Il DMAC rilascia il bus solo quando ha terminato il trasferimento• Vantaggio:

– Il trasferimento avviene alla massima velocità possibile• Svantaggio:

L CPU ò d l b d t il t f i t– La CPU non può accedere al bus durante il trasferimento.Cycle stealing• Il dati sono trasferiti in piccoli blocchi• Il DMAC diventa padrone del bus per brevi istanti di tempo• Il DMAC diventa padrone del bus per brevi istanti di tempo• Vantaggio:

– la CPU non è bloccata per lunghi istanti di tempo• Svantaggi:Svantaggi:

– il trasferimento richiede più tempoTransparent DMA• Il DMA rileva quando la CPU non usa il busq• I trasferimenti hanno luogo solo quando la CPU non sta usando il bus• Vantaggi:

– il DMA non rallenta mai la CPU• Svantaggi:

– è in media il metodo più lento.

22

Page 23: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

DMA per trasferimenti singoli (Stealing)R i t di St t (I/O)Registro di Stato (I/O)Indirizzo iniziale MEMLunghezza del blocco

Indirizzo periferica.

Contatore indirizzo =

Inizializzazione Inizializzazione da programma da programma dei registri DMAdei registri DMA

Contatore indirizzo = indirizzo iniziale.

Contatore di byte = 0

P if ino

Periferica pronta?

DMA richiede a CPUAccesso a Memoria

Termina il ciclomacchina corrente

poi va in stato HOLD

siDMAR (HOLD)

Accesso a Memoria

Attesa risposta

DMA inizia un ciclo di accesso

DMA accettato (HOLDA)

alla memoria, lettura/scrittura secondo il registro di stato.

DMA incrementa il contatore di indirizzo e

Riprende normale funzionamento

contatore di indirizzo e il contatore di byte

Conta.di byte =

Lung.blocco?

no

23

blocco?

Operazione terminata.Avvisare CPU con INT

Esegue routine diservizio corrispondente

a fine trasferimento

siinterruzione

Page 24: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

DMAC (Burst Mode)R i t di St t (I/O)Registro di Stato (I/O)Indirizzo iniziale MEMLunghezza del blocco

Indirizzo periferica.

Contatore indirizzo =

Inizializzazione Inizializzazione da programma da programma dei registri DMAdei registri DMA

Contatore indirizzo = indirizzo iniziale.

Contatore di byte = 0

P if ino

Periferica pronta?

DMA richiede a CPUAccesso a Memoria

Termina il ciclomacchina corrente

poi va in stato HOLD

siDMAR (HOLD)

Accesso a Memoria

Attesa risposta

DMA inizia un ciclo di accesso

DMA accettato (HOLDA)

alla memoria, lettura/scrittura secondo il registro di stato.

DMA incrementa il contatore di indirizzo e

Riprende normale funzionamento

contatore di indirizzo e il contatore di byte

Conta.di byte =

Lung.blocco?

no

24

blocco?

Operazione terminata.Avvisare CPU con INT

Esegue routine diservizio corrispondente

a fine trasferimento

siinterruzione

Page 25: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Gerarchia delle Memorie

• Per memorizzare grandi quantità di dati si organizzano le memorie in maniera gerarchica

• Al vertice della gerarchia vi sono i registri ai quali si accede alla stessa velocità• Al vertice della gerarchia vi sono i registri ai quali si accede alla stessa velocità della CPU

• Scendendo verso il basso aumentano 3 parametri: il tempo di accesso, la dimensione e il costo unitariodimensione e il costo unitario

25

Page 26: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

I/O Dispositivi di Memorizzazione:Dischi MagneticiDischi Magnetici

• Un disco magnetico consiste in una serie di piatti in alluminio rivestiti di materiale ferromagnetico

• Il diametro dei piatti originariamente era di 50 cm mentre i dischi• Il diametro dei piatti originariamente era di 50 cm mentre i dischi attuali hanno diametro che può raggiungere anche i 3 cm

Nella testina del disco è contenuto un solenoide Essa sfiora la superficieNella testina del disco è contenuto un solenoide. Essa sfiora la superficie senza contatto. Mentre i Floppy disk sono a contatto.

Per eseguire una scrittura la testina viene attraversata da una corrente di l i i l ti ll ll fi i d l di i i t ipolarizzazione e le particelle sulla superficie del disco si orientano in verso

opposto alla corrente.

Per eseguire una lettura si considera il segno della corrente indotta sulla g gtestina dalle particelle magnetizzate presenti sulla superficie del disco

26

Page 27: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Dischi Magnetici

Disco e’ costituito da:

•Tracce: sequenza circolare di byte

•Settori: Le tracce sono suddivise in settori in genere contenenti 512 byte piu’ preambolo e codice di controllo di errore ECC code (Hammingbyte piu preambolo e codice di controllo di errore ECC code (Hamming per singoli errori o Reed Solomon per errori multipli)

Le dimensioni di un disco si riducono di circa un 15% per i Preamboli e ECCECC

27

Page 28: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Dischi Magnetici

• Dischi attuali hanno tra le 5000 e 10000 tracce per centimetro con unaDischi attuali hanno tra le 5000 e 10000 tracce per centimetro con una larghezza tra 1 e 2 micron

• Densità lineare all’interno della traccia è tra 50000/100000 bit/cm• Tecnologie recenti stanno studiando la possibilità di registrare il bit ec o og e ece s a o s ud a do a poss b à d eg s a e b

perpendicolarmente nel materiale ferromagnetico (registrazione perpendicolare) per incrementare notevolmente la capacità dei dischi

• Per ottenere una buona qualità dell’aria (che influenza la capacità di l i i ) di hi i ill ti Di hi Wi h t ( il i f IBMpolarizzazione) dischi sono sigillati: Dischi Winchester ( il primo fu IBM

30-30 come il fucile Winchester 30-30 e non come il commissario dei Simpson!! )

28

Page 29: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Dischi Magnetici

• La maggior parte dei dischi consiste di piu’ piatti impilati( dai 6 ai 12 piatti) ciascuno con una propria p a ) c ascu o co u a p op atestina

• Tracce alla stessa distanza dal centro sono chiamate Cilindricentro sono chiamate Cilindri

• Vecchi dischi avevano il numero di settori fissato e quindi la densita’ lineare sulle tracce piu’ esterne silineare sulle tracce piu esterne si riduceva drasticamente

• Dischi attuali sono suddivisi in zone ciacuna delle quali con un numerociacuna delle quali con un numero di settori variabile per poter massimizzare la capacità del disco indipendentemente dalla posizioneindipendentemente dalla posizione della testina

29

Page 30: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Dischi Magnetici: Prestazioni

• Hard-Disk NEC D2257: dischi e testine sono sigillati in una scatola a tenuta. Si compone di 5 dischi da 8’’, su cui vengono utilizzate 8 facce, ognuna con la sua testina.

• Caratteristiche#tracce per superficie 1024max densità di memorizzazione 9420 bit/inchcapacità per traccia 20,480 bytecapacità totale 167.7 Mbytevelocità di rotazione 3510 giri/minAverage Seek Time 20 ms

• Il tempo di accesso tA è determinato da:p• TS: tempo per posizionare la testina sulla traccia opportuna (seek time, o tempo di ricerca); • TL: tempo per posizionare la testina sul dato, all’interno della traccia (latency time)• TD: tempo per leggere serialmente i dati (data-transfer time, o tempo di trasferimento).• Si ha quindi che• Si ha quindi che

TACCESSO = TS + TL + TD

• Supponendo di voler trasferire un blocco di 1 kbyte di memoria, il tempo di accesso è pari a (20 + 17 09 + 0 85) msec = 37 94 msec(20 + 17,09 + 0,85) msec 37,94 msec

20480*3510/60 = byte trasferiti l d

30

Tempo per fare un giro (caso peggiore) a 3510 giri/min

al secondo

Page 31: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Accesso al Disco

Il tempo di seek per posizionare la testina sulla traccia ha una parte fissa e una che dipende dalle tracce

Ts=mxn+sTs=mxn+sm costante del drive del disco, n numero di tracce attraversate, s di avviamento

meccanico m=0,3-0,1 ms s= 20-30 ms

La latenza rotazionale tl per arrivare al settore corretto dipende dai giri al minutohd di solito 3600-5400 rpm,1 rotazione in 16,7 ms ritardo medio 8.3msfloppy 300-600 rpm, ritardo medio 100-200 msTr=1/2r r giri al secondo Ad esempio Tr= ½ 60/5400 x 1000 =5 6 msAd esempio Tr= ½ 60/5400 x 1000 =5,6 ms

3) tempo di trasferimentoTd= B/Br B byte da trasferire, Br byte rateAd esempio per trasferire un settore da 512 Kbyte con una capacità di trasferimento

di 4MB/s Tr=512 x 10^3/( 4 x 10^6) Tr=0,122ms

31

Page 32: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

ACCESSO AL DISCO

Organizzazione sequenziale, il file e’ diviso in settori e tracce adiacenti• si consideri un disco con Ts medio dichiarato di 20ms con velocita’ di

trasferiemnto di 1MB/s e tracce di 32 settori da 512 bytetrasferiemnto di 1MB/s e tracce di 32 settori da 512 byte.• Si vuole leggere un file da 128KB

• 128KB--> 256 settori--> 8 tracce adiacenti

• per leggere la prima traccia Ts=20msp gg p• Tr=8.3ms (medio a 3600 rpm)• lettura dei primi 32 settori di una traccia Tt=16.7 msec

T 20+8 3+16 7 45ms• T=20+8.3+16.7=45ms• se le altre tracce seguono non c’e piu’ da aggiungere Ts ma solo 8.3+16.7=25• cosi’ Ttot=45+7x25=220ms=0,22secOrganizzazione random• per ogni settore T=20+8.3+0.5= 28.8 msec• Ttot= 28 8 x 256 =7373ms= 7 37sec• Ttot= 28.8 x 256 =7373ms= 7.37sec

32

Page 33: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Dischi IDE

• A metà degli anni ’80 si diffusero le prime unità disco IDE (Integrated Drive Electronics) dove il disco e il controller erano integrati in un unico dispositivo. L’indirizzamento avveniva tramite il BIOS e utilizzando gli indirizzi fisici di cilindro, settore e tracciasettore e traccia.

• Per via della modalità di indirizzamento, i dischi IDE potevano avere al massimo 1.032.192 (16 testine x 63 settori(numerazione partiva da 1) x 1024 cilindri) ( ( p ) )settori e quindi non potevano essere più grandi di 504 MB (x29 per ogni settore –512 B).

• Nacquero quindi i dischi EIDE (Extended IDE) che usavano l’indirizzamento LBA• Nacquero quindi i dischi EIDE (Extended IDE) che usavano l indirizzamento LBA (Logical Block Addressing) che numera i settori da 0 a 228-1, quindi spostarono il limite a 228x29=128 GB. Il protocollo EIDE supporta poi due canali (primario e secondario) e anche i lettori CD-ROM e DVD

• Il successore di EIDE è stato ATA-3 (Advanced Technology Attachment) e nella sua versione ATAPI-6 porto il LBA da 28 a 48 bit, spostando il limite a 128 PB (peta=1015)!!PB (peta 10 )!!

• Il grosso passo fu lo standard ATAPI-7 anche noto come serial ATA (o SATA), standard maggiormente supportato oggi. Lo standard sostituisce l’interfaccia

ll l 80 i i l i f i i di 1 bi ll lparallela a 80 pin con una seriale a 7 pin con trasferimenti di 1 bit alla volta con velocità attuali di 150 MB/sec ma che dovrebbero arrivare fino a 1,5 GB/sec

33

Page 34: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Dischi SCSI

• dischi SCSI (Small Computer System Interface) sfruttano gli stessi i i i d i di hi EIDE l’i t f i è di lt iù l SCSIprincipi dei dischi EIDE, ma l’interfaccia è diversa e molto più veloce. SCSI

ha anche un bus proprietario con protocollo di comunicazione ottimizzato. Ne esistono varie configurazioni e versioni:

• Il protocollo SCSI permette anche, a differenza dell’EIDE, di avere più dispositivi/dischi attivi contemporaneamente ed è quindi ottimo per sistemi operativi multi tasking come Unix o Windows XPoperativi multi-tasking come Unix o Windows XP

34

Page 35: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

RAID

• Nei sistemi RAID (Redundant Array of Independent Disks) i dati vengono partizionati in segmenti di uguale lunghezza e scritti su dischi g p g g gdifferenti. La grandezza della partizione si chiama unità di striping. Ad esempio se abbiamo un'unità di striping di 1 bit e abbiamo un array di D dischi le sequenze di dati lunghe D bit o più necessitano di tutti i dischi edischi, le sequenze di dati lunghe D bit o più necessitano di tutti i dischi e possono essere lette in parallelo.

• Esistono vari livelli di RAID:• Esistono vari livelli di RAID:– RAID 0: divide i dati equamente tra due o più dischi con

nessuna informazione di parità o ridondanza RAID 1 i tt ( i ) di t tti i d ti– RAID 1: crea una copia esatta (o mirror) di tutti i dati su due o più dischi. RAID-1 aumenta anche le prestazioni in lettura, visto che molte implementazioni possono leggere da n disco mentre l'altro è occ patoda un disco mentre l'altro è occupato.

– RAID 2: divide i dati al livello di bit (invece che di blocco) e usa un codice di Hamming per la correzione d'errore. Att l t è iù i

35

Attualmente non è più in uso.

Page 36: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

RAID

– RAID 3: usa una divisione al livello di byte con un disco dedicato alla parità. Uno degli effetti collaterali del RAID 3 è che non può eseguire richieste multiple simultaneamente. Questo perché ogni singolo blocco di dati ha la propriaQuesto perché ogni singolo blocco di dati ha la propria definizione diffusa tra tutti i dischi del RAID e risiederà nella stessa locazione, così ogni operazione di I/O richiede di usare tutti i dischi.

– RAID 4: usa una divisione (striping) a livello di blocchi con un disco dedicato alla parità(calcolata come l’XOR delle singole parità delle strip). Questo permette ad ogni disco appartenente al sistema di operare in maniera indipendenteappartenente al sistema di operare in maniera indipendente quando è richiesto un singolo blocco. (prestazioni scarse in caso di aggiornamento di piccole quantita’ di dati: ricalcolare la parita’ della strip e rileggere tutti i dischi)p p gg )

– RAID 5: usa una divisione dei dati a livello di blocco con i dati di parità distribuiti tra tutti i dischi.

– RAID 6: usa una divisione a livello di blocchi con i dati di parità distribuiti due volte tra tutti i dischi. Nel RAID-6, il blocco di parità viene generato e distribuito tra due stripe di parità, su due dischi separati.

36

Page 37: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

CD-ROM Audio

Introdotti da Philips e Sony negli anni 80 per la riproduzione musicale

Processo di scrittura a “stampa”:• 1)Si prepara con un laser rosso un

master su un disco di vetro(Glass master)master)

• 2) Creazione di uno stampo che presenta scanalature in presenza dei buchi del master

• 3)Inserimento di policarbonato liquido sullo stampo e copertura con vernice protettiva

Le scanalature sono chiamate pit mentreLe scanalature sono chiamate pit mentre le aree tra pit sono chiamate land

La lettura viene effettuata da un diodo laser che illumina la parte in policarbonato e legge meno luce in corrispondenza di un pit Dati sono codificati con 1 o 0 a seconda dellameno luce in corrispondenza di un pit. Dati sono codificati con 1 o 0 a seconda della presenza o l’assenza di una transizione pit/land o land/pit.

Dati sono scritti in un’unica spirale continua di 5,2KM!! e per leggere i dati in maniera uniforme la velocità di rotazione varia a seconda di dove si trova la testina di lettura(piu’ alta

37

uniforme la velocità di rotazione varia a seconda di dove si trova la testina di lettura(piu alta al centro circa 530 giri/min e diminuisce verso l’esterno fino a 200 giri/min).

Page 38: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

CD-ROM Dati

Definizione della codifica:Definizione della codifica:

•Ogni simbolo(1 byte) e’ codificato con 14 bit + 2 bit ECC l i d 14ECC e la corrispondenza 14-8 e’ realizzata in hardware.

•42 simboli formano 1 frame

•98 frame formano un settore(ogni settore ha un preambolo di 16 byte(12 inizio settore e 3 numero settore e un byte per il modo)

Definite 2 modalità o modi:

•Modo 1:16 byte di preambolo, 2048 byte di dati e 288 di codice ECC(Reed Solomon)Solomon)

•Modo 2:Dati ed ECC sono combinati in unico campo per cui si ottiene piu’ spazio per i dati a scapito del controllo di errore(per audio o video)

38

Page 39: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

CD-R Registrabili

• I cd scrivibili o CD-R sono differenti da quelli scritti con il processo di stampa. La scrittura viene realizzata tramite un processo chimico:

• Si utilizza uno strato di pigmento(cianina o ftalocianina) posto prima dello strato riflettente.

Il l i f di i ’ ili d l f i i hi i d lIl laser in fase di scrittura e’ utilizzato ad alta potenza e favorisce una reazione chimica del pigmento rendendolo parzialmente opaco. Vengono cosi’ simulati pit e land.

I cd RW non utilizzano un pigmento ma una lega che possiede 2 stati stabili:I cd RW non utilizzano un pigmento ma una lega che possiede 2 stati stabili: amorfo e cristallino. Tramite un laser a 2 potenze e’ possibile portare la lega in ciascuno dei due stati simulando cosi’ la presenza di un pit o di un land.

39

Page 40: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

DVDD d ’ l’ i di Di it l• Dvd e’ l’acronimo di Digital Versatile Disk.

• Presenta una tecnologia simile ai CD-R con sottili differenze nella tecnica di scrittura:

• pit piu’ piccoli 0,4 micron contro 0,8 nei CD

•Spirale piu’ stretta 0 74 micron di•Spirale piu stretta 0,74 micron di distanza tra le tracce

•Laser rosso a 0,65 micron

Esistono 4 formati per i DVD:

• Singolo lato singolo strato 4,7GB

• Singolo lato doppio strato 8,5GB

• Doppio lato singolo strato 9,4GB

• Doppio lato doppio strato 17GB

I DVD d i t t i d t t di t i l ifl tt t i ifl tt t A d di il l ’I DVD doppio strato possiedono uno strato di materiale riflettente e uno semiriflettente. A seconda di come il laser e’ messoa fuoco esso rimbalza su uno strato oppure un altro.

Recentemente sono stati commercializzati i primi DVD Blue Ray in cui il processo di lettura e’ realizzato mediante laser blu e non rosso. Essi permettono tracce piu’ vicine e letture piu’ accurate. I DVD singolo strato raggiungono i 25GB di capacita’e i lettori hanno una velocita’ di trasferimento di 4 5MB/s

40

e i lettori hanno una velocita di trasferimento di 4,5MB/s.

Page 41: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Dispositivi di IO:TastieraTastiera

• Dispositivo di immissione piu’ conosciuto• Realizzate tramite circuito stampato e un foglio di materiale• Realizzate tramite circuito stampato e un foglio di materiale

elastometrico che alla pressione di un tasto contattal’apposito circuito

• Alla pressione viene attivata una interruzione e l’appositogestore degli interrupt interpreta il codice numerico associatoal tasto.

• Diversi Layout:

– QWERTY(1864): il piu’ popolare quello dellatastiera odierna (testo del primo messaggio E-Mail) Varianti diverse per ogni paese(in Francia: AZERTY)AZERTY)

– Dvorak (1936)E P t (1955)– ExPert (1955)

41

Page 42: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Monitor LCD

• Monitor il cui funzionamento e’ basato su uno strato di cristalli liquidi compreso tra 2 lastre di vetrocompreso tra 2 lastre di vetro

• I cristalli liquidi sono molecole viscose con struttura simile a quella di un cristallodi un cristallo

• Quando allineati nella stessa direzione le proprieta’ ottiche dei cristalli liquidi dipendono dallacristalli liquidi dipendono dalla direzione e dall’intensita’ della luce incidente

• Gli schermi piu’ popolari sono quelli• Gli schermi piu popolari sono quelli di tipo TN(Twisted Nematic: filo ritorto)L l t t i ti l hi i t li t ll t i ti li L l lLa lastra posteriore contiene solchi orizzontali mentre quella anteriore verticali. Le molecole del cristallo compiono una torsione nello spazio tra le lastre. Sulla parete posteriore vi e’ un filtro di polarizzazione orizzontale mentre sulla parete anteriore e’ sfasato di 90°. In assenza di polarizzazione la luce emessa dalla lampada posteriore viene sfasata e passa dal filtro

42

p p p panteriore. Quindi lo schermo risulta bianco. Applicando tensioni a zone specifiche e’ possibile spegnere alcune zone dello schermo.

Page 43: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Monitor LCD

• Esistono 2 tipi di monitor LCD che si differenziano per il modo con cui viene applicata la tensione:

– Matrice Passiva: schermo posteriore ha 640 fili verticali e quello anteriore 480 fili i li(640 480) P l i d i l fil ’ ibilfili orizzontali(640x480). Polarizzando un singolo filo e’ possibile spegnere un pixel per un breve intervallo di tempo. Ogni riga rimane quindi attiva per un tempo limitato. Lo schermo viene ridisegnato rapidamente (refresh rate circa di 60Hz) ingannando l’occhio per cui l’immagine sembra continua.(Problema del ghosting e tempi di risposta lenti)g g p p )

– TFT(Thin Film Transistor): Tecnologia attuale della maggior parte dei monitor in commercio, anche definiti a matrice attiva. Negli schermi TFT ad ogni pixel e’ associato un transistor di commutazione. E’ cosi’ possibile disegnare un pattern arbitrario sullo schermo e non ogni riga alla volta. Il processo produttivo e’ costoso perche’ e’ necessario realizzare tutti i transistor in unproduttivo e’ costoso perche’ e’ necessario realizzare tutti i transistor in un unico wafer di silicio e possono essere tanti (es 1024x768x3 schermo a colori = circa 2’400’000). Gli errori sono direttamente visibili sullo schermo come pixel accesi su fondo nero (transistor cortocircuitato)

43

Page 44: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Mouse

• Mouse e’ il dispositivo di puntamento piu’ noto in assoluto• Esistono 2 tipi di mouse:• Esistono 2 tipi di mouse:

• Mouse meccanici :il funzionamento e’ meccanico. E’ presente una palla che ruota su opportuni sensori(rulli) che individuano il movimento orizzontale o verticale

• Mouse ottico :Un diodo a emissione di luce rossa illumina una piccola porzione di superficie p p pe una fotocamera CMOS scatta circa 2000 fotografie al secondo. Un piccolo processore dedicato DSP elabora tali fotografie e determina le differenze individuando la direzione di spostamento.

44

Page 45: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Stampanti ad Aghi

• Testine di stampa, generalmente con standard di 9 o 18 oppure 24 aghi, mossi da elettromagneti battono sulla carta attraverso un nastro inchiostrato mentre si spostano lateralmente sul foglio. La sequenza dei colpi è generata da un circuito elettronico per comporreun circuito elettronico per comporre i pixel che costituiscono i caratteri o parte di una immagine. La stampa può avvenire in entrambi i sensi di spostamento del carrello, con un paumento della velocità complessiva (stampa bidirezionale). Alcuni modelli di stampanti ad aghi possono riprodurre il colore, impiegando oltre al nero anche treimpiegando oltre al nero anche tre bande colorate secondo lo standard RGB, Red Green Blue, oppure CMY, Ciano Magenta Yellow. La tecnologia di stampa a g pmatrice è ancora richiesta in alcuni settori poiché permette di imprimere anche modulistica a piu copie.

45

Page 46: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Stampanti a getto

• Stampanti a getto di inchiostro: È la tecnologia che ha avuto il maggiore successo presso l'utenza privata ed i piccoli uffici, principalmente a causa del basso costo di produzione, della silenziosità e buona resa dei colori. U hi di ti i i i i lli i l diUna schiera di centinaia microscopici ugelli spruzzano minuscole gocce di inchiostro a base di acqua sulla carta durante lo spostamento del carrello. Il movimento dell'inchiostro è ottenuto per mezzo di due distinte tecnologie:

– pompe piezoelettriche che comprimono il liquido in una minuscola camera,

– resistenze elettriche che scaldano bruscamente il fluido all'interno d ll di i t d il l i didella camera di compressione aumentandone il volume e quindi facendolo schizzare dall'ugello (Jet_Plate).

• Stampanti a getto di cera: Tecnologia simile alla precedente ma che• Stampanti a getto di cera: Tecnologia simile alla precedente, ma che offre anche su carta comune immagini dall'aspetto fotografico, grazie alla lucidità della cera. L'impiego di queste stampanti è ormai estremamente limitato a causa della loro complessità e ai tempi di utilizzo elevati dovuti alla necessità di mantenere costantemente fusa la ceraalla necessità di mantenere costantemente fusa la cera.

46

Page 47: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Stampanti Laser

• Questa tecnologia deriva direttamente dalla xerografia comunemente implementata nelle fotocopiatrici analogiche Un raggio laserfotocopiatrici analogiche. Un raggio laser infrarosso viene modulato secondo la sequenza di pixel che deve essere impressa sul foglio. Viene poi deflesso da uno specchio rotante su un tamburo fotosensibile elettrizzato che siun tamburo fotosensibile elettrizzato che si scarica dove colpito dalla luce. L'elettricità statica attira una fine polvere di materiali sintetici e pigmenti, il toner, che viene trasferito sulla carta (sviluppo) Il foglio passa poi sotto unsulla carta (sviluppo). Il foglio passa poi sotto un rullo riscaldato che fonde il toner facendolo aderire alla carta (fissaggio). Per ottenere la stampa a colori si impiegano quattro toner: nero ciano magenta e giallo trasferiti da unnero, ciano, magenta e giallo, trasferiti da un unico tamburo oppure da quattro distinti. CMYK

Per semplificare la gestione nelle stampanti laser monocromatiche moderne il toner e il tamburo fotosensibile sonoPer semplificare la gestione, nelle stampanti laser monocromatiche moderne il toner e il tamburo fotosensibile sono incluse in un'unica cartuccia.

Diverse agenzie per l'ambiente e giornali specializzati hanno verificato che, durante la stampa, vengono rilasciate alcune polveri sottili cancerogene come benzolo e stirolo, che sono coloranti contenuti nel toner.

47

Page 48: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Modem

Trasmissione dei dati su linea telefonica viene realizzato attraverso la modulazione di un onda sinusoidalemodulazione di un onda sinusoidale nota.

Le modulazioni possono essere:• Di ampiezza(b)Di ampiezza(b)• Di frequenza(c)• Di fase(d)

Il numero di potenziali cambiamenti dell’onda e’ definito baud mentre possono essere trasmessi piu’ bit per ogni baud.

I modem possono essere:I modem possono essere:

•Full Duplex: possono sia trasmettere che ricevere contemporaneamente utilizzando frequenze diverse

•Half duplex: trasmissione o la ricezione in un datoHalf duplex: trasmissione o la ricezione in un dato istante sono esclusive

I modem attuali hanno un baudrate per secondo di 9600 e possono raggiungere una velocita’ di trasmissione di 57’600

48

bps

Page 49: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

ADSL

• Peculiarità della tecnologia ADSL è la possibilità di usufruirne senza dover cambiare i cavi telefonici esistenti e senza dover usare linee separate per i dati e per le comunicazioni-voce normali: sul doppino telefonico in rame, è infatti possibile far viaggiare contemporaneamente sia i dati digitali che il segnale telefonico analogico,

i ll b d diff t t i d li l i f tti l f tgrazie alla banda differente usata per i due segnali: la voce usa infatti le frequenze tra 300 e 3400 Hz, mentre ADSL sfrutta quelle sopra i 4 KHz. Ciò è dovuto al fatto che il doppino di rame consente frequenze fino a 1,1 MHz.

• Un ciclo locale viene suddiviso in 256 canali.• Il canale 0 e’ usato per il traffico voce POTS(Plain old telephone service) • I canali 1-5 sono usati come separatore• I canali 6-250 sono usati per i dati:

• Sono suddivisi in modo asimmetrico tra trasmissione e ricezione(Adsl)Sono suddivisi in modo asimmetrico tra trasmissione e ricezione(Adsl)• 80-90% e’ dedicato alla ricezione• Genericamente si usano 32 canali in uscita e I restanti in entrata• Ciascun canale ha una propria velocita’ che dipende dalla qualita’ della linea e del segnale

(SNR: Signal noise ratio)( g )• Il massimo teorico e’ 13,44 Mbps con un baud per canale di 4000 e 224 canali in ricezione

49

Page 50: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

ADSLInstallazione tipicap

50

Page 51: Architettura dei Calcolatori 10 Input Ouput

Architettura dei calcolatori a.a. 2007/2008

Fotocamera Digitale

51