![Page 1: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/1.jpg)
- Prelegerea 5 -
Funcţii şi circuite logice
Facultatea de Matematică şi Informatică
Universitatea din Bucureşti
Ruxandra F. Olimid
Arhitectura sistemelor de calcul
![Page 2: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/2.jpg)
Cuprins
1. Recapitulare1. Logica booleană
2. Operaţii de bază (NOT, OR, AND, XOR)
2. Funcţii logice (booleene)1. Forma normal disjunctivă (forma canonică)
2. Forma normal conjunctivă
3. Circuite combinaţionale1. Porţi
2. Reprezentarea funcţiilor logice
2/19
![Page 3: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/3.jpg)
Logica booleană
Logică cu 2 valori de adevăr: True (1) si False (0)
Operații în logica booleană:
P NOT P
0 1
1 0
P Q P AND Q
0 0 0
0 1 0
1 0 0
1 1 1
P Q P OR Q
0 0 0
0 1 1
1 0 1
1 1 1
P Q P XOR Q
0 0 0
0 1 1
1 0 1
1 1 0
NOT (negația) AND (conjuncția) OR (disjuncția) XOR (disjuncția exclusivă)
3/19
![Page 4: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/4.jpg)
Operația şi poarta NOT
P NOT P
0 1
1 0
Tabelul de adevăr Reprezentarea porții NOT
4/19
![Page 5: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/5.jpg)
Operația şi poarta AND / NAND
Tabelul de adevăr Reprezentarea porților AND şi NAND
P Q P AND Q P NAND Q
0 0 0 1
0 1 0 1
1 0 0 1
1 1 1 0
Observaţi că AND realizează înmulţirea pe 1 bit
De aceea a AND b se reprezintă şi ca produsul ab
5/19
![Page 6: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/6.jpg)
Operația şi poarta OR / NOR
Tabelul de adevăr Reprezentarea porților OR şi NOR
P Q P OR Q P NOR Q
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0
a OR b se reprezintă şi ca suma a+b
6/19
![Page 7: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/7.jpg)
Operația şi poarta XOR
Tabelul de adevăr Reprezentarea porții XOR
P Q P XOR Q
0 0 0
0 1 1
1 0 1
1 1 0
Observaţi că XOR realizează adunarea pe 1 bit (fără transport)
7/19
![Page 8: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/8.jpg)
Funcţie booleană (funcţie logică)
O funcţie booleană (logică) o funcţie
În acest caz se spune că funcţia are m intrări şi n ieşiri
𝑓: {0,1}𝑚→ {0,1}𝑛
Funcţiile booleene pot fi reprezentate sub forma tabelelor de adevărîntrucât atât domeniul cât şi codomeniul acestora sunt finite
Există (2𝑛)2𝑚
funcţii logice cu m intrări şi n ieşiri
În general, dacă 𝑓: 𝐴 → 𝐵 , atunci există 𝑐𝑎𝑟𝑑(𝐵)𝑐𝑎𝑟𝑑(𝐴) funcţii 𝑓, unde 𝑐𝑎𝑟𝑑 𝐴 , 𝑐𝑎𝑟𝑑(𝐵) este cardinalul lui A, respectiv B
8/19
![Page 9: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/9.jpg)
Funcţie booleană (funcţie logică)
Întrebare: Care este tabelul de adevăr pentru funcţia de mai jos?
𝑓: {0,1}3→ 0,1𝑓 𝑎, 𝑏, 𝑐 = 𝑎 𝑏 + 𝑐
Răspuns:𝑎 𝑏 𝑐 𝑏 𝑎 𝑏 𝑓
0 0 0 1 0 0
0 0 1 1 0 1
0 1 0 0 0 0
0 1 1 0 0 1
1 0 0 1 1 1
1 0 1 1 1 1
1 1 0 0 0 0
1 1 1 0 0 1 9/19
![Page 10: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/10.jpg)
Funcţie booleană (funcţie logică)
Întrebare: Care este reprezentarea cu porţi a funcţiei de mai jos?
𝑓: {0,1}3→ 0,1𝑓 𝑎, 𝑏, 𝑐 = 𝑎 𝑏 + 𝑐
Răspuns:
Negaţia se reprezintă printr-o poartă NOT
Produsul se reprezintă printr-o poartă AND
Suma se reprezintă printr-o poartă OR
10/19
![Page 11: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/11.jpg)
Funcţie booleană (funcţie logică)
Toate funcţiile booleene (logice)
pot fi construite prin operaţiile de bază (AND, OR, NOT), respectiv de porţile aferente
𝑓: {0,1}𝑚→ {0,1}𝑛
11/19
![Page 12: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/12.jpg)
Forme normale
Fie funcţia booleană definită prin următorul tabel de adevăr:
Conform tabelului, funcţia ia valoarea 1 dacă şi numai dacă:
a=0 şi b=0 şi c=1sau
a=0 şi b=1 şi c=1sau
a=1 şi b=0 şi c=0sau
a=1 şi b=0 şi c=1sau
a=1 şi b=1 şi c=1
Exprimând matematic, se obţine forma canonică (FC) sau forma normal disjunctivă (FND):
𝑓 𝑎, 𝑏, 𝑐 = 𝑎 𝑏𝑐 + 𝑎𝑏𝑐 + a 𝑏 𝑐 + 𝑎 𝑏𝑐 + 𝑎𝑏𝑐
𝑎 𝑏 𝑐 𝑓(𝑎, 𝑏, 𝑐)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
12/19
![Page 13: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/13.jpg)
Forme normale
Forma canonică (FC) sau forma normal disjunctivă (FND):
𝑓 𝑎, 𝑏, 𝑐 = 𝑎 𝑏𝑐 + 𝑎𝑏𝑐 + 𝑎 𝑏 𝑐 + 𝑎 𝑏𝑐 + 𝑎𝑏𝑐
Forma canonică se obţine uşor din tabela de adevăr astfel:
fiecărei valori 1 pe care o ia funcţia îicorespunde un termen în sumă(disjuncţie);
un termen este produsul (conjuncţia) literalilor în care aceştia apar negaţi dacăle corespunde 0 sau nu dacă le corespunde 1
𝑎 𝑏 𝑐 𝑓(𝑎, 𝑏, 𝑐)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
13/19
![Page 14: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/14.jpg)
Forme normale
Forma normal conjunctivă (FNC):
𝑓 𝑎, 𝑏, 𝑐 = (𝑎 + 𝑏 + 𝑐)(𝑎 + 𝑏 + 𝑐)( 𝑎 + 𝑏 + 𝑐)
FNC se obţine uşor din tabela de adevărastfel:
fiecărei valori 0 pe care o ia funcţia îicorespunde un termen în produs(conjuncţie);
un termen este suma (disjuncţia) literalilor în care aceştia apar negaţi dacăle corespunde 1 sau nu dacă le corespunde 0
𝑎 𝑏 𝑐 𝑓(𝑎, 𝑏, 𝑐)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
14/19
![Page 15: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/15.jpg)
Forme normale
Întrebare: Cum se reprezintă cu ajutorul porţilor logice FND obţinută?
𝑓 𝑎, 𝑏, 𝑐 = 𝑎 𝑏𝑐 + 𝑎𝑏𝑐 + 𝑎 𝑏 𝑐 + 𝑎 𝑏𝑐 + 𝑎𝑏𝑐
Răspuns:
15/19
![Page 16: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/16.jpg)
Forme normale
Întrebare: Cum se reprezintă cu ajutorul porţilor logice FNC obţinută?
𝑓 𝑎, 𝑏, 𝑐 = (𝑎 + 𝑏 + 𝑐)(𝑎 + 𝑏 + 𝑐)( 𝑎 + 𝑏 + 𝑐)
Răspuns:
16/19
![Page 17: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/17.jpg)
Forme normale
Forma normal disjunctivă (FND) este unică, făcând abstracţie de o permutare a termenilor sau a factorilor (datorită comutativităţii sumei şiprodusului)
Deci, 2 expresii logice sunt echivalente dacă au aceeaşi formă normal disjunctivă FND
Este deci util să avem un algoritm de aducere a unui funcţii la FND
Vom folosi intens FND la crearea circuitelor logice
17/19
![Page 18: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/18.jpg)
Forme normale
Pas 1: Se scrie expresia / funcţia ca sumă de termeni
Pas 2: Se elimină produsele care se repetă
Pas 3: Se examinează fiecare produs. Dacă este minterm, se trece la următorul. Dacă nu, se completează prin înmulţire cu (𝑥 + 𝑥) pentruvariabilele care lipsesc
Pas 4: Se efectuează calculele şi se elimină termenii redundanţi
Aducerea funcţiilor la forma normal disjunctivă
18/19
![Page 19: Arhitectura sistemelor de calcul - ruxandraolimid.weebly.comruxandraolimid.weebly.com/uploads/2/0/1/0/20109229/asc_c_5.pdf · - Prelegerea 5 - Funcţii şicircuite logice Facultatea](https://reader030.vdocuments.pub/reader030/viewer/2022040113/5e07d7cf9c36fc19ea252c57/html5/thumbnails/19.jpg)
Forme normale
Pas 1: Se scrie expresia / funcţia ca sumă de termeni
Pas 2: Se elimină produsele care se repetă
Pas 3: Se examinează fiecare produs. Dacă este minterm, se trece la următorul. Dacă nu, se completează prin înmulţire cu (𝑥 + 𝑥) pentruvariabilele care lipsesc
Pas 4: Se efectuează calculele şi se elimină termenii redundanţi
Aducerea funcţiei 𝑓 𝑎, 𝑏, 𝑐 = 𝑎 + 𝑏 𝑏 + 𝑐 la FND:
𝑓 𝑎, 𝑏, 𝑐 = 𝑎 + 𝑏 𝑐
𝑓 𝑎, 𝑏, 𝑐 = 𝑎(𝑏 + 𝑏)(𝑐 + 𝑐) + (𝑎 + 𝑎)𝑏 𝑐
𝑓 𝑎, 𝑏, 𝑐 = 𝑎𝑏𝑐 + 𝑎𝑏 𝑐 + 𝑎 𝑏𝑐 +a 𝑏 𝑐 + 𝑎𝑏 𝑐
19/19