Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DELLE INFORMAZIONI
1
SOMMARIO
2
I SISTEMI DI ELABORAZIONE
Lhardware (parte dura) la parte fisica del computer, linsieme di tutti i componenti di natura
elettronica e meccanica che lo costituiscono (lunit centrale, con tutti i suoi componenti, la
tastiera, il mouse, il monitor, ecc.); essi sono visibili e tangibili.
Il software si contrappone allhardware come parte morbida del sistema, dal momento che
comprende tutte quelle parti che non hanno una consistenza fisica, in particolare i programmi
che permettono allo strumento di operare.
Si distingue in:
software di base
software applicativo
Software applicativo
Software di base
Hardware
3
ARCHITETTURA DELLHARDWARE DI UN SISTEMA DI ELABORAZIONE
4
Lo schema si basa su quattro componenti fondamentali:
La CPU
Il serializzatore gestisce la sequenza delle operazioni che la CPU deve compiere per eseguire
un programma; tali operazioni sono:
1. Fase di caricamento (fetch): il serializzatore legge dalla memoria centrale la prossima
5
istruzione del programma da eseguire.
2. Fase di decodifica (decode): il serializzatore
interpreta listruzione e la traduce in singole operazioni
(microistruzioni) da svolgere, individuando i dati da
utilizzare.
3. Fase di esecuzione (execute): le unit interessate
allesecuzione dellistruzione vengono attivate,
eventualmente vengono caricati i dati necessari e/o
scritti i risultati delloperazione.
I passi da 1 a 3 si ripetono fino al raggiungimento di
un'istruzione di stop (es. la fine del programma) o fino al
verificarsi di un errore.
Per tutte le operazioni, la CPU utilizza i registri per depositare temporaneamente i dati, le
istruzioni e gli indirizzi per accedere alla memoria centrale.
La memoria centrale
Come gi detto, tutti i programmi applicativi che devono essere eseguiti (normalmente
residenti in memoria di massa) e i dati che devono essere elaborati devono essere caricati
nella memoria centrale, da cui vengono poi prelevati dalla CPU in fase di esecuzione.
Lhardware e i sistemi operativi dei moderni sistemi di elaborazione consentono di caricare in
memoria centrale contemporaneamente pi programmi da eseguire.
6
parte del contenuto della memoria centrale, in modo da liberare lo spazio necessario alle nuove
elaborazioni; si parla in questo caso di gestione della memoria virtuale.
Il disco rigido per notevolmente pi lento della memoria centrale, per cui tanto pi si accede
ad esso, tanto pi diminuiscono le prestazioni del sistema in termini di velocit.
Il BUS
Il bus dati il bus sul quale transitano dati e informazioni, che possono essere valori numerici,
valori letterali (stringa), istruzioni (codici dei programmi). usufruibile da tutti i componenti
del sistema, sia in scrittura sia in lettura. quindi bidirezionale.
Il bus indirizzi il bus attraverso il quale la CPU invia lindirizzo per individuare le unit a cui
sono rivolti dati e comandi; sia le celle della memoria centrale, sia le devices che controllano le
periferiche di Input/Output sono infatti identificate da indirizzi, tramite cui possibile fare
7
riferimento ad esse. La trasmissione dei dati, ad esempio per operazioni di lettura/scrittura,
avviene poi tramite il bus dati.
Il bus indirizzi fruibile in scrittura solo dalla CPU ed in lettura dagli altri componenti, in
quanto tramite questo bus viene dato solo l'indirizzo della cella, che deciso dalla CPU.
quindi monodirezionale.
Il bus controlli un insieme di collegamenti il cui scopo coordinare le attivit del sistema.
Tramite queste linee, la CPU pu decidere, ad esempio, quale componente deve essere attivato
per scrivere o leggere sul bus dati in un determinato momento o se un led si deve accendere
sulla tastiera, etc.
Senza un controllo da parte dalla CPU si verrebbero a creare conflitti e collisioni.
8
LA RAPPRESENTAZIONE DELLE INFORMAZIONI
Come detto, con un unico bit possono essere rappresentate 2 differenti informazioni. Tuttavia,
mettendo insieme pi bit, possibile rappresentare un numero, anche molto elevato, di
informazioni.
Attraverso 2 bit, per esempio, possono essere rappresentate 4 differenti informazioni:
00, 01, 10, 11
con 3 bit possibile rappresentare 8 differenti informazioni:
000, 001, 010, 011, 100, 101, 110, 111
con 4 bit possibile rappresentare 16 differenti informazioni:
0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101,
1110, 1111
e cos via. In generale con n bit possibile rappresentare 2n differenti informazioni.
Gli attuali personal computer operano su sequenze di 32 o 64 bit. Questo vuol dire che sono in
grado di elaborare blocchi di informazione, ognuno dei quali pu codificare ben 232=
4.294.967.295 o 264=18.446.744.073.709.551.616 informazioni differenti.
Il byte
Queste definizioni in realt non sono in accordo con i prefissi del SI, che le ha
espressamente vietate, riconoscendo invece le seguenti:
9
kilobyte KB 103 Byte kibibyte KiB 210 Byte
megabyte MB 106 Byte mebibyte MiB 220 Byte
gigabyte GB 109 Byte gibibyte GiB 230 Byte
terabyte TB 1012 Byte tebibyte TiB 240 Byte
petabyte PB 1015 Byte pebibyte PiB 250 Byte
exabyte EB 1018 Byte exbibyte EiB 260 Byte
zettabyte ZB 1021 Byte zebibyte ZiB 270 Byte
yottabyte YB 1024 Byte yobibyte YiB 280 Byte
Molto spesso per si usano le associazioni della prima tabella, ad esempio per esprimere la
capacit di memoria. Anche la maggior parte dei software (compresi i sistemi operativi)
utilizzano quelle definizioni per indicare valori come la dimensione di un file o lo spazio
disponibile su hard disk.
Va detto per che questo equivoco sta giocando un ruolo a favore dei costruttori: chi compra
un hard disk da 200GB, ad esempio, si aspetta generalmente 200*230 Byte (214.748.364.800
Byte), mentre 200GB equivalgono, secondo il SI, a 200*109, che un numero nettamente
inferiore (200.000.000.000 Byte).
I sistemi di numerazione
Sul bit stato formulato, per consentire al computer lelaborazione delle informazioni, un
sistema di numerazione, detto sistema di numerazione binario, alternativo al sistema
decimale, da noi comunemente utilizzato nella vita quotidiana.
Il sistema decimale basato su 10 differenti cifre (si dice che la base 10), dalla cifra 0 alla
cifra 9, ed di tipo posizionale. Il termine posizionale deriva dal fatto che, a seconda della
posizione che una cifra occupa nella rappresentazione di un numero, essa caratterizzata da
un peso. Ad esempio, si consideri il numero 1524; la posizione delle cifre obbedisce al
seguente schema:
1 5 2 4
posizione 3 posizione 2 posizione 1 posizione 0
In tal modo, il precedente numero, 1524, pu essere espresso nel seguente modo:
1*103 + 5*102 + 2*101 + 4*100 = 1000 + 500 + 20 + 4 = 1524
Come il sistema numerico decimale, anche il sistema binario, basato sulle cifre 0 e 1
(sistema a base 2), di tipo posizionale. I pesi relativi alle posizioni sono definiti per dalle
potenze di 2:
Se si considera il numero binario 100101, si ha:
10
1 0 0 1 0 1
posizione 5 posizione 4 posizione 3 posizione 2 posizione 1 posizione 0
peso 32 (25) peso 16 (24) peso 8 (23) peso 4 (22) peso 2 (21) peso 1 (20)
La sequenza dei numeri si costruisce ovviamente considerando che le cifre sono solo 2:
0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000,
Queste considerazioni possono essere estese anche a sistemi di numerazione con altre basi.
Particolare rilevanza hanno assunto, in ambito informatico, il sistema ottale (base 8) e il
sistema esadecimale (base 16).
Per convertire un numero da una qualunque base b a base 10 basta moltiplicare ogni cifra per
il suo peso e sommare il tutto.
Il numero in base 10 pi grande che possibile rappresentare con c cifre in notazione binaria
2c-1
Con 1 byte (8 bit) pertanto possibile rappresentare i numeri decimali da 0 a 255 (28-1)
Il numero in base 10 pi grande che possibile rappresentare con c cifre in notazione ottale
8c-1
11
2*163+0*162+10*161+3*160 = 2*4096+0*256+10*16+3*1 = 8192+0+160+3 = 8355
resti
12 2 0
Il risultato dunque 1210 = 11002. Per la controprova
6 2 0
basta convertire il numero binario ottenuto in
3 2 1 decimale
1 2 1 11002 = 1*23+1*22+0*21+0*20 = 8 + 4 = 1210
resti
314 8 2
Il risultato dunque 31410 = 4728. Per la controprova
39 8 7
basta convertire il numero ottale ottenuto in decimale
4 8 4 4728 = 4*82+7*81+2*80 = 256 + 56 + 2 = 31410
0
resti
944 16 0 Il risultato dunque 94410 = 3B016. Per la controprova
59 16 B (11) basta convertire il numero esadecimale ottenuto in
decimale
3 16 3 3B016 = 3*162+11*161+0*160 = 768 + 176 + 0 = 94410
0
Le conversioni in base b delle potenze di b (in base 10) sono immediate ed uguali in tutti i
sistemi di numerazione:
Base 10 b0 = 1 b1 b2 b3 bn
Base b 1 10 100 1000 1 seguito da n zeri
12
Le cifre binarie vengono raggruppate 3 per volta, da destra a sinistra e ogni terna
codificata nella corrispondente cifra ottale, come indicato nella seguente tabella:
000 001 010 011 100 101 110 111
0 1 2 3 4 5 6 7
Se il numero di cifre binarie non multiplo di 3, si aggiungono zeri a sinistra.
Es.:
11010012 = 1518 essendo 001 101 001
1 5 1
- ottale-binario
Ogni cifra ottale codificata nella corrispondente codifica binaria su 3 cifre.
Es.:
5 4 7
5478 = 1011001112 essendo
101 100 111
In esadecimale le cifre binarie sono raggruppate 4 per volta. La conversione delle cifre :
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F
Es.:
F 3 A
F3A16 = 1111001110102 essendo
1111 0011 1010
Es.:
10101110012 = 2B916 essendo 0010 1011 1001
2 B 9
Si finora visto come rappresentare in binario i numeri naturali (numeri interi senza segno).
I computer devono per operare anche su numeri con segno e, dovendo far ricorso sempre
solo a due differenti simboli (0 e 1), si stabilito di utilizzare il bit pi a sinistra per il segno,
rappresentando il segno + con il bit 0 e il segno con il bit 1.
Es.: 1101 = -101 = -5
Sappiamo che con n bit si possono rappresentare 2n numeri senza segno, da 0 a 2n-1. Se n=8,
ad esempio, possibile rappresentare 28= 256 numeri, da 0 a 255.
Per i numeri con segno, i valori rappresentabili sono sempre 2n, ma per met positivi e per
met negativi: i valori rappresentabili vanno da (2n-1 - 1) a 2n-1 1. Lesponente n-1
giustificato dal fatto che si riserva un bit per il segno.
11111111 = -127
11111110 = -126
10000000 = 0
00000000 = 0
01111110 = 126
01111111= 127
Si osservi che la rappresentazione dello zero ridondante (ce ne sono due), perch lo zero non
ha segno. In genere si adotta una rappresentazione, detta Complemento a due, che
13
rappresenta lo zero con tutti i bit 0 ed utilizza la sua rappresentazione negativa (quella che
inizia con 1) per un numero negativo in pi, per cui i numeri con segno rappresentabili con n
bit vanno da 2n-1 a 2n-1 1.
Con n=8 bit, i valori con segno rappresentabili vanno dunque da -128 a +127.
Oltre ai numeri con segno, il computer deve poter rappresentare ed elaborare anche numeri
con cifre decimali. A tal proposito si adotta la cosiddetta rappresentazione in virgola
mobile (floating point).
x = 0.m 10e
Esempi:
-18346 3
mantissa esponente
18327 2
mantissa esponente
157 -1
mantissa esponente
-3 -4
mantissa esponente
Negli standard attualmente usati (IEEE 754), i numeri a virgola mobile sono di due tipi:
singola precisione: 32 bit, di cui 24 per la mantissa e 8 per l'esponente (6 cifre
decimali)
14
doppia precisione: 64 bit, di cui 53 per la mantissa e 11 per l'esponente (15 cifre
decimali)
Se un calcolatore deve funzionare in questi paesi, l'unica cosa che verr sostituita la tastiera,
mentre ovviamente il computer deve essere costruito per poter funzionare indipendentemente
dal paese.
Per quanto riguarda invece lassociazione tra i caratteri e le varie combinazioni di bit, lo
standard pi diffuso chiamato ASCII (American Standard Code for Information
Interchange), che utilizza 7 bit, quindi i codici da 0 a 127:
15
con i computer.
Se si sta usando Windows, si pu ottenere ogni carattere ASCII tenendo premuto il tasto Alt e
digitando il codice decimale corrispondente con il tastierino numerico (se il tastierino numerico
non attivo, premere prima il tasto Num lock o Bloc Num per attivarlo). Per esempio, la
chiocciola @ si ottiene digitando 64 mentre si tiene premuto il tasto Alt.
Nella tabella sono stati riportati, per ogni carattere, la codifica decimale, esadecimale ed ottale,
ma il computer usa ovviamente la rappresentazione in binario.
Dunque la lettera A rappresentata, ad esempio, con il codice binario 1000001, che
corrisponde al numero decimale 65.
Usando 8 bit per i caratteri, per, restano 128 combinazioni (da 128 a 255), alle quali lo
standard ASCII non d una definizione precisa dei caratteri e vi sono varie possibilit; una di
queste la codifica ASCII ESTESA a 8 bit.
Per i caratteri nei moderni sistemi operativi utilizzata la codifica UNICODE a 16 bit. Il
numero di possibili simboli rappresentabili 65536 e si possono rappresentare caratteri
ideografici, come ad esempio il Kanji dei giapponesi.
16