![Page 1: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/1.jpg)
Lezione2:Lezione2:Circuiti LogiciCircuiti Logici
![Page 2: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/2.jpg)
macchina hardware
macchina software
utente
traduce per noi in linguaggio macchina
Agli albori dell'informatica, l’utente programmava in binario (Ling.Mac.) scrivendo i programmi nella RAM
![Page 3: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/3.jpg)
L’ Hardware di un computerL’ Hardware di un computer
•Hardware = insieme dei circuiti elettronici
Un circuito puo’ essere descritto
– Mostrando i dettagli realizzativi in termini di
circuiti elementari (porte)
– Mediante una tavola di verita che mostra i valori in uscita per tutti i possibili ingressi
• 3 tipi di circuito fondamentali: and, or, not
![Page 4: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/4.jpg)
and, or, notand, or, not
Operazione logica: operazione che agisce sui valori di verita’ vero e falso: dati due valori di verita’ come operandi ritorna un
valore di verita’ come risultato
![Page 5: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/5.jpg)
Porte logichePorte logiche
IDEA: identificare il valore di verità FALSO con 0 IDEA: identificare il valore di verità FALSO con 0 (assenza di tensione)(assenza di tensione)
Identificare il valore di verità VERO con 1 Identificare il valore di verità VERO con 1 (presenza di tensione) (presenza di tensione)
![Page 6: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/6.jpg)
66
• Contempla due costanti 00 e 11 (falsofalso e verovero)• Corrispondono a due stati che si escludono a vicenda• Possono descrivere lo stato di apertura o chiusura di
un generico contatto o di un circuito a più contatti
• Sui valori booleani si definiscono le operazioniANDAND, OROR, NOTNOT
0 1
George Boole (1810-1864) George Boole (1810-1864) L’algebra di Boole L’algebra di Boole −− 1 1
![Page 7: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/7.jpg)
77
L’algebra di BooleL’algebra di Boole
![Page 8: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/8.jpg)
88
• Si definisce l’operazione di somma logicasomma logica (OR):il valore della somma logica è il simbolo 1 se il valore di almeno uno degli operandi è il simbolo 1
0+0 = 00+1 = 11+0 = 11+1 = 1
0
0
0
1
0+0 0+11
1
1
0
1+0 1+1
L’operazione di OR L’operazione di OR
![Page 9: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/9.jpg)
99
• Si definisce l’operazione di prodotto logicoprodotto logico (AND):il valore del prodotto logico è il simbolo 1 se il valore di tutti gli operandi è il simbolo 1
0×0 = 00×1 = 01×0 = 01×1 = 1
11
1×1
01
1×0
10
0×1
00
0×0
L’operazione di ANDL’operazione di AND
![Page 10: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/10.jpg)
1010
• Si definisce l’operatore di negazionenegazione (NOT):l’operatore inverte il valore della costante su cui opera
• Dalla definizione…
La negazione NOT La negazione NOT
0=11=0
0=01=1
![Page 11: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/11.jpg)
⇒ A B A ⇒ Bfalso falso verofalso vero verovero falso falsovero vero vero
A B A ⇒ B0 0 10 1 11 0 01 1 1
R B
A
A ⇒ B equivale a (NOT A) OR B
A B NOT A (NOT A) OR B0 0 1 10 1 1 11 0 0 01 1 0 1
IMPLICAZIONE (se allora)
A è condizione sufficiente per BB è condizione necessaria per A
![Page 12: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/12.jpg)
≡A B A ≡ B0 0 10 1 01 0 01 1 1
B
A
R
A ≡ B equivale a (A ⇒ B) AND (B ⇒ A) A B A ⇒ B B ⇒ A (A ⇒ B)AND(B ⇒ A)0 0 1 1 10 1 1 0 01 0 0 1 01 1 1 1 1
EQUIVALENZA
![Page 13: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/13.jpg)
Tavole di verità e circuitiTavole di verità e circuiti
- Dato un qualsiasi circuito e’ sempre possibiledefinire la tavola di verita’ (in un solo modo)
- Data una tavola di verita’ si possono costruirein generale piu’ circuiti che la realizzano
circuito Tavola di veritàUn solo modo
Tavolà di verità Circuito 1
Circuito nCircuito 2
![Page 14: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/14.jpg)
Dal circuito alla tavola di veritàDal circuito alla tavola di verità
- Modo 1) Si calcola, per ogni possibile configurazione degli ingressi, l’uscita delle porte fino alle uscite del circuito
- Modo 2) Si calcola la formula logica corrispondente al circuito e si calcolano le tabelle di verita’ partendo dalle formule intermedie piu’ semplici fino alla formula data
![Page 15: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/15.jpg)
Dalla tabella di verita’ ad un circuito
Tanti input quante sono le dimensioni della tabella Un solo output Un or la cui uscita e’ l’output Tanti and quanti sono gli 1 della tabella Input degli and: diretto se 1, negato se 0
A B A ≠ B0 0 0
0 1 11 0 11 1 0
B
A
R
![Page 16: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/16.jpg)
!!! Chiaramente il circuito cosi’ costruito non necessariamente e’ il piu’ semplice (ovvero con il minor numero possibile di porte logiche utilizzate)
![Page 17: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/17.jpg)
Nand e norNand e nor
NonNon servono servono tretre operazioni ( operazioni (and, or, notand, or, not))
Basta Basta unauna tra : tra :
nand nand (not and) (not and) e e nornor (not or)(not or)
![Page 18: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/18.jpg)
NAND NOR
A B A NAND Bfalso falso verofalso vero verovero falso verovero vero falso
A B A NOR Bfalso falso verofalso vero falsovero falso falsovero vero falso
10 1
01 111 0
10 0RA B
00 1
01 101 0
10 0RA B
A
B R
R A
B
![Page 19: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/19.jpg)
NAND e NOR
Una CPU si puo` realizzare stampando su siliciouna griglia di milioni di porte logiche tutte uguali:NAND o NOR.
![Page 20: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/20.jpg)
AND
OR
A R
NOT
A R
B
R
B
A
A nand A (A nand B) nand (A nand B)
(B nand B) nand (A nand A)
![Page 21: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/21.jpg)
Esercizio 1 (formule)
Quale e’ la tavola di verita’ della formula (not(A) B) OR NOT(A) ?
A B Not(A) R
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
Not(A)B
0
1
1
1
![Page 22: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/22.jpg)
Esercizio 1 (formule)
Quale e’ la tavola di verita’ della formula (not(A) B) OR NOT(A) ?
A B Not(A) R
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
Not(A)B
0
1
1
1
![Page 23: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/23.jpg)
Esercizio 2 (formule)
Quale e’ la tavola di verita’ della formula A or (A and not(B)) ?
A B A and not(B)Not(B) R
0
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
0
0
1
1
![Page 24: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/24.jpg)
Esercizio 3 (circuiti)
Si disegni un circuito logico che realizza la seguente tavola di verita’:
24
A B R0 0 00 1 11 0 11 1 0
B
A
R
![Page 25: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/25.jpg)
Dare la tavola di verita’ della formula(NOT(A) NOT(B)) OR (NOT(A) AND B)NOT(A) NOT(B) = NOT(NOT(A)) or NOT(B)==A or NOT(B)(A or NOT(B)) or (NOT(A) and B)
A B A or not(B)Not(A) R
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
1
1
Not(B) Not(A) and B
1
0
1
0
0
1
0
0
Esercizio 4
![Page 26: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/26.jpg)
Circuito (NOT(A) NOT(B)) OR (NOT(A) AND B)
Esercizio 4
or
R
AB
and
and
and
or
orand
![Page 27: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/27.jpg)
...due aspetti......due aspetti...
Le formule logiche si possono utilizzare per formalizzare asserzioni anche molto complesse
Si possono comporre circuiti semplici per ottenenere circuiti che realizzano nuove operazioni piu`complesse
![Page 28: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/28.jpg)
Esempio Siccome un rettangolo è un quadrato se ha altezza
uguale alla base allora un rettangolo che non è un quadrato non ha altezza uguale alla base
Formalizzazione:A=”è un quadrato”B=”ha altezza uguale alla base”
(B==>A) ==> (NOT A ==> NOT B)
![Page 29: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/29.jpg)
Tabella di verità
A B B==> A NOT A ==> NOT B
F
0 0 1 1 11 0 1 1 10 1 0 0 11 1 1 1 1
![Page 30: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/30.jpg)
Alcune definizioni...Alcune definizioni...
Formula SODDISFACIBILE (almeno un 1 in tabella)
Formula INSODDISFACIBILE (tutti 0 in tabella)
Formula VALIDA (tutti 1 in tabella) (TAUTOLOGIA)
F VALIDA <==> not F INSODDISFACIBILE
![Page 31: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/31.jpg)
Esempio di utilizzo di circuiti: Esempio di utilizzo di circuiti: Somma tra binariSomma tra binari
![Page 32: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/32.jpg)
3232
• Sistemi di numerazione posizionaliposizionali:La basebase del sistema di numerazioneLe cifrecifre del sistema di numerazione
Il numero è scritto specificando le cifre in ordine ed il suo valore dipende dalla posizione relativa posizione relativa delle cifre
Esempio:Esempio: Il sistema decimale (Base 10)
Cifre : 0 1 2 3 4 5 6 7 8 9Cifre : 0 1 2 3 4 5 6 7 8 9
5641 = 5·103 + 6·102 + 4·101 + 1·100
Posizione: 3 2 1 0
Sistemi di numerazione posizionaliSistemi di numerazione posizionali
![Page 33: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/33.jpg)
3333
• La base definisce il numero di cifre diverse nel sistema di numerazione
• La cifra di minor valore è sempre lo 0; le altre sono, nell’ordine, 1,2,…,B−1; se B>10 occorre introdurre B−10 simboli in aggiunta alle cifre decimali
N = cN = cnnBBnn+c+cnn−−11BBnn−−11+...+c+...+c22BB22+c+c11BB11+c+c00BB00
Un numero frazionariofrazionario N’ si rappresenta come (0,c1c2…cn)B
Un numero interointero N si rappresenta con la scrittura (cncn−1…c2c1c0)B
N’ = cN’ = c11BB−−11+c+c22BB−−22+...+c+...+cnnBB−−nn
ccnn è la cifra più significativacifra più significativa, cc00 la meno significativameno significativa
Sistemi in base BSistemi in base B
![Page 34: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/34.jpg)
3434
• Con n cifre in base B si rappresentano tutti i numeri interi positivi da 0 a Bn−1 (Bn numeri distinti)
Esempio:Esempio: base 10
2 cifre: da 0 a 102−1 = 99
000102….9899
Esempio:Esempio: base 2
2 cifre: da 0 a 22−1 = 3
00011011
102 = 100 valori
22 = 4 valori
Numeri interi senza segnoNumeri interi senza segno
![Page 35: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/35.jpg)
3535
• La base 2 è la più piccola per un sistema di numerazioneLa base 2 è la più piccola per un sistema di numerazione
Cifre: 0 1 Cifre: 0 1 −− bitbit (binary digit) (binary digit)
Esempi:Esempi:
(101101)2 = 1×25 + 0×24 + 1×23 + 1×22 + 0×21 + 1×20 = 32 + 0 + 8 + 4 + 0 + 1 = (45)10
(0,0101)2 = 0⋅2−1 + 1⋅2−2 + 0⋅2−3 + 1⋅2−4 = 0 + 0,25 + 0 + 0,0625 = (0,3125)10
(11,101)2 = 1⋅21 + 1⋅20 + 1⋅2−1 + 0⋅2−2 + 1⋅2−3 = 2 + 1 + 0,5 + 0 + 0,125 = (3,625)10
FormaFormapolinomiapolinomia
Il sistema binario (BIl sistema binario (B==2)2)
![Page 36: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/36.jpg)
3636
• Un bytebyte è un insieme di 8 bit (un numero binario ad 8 cifre)
• Con un byte si rappresentano i numeri interi fra 0 e 28−1 = 255
• È l’elemento base con cui si rappresentano i dati nei calcolatori• Si utilizzano sempre dimensioni multiple (di potenze del 2) del
byte: 2 byte (16 bit), 4 byte (32 bit), 8 byte (64 bit)…
b7b6b5b4b3b2b1b0
00000000000000010000001000000011…………….1111111011111111
28 = 256 valori distinti
Dal bit al byteDal bit al byte
![Page 37: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/37.jpg)
Somma binariaSomma binaria
Riporto: 1 1 1 1 0 0
0111002 + 1001112 = ----------- 10000112
Colonna per colonna, da destra a sinistra Riporto se la somma su una colonna supera la base
Tre cifre binarie (prima riga, seconda riga, riporto), somma =1 se una o tre sono 1, riporto = 1 se almeno due sono 1
![Page 38: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/38.jpg)
10000110 riporti 1010011 + 1100011 = ---------- 10110110
Iniziamo con un Iniziamo con un circuitocircuito che faccia che faccia la la somma su una colonnasomma su una colonna
Abbiamo tre cifre binarie X, Y, R in input mentre in output vogliamo ottenere la somma S ed il riporto R'
![Page 39: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/39.jpg)
Tabella di verità X Y R S R' 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1
![Page 40: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/40.jpg)
Supponiamo di avere i circuiti che calcolano somma e riporto
SOMMA
XYR
S
RIPORTO
XYR
R'
![Page 41: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/41.jpg)
Possiamo allora combinare i circuiti SOMMA e RIPORTO per ottenere il seguente circuito
1-ADD
SOMMAXYR
S
RIPORTOR'
1-ADD
![Page 42: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/42.jpg)
Il circuito RIPORTO puo` essere realizzato nel seguente modo
X
Y
R
R'
RIPORTO
Basta infatti verificare la corrispondente tabella di verita’
(Il nuovo riporto è q se almeno due di esse sono 1, 0 altrimenti)
![Page 43: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/43.jpg)
R
Y
R
X
CIRCUITO SOMMA(la somma di tre cifre è 1 se o tutte e tre sono 1 oppure una sola vale 1)
![Page 44: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/44.jpg)
A questo punto componendo K circuiti 1-ADD e` possibile realizzare un circuito K-ADD che somma due numeri binari di K cifre.
Vediamo l'esempio della somma di due numeri binari di 4 cifre.
![Page 45: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/45.jpg)
Y3 Y2 Y1 Y0 X3 X2 X1 X0
1-add 1-add 1-add 1-add0 riporto iniziale
riporto finale inutile
risultato
Somma di numeri di 4 bit
S0S1S2S3
0R0R1R2R3
![Page 46: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/46.jpg)
0 1 1 0 0 1 1 1
1-add 1-add 1-add 1-add
1 1 0 1
00110
Esempio
0111 + 0110 = ------ 1101
![Page 47: Lezione2: Circuiti Logici - MathUniPDaceccato/Intro_1213/Lezione2_Circuiti... · 36 • Un byte è un insieme di 8 bit (un numero binario ad 8 cifre) • Con un byte si rappresentano](https://reader034.vdocuments.mx/reader034/viewer/2022051814/6036485bd9ea45325405e347/html5/thumbnails/47.jpg)
AttenzioneAttenzioneSi e` trascurato il problema del cosiddetto overflow, cioe’ il risultato e’ troppo grande per essere contenuto nei bit disponibili.
Per esempio:
0111 + 1110 = ------ 10101