3. a.a. 2007/2008
Architettura dei calcolatori
Semplice unità di I/O
Che operazione viene eseguita?
•Esempio: senza registro di stato. Sel
è il segnale di decodifica che assieme IOADR equ F000h
ai segnali di lettura e scrittura (nell’es.
(nell es. IN IOADR
IORC e IOWC sono attivi alti) viene NEG
OUT IOADR
usato per creare i segnali di chip
select
8 FF di tipo D
(Sel decodifica IOADR)
Periferica
esterna
Porta unidirezionale In out se segnali di OE# sono abilitati
3
5. a.a. 2007/2008
Architettura dei calcolatori
Interfaccia tra CPU e I/O
• Dal punto di vista hardware la CPU e’ collegata all’I/O attraverso il bus di
sistema
• ( o attraverso bridge che t f
tt b id h trasformano i segnali d l b di sistema i
li del bus it 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)
• DMA direct memory access
5
6. a.a. 2007/2008
Architettura dei calcolatori
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)
• Ricomincia se necessario
6
7. a.a. 2007/2008
Architettura dei calcolatori
Gestione degli eventi
Gestione degli eventi e comunicazione con I/O
( segnali esterni, trasferimenti di dato verso l’I/O, controllo delle
p
periferiche…) )
a controllo di programma
t ll ad interruzioni
di t ii
POLLING gestione di eventi asincroni
Gestito dal master (la CPU) disaccoppiamento delle funzioni
INTERRUZIONE
sospensione forzata del processo di esecuzione e trasferimento di controllo ad
una quot; routine di servizio“ che soddisfa le richieste dell'evento che ha provocato
l'interruzione, al termine della quale il controllo viene restituito al processo
l'i t i lt i d ll l t ll i tit it l
sospeso
Routine di servizio si chiama RRI Routine di Risposta all’Interrupt
all Interrupt
(o ISR Interrupt service routine)
7
8. a.a. 2007/2008
Architettura dei calcolatori
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
l’I/O
Polling Interrupt
add
Tempo sub
Is the user
di and
(1) I/O
data program
or
interrupt
ready?
attesa no nop
yes (2) save PC
read
data
(3) interrupt
service addr
read
store
t interrupt
store
data service
...
routine
(4) rti
done? no
memory
yes
8
9. a.a. 2007/2008
Architettura dei calcolatori
Interruzioni hardware e software
• Software
– software nel programma
• Tramite 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 eccezioni
g
• 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 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 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
10. a.a. 2007/2008
Architettura dei calcolatori
Interruzioni
• Tutti i calcolatori impiegano il meccanismo delle interruzioni
• Processo di interruzione avviene in diverse fasi
1) notifica alla CPU delle interruzioni
2) accettazione della interruzione
)
3) identificazione della sorgente e reperimento dell’indirizzo della RRI
4) salvataggio dello stato della CPU e modifica del PC
5) esecuzione delle RRI
6) ritorno al programma chiamante e ripristino dello stato
Come si gestiscono interruzioni multiple?
10
11. a.a. 2007/2008
Architettura dei calcolatori
Notifica
1) notifica dell’interruzione
• in software;
– le eccezioni si verificano al termine della fase di execute.
– 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
g
viene sentito al termine dell’istruzione corrente (o al primo clock nello
stadio di esecuzione delle pipeline)
11
12. a.a. 2007/2008
Architettura dei calcolatori
Interruzioni nell’8086
2) Accettazione dell’interruzione
• interruzioni software sono sempre accettate;
• 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 q
p g quale e’ la sorgente di int
g
• 2) in modo vettorizzato
12
13. a.a. 2007/2008
Architettura dei calcolatori
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) delle
interruzioni
2) V tt i
Vettorizzate esternamente:
t t t
• 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 puntatore
Nell ISA l’identificatore dell’interruzione e
ad una tabella dove e’ indicato l’indirizzo di partenza delle RRI corrispondenti
13
14. a.a. 2007/2008
Architettura dei calcolatori
Intel interrupt nei PC
INT (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 Hardware IRQ14
Hd Hard Disk Drive
H d Di k D i
77 Hardware IRQ15 Reserved
78 - FF Software Interrupts -
14
15. a.a. 2007/2008
Architettura dei calcolatori
Exceptions
• Formalismo: Exception (Vector) Condition (Real mode)
• Division by Zero (0) Attempting to execute a DIV or an IDIV instruction with a divisor
which 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 the
hit.
TRAP flag is set.
• Breakpoint (3) The INT 3 instruction generates this exception. Since the opcode of this
() g
instruction 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 with
the 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
operands,
set 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 not
exceed a certain limit. If the limit is exceeded, an exception is generated.
15
16. a.a. 2007/2008
Architettura dei calcolatori
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 this
exception.
• 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 activated
exception handler
handler.
• Stack Exception (12) Stack operation exceeds offset FFFFh or a selector pointing to a
non-present
non present segment is loaded into SS
SS.
• CS, DS, ES, FS, GS Segment Overrun (13) Word memory access at offset FFFFh or an
attempt to execute past the end of the code segment
segment.
• Floating-Point Error (16) An error with the numeric coprocessor (Divide-by-Zero,
Underflow, Overflow...).
Underflow Overflow )
16
17. a.a. 2007/2008
Architettura dei calcolatori
Exceptions (virtual 8086)
• Invalid Task State Segment (10) :Indicates that one of the checks made during
a t k switch failed.
task it h f il d
• 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 or
attempting to access a page which is marked as not-present.
• 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 p
( p p ) puo’ essere p
posta a q
qualsiasi
indirizzo e che dipende dal task in esecuzione
17
18. a.a. 2007/2008
Architettura dei calcolatori
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 p una zona di memoria dove e’ indicato l’indirizzo di
p per
partenza della RRI; moltiplica nx4 (4) e riceve l’address (5)
4 (nx4)
( )
Addr
MEMORIA
Data
5 (addr RRI)
CPU
3n MODULO
Di I/O
Inta# int
1
4 byte perchè
2 (CS:IP)
18
19. a.a. 2007/2008
Architettura dei calcolatori
Gestioni delle priorita’
– PIC controllore 8259
Gestisce 8 interruzioni da solo e fino a 64 se
connesso in cascata
Occupa 2 locazioni di indirizzo
Riconosce le interruzioni esterne a livello o sul
fronte positivo per istruzioni continue o ad eventi
Durante il ciclo di riconoscimento della interruzione il
segnale INTA* ingloba CS* e RD*
Modifica delle priorità, mascheratura, polling scelta
dell'EOI etc.
19
20. a.a. 2007/2008
Architettura dei calcolatori
Gestione del DMAC
• La comunicazione attraverso le interruzioni e’ comunque lenta:
– la CPU deve essere interrotta
– 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 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 g
eseguire alla CPU alcun programma
20
21. a.a. 2007/2008
Architettura dei calcolatori
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 CPU 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 di
e
– indirizzare la memoria e gestire i segnali di controllo
– indirizzare l’I/O e gestire i segnali di controllo
– incrementare l’indirizzo in memoria
l indirizzo
– controllare l’arbitraggio per diventare master del bus.
21
22. a.a. 2007/2008
Architettura dei calcolatori
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 non può accedere al b d
La ò d l bus durante il t f i
t trasferimento.
t
Cycle stealing
• Il dati sono trasferiti in piccoli blocchi
• Il DMAC diventa padrone del bus per brevi istanti di tempo
• Vantaggio:
– la CPU non è bloccata per lunghi istanti di tempo
• Svantaggi:
– il trasferimento richiede più tempo
Transparent DMA
• Il DMA rileva quando la CPU non usa il bus
q
• 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
23. a.a. 2007/2008
Architettura dei calcolatori
DMA per trasferimenti singoli (Stealing)
Registro Stato
R i t di St t (I/O)
Inizializzazione
Indirizzo iniziale MEM
da programma
Lunghezza del blocco
dei registri DMA
Indirizzo periferica.
Contatore indirizzo =
indirizzo iniziale.
Contatore di byte = 0
no
Periferica
P if i
pronta?
si
DMAR (HOLD) Termina il ciclo
macchina corrente
DMA richiede a CPU
poi va in stato HOLD
Accesso a Memoria
DMA accettato (HOLDA)
Attesa risposta
DMA inizia un ciclo di accesso
alla memoria, lettura/scrittura
secondo il registro di stato.
Riprende normale
funzionamento
DMA incrementa il
contatore di indirizzo e
il contatore di byte
Conta.
no
di byte =
Lung.
blocco?
si
Esegue routine di
interruzione servizio corrispondente
Operazione terminata.
a fine trasferimento
Avvisare CPU con INT
23
24. a.a. 2007/2008
Architettura dei calcolatori
DMAC (Burst Mode)
Registro Stato
R i t di St t (I/O)
Inizializzazione
Indirizzo iniziale MEM
da programma
Lunghezza del blocco
dei registri DMA
Indirizzo periferica.
Contatore indirizzo =
indirizzo iniziale.
Contatore di byte = 0
no
Periferica
P if i
pronta?
si
DMAR (HOLD) Termina il ciclo
macchina corrente
DMA richiede a CPU
poi va in stato HOLD
Accesso a Memoria
DMA accettato (HOLDA)
Attesa risposta
DMA inizia un ciclo di accesso
alla memoria, lettura/scrittura
secondo il registro di stato.
Riprende normale
funzionamento
DMA incrementa il
contatore di indirizzo e
il contatore di byte
Conta.
no
di byte =
Lung.
blocco?
si
Esegue routine di
interruzione servizio corrispondente
Operazione terminata.
a fine trasferimento
Avvisare CPU con INT
24
25. a.a. 2007/2008
Architettura dei calcolatori
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à
della CPU
• Scendendo verso il basso aumentano 3 parametri: il tempo di accesso, la
dimensione e il costo unitario
25
26. a.a. 2007/2008
Architettura dei calcolatori
I/O Dispositivi di Memorizzazione:
Dischi 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
attuali hanno diametro che può raggiungere anche i 3 cm
Nella testina del disco è contenuto un solenoide Essa sfiora la superficie
solenoide.
senza contatto. Mentre i Floppy disk sono a contatto.
Per eseguire una scrittura la testina viene attraversata da una corrente di
polarizzazione e l particelle sulla superficie d l di
li i le ti ll ll fi i del disco si orientano i verso
iit in
opposto alla corrente.
Per eseguire una lettura si considera il segno della corrente indotta sulla
g g
testina dalle particelle magnetizzate presenti sulla superficie del disco
26
27. a.a. 2007/2008
Architettura dei calcolatori
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 (Hamming
piu’
per singoli errori o Reed Solomon per errori multipli)
Le dimensioni di un disco si riducono di circa un 15% per i Preamboli e
ECC
27
28. a.a. 2007/2008
Architettura dei calcolatori
Dischi Magnetici
• Dischi 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 s a o s ud a do la poss b à d registrare il b
ec o og e ece stanno studiando a possibilità di eg s a e bit
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
polarizzazione) di hi sono sigillati: Di hi Wi h t ( il primo f IBM
li i ) dischi i ill ti Dischi Winchester i fu
30-30 come il fucile Winchester 30-30 e non come il commissario dei
Simpson!! )
28
29. a.a. 2007/2008
Architettura dei calcolatori
Dischi Magnetici
• La maggior parte dei dischi consiste
di piu’ piatti impilati( dai 6 ai 12
p a ) ciascuno con una propria
piatti) c ascu o co u a p op a
testina
• Tracce alla stessa distanza dal
centro sono chiamate Cilindri
• Vecchi dischi avevano il numero di
settori fissato e quindi la densita’
lineare sulle tracce piu’ esterne si
piu
riduceva drasticamente
• Dischi attuali sono suddivisi in zone
ciacuna delle quali con un numero
di settori variabile per poter
massimizzare la capacità del disco
indipendentemente dalla posizione
della testina
29
30. a.a. 2007/2008
Architettura dei calcolatori
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 1024
max densità di memorizzazione 9420 bit/inch
capacità per traccia 20,480 byte
capacità totale 167.7 Mbyte
velocità di rotazione 3510 giri/min
Average 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
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
17,09 0,85) 37,94
20480*3510/60 = byte trasferiti
al secondo
l d
Tempo per fare un giro (caso
peggiore) a 3510 giri/min
30
31. a.a. 2007/2008
Architettura dei calcolatori
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+s
m 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 minuto
hd di solito 3600-5400 rpm,1 rotazione in 16,7 ms ritardo medio 8.3ms
floppy 300-600 rpm, ritardo medio 100-200 ms
Tr=1/2r r giri al secondo
Ad esempio Tr= ½ 60/5400 x 1000 =5 6 ms
=5,6
3) tempo di trasferimento
Td= B/Br B byte da trasferire, Br byte rate
Ad 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
32. a.a. 2007/2008
Architettura dei calcolatori
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 byte
byte.
• Si vuole leggere un file da 128KB
• 128KB--> 256 settori--> 8 tracce adiacenti
• per leggere la p
p gg prima traccia Ts=20ms
• 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,22sec
Organizzazione random
• per ogni settore T=20+8.3+0.5= 28.8 msec
• Ttot= 28.8 x 256 =7373ms= 7 37sec
28 8 7.37sec
32
33. a.a. 2007/2008
Architettura dei calcolatori
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 traccia.
traccia
• Per via della modalità di indirizzamento, i dischi IDE potevano avere al massimo
1.032.192 (16 testine x 63 settori(numerazione p
( ( partiva da 1) x 1024 cilindri)
) )
9 per ogni settore –
settori e quindi non potevano essere più grandi di 504 MB (x2
512 B).
• Nacquero quindi i dischi EIDE (Extended IDE) che usavano l’indirizzamento LBA
l indirizzamento
28-1, quindi spostarono
(Logical Block Addressing) che numera i settori da 0 a 2
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)!!
(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
parallela a 80 pin con una seriale a 7 pin con trasferimenti di 1 bi alla volta con
ll l i il i fi i bit ll l
velocità attuali di 150 MB/sec ma che dovrebbero arrivare fino a 1,5 GB/sec
33
34. a.a. 2007/2008
Architettura dei calcolatori
Dischi SCSI
dischi SCSI (Small Computer System Interface) sfruttano gli stessi
•
principi d i di hi EIDE ma l’interfaccia è di
i i i dei dischi EIDE, l’i t f i diversa e molto più veloce. SCSI
lt iù l
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 XP
multi-tasking
34
35. a.a. 2007/2008
Architettura dei calcolatori
RAID
• Nei sistemi RAID (Redundant Array of Independent Disks) i dati
vengono p
g partizionati in segmenti di uguale lunghezza e scritti su dischi
g g g
differenti. 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,
dischi 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:
– RAID 0: divide i dati equamente tra due o più dischi con
nessuna informazione di parità o ridondanza
– RAID 1 crea una copia esatta (o mirror) di t tti i d ti su
1: i tt ( i ) tutti dati
due o più dischi. RAID-1 aumenta anche le prestazioni in
lettura, visto che molte implementazioni possono leggere
da un disco mentre l'altro è occ pato
n 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.
Attualmente non è più in uso.
Att l t iù i
35
36. a.a. 2007/2008
Architettura dei calcolatori
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 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 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
37. a.a. 2007/2008
Architettura dei calcolatori
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)
• 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 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 della
pit.
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
lettura(piu
al centro circa 530 giri/min e diminuisce verso l’esterno fino a 200 giri/min).
37
38. a.a. 2007/2008
Architettura dei calcolatori
CD-ROM Dati
Definizione della codifica:
•Ogni simbolo(1 byte) e’
codificato con 14 bit + 2 bit
ECC e l corrispondenza 14
la i d 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)
•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
39. a.a. 2007/2008
Architettura dei calcolatori
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
laser i f
in fase di scrittura e’ utilizzato ad alta potenza e f
i ’ ili dl favorisce una reazione chimica d l
i i hi i 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:
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
40. a.a. 2007/2008
Architettura dei calcolatori
DVD
• Dvd ’ l’acronimo di Di it l
D d e’ l’ i 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
piu 0,74
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
doppio strato possiedono uno strato di materiale riflettente e uno semiriflettente. A seconda di come il l
i tt id tt t i l ifl tt t i ifl tt t d laser e’ messo
’
a 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
velocita 4,5MB/s.
40
41. a.a. 2007/2008
Architettura dei calcolatori
Dispositivi di IO:
Tastiera
• Dispositivo di immissione piu’ conosciuto
• Realizzate tramite circuito stampato e un foglio di materiale
elastometrico che alla pressione di un tasto contatta
l’apposito circuito
• Alla pressione viene attivata una interruzione e l’apposito
gestore degli interrupt interpreta il codice numerico associato
al tasto.
• Diversi Layout:
– QWERTY(1864): il piu’ popolare quello della
tastiera odierna (testo del primo messaggio E-
Mail) Varianti diverse per ogni paese(in Francia:
AZERTY)
– Dvorak (1936)
– E P t (1955)
ExPert
41
42. a.a. 2007/2008
Architettura dei calcolatori
Monitor LCD
• Monitor il cui funzionamento e’
basato su uno strato di cristalli liquidi
compreso tra 2 lastre di vetro
• I cristalli liquidi sono molecole
viscose con struttura simile a quella
di un cristallo
• Quando allineati nella stessa
direzione le proprieta’ ottiche dei
cristalli liquidi dipendono dalla
direzione e dall’intensita’ della luce
incidente
• Gli schermi piu popolari sono quelli
piu’
di tipo TN(Twisted Nematic: filo
ritorto)
La lastra
L l t posteriore contiene solchi orizzontali mentre quella anteriore verticali. L molecole
ti ti l hi i t li t ll ti ti li Le l l
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 p
p p posteriore viene sfasata e p passa dal filtro
anteriore. Quindi lo schermo risulta bianco. Applicando tensioni a zone specifiche e’
possibile spegnere alcune zone dello schermo.
42
43. a.a. 2007/2008
Architettura dei calcolatori
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 orizzontali(640x480). P l i
i li(640 480) Polarizzando un singolo fil e’ possibile spegnere un
d i l filo ’ ibil
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
g
ghosting e tempi di risposta lenti)
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 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
44. a.a. 2007/2008
Architettura dei calcolatori
Mouse
• Mouse e’ il dispositivo di puntamento piu’ noto in assoluto
• 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 p
p porzione di superficie
p
e 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
45. a.a. 2007/2008
Architettura dei calcolatori
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 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
p
aumento della velocità complessiva
(stampa bidirezionale). Alcuni
modelli di stampanti ad aghi
possono riprodurre il colore,
impiegando 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 p
matrice è ancora richiesta in alcuni
settori poiché permette di
imprimere anche modulistica a piu
copie.
45
46. a.a. 2007/2008
Architettura dei calcolatori
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.
Una hi
U schiera di centinaia microscopici ugelli spruzzano minuscole gocce di
ti i i ii lli i l
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
della
d ll camera di compressione aumentandone il volume e quindi
i td l i di
facendolo schizzare dall'ugello (Jet_Plate).
• Stampanti a getto di cera: Tecnologia simile alla precedente ma che
precedente,
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 cera
cera.
46
47. a.a. 2007/2008
Architettura dei calcolatori
Stampanti Laser
• Questa tecnologia deriva direttamente dalla
xerografia comunemente implementata nelle
fotocopiatrici analogiche. Un raggio laser
analogiche
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 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 un
(sviluppo).
rullo riscaldato che fonde il toner facendolo
aderire alla carta (fissaggio). Per ottenere la
stampa a colori si impiegano quattro toner:
nero, ciano,
nero ciano magenta e giallo trasferiti da un
giallo,
unico tamburo oppure da quattro distinti. CMYK
Per semplificare la gestione nelle stampanti laser monocromatiche moderne il toner e il tamburo fotosensibile sono
gestione,
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
48. a.a. 2007/2008
Architettura dei calcolatori
Modem
Trasmissione dei dati su linea telefonica
viene realizzato attraverso la
modulazione di un onda sinusoidale
nota.
Le modulazioni possono essere:
• 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:
•Full Duplex: possono sia trasmettere che ricevere
contemporaneamente utilizzando frequenze diverse
•Half duplex: trasmissione o la ricezione in un dato
Half
istante sono esclusive
I modem attuali hanno un baudrate per secondo di 9600 e
possono raggiungere una velocita’ di trasmissione di 57’600
bps
48
49. a.a. 2007/2008
Architettura dei calcolatori
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,
grazie alla b d diff
i ll banda differente usata per i d segnali: l voce usa i f tti l f
t t due li la infatti le frequenze t
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)
• 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