Informatica
Lezione 4
Scienze e tecniche psicologiche dello sviluppo e
dell'educazione (laurea triennale)
Anno accademico: 2007-2008
Operazioni su numeri binari
• Vediamo solo il caso della addizione nella
codifica binaria:
– Si mettono in colonna i numeri da sommare
– Si calcola il riporto ogni volta che la somma
parziale supera il valore 1
• Addizione:
0+0=0
0+1=1
1+0=1
1+1=0
con riporto 0
con riporto 0
con riporto 0
con riporto 1
Operazioni su numeri binari
• Addizione:
0+0=0
0+1=1
1+0=1
1+1=0
con riporto 0
con riporto 0
con riporto 0
con riporto 1
• Esempi:
1+
1=
10
101+
11=
1000
10110101+
1000110=
11111011
111+
11=
1010
Codici a lunghezza fissa
• Se si usa un numero prestabilito di cifre si ha un
codice a lunghezza fissa
– Normalmente i computer usano 32 o 64 bit per
rappresentare i numeri
• In questo modo si pone anche un limite al numero
massimo rappresentabile
• Esempio: qual è il numero più grande rappresentabile
con 4 cifre?
–
–
–
–
In base 10:
In base 2:
In base 16:
In base 8:
9999
1111
FFFF
7777
(=1510)
(=6553510)
(=409510)
Codici a lunghezza fissa
• Numeri maggiori di quello massimo
rappresentabile causano problemi di
overflow
– Ovvero per essere rappresentati richiedono più
cifre di quelle a disposizione
• Esempio: 4 cifre
–
–
–
–
In base 10:
In base 2:
In base 16:
In base 8:
9999 + 1
1111 + 1
FFFF + 1
7777 + 1
= 1000010
= 100002 (=1610)
= 1000016 (=6553610)
= 100008 (=409610)
Codici a lunghezza fissa
• In generale, con N cifre a disposizione e base
b il più grande numero (intero positivo)
rappresentabile si può esprimere come
bN – 1
• Esempio: N=4
–
–
–
–
In base 10:
In base 2:
In base 16:
In base 8:
9999
1111
FFFF
7777
= 104 - 1
= 24 - 1
= 164 - 1
= 84 - 1
Codici a lunghezza fissa
•
Esempio di overflow nel sistema binario
dovuto a operazioni aritmetiche:
– 5 + 4 = 9 (in sistema decimale)
– Abbiamo usato solo un cifre decimale per il
risulto
•
Ricordiamo: 510 = 1012
101+
100=
1001
(in sistema binario)
,
410 = 1002
Errore: overflow
(non può essere codificato
910 = 10012 con tre bit)
Codifica dei numeri
• Codificare il numero 13210 nella
corrispondente rappresentazione binaria
• Ordinare in modo crescente i seguenti
numeri:
–
–
–
–
–
10410
128
100112
1000100002
1001110
Rappresentazione dei numeri
• In realtà, una semplice codifica binaria come
quella discussa fino ad ora non è sufficiente,
per due motivi:
– Numeri negativi
– Numeri con la virgola
• Per questi numeri vengono utilizzate delle
rappresentazioni differenti
– Per esempio “complemento a due” per
rappresentare i numeri negativi
Codifica dell’informazione
bit
1 cifra binaria
memorizza 0 oppure 1
byte
8 bit
memorizza un carattere
parola
da 16 a 64 bit
numeri e indirizzi di memoria
Kilobyte (KB)
1024 byte
circa mezza pagina di testo
Megabyte (MB)
1024 KB
un libro di 200 pagine
Gigabyte (GB)
1024 MB
alcuni volumi
Terabyte (TB)
1024 GB
una biblioteca
Petabyte (PB)
1024 TB
molte biblioteche
Architettura dei computer
Processore
Memoria
principale
Unità centrale
Stampante
Periferiche
del calcolatore
Tastiera e monitor
Memoria secondaria
Periferiche di input/output
Architettura dei computer
• Un computer deve:
– elaborare l’informazione
– memorizzare l’informazione
– fare l’input/output dell’informazione
• Per ogni funzione di base si possono
prendere in considerazione i
componenti in grado di svolgerla
Architettura dei computer
• Un computer deve:
– elaborare l’informazione
• usando il processore (Central Processing Unit CPU)
– memorizzare l’informazione
• usando la memoria principale (RAM)
• usando la memoria secondaria
– fare l’input/output dell’informazione
• usando i dispositivi di input/output
Architettura dei computer
• Un computer deve:
– elaborare l’informazione
• usando il processore (Central Processing Unit CPU)
– memorizzare l’informazione
• usando la memoria principale (RAM)
• usando la memoria secondaria
– fare l’input/output dell’informazione
• usando i dispositivi di input/output
Componenti principali di un
computer
Processore
Memoria
principale
Unità centrale
Stampante
Periferiche
del calcolatore
Tasteria e monitor
Memoria secondaria
Periferiche di input/output
Componenti principali di un
computer
Processore
Insieme al processore
forma l’Unità Centrale
di un elaboratore
0
1
2
3
4
5
Memoria
principale
Unità centrale
Sequenza di celle
– Ad ogni cella è
associato un indirizzo
(un numero progressivo
a partire da 0)
Conserva i
programmi e i dati
usati dal processore
N
Memoria principale (RAM)
• Perché si chiama RAM (Random Access
Memory)?
– Si può accedere direttamente alle varie celle, una
volta noto il loro indirizzo
– Il tempo necessario per accedere ad una cella è lo
stesso, indipendentemente dalla posizione della
cella nella sequenza
– Il termine “random” (casuale) indica proprio il fatto
che non vi sono differenze nell’accesso alle varie
celle della memoria (il computer può accedere in
qualsiasi momento a qualsiasi locazione)
Memoria principale (RAM)
• Alcune proprietà della memoria principale
– Volatile: è fatta di componenti elettronici,
togliendo l’alimentazione si perde tutto
– (Relativamente) costosa (costo per bit)
• Dalla lezione 1: i costi sono in diminuzione
–…
Memoria principale (RAM)
• Alcune proprietà della memoria principale
–…
– Veloce: per leggere/scrivere una cella ci vuole un
tempo di accesso dell’ordine di poche decine di
nanosecondi (millesimi di milionesimi di secondo =
10-9 sec.)
• Tempo di accesso: il tempo tra
– Il momento in cui il processore specifica l’indirizzo della
cella sui cui vuole operare e dà il comando di
lettura/scrittura
– Il momento in cui l’operazione è terminata (il dato letto e
disponibile oppure il dato scritto è in memoria)
Memoria principale (RAM)
• Tutte le celle hanno la
stessa dimensione: 8, 16,
32, o 64 bit
• Le operazioni che si
eseguono sulla memoria
sono operazioni di lettura
e scrittura
• Una cella può contenere
(parte di) un dato o
un’istruzione
Contenuto (in questo
esempio, 8 bit)
Indirizzi
0
1
2
3
4
5
N
Memoria principale (RAM)
• Ogni calcolatore usa un numero di bit
costante per rappresentare gli indirizzi
• Maggiore è il numero di bit usati, maggiore
sarà il numero di celle indirizzabili: spazio di
indirizzamento
– Se si usano 16 bit per codificare gli indirizzi, si
potranno indirizzare fino a 65.536 celle (circa 64
KB di memoria, nell’ipotesi di celle di memoria di 1
byte)
– Con 32 bit si potranno indirizzare fino a
4.294.967.296 celle (circa 4 GB di memoria)
Memoria principale (RAM)
• Le unità di misura della memoria RAM
variano a seconda del tipo di calcolatore
e vengono espresse in MB o GB
• Nei PC generalmente si va dai 128MB
ai 4 GB
• La RAM, fino ad un certo limite, è
espandibile (slot di espansione)
L’Unità centrale: altri tipi di
memoria
• Memoria di sola lettura (ROM)
–
–
–
–
Non può essere modificata
A differenza della RAM non è volatile
Veloce quasi come la RAM
Contiene le informazioni di inizializzazione usate
ogni volta che si accende l’elaboratore (bootstrap)
L’Unità centrale: altri tipi di
memoria
• Memoria cache
– Livello di memoria intermedio tra i registri e la RAM
• Memorizza i dati usati più spesso senza doverli recuperare
tutte le volte dalla RAM (che è più lenta)
• Influisce moltissimo sulle prestazioni e sul costo della CPU (e
quindi del computer)
– È molto più costosa della RAM
– In genere è interna al processore (cache L1), ma esiste
anche una cache secondaria (L2) esterna al processore
– Le sue dimensione tipiche vanno dai 256KB a 1MB
L’Unità centrale: altri tipi di
memoria
• Buffer
– Piccole parti di RAM con funzioni di memoria temporanea
– Usati per il passaggio delle informazioni da un programma o
dispositivo ad un altro
– In Windows si parla di Clipboard, memoria temporanea usata per
esempio per le operazioni di Copia e Incolla
1
2
3
4
5
Foglio elettronico
Clipboard
(buffer)
Programma di videoscrittura
Famiglie di memoria
• SRAM (RAM statiche):
– Costi elevati
– Tempi di accesso ridotti
– Normalmente usate per la memoria cache
• DRAM (RAM dinamiche):
– Tempi di accesso più della SRAM (40-60 nanosecondi)
– Normalmente usate per la memoria principale
– SDRAM: DRAM sincrono, un clock (che ha una frequenza
misurata in MHz) sincronizza l’accesso alla memoria
– DDR: Double Data Rate, raddoppia la velocità di
trasferimento di dati tra la memoria e il processore
• VRAM (RAM video): usate per la gestione delle
immagini
Scarica

lez4 - Dipartimento di Informatica