IL CALCOLATORE 1 MACCHINA ASTRATTA DI VON NEUMANN

IL CALCOLATORE
1 MACCHINA ASTRATTA DI VON NEUMANN................................................................................1
2 TIPI DI ELABORATORI................................................................................................................. 2
3 L`HARDWARE .............................................................................................................................. 2
3.1 MEMORIA CENTRALE........................................................................................................... 3
3.2 ALTRI TIPI DI MEMORIA........................................................................................................ 3
3.3 PROCESSORE ..................................................................................................................... 3
3.4 BUS DI SISTEMA................................................................................................................... 5
3.5 ILCLOCK................................................................................................................................. 6
3.6 PRESTAZIONI DELL'HARDWARE........................................................................................6
3.7 INPUT/OUTPUT..................................................................................................................... 7
3.8 PERIFERICHE .......................................................................................................................8
3.8.1 Standard di Input: La Tastiera (keyboard)...................................................................... 8
3.8.2 Standard di Output: Lo Schermo (monitor).....................................................................8
3.8.3 Memoria Secondaria: il disco fisso (hard disk)............................................................... 8
3.8.4 RAID: La sicurezza dei dati (fault tolerance)................................................................ 10
3.8.5 Supporti removibili: nastri magnetici, floppy, CD, Flash............................................... 10
1 MACCHINA ASTRATTA DI VON NEUMANN
John Von Neumann era un ricercatore americano che nel corso della seconda guerra mondiale
dedicò i suoi studi alla realizzazione dei primi elaboratori.
Da leggere: http://it.wikipedia.org/wiki/John_von_Neumann
Secondo Von Neumann qualunque problema di elaborazione dei dati risolubile dall’uomo puo`
essere realizzato componendo insieme una sequenza ordinata di “operazioni elementari” (di tipo
aritmetico-logiche, trasferimento dati, ecc), che rappresenta la “ricetta” per risolvere il problema.
Da leggere: http://it.wikipedia.org/wiki/Macchina_di_von_Neumann
Occorrono per questo le seguenti unita` per l’elaborazione:
o una unita` di calcolo (il processore) in grado di riconoscere ed eseguire l'insieme delle
operazioni elementari
o un supporto (la memoria centrale) su cui memorizzare le informazioni (i dati) e la
sequenza di istruzioni (il programma) che l'unità di calcolo deve eseguire per realizzare
l’elaborazione.
o Un canale di comunicazione (il bus di sistema) attraverso il quale il processore accede
alla memoria centrale per leggere le istruzioni e i dati.
o Un sistema per recuperare e salvare informazioni su dispositivi esterni (le periferiche)
CPU
memoria
elaborazione
istruzioni
Istruzioni
dati
periferiche
video
tastiera
dischi
bus di sistema
Con Von Neumann il sistema di elaborazione si scompone, quindi, in 2 categorie fondamentali:
hardware e software.
L’hardware e` l’insieme dei componenti fisici del sistema, mentre il software e` l’insieme dei
programmi che vengono eseguiti dal sistema.
1
Il Calcolatore
[email protected]
Ultima modifica: 5/11/2006
2 TIPI DI ELABORATORI
Da leggere: http://it.wikipedia.org/wiki/Computer
Attualmente esistono in commercio diversi tipi di elaboratori che possiamo
classificare nelle seguenti categorie:
o Desktop: E’ il tipo piu` diffuso, progettato per essere posizionato
permanentemente sulla scrivania. Possiede una interfaccia grafica di medio
livello ed e` utilizzato prevalentemente per accedere a servizi locali di
rilevanza limitata o a servizi di rete. Quando viene utilizzato per accedere a
risorse su altri elaboratori (server) attraverso la rete prende il nome di client.
o
Workstation: Ha le caratteristiche del Desktop, ma e` solitamente dotato di risorse di alte
prestazioni (interfaccia grafica, processore, dischi, ..) per un uso professionale.
o
Notebook: Ha le caratteristiche del Desktop, ma e` progettato per essere
trasportato, cioe` possiede un peso ed una dimensione molto contenuta.
o
Server: sono elaboratori progettati per offrire servizi (hardware, software, dati)
attraverso la rete. Hanno una interfaccia utente limitata o inesistente.
Garantiscono alta affidabilità mediante ridondanza delle parti piu` critiche come i
dati sul disco (RAID) e l`alimentatore (doppio).
o
Supercomputer: sono elaboratori ad alte prestazioni di calcolo utilizzati
prevalentemente per applicazioni scientifiche o tecniche che richiedono elevate
velocita` di esecuzione.
3 L`HARDWARE
L’hardware dell’elaboratore e` composto 4 elementi funzionali fondamentali: la memoria centrale,
l`unita` di elaborazione (CPU), il bus di sistema e le periferiche.
2
Il Calcolatore
[email protected]
Ultima modifica: 5/11/2006
3.1 MEMORIA CENTRALE
La memoria centrale è una sequenza di registri (celle di memoria composta da 1 byte) su cui
risiedono istruzioni e dati del programma. Ogni cella di memoria e' identificato da un indirizzo
(indirizzo di memoria) e da un valore che puo` essere acceduto in lettura o in scrittura.
Se l'indirizzo di memoria e` composta da 32 bit possiamo distinguere fino a 4G locazioni.
Nei moderni elaboratori la memoria centrale e` realizzata mediante
moduli di memoria costruita con tecnologia a semiconduttore e
denominata RAM (Random Access Memory).
Da leggere: http://it.wikipedia.org/wiki/RAM
La RAM e` un tipo di memoria volatile (spegnendo l’elaboratore si
perde il contenuto). Esistono diverse tecnologie per realizzare le RAM,
con diverse prestazioni e diversi costi.
Vediamone alcune:
• La SDRAM (Syncronous Dynamic RAM) è la RAM utilizzata nei primi Pentium con una
frequenza di 100 o 133 Mhz consentiva un trasferimento (di 64 bit) per ogni ciclo di clock. Ad
esempio, con un modulo di memoria PC100 su un Pentium III si può ottenere tra CPU e RAM
un tasso di trasferimento di 800 MByte/sec (64 bit x 100MHz)
• LA DDR-SDRAM (Double Data Rate SDRAM) è una tecnologia più recente, largamente diffusa
sui PC, che, a differenza della SDRAM consente 2 trasferimenti per ogni ciclo di clock. Ad
esempio, con un modulo di memoria PC2100 (133MHz x 2) su di un Pentium IV si ottiene un
tasso di trasferimento di 2128 Mbyte/sec
• La DDR2 (DDR II SDRAM) come la DDR compie 2 trasferimenti per ogni ciclo di clock, ma
migliorando alcune caratteristiche architetturali (buffer piu' ampio, prefetch migliorato, minor
tensione di lavoro, ..) riesce a funzionare ad una maggior velocita' del clock.
3.2 ALTRI TIPI DI MEMORIA
Memoria ROM (Read Only Memory). Persistente (non si perde il contenuto spegnendo il
calcolatore), di sola lettura. Utilizzata ad esempio per memorizzare le procedure di accensione
della macchina (test dell'hardware, caricamento del sistema operativo).
Memoria Cache. Memoria volatile, molto veloce ma costosa e di modeste dimensioni rispetto alla
RAM. Viene utilizzata per accelerare le operazioni del Processore (vedi Processore).
Memoria di massa. Persistente, realizzata su disco magnetico (vedi periferiche); e` piu` lenta
della RAM e viene utilizzata per archiviare programmi e dati.
Memorie Flash. Memoria persistente di lettura e scrittura. Viene utilizzata dal PC per
memorizzare le impostazioni ed altre informazioni statiche che possono essere modificate
saltuariamente.
3.3 PROCESSORE
Da leggere: http://it.wikipedia.org/wiki/CPU
Il Processore (Central Processing Unit - CPU) e` l'unità di elaborazione e ha il compito di eseguire
una dopo l'altra le istruzioni di un programma contenuto nella memoria centrale. I processori
esistenti in commercio sono molto diversi l'uno dall'altro. Qui vediamo alcune delle principali
caratteristiche comuni.
All’interno della CPU vi sono diverse unita` circuitali e registri:
Unita` di controllo (CU). E` responsabile del prelievo e della decodifica delle istruzioni nonché
dell'invio dei segnali di controllo che provocano i trasferimenti o le elaborazioni necessarie per
l’esecuzione dell’istruzione decodificata.
Unita` aritmetico logica (ALU). Realizza le istruzioni aritmetiche e logiche (su variabili intere)
eventualmente richieste per l’esecuzione dell’istruzione.
Floating Point Unit (FPU). Realizza le istruzioni aritmetiche in virgola mobile del processore.
Registri. Sono elementi di memoria con compiti specifici che sono utilizzabili per memorizzare
risultati parziali o informazioni necessarie al controllo. I principali registri sono:
o Registro Dati (DR) e Registro Indirizzi (AR), contengono i valori per il controllo del bus dati
3
Il Calcolatore
[email protected]
Ultima modifica: 5/11/2006
e il bus degli indirizzi
Instruction Register (IR) contiene il valore dell'istruzione corrente.
Program Counter (PC) contiene l'indirizzo in memoria della prossima istruzione da
eseguire (per alcuni processi è l'indirizzo dell'istruzione in corso di esecuzione).
o Registri di Lavoro (D1, D2, …) E` un numero piuttosto grande di registri che il processore
utilizza per la lettura lettura dei dati e la scrittura dei risultati derivanti dall'esecuzione di una
istruzione.
Cache. E` una memoria veloce che mantiene copia dei dati e delle istruzioni piu` utilizzate.
Quando la CPU deve leggere una istruzione o un dato consulterà la memoria cache prima di
accedere alla memoria centrale; se il dato e’ presente in cache verrà fornito alla CPU in un tempo
molto ridotto. Per massimizzare le prestazioni della cache e’ necessario che la sua capacita’ sia il
più grande possibile. I processori moderni sono dotati di una cache con una dimensione tra il
centinaio e il migliaio di KByte.
o
o
Il Set di Istruzioni. Ogni CPU possiede un proprio "set di istruzioni" elementari. Un processore
moderno come l`INTEL 80x86 possiede circa 150 istruzioni.
Da leggere: http://it.wikipedia.org/wiki/Architettura_X86 e http://it.wikipedia.org/wiki/IA-32
Ogni istruzione ha un proprio formato, codice mnemonico e codice operativo (binario).
Le istruzioni sono classificabili in base alla loro funzionalità:
o Data movement: trasferimento dati tra CPU e Memoria o Input/Output
o Operazioni AritmeticoLogiche: somma sottrazione moltipl. shift and or ...
o Salto: condizionato (if) e incondizionato (goto), salto a subroutine
Ogni istruzione viene eseguita in un determinato numero di cicli di clock (da pochi cicli di clock per
le istruzioni aritmetico logiche fino a diverse decine di cicli per le istruzioni in floating-point).
I programmi rappresentati mediante i codici operativi sono scritti in "linguaggio macchina" , cioè
sono sequenze binarie che rappresentano le istruzioni da eseguire e possono essere caricati in
memoria centrale per l’esecuzione.
Sulla memoria centrale viene allocato anche lo spazio per i dati utilizzati dal programma.
Per ogni istruzione la CPU compie i seguenti passi:
o estrae l'istruzione dalla memoria centrale (instruction fetch) e le mette nell`Instruction
Register (IR)
o decodifica l`istruzione (decode)
o carica dalla memoria centrale gli eventuali operandi (data fetch) memorizzandoli nei
Registri di Lavoro
o esegue l’istruzione utilizzando i registri di Lavoro (execute)
CPU IN COMMERCIO:
Attualmente il maggiore produttore di CPU e’ la ditta americana Intel, che, a partire dai i primi anni
ottanta, ha fornito la CPU di tutte le generazioni di Personal Computer. Il primo processore Intel
per PC possedeva registri interni a 16 bit ed era denominato 8086.
I processori successivi (80286, 80386, 80486, Pentium, …) hanno introdotto sempre nuove
funzionalità mantenendo pero’ sempre compatibilità con i predecessori. Gli attuali Pentium hanno
registri interni di 32 bit e condividono tutti lo stesso set di istruzioni fondamentali denominato IA32
(Intel Architecture 32bit). Altri produttori di CPU (principalmente il processore Athlon di AMD)
producono processi che utilizzano le stesse istruzioni IA32 garantendo in questo modo la
possibilità di costruire calcolatori compatibili con i calcolatori basati su Pentium.
Processori a 64 bit. Recentemente si trovano in commercio processori di nuova generazione
basati su registri a 64 bit e destinati a sostituire gli attuali processori IA32. Il processore sviluppato
da Intel (Itanium), utilizza una architettura denominata IA64, mentre AMD produce un processore
a 64 bit (Opteron) con un diverso set di istruzioni denominato x86-64.
Da leggere: http://it.wikipedia.org/wiki/Advanced_Micro_Devices
Attualmente il mercato è maggiormente orientato verso l'architettura X86-64 di AMD poiché questa
consente compatibilità con IA32, ovvero posso comprare un calcolare 64 bit con Opteron e
utilizzarlo con il vecchio software WinXP o Linux a 32 bit.
4
Il Calcolatore
[email protected]
Ultima modifica: 5/11/2006
Processori RISC. Oltre ai processori IA32 - IA64/x86-64 esistono in commercio altre famiglie di
processori che vengono installati generalmente su Workstation. I più diffusi sono:
Processore
Sistemi
UltraSparc (64bit) http://it.wikipedia.org/wiki/SPARC
Sun Microsystems
PowerPC (64bit) http://it.wikipedia.org/wiki/PowerPC
Apple MacOS , IBM
MIPS (64 bit) http://it.wikipedia.org/wiki/MIPS_(microprocessori) Silicon Graphics
Alpha (64 bit) http://it.wikipedia.org/wiki/DEC_Alpha
HewletPackard (HP)
3.4 BUS DI SISTEMA
BUS e` un termine che si incontra spesso in informatica e telematica.
Da leggere: http://it.wikipedia.org/wiki/Bus_(informatica)
Il BUS è un canale sincrono attraverso cui diversi componenti elettronici dialogano tra loro.
Un bus può essere seriale o parallelo a seconda che trasporti uno o più bit contemporaneamente.
Un altro parametro importate e` la frequenza di trasferimento, ovvero quanti trasferimenti
possiamo realizzare in un secondo. La frequenza di trasferimento è temporizzata dal Clock e si
misura in Hz (Hertz).
La prestazione di un BUS (tasso di trasferimento) e` misurata in bit/sec (oppure Byte/sec).
Se abbiamo un trasferimento per ogni ciclo di clock il tasso di trasferimento si ottiene moltiplicando
la frequenza di trasferimento per il numero di bit del BUS.
Nell’architettura di Von Neumann tutte le comunicazioni passano attraverso i 3 BUS che
compongono il BUS di sistema:
• Il bus degli indirizzi serve per selezionare il particolare registro o cella di memoria sul quale si
vuole fare una operazione di lettura o scrittura. Il bus degli indirizzi e` un bus parallelo, la cui
ampiezza e` nella maggioranza dei casi di 32 bit. Il numero di bit utilizzati per indirizzare un
dato stabilisce lo "spazio di indirizzamento" della memoria, ovvero di quante celle di memoria si
compone. Con 32 bit di indirizzamento possiamo indirizzare 4G locazioni.
• Il bus dei dati (Front Side Bus) serve per il trasportare il dato selezionato. I processori
Pentium hanno un bus dati di 64 bit.
• Il bus dei controlli trasferisce informazioni di servizio, come ad esempio il tipo di operazione
(lettura/scrittura), informazioni relative all’avvenuto espletamento dell’operazione richiesta, il
segnale di clock, ecc.
Per leggere o scrivere un registro della memoria centrale la CPU compie i seguenti passi:
1. invio sul bus degli indirizzi dell’indirizzo della cella richiesta.
2. trasferimento del dato attraverso il bus dei dati da CPU a memoria (scrittura) o da memoria a
CPU (lettura)
5
Il Calcolatore
[email protected]
Ultima modifica: 5/11/2006
3.5 ILCLOCK
Il Clock e' un segnale periodico di periodo fisso, un onda quadra, che sincronizza le attività del
calcolatore. E` caratterizzato da un periodo T (detto ciclo) e da una frequenza f (f=1/T) misurata in
Hertz (Hz). Ad esempio un clock composto da 10 cicli al secondo avra` una frequenza f = 10 Hz e
un periodo T= 100ms.
Ogni calcolatore possiede un generatore di clock che viene utilizzato per temporizzare le seguenti
attivita`:
- Operazioni della CPU. Infatti ogni istruzione della CPU viene eseguita in un numero stabilito di
cicli di clock che dipende dalla complessita` dell`istruzione ed e` mediamente pari a qualche
unita`.
Il clock della CPU determina quindi la rapidita` del calcolatore nell`esecuzione dei programmi; il
clock della CPU nei calcolatori moderni e` dell`ordine di qualche Ghz (20 anni fa era di qualche
Mhz !)
- Trasferimento di dati e istruzioni tra CPU e Memoria Centrale. Un clock e` presente anche
sul bus di Sistema per temporizzare i trasferimenti di dati e istruzioni tra CPU e memoria centrale.
Se abbiamo un trasferimento di dati per ogni ciclo di clock (come e` nella maggioranza dei casi) il
numero di byte che possiamo trasferire da memoria a CPU (o viceversa) e` dato dalla frequenza
del clock per il numero di Byte per ogni trasferimento (ampiezza del bus dei dati). La memoria
centrale e` attualmente realizzata mediante moduli RAM che hanno prestazioni decisamente
inferiori rispetto alla tecnologia utilizzata per costruire le CPU; per questo motivo il clock del Bus di
sistema e` rallentato di un fattore 10 rispetto al clock interno alla CPU. Nei calcolatori mederni
questo clock e` quindi dell`ordine del centinaio di Mhz.
3.6 PRESTAZIONI DELL'HARDWARE
Le prestazioni di un elaboratore sono rappresentate essenzialmente dalla rapidità nell’esecuzione
dei programmi. Un parametro importante e` quindi dato dal numero di istruzioni per secondo che
la CPU puo` eseguire. Questo dato si misura in MIPS (Mega Istruzioni per secondo). In ambito
scientifico dove i dati sono prevalentemente di tipo reale (floating-point) si utilizza il MFLOP (Mega
Floating Point Operations).
Questi parametri ci danno informazioni sulla rapidità della CPU, ma le prestazioni complessive
dipendono anche da altri fattori (velocita` del bus di sistema, dei dischi, ecc.)
Per effettuare raffronti reali tra i sistemi sono stati sviluppati appositi programmi, denominati
Benchmark. L’organizzazione internazionale denominata SPEC si occupa di fornire gli strumenti
per la valutazione delle prestazioni di un particolare componente o specializzazione del calcolatore
(CPU, grafica, servizio di file, di posta elettronica, www, ecc).
Per ogni argomento viene collezionato un certo numero di applicazioni reali; elaborando i dati
relativi alla loro esecuzione viene generato un numero che quantifica la prestazione.
SPECcpu2000 e` il Benchmark delle prestazioni della CPU ed e` composta da 2 suite di
programmi:
SPECint2000 per la valutazione delle prestazioni per interi e SPECfp2000 per floating point.
Da leggere: http://en.wikipedia.org/wiki/Standard_Performance_Evaluation_Corporation
Tecniche per il miglioramento delle prestazioni del calcolo:
- Velocita` del clock: Ovviamente aumentando la frequenza del clock aumenta la velocita` di
esecuzione delle istruzioni.
- Memoria Cache: La presenza della memoria Cache in prossimità del Processore consente
di avere una copia di parte di dati e istruzioni della memoria Centrale accedibili alla stessa
velocita` della CPU. La probabilità di dovere accedere alla memoria centrale e` tanto piu`
bassa quanto maggiore e` la dimensione della memoria cache.
- Architettura Pipelining: i processori moderni suddividono le diverse fasi di esecuzione di
una istruzione in diversi stadi indipendenti (pipeline); questo consente l`esecuzione
contemporanea di tante istruzioni quanti sono gli stadi della pipeline.
Architettura Superscalare: il processori moderni possiedono piu` unita` di calcolo ALU o
6
Il Calcolatore
[email protected]
Ultima modifica: 5/11/2006
-
FPU permettendo l`esecuzione parallela di piu` istruzioni.
Architetture multiprocessore : sul bus di sistema collaborano 2 o piu` Cpu. Ogni Cpu
esegue
un proprio programma. In memoria centrale devono quindi risiedere
contemporaneamente i programmi e i dati di ogni processore. La presenza della Cache
Memory consente di limitare gli accessi contemporanei alla memoria centrale. Attualmente
esistono in commercio circuti (chip) che contengono 2 processori (Tecnologia Dual Core).
Prestazioni dei singoli processori: http://www.aceshardware.com/SPECmine/cpus.jsp
Prestazioni dei piu` veloci supercomputer: http://www.top500.org http://clusters.top500.org/
Esercizio: verificare le caratteristiche hardware e le prestazioni del PC (personale o dell'aula informatica) con
la test suite Clibench http://clibench.daemonware.ch/index.php
3.7 INPUT/OUTPUT
Tutti i programmi (di utilita` pratica) devono prevedere l’input e/o l’output di dati verso dispositivi
esterni (periferiche). La comunicazione tra la periferica ed il calcolatore avviene tramite una
circuito elettronico che ha il compito di interfacciare il calcolatore con la periferica. Tale circuito di
adattamento e` denominato Controller (o Adattatore). Vedi la figura di pag.2
Per separare le comunicazioni CPU–Memoria e le comunicazione CPU-Periferiche i calcolatori
moderni sono dotati di un bus dedicato all’input/output denominato Bus Locale.
Attualmente il Bus Locale piu` utilizzato e il PCI (Peripheral Component Interconnect).
BUS LOCALE
ISA
EISA
PCI
PCI Express
Anno
1984
1988
1993
2004
Bit
16
32
32/64
1/2/4/8/12/16/32
Clock (MHz)
8
8
33/66
Velocitá (MB/s)
16
32
132/264/528
250MB/s x2 (full duplex) x bit
Da leggere: http://it.wikipedia.org/wiki/Peripheral_Component_Interconnect
Esistono inoltre dei Bus Esterni per determinati tipi di periferiche. I piu` noti sono USB e Firewire.
Da leggere:
http://it.wikipedia.org/wiki/Universal_Serial_Bus
http://it.wikipedia.org/wiki/Firewire
BUS SERIALI ESTERNI
USB 1
USB 2
FIREWIRE (IEEE1394)
7
Il Calcolatore
Velocitá
12 Mb/s (1.5MB/s)
480Mb/s (60MB/s)
400Mb/s (50MB/s)
[email protected]
Ultima modifica: 5/11/2006
3.8 PERIFERICHE
I Computer moderni sono dotati di almeno 3 periferiche: una periferica di Input standard (la
tastiera), di Output standard (lo schermo) e una memoria di massa (l’hard-disk).
3.8.1 Standard di Input: La Tastiera (keyboard)
La tastiera e` un dispositivo di Input che consente all’utente di digitare caratteri alfanumerici (e
punteggiatura) per l’inserimento di comandi o di testi. Per ogni tasto premuto viene prodotto un
codice binario che il calcolatore trasforma nel codice del carattere (ad esempio la codifica ASCII
del carattere).
Da leggere: http://it.wikipedia.org/wiki/Tastiera_%28informatica%29
3.8.2 Standard di Output: Lo Schermo (monitor)
Lo schermo rappresenta il dispositivo standard sui cui inviare il risultato di una elaborazione.
L’immagine visiva viene costruita mediante la codifica a Bitmap, ovvero suddividendo lo schermo
in una matrice bidimensionale di punti (pixel). La qualità dell’immagine riprodotta (risoluzione)
cresce al crescere della dimensione della matrice.
Le possibili risoluzioni dipendono dalle caratteristiche tecniche dello schermo; le piu` utilizzate
sono: 640x480 (VGA), 800x600 (SVGA) e 1024x768 (XGA)
(vedi http://it.wikipedia.org/wiki/Risoluzioni_standard )
Ogni singolo pixel viene gestito mediante una sequenza di bit che codifica secondo la tecnica
RGB il colore da rappresentare nel punto.
Il numero di bit associati ad ogni pixel dipende dalla gamma di colori (palette) che vogliamo
utilizzare. Ad esempio con 24 bit per pixel la gamma e` di 16M colori.
La visualizzazione è gestita dal controller del video (Scheda video) che, con una frequenza tra
60 e 75 Hertz, legge i dati da un banco di memoria RAM e ricostruisce l'immagine sul video.
Il banco di memoria, che deve avere una capienza pari al numero di pixel per la profondità del
colore, può risiedere nella memoria centrale del computer o direttamente sulla scheda video.
(vedi http://it.wikipedia.org/wiki/Scheda_video ).
Esistono attualmente 2 tecnologie prevalenti per la realizzazione degli schermi:
CRT (tubi a raggi catodici) e LCD (Display a cristalli liquidi)
Da leggere: http://en.wikipedia.org/wiki/Computer_monitor
3.8.3 Memoria Secondaria: il disco fisso (hard disk)
La memoria secondaria e` un elemento fondamentale nell’architettura di un elaboratore, poiche`
contiene l’archivio dei programmi e dei dati necessari per farlo funzionare. I dischi magnetici sono
il principale mezzo di memorizzazione secondaria nei moderni sistemi di calcolo.
8
Il Calcolatore
[email protected]
Ultima modifica: 5/11/2006
Un disco fisso e` costituito da una scatola sigillata contenente uno o piu` piatti rivestiti dia un sottile
stato di materiale magnetico. I dati digitali sono registrati sulla superficie in cerchi concentrici
denominati tracce (la loro proiezione sui diversi piatti del disco viene chiamata Cilindro). La
registrazione avviene per mezzo di una testina di lettura/scrittura (una per ogni piatto) . Inoltre ogni
traccia e` suddivisa in settori.
La superficie magnetica ruota su se stessa e la testina, spostandosi sul braccio, puo` accedere a
tutte le tracce del disco.
Per poter scrivere e leggere informazioni sul disco magnetico e` necessaria una operazione
preliminare detta "formattazione fisica" o “formattazione di basso livello” (da non confondere con la
“formattazione logica” che consiste nell’installazione del file-system sul disco). Quando un disco
viene formattato la superficie viene suddivisa in blocchi di uguale dimensione (tipicamente 512 o
1024 byte). Il blocco e` l`unita` minima di lettura/scrittura sul disco ed e` individuato dalla tripletta
Cylinder (Cilindro), Head (Testina), Sector (Settore).
Questa terna di numeri e` chiamata indirizzo CHS. Esiste un altro modo per numerare i blocchi
denominata LBA (Linear Block Addressing). Il numero di un blocco e` calcolato nel seguente
modo:
NLBA = C . Ncyl + H . Ntr + S – 1
Questo secondo metodo di numerazione, attualmente il piu` utilizzato, consente di dare ai blocchi
un numero progressivo (vedi figura).
La formattazione fisica e` eseguita nella maggior parte dei casi dal costruttore del disco;
raramente l'utente ha necessita` di riformattare fisicamente il disco.
Il sistema operativo avra` il compito di rappresentare i file sul disco mediante una catena di
blocchi (anche non consecutivi). Pertanto l’occupazione su disco di un file sara` un multiplo della
dimensione di un blocco.
9
Il Calcolatore
[email protected]
Ultima modifica: 5/11/2006
Le caratteristiche di un disco fisso sono:
- Bassa velocita` di accesso ai dati rispetto alle memorie a semiconduttore (RAM). Occorrono circa
8-20 millisecondi per accedere ad un dato; questo e` dovuto alla tecnica meccanica di
posizionamento della testina.
- Grande capacita` di informazione (attualmente decine di GByte) a basso costo.
- Velocita` di trasferimento dati: decine di MByte/sec
Gli hard disk vengono connessi prevalentemente mediante bus esterni ATA, SerialATA o SCSI.
Da leggere: http://it.wikipedia.org/wiki/Hard_disk
3.8.4 RAID: La sicurezza dei dati (fault tolerance)
La tecnologia RAID (Redundant Array of Inexpensive Disks) è basata sull’utilizzo di più dischi per
gestire i dati in modo affidabile (mediante la ridondanza) e veloce, ed e` per questo utilizzata sugli
elaboratori di tipo “Server”.
Esistono diversi livelli di RAID, a seconda di che tipo di sicurezza e prestazioni si desideri ottenere
dal sistema. I principali livelli di RAID sono:
RAID0 (Striping): Non fornisce ridondanza ma solo una maggiore velocita` distribuendo i dati di
ogni file su piu` dischi (se un file e` distribuito su piu` dischi la scrittura o lettura avviene
parallelamente, diminuendo i tempi di accesso).
RAID 1 (Mirroring): I dischi vengono gestiti a coppie in modo che per ogni disco venga mantenuta
una immagine (mirror) garantendo cosi` il funzionamento del sistema anche nel caso di guasto.
RAID 5 (Striping con parita`) :Utilizzando almeno 3 dischi si ottiene una maggiore velocita` di
accesso (come RAID0) e la continuita` di funzionamento nel caso di guasto di un disco (come
RAID1).
Un sistema di dischi RAID puo` essere realizzato in hardware mediante un opportuno controller,
oppure via software, utilizzando i normali controller dei dischi.
Da leggere: http://it.wikipedia.org/wiki/Redundant_Array_of_Independent_Disks
3.8.5 Supporti removibili: nastri magnetici, floppy, CD, Flash
Oltre gli hard-disk esistono sistemi di memorizzazione secondaria su supporti di tipo removibile,
che possono quindi essere estratti dal sistema e reinseriti in tempi successivi sullo stesso
computer o su altri sistemi. Le funzionalità di questi sistemi sono:
- Archivio di grandi quantita` di dati acceduti saltuariamente
- Backup, ovvero duplicazione dei dati per gestire eventuali guasti del disco fisso.
- Trasferimento di dati tra elaboratori.
La seguente tabella riassume le caratteristiche dei supporti piu` utilizzati:
10
Il Calcolatore
[email protected]
Ultima modifica: 5/11/2006
Floppy disk
CD-RW
DVD-RW
Tape (DAT)
Flash Mem.
Capacita`
1.4 MB
640 MB
4.7 GB
Centinaia di GB
64MB – 2GB
Tempo Accesso (ms)
100-200
10-30
5-10
0.2
Velocita` (MB/s)
0.04
0.15 (1x) - 5.8 (40x)
22 (16x)
1 (4 GB/ora sequenziale)
1 (USB1) - 5 (USB2)
Da leggere:
http://it.wikipedia.org/wiki/Chiave_USB
http://en.wikipedia.org/wiki/CD-ROM
http://it.wikipedia.org/wiki/DVD
http://en.wikipedia.org/wiki/Tape_drive
11
Il Calcolatore
[email protected]
Ultima modifica: 5/11/2006
BUS
USB
ATA
ATA
SCSI/ATA
USB