MACCHINA DI
CAPITOLO 1 e 2 DEL LIBRO DI
VON
NEUMANN
E’ l’architettura di calcolatore “general purpose” (quindi di applicabilità generale), ideata intorno al 1940,
basata sull’ipotesi fondamentale che i dati e le istruzioni operanti su di esso siano codificabili in uno stesso
formato. Il programma non è più quindi una parte hardware del sistema ma diventa software conferendo una
grande versatilità a questa nuova architettura.
Essa si compone di tre sottosistemi (+ il sistema d’interconnessione):
- SOTTOSISTEMA DI MEMORIZZAZIONE: memorizza istruzioni e dati. Si compone dell’Hard Disk
(memoria di archiviazione) e della RAM;
- SOTTOSISTEMA DI ELABORAZIONE: esegue in modo sequenziale tutte le istruzioni passando
dall’una all’altra. Esso si compone della CPU (Central Processing Unit);
- SOTTOSISTEMA DI INTERFACCIA: gestisce l’input dei dati verso il calcolatore (mediante mouse,
tastiera, microfono) e l’output dei risultati dell’elaborazione verso gli utenti (con monitor, casse audio,
stampante). Permette inoltre di trasmettere e ricevere informazioni anche da altri calcolatori e di
acquisire informazioni dall’ambiente (con dei sensori) e operare sull’ambiente (con attuatori);
MODI D’USO DEL CALCOLATORE
Le funzioni del calcolatore sono andate via via modificandosi infatti inizialmente esso era adibito unicamente
al calcolo mentre ora è lo strumento prediletto per l’elaborazione e la trasmissione di informazione. Si è
passati così alla confluenza di due settori inizialmente separati, ossia l’IT (Information Technology) e le
telecomunicazioni, nell’ICT (Information and Communication Technology), la cui importanza è evidenziata
dal successo del World Wide Web.
Ci sono tre tipi di utilizzo di un calcolatore:
- Interazione utente – calcolatore = il PC viene utilizzato per la risoluzione di un problema grazie ad
un programma o per il semplice accesso ad un archivio salvato in locale;
- Interazione utente – calcolatore – calcolatore remoto = il proprio PC viene utilizzato per accedere
ad un secondo calcolatore in rete col primo per la risoluzione remota di un problema (es. Word
attraverso internet) o per l’accesso ad archivi remoti (es. Wikipedia);
- Interazione utente – calcolatore – calcolatore remoto – altro utente = scambio di
documentazione (mail) o risoluzione cooperata di un problema. Essa può essere sincrona (chat) o
asincrona (e-mail);
INFORMAZIONE E SUPPORTO
INFORMATICA = scienza della rappresentazione e dell’elaborazione dell’informazione;
L’informazione esiste solamente se esiste un supporto sul quale essere trasmessa ( ci può essere l’inchiostro ma se
). Non bisogna confondere l’informazione col supporto in quanto esso è solo
non ho dove scrivere non posso “informare”
lo strumento attraverso cui l’informazione può passare. Va inoltre detto che la STESSA informazione può
essere trasmessa su supporti DIVERSI ( ) così come uno
10 scritto su un foglio, 10 palline, 10 tacche su una scala graduata
STESSO supporto può portare informazioni DIVERSE.
Un supporto per poter portare informazione deve poter assumere almeno due configurazioni e per
interpretare tali configurazioni è necessario conoscere un codice che mi permetta di decodificare
l’informazione. Senza la conoscenza del codice una stessa configurazione mi può portare diversi significati
( come . – nel codice Morse dove li posso interpretare come 1) punto linea; 2) lettera A; 3) messaggio corrispondente alla lettera A, ad esempio
). La configurazione a due assume il ruolo di “unità elementare” d’informazione e prende il nome
attuare piano A
di BIT (binary unit).
- CODIFICA = operazione con cui l’informazione viene scritta su un supporto;
- DECODIFICA = operazione con cui l’informazione viene recepita dall’utente;
LA CODIFICA BINARIA: introduzione
Per non incorrere in ambiguità di linguaggio l’alfabeto utilizzato dei calcolatori (Linguaggio macchina) si
compone di due simboli 0 e 1 (visti come simboli, non numeri, infatti possono significare qualsiasi cosa),
alfabeto che prende il nome di BINARIO, composto da BIT (8 bit = 1 byte).
- ALGORITMO = descrizione della soluzione di un problema, ossia sequenza finita d’istruzioni
operante su dati;
- PROGRAMMA = algoritmo scritto in modo da poter essere eseguito da un calcolatore (linguaggio
macchina); k =
Dato il numero di elementi da identificare, per conoscere il numero di bit richiesti all’operazione si ha:
[log S] con “k” = n° bit ed “S” = n° elementi da identificare. Le [] indicano l’intero maggiore o uguale ad S.
2
ES. Ho 10 elementi, quanti bit mi occorrono? k = [log 10] = [3,32] = 4
2
Da BASE QUALSIASI (BQ) a BASE 10
n°elemento partendo da 0 e da destra n°elemento partendo da 0 e da
Numero = prima cifra da sinistra x BQ + seconda cifra da sx x BQ
BQ
dx
Esempio_Da BASE 2 a BASE 10
5 4 3 2 1 0
101100 = 1 x 2 + 0 x 2 + 1 x 2 + 1 x 2 + 0 x 2 + 0 x 2 = 32 + 0 + 8 + 4 + 0 + 0 = 44 dieci
due
Esempio_Da BASE 4 a BASE 10
3 2 1 0
2302 = 2 x 4 + 3 x 4 + 0 x 4 + 2 x 4 = 128 + 48 + 0 + 2 = 178
quattro dieci
Esempio_Da BASE 16 a BASE 10
2 1 0 2 1 0
F2B = F x 16 + 2 x 16 + B x 16 = 16 x 16 + 2 x 16 + 11 x 16 = 3840 + 32 + 11 = 3883
sedici dieci
Da BASE 10 a BASE 2 Numero in base dieci
Divendo in base dieci
Quoziente in base dieci
Resto in base dieci
143 143 = 10001111
dieci due
:
2
71 REGOLA
1 GENERALE:
71 Si continua a dividere
: segnando il quoziente
2 e il resto a parte.
35 Infine si leggono i
1
35 :
2
17
1
17
:
2
8
1
8
:
2
4
0
4
:
2
2
0
2
:
2
1
0
1
:
2
0
1
Esempio_Da BASE 10 a BASE 5 Numero in base dieci
Divendo in base dieci
Quoziente in base dieci
Resto in base dieci
143
:
5
28
3
28
:
5
5
3 143 = 1033
dieci cinque
5 :
5
1
0
1
:
5
0
1
CODIFICA BINARIA DEI NUMERI INTERI (INSIEME Z)
I numeri interi, appartenenti quindi all’insieme Z, si possono rappresentare:
- Codifica modulo e segno = Utilizza il primo bit della successione per il segno (1 negativo; 0
positivo) e i restanti per la rappresentazione del modulo. Questa codifica permette di rappresentare i
n-1 n-1
numeri compresi fra - 2 + 1 e 2 – 1. Tale codifica ha però un problema: rappresenta il numero 0 in
due modi, +0 e -0, come se essi fossero diversi.
- Codifica in complemento a due = il numero x è rappresentato dal valore binario naturale
n
corrispondente a 2 + x, dove n è il numero esatto di bit utilizzati per la codifica. Questa codifica
n-1 n-1
permette di rappresentare i numeri compresi fra - 2 e 2 – 1. Tale codifica risolve così il problema
della doppia rappresentazione del numero 0. La codifica in complemento a due ha due
caratteristiche da tenere bene a mente: 1) quando viene aggiunto uno o più bit per configurare, mi
basta aggiungere uno 0 se il primo numero da sinistra è uno 0 oppure un 1 se il primo numero è un
1; 2) Se io ho la codifica in complemento a due per un numero positivo (o negativo) per trovare il
negativo (o positivo) di quel valore mi basta procedere da destra verso sinistra, tenere fisso il primo
1 e cambiare tutte le cifre successi
-
Appunti Fondamenti di Informatica + Esercizi svolti e codifica
-
Codifica e crittografia
-
Codifica dei numeri: Appunti di Informatica
-
Codifica dei numeri e dei caratteri