Informatica di Base Ancora su numeri. La struttura dei sistemi

Informatica di Base
Ancora su numeri.
La struttura dei sistemi
informatici.
http://dcssi.istm.cnr.it/Lanzavecchia/do
cumenti/biotecnologie.htm
AA 2010/11
Biotecnologie
1
Informatica di Base
I sistemi informatici
Prossima esercitazione
• Lunedì 8 novembre ore 14, aula 307
• Gruppo B ore 14 – 16
• Gruppo A ore 16 – 18
Gruppo A:
studenti P – R + i primi tre della lista.
Gruppo B:
studenti S – Z
AA 2010/11
Biotecnologie
2
Informatica di Base
I sistemi informatici
Esercizi di conversione fra basi:
•
8810 = 10110002
•
9710 = 11000012
•
11210 = 11100002
•
1410 =
11102
•
10011002 = 7610
• 10100000102 = 64210
• 11001110112 = 82710
• 111110110102 = 201010
AA 2010/11
Biotecnologie
3
Informatica di Base
I sistemi informatici
Aritmetica binaria
• Somma fra numeri binari
• Esattamente come in base 10, visto che
entrambi i sistemi sono posizionali.
• In decimale 1+1=2
• In binario 1+1=10
AA 2010/11
Biotecnologie
4
Informatica di Base
I sistemi informatici
Somma tra numeri binari
1
Ricordatevi il riporto!
AA 2010/11
Biotecnologie
1 +
1 =
0
0 +
1 =
1
1
0
1
1
1
1
0
1
1
1
0
1
5
1
1
0
1
0
1
1 +
1 =
0
Informatica di Base
I sistemi informatici
Codifica dei numeri interi negativi
• Prima soluzione: usiamo un bit per il
segno, gli altri per il valore assoluto del
numero
• se codifico con quattro bit:
0 000 +0
0 001 +1
0 010 +2
...
0 111 +7
AA 2010/11
Biotecnologie
1 000 -0
1 001 -1
1 010 -2
...
1 111 -7
6
Informatica di Base
I sistemi informatici
Codifica dei numeri interi negativi
• due controindicazioni:
• 2 rappresentazioni dello 0
• non si possono applicare le regole
tradizionali per le operazioni aritmetiche:
0
1
1
AA 2010/11
Biotecnologie
0
0
1
1
1
0
0 +
1 =
1
7
+2
-3
-5
Informatica di Base
I sistemi informatici
Codifica dei numeri interi negativi
• Rappresentazione in complemento a 2
• bit più a sinistra (più “significativo”) si usa
per rappresentare il segno (0 per il +, 1 per
il -)
• comune rappresentazione binaria per i
numeri positivi
• inversione dei restanti bit per i numeri
negativi (0Æ1 e 1Æ0) e poi si somma 1
AA 2010/11
Biotecnologie
8
Informatica di Base
I sistemi informatici
Es. rappresentazione in
complemento a 2
• -5 (meno cinque) con quattro bit:
• il bit di segno è 1 (più a sinistra), uso gli altri 3 per
il numero
•
•
•
•
Conversione numero senza segno: 510 = 1012
Inversione dei bit risultanti:
101 Æ 010
Somma di 1 al risultato:
010 + 1 = 011
Aggiungo bit di segno (perché negativo):
1011
• Verifica: + 5 Æ 0101
– 5 Æ 1011
= 0 = (1)0000
AA 2010/11
Biotecnologie
9
Informatica di Base
I sistemi informatici
Conversione da binario in
decimale con segno
• se prima cifra 0 Æ numero positivo Æ
conversione solita (es. 0100 Æ +4)
• se prima cifra 1 Æ numero negativo Æ
•
•
•
•
tolgo il primo bit (a sinistra)
inversione dei bit
conversione da binario a decimale
somma di 1
AA 2010/11
Biotecnologie
10
Informatica di Base
I sistemi informatici
Es. Conversione da binario in
decimale con segno
• 1011
•
•
•
•
•
tolgo il bit di segno Æ 011
Inversione Æ 100
Conversione in decimale Æ 1002 = 410
Somma Æ4 + 1 = 5
Segno Æ -5
AA 2010/11
Biotecnologie
11
Informatica di Base
I sistemi informatici
ATTENZIONE!!!
• La rappresentazione in complemento a 2 è
diversa a seconda del numero di bit che
utilizzate!!
• Quindi, i conti “tornano” se scegliete per
rappresentare sia positivi che negativi lo
stesso numero di bit, anche se sono di
più di quelli minimi che vi servirebbero per
codificare il numero
• I computer “definiscono” in anticipo quanti
bit useranno per rappresentare gli interi
AA 2010/11
Biotecnologie
12
Informatica di Base
I sistemi informatici
Esempio
• -3 con tre bit (uno lo
uso per il segno)
•
• 3 Æ 11
• Inversione: 00
• Sommo uno 01
• Bit di segno Æ 101
• -3 con quattro bit
(uno lo uso per il
segno)
• 3 Æ 011
• Inversione: 100
• Sommo uno 101
• Bit segno 1101
Quindi “-3” lo posso scrivere in modi diversi!
AA 2010/11
Biotecnologie
Informatica di Base
I sistemi informatici
13
Rappresentazione in complemento a 2
• Con quattro bit:
0000
0001
0010
0011
0100
0101
0110
0111
0
+1
+2
+3
+4
+5
+6
+7
1000
1001
1010
1011
1100
1101
1110
1111
-8
-7
-6
-5
-4
-3
-2
-1
• E quindi se faccio – 5 + 5 = 1011 + 0101 =
0000 = 0 !
• Con N bit posso rappresentare i numeri da
–(2N-1) a 2N-1-1
AA 2010/11
Biotecnologie
14
Informatica di Base
I sistemi informatici
Che numero è?
• A quale numero intero decimale
corrisponde il numero in complemento a
due 10001 (avendo scelto 5 bit) ?
• Tolgo bit di segno Æ 1 0001
• Inverto 0001 Æ 1110
• Converto 1110 Æ 14
• Sommo 1 Æ 15
• Con il segno Æ -15
AA 2010/11
Biotecnologie
15
Informatica di Base
I sistemi informatici
Che numero è?
• A quale numero in complemento a due
corrisponde il decimale -7 ?
• Dipende dal numero di bit che uso!
• Se ne uso 5 (4 più il segno):
• Tolgo il segno
• Converto 7 con 4 bit Æ 0111
• Inverto 0111 Æ 1000
• Sommo 1 Æ 1001
• Con il segno Æ 11001
AA 2010/11
Biotecnologie
16
Informatica di Base
I sistemi informatici
Numeri interi in 1 Byte [-128,127]
•
•
•
•
•
•
•
•
•
•
•
•
01111111
…….
00000011
00000010
00000001
00000000
11111111
11111110
11111101
11111100
……….
10000000
=
127
=
=
=
=
=
=
=
=
3
2
1
0
-1
-2
-3
-4
=
-128
AA 2010/11
Biotecnologie
17
Informatica di Base
I sistemi informatici
Esercizi di conversione fra basi
avendo assunto di stare in un Byte
•
•
•
•
•
AA 2010/11
Biotecnologie
-1210 =
9610 =
-9610 =
110011002 =
100000102 =
11101002
01000002
10100002
-5210
-12610
18
Informatica di Base
I sistemi informatici
-12 = 11110100
0
1
0
0
0
1
1
0
0
+ 12 su 8 bit
1
1
1
0
0
1
1
7 bit negati
1
1
1
0
1
0
0
+1
1
1
1
0
1
0
0
metto il segno
AA 2010/11
Biotecnologie
Informatica di Base
I sistemi informatici
19
-96 = 10100000
0
1
1
1
0
0
0
0
0
+ 96 su 8 bit
0
0
1
1
1
1
1
7 bit negati
0
1
0
0
0
0
0
+1
0
1
0
0
0
0
0
metto il segno
AA 2010/11
Biotecnologie
20
Informatica di Base
I sistemi informatici
110011002 = -5210
binario
11001100
senza segno
1
0
0
1
1
0
0
Nego i bit
0
1
1
0
0
1
1
Sommo 1
0
1
1
0
1
0
0
32
16
0
4
0
0
Converto a
decimale
AA 2010/11
Biotecnologie
Informatica di Base
I sistemi informatici
21
100000102 = -12610
binario
10000010
senza segno
0
0
0
0
0
1
0
Nego i bit
1
1
1
1
1
0
1
Sommo 1
1
1
1
1
1
1
0
Converto a
decimale
64
32
16
8
4
2
0
AA 2010/11
Biotecnologie
22
Informatica di Base
I sistemi informatici
Formato dei numeri
• Interi
• Positivi
• Unsigned char
• Short
• Int
1 Byte
2 Byte
4 Byte
0-255
0-65536
0-(232-1)
1 Byte
2 Byte
4 Byte
-128,127
-32768,32767
-231,(231-1)
• Con segno
• Char
• Short
• Int
• razionali (floating point)
AA 2010/11
Biotecnologie
23
Informatica di Base
I sistemi informatici
Formato dei numeri
Razionali (floating point)
• 3,14159… = 3,14159 x 100
• 1937,26
= 1,93726 x 103
• 0,0005162 = 5,162 x 10-4
• 6,022x1023
• Servono 2 numeri: uno per la mantissa
ed uno per l’esponente.
AA 2010/11
Biotecnologie
24
Informatica di Base
I sistemi informatici
Numeri floating point
Data la mantissa m e l’esponente e
n=mx2e avendo scelto la base=2
1
8
23
32 bit
segno esponente
mantissa
64 bit
1
AA 2010/11
Biotecnologie
11
52
25
Informatica di Base
I sistemi informatici
Esecutori di algoritmi
• I computer sono progettati per eseguire
algoritmi
• Sequenze di passi che portano all’esecuzione di
un compito
• Tutti i programmi sono strutturati per eseguire
operazioni predefinite o istruzioni
• Ogni istruzione viene portata a termine in
modo automatico e acritico
AA 2010/11
Biotecnologie
26
Informatica di Base
I sistemi informatici
Ciò che i computer non fanno
• Non hanno immaginazione né creatività
• Interpretano tutto alla lettera, senza
alcun senso dell’ironia, dei sottintesi o
delle proporzioni
• Non hanno volontà propria
• Non hanno intuito
AA 2010/11
Biotecnologie
27
Informatica di Base
I sistemi informatici
Computer VS cervello umano
• Capacità di calcolo
• Computer fa conti precisi in microsecondi
• Cervello ha bisogno di carta e penna e
sbaglia
• Analisi dell’ambiente circostante
• Cervello riconosce subito alberi, case,
automobili
• Computer no; deve essere addestrato e
sbaglia
AA 2010/11
Biotecnologie
28
Informatica di Base
I sistemi informatici
Sistemi Informatici
• Hardware
• Microprocessore
• Memoria
• Periferiche di input e output
• Software
• Sistema operativo
• Programmi applicativi
AA 2010/11
Biotecnologie
29
Informatica di Base
I sistemi informatici
Distinzione Hw/Sw
HARDWARE
equipaggiamento fisico del computer,
costituito da componenti meccanici, elettrici,
ed elettronici che fanno svolgere al calcolatore
un insieme di funzioni generiche
(si puo` prendere a calci!)
SOFTWARE
equipaggiamento logico del computer,
costituito da programmi che utilizzano i
componenti dell’hardware integrandoli al fine di
svolgere compiti specifici
(si puo` solo imprecargli contro!)
AA 2010/11
Biotecnologie
30
Informatica di Base
I sistemi informatici
Elaboratori di informazione
• L’informazione è memorizzata in formato
binario
• Ogni forma di elaborazione deve essere
descritta come algoritmo
• Es. somma di numeri
• 1011001 (89) +
• 0001101 (13) =
• 1100110 (102) normale addizione col riporto
• Dati e istruzioni sono entrambe memorizzati
AA 2010/11
Biotecnologie
31
Informatica di Base
I sistemi informatici
Esecutori di algoritmi
• I dati sono memorizzati in formato
binario
• Anche le regole dell’algoritmo devono
essere memorizzate
• Istruzioni codificate in binario
• Devono essere lette, interpretate ed
eseguite
AA 2010/11
Biotecnologie
32
Informatica di Base
I sistemi informatici
Il ciclo macchina
• Tutta l’elaborazione avviene per
successione di cicli:
•
•
•
•
•
Fetch istruzione
Decodifica istruzione
Fetch dati
Esecuzione istruzione
Restituzione risultato
AA 2010/11
Biotecnologie
33
Informatica di Base
I sistemi informatici
O più semplicemente
• Fetch istruzione
• Decodifica
• Esecuzione
AA 2010/11
Biotecnologie
34
Informatica di Base
I sistemi informatici
Il cuore del processore
Unità
Aritmetico
logica
Controllo
bus
Memoria
AA 2010/11
Biotecnologie
35
Informatica di Base
I sistemi informatici
Memoria
• Una serie di locazioni discrete
• Solitamente da 1 Byte
• In ogni locazione sono contenuti i dati
• Ogni locazione ha un suo indirizzo
• Anche gli indirizzi devono essere
memorizzati
• Con 4 Byte si ricordano fino a 4 miliardi di
indirizzi (232)
AA 2010/11
Biotecnologie
36
Informatica di Base
I sistemi informatici
Memoria
• Sopra i Byte si usano le convenzionali
sigle K (kilo) M (mega) G (giga)
• Ma al posto del fattore 1000 si usa
1024=210
• KB (chilobyte) = 1024
• MB = 220 = 1024x1024 = 1.048.576
• GB = 230 = 1.073.741.824
• 232 B = 4 x 230 = 4GB
AA 2010/11
Biotecnologie
37
Informatica di Base
I sistemi informatici
Unità di Controllo
• Implementa il ciclo macchina
• Recupera le istruzioni e le fa eseguire
dall’unità aritmetico logica (ALU)
• Le istruzioni sono molto semplici
• ADD 4000, 2000, 2080
• Somma i contenuti delle locazioni 4000 e
2000 e copia il risultato in locazione 2080
AA 2010/11
Biotecnologie
38
Informatica di Base
I sistemi informatici
Unità aritmetico logica
• Implementa le istruzioni del ciclo macchina
mediante circuiti elettronici
• Una volta che i dati sono nei registri del
processore le operazioni possono essere
eseguite
• Poche istruzione semplici
• ADD
• Mult e Div
• (queste sono più complesse e coinvolgono più cicli)
• Operazioni logiche AND, OR, NOT
• Operazioni bit a bit
AA 2010/11
Biotecnologie
39
Informatica di Base
I sistemi informatici
istruzioni macchina
• Nei circuiti del processore sono implementate
poche istruzioni molto semplici
• Serie di passi elementari
• Istruzioni più complesse vengono eseguite
mettendo insieme le istruzioni più semplici
• Queste a loro volta faranno da base per
comandi ancora più complessi
• Alla fine qualunque compito del computer
viene eseguito come successione di passi
elementari
AA 2010/11
Biotecnologie
40
Informatica di Base
I sistemi informatici
Astrazione
• Distinzione tra le proprietà esterne di un
entità e i dettagli della sua struttura
• Ci permette di trattare una parte senza
preoccuparci di come è fatta
• Ignoriamo i dettagli interni
• Qualunque costruzione informatica
viene fatta con questo procedura
• Una volta costruito uno strumento lo
usiamo senza più preoccuparci di come è
stato fatto
AA 2010/11
Biotecnologie
41
Informatica di Base
I sistemi informatici
Hardware di un P.C.
• Unità di elaborazione (microprocessore)
• Memoria
• Memoria del processore (registri e cache)
• Memoria centrale (RAM)
• Memoria secondaria
• Dischi fissi
• Dischi removibili
• Bus di sistema
• Collega tutti gli elementi funzionali
• Periferiche
•
•
•
•
•
Tastiera e mouse
Schermo
Stampante
Scanner
Scheda audio
AA 2010/11
Biotecnologie
42
Informatica di Base
I sistemi informatici
Componenti hw del computer
Periferiche
Monitor
Tastiera Mouse
Memorie
di massa
Memoria CPU
centrale
BUS
Input
AA 2010/11
Biotecnologie
Output
Input/Output (I/O)
43
Informatica di Base
I sistemi informatici
Il processore
AA 2010/11
Biotecnologie
44
Informatica di Base
I sistemi informatici
Il processore
• Il processore, o CPU -Central
Processing Unit- è l’unità di
elaborazione centrale del computer
• Controlla le funzioni del computer,
esegue le operazioni aritmetico-logiche
ed elabora i dati
AA 2010/11
Biotecnologie
45
Informatica di Base
I sistemi informatici
Il processore
• I circuiti logici che compongono una CPU
sono costituiti da milioni di transistor
(microscopici interruttori acceso/spento)
collegati tra loro da sottilissimi fili
• I circuiti vengono “stampati” su una sottile
lamina di silicio
• Il chip che corrisponde a una CPU ha una
superficie dell’ordine di una decina di
mm2
AA 2010/11
Biotecnologie
46
Informatica di Base
I sistemi informatici
Il processore
• Pertanto oggi si parla di
microprocessore costituito da circuiti
integrati
• VLSI, Very Large scale Integration
• milioni di elementi tra loro collegati contenuti in
una superficie quasi microscopica
AA 2010/11
Biotecnologie
47
Informatica di Base
I sistemi informatici
Il processore
• Ogni istruzione del linguaggio macchina
viene eseguita dal microprocessore
svolgendo una serie di operazioni
elementari
• Il numero di operazioni elementari
necessario per completare l’esecuzione
di un’istruzione in linguaggio macchina
è dell’ordine di 7-10
AA 2010/11
Biotecnologie
48
Informatica di Base
I sistemi informatici
Il processore - Clock
• Il tempo richiesto dal microprocessore per svolgere
un’operazione elementare e` detto ciclo di clock
• la durata tipica oggi giorno e` inferiore al nanos
• Il numero di cicli di clock nell’unita` di tempo, o
frequenza di clock, si misura in GHz
• (1 MHz; periodo=10-6 s ; 1 GHz: periodo = 10-9 s)
•
•
•
•
Xeon 3 GHz
Pentium 4 2.2 GHz
Athlon 1.6 GHz
PowerPC G5 2 GHz
• E` uno dei parametri caratteristici di un processore
AA 2010/11
Biotecnologie
49
Informatica di Base
I sistemi informatici
Il processore - Clock
• Dati due processori con lo stesso
linguaggio macchina, risulterà più veloce
quello con frequenza di clock maggiore
• Non è possibile dire nulla su processori con
linguaggi macchina diversi
• Es. Pentium vs PowerPC
• Altri fattori contribuiscono alle prestazioni di
un processore
• memoria, bus, cache, natura dei programmi
eseguiti
AA 2010/11
Biotecnologie
50
Informatica di Base
I sistemi informatici
Il processore - Clock (esempio)
Computer A
• 2 GHz
• 10 operazioni
elementari per
istruzione
Computer B
• 1,5 GHz
• 6 operazioni
elementari per
istruzione
devono eseguire un programma
di 1G istruzioni macchina
A impiegherà 5s
B impiegherà 4s
AA 2010/11
Biotecnologie
Informatica di Base
I sistemi informatici
51
Componenti hw del computer
Periferiche
Monitor
Tastiera Mouse
Memorie
di massa
Memoria CPU
centrale
BUS
Input
AA 2010/11
Biotecnologie
Output
52
Input/Output (I/O)
Informatica di Base
I sistemi informatici
La memoria centrale
AA 2010/11
Biotecnologie
53
Informatica di Base
I sistemi informatici
La memoria - Le celle
• Ogni cella di memoria contiene un byte ed e`
contraddistinta da un indirizzo
• l’unita` minima indirizzabile puo` anche essere la
word (2 Byte)
• Volendo scrivere o leggere un dato nella/dalla
memoria il processore deve sempre
specificare l’indirizzo della cella alla quale
vuole accedere
AA 2010/11
Biotecnologie
54
Informatica di Base
I sistemi informatici
La memoria - Le celle
AA 2010/11
Biotecnologie
55
Informatica di Base
I sistemi informatici
La memoria
• Svolge la funzione di magazzino per i programmi e i
dati su cui deve operare il microprocessore
• Esistono due grosse categorie di dispositivi di
memoria:
• le memorie volatili
• le memorie non volatili
• Le memorie volatili sono tutti quei dispositivi di
memoria che perdono il loro contenuto quando viene
loro a mancare l'alimentazione elettrica
• Le memorie non volatili invece sono in grado di
mantenere l'informazione registrata anche in assenza
di alimentazione elettrica
AA 2010/11
Biotecnologie
56
Informatica di Base
I sistemi informatici
La memoria
• Volatile
• sono genericamente indicati con il termine RAM
(Random Access Memory)
• I registri di CPU, le cache e la memoria centrale
• sono realizzati rifacendosi alla tecnologia dei
circuiti integrati
• Non Volatile
•
•
•
•
Dischi fissi
Floppy – CD – DVD
Pen drive
Nastri magnetici
AA 2010/11
Biotecnologie
Informatica di Base
I sistemi informatici
57
Componenti hw del computer
Periferiche
Monitor
Tastiera Mouse
Memorie
di massa
Memoria CPU
centrale
BUS
Input
AA 2010/11
Biotecnologie
Output
58
Input/Output (I/O)
Informatica di Base
I sistemi informatici
Il bus
AA 2010/11
Biotecnologie
59
Informatica di Base
I sistemi informatici
Il bus
• E` il canale fisico che mette in
comunicazione le varie componenti del
calcolatore
• E` composto da un insieme di fili
• In ogni istante, su ogni filo, passa un bit
• Se il bus è formato da n fili, può trasferire
n bit contemporaneamente
• l’ampiezza del bus influenza la velocità del
computer
AA 2010/11
Biotecnologie
60
Informatica di Base
I sistemi informatici
Il bus
• Periferiche diverse possono usare tipi di bus
diversi, a seconda della velocità di
trasmissione dati richiesta
• La memoria centrale ha bisogno di un canale
molto più veloce rispetto alle periferiche
• Oltre al bus di sistema, i PC di oggi sono
forniti anche di un insieme di bus locali che
collegano le periferiche alla CPU
AA 2010/11
Biotecnologie
61
Informatica di Base
I sistemi informatici
Il bus
• In un dato istante, sul bus puo` passare
• un dato in trasferimento tra CPU e memoria o tra
CPU e una periferica
• un indirizzo che identifica una posizione nella
memoria alla quale la CPU deve leggere o
scrivere
• un segnale di controllo, come la selezione
dell’unità coinvolta nel trasferimento dati (sorgente
e destinatario) o la definizione della direzione dello
scambio (lettura o scrittura)
AA 2010/11
Biotecnologie
62
Informatica di Base
I sistemi informatici
Componenti hw del computer
Periferiche
Monitor
Tastiera Mouse
Memorie
di massa
Memoria CPU
centrale
BUS
Input
Output
AA 2010/11
Biotecnologie
Input/Output (I/O)
63
Informatica di Base
I sistemi informatici
Periferiche
• Ogni periferica e` costituita da 3
componenti
• device
• dispositivo fisico
• controller
• componente elettronica di controllo
• device driver
• componente software che deve essere
installata in memoria per il corretto
funzionamento del dispositivo
AA 2010/11
Biotecnologie
64
Informatica di Base
I sistemi informatici
Periferiche - Il controller
• Il controller è realizzato su un circuito
stampato
• puo` essere piu` o meno intelligente a
seconda della periferica che controlla
• Riceve gli ordini dal processore e li
impartisce al dispositivo fisico
• cosa fare (leggere/scrivere), dove, quanto
AA 2010/11
Biotecnologie
65
Informatica di Base
I sistemi informatici
Periferiche - Il driver
• Il driver è il programma che gestisce la
periferica
• Viene consegnato insieme alla
periferica (di solito memorizzato su un
CD-ROM) e deve essere installato in
memoria
• e` parte del software di sistema
AA 2010/11
Biotecnologie
66
Informatica di Base
I sistemi informatici