Appunti elettronica digitale

Paolo Beghelli
APPUNTI
DI
ELETTRONICA DIGITALE
Pag.1
Indice
1. ELETTRONICA DIGITALE ................................................................................................................................. 2
1.1 Generalità.................................................................................................................................................................. 3
1.2 Sistema di numerazione binario................................................................................................................................ 3
1.3 Operazioni con i numeri binari ................................................................................................................................. 4
1.3.1 Somma ................................................................................................................................................................... 4
1.3.2 Differenza .............................................................................................................................................................. 4
1.3.3 Moltiplicazione ...................................................................................................................................................... 5
1.3.4 Divisione................................................................................................................................................................ 5
1.3.5 Complemento di un numero................................................................................................................................... 5
1.4 Altri sistemi di numerazione..................................................................................................................................... 7
1.4.1 Sistema esadecimale .............................................................................................................................................. 7
1.4.2 Sistema ottale......................................................................................................................................................... 8
1.5 I codici ...................................................................................................................................................................... 9
1.5.1 Codice BCD ( Binary Coded Decimal )................................................................................................................. 9
1.5.2 Codice ASCII ( American Standard Code for Information Interchange )............................................................ 10
1.5.3 Codice EBCDIC ( Extended Binary Coded Decimal Interchange Code ) ... Errore. Il segnalibro non è definito.
1.6 La logica combinatoria ................................................................................... Errore. Il segnalibro non è definito.
1.
Pag.2
ELETTRONICA DIGITALE
1.1 Generalità
L’elettronica digitale si occupa dell’elaborazione di segnali elettrici per eseguire operazioni di
carattere matematico o logico.
I segnali elettrici vengono elaborati sotto due stati diversi :
- ON ( acceso )
=
percorso da corrente
- OFF ( spento )
=
non percorso da corrente
Alla base dell’ elettronica digitale c’è il :
1.2 Sistema di numerazione binario
Ogni sistema di numerazione si basa sulla seguente EQUAZIONE FONDAMENTALE
N = Cn bn + Cn-1 bn-1+ C1 b1 + C0 + b0
b
Ci
N
=
=
=
dove:
base del sistema
numero qualsiasi compreso tra 0 e b-1 (=cifra)
esponente
La generica cifra è detta anche DIGIT.
Il sistema decimale comunemente usato non è altro che ricavato dalla E.F. con base b = 10
Esempio
:
432
4102+3101+2100
=
432
La posizione occupata dalla cifra (DIGIT) indica il peso della cifra stessa ( centinaia, decine, unità
…)
NEL SISTEMA BINARIO:
B
Ci
=
=
2
può essere 1°0
L’equazione fondamentale diventa :
N = Cn2n+Cn-12n-1+
C121+C020
Perciò: i numeri sono esprimibili nel sistema binario come successione di 1 e 0
Esempio
:
2 = 121+020
C1 C0
Quindi, siccome N= C1C0
Esempio
Per cui 9
:
(=2+0)
, nel sistema binario 2 diventa
9 = 123+022+021+120
:
10 (=uno, zero)
(=8+0+0+1)
1001 nel sistema binario
Pag.3
PASSAGGIO DAL SISTEMA DECIMALE AL SISTEMA BINARIO
Per passare dal sistema binario al decimale basta applicare l’equazione fondamentale.
Per passare invece dal decimale al binario, occorre invece dividere successivamente il numero per 2
segnando i resti, ordinandoli poi in modo inverso.
ESEMPIO
N=27
272 = 13
132 = 6
62 = 3
32 = 1
12 = 0
resto 1
resto 1
resto 0
resto 1
resto 0
Quindi 27
1 1 0 1 1
Infatti : 124+123+022+121+120 = 16+8+0+2+1 = 27
1.3 Operazioni con i numeri binari
( da non confondere con la LOGICA BINARIA )
1.3.1 Somma
Le regole della somma sono :
0+0
0+1
1+0
1+1
Esempio :
=
=
=
=
0
1
1
0
13
8
------21
senza riporto
senza riporto
senza riporto
con riporto
1101
1000
---------10101
16+0+4+1 = 21
1.3.2 Differenza
Le regole della differenza sono :
0-0
1-0
0-1
1-1
Esempio :
=
=
=
=
21
8
-----13
0
1
1
0
senza richiamo
senza richiamo
con richiamo
senza richiamo
110101
1000
---------01101
0+8+4+0+1 = 13
Pag.4
1.3.3 Moltiplicazione
Le regole della moltiplicazione sono:
00
01
10
11
Esempio :
=
=
=
=
87
0
0
0
1
=56
senza riporti
1000 
111
----------------1000
10001000-----------------111000
=
32+16+8+0+0+0=56
1.3.4 Divisione
La divisione si esegue per sottrazioni successive come nel caso decimale
Esempio :
72=
------52=
------32=
-------resto 1
7:2
111 10 =
---------1101 –
10 =
----------011 –
10 =
----------001
Risultato : 3 con rsto 1 ( sia nel caso decimale che binario )
Nota : in seguito useremo più sovente la somma e la moltiplicazione, mentre per la differenza
vedremo il sistema del COMPLEMENTO in quale è più usato in quanto più adatto all’elaborazione
nei circuiti elettronici.
IMPORTANTE : LE CIFRE 0 E 1 VENGONO CHIAMATE BIT ( = BInary digiT )
1.3.5 Complemento di un numero
Pag.5
Si definisce complemento di un numero, qualunque sia la base del sistema di numerazione, la
differenza tra la potenza n-esima della base e il numero stesso, dove n è il numero di cifre del
numero
Esempio :
complemento a 10 del numero 127
103-127 = 873
Lo stesso risultato si può ottenere facendo il complemento a 9 e aggiungendo 1
Complemento a 9 di 1
Complemento a 9 di 2
Complemento a 9 di 7
=
=
=
8
7
2
872+1 = 873
In matematica binaria si preferisce pertanto calcolare il complemento a 1 e sommare
successivamente 1 per ottenere il COMPLEMENTO a 2
Ciò perché il complemento a 1 è presto ricavato invertendo tutti i bit
Esempio :
N
=
1011
Complemento a 1:
=
0100
Complemento a 2
=
0100+
1=
-------0101
A questo punto possiamo eseguire la DIFFERENZA BINARIA come somma del complemento a 2
Esempio :
27 – 11 = 16
27
28
11011
01011
Il complemento a 2 di 01011 è :
10100+
1=
-----------10101
complemento a 1
complemento a 2
Eseguo :
11011+
10101 =
---------110000
Pag.6
Eliminando la prima cifra a sinistra si ottiene . 1000 = 16 ( nel sistema decimale )
Note :
1)
prima di eseguire il complemento a 1 devo pareggiare le cifre del sottraendo con
quelle del minuendo aggiungendo a sinistra degli 0
2)
eseguita la somma con il complemento a 2, il risultato ottenuto va privato del
primo 1 a sinistra
3)
nei sistemi elettronici si usa il sistema del complemento a 1, perché più semplice
ed immediato ( basta invertire i bit )
1.4 Altri sistemi di numerazione
1.4.1 Sistema esadecimale
E’ un sistema a base 16 in cui le cifre vengono indicate con i simboli:
0
1
2
Esempio :
3
4
5
6
7
8
9
A B
(10)
(14) (15)
C
D
E
F
(11) (12) (13)
il numero E2B in esadecimale, corrisponde a :
14162+2161+11160 = 14256+216+111 = 3627
Pag.7
1.4.2 Sistema ottale
E’ analogo al precedente, ma utilizza le cifre :
0
1 2 3 4 5 6 7
I motivi per cui sono stati introdotti questi due sistemi derivano dalla necessità di codificare in
modo binario il nostro sistema decimale.
Ora se utilizzo n. 3 bit, non riesco a codificare tutte l cifre da 0 a 9, infatti:
Decimale
0
1
2
3
4
5
6
7
binario
000
001
010
011
100
101
110
111
Se invece utilizzo 4 bit, questi non sono sfruttati per le massime prestazioni possibili, perché con 4
bit posso rappresentare 16 cifre
Decimale
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Pag.8
1.5 I codici
In generale la codifica è un metodo per rappresentare determinate informazioni per mezzo di
simboli.
I simboli normalmente usati sono le lettere dell’alfabeto e le cifre da 0 a 9.
I simboli disponibili, invece, nel sistema binario sono esclusivamente 0 e 1.
Per poter quindi utilizzare questi simboli per rappresentare informazioni in modo comprensibile, sia
di tipo numerico che non, sono stati formulati dei CODICI.
1.5.1 Codice BCD ( Binary Coded Decimal )
E’ un sistema di codifica soltanto numerico ed utilizza la rappresentazione binaria delle cifre da 0 a
9 ordinandole ( dando perciò un “ peso “ ) come nel sistema decimale.
Per ogni cifra si utilizzano 4 bit.
decimale
0
1
2
3
4
5
6
7
8
9
Esempio :
N10
binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
=
NBCD =
427
4
2
7
0100 / 0010 / 0111
Con il codice BCD il numero di bit necessari per rappresentare un numero è sempre maggiore dei
corrispondenti in Binario puro, ma l’interpretazione è più semplice.
Pag.9
1.5.2 Codice ASCII ( American Standard Code for Information Interchange )
E’ un sistema di codifica per rappresentare oltre ai numeri e alle lettere anche i simboli di
punteggiatura, nonché alcuni comandi già formulati ( il codice ASCII era nato inizialmente per le
telescriventi ).
Esso utilizza 7 bit , per cui sono possibili 27 = 128 rappresentazioni di simboli diversi.
I primi 3 bit hanno un “ peso “ maggiore ed indicano grosso modo la famiglia di appartenenza del
simbolo, mentre gli altri 4 bit la individuano esattamente.
Esempio :
DEC
ASCII
65
A
Binario
26 25 24
100 0001
famiglia delle
lettere maiuscole
HEX
23 22 21 20
4
161 160
1
Viene aggiunto poi un ottavo bit di controllo parità.
Esso non ha significato per la codifica, ma serve solo come controllo di eventuali errori.
Vale 1 se i bit a 1 della codifica sono dispari, vale 0 se viceversa sono pari.
Per quanto riguarda la codifica dei 128 simboli del codice ASCII, si fa riferimento alla tabella
allegata.
1.5.3 Codice EBCDIC ( Extended Binary Coded Decimal Interchange Code )
E’ un codice che utilizza 8 bit, per cui consente 28= 256 rappresentazioni di simboli per le quali si
rimanda alla tabella allegata.
E’ un codice utilizzato in particolare dall’IBM per i grossi calcolatori.
NOTA : l’insieme di 8 bit è molto utilizzato in elettronica.
Esso si chiama comunemente byte.
Un insieme di 4 bit si chiama semibyte o nible.
Un Kbyte vale 210 = 1024 byte
Pag.10