13
1 Facultatea de Informatică - Iaşi Arhitectura Calculatoarelor Curs pentru anul I Informatică FII - 2003 [email protected] FII 2 Autori ale căror prezentări publice au fost folosite pentru pregătirea acestei forme a cursului Sivarama Dandamundi Jerry Breecher Randy Katz Michel Allemand Daniel Amyot John Morris FII 3 CUPRINS I. Introducere în Arhitectura şi organizarea calculatorului II. Circuite combinaţionale şi funcţii booleene III. Circuite secvenţiale şi automate IV. Reprezentări interne CIRCUITE COMBINAŢIONALE ŞI FUNCŢII BOOLEENE Capitolul al-II-lea FII 5 &II.1. INTRODUCERE FII 6 Semnal analogic şi semnal digital Semnal analogic – continuu • dacă a luat valorile a şi b, atunci a luat şi “toate” valorile din [a,b]. Semnal digital are câteva niveluri – valori – distincte şi stabile – discontinuu nu ia alte valori (…) Indiferent de fenomenul fizic aflat la bază Calculator: semnal digital cu 2 niveluri • “0” şi “1” … Modem: comunicare digital – analogic. Conducerea proceselor industriale Folosirea reţelelor telefonice analogice

2 - Circuite Combinationale Si Functii Booleene

Embed Size (px)

Citation preview

Page 1: 2 - Circuite Combinationale Si Functii Booleene

1

Facultatea deInformatică - Iaşi

Arhitectura Calculatoarelor

Curs pentru anul I Informatică FII - 2003

[email protected] 2

Autori ale cărorprezentări publice au fost folosite pentru

pregătirea acestei forme a cursului

• Sivarama Dandamundi• Jerry Breecher• Randy Katz• Michel Allemand• Daniel Amyot• John Morris

FII 3

CUPRINS

• I. Introducere în Arhitectura şi organizarea calculatorului

• II. Circuite combinaţionale şi funcţii booleene

• III. Circuite secvenţiale şi automate• IV. Reprezentări interne

CIRCUITE COMBINAŢIONALE ŞI FUNCŢII BOOLEENE

Capitolul al-II-lea

FII 5

&II.1. INTRODUCERE

FII 6

Semnal analogic şisemnal digital

• Semnal analogic– continuu

• dacă a luat valorile a şi b, atunci a luat şi “toate” valorile din [a,b].

• Semnal digital– are câteva niveluri – valori – distincte şi stabile– discontinuu– nu ia alte valori (…)

• Indiferent de fenomenul fizic aflat la bază• Calculator: semnal digital cu 2 niveluri

• “0” şi “1” …• Modem: comunicare digital – analogic.

• Conducerea proceselor industriale• Folosirea reţelelor telefonice analogice

Page 2: 2 - Circuite Combinationale Si Functii Booleene

2

FII 7

Aplicaţii ale circuitelor digitale• Calculatoare

– CPU, memorie, bus, periferice,…• Reţele, comunicaţii

– telefoane, modemuri, routere• Bunuri diverse

– automobile, audio-video, jucării, …• Echipament pentru (alte) activităţi ştiinţifice

– Testare, măsurare etc.• Lumea calculului se extinde mult dincolo de PC.

• embedded systems• definiţii restrânse ale calculului

FII 8

Circuite• Combinaţionale:

• Secvenţiale:

o1

Om

I 1I n

parte

combina-ţională

memorie

INTRĂRI IEŞIRI

STĂRI

I 1

I n

O1

Om

INTRĂRI IEŞIRI

FII 9

Metoda cutiei negre

• Pentru un circuit combinaţional a cărui structură / funcţionare nu este cunoscută:– se aplică fiecare combinaţie posibilă de valori ale

intrărilor;– se observă valorile ieşirilor pentru fiecare astfel de

combinaţie– se obţine astfel un tabel de adevăr.

• Cum unui tabel de adevăr îi corespunde o funcţie booleană, rezultă că fiecărui circuit combinaţional îi corespunde o funcţie booleană.

FII 10

De la circuite la funcţii booleene• Circuit combinaţional tabel de adevăr

• n fixat: partea de intrare e întotdeauna aceeaşi• Întotdeauna aceeaşi corespondenţă pentru un

circuit (determinist)

??….??11….11…….…….…….…….…….…….??….??10….00??….??00….00

Om…….O1In…….I1

FII 11

&II.2. FUNCŢII BOOLEENE

FII 12

Structura algebrică

• Mulţimea nevidă B• Mulţimea de operaţii binare { + , • }• O operaţie unară { }• B conţine cel puţin două elemente,

a, b, a ≠ b.• închidere: a + b este în B

a • b este în Beste în Ba

Page 3: 2 - Circuite Combinationale Si Functii Booleene

3

FII 13

Funcţii booleene• B = {0,1}• f : Bn Bm

• funcţie: n variabile, m valori• circuit: n intrări, m ieşiri

• Există astfel de funcţii. • n=1, m=1 : 4 funcţii unare cu o valoare.

nm 2)2(

1010111000

f3(x) = 1f2(x) = f1(x) = xf0(x) = 0x x

FII 140 X and YX Y X or Y not Y

not X 1

XY

F

X xor YX nor Y

X = YX nand Y

Funcţii booleenede două variabile

• 16 funcţii booleene complet definite de 2 variabile şi cu o valoare.

101010101010101011110011001100110001111100001111000010111111110000000000

F15F14F13F12F11F10F9F8F7F6F5F4F3F2F1F0yx

FII 15

Axiome şi teoremeîn algebra booleană

Xx x

• Identitate 1. X + 0 = X 1D. X • 1 = X• Constante 2. X + 1 = 1 2D. X • 0 = 0• Idempotenţă 3. X + X = X 3D. X • X = X• Involuţie 4. = X• Complementaritate 5. X + = 1 5D. X • = 0• Comutativitate 6. X + Y = Y + X 6D. X • Y = Y • X• Associativitate 7. (X + Y) + Z = X + (Y + Z)

7D. (X • Y) • Z = X • (Y • Z)• Distributivitate 8. X • (Y + Z) = (X • Y) + (X • Z)

8D. X + (Y • Z) = (X + Y) • (X + Z)• Unificare 9. X • Y + X • = X 9D. (X + Y) • (X + ) = X• Absorbţie 10. X + X • Y = X 10D. X • (X + Y) = X

11. (X + ) • Y = X • Y 11D. (X • ) + Y = X + Y

Y Y

Y YFII 16

Legile lui De Morgan

• 12.

• 12D.

• Generalizare:

• 13.

• Dualitate

...... ⋅⋅=++ YXYX

...... ++=⋅⋅ YXYX

),,0,1,,...(),,1,0,,...( 11 +⋅=⋅+ nn XXfXXf

FII 17

Forme normale• Plecând de la tabelul de adevăr al unei funcţii,

se pot obţine două expresii diferite pentru acea funcţie:

• Forma normală disjunctivă– Pentru fiecare 1 din ultima coloană, se scrie un

termen ce conţine doar conjuncţii– Termenii se leagă prin disjuncţie– Fiecare termen conţine fiecare variabilă a funcţiei

• negată, dacă în linia acelui 1 variabila apare cu valoarea 0• nenegată pentru 1• Exemplu: F9(x,y)=x·y + x·y

• Forma normală conjunctivă: dual• Exemplu: F9(x,y)= (x+y)·(x+y)

FII 18

Operaţiile calculatoruluila nivel logic elementar

• Pentru calculatoarele actuale, operaţiile elementare la nivelul circuitelor de bază sunt operaţiile logicii booleene– care simulează şi operaţiile aritmetice

elementare în baza 2.• Un circuit combinaţional poate fi văzut ca

implementând o funcţie booleană.

Page 4: 2 - Circuite Combinationale Si Functii Booleene

4

FII 19

&II.3. DIAGRAME LOGICE

FII 20

Alfabetul diagramelor logice• Porţi elementare

– AND– OR– NOT

• Funcţionarea unei porţi se poate

descrie printr-un tabel de adevăr

(funcţia booleană ataşată)

AB AND

Poarta AND

A NOT

Poarta NOT

A0011

B0101

AND0001

A0011

B0101

OR0111

A01

NOT10

Poarta OR

AB

OR

FII 21

Alfabetul diagramelor logice• Alte porţi utile

– NAND– NOR– XOR

• NAND = NOT ° AND• NOR = NOT ° OR• XOR implementează

funcţia sau-exclusiv• Porţile NAND şi NOR

necesită doar 2 tranzistori– pentru AND şi OR e

nevoie de câte 3 tranzistori

Poarta NAND

AB NAND

XOR

Poarta XOR

AB

A0011

B0101

NAND1110

A0011

B0101

NOR1000

A0011

B0101

XOR0110

Poarta NOR

NORAB

FII 22

• În diagrame logice apar şi porţi “elementare” cu mai multe intrări

• Operaţiile binare asociative pot fi extinse la operaţii cu orice număr finit de operanzi

FII 23

Set minimal de generatori• Care este numărul minim de tipuri de

porţi ce ar trebui produse pentru a putea obţine din ele circuite care implementează orice funcţie booleană?

• 3 – anume, {NOT, OR, and AND} – este un răspuns parţial

• Forme normale (disjunctivă, conjunctivă)• Şi două ajung: NOT şi una din celelalte

două• Răspunsul corect este 1, cu două soluţii:

{NAND} şi {NOR}FII 24

Temă

• Arătaţi că {NAND} şi {NOR} sunt mulţimi de generatori pentru funcţiile booleene

•Indicaţie: se foloseşte FND sau FNC. În particular:

A

BA+B

A1

B1

A+B

Page 5: 2 - Circuite Combinationale Si Functii Booleene

5

FII 25

&II.4. DESCRIEREA ADUNĂRII ÎN BAZA 2

PRIN FUNCŢII BOOLEENE

FII 26

Definirea funcţiilor booleene• Funcţiile logice booleene pot fi definite în

mai multe moduri:• prin tabel de adevăr• prin expresii conţinând variabile şi operaţii logice• în formă grafică• în sigma-notaţie (Σ)

• Exemplu: funcţia “majoritatea dintre k”• are k variabile şi o valoare• valoarea funcţiei este 1 dacă majoritatea

variabilelor au valoarea 1• vom studia funcţia pentru k=3.

FII 27

Σ-notaţia

• f=∑(3,5,6,7)– Fiecare număr din paranteză reprezintă un

termen– ∑ denotă disjuncţia termenilor– Numărul de variabile n este cea mai mică

putere a lui 2 strict mai mare decât cel mai mare număr ce apare în paranteză

• n = 3: 4 = 22 < 7 < 23 = 8

• f(x1 , x2 , x3)= ∑(3,5,6,7)FII 28

Σ-notaţia

• Fiecare număr din paranteză se scrie în baza 2 pe n poziţii– 3 011

• Termenul corespunzând unui număr conţine:– toate variabilele,– fiecare negată dacă îi corespunde un 0 şi

nenegată pentru 1,– legate prin conjuncţie– 3 011 321 xxx ⋅⋅

FII 29

Σ-notaţia

• 11 aplicări ale funcţiilor elementare OR / AND.• Găsirea unei expresii echivalente (aceeaşi

funcţie booleană) cu mai puţine aplicări de operatori ar face respectivul circuit– mai rapid,– mai ieftin,– mai fiabil.

CBACBA

CB A CBA CBf(A

⋅⋅+⋅⋅+

+⋅⋅+⋅⋅=),,

FII 30

Funcţia “imparitate” cu 3 intrări

A B C IMP

0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 11 0 1 01 1 0 01 1 1 1

• Implementarea formei normale disjunctive

A B C

IMP

Page 6: 2 - Circuite Combinationale Si Functii Booleene

6

FII 31

Implementarea funcţiei“majoritate din 3”

A B C F0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

• Forma normală disjunctivă: patru termeni, fiecare conţinând doar conjuncţii– corespund celor 4 linii cu ieşirea 1

• În fiecare termen, o variabilăapare negată numai dacă valoarea sa pe acea linie este 0.

F = A B C + A B C + + A B C + A B C

• Se poate implementa o expresie echivalentă mai simplă ?

FII 32

Minimizare• Nu doar set minimal de operatori, ci şi – pentru o

funcţie dată – număr minimal de aplicări ale acestora (AND / OR)

• FND – un număr de apariţii ale operatorilor– 11 OR / AND în exemplu

• Proceduri de minimizare – reduc expresia– Rescriere echivalentă– Inducţie perfectă– Metoda Karnaugh– Metoda Quine-McCluskey

• Hibridizare (ex: V- K urmat de distributivitate)

FII 33

Minimizare prin rescriere algebrică• Funcţia “majoritate din 3”

A B C + A B C + A B C + A B C =

A B C + A B C + A B C + A B C + A B C + A B C

• Expresia devine:

B C + A C + A B

• Metodă dificilă pentru expresii complexe

Idempotenţă

FII 34

&II.5. MINIMIZAREA FUNCŢIILOR

BOOLEENE PRIN METODA

DIAGRAMELOR KARNAUGH

FII 35

Structura unei diagrame Karnaugh pentru n variabile

• Zona variabilelor• 2 clase : etichete de linii / coloane (n par clase egale)• se scriu numele variabilelor

• Zona etichetelor• o etichetă este un şir de n biţi, dacă funcţia are n

variabile• Pentru n par, n/2 biţi într-o etichetă de linii, n/2 pentru o

etichetă de coloană• fiecare bit dintr-o etichetă corespunde unei variabile

• Zona celor 2n locaţii din diagramă• în care se vor trece doar valorile de 1.• unei locaţii îi corespunde o unică etichetă

FII 36

Metoda Karnaugh

1011

1

0

0100A

BC

Diagrama Karnaugh pentru 3 variabile

1

0

10AB

Diagrama Karnaughpentru două variabile

10

11

1011

01

00

0100ABCD

Diagrama Karnaugh pentru 4 variabile

Ordinea codului Grey

Page 7: 2 - Circuite Combinationale Si Functii Booleene

7

FII 37

Etichete: codul Grey•Etichetele nu se scriu în ordinea naturală, ci în ordinea Grey.•pe 2 poziţii binare: 00, 01, 11, 10.•pe 3 poziţii binare:

000, 001, 011, 010, 110, 111, 101, 100.•pe 4 poziţii binare:0000, 0001, 0011, 0010, 0110, 0111, 0101,0100, 1100, 1101, 1111, 1110, 1010, 1011, 1001,1000.•Oricare două etichete consecutive – inclusiv prima şi ultima! - diferă printr- un singur bit.

FII 38

Adiacenţe în diagrame Karnaugh

• Două poziţii sunt adiacente dacă etichetele corespunzătoare diferă pe un singur bit.

• Generalizează “vecinătatea” intuitivă• 4 variabile: cele patru colţuri sunt

adiacente!• Pentru o funcţie de n variabile, o locaţie

are n locaţii adiacente

FII 39

Paşii minimizării Karnaugh1. Se trec în locaţiile corespunzătoare (conform

etichetelor) valorile de 1 ale funcţiei;2. Se caută blocuri conţinând numai valori 1,

astfel încât:– fiecare valoare 1 să fie inclusă în cel puţin un bloc;– blocurile să fie cât mai mari şi mai puţine;– un bloc să conţină un număr de locaţii egal cu o

putere a lui 2• eventual puterea 0;

– dacă blocul conţine 2k locaţii , atunci pentru fiecare locaţie blocul să conţină exact k locaţii adiacente cu ea.

FII 40

Paşii minimizării Karnaugh3. Se scrie expresia minimizată a funcţiei astfel:

fiecărui bloc cu 2k locaţii 1 îi corespunde un termen conţinând n- kvariabile legate prin conjuncţie;în termen apar acele variabile ale căror etichete sunt constante pentru toate locaţiile din bloc;o variabilă apare negată dacă eticheta sa constantă este 0 şi nenegată altfel;termenii astfel obţinuţi (după considerarea tuturor blocurilor) sunt legaţi prin disjuncţie.

FII 41

Exemple: “majoritatea din 3”; imparitate

1

0

10

1

1

11

101

000

0100A

BC

AB

BC

AC

Funcţia majoritate din 3

0

1

10

1

0

11

011

100

0100

ABC

ĀBC ĀBC

ABC ABC

Funcţia imparitate

FII 42

f(A,B,C)=Σ(0,2,3,4,5,6)Adiacenţa liniilor/coloanelor extreme

_AB

_C

1

110

0

111

111

010

0100ABC

_AB

Page 8: 2 - Circuite Combinationale Si Functii Booleene

8

FII 43

Expresia depinde de grupare

101110

011011

0

1

10

0

0

11

0001

0100

0100ABCD

_ _B D

_ACD ABD

101110

011011

0

1

10

0

0

11

0001

0100

0100ABCD

_ _B D

_ _ABC ABD

FII 44

Evitarea redundanţelor

001010

111011

0

0

10

1

1

11

1101

0000

0100ABCD

Simplificare Karnaugh neminimală

001010

111011

0

0

10

1

1

11

1101

0000

0100ABCD

Simplificare Karnaugh minimală

FII 45

Combinaţii imposibilede valori

• Variabilele nu vor avea niciodată acele combinaţii de valori

• Se poate deci considera restricţia funcţiei booleene doar la subdomeniul de definiţie al combinaţiilor permise– doar aceasta va fi “vizibilă” în funcţionarea

circuitului• se consideră cea mai convenabilă – din

punctul de vedere al minimizării – extensie la combinaţiile imposibile– se consideră valoarea 0 sau 1, după cum convine

FII 46

Exemplu – afişarea cifrelor zecimale

• Afişaj cu 7 segmente

• Selectarea segmentelor pentru fiecare cifră

• 0 – stins• 1 – aprins

FII 47

Funcţia booleană ataşată segmentului d

No A B C D d No A B C D d0 0 0 0 0 1 8 1 0 0 0 1 1 0 0 0 1 0 9 1 0 0 1 1 2 0 0 1 0 1 10 1 0 1 0 *3 0 0 1 1 1 11 1 0 1 1 *4 0 1 0 0 0 12 1 1 0 0 *5 0 1 0 1 1 13 1 1 0 1 *6 0 1 1 0 1 14 1 1 1 0 *7 0 1 1 1 0 15 1 1 1 1 *

FII 48

Combinaţiile imposibile pot simplifica expresia

Simplificare “funcţionare de siguranţă”

001110

000011

1

1

10

0

1

11

1001

0100

0100ABCD

Simplificare exploatând combinaţiile imposibile

**1110

****11

1

1

10

0

1

11

1001

0100

0100ABCD

Page 9: 2 - Circuite Combinationale Si Functii Booleene

9

FII 49

E nevoie de câte o reducere Karnaughpentru fiecare dintre cele 3 funcţii

Temă: comparator pe 2 biţi

Diagrama bloc

LTEQGT

A B < C DA B = C DA B > C D

ABCD

N1

N2

A B C D LT EQ GT0 0 0 0 0 1 0

0 1 1 0 01 0 1 0 01 1 1 0 0

0 1 0 0 0 0 10 1 0 1 01 0 1 0 01 1 1 0 0

1 0 0 0 0 0 10 1 0 0 11 0 0 1 01 1 1 0 0

1 1 0 0 0 0 10 1 0 0 11 0 0 0 11 1 0 1 0şi tabelul de adevăr

FII 50

A2 A1 B2 B1 P8 P4 P2 P10 0 0 0 0 0 0 0

0 1 0 0 0 01 0 0 0 0 01 1 0 0 0 0

0 1 0 0 0 0 0 00 1 0 0 0 11 0 0 0 1 01 1 0 0 1 1

1 0 0 0 0 0 0 00 1 0 0 1 01 0 0 1 0 01 1 0 1 1 0

1 1 0 0 0 0 0 00 1 0 0 1 11 0 0 1 1 01 1 1 0 0 1

Temă: multiplicator pe 2 biţi

P1P2P4P8

A1A2B1B2

FII 51

I8 I4 I2 I1 O8 O4 O2 O10 0 0 0 0 0 0 10 0 0 1 0 0 1 00 0 1 0 0 0 1 10 0 1 1 0 1 0 00 1 0 0 0 1 0 10 1 0 1 0 1 1 00 1 1 0 0 1 1 10 1 1 1 1 0 0 01 0 0 0 1 0 0 11 0 0 1 0 0 0 01 0 1 0 X X X X1 0 1 1 X X X X1 1 0 0 X X X X1 1 0 1 X X X X1 1 1 0 X X X X1 1 1 1 X X X X

O1O2O4O8

I1I2I4I8

Temă: “incrementare cu 1 BCD”

FII 52

CIRCUITE COMBINAŢIONALE

FII 53

Circuite combinaţionale

Diagrama bloc a unui circuit combinaţional

• Valorile de la ieşire depind doar de valorile de la intrare din momentul respectiv

I 1

I n

O1

Om

INTRĂRI IEŞIRI

FII 54

&II.6. MULTIPLEXORUL

Page 10: 2 - Circuite Combinationale Si Functii Booleene

10

FII 55

Multiplexorul• 2n intrări• n intrări de selecţie

(variabile de control)

• biţi de control (de adresă)

• o singură ieşire• Fiecare intrare

corespunde unui termen FND cu variabile de control.

• Controlul selectează o valoare de la intrare (bit) care devine valoare de ieşire

MUX 4 1 –diagrama bloc şi tabelul de adevăr

MUX

I0I1I2I3

S1 S0

O

S1

0

0

1

1

S0

0

1

0

1

O

I0I1I2I3

FII 56

Multiplexorul 4 1: diagrama logică

I0

I1

I2

I3

S1 S0

O

FII 57

• Prima poartă AND poate avea la ieşire valorile 0 sau , a doua 0 sau etc.

• Poarta OR poate avea la ieşire valorile 3210 ,,, IIII

1I0I

FII 58

Funcţii booleene pot fi implementate prin multiplexoare

MUX

I0I1I2I3I4I5I6I7

00010111

O MAJ

S2 S1 S0

A B C

Funcţia majoritate

MUX

I0I1I2I3I4I5I6I7

01101001

O IMP

S2 S1 S0

A B C

Funcţia imparitate

FII 59

“Majoritatea din 3”: implementare eficientă prin multiplexor

A00001111

B00110011

MAJ00010111

C01010101

Tabela de adevăr originară

A0

0

1

1

B0

1

0

1

MAJ0

C

C

1

Tabela de adevăr pentru multiplexor

MUX

I0I1I2I3

S1 S0

O

0

C

C

1

MAJ

A B

FII 60

“Imparitate”: implementare eficientă prin multiplexor

A00001111

B00110011

IMP01101001

C01010101

Tabela de adevăr originară

A0

0

1

1

B0

1

0

1

IMPC_C_C

C

Tabela de adevăr pentru multiplexor

MUX

I0I1I2I3

S1 S0

O

C_C_C

C

IMP

A B

Page 11: 2 - Circuite Combinationale Si Functii Booleene

11

FII 61

&II.7. DECODORUL, COMPARATORUL

FII 62

Decodorul• Decodorul are k intrări şi 2k ieşiri

– identificarea unei locaţii de memorie după adresă• Circuitul activează în fiecare moment una din 2k

ieşiri– Intrările au rolul controalelor de la multiplexor

(selectează adrese)– Fiecare ieşire corespunde unui termen FND scris cu

variabilele de intrare

FII 63

Decodorul : k=2I00101

O3

0001

I10011

O2

0010

O1

0100

O0

1000

DECODOR

I1I0

O0

O1

O2

O3

Date de intrare

codificate

Date decodificate

O0

O1

O2

O3

I1 I0

FII 64

Implementarea adunării prin decodoare

A00001111

B00110011

Sum01101001

Cin01010101

Cout00010111

DECODOR

I2I1I0

O0

O1

O2

O3

O4

O5

O6

O7

A

B

Cin

Sum

Cout

FII 65

Circuit de comparare (Comparatorul)• Implementează operatorii de comparare (= , > , < , ≥ , ≤)• Exemplu: egalitate pe 4 biţi

• Temă: comparator complet (<, =, >)

A3B3

A2B2

A1B1

A0B0

FII 66

&II.8. SUMATOARE

Page 12: 2 - Circuite Combinationale Si Functii Booleene

12

FII 67

Semi-sumatorul şisumatorul complet

• Semi- sumatorul (half- adder)– Adună cei doi biţi de intrare

• Furnizează la ieşire un bit sumă şi un bit transport

– Neajuns: nu poate fi extins pentru adunarea de numere mai lungi

• Sumatorul complet (full adder)– Adună cei trei biţi de intrare

• Furnizează la ieşire tot un bit sumă şi un bit transport

– Poate fi folosit pentru a construi sumatoare pe N biţi• conectând Cout de la un sumator la Cin al următorului.• Acesta va fi sumatorul serial (ripple-carry adder).

FII 68

Semi-sumator şi sumator: diagrame logice

A0011

B0101

Sum0110

Cout0001

AB

Sum

Cout

Tabela de adevăr şi diagrama logică a semi-sumatorului

A00001111

B00110011

Sum01101001

Cin01010101

Cout00010111

Tabela de adevăr şi diagrama logică a sumatorului complet

SumCin

BA

FII 69

Sumatorul serial pe 16 biţi (+)

0Cin

S0

B0A0

C0

A B

S

CoutCin

S1

B1A1

C1

A B

S

CoutCin

S15

B15A15

C15

A B

S

Cout

C14

Transport general

FII 70

Sumatoare seriale• Cu propagarea transportului

– de la un rang la următoarele• Şi primul sumator este complet

– C0 = 0 pentru adunare– C0 = 1 pentru scădere

• Avantaj: circuite relativ simple, repetate identic la fiecare rang

• Dezavantaj: sumatoarele seriale pot fi lente

• Întârzierea este proporţională cu numărul de biţi

• Cazul cel mai relevant: 11111111 + 00000001

FII 71

Accelerarea adunării• Sumatoare cu anticiparea transportului

• Carry lookahead adders– Elimină întârzierea datorată propagării transportului– Transportul-intrare (carry-in) se generează independent pentru

fiecare rang• C0 = A0 B0• C1 = A0 B0 A1 + A0 B0 B1 + A1 B1• . . . • Ci = Gi + Pi ·Ci-1 = Ai ·Bi + (Ai + Bi ) · Ci-1 = …• …

– Necesită circuite complexe– De obicei, se utilizează o combinaţie de tehnici de

anticipare şi propagare• Sumatoare cu selecţia transportului

• Exemplu: pentru 32 de biţi, fiecare octet e “adunat” de două sumatoare - C0 = 0 şi C0 = 1 -, apoi se selectează Si corect

FII 72

&II.9. O UNITATE ARITMETICĂ ŞI LOGICĂ

ELEMENTARĂ

Page 13: 2 - Circuite Combinationale Si Functii Booleene

13

FII 73

Unitate Aritmetică şi Logică (1 bit):AND, OR, +, -Proiectare iniţială

F1

0

0

1

1

F0

0

1

0

1

F

A and B

A or B

A+B

A-B

MUX

I0I1I2I3

S1 S0

O

F1 F0

F

SumatorSum

Cout

AB

Cin

SumatorSum

Cout

AB

Cin

B CinA

FII 74

Unitate Aritmetică şi Logică (1 bit):AND, OR, +, -

Proiectare îmbunătăţită

MUX

I0I1I2I3

S1 S0

O

F1 F0

F

SumatorSum

Cout

ABCin

B CinA

F0 Cout

FII 75

Unitate Aritmetică şi Logică(16 biţi): AND, OR, +, -

Cin

R15

B15A15

C15

A B

F

Cout

C14

F1 F0

R0

B0A0

C0

A B F1 F0

F1 F0

Cin

F

CoutCin

R1

B1A1

C1

A B

F

Cout

F1 F0

Transport general