Scano di Montiferro – Reti di Calcolatori 1 RETI DI CALCOLATORI rucchio/Reti_Scano
Architettura dei Calcolatori 10 Input Ouput
-
Upload
majong-devjfu -
Category
Technology
-
view
1.222 -
download
1
Transcript of Architettura dei Calcolatori 10 Input Ouput
Dispense del corso diArchitettura dei CalcolatoriArchitettura dei Calcolatori
Sottosistema di Input/Output
Architettura dei calcolatori a.a. 2007/2008
Moduli di I/O
CPU
2
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
Architettura dei calcolatori a.a. 2007/2008
Interfaccia tra CPU e I/O
4
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
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
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)
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
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
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
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
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
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
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 -
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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).
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
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
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.
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
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.
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
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
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
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
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
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
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
Architettura dei calcolatori a.a. 2007/2008
ADSLInstallazione tipicap
50
Architettura dei calcolatori a.a. 2007/2008
Fotocamera Digitale
51