Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Elettronici e Lab
Nella parte alta della gerarchia si trovano le memorie più veloci (registri della CPU) ai
quali si accede alla stessa velocità della CPU.
• Registri della CPU: capacità di memorizzazione c.a. 128 byte. Tempo di accesso di
qualche nanosecondo.
• Memoria cache: dimensione dai 32KB a qualche MB. Tempo di accesso < 10 ns.
• Memoria centrale: dimensione nell’ordine di vari Giga Byte. Tempo di accesso
20-50 ns.
• Memoria di Massa (dischi Magnetici) dimensione fino a 3 Terabyte (ottobre
2010) tempi di accesso 9 ms c.a. per un disco a 7200 RPM. Per uno da 15.000
RPM è inferiore a 4 ms.
Alla base della gerarchia si trovano le periferiche più lente ma con costo ridotto ed
elevata capacità di memorizzazione.
Si ricorda che:
9.2 I DISPOSITIVI DI IO
I dispositivi di I/O vengono usati per diverse funzioni, per memorizzare i dati in modo
permanente come memorie di massa ( secondary memory), per trasferire i dati
attraverso la rete, per comunicare con le periferiche ( stampanti etc), per interagire con
l’utente (tastiera video..).
La struttura fisica del calcolatore è quella di uno chassis metallico, Fig.2, contenente una
più schede ( di cui una e’ la scheda madre o motherboard) mentre da un punto di vista
logico si può considerare un insieme di blocchi funzionali collegati tra loro tramite uno
più collegamenti di tipo bidirezionale chiamati bus, Fig. 3.
Fig. 2
Fig. 3
L’interfaccia verso la CPU dal punto di vista hardware (parallelismo dei dati, indirizzi,
segnali di controllo, temporizzazioni) e’ regolata da diversi standard che definiscono i tipi
di bus di I/O, gestiti da opportuni bus controller o bridge. La periferica (comprendente
anche l’I/O module) dal punto di vista funzionale nell’interfaccia con la CPU e’ simile alla
memoria. In piu’ ha un’interfaccia con il mondo esterno che dipende dal tipo di I/O.
Mentre ogni locazione di memoria ha un proprio indirizzo e la memoria e’ sempre pronta
a ricevere e fornire dati, la periferica di I/O:
Data l’asincronicità del collegamento il trasferimento CPU I/O avviene attraverso più cicli
di bus di I/O, controllati da un programma (DRIVER) il cui schema può essere riassunto nei
punti seguenti:
Indipendentemente dal tipo di bus la CPU comunica con I/O e memoria attraverso gli
stessi segnali di dati e indirizzi. Esistono due differenti modalità di indirizzamento :
L’architettura dei calcolatori che dividono lo spazio di indirizzamento tra memoria ed I/O
come quelle dell'Intel prevedono la presenza di un ulteriore segnale M/IO#, che indica il
tipo di istruzione che viene eseguita.
L’ architettura Intel prevede una istruzione mov per i trasferimenti da e per memoria ed
istruzioni in ed out per lavorare con l’input/output. L’architettura Pentium prevede uno
spazio di indirizzamento di 4 Gbyte di memoria con 32 bit di indirizzi ma usa solo 64k
indirizzi per l’I/O, mentre nell’8086 era previsto 1Mbyte di spazio di indirizzamento
complessivo per la memoria e 64Kbyte per l’I/O.
ESEMPIO
mov bx,100
mov ds,0
mov dx,100
Elencare come dovrebbero essere i segnali RD# WR# e M/IO# nel caso delle operazioni in
tabella:
Considerando che le interfacce possono essere molto diverse ( a 1 bit, 8,16,32 bit..) non
è importante la frequenza di clock quanto il bitrate cioè il numero di bit trasferiti
nell’unità di tempo (bps).
In Fig. 4 sono elencati alcuni bitrate per periferiche comunemente note ed utilizzate nei
calcolatori recenti. Si ricorda come la memoria centrale (RAM) sia decisamente più
veloce rispetto alle periferiche di IO in quanto mediamente ha un bitrate che varia tra
decine e centinaia di Gbps.
ESERCIZI
ESERCIZIO 1
Il calcolatore A impiega 100 sec per eseguire un benchmark di cui il 90% è tempo di CPU
e il 10% è tempo di accesso all’I/O. Il nuovo calcolatore B ha migliorato i tempi di CPU del
50% e l’anno dopo esce il nuovo calcolatore C in cui la CPU migliora di ancora il 50%, ma
le prestazioni di I/O non migliorano. In C quanto incide l’I/O?
SOLUZIONE:
Telapsed=Tcpu+TI/O
Mentre in A l’I/O incide del 10%, in B pesa il 14% e in C incide del 20%
ESERCIZIO 2
SOLUZIONE:
Dal grafico si vede che l’ Hard disk ha bitrate di 10^8 bps e il CD 10^7 bps.
Ogni traccia risulta suddivisa in settori in genere contenenti 512 byte più alcuni byte di
preambolo e codice di controllo di errore
(ECC code. Ad es. Hamming per singoli errori o Reed Solomon per errori multipli).
I dischi attuali hanno tra le 5000 e 10000 tracce per centimetro con una larghezza tra 1 e
2 micron. La densità lineare all’interno della traccia è tra 50000/100000 bit/cm con i bit
registrati in modo orizzontale. La capacità di memorizzazione è notevolmente
aumentata nel corso degli anni grazie alla riduzione della dimensione delle tracce e
all’utilizzo di nuove tecniche di polarizzazione, Fig. 6.
Per ottenere una buona qualità dell’aria (che influenza la capacità di polarizzazione) i
dischi sono sigillati come ad esempio i Dischi Winchester ( il primo fu l’ IBM 30-30
citazione dello storico fucile Winchester 30-30) .
La maggior parte dei dischi consiste di più piatti impilati (dai 6 ai 12 piatti) ciascuno con
una propria testina.
I primi dischi avevano il numero di settori fissato e quindi la densità lineare sulle tracce
più esterne si riduceva drasticamente. Fissando il numero di settori ed avendo ogni
settore capacità fissata si sprecava spazio sulle tracce più esterne aventi circonferenza
maggiore rispetto a quelle interne pertanto i settori risultavano più lunghi all’esterno.
Per risolvere tale problema i dischi attuali sono suddivisi in zone ciascuna delle quali con
un numero di settori variabile per poter massimizzare la capacità del disco
indipendentemente dalla posizione della testina.
Nel 1995 MSystems introdusse i primi dischi denominati a stato solido (Solid State
Drives) 1. Tale dischi utilizzano un approccio completamente diverso dai dischi
tradizionali in quanto non hanno parti meccaniche in movimento ma utilizzano memorie
non-volatili a transistors per memorizzare i dati. I primi dischi a stato solido con capacità
di memorizzazione comparabili ai tradizionali e moderni hard disk di tipo magnetico si
sono affacciati sul mercato nel 2007 con dispositivi in grado di memorizzare fino a 300
GB. Recentemente (2009) sono stati presentati dischi con capacità di memorizzazione di
1TB e bitrate nell’ordine di 6 Gbps (circa 760 MB/s).
La sezione di memoria dei dischi SSD è realizzata attraverso celle di memoria NAND
Flash organizzate in maniera matriciale molto rigida. Ogni cella presente nel reticolato è
individuata da due coordinate, una di riga ed una di colonna, come in uno schema di
battaglia navale. In questo caso i dati vengono letti e scritti attivando la cella che
corrisponde a determinate coordinate e iniettando oppure estraendo da essa elettroni.
Il grande vantaggio dei dischi SSD risulta essere non tanto nella banda dati disponibile
quanto nei tempi di accesso alle informazioni che non risentono in alcun modo
dell´inerzia di componenti meccanici. Stante la situazione attuale, infatti, la banda dati
sarebbe comunque limitata dall´interfaccia di connessione (ad esempio 384 MB/s nel
caso di interfaccia SATA2) che, seppure in pratica non si è raggiunta la saturazione né
per i dischi tradizionali, né per i dischi SSD, costituisce certamente un limite. I tempi di
accesso degli SSD, invece, non dovendo spostare nulla di fisico ma utilizzando la sola
corrente elettrica per rilevare un dato, sono di circa 3 ordini di grandezza inferiori a
quelli di un disco rigido. Nella tabella sono riassunti alcuni valori tipici interessanti per le
due tecnologie allo stato dell´arte:
1
http://www.snia.org/apps/group_public/download.php/35796/SSSI%20Wht%20Paper%20Final.pdf
Nel caso di un´operazione di lettura tutto questo procedimento non comporta alcun
problema specifico mentre nel caso di una scrittura questa viene effettuata nella prima
cella “libera”. Il file system, infatti, tiene traccia di tutte le celle di memoria e sa quali
sono state liberate e quali invece ancora occupate: quando cancelliamo un dato dal
disco, infatti, non avviene una rimozione fisica dello stesso ma la cella nella quale era
contenuto viene marcata come "disponibile".
Con i dischi rigidi magnetici, questo implica che nel momento in cui la cella dovesse
servire a memorizzare un nuovo dato, la testina andrà fisicamente a sovrascrivere ciò
che c´era prima e sarà ricreato un giusto indice nel file system.
Con i dischi SSD, non è possibile effettuare semplicemente una sovrascrittura della cella
poiché l’informazione nella cella è identificata dalla carica elettronica presente transistor
ed è importante che questa sia fissata a determinati valori in modo che l´operazione di
lettura dia un risultato certo. Perciò, prima di effettuare la scrittura su una cella viene
eseguita una cancellazione che solitamente significa impostare il valore della cella ad un
valore prefissato e marcare tale cella come disponibile.
Inoltre nelle memorie flash che compongono il disco SSD non è possibile cancellare una
singola cella e nemmeno una singola pagina ma occorre agire a livello di blocco:
I passi da compiere per scrivere su una pagina di una memoria flash sono dunque
nell´ordine:
I dischi allo stato solido sono di due tipi a seconda del numero di bit memorizzabili in una
cella2:
• Single Level Cell (SLC) quando ogni cella può memorizzare al massimo un solo bit
di informazione. Con tale struttura si hanno un processo di lettura e scrittura più
semplici a scapito della capacità di memorizzazione.
• Multi Level Cell (MLC) quando possono essere memorizzati due bit di
informazione. Questo approccio prevede una capacità di meorizzazione doppia
rispetto a SLC ma con un processo di lettura e scrittura estremamente più
complessi e lenti.
2
http://www.supertalent.com/datasheets/SLC_vs_MLC%20whitepaper.pdf
Densità 16 Mbit 32 / 64
Mbit
Velocità di lettura 100 ns 120 / 150
ns
Dimensioni di un 64 KB 128 KB
blocco
Vita media 100.000 10.000
cicli cicli
Oltre alla memoria fisica delegata alla memorizzazione dei dati i dischi SSD come tutti i
dispositivi di I/O possiedono una unità di controllo o controller che si occupa di gestire
tutte le problematiche di scrittura e lettura dei dati e di comunicazione con il chipset
della scheda madre. La sua importanza è testimoniata dal fatto che i dischi attualmente
in commercio mostrano prestazioni anche molto differenti fra loro pur utilizzando quasi
tutti le stesse memorie
contiene una parte fissa detta di avviamento s, che tiene conto del tempo di
avviamento del motore elettrico del disco, e da un parte dipendente dal
numero di tracce da attraversare m*n dove m è la costante del drive ed n il
numero di tracce da attraversare.
Ts=mxn+s.
• Tl Tempo di latenza:tempo per posizionare la testina sul dato, all’interno della
traccia (latency time). La latenza rotazionale per arrivare al settore corretto
dipende dai giri al minuto RPM(parametro del disco fisso).
Il suo valore medio considera il tempo necessario per compiere mezzo giro
Tlmedio=1/2r dove r sono i giri al secondo .
Nel caso peggiore invece si può considerare, se si vuole effettuare una stime
pessimistica il tempo per compiere un giro intero 2*Tlmedio.
• Td Tempo di dato: tempo per leggere serialmente i dati (data-transfer time, o
tempo di trasferimento).
Td= B/Br B byte da trasferire, Br byte rate
TACCESSO = TS + TL + TD
ESERCIZI:
ESERCIZIO 1:
Sia dato :
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:
SOLUZIONE:
ESERCIZIO 2
SOLUZIONE:
T=20+8.3+16.7=45ms
se le altre tracce seguono non c’è più da aggiungere Ts ma solo 8.3+16.7=25 per i
numero di tracce rimanenti cioè 7
Ttot=45+7x25=220ms=0,22sec
ESERCIZIO 3
SOLUZIONE:
ESERCIZIO 4:
Numero Piatti 5 5 5
• Nel caso in cui si desideri migliorare le prestazioni quale disco tra il Disco2 e il
Disco3 si deve scegliere?
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. 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) 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 (Logical
Block Addressing) che numera i settori da 0 a 228-1, spostando il limite a 228x29=128 GB.
Il protocollo EIDE supporta inoltre due canali (primario e secondario) ed anche i lettori
CD-ROM e DVD
Una notevole innovazione è rappresentata dallo 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 bit alla volta
con velocità da150 MB/sec fino a 1,5 GB/sec.
I dischi SCSI (Small Computer System Interface) invece sfruttano gli stessi principi dei
dischi EIDE, ma l’interfaccia è diversa e molto più veloce. Lo SCSI ha anche un bus
proprietario con protocollo di comunicazione ottimizzato. Ne esistono varie
configurazioni e versioni come mostrato in Fig. 11.
9.8 RAID
La necessità di adottare un sistema RAID nasce dal desiderio di avere una buona
sicurezza in termini di salvaguardia dei dati in caso di rotture (se si rompesse un disco
vorrei poter recuperare in qualche modo i miei dati). Tale sicurezza avviene a scapito
dello spazio di memorizzazione.
• RAID 0: divide i dati equamente tra due o più dischi con nessuna
informazione di parità o ridondanza (non mi garantisce nessun tipo di
sicurezza in caso di rottura ma massimizza lo spazio di memorizzazione)
• RAID 1: crea una copia esatta (o mirror) di tutti i dati su due o più dischi. Il
RAID-1 oltre a garantire il massimo livello di ridondanza(copia completa del
dato) incrementa inoltre le prestazioni in lettura, visto che molte
implementazioni possono leggere da un disco mentre l'altro è occupato.
Tali proprietà si ottengono a a scapito di uno spreco dello spazio di
memorizzazione del 50%.
• 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.
• 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. Le prestazioni sono scarse
in caso di aggiornamento di piccole quantità di dati perché è necessario
ricalcolare la parità della strip quindi rileggere tutti i dischi.
• 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.
I dischi ottici, grazie alla loro grande capacita e al baso costo, sono ampiamente utiIizzati
per distribuire software, libri, film e dati di tutti i tipi, nonché per creare copie di backup
degli hard disk.
COMPACT DISC
Nel 1980 la Philips sviluppò insieme a Sony il CD (compact disk) che rapidamente
sostituì il disco in vinile 33 giri per la registrazione della musica. I dettagli tecnici del CD
vennero pubblicati in uno Standard Internazionale ufficiale (IS 10149), chiamato
confidenzialmente libro rosso (Red Book) per via del colore della copertina
I CD attuali hanno un diametro di 120 mm e uno spessore di 1,2 mm, con un buco di 15
mm nel centro. Il CD audio è stato il primo supporto digitale di memorizzazione di
massa.
come quelle del master. Successivamente si deposita sul policarbonato un sottile strato
di alluminio riflettente, lo si ricopre con una vernice protettiva.
Le scanalature nel sottostrato di policarbonato sono chiamate pit, mentre le aree non
incise tra i pit sono chiamate land.
Per Ia lettura, un diodo laser a bassa potenza invia sui pit e sui land luce infrarossa con
una Iunghezza d'onda di 0,78 micron.
Dato che il laser si trova sui lato del policarbonato(sotto!!!) i pit sporgono nella sua
direzione come rilievi sulla superficie altrimenti piana.
In seguito a un interferenza distruttiva tra la luce emessa dal diodo e quella riflessa in
corrispondenza di un pit il fotorilevalatore posto nel lettore rileva meno luce in
corrispondenza di un pit potendo così distinguere se sulla superficie del disco ci siano pit
o land.
I dati sono codificati con 1 o 0 a seconda della presenza o l’assenza di una transizione
pit/land o land/pit.
I dati sono scritti in un’unica spirale continua di 5,6KM!! 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 al centro circa 530 giri/min e diminuisce verso l’esterno fino a 200 giri/min).
Nel 1984 Philips e Sony introdussero lo standard per la codifica di dati all’interno di un
CD, CD-ROM.
Il formato base di un CD-ROM consiste nel codificare ogni byte in un simbolo a 14 bit più
2 bit di ECC e la corrispondenza 14/8 viene realizzata in hardware mediante tabella di
ricerca.
• 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).
Sui CD-R, diversamente dai CD stampati sui quali vi sono delle vere scanalature fisiche,
le diverse proprietà riflettenti dei pit e dei land devono essere simulate. Ciò viene
realizzato aggiungendo uno strato di pigmento tra il policarbonato e il livello riflettente,
come mostra la Fig. 14.
Fig. 14 CD-R
Vengono usati due tipi di pigmenti: la cianina, di colore verde, e la ftalocianina, di colore
arancione.
Lo strato di pigmento, nello stato iniziale, è trasparente e permette alla luce del laser di
passarvi attraverso e di essere riflessa dallo strato riflettente. Per scrivere sul CD-R la
potenza del laser viene portata a un valore alto, tra 8 e 16 mW. Quando il fascio colpisce
una regione del pigmento, esso lo scalda al punto da rompere un legame chimico e
questo cambiamento della struttura molecolare crea una regione scura. In fase di lettura
il foto rilevatore vede una differenza tra le regioni scure in cui il pigmento è stato colpito
e le aree trasparenti dove è ancora intatto simulando in modo del tutto trasparente al
lettore la presenza di pit e land.
I CD Riscrivibili (CD- RW) non utilizzano un pigmento ma una lega che possiede 2 stati
stabili: amorfo e cristallino. Tramite un laser a 3 potenze e’ possibile portare la lega in
ciascuno dei due stati simulando così la presenza di un pit o di un land:
I Digital Versatile Disk (DVD) presentano una struttura simile a quella dei CD con alcune
piccole differenze:
• Spirale piu’ stretta 0,74 micron di distanza tra le tracce contro gli 1,6 dei CD
Tuttavia per aumentare tale capacità sono stati definiti 4 formati differenti:
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 più vicine e
letture più accurate. I DVD singolo strato raggiungono i 25GB di capacità e i lettori hanno
una velocità di trasferimento di 4,5MB/s.
TASTIERA
MOUSE
MONITOR LCD
La tecnologia più comune per i monitor è quella dello schermo a cristalli liquidi, LCD
(Liquid Crystal Display).
Il funzionamento di tali monitor è 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 proprietà ottiche dei cristalli liquidi dipendono
dalla direzione e dall’intensità della luce incidente.
Gli schermi più popolari sono quelli di tipo TN(Twisted Nematic: filo ritorto) Fig. 18.
Esistono 2 tipi di monitor LCD che si differenziano per il modo con cui viene applicata la
tensione:
STAMPANTI
Le testine di stampa, generalmente con standard di 9 o 18 oppure 24 aghi, Fig. 19, 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 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.
Oltre le stampanti ad aghi, poco diffuse, si sono affermate come generalmente le più
diffuse nel mercato domestico le stampanti a getto:
Di solito le stampanti a getto di inchiostro hanno una risoluzione intorno ai 1200 DPI
(punti per pollice dot per inch) ma può essere anche superiore.
La maggiore rivoluzione nella stampa dei testi degli ultimi decenni è sicuramente
rappresentata dalle stampanti laser o stampanti serigrafiche.
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 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) come mostrato in Fig 20.
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 un unico tamburo oppure da quattro distinti CMYK.