















































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
I concetti fondamentali dell'architettura di un calcolatore, tra cui la memoria principale, i registri del processore e il sistema operativo. Viene spiegata la nozione di memoria virtuale, che permette ai programmi di avere accesso a una quantità di memoria maggiore di quella fisicamente installata. Vengono inoltre illustrati i concetti di spazio di indirizzamento, istruzioni macchina e il ciclo fetch-decode-execute.
Tipologia: Appunti
1 / 87
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!
















































































19/02/
Prof. Angelo Troina
Programma:
a. Introduzione all’Information Technology
b. Storia del calcolo automatico
a. Numeri
b. Testo
c. Immagini
d. Suoni
a. I calcolatori
b. La memoria
c. La CPU / Il linguaggio macchina
d. Le unità periferiche
e. La memoria secondaria
a. Le reti di calcolatori, Internet, il World Wide Web
10.Privacy e Sicurezza
11.Word Processing
12.Fogli di Calcolo
13.Introduzione ai Database
a. DI COSA PARLIAMO QUANDO PARLIAMO DI INFORMATICA
Information and Communication Technology :
Informatica come tecnologia risvolti fisico-matematici e ingegneristici del calcolo
automatico; teorie e tecniche di comunicazione.
Computer Science :
Informatica come scienza basata su modellizzazione, formalizzazione e verifica
sperimentale (teoria degli automi, logica formale, teorie del linguaggio.
b. BREVE STORIA DEL CALCOLO AUTOMATICO
Esempio :
Ordinamento di 4000 cognomi
o No, l’essere umano è in grado di individuare ed applicare un algoritmo per
risolvere il problema, ma…
Non ha voglia di farlo
Impiega troppo tempo
Rischia di commettere errori
È la prima “macchina di calcolo” nota.
I primi abachi risalgono al V millennio a.C.
La logica e la correttezza dell’operazione dipendono unicamente dall’utente.
Costruita da Blaise Pascal nel XVII secolo.
Riesce ad effettuare dei calcoli aritmetici ruotando le “rotelle” delle unità, delle decine,
delle centinaia e delle migliaia Superando il 9, ci riporta la decina.
La logica dell’operazione è controllata dalla macchina, definita negli ingranaggi.
Introdotta da Charles Babbage nel 1840
Primo esempio di macchina di calcolo “programmabile”
Babbage era molto avanti rispetto ai suoi tempi:
o La tecnologia non era ancora sviluppata a sufficienza (la macchina analitica
avrebbe avuto lunghezza di 30 m e profondità di 10 m, oltre che funzionare
con un motore a vapore!)
o L’esigenza di automatizzare il calcolo non era forte
Per questi motivi le sue idee non ebbero il successo che avrebbero meritato e furono
dimenticate per quasi un secolo
Le idee di Babbage vennero “riscoperte” nella prima metà del ‘900 da Alan Turing e da
John von Neumann.
Nel 1725 rotoli di carta perforata su telai regolavano i motivi ornamentali da riprodurre
sulla stoffa.
Nella Macchina Analitica erano pensate per la registrazione e la conservazione delle
informazioni.
Queste schede possono essere utilizzare per dare dei dati alla macchina.
Utilizzate anche nei primi calcolatori costruiti.
Hollerith (U.S Census 1890)
Si fa passare la scheda perforata su un rullo meccanico che rullo e fa muovere la scheda e
al di sopra c’è una spazzola metallica che quando trova il foro va a mettersi in contatto con
un altro contatto metallico ciascun foro corrisponde ad una informazione che può essere
letta dalla macchina.
Uno dei padri dell’informatica
Introdusse la “ macchina di Turing ” macchina teorica definita sulla carta
Introdusse il limite del calcolatore
Caratterizzato da un nastro infinito a memoria con caselle che contengono una
successione di simboli (ad esempio tanti 0 e tanti 1), in qualsiasi momento la
- 300 a.C. algoritmo di Euclide per MCD - 1800 Boole
Metodi puramente simbolici per modellare il ragionamento operazioni che
lavorano su elementi di verità, combinandoli tra di loro per ottenere un
risultato
- 1930 Church, Turing
o Modello formale astratto di computer
o Computer come macchina universale: “We are trying to build a machine to do
all kinds of different things simply by programming rather than by the addition
of extra apparatus” (Turing)
o Esistono problemi che un computer non può risolvere
- 1940 Shannon
Teoria dell’informazione
- 1950/60 Dijkstra, Kruskal, Hoare, ecc.
Algoritmi fondamentali, linguaggi di programmazione, teoria dei linguaggi
formali, ecc.
- 1970 Codd, Rivest et al., McCarthy et al., Cook et al.
Database relazionali, crittografia a chiave pubblica, intelligenza artificiale,
complessità computazionale.
INFORMATICA Infor (mazione) (auto) matica insieme dei processi e delle tecnologie che
consentono:
- La creazione - La raccolta - L’elaborazione - L’immagazzinamento - La diffusione dell’informazione
In qualche modo è qualcosa che si occupa di raccogliere e conservare l’informazione, di
elaborare l’informazione, di trasmettere l’informazione, che viene fatto in maniera
occupata.
Le tecnologie informatiche hanno tre funzioni principali:
dati di un nuovo processo di elaborazione;
interessanti o più utili.
N.B.: Il calcolatore non ‘inventa’ nuove informazioni.
Aritmetica elementare formulata dal matematico persiano medioevale al-Khuwarizmi.
Insieme delle operazioni necessarie a risolvere un problema
(esempi: istruzioni di montaggio LEGO®, IKEA, procedura per risolvere operazioni
matematiche)
Metodo Preciso e sistematico per risolvere un problema
Esistono vari algoritmi per risolvere lo stesso problema
Un programma in genere realizza numerosi algoritmi
a. RAPPRESENTAZIONE DEI NUMERI
► Segnali digitali :
Insieme discreto di valori, ad esempio due stati
Semplici da distinguere
Esempio.: interruttore on/off
Vantaggi:
o Semplice
o Non ambiguo (non sensibile alle interferenze)
o Riproducibile senza errori
► Segnali analogici
Insieme continuo di valori, trasmettono molte informazioni
Sensibili alle interferenze
Es.: regolatore di volume
BIT = B INARY DIG IT (cifra binaria)
Segnale binario : segnale discreto su due valori
Elemento di base per rappresentare le informazioni digitali
Perché il sistema binario?
È semplice
Può rappresentare (quasi) ogni informazione
Come viene realizzato un bit?
- Direzione di magnetizzazione - Presenza/ assenza di corrente/tensione - Passaggio/non passaggio di luce
Un bit rappresenta 2 possibili informazioni (Esempio: sì/no, on/off, su/giù, vero/falso).
Combinando più bit si rappresentano più informazioni.
2 bit ➔ 4 informazioni :
Esempio: Un esame con 4 possibili esiti insufficiente (00), sufficiente (01), buono
(10), ottimo (11).
La corrispondenza concetto/configurazione di bit è una convenzione!
Con N bit si rappresentano 2
N
informazioni
8 bit formano un byte.
8 bit => 2
8
= 256 informazioni diverse
Il byte viene utilizzato - insieme al bit - come unità di misura per esprimere la capacità della
memoria , la potenza di un calcolatore , la velocità di trasmissione di una linea.
1 B (byte) = sequenza di 8 b (bit)
Unità di misura – il Bit
Unità di misura – il Byte
Ci serve una rappresentazione adatta all’elaboratore, ma prima di tutto ci serve fare un po’
di chiarezza sui problemi legati alla rappresentazione dei numeri. Iniziamo con il distinguere
tra numerale e numero.
Numerale : simbolo che rappresenta un numero
o I numerali differiscono dai numeri come le parole differiscono dai concetti che
rappresentano
o Esempio: 6, sei, VI, six rappresentano tutti lo stesso numero
Obiettivo Stiamo cercando un modo efficiente di rappresentare i numeri (i.e. delle
quantità).
Soluzione inefficiente usiamo un simbolo per indicare un oggetto.
Problema Utilizziamo “tanti simboli” quanti sono gli oggetti. Non è una soluzione
praticabile quando gli oggetti sono nell’ordine dei milioni.
Decimale : “alfabeto” di 10 cifre 0, 1, 2, …, 9
Numerale 245:
2 centinaia
4 decine
5 unità
Cioè 2 volte 10
2
1
0
La potenza di 10 da considerare dipende dalla posizione della cifra.
La notazione posizionale non è l’unica possibile (es. i numeri romani non sono in notazione
posizionale).
Vantaggi :
Efficiente:
Il numero di oggetti indicato cresce esponenzialmente con il numero di cifre usate
Potente:
Gli “algoritmi” che implementano le quattro operazioni sono “semplici”.
Notazione posizionale : la posizione di una cifra in un numerale indica il suo peso in
potenze di 10.
I pesi sono:
- Unità = 10
0
= 1 (posizione 0)
- Decine = 10
1
= 10 (posizione 1)
- Centinaia = 10
2
= 100 (posizione 2)
147 (numero)
128 64 32 16 8 4 2 1
= 2
8
= 256 = 9 bit 2
8-
= 255 = 8 bit
Ho ricavato il numero 128 cercando il numero (in potenza) che più si avvicinasse a 137
7
Per trovare quindi il numero 255 ho dovuto calcolare ogni potenza del 2 partendo da 2
7
0
(= 1).
Invece per trovare 213 10 devo sommare i numeri decimali che corrispondono ai bit uguali a
1, tralasciando quello uguali a 0.
Il numero è dispari perché termina con l’1.
Massimo numero rappresentabile:
Il numero più grande esprimibile con un dato numero di cifre (decimali, binarie, …).
NON coincide con il numero di informazioni rappresentabili!
Per esempio, con 2 cifre decimali rappresento 100 numeri distinti, ma il numero più grande
che posso rappresentare utilizzando la notazione decimale a due cifre è 99 10 (Questo
perché si inizia a contare da 0).
Numeri a 2 cifre
o Sistema decimale :
2
) numeri diversi
Da 0 10 a 99 10 , cioè da 0 a 10
2
Massimo numero rappresentabile: 10
2
o Sistema binario :
2
) numeri diversi
Da 0 2 a 11 2 (da 0 a 3), cioè da 0 a 2
2
Massimo numero rappresentabile: 2
2
Numeri a N cifre
o Sistema decimale :
N
numeri diversi
Da 0 10 a 9… 10 , cioè da 0 a 10
N
Massimo numero rappresentabile: 10
N
o Sistema binario :
N
numeri diversi
Da 0 2 a 1… 2 , cioè da 0 a 2
N
Massimo numero rappresentabile: 2
N
Con 8 cifre
2 (8 bit) = 2
8
-1 = 255 10
Per rappresentare il numero 256 10
ci vuole un bit in più:
10
2
8
Riassumendo ...
Definendo il numero di cifre con cui si rappresentano i numeri, si definisce anche il
massimo numero rappresentabile:
► Con 16 bit 2
16
-1 = 65.
► Con 32 bit 2
32
► Con 64 bit 2
64
-1 = 18.446.744.073.709.551.615 ≈ 1,84 * 10
19
È sufficiente moltiplicare ogni bit per il suo peso e sommare.
Esempio :
2
4
3
2
1
0
=
(avendo 5 bit, io devo moltiplicare ogni bit per il suo peso espresso in potenza 2
N-
es:
(5-1)
4
10
Somma di potenze di 2!
Sommo le potenze di due in cui il bit è uguale a 1.
0 i resti si leggono dal basso verso l’alto perché il primo resto è quello
che ci dice se il numero è pari o dispari e perché è il meno significativo.
10001001: Notazione Binaria
Perché funziona?
Il numero che vogliamo rappresentare ha una rappresentazione binaria del tipo:
x N x N- … x 1 x 0
Il numero si può pensare come la somma di potenze di due:
x N
N
N-
1
0
Proviamo a dividere il numero per due e vediamo cosa succede
(x N
N
N-
1
0
) / 2 =
x N
N
N-
1
0
con resto x 0
Notiamo :
Il resto della divisione è pari alla cifra meno significativa del numero che cerchiamo.
Se sommo 1 + 1 fa 0 ma con il riporto di 1 nella posizione successiva
Esempio :
si legge da destra verso sinistra
4
3
2
1
Problema :
Come rappresentare anche i numeri negativi?
Soluzione semplice :
Usiamo:
o 1 bit per rappresentare il segno
o Gli altri bit per rappresentare il valore assoluto del numero
o Il segno viene rappresentato dal bit più significativo (MSB), il bit più a sinistra:
0 indica un numero positivo
1 indica un numero negativo
o Problemi :
Due rappresentazioni dello 0:
Il metodo per la somma non è consistente
o Occorre una rappresentazione diversa:
Complemento a due tiene valido il metodo della somma
Anziché usare un byte per rappresentare i numeri da 0 a 255, lo usiamo per i numeri da -
128 a 127:
da 00000000 2
10 a 01111111 2
10
e da 10000000 2
10 (il più piccolo numero negativo) a 11111111 2
10
Analogamente :
► Usando 16 bit rappresentiamo da –
15
a 2
15
► Usando 32 bit rappresentiamo da –
31
a 2
31
► Usando N bit rappresentiamo da –
N-
a 2N-1 – 1.