Architettura del calcolatore e delle sue periferiche

Classificazione dei calcolatori
(oramai superata ...)
Personal computer
Utilizzo personale (ma non solo...)
Architettura del calcolatore
e
delle sue periferiche
Workstation
Utilizzo professionale, CAD, pochi utenti (<5)
Minicalcolatore
Maggior numero di utenti, condivisione risorse
Mainframe
Numero elevato di periferiche,
archivi di grandi dimensioni
Supercomputer → Ultracomputer
Applicazioni tecniche e scientifiche che richiedono la massima potenza
di calcolo
Architettura del calcolatore
1
Architettura del calcolatore
2
(Ri)classificazione dei calcolatori
Organizzazione di un calcolatore
Un calcolatore digitale è un sistema composto da processori, memorie e
dispositivi di input/output (I/O) collegati tra loro.
Computer usa e getta
Cartoline d’auguri musicali, RFID
Microcontrollore
Orologi, Automobili, Elettrodomestici, Hi-Fi, Telefoni,
Lettori audio/video, giocattoli, apparati medicali, ...
Consolle da gioco
Videogiochi
Personal Computer
Desktop o Portatili
Server
Server di rete
• Questa organizzazione (con l’unica differenza del bus) è uguale a
quella della macchina di Von Neumann
Raggruppamento (Cluster)
Computer di dipartimento
• Questa organizzazione è detta “bus oriented”. Un bus è un insieme di
connessioni elettriche (fili) parallele utilizzati per trasportare tutte le
informazioni da un componente all’altro.
Mainframe
Elaborazione batch dei dati di un grosso istituto bancario
• Il numero di bus, di processori e di memorie può variare.
ATTENZIONE: questa organizzazione è la più utilizzata ma non l’unica
Architettura del calcolatore
3
Architettura del calcolatore
4
Struttura generale di un calcolatore (1)
Struttura generale di un calcolatore (2)
In figura è rappresentata la scheda madre di un PC di classe Pentium
Connettori I/O periferiche esterne
Oltre al processore e alla memoria, un calcolatore “semplice” è formato da
un insieme di chip di controllo e di connessioni che permettono la
comunicazione tra le varie componenti e con l’esterno. La maggior parte di
questo hardware risiede sulla scheda madre che contiene:
• L’alloggiamento per la CPU
• Il bus: è la via principale per lo scambio di informazioni tra i vari
dispositivi. Vi possono essere più bus differenziati in base alla velocità
di comunicazione (PCI, ISA, EISA, SCSI).
• I connettori per l’inserimento dei moduli di memoria: normalmente la
memoria comunica con i dispositivi di I/O tramite il bus controllato
dalla CPU; in alternativa, per non rallentare i calcoli può comunicare
con determinati controllori anche tramite un collegamento diretto
(Direct Memory Access)
• I controllori dei dispositivi di I/O fondamentali: hard disk, CD e DVD
• I connettori per ulteriori dispositivi di I/O: al fine di semplificare la
comunicazione tra calcolatori e dispositivi di I/O sono stati definiti
alcuni protocolli standard per la loro connessione (interfacce): RS232, USB, FireWire, ecc.
• Il chipset: è l’insieme di chip che controlla la scheda madre. Alcune
delle sue funzioni sono:
o Gestione della memoria cache
o Esecuzione degli accessi DMA
o Gestione degli interrupt
o Interfacciamento tra i diversi bus
Architettura del calcolatore
5
BIOS
Batteria tampone
Connettori ATA per
Hard Disk e CD-ROM
Connettore AGP
Socket per la CPU
Pentium 4
Slot PCI
ChipSet:
NorthBridge e
SouthBridge
Architettura del calcolatore
Socket per la memoria
RAM
6
L’architettura di Von Neumann
La CPU
Il compito della CPU è quello di eseguire i programmi immagazzinati nella
memoria centrale leggendo le loro istruzioni ed eseguendole in sequenza.
Memoria (RAM)
Programma
Una CPU è composta da:
Bus Indirizzi
Unità di controllo: legge le istruzioni dalla memoria centrale e ne
determina il tipo.
codice in formato binario
ALU: esegue le operazioni necessarie all’esecuzione delle istruzioni
(AND,OR, addizione binaria).
CPU
Dati
Bus Dati
Registri: sono una piccola memoria ad alta velocità utilizzata per
memorizzare i risultati temporanei e le informazioni di controllo necessarie
al funzionamento dell’ALU. I registri risiedono all’interno della CPU.
variabili, array, ecc...
in forma binaria
La grande intuizione di Von Neumann, che oggi appare una cosa ovvia, fu
quella di utilizzare la memoria non solo per i dati ma anche per i programmi.
Programmi e Dati al tempo di esecuzione sono caricati in memoria
(codificati in forma binaria).
La CPU esegue il programma leggendo attraverso il bus indirizzi una
istruzione per volta dalla memoria; durante l’esecuzione dell’istruzione la
CPU può accedere nuovamente alla memoria per leggere o scrivere dati.
Architettura del calcolatore
7
• Normalmente i registri hanno tutti le stesse dimensioni, alcuni vengono
utilizzati per compiti specifici altri sono general purpose.
• Il registro più importante è il Program Counter (PC) che indica la
prossima istruzione da eseguire.
• L’Instruction Register (IR) è il registro che memorizza l’istruzione
che si sta per eseguire.
All’interno della CPU i vari componenti sono a loro volta collegati tramite
diversi bus.
Architettura del calcolatore
8
Esempio: esecuzione di una istruzione
1) la CPU mette il valore di PC (indirizzo della prossima istruzione da
leggere dalla memoria) su MAR e attiva la linea Leggi;
2) la memoria attraverso il bus indirizzi accede a MAR e, una volta reperito
quanto richiesto, lo scrive su MDR attraverso il bus dati;
3) la CPU copia su IR il valore di MDR e decodifica l'istruzione;
4) l'istruzione passa in esecuzione sulla ALU;
5) se l'istruzione prevede la lettura di operandi dalla memoria, questi devono
essere caricati sui registri; per ciascun operando da reperire:
5.1) la CPU mette l'indirizzo dell'operando su MAR e attiva la linea
Leggi;
5.2) la memoria attraverso il bus indirizzi accede a MAR e, una volta
reperito quanto richiesto, lo scrive su MDR attraverso il bus dati;
5.3) la CPU copia sul registro destinazione il valore dell'operando che
è in MDR;
6) terminata l'esecuzione la CPU copia sul registro destinazione il valore
prodotto dalla ALU; se è prevista scrittura in memoria del valore calcolato:
6.1) la CPU mette l'indirizzo della cella di destinazione su MAR e il
risultato su MDR e attiva la linea Scrivi;
6.2) la memoria attraverso il bus indirizzi accede a MAR, attraverso il
bus dati a MDR e, una volta reperito il valore in MDR, lo scrive
sulla propria cella interna indicata da MAR;
7) Si ritorna al punto 1 dopo aver aggiornato il valore di PC (prossima
istruzione da eseguire).
Architettura del calcolatore
9
Il Data Path
In figura è rappresentato il classico data path per una CPU di Von
Neumann. Il data path comprende l’ALU e i registri.
Il passaggio di due operandi attraverso la ALU e la memorizzazione del
risultato in un nuovo registro viene detto ciclo di data path..
Ogni istruzione ISA (assembly) viene eseguita in uno o più cicli di datapath; diversi cicli sono necessari per istruzioni complesse (es. divisione).
In architetture non parallele il ciclo di data path corrisponde al ciclo di clock
(misurato in nanosecondi) ossia l’intervallo di tempo utilizzato per
sincronizzare le diverse operazioni del processore.
La velocità con cui viene compiuto un ciclo di data-path contribuisce
significativamente a determinare la velocità della CPU.
Architettura del calcolatore
10
Velocità della CPU
Esecuzione delle istruzioni
La CPU opera in modo ciclico, ripetendo le seguenti operazioni fino al
termine dell’esecuzione del programma:
durata ciclo di data path = durata ciclo di clock = 1/F
(dove F è la frequenza di lavoro della CPU)
• Caricamento (Fetch): acquisizione dalla memoria di un’istruzione del
programma.
durata istruzione ISA = n × durata ciclo di data path
• Decodifica (Decode): identificazione del tipo di operazione da
eseguire.
(con n variabile da istruzione a istruzione ma anche da architettura
ad architettura)
Istruzioni ISA per secondo = 1/durata istruzione ISA =
=F/n
CPU
Anno
Frequenza
Bus
Registri Transistor
Memoria
4004
1971
740 KHz
4 bit
4/8 bit
2.300 (10 µ)
1/4 Kb
8008
1972
200 KHz
8 bit
8 bit
3.500 (10 µ)
16 Kb
8080
1974
2 MHz
8 bit
8 bit
6.000 (6 µ)
64 Kb
8086
1978
5-10 MHz
16 bit 8/16 bit 29.000 (3 µ)
1 Mb
80286
1982
6-12.5 MHz
16 bit 16 bit
134.000 (1,5 µ)
16 Mb
Intel386
1985
16-33 MHz
32 bit 32 bit
275.000 (1 µ)
4 Gb
Intel486
1989
25-50 MHz
32 bit 32 bit
1,2 milioni (0,8-1 µ)
4 Gb
Pentium
1993
60-66 MHz
64 bit 32 bit
3,1 milioni (0,8 µ)
4 Gb
Pentium Pro 1995
150-200 MHz 64 bit 32 bit
5,5 milioni (0,35 µ)
64 Gb
Pentium II
1997
200-300 MHz 64 bit 32 bit
7,5 milioni (0,35 µ)
64 Gb
Pentium III 1999
0.65-1.2 GHz 64 bit 32 bit
9,5 milioni (0,25 µ)
64 Gb
Pentium 4
2000
1,3-3,8 GHz 64 bit 32 bit
42 mil. (0,13-0,18 µ) 64 Gb
Itanium
2001
733-800 MHz 64 bit 64 bit
25 milioni (0,18 µ)
Architettura del calcolatore
• Esecuzione (Execute): effettuazione delle operazioni corrispondenti
all’istruzione.
Più in dettaglio, l’esecuzione di ogni istruzione da parte della CPU richiede
una serie di passi che, in linea di massima, possono essere così riassunti:
1) Leggi l’istruzione seguente dalla memoria e mettila nel IR
2) Incrementa il PC per indicare l’istruzione seguente
3) Decodifica l’istruzione appena letta
4) Se l’istruzione utilizza degli operandi (parole) determina dove si
trovano (memoria/registri)
5) Se necessario metti gli operandi in registri della CPU
6) Esegui l’istruzione
7) Salva il risultato in un registro
8) Torna al punto 1
A sua volta il punto (6) può richiedere un insieme di sotto-passi a seconda
della complessità dell’Instruction Set. La traduzione di una istruzione nei
suoi passi elementari è effettuata da un interprete (microprogramma).
16 Tb
11
Architettura del calcolatore
12
Esempio nell’ambiente Visual Studio (1)
Esempio: somma di 2 elementi
... vedere il programma in memoria
ADD [64h],AL
Indirizzo 20h
Indirizzo 64h
..
00
..
05
..
..
05
..
00
..
..
64
..
00
..
..
00
..
00
..
..
00
..
00
..
..
00
..
00
..
..
90
..
00
..
..
90
..
00
..
Memoria
Un frammento di codice assembler, la sua codifica binaria (esadecimale) e
caricamento in memoria per l’esecuzione.
AL = 04h
PC = 20h
Sorgente (Assembler inline)
Registri
Fetch:
viene letta in IR la sequenza 00 05 64 00 00 00 dalla memoria all’indirizzo
correntemente puntato da PC (20h); PC viene incrementato.
Compilazione (in questo caso assembling)
ed esecuzione
Decode:
la sequenza 00 05 64 00 00 00 viene decodificata in ADD [64h], AL
ecco il
frammento di
programma in
memoria
Execute:
viene recuperato dalla memoria il contenuto all’indirizzo 64h; questo
viene sommato con il valore di AL e nuovamente scritto all’indirizzo 64h.
L’operazione richiede sicuramente più cicli di data-path, se non altro per
la necessità di recuperare operandi dalla memoria.
Indirizzo 20h
Indirizzo 64h
..
00
..
09
..
..
05
..
00
..
Architettura del calcolatore
..
64
..
00
..
..
00
..
00
..
..
00
..
00
..
..
00
..
00
..
..
90
..
00
..
..
90
..
00
..
Memoria
AL = 04h
PC = 26h
Registri
13
indirizzi di memoria
dove è caricato il
programma durante
l’esecuzione
Architettura del calcolatore
14
Esempio nell’ambiente Visual Studio (2)
Le memorie
... vedere i dati in memoria
Un frammento di codice assembler e l’allocazione in memoria dei propri
dati (var1 e var2) al termine dell’esecuzione:
Le memorie sono le componenti del calcolatore in grado di memorizzare le
informazioni: dati, programmi e risultati indispensabili per il suo
funzionamento.
Ogni calcolatore utilizza tipi di memoria diversi per scopi diversi:
Sorgente (Assembler inline)
Registri
Volatile
Cache
Memoria principale
var2 (esadecimale)
Dischi magnetici
Off-line
Nastri
Persistente
Dischi ottici
• Volatile: l’informazione rimane memorizzata fino a che il calcolatore è
alimentato
• Persistente: l’informazione rimane memorizzata anche quando il
calcolatore non è alimentato (spento)
• On-line: i dati sono sempre accessibili
• Off-line: il supporto deve essere montato per poter accedere ai dati
& = operatore “C” che ritorna
l’indirizzo di una variabile
var1 (esadecimale)
Il costo di memorizzazione per byte cresce salendo la piramide
La dimensione delle memorie cresce scendendo la piramide
Architettura del calcolatore
15
Architettura del calcolatore
16
Codici di correzione degli errori (1)
Codici di correzione degli errori (2)
La memorizzazione possono occasionalmente commettere errori a causa, ad
esempio, di picchi di tensione elettrica (o difetti). Questi errori possono
essere prevenuti utilizzando dei codici di correzione degli errori.
Il più semplice codice di correzione degli errori è quello che si ottiene
utilizzando un bit di parità.
Distanza di Hamming: indica il numero di bit corrispondenti che
differiscono in due parole.
D. Hamming=2
D. Hamming=4
10011100
11010100
11111110
01100111
• Ad ogni parola viene aggiunto un bit di controllo
• Il bit di controllo vale 1 se il numero di bit a 1 della parola è dispari
• Il bit di controllo vale 0 se il numero di bit a 1 della parola è pari
10001110
10001010
Parola di codice: indica un insieme di bit n formato da m bit di dati (parola)
e r bit di controllo.
100011100
100010101
La distanza di Hamming di questa tecnica è 2 quindi non permetterà di
correggere nessun errore e permetterà di identificare errori di un bit.
Se due parole di codice hanno distanza di Hamming x, saranno necessari x
errori (cambiamenti di stato di 1 bit) per convertire una nell’altra.
111001110
111001011
VALIDA
VALIDA
Utilizzando parole di codice di lunghezza n con m bit di dati solo 2m delle 2 n
possibili combinazioni di bit saranno valide.
100011101
100010100
ERRORE
ERRORE
Il calcolatore identifica la presenza di un errore quando, nel leggere una
parola dalla memoria, incontra una parola di codice non valida rispetto al
codice di correzione degli errori utilizzato.
La distanza (di Hamming) di un codice di correzione è data dalla minima
distanza tra tutte le parole di codice valide.
• Per individuare d errori di un bit serve un codice con distanza d+1.
in quanto non esiste alcun modo che consente con d errori singoli di cambiare
una parola di codice in un’altra
• Per correggere d errori di un bit serve un codice con distanza 2d+1.
in quanto le parole sono abbastanza lontane per poter consentire anche nel caso
di d errori di ricondursi alla parola originaria (la più vicina).
Architettura del calcolatore
17
Architettura del calcolatore
18
Organizzazione della memoria
Assemblaggio della memoria
La memoria principale è quella parte del calcolatore preposta a
immagazzinare i programmi in esecuzione e i relativi dati. La memoria
principale è volatile ossia mantiene le informazioni sino a quando il
calcolatore è alimentato.
I chip di memoria non vengono venduti singolarmente ma sono
normalmente organizzati su schede stampate. Ogni scheda contiene
generalmente da 8 a 16 chip
Le memorie si compongono di un numero di celle (o locazioni) ognuna delle
quali è in grado di memorizzare una parte delle informazioni. Ogni cella è
associata a un numero (indirizzo) che la identifica univocamente.
Tutte le celle di una memoria mantengono lo stesso numero di bit. Il numero
di bit associato a un indirizzo è detto parola. La dimensione minima per una
parola è il byte (8 bit) anche se normalmente i calcolatori moderni utilizzano
parole più lunghe (32-64 bit).
La dimensione della parola determina anche le dimensioni dei registri e delle
istruzioni.
SIMM (Single Inline Memory Module): i contatti dorati (in genere 72) si
trovano solo su un lato della scheda e trasferiscono 32bit per ciclo di clock.
La loro velocità è di 60/70 nanosecondi. Sono oramai obsolete.
DIMM (Dual Inline Memory Module): i contatti dorati (in genere 168 in
totale) si trovano su entrambi i lati della scheda. La loro velocità è di 60/70
nanosecondi e possono ospitare fino a 256 MB. Le schede DIMM sono
utilizzate nei processori Intel Pentium e utilizzano SDRAM (Synchronous
DRAM). Possono comunicare sul bus con una velocità di 133Mhz.
SO-DIMM (Small Outline DIMM): sono DIMM a dimensioni ridotte usate
in genere nei portatili.
RIMM (Rambus Inline Memory Module): introdotta a partire dai
processori Pentium IV. Permette comunicare sul bus con una velocità di 400
Mhz.
Alcune ricerche hanno dimostrato che, anche se con probabilità molto
piccola (1 errore ogni 10 anni), i raggi cosmici possono causare errori nei
singoli bit delle DRAM.
Tre modi di organizzare una
memoria di 96 bit
Gli indirizzi di memoria sono espressi tramite numeri binari: se un
indirizzo ha m bit il numero massimo di celle indirizzabili sarà 2m.
Architettura del calcolatore
19
Pertanto i moduli SIMM/DIMM possono incorporare meccanismi ECC
(Error Correction Code) ad esempio tramite bit di parità). Per motivi di
risparmio e bassa probabilità di errore questi chip non sono presenti su
calcolatori ordinari; per ovviare a questo durante l’avvio del sistema viene
generalmente eseguito un test completo di lettura/scrittura.
Architettura del calcolatore
20
Ordinamento dei byte
Dischi magnetici (1)
Quando la parola contiene più di un byte si pone il problema di come
enumerare i byte al suo interno e quindi di come rappresentare i numeri
binari che sono memorizzati su più byte
Un hard disk (HD) è un dispositivo elettro-meccanico per la conservazione
di informazioni sotto forma magnetica, su supporto rotante a forma di piatto
su cui agiscono delle testine di lettura/scrittura.
Big endian: il byte più significativo del numero è memorizzato nel byte
della parola con offset minore (quello più a sinistra). Questa
rappresentazione è utilizzata, tra gli altri, dai processori SPARC e Motorola.
0
1
Offset
698=1010111010 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0
Little endian: il byte più significativo del numero è memorizzato nel byte
della parola con offset maggiore (quello più a destra). Questa
rappresentazione è utilizzata, tra gli altri, dai processori Intel e Alpha RISC.
0
1
La testina di un disco, contenente un induttore, è sospesa sopra la superficie
e viene sostenuta da un cuscino d’aria.
Impronta digitale
15 µ
Offset
698=1010111010 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0
Diametro del capello
umano 80 µ
Particella di fumo 6 µ
Entrambe le rappresentazioni sono internamente consistenti, il problema si
pone quando è necessario scambiare dati tra macchine utilizzando sistemi
diversi.
Altezza di volo della
testina 0.5 µ
Particella di polvere
30 µ
Piatto
Strato magnetico
0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 = 698BE
47618LE= 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0
Il problema si avrebbe ugualmente se i dati fossero scambiati in formato
ASCII anziché binario ?
Architettura del calcolatore
21
Scrittura: quando la corrente negativa o positiva passa attraverso la testina,
viene magnetizzata la superficie appena sotto la testina e le particelle
magnetiche si allineano verso sinistra o destra a seconda della polarizzazione
della corrente.
Lettura: quando una testina passa sopra un’area magnetizzata viene indotta
una corrente positiva o negativa nella testina e ciò permette di rileggere i bit
memorizzati precedentemente.
Architettura del calcolatore
22
Dischi magnetici (2)
Dischi magnetici (3)
Le prestazioni di un hard disk dipendono da diversi fattori.
Seek time: è il tempo necessario per spostare le testine sul cilindro
desiderato e può essere a sua volta suddiviso in tre fasi (speed up, coast e
slow down). I costruttori forniscono in genere:
• Average Seek: 8-10 ms (di solito si riferisce a letture)
• Track-to-Track: 1 ms
• Full-stroke: 15-20 ms (dalla traccia più interna alla traccia più esterna)
Latency time: rappresenta il tempo necessario affinché il settore interessato
all’operazione passi sotto la testina. Questo fattore è definito dalla velocità
di rotazione del disco che varia da 3600 a 15.000 RPM (rotazioni per
minuto)
Traccia: sequenza circolare di bit
Settore: porzione di traccia di dimensione fissa.
Ogni settore è composto da:
• Preambolo: necessario alla testina per
sincronizzarsi prima della lettura/scrittura.
• Dati: l’insieme dei byte memorizzati nel
settore, normalmente 512.
• Codice correzione errori
Cilindro: insieme delle tracce in una data posizione radiale
RPM Caso peggiore ms Caso medio ms
(un giro intero)
Prima di poter leggere o scrivere la suddetta struttura (tracce, settori) deve
essere creata. Questa operazione viene detta formattazione.
La capacità di un hard disk è in gran parte definita dalla densità di
registrazione:
Densità lineare: è limitata dalla difficoltà di individuare le variazioni del
campo magnetico sulla superficie del disco.
Densità di area: il primo hard disk per PC aveva una densità d’area di circa
0.004 Gbits/in2. Attualmente si sono superati 100 Gbits/in2.
Architettura del calcolatore
23
3.600
4.200
5.200
7.200
10.000
15.000
16.7
14.2
11.5
8.3
6.0
4.0
(½ giro)
8.3
7.1
5.8
4.2
3.0
2.0
Con i tempi di trasferimento tipici della tecnologia attuale (oltre 100
MB/sec) un settore di 512 byte richiede da pochi µsec. Il tempo di seek e di
latency caratterizzano quindi le prestazioni dell’hard disk.
I tempi si riducono drasticamente leggendo /scrivendo più settori contigui.
Mentre la capacità dei dischi continua ad aumentare costantemente (nel 2010
sono disponibili dischi fino a 3 Terabyte), il tempo impiegato per la lettura
di un intero disco tende a peggiorare. In generale la crescita del settore è
molto più lenta rispetto a quella delle CPU.
Architettura del calcolatore
24
Dischi magnetici: interfacce
Dischi magnetici: interfacce (2)
Esistono diversi tipi di interfacce di trasferimento dati (implementate sui
controller integrati nel disco) tra hard-disk e bus:
IDE (Integrated Drive Electronics): oramai obsoleta è stata la tecnologia più
utilizzata negli anni ’80. Il controllore, integrato nel dispositivo, indirizza i
settori indicando il numero di testina (4 bit), settore (6 bit) e cilindro (10
bit). Questa soluzione limita la dimensione dello spazio indirizzabile: 504
MB con settori da 512 byte. I MB sarebbero stati 512 se non si fosse
commesso l’errore di numerare i settori a partire da 1 invece che da 0.
EIDE (Extended IDE): supporta un diverso schema di indirizzamento
chiamato LBA (Logical Block Addressing) che numera i settori da 0 a 228-1.
Sebbene sia necessario rimappare gli indirizzi in termini di settori, cilindri e
testine permette di aumentare notevolmente lo spazio indirizzabile fino a
128 GB = 228 × 29 (settori da 512 byte). Questo standard migliora IDE anche
sotto altri punti di vista, i controller EIDE: possono pilotare fino a quattro
unità (due per canale: uno master e uno slave), possono controllare anche i
CD ROM e hanno una velocità di trasferimento maggiore (fino a 16.67
MB/sec).
Serial ATA (denominato anche SATA) è una vera e propria rivoluzione in
quanto consente:
• una velocità che parte da 150 MB/sec (e che nella versione
3.0dovrebbe nel tempo arrivare a 1,5 GB/sec)!
• una diminuzione di costo per i cavi
• una migliore ventilazione del PC e semplicità di montaggio
• una riduzione dei consumi
• l’hot-swap (collegamento a caldo) delle unità
• il collegamento di 128 device per canale contro i 2 di PATA (in
questo modo sono rinominate le versioni parallele IDE-EIDE-ATIATAPI) e i 15 di SCSI (vedi nel seguito).
evoluzioni di EIDE:
ATA-3
ATAPI-4: fino a 33 MB/sec.
ATAPI-5: fino a 66 MB/sec, ma sempre con il limite dei 128 GB
ATAPI-6: fino a 100 MB/sec; gli indirizzi LBA passano a 48 bit, capacità
massima di 248 × 29, stimando una crescita di capacità del 50%
all’anno, sufficienti per circa 2035 anni.
ATAPI-7: meglio noto come serial ATA rappresenta una rottura radicale
col passato: si passa infatti da un trasferimento parallelo di 16 o
32 bit per volta (resa possibile da cavi piatti a 40 o 80 fili) al
trasferimento seriale di 1 bit per volta su un connettore a 7 fili.
Architettura del calcolatore
25
Architettura del calcolatore
26
Dischi magnetici: interfacce (3)
Dischi magnetici: RAID
Parallelamente allo standard IDE-EIDE si sviluppo un altro standard
denominato SCSI (Small Computer System Interface, si pronuncia SCASI)
destinato ai sistemi di fascia altra (server, workstation, ecc...)
Va sottolineato che la tecnologia di base dei dischi impiegati è la stessa
(anche se in genere i dischi usati per SCSI girano a velocità maggiori e
hanno un tempo di vita più lungo). Per utilizzare dischi SCSI è generalmente
necessario utilizzare una scheda controller aggiuntiva (da innestare negli slot
di espansione PCI). Sono state definite nel tempo diverse evoluzioni con
prestazioni via via crescenti:
Velocità del bus
Larghezza Max lunghezza Max numero di
(Transfer rate)
del bus (bits) cavi (metri)
dispositivi
(MByte/s)
Interfaccia
SCSI
5
8
6
8
Fast SCSI
10
8
1,5-3
8
Wide SCSI
20
16
1,5-3
16
Ultra SCSI
20
8
1,5-3
5-8
Ultra Wide SCSI
40
16
1,5-3
5-8
Ultra2 SCSI
40
8
12
8
Ultra2 Wide SCSI
80
16
12
16
Ultra3 SCSI
160
16
12
16
Ultra-320 SCSI
320
16
12
16
Il divario tra le prestazioni delle CPU e quello dei dischi aumenta
continuamente. Per tentare di colmare questo gap e per migliorare anche la
robustezza dei dischi sono state ideate anche soluzioni parallele: i dischi
RAID (Redundant Array of Inexpensive Disks). Un sistema RAID
• Appare al sistema come un disco unico.
• Aumenta le prestazioni distribuendo i dati su più dischi a cui il
controllore accede in parallelo.
• Fornisce modalità di backup e correzione degli errori che gli possono
permettere di funzionare anche se una delle unità non è operativa.
• Ne esistono diverse configurazioni.
Non-redundant data striping
Redundant data striping
Data striping at bit level
SCSI è un bus vero e proprio a cui si possono collegare più dispositivi (CD,
scanner, ecc.). Le unità, collegate in catena, sono identificate da un proprio
ID e sono dotate di due connettori, uno in entrata e uno in uscita.
L’introduzione di Serial ATA ha ridotto (in parte) l'interesse verso SCSI:
Bit-interleaved parity
Block-interleaved parity
Block-interleaved
distributed parity
Architettura del calcolatore
27
Architettura del calcolatore
28
Dischi ottici (1)
Dischi ottici (2)
I CD (Compact Disc) utilizzano un principio ottico, invece che magnetico,
per la memorizzazione persistente di informazioni.
• Sono nati negli anni '80 (Philips e Sony) come supporto per la
memorizzazione di musica.
• Le informazioni sono codificate per mezzo di fori (Pit) di 0,8 micron
di diametro alternati con zone piane (Land) lungo un’unica spirale. Un
passaggio Pit-Land o Land-Pit codifica un 1. L’assenza di variazioni
codifica lo 0.
I CD-ROM (Compact Disc-Read Only Memory) utilizzano la tecnologia
dei CD per memorizzare dati informatici.
• Le informazioni sono lette tramite un raggio laser che viene riflesso
diversamente al passaggio su pit e land.
• I CD vengono prodotti utilizzando uno stampo (ottenuto tramite
erosione laser) su cui viene iniettata resina liquida che preserva gli
incavi corrispondenti ai pit.
• Lungo la spirale i dati sono memorizzati con la stessa densità, quindi il
CD ruota con velocità angolare non costante (da 530 a 200 giri/sec) per
mantenere la medesima velocità lineare (120 cm/sec) nelle diverse aree
del CD.
• Al fine di evitare la perdita di bit durante la lettura ogni byte viene
codificato da un simbolo di 14 bit. Nei bit in eccesso viene inserito un
codice per la correzione dell’errore.
• Un gruppo di 42 simboli viene denominato frame. Ogni frame
contiene 192 bit di dati e 396 bit di correzione errore e controllo.
• Un gruppo di 98 frame viene denominato settore di CD-ROM.
• Ogni settore di CD-ROM inizia con un preambolo di 16 byte che
permette di identificare il settore e la modalità di registrazione dei dati.
• Esistono due modalità di registrazione:
o Modo I: 16 byte di preambolo+2048 byte dati+288 byte di
correzione errori
o Modo II: 16 byte di preambolo+2336 byte dati
Il Modo II viene utilizzato dalle applicazioni che non richiedono il
controllo di correttezza (musica, video).
• La velocità base di lettura dei CD-ROM (single speed, o 1×) è di 75
settori/sec che può essere aumentata significativamente in base alle
caratteristiche del lettore (es. 40×).
• Per motivi di compatibilità tra le diverse piattaforme i CD-ROM
utilizzano un proprio file system (standard di organizzazione dei file
all’interno del CD) denominato High Sierra.
Qual è la quantità di dati trasferita per secondo ?
Architettura del calcolatore
29
Architettura del calcolatore
30
Dischi ottici (3)
Dischi ottici (4)
I CD-R (Compact Disc-Recordables), nati a metà degli anni '90 svolgono le
stesse funzioni dei CD-ROM ma sono registrabili dagli utenti senza
l’utilizzo dello stampo.
• Diversamente dai CD la riflettività di pit e land viene ottenuta
”bruciando” tramite un raggio laser uno strato di materiale colorato
inserito tra il policarbonato e lo strato riflettente.
I DVD (Digital Video Disk o Digital Versatile Disk) nascono alla fine degli
anni '90 come supporto per la memorizzazione di video digitali.
• I DVD utilizzando lo stesso progetto dei CD-ROM inserendovi alcune
innovazioni:
o Pit più piccoli (0,4 micron invece di 0,8)
o Spirale più serrata (0,74 micron tra ogni traccia invece di 1,6)
o Raggio laser rosso (0,65 micron invece di 0,78)
• Permettono di memorizzare fino a 4,7 GB (133 minuti di video digitale
in formato MPEG-2)
• La velocità di lettura dati (1×) è 1,4 MB al secondo (più veloce di un
CD-R 1× ?)
Poiché lo spazio a disposizione non è mai sufficiente (e per altri motivi
legati al business del mercato cinematografico) sono stati introdotti 4
formati:
• Lo standard dei CD-R prevede la possibilità di scrivere su un disco in
modo incrementale. Un gruppo di settori consecutivi scritti nello stesso
momento si chiama CD-ROM track. Questa soluzione richiede la
presenza di più VTOC (Volume Table Of Contents) una per ogni CDROM track. In una VTOC è possibile inserire anche riferimenti alle
VTOC precedenti. Il sistema operativo farà riferimento alla VTOC più
recente. Inserendo nell’ultima VTOC solo riferimenti a un numero
limitato di file è possibile simulare la cancellazione dei dati.
Formato
Lato unico-Strato unico
Lato unico-Strato doppio
Lato doppio-Strato unico
Lato doppio-Strato doppio
Capacità (GB)
4,7
8,5
9,5
17
La tecnologia con doppio strato è ottenuta inserendo tra i due strati uno
strato semiriflettente. A seconda del punto su cui il laser è messo a fuoco, la
riflessione avverrà da uno strato oppure dall’altro.
• Le tracce si possono ulteriormente raggruppare in sessioni creando così
CD-ROM multisessione.
• La registrazione di ogni traccia deve essere fatta con un’unica
operazione se non si vuole rovinare il CD-R. La sorgente dei dati deve
quindi essere sufficientemente veloce.
Architettura del calcolatore
31
Architettura del calcolatore
32
Dischi ottici (5)
Immagini digitali
Blu-Ray è il nome di una tecnologia emergente che potrebbe sostituire i
DVD nei prossimi anni. Il nome deriva dall’uso di un laser blu (e non rosso)
che avendo una minore lunghezza d’onda consente di avere pit e land più
piccoli e migliore messa a fuoco. Questi dischi consentono di:
• memorizzare fino a 25 GB su singolo lato
• memorizzare fino a 50 GB su due lati
• leggere dati a 4,5 MB/sec
Il primo apparecchio ad aver utilizzato commercialmente questa tecnologia è
la PlayStation 3 (2004).
L’immagine del video è rappresentata tramite una griglia o matrice di pixel
(PIcture ELement) di ognuno dei quali è memorizzata l’intensità luminosa
(e/o il colore).
Parametri importanti sono:
Dimensione (risoluzione)
Profondità
Formato di rappresentazione (Grayscale, RGB, Palette)
Immagini a livelli di grigio (Grayscale):
Immagine a colori (RGB):
Architettura del calcolatore
33
Architettura del calcolatore
34
Schede grafiche
Schede grafiche: risoluzioni
Il compito di base di una scheda grafica è quello di tradurre la
rappresentazione dell’immagine prodotta dal processore in un formato
(normalmente analogico) visualizzabile dal monitor. La traduzione vera e
propria del segnale viene realizzata da un componente denominato
RAMDAC (Random Access Memory Digital-Analog Converter).
Ogni volta che il video viene ridisegnato la scheda video legge la memoria e
invia al monitor il segnale che permette di rappresentare il colore di ogni
singolo pixel.
Dimensione della griglia di pixel: determina la definizione dell’immagine,
tipiche configurazioni sono:
Risoluzione
320×200
640×480
800×600
1024×768
1280×1024
1600×1200
1920×1080
N° pixel
64,000
307,200
480,000
786,432
1,310,720
1,920,000
2,073,600
Aspect Ratio
8:5
4:3
4:3
4:3
5:4
4:3
16:9
Il rapporto "tipico" 4:3 è oggi spesso sostituito dal formato panoramico
(16:9) tipico dei nuovi monitor Full HD.
Profondità del colore dei pixel: indica il numero di bit utilizzati per
codificare il colore di ogni singolo pixel. Tipiche configurazioni sono:
Profondità
4-Bit
8-Bit
16-Bit
24-Bit
N° colori
16
256
65.536
16.777.216
N° byte
Nome
0.5 Standard VGA
1.0 256-Color Mode
2.0
High Color
3.0
True Color
In modalità True Color ogni colore viene ottenuto mediante 256 diverse
tonalità dei 3 colori primari additivi (Red, Green, Blue: RGB)
Architettura del calcolatore
35
Architettura del calcolatore
36
Schede grafiche: memoria
Schede grafiche: interfaccia
La dimensione della memoria video necessaria a rappresentare una
particolare risoluzione può essere calcolata come segue:
La quantità di memoria e tempo di CPU necessari per sopperire alle
crescenti esigenze grafiche dei calcolatori (es. videogiochi in grafica 3D)
hanno imposto una rapida evoluzione alle schede grafiche.
Dimensione in MB = (N° pixel × N° bit colore)/8×220
Un’immagine 1024×768 a 16 milioni di colori richiede 2,25 MB.
Codifica tramite Palette
Per ridurre la quantità di memoria richiesta viene spesso utilizzata una
palette di colori.
Una palette è una tabella che definisce 2c colori (ognuno caratterizzato da
una tripletta RGB, con profondità p bit) e associa a ciascun colore un indice
(posizione nella palette). In un’immagine “palettizzata” il colore di ogni
pixel è definito dall’indice del colore nella palette (sono necessari c bit
invece di p bit per ogni pixel!). In questo modo in un’immagine, pur potendo
utilizzare un numero massimo (2c) di colori diversi, questi potranno essere
scelti da un insieme molto più ampio (2p).
Se p = 24 e c = 8 allora,
l’immagine potrà utilizzare 256 colori diversi scelti tra 16.777.216
Memoria: al crescere del livello di definizione delle immagini cresce la
quantità di memoria richiesta per rappresentare l’immagine video. Il flusso
di dati dalla memoria alla scheda grafica rischia continuamente di saturare la
capacità del bus. Per questo motivo oltre ad aumentare continuamente le
dimensioni della memoria residente sulla scheda grafica (memoria video) è
necessario ampliare la banda di trasmissione del bus o inserire bus o porte
dedicate (AGP: Accellerated Graphic Port ).
CP U
Memoria
RAMDAC
Memoria Video
Coprocessore
Grafico
CP U
Memoria
RAMDAC
Coprocessore
Grafico
Utilizzando una porta AGP il processore grafico utilizza, tramite un accesso
diretto, parte della memoria centrale. Questa soluzione consente, oltre a un
risparmio in termini economici, di ridurre il traffico sul bus e di mettere a
disposizione del coprocessore grafico una grande quantità di memoria.
PCI Express: evoluzione del bus PCI rilasciata nel 2004 che sta sostituendo
l'AGP come interfaccia di connessione delle schede grafiche in quanto offre
una larghezza di banda maggiore e maggiore potenza erogata.
Architettura del calcolatore
37
Architettura del calcolatore
38
Schede grafiche: larghezza di banda
Schede grafiche: accelerazione
Potenza di calcolo: la porzione di tempo di CPU dedicato al calcolo
dell’immagine video è aumentato proporzionalmente al crescere dell’utilizzo
di interfacce grafiche da parte delle applicazioni. Al fine di limitare lo
“spreco” di tempo CPU le schede video sono state dotate di processori
dedicati denominati GPU (Graphical Processing Unit). Il processore grafico
può essere utilizzato sia per la grafica 3D, sia per la grafica raster: la CPU
del calcolatore non calcola la posizione e il colore di tutti i pixel da
disegnare, ma invia un comando all’acceleratore indicandogli cosa deve
essere disegnato. Esempio disegna rettangolo blu centrato in 100, 150 e di
dimensioni 20×20.
Per poter sfruttare le capacità di accelerazione delle schede grafiche è
necessario che le applicazioni conoscano le funzioni da esse implementate.
A causa dell’elevato numero e delle differenze tra le schede grafiche è stato
necessario sviluppare delle librerie standard (OpenGL, Direct3D) che
permettano ai programmatori di prescindere dalla scheda grafica utilizzata.
Sarà compito del costruttore supportare le funzioni previste dalla libreria.
Nel caso in cui una particolare funzione non sia supportata la libreria stessa
si occuperà di simularne (in software) il comportamento.
Le GPU delle attuali schede grafiche (prodotte da ATI ed Nvidia) sono
costituita da un numero molto elevato di core in grado di operare
parallelamente (fino ad alcune migliaia). Da ciò deriva un'enorme capacità
di calcolo che ha destato l'interesse dei programmatori. Attraverso linguaggi
specifici (es. Cuda) possono oggi eseguire algoritmi (non grafici) sulla GPU.
Architettura del calcolatore
39
Architettura del calcolatore
40
I monitor CRT (1)
I monitor CRT (2)
I monitor CRT (Cathode Ray Tube) sono costituiti da un cannone
elettronico che spara un fascio di elettroni contro uno schermo di vetro sul
cui interno è depositato un materiale a base di fosforo.
La superficie dello schermo viene percorsa per linee orizzontali; lo
spostamento viene controllato modulando il voltaggio di piastre di
deflessione che si trovano ai lati del cannone.
Nella immagini per luce trasmessa, la generazione dei colori avviene
attraverso la sovrapposizione dei tre colori primari additivi (Rosso, Verde e
Blu), Nei monito CRT si utilizzando triplette di fosfori colorati (RGB) che
sono colpite da tre fasci elettronici.
L’accensione nella corretta proporzione di fosfori (rossi, verdi e blu)
spazialmente vicini, inganna l’occhio (o meglio il cervello) facendogli
vedere un singolo punto (spot) colorato del colore desiderato.
• Numero di passaggi/linee per schermata:
da 400 a 1000
• Numero di schermate per secondo:
da 30 a 100 (Hz) (Refresh rate)
Per illuminare un pixel sullo schermo viene utilizzata una griglia posta
all’interno del CRT: quando questa viene caricata positivamente gli elettroni
vengono accelerati, il raggio colpisce una cella di fosfori dello schermo
“spot” che diviene luminoso per un attimo.
Con un refresh rate inferiore ai 60Hz si nota un fastidioso “sfarfallio” delle
immagini poiché l’occhio umano percepisce il processo di scansione del
CRT. Tale fenomeno scompare completamente quando si superano i 72Hz.
Architettura del calcolatore
41
Architettura del calcolatore
42
I monitor LCD (1)
I monitor LCD (2)
I monitor LCD (Liquid Crystal Display) forniscono una qualità grafica
migliore dei monitor CRT, un ingombro e un peso nettamente inferiori. Per
questi motivi i monitor LCD stanno velocemente soppiantando quelli CRT.
• In uno schermo LCD a colori ogni cella viene divisa in tre sezioni, una
con un filtro rosso, una con un filtro verde e una con un filtro blu.
I cristalli liquidi sono molecole organiche vischiose che scorrono in un
liquido, ma, come i cristalli, sono anche dotate di una struttura spaziale.
Utilizzando un campo elettrico per modificare l’orientamento delle molecole
si variano le proprietà ottiche dei cristalli e quindi l’angolo di polarizzazione
della luce che li attraversa.
Uno schermo LCD è composto da numerose celle (talvolta corrispondenti ai
pixel) nelle quali sono intrappolati i cristalli liquidi:
• Ogni cella è provvista di contatti elettrici in modo da poter applicare
un campo elettrico al liquido che contiene.
• Le celle stesse sono contenute all'interno di due schermi polarizzatori
lungo assi perpendicolari tra loro.
• Una luce situata dietro la lastra posteriore
Se i cristalli non sono polarizzati la luce attraversa (con minima
attenuazione) il polarizzatore frontale (pixel chiari), se invece sono
polarizzati con direzione ortogonale a quella del polarizzatore frontale
questo blocca completamente la luce (pixel scuri).
• Gli schermi LCD con un numero modesto di celle, come quelli usati
nelle calcolatrici o negli orologi digitali, sono provvisti di un contatto
elettrico per ogni segmento. Questo tipo di struttura diventa
improponibile man mano che il numero di segmenti aumenta.
• Gli schermi di medie dimensioni, come quelli delle agende elettroniche
(e i primi modelli per computer), hanno una struttura a matrice passiva
che prevede un gruppo di contatti per ogni riga e colonna dello schermo,
invece che una per ogni pixel. Lo svantaggio è che può essere controllato
solo un pixel alla volta, gli altri pixel devono ricordare il loro stato finché
il circuito di controllo non si dedica nuovamente a loro. Problemi di
persistenza (la tipica scia lasciata da oggetti in movimento) e diafonia
(diffusione laterale della luce in parti molto luminose su fondi scuri).
• Per gli schermi ad alta risoluzione, come i monitor per computer, si usa
un sistema a matrice attiva. Lo schermo LCD contiene una sottile
pellicola di transistor (Thin Film Transistor - TFT) e il campo elettrico
viene applicato direttamente nel punto necessario tramite un transistor a
film sottile realizzato con un substrato di materiale semiconduttore
trasparente depositato sulle superfici interne dei vetri che ospitano i
cristalli liquidi. Questo dispositivo memorizza lo stato elettrico di ogni
pixel dello schermo mentre gli altri pixel vengono aggiornati.
Architettura del calcolatore
43
Architettura del calcolatore
44
Il mouse
Stampanti
È la periferica di puntamento più diffusa, resa popolare dalle GUI “point &
click” introdotte da Apple (Macintosh) e successivamente da Microsoft
(Windows).
La stampante è uno dei principali dispositivi di output e la tecnologia ad essa
legata è in continua evoluzione.
I principali tipi di stampante sono:
• Stampante a matrice: sono basate su una testina mobile contenente
da 2 a 24 aghi azionati elettromagneticamente. La qualità di stampa
varia a seconda del numero di aghi e della possibilità di sovrapporre la
loro immagine.
con matrice 5 × 7
con 24 aghi in
sovrapposizione
(più passaggi)
Nei modelli meccanici, una sfera (1) (solitamente di gomma dura) fa girare
due rotelle (2) forate (3) disposte ortogonalmente tra loro. La velocità di
rotazione è misurata da sensori (5) a infrarossi (4) e trasmessa al computer.
• Stampante laser
• Stampante a getto d’inchiostro
I primi mouse ottici utilizzavano un LED e un trasduttore ottico-elettrico
(fotodiodo) per rilevare il movimento relativo alla superficie d'appoggio.
Questi mouse potevano essere utilizzati solo su una speciale superficie
metallica con una rete di sottili linee blu e grigie. Successivamente i mouse
ottici poterono incorporare chip per l'elaborazione dell'immagine, in modo
da poter essere utilizzati su un maggior numero di superfici comuni.
Per le stampi a colori esistono poi altre tecniche di stampa più sofisticate che
permettono di ottenere una maggiore definizione e nitidezza dei colori.
I mouse laser sono essenzialmente mouse ottici che utilizzano un laser al
posto di un LED per l'illuminazione del piano d'appoggio. Come
conseguenza si ha una maggiore risoluzione nell'acquisizione dell'immagine,
che si traduce in migliore precisione e sensibilità di movimento.
N.B. In generale i punti disposti su griglie che si uniscono per formare
un'immagine sono detti pixel (Picture Element).
Architettura del calcolatore
45
Il livello di definizione di una stampa si misura in dpi (dots per inch) che
indica il numero di punti distinti disegnabili in un segmento di lunghezza di
1 pollice = 2.54 cm.
Architettura del calcolatore
46
Stampanti a getto d’inchiostro
Stampanti laser
Le stampanti a getto d’inchiostro vengono oggi ampiamente utilizzate per
le stampe a colori. La testina mobile contiene 4 cartucce di colore (ciano,
giallo, magenta e nero) che viene spruzzato sulla carta per mezzo di
minuscoli ugelli.
Le stampanti laser usano una tecnologia simile a quella delle fotocopiatrici
Infatti, le immagini per luce riflessa, come le fotografie a colori, assorbono
certe lunghezze d’onda e ne riflettono altre. Queste vengono create dalla
superimposizione dei 3 colori primari sottrattivi. Quasi tutti i sistemi di
stampa a colori sfruttano questo principio e utilizzano la combinazione
CYMK (Cyan, Yellow, Magenta, blacK). Il nero viene aggiunto poiché è
difficile ottenere degli inchiostri sufficientemente puri da assorbire tutta la
luce e produrre il colore nero.
1) Il tamburo viene caricato elettricamente (fino a 1000 volt) e ricoperto
di materiale fotosensibile
2) Tramite uno specchio ottagonale viene fatta passare una luce laser sul
tamburo: i punti colpiti dal raggio perdono la carica elettrica.
3) Ruotando il rullo raggiunge il toner (contenitore di polvere nera
elettrostaticamente sensibile). I punti elettricamente carichi attirano il
materiale colorante
4) Una serie di rulli riscaldati fissa il materiale colorante sulla carta
5) Il rullo viene scaricato e pulito da residui
Giallo: assorbe completamente il blu
Magenta: assorbe completamente il verde
Ciano: assorbe completamente il rosso
• Nei modelli piezoelettrici (Epson) un cristallo che opera come “tappo”
si deforma quando gli si applica una tensione e fa fuoriuscire una
gocciolina.
• Nei modelli termici o bubble-jet (HP, Canon, etc...) all’interno di
ogni ugello una goccia d’inchiostro viene riscaldata sino
all’ebollizione. L’ebollizione comporta lo “scoppio” della goccia e la
sua fuoriuscita dall’ugello. Raffreddandosi l’ugello crea una
depressione che risucchia un’altra goccia di inchiostro. La velocità di
stampa
è
limitata
dalla
velocità
del
processo
di
ebollizione/raffreddamento.
La qualità di stampa varia dai 300 dpi fino a oltre 4000 dpi.
Le stampanti laser possono creare punti neri o punti bianchi, ma per
raffigurare immagini a livelli di grigio è necessario rappresentare le diverse
intensità del grigio (ne vengono utilizzate 255). La soluzione più diffusa si
chiama mezzotono (halftoning) che suddivide l’immagine in celle di 6×6
pixel. In base al livello di grigio medio della cella verranno lasciati bianchi
un numero diverso di pixel.
0-6
14-20
28-34
56-62
105-111
161-167
Ovviamente la risoluzione virtuale è ridotta in presenza di halftoning
Architettura del calcolatore
47
Architettura del calcolatore
48
Reti di Comunicazione
Rete Locale
Un computer è in grado di comunicare con altri computer o altri dispositivi
attraverso reti di comunicazione. Nel seguito vengono fornite alcune nozioni
circa le modalità di connessione di un computer a una rete di
comunicazione, distinguendo tra collegamento:
Una LAN (Local Area Network) è una rete privata utilizzata per collegare le
stazioni di lavoro (PC) di un ufficio, un’azienda o un dipartimento che
hanno necessità di condividere le risorse (es: stampanti e server) e stabilire
collegamenti tra i PC. Permette una velocità di trasmissione tipica di 10 o
100 Mbps (Mega Bit per Secondo) anche se questo limite è in continua
crescita.
• con apparati vicini (PDA, cellulari, ecc... a pochi metri di distanza)
• ad altri computer o dispositivi in rete locale (ufficio, dipartimento)
• con il mondo esterno (Internet)
Collegamento con apparati vicini:
• Collegamento punto a punto via cavo seriale/parallelo: collegamento
fisico di due unità attraverso un cavo seriale (RS232) o parallelo (porta
parallela) dalla lunghezza massima di pochi metri; attraverso
specifiche funzionalità del sistema operativo è possibile scambiare file
tra le due unità.
• Infrarossi (IrDA): connessione con luce infrarossa (senza fili). È
utilizzato per collegamenti (lenti) di breve distanza come, ad esempio,
quelli con cellulari e PDA, ma anche stampanti.
• BlueTooth: connessione in radio frequenza (senza fili) a bassa velocità
e distanza ridotta destinata principalmente a connessione con unità
mobili (cuffie e auricolari, cellulari, PDA, ecc.).
Affinché un calcolatore possa essere
collegato in LAN è necessario che
disponga di una scheda di rete.
Inizialmente le schede di rete erano
componenti aggiuntive da innestare
negli slot di espansione (ISA o PCI)
sulla motherboard. Oggi la maggior
parte delle schede madre dei PC
contengono una scheda di rete integrata.
Un protocollo di rete è un insieme di regole che specifica il formato e il
significato dei messaggi scambiati tra i calcolatori di una rete.
Invece di definire tutte le regole attraverso un solo protocollo (in modo
complesso e confuso), si preferisce definire una gerarchia (o suite) di
protocolli che specificano in modo più ordinato le regole a diversi livelli di
astrazione (dal basso verso l’alto):
• il livello fisico definisce le specifiche fisiche del cavo e quelle
elettriche dei segnali
• il livello di collegamento definisce le sincronizzazione, l’arbitraggio, i
frame di base.
• il livello di trasporto stabilisce i pacchetti di dati e le regole per il loro
instradamento e trasposto a destinazione
• il livello di applicazione fornisce primitive di alto livello per la
comunicazione da parte di due programmi su calcolatori diversi.
Architettura del calcolatore
49
Architettura del calcolatore
50
Suite di protocolli di Rete
Collegamento a Internet
Internet (la rete delle reti) è costituita da una serie di reti, private, pubbliche,
aziendali, universitarie, commerciali, connesse tra di loro.
Mentre le università, i centri di calcolo, le organizzazioni governative hanno
collegamenti diretti verso le dorsali di Internet, l’accesso delle aziende o
delle utenze domestiche avviene per mezzo degli ISP.
Un Internet Service Provider (ISP) è una struttura commerciale o
un’organizzazione che offre agli utenti (casalinghi o ad altre imprese)
accesso a Internet con i relativi servizi. In italiano è detto anche fornitore
d'accesso.
Un router è un apparato di rete in grado di interfacciare reti diverse (ad
esempio una rete locale privata alla rete Internet).
Università X
Organizzazione governativa Y
I protocolli evidenziati sono quelli oggi più utilizzati per la comunicazione
in LAN.
A livello fisico un doppino per LAN è costituito da un
cavo contenete 8 fili di rame, intrecciati 2 a 2 per maggiore
immunità al rumore. I connettori utilizzati sono denominati
RJ 4 5 .
router
modem o router
Azienda Z
A livello di collegamento troviamo il protocollo Ethernet (IEEE 802.3). La
sua “variante” senza fili è WiFi.
A livello di trasporto/internetworking troviamo infine i protocolli TCP/IP;
IP definisce gli indirizzi dei calcolatori: ogni PC (o apparato connesso in
rete) è dotato di un indirizzo (detto indirizzo IP, es: 137.204.72.1) che
codifica l’identificatore di rete e l’identificatore di host. La combinazione è
unica: non devono esistere (in una rete pubblica) 2 calcolatori con lo stesso
IP. Gli indirizzi dei calcolatori “visibili” su Internet sono assegnati da un
apposito organo denominato ICANN (Internet Corporation for Assigned
Names and Numbers).
Architettura del calcolatore
dorsale Internet
51
ISP Y
Mario Rossi (utenza domestica)
La connessione di un utenza privata all’ISP prescelto (es. TIN, Tiscali,
FastWeb, ecc...) può avvenire:
• in modalità Dial-up (composizione del numero) su linea telefonica
tradizionale (voce); la velocità massima di comunicazione arriva a
56Kbps.
• in modalità Dial-up su linea telefonica ISDN; la velocità massima di
comunicazione arriva a 128Kbps.
• in banda larga (ADSL) con velocità massima di comunicazione fino a
diversi Mbps.
Architettura del calcolatore
52
Modem (1)
Modem (2)
Per poter trasmettere dati su linea telefonica i segnali digitali vengono
trasformati in segnali analogici tramite un Modem (ModulatoreDemodulatore).
Infatti, la trasmissione di un segnale digitale puro (onda quadra) può essere
fatta, su cavi di rame, solo a pochi metri di distanza a causa del rumore e dei
disturbi.
Per trasmette a maggiori distanze è necessario dunque modulare il segnale.
Esistono diverse forme di modulazione:
Nei modem moderni viene spesso utilizzata la modulazione mista di fase e
di ampiezza denominata modulazione QAM (Quadrature Amplitude
Modulation): un gruppo di n bit da trasmettere modula la portante in modo
da ottenere un segnale sinusoidale di opportuna ampiezza e fase. La velocità
di trasmissione (in bps, ovvero numero di bit trasmessi per secondo) è n
volte più grande della rapidità di modulazione (in baud, ovvero quante volte
per secondo il segnale può cambiare).
I modem possono scambiare dati tra loro in tre modalità:
• Simplex: I dati transitano solo dal trasmettitore al ricevitore.
• Half duplex: La comunicazione è bidirezionale ma
contemporanea.
• Full duplex: La comunicazione è bidirezionale e simultanea
non
A causa delle limitazione imposte dalla tecnologia i modem fonici la
velocità di trasmissione tramite Modem non supera i 57600 bps.
Lo standard per i model tradizionali è il V.34:
• Utilizza la modulazione QAM.
Segnale digitale
• Supporta velocità sino a 28800 bps con la stessa velocità usata in
entrambe le direzioni simultaneamente (full duplex).
Modulazione d’ampiezza
• Verifica le caratteristiche della linea all’inizio della trasmissione e, in
base alla risposta ottenuta, adatta i segnali in modo da minimizzare le
distorsioni.
Modulazione di frequenza
Modulazione di fase
Architettura del calcolatore
Monitor
53
Architettura del calcolatore
54
ADSL
La larghezza di banda tipica del cavo di comunicazione che collega le utenze
domestiche alla centrale telecom (detto ciclo locale) è limitata a 3000Hz
circa, sufficienti per la voce.
I modem tradizionali operano su uno di questi canali a banda limitata e da
questo deriva la loro ridotta velocità di comunicazione.
Con ADSL (Asymmetric Digital Subscriber Line), il ciclo locale viene
suddiviso in 256 canali indipendenti di 4312,5 Hz, di cui il canale 0 è usato
per la voce, e circa 250 sono disponibili per il traffico dati. Un modem
ADSL corrisponde a circa 250 modem tradizionali. Il termine Asymmetric
indica che un numero di canali minore è in genere riservato ai dati in uscita
rispetto a quelli in ingresso (infatti una navigazione web tipica richiede un
flusso di dati in entrata molto più elevato rispetto ai dati in uscita).
Filtri e divisori
Architettura del calcolatore
55
Architettura del calcolatore
56