Appunti del corso di Informatica - Classe III A. Anno scolastico 2011-2012 Prof. Francesco Biccari

Pagina creata da Andrea Fava
 
CONTINUA A LEGGERE
Appunti del corso di Informatica - Classe III A. Anno scolastico 2011-2012 Prof. Francesco Biccari
Appunti del corso di Informatica
Classe III A. Anno scolastico 2011–2012

 Prof. Francesco Biccari
 biccari@gmail.com

 20 aprile 2012
Appunti del corso di Informatica - Classe III A. Anno scolastico 2011-2012 Prof. Francesco Biccari
Indice

1 L’informatica 4
 1.1 Dati e informazioni . . . . . . . . . . . . . . . . . . . . . . . . . . 4
 1.2 Cos’è l’informatica? . . . . . . . . . . . . . . . . . . . . . . . . . 5
 1.2.1 Gli algoritmi . . . . . . . . . . . . . . . . . . . . . . . . . 6
 1.2.2 Il computer . . . . . . . . . . . . . . . . . . . . . . . . . . 7
 1.2.3 La rappresentazione dei dati . . . . . . . . . . . . . . . . . 8
 1.3 L’importanza dell’informatica e dell’ICT . . . . . . . . . . . . . . 9
 1.4 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Il computer 11
 2.1 Cos’è un computer? . . . . . . . . . . . . . . . . . . . . . . . . . . 11
 2.2 I tipi di computer . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
 2.3 Un po’ di storia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
 2.4 I computer sanno lavorare solo con i numeri! . . . . . . . . . . . . 15
 2.5 Un ripasso delle unità di misura . . . . . . . . . . . . . . . . . . . 16
 2.5.1 I fenomeni periodici . . . . . . . . . . . . . . . . . . . . . 16
 2.5.2 I prefissi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
 2.6 Architettura di Von Neumann . . . . . . . . . . . . . . . . . . . . . 18
 2.7 La CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
 2.8 La memoria centrale . . . . . . . . . . . . . . . . . . . . . . . . . 21
 2.8.1 La RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
 2.9 La scheda madre e i BUS . . . . . . . . . . . . . . . . . . . . . . . 22
 2.9.1 Il firmware, le ROM e il BIOS . . . . . . . . . . . . . . . . 25
 2.10 Le periferiche di input/output . . . . . . . . . . . . . . . . . . . . . 26
 2.10.1 L’hard disk (disco rigido) . . . . . . . . . . . . . . . . . . . 26
 2.10.2 Le memorie flash . . . . . . . . . . . . . . . . . . . . . . . 26
 2.10.3 I drive ottici e i dischi ottici . . . . . . . . . . . . . . . . . 28
 2.10.4 La cache . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
 2.10.5 Tastiera, mouse, touchpad, … . . . . . . . . . . . . . . . . 29
 2.10.6 Il monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
 2.10.7 La stampante . . . . . . . . . . . . . . . . . . . . . . . . . 31
 2.10.8 Lo scanner . . . . . . . . . . . . . . . . . . . . . . . . . . 31
 2.11 L’involucro e l’alimentazione . . . . . . . . . . . . . . . . . . . . . 32
 2.12 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

 1
Appunti del corso di Informatica - Classe III A. Anno scolastico 2011-2012 Prof. Francesco Biccari
INDICE 2

3 La rappresentazione dei dati 34
 3.1 Qual è il problema? . . . . . . . . . . . . . . . . . . . . . . . . . . 34
 3.2 Il sistema binario . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
 3.2.1 Da binario a decimale . . . . . . . . . . . . . . . . . . . . 35
 3.2.2 Da decimale a binario . . . . . . . . . . . . . . . . . . . . 35
 3.2.3 Le operazioni elementari . . . . . . . . . . . . . . . . . . . 35
 3.2.4 I numeri negativi e i numeri frazionari . . . . . . . . . . . . 36
 3.3 Il sistema esadecimale . . . . . . . . . . . . . . . . . . . . . . . . 36
 3.3.1 Dal binario all’esadecimale e viceversa . . . . . . . . . . . 36
 3.4 I tipi di dato e le codifiche . . . . . . . . . . . . . . . . . . . . . . 36
 3.4.1 I numeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
 3.4.2 Le stringhe . . . . . . . . . . . . . . . . . . . . . . . . . . 37
 3.4.3 Le immagini . . . . . . . . . . . . . . . . . . . . . . . . . 38
 3.4.4 I suoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
 3.5 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4 Algoritmi, strutture dati e programmi 42
 4.1 Algoritmi e programmi . . . . . . . . . . . . . . . . . . . . . . . . 42
 4.2 Tipi di dati e istruzioni . . . . . . . . . . . . . . . . . . . . . . . . 44
 4.3 La rappresentazione di un algoritmo . . . . . . . . . . . . . . . . . 45
 4.3.1 Il diagramma di flusso . . . . . . . . . . . . . . . . . . . . 45
 4.3.2 Lo pseudocodice . . . . . . . . . . . . . . . . . . . . . . . 47
 4.4 Qualche esempio semplice di algoritmo . . . . . . . . . . . . . . . 47
 4.5 Condizioni, cicli e l’istruzione GOTO . . . . . . . . . . . . . . . . 49
 4.6 La programmazione strutturata e procedurale . . . . . . . . . . . . 50
 4.6.1 La struttura di sequenza . . . . . . . . . . . . . . . . . . . 51
 4.6.2 La struttura di selezione . . . . . . . . . . . . . . . . . . . 51
 4.6.3 La struttura iterativa . . . . . . . . . . . . . . . . . . . . . 51
 4.6.4 Altre strutture derivate . . . . . . . . . . . . . . . . . . . . 53
 4.7 Esempi semplici . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
 4.7.1 Stampare la tabellina del 2 fino a un numero dato . . . . . . 53
 4.8 La programmazione procedurale: sottoprogrammi e funzioni . . . . 54
 4.9 Alcuni esempi di algoritmi “veri” . . . . . . . . . . . . . . . . . . 54
 4.10 Strutture dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
 4.11 La creazione dei programmi . . . . . . . . . . . . . . . . . . . . . 54
 4.12 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5 Sistemi operativi e programmi 59
 5.1 Il diritto d’autore per il software . . . . . . . . . . . . . . . . . . . 59
 5.2 I sistemi operativi . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
 5.2.1 Il filesystem . . . . . . . . . . . . . . . . . . . . . . . . . . 62
 5.3 Esercizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6 Microsoft Word 64

7 Microsoft Excel 65
Appunti del corso di Informatica - Classe III A. Anno scolastico 2011-2012 Prof. Francesco Biccari
INDICE 3

8 Le reti di computer 66
 8.1 Le reti di computer . . . . . . . . . . . . . . . . . . . . . . . . . . 66
 8.1.1 Cos’è una rete di computer . . . . . . . . . . . . . . . . . . 66
 8.1.2 Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
 8.1.3 Modem, router, switch e schede di rete . . . . . . . . . . . . 66

9 I database 67

A Codifica ASCII 68
 A.1 Caratteri non stampabili . . . . . . . . . . . . . . . . . . . . . . . . 69
 A.2 Caratteri stampabili . . . . . . . . . . . . . . . . . . . . . . . . . . 70

B Curiosità 71
Appunti del corso di Informatica - Classe III A. Anno scolastico 2011-2012 Prof. Francesco Biccari
Capitolo 1

L’informatica

 L’informatica non riguarda i
 computer più di quanto l’astronomia
 riguardi i telescopi.

 Edsger Wybe Dijkstra

1.1 Dati e informazioni
Prima di spiegare cos’è l’informatica, bisogna soffermarci a definire i termini dato
e informazione che troppo spesso vengono usati come sinonimi.
 Un dato è a un livello più basso rispetto all’informazione. È un singolo elemen-
to informativo che non permette di aumentare la nostra conoscenza: un nome, un
numero, un’immagine. In sintesi potremmo definire un dato come un simbolo senza
un significato. Facciamo un esempio. Potremmo avere una serie di dati: “32°C,
33°C, 32°C, 27°C, 24°C, 27°C, 33°C”. Come vedete, avere a disposizione questa
serie di numeri non aumenta la nostra conoscenza. Un altro dato potrebbe essere
“8 848 metri”. Anche in questo caso, questo numero non ci serve a nulla.
 L’informazione è invece a un livello di astrazione superiore rispetto ai dati. Essa
consiste in un insieme di dati collocato in un contesto che ci permette di aumentare
la nostra conoscenza, cioè che ci permette di superare un’incertezza, prendere una
decisione, effettuare delle operazioni. Per fare degli esempi guardiamo ai dati prece-
denti e in particolare alla serie di temperature. Se sappiamo che quelle temperature
sono relative alla città di Roma in un particolare periodo dell’anno a una partico-
lare ora del giorno, questo fa di loro un’informazione. La nostra informazione può
essere ulteriormente elaborata con altre informazioni per ottenerne di nuove. Per
esempio nella serie di temperature si nota un abbassamento che potremmo associare
a qualche giorno di brutto tempo. Questo potrebbe essere confermato da altre infor-
mazioni relative alle precipitazioni. Analogamente per quanto riguarda l’altro dato,
gli “8 848 metri”, se so che questo numero è la misura dell’altezza del monte Evere-
st, ora ho un’informazione. Informazione che, come al solito, può essere incrociata
con altre per ottenere nuove informazioni. Se avessi le altezze di tutte le montagne
del mondo, scoprirei che il monte Everest è il più alto di tutti.

 4
Appunti del corso di Informatica - Classe III A. Anno scolastico 2011-2012 Prof. Francesco Biccari
CAPITOLO 1. L’INFORMATICA 5

 Figura 1.1. Rappresentazione schematica
 del DNA. Il DNA è il contenitore delle in-
 formazioni genetiche necessarie alla sintesi
 di RNA e proteine, molecole indispensabili
 per lo sviluppo e il corretto funzionamento
 della maggior parte degli organismi viven-
 ti. Queste informazioni sono scritte trami-
 te un alfabeto di 4 simboli, che nella real-
 tà corrispondono a quattro diverse moleco-
 le, chiamate basi azotate, come mostrato in
 figura.

 L’informazione è anche un’istruzione per eseguire un certo compito. E questo
non soltanto per gli uomini. Il DNA è uno splendido esempio di contenitore di in-
formazioni. Contiene infatti le “istruzioni” per la sintesi delle proteine che regolano
lo sviluppo e il funzionamento di quasi tutti gli esseri viventi. Queste informazioni
sono “scritte” con una alfabeto di 4 lettere, che nella realtà corrispondono a 4 diverse
basi azotate (vedi la Fig. 1.1).
 In generale un’informazione ha valore in quanto potenzialmente utile al fruitore
per i suoi molteplici scopi. Fin dall’alba dell’umanità gli uomini hanno sentito il
bisogno di trasmettere informazioni per migliorare la vita propria e dei propri figli
e questo li ha resi la specie dominante di questo pianeta: dal linguaggio, alle pit-
ture, fino alla scrittura. Grazie alla rivoluzione scientifica e alle nuove tecnologie
lo scambio di informazioni ha raggiunto livelli così elevati che oggigiorno la nostra
società viene definita come società dell’informazione.

1.2 Cos’è l’informatica?
L’informatica è la scienza che studia la rappresentazione, l’elaborazione delle infor-
mazioni e le tecniche pratiche per realizzare queste elaborazioni in maniera automa-
tica. Nei prossimi paragrafi approfondiremo ognuno di questi aspetti.
 L’etimologia italiana della parola informatica proviene dal francese: Philippe
Dreyfus usò per primo il termine informatique nel 1962 come compressione di in-
formation electronique ou automatique. Da notare che in inglese la parola infor-
matics è usata raramente e ha un significato più ampio rispetto al nostro. La giusta
parola inglese per indicare l’informatica è computer science.
Appunti del corso di Informatica - Classe III A. Anno scolastico 2011-2012 Prof. Francesco Biccari
CAPITOLO 1. L’INFORMATICA 6

 La nascita dell’informatica non ha una data ben precisa. Se si guarda ai me-
todi per automatizzare la risoluzione dei problemi, possiamo trovare la sua origine
nella matematica e nella tecnologia greco–ellenistica (algoritmo di Euclide, metodo
di Archimede per la trisezione di un angolo, macchina di Anticitera). Se invece ci
concentriamo solo sui macchinari che permettevano di fare calcoli allora possiamo
addirittura risalire all’abaco, strumento inventato intorno al 2000 a.C. L’informatica
così come la intendiamo oggi nasce intorno al 1930 grazie al lavoro di scienziati co-
me Kurt Gödel, Alan Turing, Alonzo Church, John von Neumann, Claude Shannon
e grazie alla nascita dei primissimi computer.
 I fondamenti teorici dell’informatica discendono direttamente dalla matematica.
Programmi di videoscrittura, browser, videogiochi, ecc... sono semplici strumen-
ti di lavoro o svago. Quello che interessa, nell’informatica pura, non è tanto saper
usare i vari programmi, quanto piuttosto capirne la struttura ed eventualmente saper-
la migliorare con l’uso di procedimenti più efficienti. Per assurdo, un informatico
puro potrebbe non saper accendere un computer! Vengono invece chiamati pro-
grammatori coloro che creano i programmi (spesso sono dei laureati in ingegneria
informatica). Infine esistono gli utenti, cioè i semplici utilizzatori di programmi.
 Nei prossimi tre paragrafi parleremo dei tre aspetti fondamentali dell’informa-
tica che verranno poi discussi più approfonditamente nei primi capitoli di queste
dispense: gli algoritmi, il computer e la rappresentazione dei dati.

1.2.1 Gli algoritmi
Per poter permettere a qualcuno, sia esso una macchina o una persona, di fare un
lavoro “al posto nostro”, dobbiamo impartirgli delle istruzioni ben precise in modo
che faccia esattamente ciò che vogliamo. Facciamo un primo esempio banale. Sup-
poniamo di stare comodamente sdraiati sul divano e, siccome non ci va di alzarci,
vogliamo che un’altra persona faccia partire un film in DVD al posto nostro. Se que-
sta persona non sa usare il lettore DVD, dovremo dirgli di fare determinate azioni
in maniera chiara e non ambigua: 1. Prendi il DVD del film “Ritorno al futuro”; 2.
Accendi il lettore DVD spingendo il bottone in basso a sinistra; 3. Apri il cassettino
del DVD spingendo il bottone in alto a destra; 4. Poggia il DVD nel cassettino con
le scritte rivolte verso l’alto; 5. chiudi il cassettino premendo il tasto in alto a destra;
6. Avvia la riproduzione del DVD premendo il tasto Play che si trova in basso a
destra.
 Questa sequenza di istruzioni è un semplicissimo esempio di algoritmo, che è
definito come una sequenza finita di operazioni, chiaramente comprensibili all’ese-
cutore, per risolvere un problema.
 Facciamo un altro esempio, stavolta di natura matematica. Ricordate la sequen-
za di temperature di cui avevamo parlato nel paragrafo 1.1? Supponiamo di voler
calcolare la temperatura media. La “sequenza di istruzioni” è in questo caso molto
semplice: 1. si prendono tutti i numeri; 2. si sommano; 3. si divide la somma per il
numero degli elementi; 4. si riporta il risultato ottenuto.
 Spesso un algoritmo ha degli input (immissione in inglese) e degli output (emis-
sione/in uscita in inglese). L’input è l’insieme degli elementi in ingresso, spesso dei
Appunti del corso di Informatica - Classe III A. Anno scolastico 2011-2012 Prof. Francesco Biccari
CAPITOLO 1. L’INFORMATICA 7

Figura 1.2. Rappresentazione schematica di un generico sistema di elaborazione. Un si-
stema di elaborazione può essere pensato come una scatola che produce un output a partire
dagli input.

dati, mentre l’output è l’insieme degli elementi in uscita, spesso dei dati. Per esem-
pio un input possono essere gli ingredienti di una ricetta, l’algoritmo è una ricetta
ben scritta e l’output è il piatto pronto.
 L’insieme delle azioni che a partire dagli input generano l’output prende il no-
me di processo di elaborazione. Un qualsiasi oggetto, o insieme di più oggetti, che
esegua un processo di elaborazione, cioè che generi un output a partire dagli input,
viene chiamato sistema di elaborazione. Concettualmente un sistema di elaborazio-
ne può essere schematizzato come una scatola (black box) a cui si forniscono degli
input e che restituisce degli output. Esempi di sistemi di elaborazione sono la lava-
trice (panni sporchi in input, panni puliti in output), la radio (segnali radio in input,
suono in output), ecc….
 Il capitolo 4 sarà dedicato agli algoritmi, alla loro analisi e alla loro rappresen-
tazione.

1.2.2 Il computer
Un computer non è nient’altro che una macchina che può eseguire delle operazioni
elementari sui dati in input, seguendo degli algoritmi impostati dall’esterno, e resti-
tuisce il risultato dell’elaborazione come dati in output. La peculiarità di un compu-
ter è quella di essere un sistema di elaborazione generico, cioè che può essere istrui-
to per eseguire qualsiasi tipi di algoritmo sui dati. Usando opportune periferiche
collegate al computer, si possono anche eseguire operazioni “pratiche”.
 La lavatrice, per esempio, è una specie di “computer”. All’interno vi è infatti
un vero e proprio minicomputer che comanda le varie parti della lavatrice e che
è programmato per eseguire un solo algoritmo preimpostato in fabbrica. A partire
dagli input iniziali, cioè le scelte di lavaggio come temperatura, tipo di capi da lavare,
ecc…, la lavatrice segue il suo algoritmo e alla fine restituisce come output i panni
puliti. Ricordiamo che la differenza tra una lavatrice e un computer è che il computer
può essere istruito affinché esegua un qualsiasi tipo di algoritmo mentre la lavatrice
è pensata per eseguire sempre e solo un singolo algoritmo.
 Come si fa però a insegnare a un computer a eseguire certi algoritmi? Per farlo il
computer deve essere “programmato”, cioè bisogna inserire nella sua memoria l’al-
goritmo desiderato secondo un linguaggio comprensibile al computer. L’insieme di
queste istruzioni si chiama programma. Chiaramente un semplice utente del compu-
ter non è obbligato a scriversi da solo tutti i programmi! Anzi, tutti i programmi che
userà saranno realizzati da altre persone (basti pensare a programmi come Microsoft
Word e Microsoft Excel).
Appunti del corso di Informatica - Classe III A. Anno scolastico 2011-2012 Prof. Francesco Biccari
CAPITOLO 1. L’INFORMATICA 8

Figura 1.3. Fotografia di un personal computer di tipo desktop. L’unità centrale è la parte
principale e consiste di un involucro chiamato case all’interno del quale si trovano tutti i
componenti principali del computer. Oltre all’unità centrale si vedono tre periferiche: il
monitor, la tastiera e il mouse.

 Attualmente caricare ed eseguire un programma in un computer è un’operazione
molto semplice. Infatti i computer sono equipaggiati con un programma speciale,
chiamato sistema operativo, che viene eseguito poco dopo l’accensione del compu-
ter. Il sistema operativo “accoglie” l’utente in maniera amichevole permettendogli di
fare tutta una serie di operazioni, tra cui eseguire un programma. Esempi di sistemi
operativi sono Microsoft Windows 7, Mac OS X, Android, Ubuntu, ecc…
 L’insieme dei programmi e dei dati prende il nome di software. Questo termine è
stato coniato per contrapposizione alla parola hardware che in inglese significa fer-
raglia. La parola hardware identifica infatti le parti fisiche del computer. Fu scelto
questo nome perché i vecchi computer erano enormi e avevano schede elettroni-
che, valvole e tutta una serie di componenti ingombranti che sembravano veramente
ferraglia!
 Nel capitolo 2 vedremo di quali parti si compone un computer e come funziona.

1.2.3 La rappresentazione dei dati
Quando abbiamo accennato agli algoritmi, abbiamo detto che le operazioni di cui
parlano devono essere comprensibili a chi deve eseguire l’algoritmo. Ovviamente lo
stesso discorso vale per i dati. Siccome il nostro interesse principale è far eseguire
degli algoritmi al computer, dobbiamo essere in grado di esprimere sia i dati che le
operazioni degli algoritmi in un linguaggio comprensibile al computer.
 Un computer è in grado di eseguire solamente operazioni sui numeri. Copiare un
numero, addizionare due numeri, confrontare due numeri, ecc…Siccome un com-
Appunti del corso di Informatica - Classe III A. Anno scolastico 2011-2012 Prof. Francesco Biccari
CAPITOLO 1. L’INFORMATICA 9

puter ha bisogno di rappresentare i dati solamente con un insieme finito di numeri,
si dice digitale.
 Ricordiamo, per chi non lo sapesse, la differenza tra analogico e digitale. Una
grandezza fisica che viene rappresentata con continuità è detta analogica. Pensiamo
per esempio al tempo, che viene rappresentato con l’angolo delle lancette dell’oro-
logio. Oppure alla temperatura misurata da un termometro a mercurio. Sia l’angolo
della lancetta sia l’altezza della colonnina di mercurio possono assumere qualsiasi
valore compreso tra un minimo e un massimo. Si dice invece digitale una gran-
dezza fisica che viene rappresentata usando un numero finito di valori numerici.
Per esempio un orologio digitale non può mostrare con continuità tutti gli istanti di
tempo possibili in una giornata, solitamente può al massimo arrivare a mostrare i
secondi. Anche un termometro digitale non mostrerà con continuità i valori della
temperatura, ma solamente dei valori distanziati, per esempio, di 0.1°C. Un altro
esempio più sui generis è la quantificazione della conoscenza di un argomento tra-
mite un voto. Solitamente questa conoscenza viene espressa con un numero intero
compreso tra 0 e 10. È quindi un esempio di rappresentazione digitale.
 Rappresentare i dati, siano essi numeri, lettere, immagini, suoni, sotto forma di
numeri è di fondamentale importanza affinché possano essere “usati” in un compu-
ter. Come fare per trasformare dei dati in numeri sarà l’argomento del capitolo 3.

1.3 L’importanza dell’informatica e dell’ICT
Cerchiamo ora di comprendere l’importanza dell’informatica nel mondo odierno.
Dalla fine della seconda guerra mondiale ai giorni nostri il nostro modo di vivere è
cambiato radicalmente. Questi cambiamenti, tutt’ora in corso, prendono il nome di
terza rivoluzione industriale. Tra i pilastri più importanti su cui si basa questa rivo-
luzione ci sono tre discipline scientifiche: l’informatica, l’elettronica e le telecomu-
nicazioni. Le nuove capacità di immagazzinamento, elaborazione e comunicazione
delle informazioni sono il cardine, nel bene e nel male, di questa rivoluzione. L’uso
della tecnologia nella gestione e nel trattamento delle informazioni ha infatti assun-
to crescente importanza strategica per le aziende e per le nazioni (studio dei propri
clienti, previsione di strategie di mercato, studio di una politica economica).
 In particolare non c’è stata solo una rivoluzione dei settori economici preesisten-
ti alla luce delle nuove tecnologie. Soprattutto negli ultimi 20 anni è nato un vero e
proprio nuovo settore dell’economia scaturito dall’unione di informatica, elettronica
e telecomunicazioni, chiamato Tecnologia dell’Informazione e della Comunicazione
(abbreviato in ICT, Information and Communication Technologies) e i cui frutti so-
no sotto gli occhi di tutti: interconnessione dei media1 (telefonia, televisione, radio,
internet, ecc…); estrema facilità nell’immagazzinamento, scambio e reperibilità di
informazioni. Oramai l’ICT è diventato un settore chiave dell’economia moderna,
almeno pari a quello di settori più consolidati quali quello meccanico, chimico, far-
 1
 Si noti che la parola media va pronunciata così come è scritta perché è una parola latina. Non va
pronunciata “midia”, come purtroppo spesso si sente.
CAPITOLO 1. L’INFORMATICA 10

maceutico, tessile, manufatturiero e alimentare ma soprattutto è il vero traino della
rivoluzione che stiamo vivendo.
 Questo corso non dovrebbe chiamarsi “Informatica” bensì “Tecnologie dell’in-
formazione e della comunicazione”. L’informatica e le telecomunicazioni sono i
fondamenti tecnico–scientifici di cui gli studenti devono solo conoscere i concetti
fondamentali. Studenti orientati all’attività lavorativa in azienda, dovrebbero in-
vece conoscere e sapersi districare tra le attuali tecnologie ICT usate in azienda,
cioè dovrebbero essere educati alla corretta gestione, presentazione e interpretazio-
ne dei dati, alla loro comunicazione ai clienti e ad altre aziende, e infine all’uso delle
tecnologie ICT nella gestione del lavoro.
 Nel capitolo 5 faremo una panoramica dei programmi più comuni, concentran-
doci in particolare sui programmi per ufficio. In particolare nei capitoli 6 e 7 intro-
durremo all’uso del word processor Microsoft Word e del foglio di calcolo Microsoft
Excel.
 Nel capitolo 8 parleremo delle reti di computer e infine nel capitolo 9 mostreremo
i principi dell’immagazzinamento e recupero efficiente dei dati tramite i database e
i software più famosi per gestirli.

1.4 Esercizi
 • Cos’è l’informatica?
 • I termini dato e informazione sono sinonimi? Perché?
 • Cos’è un algoritmo?
 • Cos’è un programma?
 • Un informatico è sempre anche un programmatore?
 • Cos’è l’hardware?
 • Cos’è il software?
 • Perché è così importante la rappresentazione dei dati?
 • Cos’è un algoritmo?
 • Cos’è un sistema di elaborazione?
 • Cos’è un computer?
 • Il computer è un sistema di elaborazione? Perché?
 • Cosa significa automatico?
 • Cosa significa digitale?
 • Cosa significa analogico?
Capitolo 2

Il computer

 L’hardware è ciò che puoi prendere
 a calci quando qualcosa non
 funziona, il software invece è quello
 contro cui puoi solo imprecare.

 Anonimo

2.1 Cos’è un computer?
Un computer è una macchina programmabile che può eseguire automaticamente
sequenze di operazioni logico-aritmetiche sui dati in ingresso (input) e di restituire
i risultati di tali operazioni in uscita (output). È pertanto un sistema di elaborazione
di dati. La caratteristica principale che lo differenzia da altri sistemi di elaborazione
è la programmabilità, cioè può essere istruito (programmato) per eseguire qualsiasi
tipo di algoritmo.
 Il termine computer deriva dall’inglese e significa calcolatore. In inglese il ter-
mine indicava originariamente un essere umano incaricato di eseguire dei calcoli.
Il primo utilizzo nel senso moderno del termine è attestato nel 1897 ma bisognerà
attendere la metà degli anni ’50 perché questa accezione diventi di uso comune.
 Al giorno d’oggi, ci si riferisce comunemente al computer come a un disposi-
tivo elettronico, digitale, programmabile e a scopo generico costruito secondo la
cosiddetta architettura di von Neumann.
 Al pari della televisione, il computer rappresenta il mezzo tecnologico simbolo
che più ha modificato le abitudini umane dal secondo dopoguerra a oggi: la sua
invenzione ha contribuito alla nascita e allo sviluppo dell’informatica moderna, uno
dei pilastri su cui si basa la cosiddetta terza rivoluzione industriale.

2.2 I tipi di computer
Esistono molti termini nel mondo dell’informatica per indicare i vari tipi di com-
puter. Una volta queste distinzioni erano basate sostanzialmente sulla potenza del

 11
CAPITOLO 2. IL COMPUTER 12

Figura 2.1. Un moderno mainframe, un personal computer desktop e uno smartphone.

computer. Attualmente invece, data la potenza dei computer odierni, si tende a cata-
logare i computer, non solo in base alla loro potenza, ma anche, e forse soprattutto,
in base alla loro destinazione d’uso.
 I mainframe o sistemi centrali sono computer utilizzati per applicazioni critiche
soprattutto da grandi aziende e istituzioni, tipicamente per elaborare con alte pre-
stazioni e alta affidabilità grandi moli di dati: transazioni finanziarie, censimenti,
statistiche di industrie e clienti, ecc.
 I personal computer sono dei computer pensati soprattutto per essere acquistati e
usati da una singola persona. In questa categoria possiamo quindi far rientrare il clas-
sico computer da tavolo (desktop computer), i computer portatili (laptop computer),
i tablet e anche gli smartphone.
 Ricordiamo anche i supercomputer, dei computer costruiti per avere la massima
potenza di calcolo possibile. Sono pezzi unici e servono sostanzialmente per la
ricerca scientifica.

2.3 Un po’ di storia
Fin dall’antichità l’uomo cercò di costruire macchine in grado di fare dei calcoli:
l’abaco, la macchina di Anticitera e gli astrolabi sono solo alcuni esempi. Le prime
macchine calcolatrici compaiono nella seconda metà del 1600: la macchina calco-
latrice di Wilhelm Schickard (1623, mai realizzata), la pascalina di Blaise Pascal
(1645) e la macchina di Gottfried Leibniz (1672).
 Il passaggio da macchina calcolatrice a vero e proprio computer (nel senso di
dispositivo programmabile) si deve a Charles Babbage. La sua macchina analitica,
progettata nel 1833 ma mai realizzata, è il primo computer della storia. Si trattava di
una colossale macchina a ingranaggi, alimentata a vapore e dotata di unità di calcolo
decimale, unità di memoria e sistemi di input e di output. Contrariamente a quanto
si potrebbe pensare, la macchina analitica era interamente digitale.
 Il primo computer funzionante è invece lo Z1 realizzato da Konrad Zuse nel
1938. (Vedi figura 2.2.) La nascente elettronica e la spinta delle ricerche per la se-
conda guerra mondiale fecero fare dei grandi passi in avanti nello sviluppo dei com-
puter (ABC del 1939, Colossus del 1944, Harvard Mark I del 1944, Z4 del 1945,
ENIAC del 1946). I computer necessitavano però di essere programmati manual-
mente spostando interruttori e spinotti! Solo con il computer EDVAC, progettato
CAPITOLO 2. IL COMPUTER 13

Figura 2.2. A sinistra una rara fotografia dello Z1, costruito da Konrad Zuse nel 1938 nel
soggiorno della casa dei suoi genitori. A destra una fotografia di Zuse negli anni ‘50.

Figura 2.3. Una fotografia dell’ENIAC (a sinistra) e una fotografia dell’EDVAC (a destra)
con degli scienziati al lavoro. Si notino le dimensioni di questi computer.

nel 1945 sotto la supervisione di John Von Neumann e realizzato nel 1949, si ha
finalmente un computer dove il programma da eseguire poteva essere inserito nella
memoria così come si faceva con i dati. (Vedi figura 2.3.)
 Negli anni ’50 nacquero i primi computer commerciali, grandi come stanze e
molto costosi, comprati dai grandi istituti di ricerca. Durante gli ultimi anni ‘50 e
gli anni ’60, grazie all’invenzione del transistor e all’affermarsi dei primi linguaggi
di programmazione di alto livello (FORTRAN, COBOL, BASIC, …), i computer di-
vennero più piccoli (come armadi), relativamente facili da usare e si diffusero quindi
in tutte le grandi aziende e le maggiori università. Il maggior produttore era l’IBM
che nel tempo è rimasto uno dei maggiori innovatori e leader del mercato.
 Dalla fine degli anni ’60 e nella prima metà degli anni ’70 ci fu un grande salto
tecnologico grazie all’invenzione dei circuiti integrati (detti microchip o semplice-
mente chip), che permisero di avere potenze di calcolo maggiori in un minor volume,
e grazie alla comparsa del sistema operativo UNIX e del linguaggio C. (Vedi figu-
CAPITOLO 2. IL COMPUTER 14

Figura 2.4. A sinistra uno dei più noti computer commerciali degli anni ’60 e ’70, l’IBM
System/360 (modello 44). A destra un famosissimo computer commerciale degli anni ’80,
il Digital VAX 11/780; quelle piccole macchine dotate di tastiera e monitor sono i terminali
che venivano usati per accedere al computer vero e proprio.

ra 2.4.) Una famoso produttore di computer che nasce in questi anni è la Digital.
Fanno la loro comparsa anche i primi computer con dimensioni simili a quelle dei
personal computer odierni, come l’italiano Olivetti Programma 101.
 Un’altra grande rivoluzione tecnologica ci fu nei primi anni ’70 quando i ricer-
catori dell’Intel inventarono la memoria RAM e i microprocessori. La strada per lo
sviluppo dei personal computer era ormai spianata. Da ricordare lo Xerox Alto del
1972 che introdusse l’interfaccia grafica e la scheda di rete, l’Apple II del 1976 che
fu il primo con monitor a colori, lo Xerox Star del 1981 che introdusse il mouse,
l’hard disk di serie e un’interfaccia grafica basata sul concetto di desktop, come nei
moderni sistemi operativi. (Vedi figura 2.5.)
 Negli anni ’80 ci fu la vera alfabetizzazione informatica. Nel 1981 nacque il
primo Personal Computer (PC) IBM (vedi figura 2.5) da cui discendono la mag-
gior parte dei computer desktop moderni. La realizzazione del sistema operativo di
questi computer fu affidata alla Microsoft, che realizzò l’MS-DOS. In questi anni
comparirono anche molti computer “giocattolo”, basti ricordare il Commodore 64.
I computer erano oramai entrati nelle case di milioni di persone in tutto il mondo.
 Negli anni successivi fino ai giorni nostri, la tecnologia, sia hardware che soft-
ware, ha fatto passi da gigante, soprattutto grazie alla spinta del mercato. In que-
sto periodo ci sono principalmente tre fatti da ricordare: la nascita di Internet, la
nascita del WEB e infine la nascita del software libero, in particolare dei sistemi
operativi basati su Linux. Attualmente i computer e la loro possibilità di intercon-
nessione e quindi scambio di informazioni hanno letteralmente “invaso” la nostra
vita. Basti pensare che i moderni telefoni cellulari, detti smartphone, sono in realtà
dei computer a tutti gli effetti.
 Qui si conclude il nostro breve excursus sulla storia del computer. Abbiamo vi-
sto che nel corso della storia l’implementazione fisica del computer è variata con il
progredire della tecnologia dando luogo a computer profondamente diversi dal punto
di vista del meccanismo di funzionamento (meccanici, elettromeccanici ed elettro-
nici), della modalità di rappresentazione delle informazioni (analogica e digitale) e
CAPITOLO 2. IL COMPUTER 15

Figura 2.5. A sinistra lo Xerox Alto (1972). In alto a destra lo Xerox Star (1981). In basso
a destra l’IBM 5150 (1981), meglio noto come PC (Personal Computer).

di altre loro caratteristiche (architettura interna, programmabilità, ecc.). Ricordia-
mo di nuovo che al giorno d’oggi, ci si riferisce comunemente al computer come
a un dispositivo elettronico, digitale, programmabile e a scopo generico costruito
secondo la cosiddetta architettura di von Neumann.

2.4 I computer sanno lavorare solo con i numeri!
È importante dire fin da subito che i computer possono lavorare solo con dei numeri.
Per esempio quando guardate un video con il vostro computer, ciò che accade è che
delle lunghissime sequenze di numeri vengono elaborate e inviate alla scheda video
la quale è in grado di trasformarli in segnali adatti per il vostro monitor. Alcuni
di questi numeri sono le coordinate cartesiane dei punti dello schermo mentre altri
numeri rappresentano il colore di questi punti.
 In particolare, per motivi costruttivi, è molto più facile creare dei computer che
usano dei numeri in forma binaria. Infatti è molto più semplice realizzare dispositivi
che abbiano solo due “simboli” anziché, per esempio, 10 simboli. Immaginate infatti
di avere un circuito elettrico. Il passaggio di corrente indicherà un simbolo, il non
passaggio di corrente indicherà un altro simbolo. Come vedete abbiamo due stati a
disposizione che potremmo chiamare per comodità 1 e 0. Se avessimo voluto avere
10 simboli come nel sistema decimale (che poi avremmo chiamato 0, 1, 2, 3, 4,
5, 6, 7, 8, 9), saremmo stati in difficoltà perché avremmo dovuto avere 10 livelli
di corrente diversi! Questo è in teoria possibile ma in pratica può generare molte
difficoltà perché la presenza di disturbi potrebbe confondere uno stato con un altro!
CAPITOLO 2. IL COMPUTER 16

 Vedremo un po’ di matematica del sistema binario nel prossimo capitolo. Per
ora basti sapere che ogni cifra in un sistema a due stati, viene chiamata bit, contra-
zione dall’inglese binary digit (cifra binaria). L’insieme di 8 cifre binarie, cioè 8
bit, prende il nome di byte. Il simbolo per indicare il bit è b mentre il simbolo per
indicare il byte è B.

2.5 Un ripasso delle unità di misura
Nello studio dell’informatica, così come di qualsiasi altra scienza, è fondamentale
conoscere e saper gestire le varie unità di misura che si incontrano e i vari prefis-
si moltiplicativi. In questo semplice corso di informatica incontreremo solo due
grandezze fisiche, il tempo e la frequenza. Quindi ci serviranno solo due unità di
misura.

2.5.1 I fenomeni periodici
Un fenomeno periodico è un fenomeno che si ripete uguale a sé stesso a intervalli
uguali di tempo. L’intervallo di tempo che impiega il sistema a compiere un ciclo
si chiama periodo. Facciamo un esempio: in un orologio analogico, la lancetta
dei secondi compie un moto circolare periodico. Il tempo che impiega a ritornare
nella posizione di partenza, cioè il tempo per fare un giro completo, è il periodo di
rotazione ed è pari a 60 secondi (60 s in forma abbreviata).
 La frequenza indica invece quante volte un fenomeno si ripete in un certo inter-
vallo di tempo. Facciamo degli esempi. Il battito cardiaco di una persona a riposo
è di circa 1 battito al secondo. Invece di scrivere “al secondo” si usa il termine her-
tz, abbreviato Hz. Facciamo un altro esempio. L’albero motore di una autovettura
accesa, senza spingere l’acceleratore, compie circa 1800 giri al minuto. Con un sem-
plice calcolo (provateci da soli!) si ottiene che i giri al secondo sono 300. Pertanto
possiamo affermare che la frequenza di rotazione dell’albero motore è di 300 Hz.
Un ultimo esempio. La lancetta dei secondi, come avevamo visto, ha un periodo di
60 s. Quant’è la frequenza del suo moto? Cioè quanti giri fa in un secondo. In un
secondo la lancetta fa solo 1/60 di giro! Quindi diremo che la frequenza è 1/60 Hz
oppure, in forma decimale, 0.0166… Hz.
 Da questi esempi si intuisce che la frequenza è l’inverso del periodo, cioè, in
forma di equazione:
 1
 = (2.1)
 
 Vedremo in questo capitolo che la frequenza è una grandezza fisica importantis-
sima per comprendere il funzionamento di un computer. Infatti tutte le operazioni
di un computer sono temporizzate, cioè ogni parte del computer esegue un’opera-
zione ogni volta che riceve un impulso elettrico particolare, chiamato clock. Que-
sto segnale è periodico ed è composto di svariati milioni o miliardi di impulsi al
secondo!
CAPITOLO 2. IL COMPUTER 17

Tabella 2.1. Tabella con i prefissi che indicano i multipli e i sottomultipli delle unità di
misura.

 prefisso simbolo valore
 tera T 1012 (1000 miliardi)
 giga G 109 (1 miliardo)
 mega M 106 (1 milione)
 kilo k 103 (mille)
 milli m 10−3 (1 millesimo)
 micro μ 10−6 (1 milionesimo)
 nano n 10−9 (1 miliardesimo)
 pico p 10−12 (1 millesimo di miliardesimo)

2.5.2 I prefissi
In tutte le scienze e non solo, quando i numeri che esprimono una grandezza sono
troppo grandi o troppo piccoli per essere usati in maniera comoda, si preferisce usare
un prefisso che indichi i multipli e i sottomultipli dell’unità di misura, in modo da
avere una parte numerica più comoda da scrivere. Facciamo un esempio. Tutti noi
conosciamo i metri e i kilometri. Un kilometro corrisponde a 1000 metri. I kilometri
vengo usati quando si parla di lunghe distanze: invece di dire che abbiamo percorso
230000 m è molto più semplice dire che si sono percorsi 230 km. I metri si indicano
con m e i kilometri con km. La lettera k sta per kilo e significa mille volte più grande.
Infatti come tutti sappiamo 1 km sono 1000 m.
 Oltre al kilo che abbiamo appena visto, esiste tutta una serie standard di prefissi
per le unità di misura. Alcuni dei prefissi più importanti sono riportati in Tab. 2.1.
 Facciamo un piccolo esercizio dove compaiono i prefissi moltiplicativi. Suppo-
niamo che la nostra linea ADSL abbia una velocità di 2 Mb/s: significa che possiamo
scaricare (se non ci sono altri problemi) 2 milioni di bit al secondo. Considerando
che una canzone presa da internet in formato mp3 può essere di circa 3 MB (3 me-
gabyte), vogliamo sapere il tempo necessario a scaricare questa canzone. Prima di
tutto trasformiamo la velocità della nostra ADSL da bit a byte. Basta dividere per
8, perché, ricordiamolo, un byte sono 8 bit. Pertanto la velocità della nostra ADSL
sarà di
 2 Mb/s
 = 0.25 MB/s
 8
Ora, per conoscere il tempo necessario a scaricare la canzone dobbiamo dividere la
dimensione del file della canzone per la velocità di trasferimento:
 dimensione file 3 MB
 = = = 12 s
 velocità di scaricamento 0.25 MB/s
Quindi per scaricare quella canzone da 3 MB avremo bisogno di almeno 12 s con la
nostra linea ADSL.
CAPITOLO 2. IL COMPUTER 18

Figura 2.6. Schema dell’architettura di von Neumann. I componenti fondamentali sono
CPU e memoria centrale, quelli opzionali sono i sistemi di input e output. Questi componenti
sono connessi tra loro tramite un sistema di comunicazione apposito chiamato BUS.

2.6 Architettura di Von Neumann
Passiamo ora a spiegare come è fatto un computer e di quali parti si compone. Prati-
camente tutti i moderni computer di uso comune sono progettati secondo uno schema
(architettura) detto architettura di Von Neumann inventata nel 1945 dal matematico
John von Neumann e dal suo gruppo.
 Lo schema, mostrato in Fig 2.6, si basa su cinque componenti fondamentali:

 • La CPU, che si divide a sua volta in

 – Unità di controllo
 – Unità operativa, nella quale uno dei sottosistemi più rilevanti è l’ALU
 (Arithmetic Logic Unit)
 – Registri della CPU

 • La memoria centrale, intesa come memoria di lavoro o memoria principale
 contenente sia i dati che i programmi attualmente in uso

 • Unità di input, tramite la quale i dati e/o i programmi vengono inseriti nel
 calcolatore per essere elaborati

 • Unità di output, necessaria affinché i dati elaborati possano essere restituiti
 all’operatore

 • Bus, uno o più canali di comunicazione che collegano i componenti fra loro

 È importante sottolineare che tale architettura, a differenza di altre, si distingue
per la caratteristica di immagazzinare all’interno dell’unità di memoria, sia i dati che
i programmi in esecuzione. In poche parole si dice che le istruzioni dei programmi
sono a loro volta dei dati.
 Un’ultima nota: quando si parla di memoria centrale si usa l’aggettivo centrale
per distinguere questa memoria (che di solito è una RAM) da altri tipi di memoria,
come per esempio gli hard disk che invece sono dei componenti opzionali e pertanto
rientrano nella categoria dei dispositivi di I/O.
CAPITOLO 2. IL COMPUTER 19

Figura 2.7. Le tre immagini rappresentano tutte il microprocessore Intel Core i5. La prima
mostra la parte superiore, la seconda mostra le componenti interne al microprocessore che
si trovano sotto il coperchio di protezione e l’ultima foto mostra il retro, dove si notano
principalmente tutti i contatti del microprocessore.

2.7 La CPU
La CPU (dall’inglese Central Processing Unit, Unità centrale di elaborazione) è uno
dei componenti fondamentali di un computer. Viene spesso chiamata anche proces-
sore o microprocessore. È il componente che esegue le istruzioni del programma.
Possiamo immaginarlo come il “cervello” del computer.
 È composta di varie parti al suo interno. C’è l’unità di controllo, che legge e
scrive i dati dalla memoria (dove con dati si intende anche il programma da esegui-
re), interpreta le istruzioni da eseguire e le esegue, facendosi “aiutare” da un altro
componente della CPU, l’ALU (in inglese Arithmetic Logic Unit) che si occupa di
eseguire tutte le operazioni logiche e matematiche. Infine ci sono i registri che non
sono nient’altro che una minuscola memoria per immagazzinare i dati temporanei o
gli indirizzi di memoria su cui si dovrà operare.
 Ogni operazione eseguita dalla CPU si divide in un certo numero di passi ele-
mentari. Viene fatto un passo ogni volta che la CPU riceve un “impulso dall’ester-
no”. Questo “impulso dall’esterno” è chiamato segnale di clock o semplicemente
CAPITOLO 2. IL COMPUTER 20

clock e arriva a intervalli di tempo regolari. Pertanto più alta sarà la frequenza del
segnale di clock, cioè più alto sarà il numero di impulsi di clock che arrivano alla
CPU, più veloce sarà l’esecuzione di un programma. Oggigiorno le migliori CPU
possono funzionare a frequenze di clock di circa 3 GHz, cioè 3 miliardi di impulsi
al secondo!
 Il segnale di clock viene generato da un componente apposito che si trova sulla
scheda madre.

 —————————————————

 Facciamo un piccolo esempio di operazione elementare della CPU. L’unità di
controllo della CPU legge in uno dei registri l’indirizzo dell’istruzione da eseguire
e la memorizza in un altro registro. Supponiamo che tale istruzione sia (scritta in
forma più chiara e non in binario!)
 ADD 7A3, 8A7, B92
 L’unità di controllo della CPU capisce che deve fare una somma tra due numeri
che sono memorizzati negli indirizzi 7A3 e 8A7 della RAM. L’ultimo indirizzo,
B92, sarà invece l’indirizzo della RAM dove bisogna mettere il risultato.
 L’unità di controllo prende allora i due numeri contenuti nelle celle di memoria
RAM 7A3 e 8A7 e li memorizza in due registri liberi della CPU, facciamo finta
siano il registro 3 e 4. Poi ordina alla ALU della CPU di eseguire la somma dei due
numeri contenuti nei registri 3 e 4, e che il risultato sia memorizzato in un registro
libero, per esempio il 5.
 Appena l’ALU avrà finito di fare ciò che gli è stato chiesto, l’unità dei controllo
della CPU terminerà il suo lavoro copiando il contenuto del registro 5, quello con-
tenente il risultato della somma, nell’indirizzo di memoria RAM B92. Fatto questo,
l’istruzione è stata completata e si potrà passare all’istruzione successiva.

 —————————————————

 La maniera in cui viene effettivamente costruita la CPU affinché possa esegui-
re le varie istruzioni viene detta microarchitettura. Una certa microarchitettura è
caratterizzata da un determinato insieme di istruzioni (instruction set) che la CPU
può eseguire. Tra le caratteristiche di una microarchitettura c’è anche la dimensione
naturale di dati che viene normalmente usata per varie attività. Questa dimensione
si chiama word (parola) e nelle CPU attuali è solitamente di 32 bit o 64 bit.
 Facciamo degli esempi per capire l’importanza della word. Ogni istruzione che
riceve la CPU è composta da una o più word. La quantità di dati contenuta nei registri
corrisponde a una word. La quantità di dati trasferiti dalla memoria centrale alla
CPU è di una word per ogni trasferimento. Il numero di bit usati per rappresentare
i numeri, interi o con la virgola, è di una word o di un multiplo di essa. Ma la cosa
più importante è dire che gli indirizzi della memoria centrale sono numerati con un
numero di bit pari a una word. Se la word è quindi di 32 bit, al massimo la CPU potrà
“vedere” 232 caselle di memoria (ricordate che una casella di memoria corrisponde a
un byte). Pertanto un sistema a 32 bit potrà montare al massimo 232 byte di memoria,
CAPITOLO 2. IL COMPUTER 21

Figura 2.8. Sulla sinistra banco di memoria RAM (con e senza dissipatore per il calore).
Sulla destra banchi di RAM montati sulla scheda madre.

cioè circa 4 GB. Questo è uno dei principali motivi per cui negli ultimi anni si sta
passando a CPU a 64 bit. Una CPU a 64 bit può infatti indirizzare fino a 264 caselle
di memoria, quindi per un massimo di ben 16 miliardi di GB!!!

2.8 La memoria centrale
La memoria centrale è un altro componente fondamentale del computer. Secondo
l’architettura di Von Neumann, la memoria centrale gioca un doppio ruolo. Contiene
sia i dati che servono alla CPU, sia il programma che si sta eseguendo. In altri tipi
di architetture particolari esiste invece una memoria per contenere il programma e
una memoria per contenere i dati.
 In generale le memorie sono composte da tante minuscole cellette, ognuna delle
quali può trovarsi in due stati, carico e scarico. Avete già capito che questi due stati
verranno usati per rappresentare le cifre 0 e 1.
 Attualmente la memoria centrale di ogni computer è una memoria di tipo RAM.

2.8.1 La RAM
La tipica memoria centrale usata nei computer è una RAM (dall’inglese Random
Access Memory, memoria ad accesso casuale). Il termine random (casuale) è do-
vuto al fatto che accedere a un’area o a un’altra di questa memoria non comporta
differenze di velocità. La RAM può essere sia letta che scritta. Quando si spegne
il computer o in generale si stacca la corrente, tutto il contenuto della RAM viene
perso. Una memoria che si comporta in questo modo viene detta volatile.
 Le RAM si dividono a sua volta in statiche e dinamiche. Praticamente tutte le
RAM usate nei computer comuni sono dinamiche. Questo tipo di RAM è meno co-
stoso delle RAM statiche ma le cellette di cui è composta la RAM dinamica tendono
a scaricarsi con il tempo. Pertanto, per evitare che il computer perda le informazioni
durante il suo funzionamento e quindi si blocchi, la memoria RAM dinamica deve
CAPITOLO 2. IL COMPUTER 22

essere “rinfrescata” a intervalli di tempo regolari (circa ogni 64 ms, cioè con una
frequenza di 15 Hz).
 Per accedere ai dati contenuti nella RAM, la CPU assegna a ogni celletta un
indirizzo, proprio come i numeri civici delle strade che vengono usati per identificare
le varie case. In realtà le cellette non sono numerate una per una ma sono numerate
a gruppi di 8: un indirizzo ogni 8 cellette, cioè ogni 8 bit (1 byte).
 La quantità di dati che può contenere la RAM si misura in byte e nei computer
moderni questa quantità varia solitamente da 1 GB fino a 8 GB.

2.9 La scheda madre e i BUS
La CPU, la memoria e tutte le periferiche di input/output sono connesse tra loro
attraverso la scheda madre. Le connessioni fisica tra la scheda madre e gli altri
componenti avviene in vari modi: tramite degli zoccoli, detti socket (CPU), tramite
delle apposite fessure, dette slot, (memoria, schede varie), tramite dei cavi (hard disk,
drive ottico, ecc.) o tramite delle porte esterne (tastiera, mouse, chiavette USB, ecc.)
(Vedi figura 2.9.)
 La scheda madre contiene i BUS, cioè i canali di comunicazione tra le varie parti
del computer e ne regola le comunicazioni. Ricordiamo che i BUS sono uno degli
elementi fondamentali dell’architettura di von Neumann. La scheda madre contiene
anche uno o più generatori di clock, la ROM contenente il BIOS e un orologio sempre
in funzione, alimentato da una batteria interna.

Figura 2.9. Fotografia di una scheda madre senza alcun componente attaccato. Si notino le
varie slot presenti.
CAPITOLO 2. IL COMPUTER 23

Figura 2.10. Organizzazione di un computer tipica degli anni ’70 e ’80. Veniva usato un
singolo sistema di comunicazione (diviso in tre BUS, uno per i dati, uno per gli indirizzi e
uno per il controllo) e tutti i componenti funzionavano alla stessa frequenza di clock.

 Fino alla fine degli anni ’80 il BUS del computer era solamente uno e tutti i
componenti funzionavano alla stessa frequenza di clock (Vedi figura 2.10).
 Con il tempo le CPU e le memorie diventavano sempre più veloci, cioè potevano
funzionare a frequenze di clock sempre maggiori, al contrario degli altri componenti
del computer. Per questo motivo si cominciò a suddividere il computer in diverse
“zone”, che funzionavano a frequenze di clock diverse. In figura 2.11 è rappresentato
uno schema a blocchi di un computer attuale. Si notano tre zone: la zona della
memoria e della scheda video che hanno delle velocità di trasferimento di dati molto
elevate e funzionano con una frequenza di clock simile a quella del generatore del
clock; la zona della CPU e dei suoi componenti interni che funzionano a velocità
molto più elevate e con una frequenza di clock aumentata di circa 10 volte; infine
la zona che gestisce l’input/output che funziona più lentamente delle altre due. Il
colore grigio rappresenta i vari BUS, il colore verde la CPU e la memoria e il colore
blu le periferiche di input e di output. Si può vedere che nei computer odierni si
usano molti BUS diversi.
 Il passaggio di dati nella scheda madre da un componente all’altro è comandato
dalla CPU ma è messo in pratica da un particolare circuito integrato, chiamato chip-
set, che possiamo immaginare come un ufficio postale velocissimo. Come si vede
dalla figura è solitamente diviso in due zone, MCH e ICH. Quando, per esempio, la
CPU vuole mandare dei dati alla RAM, li invia prima al chipset che poi li gira alla
RAM facendoli passare per il BUS giusto.
 Il parametro fondamentale che distingue un BUS da un altro è la velocità di tra-
sferimento dati. Più è alta meglio è. Questa grandezza si misura in byte al secondo,
abbreviato B/s. Le velocità in gioco possono essere molto diverse a seconda del
BUS. Nella tabella 2.2 una semplice lista dei BUS più usati.

 Una importante caratteristica di un BUS è l’essere o meno Plug&Play. Il Plug&Play
(dall’inglese collega e usa) è un termine usato per descrivere la capacità di un BUS di
facilitare il riconoscimento e il corretto indirizzamento di una periferica, senza dover
CAPITOLO 2. IL COMPUTER 24

Figura 2.11. Organizzazione tipica di un computer moderno. Il colore grigio rappresenta
i vari BUS, il colore verde la CPU e la memoria e il colore blu le periferiche di input e di
output. Si può vedere che nei computer odierni si usano molti BUS diversi. La CPU lavora
a una frequenza di clock, la memoria e le schede PCI-express a una frequenza minore, infine
tutti gli altri componenti a una frequenza ancora più bassa.

Tabella 2.2. Elenco dei bus più usati

 Tipo di BUS BUS
 Generico Front Side Bus, Back Side Bus, PCI,
 PCIe, Intel QPI, HyperTransport
 Immagazzinamento dati DMA, PATA, USB MSC, FireWire,
 SATA, eSATA, SCSI
 Periferiche RS-232, USB, FireWire, External
 PCIe
CAPITOLO 2. IL COMPUTER 25

agire manualmente. In pratica significa che basta collegare la periferica al compu-
ter e questa sarà configurata automaticamente e pronta all’uso senza l’intervento
dell’utente. PCI Express, PCI, USB sono tutti BUS Plug&Play.
 Tra le porte esterne del computer ricordiamo la porta USB usata per connettere
una moltitudine di periferiche e l’uscita video (VGA o DVI) che serve a collegare il
monitor. Esistono molte altre porte, alcune quasi non più usate come la porta seriale
o altre meno usate come la porta firewire o e-sata.
 Tra gli slot interni avremo sicuramente il socket per alloggiare la CPU, varie
slot per alloggiare la RAM, vari connettori per collegare i cavi dei dati degli hard-
disk e dei drive ottici e poi una serie di slot PCIe per connettere schede adibite a
compiti specifici. Tra queste schede figura la scheda video e la scheda audio ma
esistono migliaia di tipi di schede diverse. Basti pensare alle schede che servono al
computer per poter controllare dei macchinari esterni. Per esempio una scheda che
controlli il macchinario che fa le radiografie in un ospedale, la scheda che controlla il
macchinario per il test delle centraline delle autovetture di un meccanico, la scheda
che controlla un qualsiasi macchinario industriale e così via.
 Per completezza va detto che le schede di espansione di un computer, come per
esempio la scheda audio e la scheda video, sono degli adattatori (adapter). La loro
funzione è quella di tradurre i dati da una forma a un’altra. Per esempio un “adattore
grafico” non è nient’altro che un modo per passare dai dati che rappresentano delle
immagini ai segnali elettrici necessari a un monitor per rappresentare quelle imma-
gini. In realtà le schede video, audio e anche altre non sono solo dei traduttori di se-
gnali da una forma a un’altra. Molti di queste schede sono dotate di un co-processore
che viene sfruttato dalla CPU per demandare dei calcoli specifici. Per esempio tut-
ti sanno che le schede grafiche sono dotate di una o più GPU (Graphic Processing
Unit), cioè dei processori studiati appositamente per fare calcoli di grafica.

2.9.1 Il firmware, le ROM e il BIOS
Con il termine firmware si indica un programma che inizializza e prepara un cer-
to dispositivo elettronico per le condizioni di normale funzionamento e lo gestisce
secondo gli input esterni. Questo programma fa parte del componente elettronico
stesso. Oggigiorno praticamente tutti i dispositivi elettronici sono dotati di un firm-
ware. La lavatrice, la TV, un lettore MP3, una radiosveglia, sono tutti esempi di
apparecchi dotati di firmware.
 I firmware sono contenuti all’interno di memorie non-volatili, cioè che man-
tengono i dati memorizzati anche in assenza di alimentazione, e solitamente sono
avviati non appena il dispositivo in cui si trovano viene alimentato. Le memorie che
contengono il firmware sono chiamate ROM, cioè memorie di sola lettura (dall’in-
glese Read Only Memory). Oggigiorno però, sebbene si continui a usare il termine
ROM, le memorie usate per contenere il firmware di un dispositivo possono essere
riscritte (per esempio per aggiornare il firmware!). Queste ROM riscrivibili sono
delle EEPROM o delle memorie FLASH. Le memorie FLASH sono usate anche in
molti altri ambiti e infatti ne riparleremo in seguito.
Puoi anche leggere