Definizioni e
Architettura
1
Importante imparare il linguaggio
dellinformatica
La terminologia è basilare per imparare una nuova
disciplina
le parole rappresentano idee e concetti
o usare con precisione un termine significa comprendere lidea
corrispondente
Comunicazione con gli altri
la capacità di formulare domande e ricevere aiuto
utilizzando e-mail, telefono e sistemi di help on-line
Linformatica utilizza molti nuovi termini e acronimi
i termini sono stati inventati per indicare idee, concetti e
dispositivi nuovi
2
Tipici usi (e abusi) informatici
Uso difuso di acronimi e sigle
WYSIWIG, RAM, CPU, PC, I/0 ...
Molti termini gergali ancora più strani in
italiano
Originale: click , backup, chat, format , bootstrap, ...
Italianizzato: cliccare, backuppare, chattare,
formattare,
Metafore
termini comuni (windows, mouse, to surf, navigare,
...) in informatica assumono un significato specifico
3
Esempio 1: Def. acronimo WYSIWYG
Sta per What you see is what you get, tipicamente
riferito al testo
Il testo è memorizzato come una sequenza di
caratteri (testo vero) e caratteri speciali (che
specificano il formato del testo: corsivo, a capo, ecc.)
I primi software per scrivere testo non mostravano su
schermo il formato e gli utenti dovevano immaginare
quale sarebbe stato il risultato una volta stampato
La proprietà WYSIWYG permette di visualizzare la
pagina su schermo così come apparirà una volta
stampata (es., software Microsoft Word)
4
Esempio 2: Processo di booting
Booting (fare il boot): accensione del computer
Rebooting: riaccensione rapida del computer
Il termine deriva da bootstrapping (sollevarsi
da solo mediante le stringhe delle proprie
scarpe): si riferisce al fatto che il computer è in
grado di svolgere le prime operazioni di avvio
senza intervento dellutente
5
Informatica
Esistono varie definizioni
Scienza degli elaboratori elettronici
(Computer Science)
Scienza dellinformazione
Definizione proposta:
Scienza della rappresentazione e dellelaborazione
dellinformazione
Elaboratore elettronico (Computer)
è uno strumento per la rappresentazione e la
elaborazione delle informazioni
6
DATI
RIS
ULT
ATI
Cosa vede il normale utente
dellinformatica
Una scatola con interfacce più o meno
gradevoli, in cui inserisci i dati e ottieni dei risultati
7
Però ...
Se lutente inserisce dati e ottiene risultati
significa che aveva un problema che qualcuno ha
risolto per lui
Chi ha risolto il problema?
Il computer? NO!
Il problema è stato risolto dallinformatico che ha
trovato una soluzione, lha spiegata al computer
e il computer ha eseguito la soluzione in modo
eccezionalmente veloce (se confrontato alla
velocità umana)
Il computer non risolve problemi, ma esegue
velocemente le soluzioni che ha trovato luomo
8
Problemi da risolvere
I problemi che gli INFORMATICI risolvono sono di natura molto varia:
1) Trovare il maggiore fra due numeri
2) Dato un elenco di nomi e numeri di telefono, trovare il numero di una
data persona
3) Problema del lupo, della capra e del cavolo
4) Dati a e b, risolvere l'equazione ax+b=0
5) Stabilire se una parola precede alfabeticamente unaltra
6) Ordinare una lista di elementi
7) Identificare e prenotare aerei, treni, hotel, ...
1) Creare, modificare e alterare suoni, canzoni, ...
2) Analizzare e riconoscere immagini, ...
3) Salvare e recuperare delle informazioni,
4) Trasmettere delle informazioni,
5) ...
9
Componenti di un Computer
Hardware (ferraglia) (abbreviato HW)
Tutti i dispositivi fisici contenuti in un computer.
L'HW funziona sotto il controllo del software, senza
il quale è inutile.L'HW contiene tutti i circuiti che
consentono l'elaborazione dei dati
Software (abbreviato SW)
Sono i programmi; istruzioni dettagliate che dicono
al computer come svolgere una determinata
operazione
Software di sistema
Software applicativo
10
Dovè il pulsante di accensione?
Computer a componenti
PC desktop con
componenti separati
o
o
o
o
monitor
hard disk
casse
ecc.
permette agli utenti di
personalizzarne la
configurazione
pulsante di accensione sul
case
Esempio di computer
a componenti
11
I componenti di un computer
12
Dov'è il pulsante di accensione?
Computer monolitici
i portatili sono costituiti da
un unico blocco che
comprende tutti i
componenti
semplici ed economici
pulsante daccensione sul
lato del computer, talvolta
addirittura sulla tastiera
Esempi di computer
monolitico
Nei PC a componenti,
attenzione al pulsante di
accensione del monitor:
non serve per tutto il
computer!
13
Definizioni utilizzate comunemente
Computer a componenti Desktop
Computer monolitici Laptop
14
Elementi dellhardware
Processore (CPU)
Memoria centrale (RAM)
Memorie periferiche
Hard disk (fisso)
Flash memory (rimovibile)
Altre periferiche
Tastiera
Mouse
CD-ROM
DVD
Stampante
Scanner
Modem
15
Monitor
Schermo interattivo (mostra info generata sia
del computer che dell'utente)
matrice di bit
o mostra informazione contenuta nella memoria del computer
16
Monitor (cont.)
CRT e LCD
Lo schermo mostra le immagini contenute
nella sua memoria. Spesso tali immagini, a
differenza di quanto viene proiettato da un
televisore, non hanno corrispondenza con
alcuna scena presente nella realtà fisica
realtà virtuale
17
Cavi
Collegano i componenti al computer e allalimentazione
Devono essere collegati nel modo corretto
i cavi e le prese sono contrassegnate da ICONE standard
18
Colori
RGB Red, Green, Red
Colori primari: rosso, verde, blu
I colori sullo schermo sono formati da diverse
quantità dei colori primari
19
Pixel
Lo schermo è suddiviso in una griglia di punti
chiamati pixel (picture element)
un pixel ha circa le dimensioni del puntino di una
lettera i stampata in corpo 10
Il computer visualizza ogni pixel nel colore
dellimmagine da rappresentare
Maggiore è il numero di pixel in ogni riga e
colonna, maggiore risulta la risoluzione
dellimmagine
20
Esempio: pulsante virtuale
Si colorano i pixel dello schermo in modo da
creare la figura di un pulsante
fondale grigio chiaro
si disegna un rettangolo colorando i lati superiore e
sinistro di bianco e i lati inferiore e destro di nero
Per mostrare che il pulsante è stato premuto
si invertono i colori bianco e nero
si trasla la figura un pixel in basso a destra
21
Pulsante virtuale:
premuto / non premuto
22
Motherboard - Scheda madre
Un circuito stampato
installato nel case
contiene la maggior
parte dei componenti
più importanti di un
computer
23
Scheda madre (cont.)
Schede più piccole si installano nella
motherboard per aggiungere funzionalità
La scheda madre, fra le altre cose, contiene il
microprocessore (CPU) e la memoria centrale
(RAM)
24
Microprocessore
È la parte "intelligente" del sistema
Esegue effettivamente i calcoli
Il termine micro è stato adottato intorno al
1980 per distinguere un singolo chip dai più
grandi mainframe di quel tempo
Il termine microprocessore è ormai desueto:
oggi è più comune dire semplicemente CPU o
processore
25
Memoria centrale
Il luogo ove risiedono i programmi e i dati
durante lelaborazione
RAM (Random Access Memory): memoria ad
accesso casuale. Chiamata memoria principale
Il PC contiene milioni di byte di RAM
Accesso casuale:
qualsiasi elemento può essere recuperato
direttamente
diverso dallaccesso sequenziale (usato ad esempio
nei dispositivi a nastro come audio e videocassette)
26
Tipi di accesso alla memoria
27
Hard disk
Periferica di memorizzazione persistente ad
alta capacità
memorizza i programmi e i dati quando non sono
in uso
è fatto da una lega ferrosa che può essere
magnetizzata
o linformazione rimane anche con il PC spento
o chiamata memoria permanente o memoria di massa o
memoria secondaria
28
Hard disk (cont.)
Assomiglia a una
piccola pila di sottili
dischi metallici su cui si
muovono testine
magnetiche
29
Salvare informazioni dalla RAM
allHard disk
Loperazione di salvataggio consiste nello
spostare i dati dalla RAM allhard disk
un utente esperto salva frequentemente
La Ram è volatile
i dati vengono persi quando il computer è spento
se il computer va in crash o non funziona più
correttamente, rimangono solo i dati sul disco
30
Struttura del computer
PC: Program Counter
IR: Instruction Register
A: Accumulator
Memoria cache
La memoria contiene sia i dati sia le istruzioni
Il contenuto dei registri può essere scambiato con la
memoria e lI/O
Le istruzioni trasferiscono i dati e modificano il contenuto
dei registri
Registri particolari:
PC: indirizza listruzione corrente
IR: contiene listruzione corrente
31
Il ciclo Fetch-Decode-Execute
Lesecuzione di ciascuna istruzione nella CPU
consta dei seguenti passi:
1. Carica listruzione da memoria in IR (Instruction
Register) (Fetch)
2. Incrementa PC (Program Counter)
3. Decodifica listruzione (Decode)
4. Carica loperando in un registro
5. Esegui listruzione (Execute)
6. Torna al passo 1 per lesecuzione
dellistruzione successiva
32
La rappresentazione
delle informazioni
33
Scelta della rappresentazione
Di solito è una scelta convenzionale
A volte vi sono vincoli da rispettare
Nel caso dei computer il vincolo è la
rappresentazione binaria (o digitale) delle
informazioni
Lalfabeto di base con cui il computer codifica ogni
informazione consiste di due soli simboli: 0 e 1
34
Motivo della scelta di solo 2 simboli
Ragioni prevalentemente di tipo tecnologico
I due simboli corrispondono, ad esempio:
al passaggio/non passaggio di corrente attraverso un
cavo conduttore
ai due diversi stati di polarizzazione di una sostanza
magnetizzabile
ai due stati di carica elettrica di una sostanza
al passaggio/non passaggio di luce attraverso un cavo in
fibra ottica
35
Bit
L'entità minima di informazione in un calcolatore si
chiama bit (binary digit cifra binaria)
Può assumere solo due valori, cioè può permettere
la rappresentazione di due informazioni associate
ad uno dei due stati 0 e 1
Per poter rappresentare più informazioni devo
usare più bit mettendoli in sequenza
36
Esempio: sequenza di due bit
Con due bit possiamo avere quattro configurazioni:
00
01 10 11
E possibile far corrispondere quattro informazioni
a tante cose. Es.,
le prime quattro lettere dell'alfabeto
oppure i numeri da 1 a 4
oppure i colori, oppure altre cose ...
00
01
10
11
a
b
c
d
1
2
3
4
verde
rosso
giallo
blu
37
Codifica dellinformazione
Processo secondo cui si fa corrispondere ad
uninformazione una configurazione di cifre binarie
E importante ricordare quante informazioni rieco a
codificare avendo un certo numero di bit:
Con 1 bit codifico 2 informazioni
Con 2 bit ne codifico 4
Con 3 bit ne codifico 8
...
Con n bit codifico 2n informazioni
38
Byte
In informatica assume particolare importanza
unaggregazione di 8 bit, che prende il nome di
byte
Simbologia: b
bit
B
byte
Poiché un byte è fatto di 8 bit
un byte consente di codificare 256 informazioni
39
Unità di misura
Multipli di bit o di byte
1 KiloByte= 1.024 byte
x1024 = 1 MegaByte =
x1024 = 1 GigaByte =
x1024 = 1 TeraByte =
x1024 = 1 PetaByte =
Abbreviazioni
Kb = Kilobit
Mb = Megabit
Gb = Gigabit
(per reti)
1.048.576 byte
1.073.741.824 byte
1.099.511.627.776 byte
.. byte
KB = KiloByte
MB = MegaByte
GB = GigaByte
(per memoria)
40
Codifica dei caratteri alfanumerici
L'insieme dei caratteri alfabetici (anglosassoni),
numerici, di punteggiatura, le parentesi e gli
operatori aritmetici può essere codificato usando 7
bit (128 configurazioni)
Per poter interagire e scambiarsi dati in modo
comprensibile, è necessario usare la stessa codifica
Quindi, è necessario mettersi daccordo per
definire un metodo standard per effettuare la codifica
41
Codice ASCII
E il metodo di codifica più diffuso fra produttori di
hardware, software e dispositivi di rete
ASCII = American Standard Code for
Information Interchange
Nota: non è l'unico!
Abbastanza diffuso anche EBCDIC = Extended
Binary Coded Decimal Interchange Code
42
Esempio di codifica ASCII standard
(usa 7 bit)
0100001
!
0100110
&
0110000
0
0111110
>
1000001
A
1100001
a
I numeri, così come le lettere, sono consecutivi.
Sono però insiemi separati
43
Codice ASCII standard 7 bit
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
000
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
001
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
010
!
#
$
%
&
(
)
*
+
,
.
/
011
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
100
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
101
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
110
°
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
111
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL
Per ottenere la codifica a 7 bit, si legge prima
il numero
colonna
e poi
quello di riga
Sono
numeridella
interi
positivi
(necessario
un byte)
44
Codifica di una parola
Parola = sequenza di caratteri
Codifica della parola = sequenza delle codifiche dei
singoli caratteri
ES: parola cane
c
a
n
e
01100011 01100001 01101110 01100101
Esistono anche simboli per lo spazio bianco, il
simbolo di fine riga, ...
Si possono rappresentare testi complessi
45
Codifica dei numeri
Col codice ASCII posso codificare anche le cifre
decimali da 0 a 9
Parola = sequenza di caratteri
Numero = sequenza di cifre
Es: 324 si potrebbe rappresentare come
00110011 00110010 00110100
3
2
4
46
Codifica dei numeri - continua
MA usare la codifica ASCII per i numeri è una
rappresentazione non efficiente perché i primi
quattro bit sono uguali e, soprattutto, non è adatta
per eseguire le operazioni aritmetiche sui numeri
Esiste un modo molto più naturale per codificare i
numeri che prende spunto dal sistema di
numerazione tradizionale
47
Sistema di numerazione: decimale e
posizionale
Usa dieci cifre
Ogni cifra ha un valore che dipende dalla
posizione che occupa allinterno del numero
La rappresentazione 645 (la cifra 6 seguita dalla
cifra 4 seguita dalla cifra 5) denota, nel sistema
decimale, il numero 645
Il numero 645 ha in realtà linterpretazione seguente:
6 centinaia, 4 decine, 5 unità
6*(102) + 4*(101) + 5*(100) = 600+40+5 = 645
48
Esempio: Sistema decimale
Il numero 135 decimale può essere rappresentato come segue:
B = 10
n=3
base
numero cifre
cifra
1
3
5
posizione
2
1
0
10 2
10 1
10 0
peso
(ricordare che si parte da 0)
1 10 2 + 3 101 + 5 100 = 135
49
Sistema di numerazione decimale (2)
In generale la rappresentazione:
cncn-1...c1c0
in cui ogni cifra ci è compresa fra 0 e 9, denota:
c0 * 100
c1 * 101
...
cn-1 * 10n-1
cn * 10n
+
+
+
(ossia c0 unità)
(ossia c0 decine)
...
50
Rappresentazione binaria
E una codifica posizionale che invece di usare 10
cifre, ne usa solo 2
Quindi, tutti i numeri vengono codificati usando le
due cifre 0 e 1 e uno schema posizionale in cui
si usa la base 2 invece della base 10
cncn-1...c1c0 in cui ogni cifra ci vale 0 o 1, denota:
c0 * 20+c1 * 21+...+cn-1 * 2n-1+cn * 2n
Esempio: 1110(base 2) denota:
1*23+1*22 +1*21+1*20+= 8+4+2+0 = 14(base 10)
51
Esempio: Sistema binario
Valore decimale corrispondente al numero binario 1101 ?
cifra2
1
1
0
1
peso
23
22
21
20
valore
18
14
02
11
11012 = 1 23 + 1 22 + 0 21 + 1 20 = 1310
52
Massimo numero rappresentabile?
Sappiamo che con quattro cifre decimali è
possibile rappresentare tutti i numeri fra 0 e 9999
in quanto il numero successivo (10000)
richiederebbe una quinta cifra (non disponibile)
In informatica si parla di overflow: quando un
numero esce dal numero di cifre destinate alla
rappresentazione
Date n cifre decimali, è possibile rappresentare i
numeri da 0 a 10n-1
Esempio (n=4): 9999 = 10000-1 = 104-1
53
Massimo numero in binario
Le stesse considerazioni del sistema decimale
valgono anche per il sistema binario prendendo
come base il numero 2 al posto del numero 10
Quindi, date n cifre binarie, è possibile
rappresentare i numeri da 0 a 2n-1
Ricordare: nel momento in cui si fissa il numero di
bit destinati alla rappresentazione di un numero, si
fissa anche il massimo numero rappresentabile
54
Oltre i numeri interi positivi
Con il metodo di codifica esaminato, è possibile
rappresentare qualunque numero intero positivo
rientra nel numero di bit disponibili a rappresentarlo
Tuttavia, esiste la necessità di rappresentare anche
altri tipi di numeri, quali:
Numeri interi negativi: -34 -23456 ...
Numeri frazionari positivi: 234,45 79,001 ...
Numeri frazionari negativi: -234,45 -79,001 ...
Si usano altri metodi di codifica (più complessi) che
non sono argomento di questo corso
55