RICHIAMI

1. RAPPRESENTAZIONI NUMERICHE

1.1 Introduzione

Nei calcolatori tutti i tipi di dato vengono rappresentati tramite stringhe di bit di lunghezza fissa.

Ad ogniuna di queste stringhe è dunque associato un significato, che è proprio il dato che essa rappresenta.

Il significato che useremo più di frequente è quello numerico.
In questo caso, ogni stringa binaria rappresenta un numero.

Per rappresentare i numeri naturali si usa la rappresentazione binaria standard.
Per rappresentare i numeri interi si usa la rappresentazione in complemento a 2.
Per rappresentare i numeri reali si usa la rappresentazione in virgola mobile.

1.2 Numeri Naturali

1.2.1 Rappresentazione

1.2.2 Operazioni

1.3 Numeri Interi

1.3.1 Rappresentazione

Viene utilizzata la rappresentazione in complemento alla base (che nel caso binario è, appunto, 2). Questa è identica alla rappresentazione dei numeri naturali, tranne per il fatto che il bit più significativo viene interpretato in due modi: come indicatore del segno (1 per il meno, 0 per il più) e come cifra vera e propria. Infatti, in questa rappresentazione, se un numero è negativo, inizia con uno e, se è positivo, inizia con zero.
Lo zero, per convenzione, viene rappresentato con una sequenza di zero ed è dunque considerato positivo. Lo zero è anche considerato pari.

Esempio (per stringhe di 4 bit):
Stringa binaria Interpretazione binaria standard Interpretazione complemento a due
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1

0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1

1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1

1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0
1
2
3

4
5
6
7

8
9
10
11

12
13
14
15
0
1
2
3

4
5
6
7

-8 (non usato)
-7
-6
-5

-4
-3
-2
-1
Il -8 non viene usato perchè se si calcolasse il suo complemento si otterrebbe zero invece che +8 (lo zero "ruba" uno spazio ai positivi). Si preferisce, dunque, non usarlo.

1.3.2 Operazioni

Le operazioni si fanno come per i numeri naturali, senza considerare il MSB come bit di segno.

Una proprietà di questa rappresentazione è che per ottenere l'opposto di un numero basta complementarne tutti i bit e sommare uno alla cifra meno significativa.
Questa caratteristica è molto utile perchè permette di usare un circuito addizionatore sia per sommare che per sottrarre due numeri. Per sottrarli, infatti, basta sommare al primo l'opposto del secondo e l'opposto del secondo si ottiene con un invertitore (porte not) ed un sommatore.

1.4 Numeri Reali

1.4.1 Rappresentazione

Viene utilizzata la rappresentazione in virgola mobile. Ogni numero reale r viene espresso nella forma seguente:
r = s * m * be
dove
s rappresenta il bit di segno del numero
m rappresenta la parte frazionaria della mantissa, presa senza segno (visto che il segno è considerato nel bit di segno) e normalizzata a zero (ovvero la mantissa deve essere del tipo 0,parte_decimale)
b è la base del sistema di numerazione scelto: 2 per il sistema binario, 10 per il decimale, ecc.
e rappresenta l'esponente espresso in complemento alla base.
Nella cella di memoria che dovrà contenere un numero reale così rappresentato vengono memorizzate soltanto le seguenti informazioni:
bit di segno parte frazionaria della mantissa esponente
Ogniuna di queste 3 informazioni occupa un ben determinato numero di bit, che ora non ricordo, e tutte insiem sono sufficienti per ricostruire il numero di partenza.

1.4.2 Operazioni

Addizioni e sottrazioni: Moltiplicazioni: Divisioni:

2. VELOCITA' DELLE PORTE

Per velocità di una porta si intende il tempo che questa impiega per adattare il suo output agli input che riceve.

La porta più veloce è la NAND.
Se assumiamo che essa inpiega un tempo T per adattarsi agli input, si può tracciare il seguente schema:
Porta Tempo
Nand
Not
And
Xor
T
T
2 T
3 T

3. LA WORD

Le stringhe binarie su cui i calcolatori lavorano devono avere lunghezza finita e fissata.
Tali stringhe sono dette parole o word.
La loro lunghezza condiziona tutta l'architettura del calcolatore: ogni circuito sarà in grado di manipolare (addizionare, memorizzare, eseguire, ecc.) solo stringhe di quella lunghezza.