Sunteți pe pagina 1din 56

REPREZENTAREA INFORMAIEI

La nivel LOGIC (abstract)-soft


"0"-zero logic
"1"-unu logic
La nivel(suport)FIZIC-hard {0volt,5Volt}
-circuite logice combinaionale(pori)
-circuite logice secveniale(bistabili)
BINARY DIGIT=bit="cifra binar"
1 bit b ia valori in {0,1} si este UNITATEA DE MSUR A cantitaii de INFORMAIE
card{0,1}=2
COD BINAR =secvena (ir) din una sau mai multe cifre binare adic de bii
b1bo=cod de 2bii care ia valori n mulimea variantelor{00,01,10,11} i deci cod{ }=2x2=4
b 2 b 1 b0--->{000,001,010,011,100,101,110,111} cod de 3bii la care n=2x2x2=8
b7b6b5b4b3b2b1b0-cod pe 8bii (are 256 variante de cod)n=2x2x2x2x2x2x2x2
1 octet=8 bii=1 byte
1 Koctet=2 la puterea 10 octei=1024 octei
1Moctet=2
"
" =1024 Koctei
SISTEME DE NUMERAIE POZIIONALE :
BINAR, ZECIMAL(Decimal),HEXAZECIMAL(Hexa),OCTAL,...
Numerele=CODURI definite pe o mulime de b--->{2,10,16,8...} simboluri n care b=BAZA
SISTEMULUI:
binarydigit--->{0,1} ; decidigit--->{0,1,2,3,4,5,6,7,8,9} ;
hexa digit-->{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}...
POZIIILE N COD A CIFRELOR se numesc RANGURI: cantitatea Nr exprimat de
cifra Cr,de rang r din codul poziional
Cn-1Cn-2...Cr...C2C1C0 este Nr=b la puterea r =b^r in care,
r--->{n-1,n-2,...,2,1,0}este RANGUL iar b este BAZA--->{B,D,H,Q,...}
Canitatea total exprimat prin cod n baza b este un NUMR Nbaza=Nn-1 + Nn-2 + ...+
Nr +...+ N2 + N1 + N0
CORESPONDENA DINTRE REPREZENTRILE CODURILOR
HEXA

BINAR

OCTAL

DECIMAL

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

0
1
2
3
4
5
6
7
8
11
12
13
14
15
16
17

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Se observ ca unei cifre hexa corespund 4 bii,in binar.Aceasta trebuie avut n


vedere la conversia unor coduri,cand se scriu relaiile de echivalena.UN COD BINAR SE
DESCOMPUNE N GRUPURI DE 4 bii (de la dreapta la stanga).
Daca ultimul grup are sub 4 bii se completeaz cu zerouri.Fiecrui grup i se
asociaz o cifr hexa.
EXEMPLE
1110101010(B)=35A(H)

; B2A(H)=101100101010(B)

Reprezentarea numerelor in calculatoare


Definitie: Sistemul de numeratie este format din totalitatea regulilor de reprezentare a numerelor cu
ajutorul unor simboluri numite cifre.
Sisteme de numeratie: - pozitionale (ex.sistemul zecimal, binar etc.)
- nepozitionale ( ex. sistemul roman )
Un sistem de numeratie pozitional este caracterizat prin baza = reprezinta numarul total de
simboluri. Cifrele au o anumita pondere in functie de pozitia lor.
Definitie: Un numar N format din parte intreaga si parte fractionara se poate reprezenta in baza b
astfel:
N = xn-1 xn-2.................x0. x-1 x-2..................x-m
pozitia implicita a virgulei
unde o xj < b j n-1, n-2,..........., -m
iar valoarea lui N = xn-1 bn-1 + xn-2 bn-2 + ..........+ x0 + x-1 b-1 +......+x-m
n-1
N = xj bj
-m
Reprezentarea numerelor in calculatoare
Sistemul de numeratie utilizat in calculatoarele numerice este sistemul binar (exista
elemente fizice, sigure in functionare care au doua stari stabile). Reprezentarea numerelor in acest
sistem prezinta mai multe forme in functie de solutia aleasa pentru rezolvarea celor doua mari
probleme:
- pozitia virgulei
- reprezentarea numerelor algebrice ( cu semn )
In functie de pozitia virgulei exista doua reprezentari:
- virgula fixa
- virgula mobila
Virgula fixa.
In calculator se lucreaza cu un numar finit de bii determinat de lungimea cuvintului
( multiplu de lungime de cuvint ). In cazul reprezentarii in virgula fixa , virgula ocupa o pozitie

stabilita initial prin proiectare si nu poate fi schimbata. ( Pozitia virgulei este conventionala si nu
este realizata fizic ).
( Are importanta pentru structura dispozitivului aritmetic ).
Se pot distinge trei cazuri

Primele doua reprezentari sunt cele mai utilizate.Reprezentarea in virgula fixa cu numere
subunitare prezinta avantajul ca: operatia de inmultire nu duce la depasire.
Virgula mobila.
Numerele reprezentate in virgula mobila vor fi compuse din doua parti mantisa si exponent.
-exponentul - indica ordinul de marime al numarului printr-o putere a lui b
(b= baza de reprezentare a numarului ).
-mantisa - descrie marimea numarului in cadrul ordinului respectiv.
N = M b E unde 1/ b M < 1
M- nr. subunitar reprez. in v.f.
E- nr. intreg reprez. in v.f.
Exemplu: in zecimal;
312,56 0.32156 103
312,56 0.032156 104
Numarul de bii alocati pentru mantisa sunt limitati ( fixati de structura hard) asa ca este
bine sa incapa cit mai multe cifre semnificative. Pentru aceasta mantisa trebuie normalizata, adica
eliminate zerourile de dupa virgula si ajustat exponentul in mod corespunzator.
Reprezentarea numerelor cu semn.
In calculator nu exista posibilitatea de a introduce direct semnele + si -, atasate numerelor
pozitive si negative. Aceasta a dus la modalitati speciale de reprezentare a numerelor in calculator,
diferite de cele din algebra curenta. Reprezentarea semnului se face cu ajutorul unei cifre binare,
denumita cifra de semn si asezata de obicei in prima pozitie.S-a facut conventia ca:
-cifra 0 sa reprezinte numerle pozitive
-cifra 1 sa reprezinte numerele negative
Exista trei forme de reprezentare a numerelor cu semn:
-cod direct ( marime si semn )
-cod invers ( complement fata de 1 )
3

-cod complementar ( complement fata de doi )


In cazul numerelor in virgula fixa ( subunitare ):

Fie un numar subunitar x = xs x-1..........x-m . Sa descriem reprezentarea lui in cele trei


coduri:
- cod direct

xd =

0. x-1 x-2.............x-m pt. x 0


1. x-1 x-2...........x-m pt. x 0

Are avantajul ca este foarte asemanator cu scrierea naturala, insa din punct de vedere
calculatorul prezinta unele dezavantaje legate in special de prelucrari.
- cod invers

x-j = 1- x-j ;

xi =

0. x-1 x-2..............x-m pt. x 0

1. x-1 x-2.............x-m pt. x 0


j -1,.............,-m

- cod complementar x c =

0 x-1 x-2...........x-m pt. x 0


1 x-1 x-2 ........x-m pt x < 0


x c = 2 - x

Se observa ca numerele pozitive se reprezinta la fel in toate cele trei coduri.


Pentru numerele negative formele de reprezentare difera, insa exista urmatoarele relatii:
x + x i = x-1 ............x-m +1 x-1 .......... x-m =
= 1. 11 ...........1 = 2 - 2 -m
x i = 2 - x - 2 -m x c = x i + 2-m
Exemplu:
x = 0.011
x i = 1.100
x + x i = 0.011 + 1.100 = 1.111

100001

_________
1.1111
x c = 10000 - 0011
0011
1101
Din aceste relaii rezulta si urmatoarele doua reguli de realizare a complementului faa de
doi a unui numar :
1. Se realizeaza complementul faa de 1 si se aduna o unitate la poziia cea mai puin
semnificativa.
2. Se examineaza modulul numarului de la dreapta spre stanga. Zerourile si prima unitate
inalnite raman neschimbate. Toate celelalte cifre se neaga.

Formatul de reprezentare a numerelor in calculator FELIX M18


In virgula fixa calculatorul lucreaza pe 8 bii,

Operaii aritmetice binare. Adunarea si scaderea


Adunarea in cod direct

Fie doua numere:

x = x s x-1...............x-m
y = y s y-1...............y-m
Cazul 1 - x,y au semne diferite:
Regula: Se aduna complementul fata de 1 al modulului celui de-al doilea numar facind adunarea bit
cu bit - cu excepia bitului de semn:
a) Daca apare un transport de la poziia c.m.s. se aduna 1 la pozitia c.m.p.s. si se da
rezultatului semnul primului numar al adunarii ( cel care nu a fost complementat)
b) Daca nu apare un transport de la bitul c.m..s. se ia complementul faa de 1 al
rezultatului si se da acestuia semnul celui de-al doilea termen ( cel care a fost complementat )
Exemplu: a) x = 0.101
y = 1.100
x + y i = (0)101 + (0)011

101 +
011
1000
+1
0.001

Exemplu: b)

x = 1.010

010 +
010
100

y = 0.101
x + y i = 1.010 + 1.010 = 0.011
Cazul 2 x,y au acelasi semn

Se aduna x + y ( fara bitul de semn ) si se da rezultat semnul comun .


x + y < 1 rezultat corect
0.011 + 0.010 = 0.101
x + y > 1 eroare de depasire 0.100 + 0.101 = 1.101
Scadere - se reduce la operatia de adunare, se neaga bitul de semn al scazatorului si se va
efectua adunarea.
Adunarea si scaderea in cod invers
Adunare - Se aduna bit cu bit incepind cu rangul c.m.p.s. inclusiv bitul de semn. Eventualul
transport care apare de la bitul de semn se aduna la cifra cea mai putin semnificativa.
x = 0.010
y = 0.011

x i = 1101
y i = 1100
______
1001
1010
0101

x i + y i = 11001
_______
0010
x + y = 0101

Scadere - Se complementeaza faa de 1 scazatorul si se aduna la descazut dupa regula


stabilita anterior.
x = 0101 ; y = 0011
y i = 1100
0101 + 1100 = 10001 = 00010
0101 +
1100
10001
Exemplu 1;
- fie un nr. reprezentat in binar:
x = 1.010
y = 1.011

(-2)d
(-3)d

[z]i = [x]i + [y]i = 1.001


[z]c = 1.010

[z]d = 1.101
Exemplu 2;
x = 0.0010
y = 0.0111

[x]i = 0.101
[y]i = 0.100
(1) in cod direct
( 1.001 + 1 )

(5)i
(4)i
0.110

[x]i = 1.1101 [x]c = 1.1110


[y]i = 1.1000 [y]i = 1.1001

[x + y]d = 0.1001
[x + y]i = 1.0101 + 1 = 1.0110
[x + y]d = 0.1001
[x + y]c = 1.0111

(i)

Adunarea numerelor in virgula mobila ( v fixa )

AsAEAM
op 1

BsBEBM
op2

CsCECM
rezultat
7

SISTEM INFORMATIC.REPREZENTAREA INFORMAIEI


INTRODUCERE IN INFORMATICA ,anul I ,Fac.A&C
PRELUCRAREA LOGIC A INFORMAIEI BINARE
OPERAII LOGICE ELEMENTARE:NON,AND,OR
Aceti operatori se aplic unor variabile logice x1,x2,...n cadrul unor funcii logice
f(x1,x2,...)
Funcia f i variabilele x1,x2... iau valori in {0,1}
y=NONx=f(x)funcia NEGAIE este unar n sensul c se aplic unei
singure variabile x.
n loc de NON se mai folosete simbolul "tilda" y=~x sau o bar deasupra
lui x astfel .
AND si OR necesit cel puin 2 variabile logice x1 si x2:
y=(x1)AND(x2)=(x1)(x2)=(x1)&(x2) respectiv
y=(x1)OR(x2)=x1+x2=(x1)|(x2).
Aceste operaii au fost introduse axiomatic de ctre John Boolle (sec XVIII)
propunnd urmtoarele reguli pentru cele trei operaii binare :pt. NON ~1=0 ; ~0=1 ;
pt. AND 0&0=0 ; 0&1=0 ; 1&0=0 ; 1&1=1 ;
pt. OR--> 0+0=0 ; 0+1=1 ; 1+0=1 ;1+1=1.
Dac notm cu B mulimea { 0,1} observm c variabilele x , x1 , x2 ,iau valori n
B.Funcia F(x)=~x este F:BB, iar F(x1,x2),n cazurile AND i OR sunt funcii definite pe
produsul cartezian B*B i n acest caz F:B*BB .
Dac funcia este de 3 variabile ea este definit pe produsul
B*B*B={000,001,010,011,100,101,110,111} etc care este o mulime cu un nr.de (2x2x2)=8
elemente.n cazul a 4 variabile boolleene avem card(B*B*B*B)=16 etc.
EXEMPLE
F1(x1,x2)=~x1+x2 va putea lua valorile:

F(00)=~0+0=1;
F(01)=~0+1=1;
F(10)=~1+0=0+0=0;
F(11)=~1+1=1

TABELUL DE ADEVR AL FUNCIILOR LOGICE BINARE

Acest tabel definete funcia.n cazul a n variabile,(x1,x2,...,xn),tabelul conine(2 la


puterea n)linii i (n+1)coloane din care primele (n)coloane conin produsul ,(B*B*...B*B*B)
i ultima coloan conine valorile funciei.
EXEMPLE
x

X1
0
0
1
1

X2
0
1
0
1

Y
0
0
0
1

DIAGRAMELE KARNAUGH ALE FUNCIILOR


LOGICE :
F(x1,X2),F(x1,x2,x3),F(x1,x2,x3,x4)

Diagram K-h constitue o alt reprezentare a valorilor funciei din tabelul de adevr
.Aceast reprezentare este un dreptunghi n interiorul cruia sunt plasate valorile funciei
iar pe cte una din laturile verticale i orizontale sunt scrise valorile celor "n"variabile ale
funciei repective,rezultnd tabele diferite n funcie de numrul de variabile"n"
CAZUL n=2
n acest caz funcia ia 4 valori: F(00),F(01),F(10) si F(11) care sunt plasate n
dretunghiul mprit n 4 celule astfel

X2

X1
0

F(0,0)

F(0,1)

F(1,0)

F(1,1)

CAZUL n=3
9

Valorile funciei n acest caz


sunt:F(000),F(001),F(010),F(011),F(100),F(101),F110),F(111).Ele sunt plasate n
diagrama astfel:
X2X3
X1
0

00

01

11

10

F(000
)

F(001)

F(011)

F(010)

F(100
)

F(101
)

F(111)

F(110)

Atenie!!!
DISTRIBUIA VALORILOR PE LATURA x2x3 TREBUIE FCUT ,CA N FIGURA
N ORDINEA:x2x300011110
CAZUL n=4
n acest caz pe o latur sunt distribuite cele 4 combinaii pentru perechea x1x2 iar
pe cealalt latur pentru x3x4 ca n figura urmtoare.

10

X3X4

00

01

11

10

X1X2
00

00

F(0000)

F(0001)

F(0011)

F(0010)

01

01

F(0100)

F(0101)

F(0111)

F(0110)

11

11

F(1100)

F(1101)

F(1111)

F(1110)

10

10

F(1000)

F(1001)

F(1011)

F(1010)

Se obin astfel 16 celule n care sunt plasate cele 16 valori ale


funciei:F(0000),F(0001),...,F(1111)
AVANTAJUL REPREZENTRII K-h const n faptul c permite aplicarea unei
metode inginereti de proiectare a structurii schemelor circuitelor logice de implementare
hard a funciilor logice date prin tabelul de adevr.
REPREZENTAREA MATRICEAL A TABELELOR DE ADEVR I
DIAGRAMELOR KARNAUGH
Reprezentarea matriceal permite transpunerea pe calculator a unor metode de
proiectare logic a circuitelor destinate implementrii hard a unor funcii logice date prin
tabele de adevr.
PROBLEMA ANALIZEI CLC
Problema analizei este formulat astfel:
- Se d: fie schema logic a CLC-lui de analizat, fie funcia logic care-l descrie;
- Se cere: tabelul de adevr al CLC-lui , folosind schema lui ori funcia care-l descrie.
Scopul analizei este de a verifica msura n care CLC-ul de analizat rspunde corect la
diverse combinaii de valori logice ale variabilelor de intrare.
11

Dac, spre exemplu, variabilele (mrimile) de intrare sunt x 1, x2, x3, iar mrimea de ieire a
CLC-ului este y=f(x1,x2,x3), n care f( ) este cunoscut se poate calcula se poate calcula rspunsul la
diverse combinaii aplicate la intrare: f(000); f(001); f(010); f(011); f(100); f(101); f(110); f(111).

Exemplul 5.1
Se d un CLC descris de funcia logic binar numit "funcie majoritate din 3", cu
expresia:
Denumirea acestei funcii sugereaz comportarea CLC-lui, i anume: rspunsul y=0 cnd
majoritatea intrrilor sunt nule, iar cnd majoritatea intrrilor sunt unu rspunsul este y=1.
y x1 x2 x1 x3 x2 x3

Introducnd n expresia de mai sus cele 8 combinaii de valori ale intrrilor rezult
urmtorul tabel:
x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

y = x1 x2+x1 x3+x2 x3
0
0
0
1
0
1
1
1

Tabelul obinut confirm proprietile menionate i analiza arat c CLC-ul dat prin funcia
de mai sus este ntr-adevr un CLC care prelucreaz logic informaia de vot primit de la un grup
de 3 persoane i afind la ieire rezultatul sub forma y=1 numai dac majoritatea au votat cu "1" i
afieaz y=0 n caz contrar.

PROBLEMA SINTEZEI CLC


Scopul sintezei este obinerea schemei logice de implementare cu pori elementare(and,
non, or) a unui CLC cu determinarea prealabil a expresiei funciei logice care descrie CLC-ul
dorit. Cerinele privind CLC-ul dorit sunt exprimate prin intermediul tabelului de adevr.
n consecin, problema sintezei CLC se formuleaz astfel:
- Se d: tabelul de adevr al unui CLC care trebuie implementat hardware (sau software);
- Se cere: expresia funciei logice a CLC-lui dorit i schema logic a acestuia.
12

Pentru rezolvarea acestei probleme, cele mai uzuale metode sunt: metoda direct (bazat
pe tabelul de adevr) i metoda Karnaugh (bazat pe diagrame K-h).

Metoda direct de sintez a unui CLC


Aceast metod permite obinerea unei funcii logice y = (x 1,x2,x2,...,xn) pe baza tabelului de
adevr dat care conine N=2n linii i reflect comportamentul dorit al CLC-lui care trebuie
construit. Tabelul dat conine m<N linii n care ieirea y=1.
Metoda direct se aplic n 2 pai:
PASUL 1
Fiecrei linii pe care y=1 i se ataeaz cte un produs al celor n variabile de intrare. Rezult
astfel m produse p1(x1...xn), p2(x1...xn),...,pm(x1,...,xn). n aceste produse o variabil intr negat dac
pe linia respectiv valoarea ei este nul.
PASUL 2
O funcie logic care descrie un CLC al crui tabel de adevr va fi cel dat se obine prin
nsumarea celor m produse obinute la pasul 1:
y=p1(x1....xn)+...+pm(x1...xn)
Trebuie remarcat c funcia obinut poate fi simplificat aproape totdeauna pe baza
teoremelor algebrei CLC. Aceast procedur este prea laborioas pentru a fi folosit n ingineria
proiectrii logice a CLC. O metod inginereasc care furnizeaz o structur optimal este bazat pe
diagramele Karnaugh ale CLC-lui care trebuie obinut. Aceast metod furnizeaz o funcie cu un
numr minim de variabile i de operaii, ceea ce conduce la CLC-ul cel mai ieftin.
Exemplul 5.2
Se d tabelul de adevr din exemplul 5.1. Se cere funcia logic aferent determinat prin
metoda direct.
Rezolvare:
- Se determin produsele aferente liniilor 8, 7, 6 i 4:
linia 8
x1x2x3
linia 7
x1x2(x3)
linia 6
x1(x2)x3
linia 4
(x1)x2x3
- Se determin funcia ca fiind suma produselor:
y = x1x2x3 + x1x2(~x3) + x1x2(~x3) + x1(~x2)x3 + (~x1)x2x3

Constatare:
Se constat c funcia dat n exemplul 5.1, pentru acelai tabel de adevr, este alta mult
mai simpl care conine doar: 6 litere, 3 operatori AND, 3 operatori OR.
Astfel, costul implementrii cu CLC-uri (pori) este cel puin dublu n cazul funciei din
exemplul 5.2.
13

Metoda Karnaugh
Algoritmul aplicrii acestei metode implic parcurgerea urmtorilor pai:
PASUL 1
Pe diagrama Karnaugh dat se identific celulele unitare (care conin 1) i se formeaz din
ele grupuri dreptunghiulare de celule unitare adiacente. Baza L i nlimea h ale dreptunghiului
trebuie s fie puteri ale lui 2:
L=2a,
h=2b,
unde a i b sunt ntregi = 0 ,1 ,2,...
Numrul de celule din grup este Lxh i deci poate fi numai 1 sau 2 sau 4 sau 8 etc.
Spre exemplu, dac grupul conine o singur celul unitar, a=b=0.
ATENIE !!
Deoarece n cazul n=3 diagrama Karnaugh este dat pe un cilindru, celulele marginale pe
generatoare (pe marginile din dreapta i stnga) sunt adiacente, iar n cazul n=4 celulele de pe
laturile opuse ale tabelului (diagramei) sunt adiacente deoarece tabelul este pe tor desenat. Aceste
aspecte sunt prezentate n cartea: Iacob F., Tertico A. "Fundamente ale tiinei sistemelor i
calculatoarelor" Editura HYPERION - 1998.
PASUL 2
Fiecrui grup i se ataeaz cte un produs de [n-(a+b)] variabile. De aici rezult c pentru
optimalitate trebuie formate grupuri de dimensiuni ct mai mari posibil.
PASUL3
Se identific variabilele din fiecare grup cu regula: dac o variabil nu-i schimb valoarea
n lungul (sau n latul) grupului, atunci intr n produsul aferent grupului. Variabila intr negat
cnd valoarea neschimbat este 0 i invers, intr nenegat cnd este 1.
Funcia logic care descrie CLC-ul cutat este suma produselor aferente grupurilor.
Exemplul 5.3
Se cere ntocmirea diagramei Karnough pentru funcia "majoritate din 3" i prin metoda
Karnough descris anterior s se gseasc structura optimal care implic costul cel mai mic de
implementare cu CLC-uri, innd cont c preul implementrii unei pori logice crete n funcie de
numrul de intrri utilizate ale ei.
Pasul 1
Diagrama Karnough
urmtoarea:
x2 xeste
3
x1
00

01

11

10

grup 3

14
grup 1

grup 2

Pe diagram se pot forma numai 3 grupuri egale caracterizate toate de a+b=1.


Pasul 2
Fiecrui grup i se va asocia cte un produs de cte n-(a+b)=3-1=2 variabile astfel:
x1x2
gr. 2
x1x3
gr. 1
x2x3
gr. 3
Pasul 3
Funcia logic cutat va fi:
y = x1x2+x1x3+x2x3
Pe baza acestei funcii se poate ntocmi schema circuitului de implementare care va necesita
3 pori AND cu cte 2 intrri i o singur poart OR cu 3 intrri.

SINTEZA UNOR BLOCURI


DE PRELUCRARE A INFORMATIEI
SINTEZA SEMISUMATORULUI DE 1 bit
Semisumatorul (SS) de un bit are ca intrri cei 2 operanzi x, y{0,1}, iar ca ieiri are tot 2
variabile binare: suma celor 2 intrri x i y, notat SS i respectiv transportul n rangul imediat
superior, notat c de la denumirea de "carry", n englez. El poate fi realizat hardware printr-un CLC
care are urmtorul tabel de adevr:

x
0
0
1
1

Y
0
1
0
1

SS
0
1
1
0

c
0
0
0
1

Acest tabel reprezint, de fapt, tabla adunrii n binar. Aplicnd metoda direct de sintez,
rezult cele 2 funcii logice, SS(x,y) i c(x,y), care descriu CLC-ul de realizare hard a
semisumatorului:
SS = ~xy + ~yx implementabil printr-un NOR i respectiv

15

c = xy
implementabil printr-un AND .
Lsm n sarcina cititorului reprezentarea cu simbolurile cunoscute a schemei logice de
implementare hardware a circuitului.
SINTEZA SUMATORULUI PE 1 bit
Sumatorul pe un bit are 3 intrri: cei 2 operanzi x, y i respectiv ci transportul din rangul
precedent (indicii folosii sunt i de la INPUT i respectiv o de la OUTPUT). Ieirile sumatorului
sunt 2: suma S(x,y,ci) i respectiv transportul n rangul urmtor co(x,y,ci).
Tabelul de adevr al sumatorului pe un bit are 8 linii i 6 coloane:
ci
0
0
0
0
1
1
1
1

X
0
0
1
1
0
0
1
1

y
0
1
0
1
0
1
0
1

S
0
1
1
0
1
0
0
1

co
0
0
0
1
0
1
1
1

Acest CLC poate fi realizat cu 2 semisumatoare: primul cu intrrile x, y i ieirile SS1 =


(~x)y + (~y)x, respectiv c1 = xy, iar al doilea cu intrrile ci respectiv SS1 i ieirile SS2 =
(~ci)(SS1) + (~SS1)(ci), c2 = ci SS1.
Ieirile sumatorului astfel realizat sunt:
S(x,y,ci) = SS2 = (~ci)(~x)y + (~ci)x(~y) + ci (x+~y)(~x+y) = (~ci)(~x)y + (~ci)x (~y) + ci
(~x)(~y) + ci xy;
co(x,y,ci) = c1 + c2 = xy + ci (~xy + ~yx).
Aplicnd metoda direct pe tabelul de mai sus, rezult aceleai relaii logice dup
simplificri.
Minimizarea diaframelor Karnough prin introducerea variabilelor n diagram

Fie funcia de comutaie de n variabile f n(x1,,xj-1,xj,xj+1,,xn).Se poate demonstra prin inducie


perfect urmtoarea egalitate :
fn(x1,,xj-1,xj,xj+1,,xn) = xj fn-1(x1,,xj-1,1,xj+1,,xn) + (~xj) fn-1(x1,,xj-1,0,xj+1,,xn)
Se observ c cele dou funcii f n-1(x1,,xj-1,1,xj+1,,xn) i fn-1(x1,,xj-1,0,xj+1,,xn) sunt funcii de
n 1 variabile , deci pot fi reprezentate prin dou tabele Karnaugh cu n 1 variabile.
Fie urmtoru exemplu de funcie dat prin urmtoarea diagram Karnough:
Paii parcui pentru minimizarea unei funcii prin introducerea variabilelor n diagram :
1. Se consider n locul variabilelor introduce 0 i se minimizeaz.

16

2. Se consider 1 n locul unei variabile, celelalte 0 ,unitaiile devin indiferente,


Zerourile rmn neschimbate i se minimizeaz.
3. Se continu paii 1 i 2 pn se epuizeaz toate variabilele introduse.Funcia sau ntre
funciile obinute la paii anterior reprezint funcia minim rezultat.
1. S se construiasc tabela de adevr pentru funcia majoritate de 3 variabile.
f majoritate = 1 pt. min 2 intrri au val 1.Vezi cursul.
X
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1

f
0
0
0
1
0
1
1
1

f x , z, y xyz x yz xy z xyz xyz x yz xy

z x y xy y x xz x yz xy yx x yz

xy z y yx xy z x y xy xz yz
f x , y, z xy xz yz

2. S se minimizeze funciile de comutaie folosind tabelele Karnaugh.


f x , y, z xy x y z x yz xz

xy
00
z
0 0
1 1

01
0
0

11
1
1

10
1
1

pt. 1
f x , y, z

x yz

pt. 0

f x , y, z x z x y xx x y xz z y
x zy

3.

f x1 , x 2 , x 3 , x 4 x1x 2 x 3 x1 x 2 x 3 x1 x 3 x 4 x1x 2 x 3

x1 x2
x3 x4
00
01
11
10

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

f x1 , x 2 , x 3 , x 4 x1 x 3 x 3 x 4 x1x 2 x 3

4. f x 1 , x 2 , x 3 , x 4 x 1 x 2 x 3 x 4 x 1 x 2 x 3 x 4 x 1 x 2 x 4 x 4
x1 x2
x3 x4 00 01 11 10
00 1 0 0 1
01 0 1 0 0

f x1 , x 2 , x 3 , x 4 x 2 x 4 x1x 2 x 3 x 4

17

11 0 0 0 0
10 1 0 0 1
5. S se minimizeze:
x1 x2
x3 x4 00 01 11 10
f x1 , x 2 , x 3 , x 4 x 3 x 4 x 2 x 2 x 4
00 1 0 0 1
01 0 - - 11 0 1 - 0
10 0 0 0 0
6.
x1 x2
x3 x4 00 01 11 10
f x1 , x 2 , x 3 , x 4 x 2 x1 x 3 x 4
00 1 - 1 1
01 1 1 1 0
11 0 1 1 1
10 1 1 1 1
7. Se d tabela Karnaugh. S se reduc dimensiunea tabelei introducnd variabilele x3, x4 n
tabel i s se obin expresiile funciilor:
f x 1 , x 2 , x 3 , x 4 x 1x 2 x 2 x 3 x 4 x 1 x 3 x 4 x 1x 3 x 4 x 1x 3 x 4

x1 x2
x3 x00
4
01
11
10

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

f x1 , x 2 , x 3 , x 4 x1x 2 x1 x 4 x1x 3 x 4

Fie funcia de comutaie de n variabile f(x1,x2, , xn). Se poate demonstra prin inducie
perfect urmtoarea egalitate:
fn(x1,,xj-1,xj,xj+1,,xn) = xj fn-1(x1,,xj-1,1,xj+1,,xn) + (~xj) fn-1(x1,,xj-1,0,xj+1,,xn)
x1 x2
x3

00

x4

01

11

10
f(0,0,0) x 4 f(0,0,0,1) x 4 f(0,0,0,0)

x4

x 4 0 x 4 1 x 4

f(1,1,0) x 4 f(1,1,0,1) x 4 f(1,1,0,0) x 4 x 4 1

x2

x1

x4

x4

x4

1
f 2 0,0 x 3 f 3 0,0,1 x 3 f 0,0,1 x 3 x 4 x 3 x 4

x4 x3 x3 x4

f 2 1,0 x 3 f 3 1,0,1 x 3 f 1,0,0 ...

18

x4

x3x 4

x4

1. considerm toate variabilele egale cu zero i exprimm funcia cu alipiri de 1.


x1 x2
x3

00

01

11

10

x1x 2
1

00

01

11

10

2.
x1 x2
x3
0

x1x 2 x1 x 4 x1x 3 x 4

x1 x 4
1

00

01

11

10

3.x4 = 0
x1 x2
x3

x2

x1
0

x2

x1x 3 x 4

x1
0

x2

x1
0

x1x 2 x 4 x1 x 3 x 4 x1

19

f x1 , x 2 , x 3 x 2 x 3 x 4 x1x 2 x 3 x 4 x1 x 2 x 4 x1 x 2 x 3 x 4 x1x 2 x 3 x 4 x 2 x 3 x 4

x1x2
x3x4

00

01

11

10

00

01

11

10

x1 x2
x3

00

01

11

10

x4

x4

x4

x4

x1 x2
x3
00
0

01

11

10

x1 x2
x3
00
+

f x 2 x 3 x 4 x1x 2 x 3 x1x 2 x 3 x 2 x 3 x 4
x1 x 2 x 3 x1 x 2 x 4

01

11

10

x1 x2
x3
00
+

01

11

10

x1x 2 x 3 x1 x 2 x 3 x 4 x1 x 2 x 2 x 3 x 4 x 2 x 3 x1x 2

20

x2

x1

x3 x4

x 3x 4

x3 x4

x3 x4

CURS INTRODUCERE N INFORMATIC


anul I Facultatea de automatic i calculatoare
tema 6 MEMORAREA ELECTRONIC
A INFORMAIEI BINARE
TIMPUL DE ACCES LA MEMORIE
n calculator se folosesc att suporturi magnetice ct i electronice pentru stocarea pe o
perioad scurt sau pe o perioad ndelungat a informaiei binare. Memoriile magnetice (hard
disck-ul, disckette-le, etc.) nu fac parte din calculatorul propriu-zis, ele constituind componente
periferice importante, dar care nu particip direct la procesul de prelucrare a informaiei prin
execuia instruciunilor din program. n procesul de execuie, programul se afl ntr-o memorie
electronic unde-i stocat sub form de coduri binare de tip instruciune i de tip date. n decursul
prelucrrii procesorul extrage din memorie cte un cod tip instruciune i-l aduce n procesor unde
l interpreteaz i-l execut dup care extrage din memorie urmtoarea instruciune etc.
Durata execuiei unei instruciuni, Ti, are dou componente:
Ti = Tprel + Tacces
Timpul de prelucrare Tprel este folosit de procesor pentru decodificare i execuia operaiei
definite n codul respectiv al instruciunii. Timpul de acces Tacces este timpul scurs din momentul la
care procesorul solicit de la memorie eliberarea unui anumit cod pe magistral i pn la prezena
lui pe magistral (extracia). Acest Tacces trebuie s fie mai mic dect perioada de tact, T a ceasului
procesorului. Dac frecvena de ceas a procesorului este f = 100 MHz, atunci timpul de acces la
memorie trebuie s fie sub 0.001 microsecunde. Progresul tehnologiilor de fabricaie a memoriei a
condus la timpi de acces foarte mici.
Timpul de acces foarte mare al memoriilor pe suport magnetic le-a fcut de neutilizat ca
memorii operative n calculatoarele actuale, la care viteza de prelucrare a informaiei binare este
esenial.

21

LOCAII I CELULE DE MEMORIE. MAGISTRALE


Memoria electronic din calculator este structurat pe OCTEI. Fiecare octet de memorie
este o LOCAIE la ADRESA creia se poate memora un cod binar de 8 bii. Adresa fiecrei
locaii este exprimat printr-un cod binar. Dac memoria respectiv are o capacitate de 64 Koctei
sunt necesare 64x1024=65536 adrese distincte, adic 216 adrese. Pentru obinerea acestui numr de
coduri binare de adrese sunt necesari 16 bii, se spune c aceasta este lungimea codului de adresare
a memoriei. Exprimate HEXA aceste adrese vor fi: 0000H; 0001H; 0002H; ... ; FFFEH; FFFFH.
Fiecare locaie de cte 1 octet este compus din 8 celule de memorie de un bit realizat pe
baza unui circuit electronic elementar de memorie numit BISTABIL. Denumirea lui vine de la
faptul c acesta poate rmne n starea cu unu la ieire sau cu zero la ieire dup nscriere, deci
poate memora.
Comunicaia procesorului cu memoria extern M se face prin grupuri de linii de legtur
numite magistrale. De exemplu pentru transmisia paralel (simultan), de la procesor la memorie,
a celor 16 bii de adres se folosete o magistral de adrese care are 16 linii, ca n figura urmtoare.
Aceste linii formeaz magistrala de adrese (mA) pe care sunt transmise ctre memorie coduri sau
"cuvinte" cu 16 ranguri: A15, A14, A13, A12, ..., A3, A2, A1, A0.
Magistrala de date este grupul de linii pe care se face schimbul de informaii ale celor 2
entiti ale tandemului procesor - memorie. Pentru a transporta n paralel (simultan) toi cei 8 bii
dintr-o locaie, magistrala de date (mD) are opt linii.
Spre deosebire de mA, pe mD transmisia informaiei se poate face n ambele sensuri:

PROCESOR MEMORIE cnd procesorul "CITETE" locaia adresat


PROCESOR MEMORIE cnd procesorul "SCRIE" n locaia adresat
Pentru a avertiza memoria despre intenia de a scrie sau de a citi codul
existent la adresa respectiv procesorul folosete o a treia magistral
numit magistrala de comenzi (mC) format din cel puin 2 linii: WR
(write) i RD (read) ca n urmtoarea schem a tandemului procesormemorie:
mA
procesor
memorie
CACHE

mC
mD

locaia 1

MEMORIE
M

RAM & ROM


locaia N

Notaiile din figur au urmtoarele semnificaii:


ma - magistrala de adrese;
22

mC - magistrala de comenzi;
mD - magistrala de date;
M - memoria operativ;
RAM - random access memory;
ROM - read only memory;
m - memorie intern direct a procesorului (cache) format din registre speciale i registre
de serviciu (PC-ul, SP-ul, etc);
CIRCUITE LOGICE SECVENIALE ELEMENTARE. BISTABILI
Fie CLC-ul din figur cu intrrile Ut i Xt care la momentul t iau valori n B={0,1} i ieirea
Qt care la momentul t ia valori tot n {0,1}.
Ut
Xt

CLC

Qt = f(Ut, Xt)

n cazul CLC timpul nu intervine n comportarea logic a circuitului, ci numai valorile


logice ale intrrilor. Dac, de exemplu, perechea X i U au la momentul t valori care determin
trecerea lui Q din 1 n 0 se va considera c aceast trecere se face instantaneu. Aceast presupunere
nu influeneaz interpretarea corecta a comportrii CLC-lui. n realitate trecerea din 1 n 0 a lui Q
nu are loc instantaneu, ci treptat ntr-un interval de timp mic, dar totui finit. Acest proces de
coborre ncepe la un moment anterior lui t pe care l notm t-1 i se termin la t.
Circuitul logic secvenial (CLS) se obine dintr-un CLC prevzut cu cel puin un circuit de
reacie. Prin reacie se nelege o conexiune (circuit) prin care semnalul de ieire este aplicat la una
din intrri. n aceste condiii, ieirea Qt va depinde nu numai de intrare ci i de valoarea ieirii la
momentul precedent, ca n figura urmtoare n care fcnd Xt=Qt-1 rezult Qt=f(Ut, Qt-1), n care f
este funcia logic a CLC-ului cu care s-a realizat CLS-ul.

Ut

CLC

Qt=f(Xt, Qt-1)

reacie
CLS
Un asemenea circuit, la care ieirea Q la momentul t (notat Qt) depinde de Qt-1 (care
exprim valoarea lui Q la momentul t-1 se spune c are proprietate de memorare.

23

PROPRIETATEA PRINCIPAL I DEFINIIA BISTABILULUI


Bistabilul este un CLS elementar cu 2 stri stabile (Qt=0 i Qt=1). Trecerea dintr-o stare n
alta se poate comanda prin intermediul semnalelor de intrare.
Proprietatea principal a bistabilului: Bistabilul are cel puin o valoare a intrrii
(intrrilor) pentru care Qt=Qt-1. Nu este interzis neunivocitatea ca 2 valori diferite ale acelorai
intrri s provoace aceeai stare Qt. Regula este: "la intrri diferite ieiri diferite". Principalele
circuite bistabile au denumiri i reprezentri acceptate la nivel mondial. Tipurile cele mai uzuale de
bistabili sunt: RS; JK; D; T. Reprezentarea unui bistabil se face prin: Simbol, tabel de stare i
expresia ecuatiei de stare respectiv a funciei logice Qt=f( ) care-i descrie funcionarea i care se
deduce din tabelul de stare a bistabilului dat.
BISTABILUL RS
Semnalele de intrare: SET notat cu S i RESET notat cu R. Operaia de "setare" a
bistabilului semnific aducerea n 1 a ieirii acestuia, iar "resetarea" semnific aducerea ieirii lui
n 0.
Tabelul de stare descrie funcia de ieire Qt=f a crui domeniu de definiie este
{0,1}x{0,1}=BxB i care ia valori n {0,1,Qt-1}:
intrri
ieire
St
Rt
Qt
linia 1: memorare 0
0
Qt-1
linia 2: resetare
0
1
1
linia 3: setare
1
0
1
linia 4: interzis
1
1
1
intrri
ieire
conversia
Qt-1 St
Rt
Qt
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
Deoarece Qt-1 ia valori tot n {0,1}
urmtorul tabel de adevr al CLS-ului:

Redefinirea funciei de ieire i


tabel de stare tabel de adevr:
MEMORARE
RESETARE
SETARE
INTERZIS
se poate scrie Qt : BxBxB{0,1}. Aceasta conduce la

Diagrama K-h a bistabilului RS este urmtoarea:


SR
Qt-1
00
0 0
1 1

01
0
0

11
1
1

10
1
1

24

n acest tabel se pot forma 2 grupuri: GR 1 de 4 celule cu a+b=2 cruia i se ataeaz 3-2=1
variabile adic numai S; GR 2 de 2 celule cu a+b=1 cruia i se ataeaz un produs de 3-1=2
variabie Qt-1(~R). Astfel rezult ecuaia de stare a bistabilului RS:
Qt St Qt 1 Rt

Aplicnd deMorgan se obine:


Q t S t Q t 1 R t

Folosind nc o data deMorgan se obine funcia care permite implementarea numai cu AND-uri i
NON-uri:
Q t Q t S t Q t 1 R t

Simbolul de reprezentare n schemele logice ale circuitelor de calcul mai complexe, n


care RS-ul este un element component, este un ptrat cu 2 intrri (R i S) i 2 ieiri (Q i ~Q) astfel:
R

~Q

Observaie: pentru simplificarea scrierii, n continuare se va omite indicele t la variabilele


R, S, J, K, D, T i Q.
BISTABILUL JK
Tabelul de stare JK:
J
K
Q
0
0
Qt-1
0
1
0
1
0
1
Q t 1
1
1
Se observ c intrarea de setare este acum J, iar cea de resetare este K i se mai observ c
a fost eliminat starea de neunivocitate (pe linia 4 din tabelul de stare a RS-lui). Se poate constata
c substituind n ecuaia RS-lui pe S i pe R cu
S=J(~Qt-1)

R=KQt-1
se obine o ecuaie care satisface tabelul de stare al JK-lui. Deci aceasta este ecuaia de stare a JKlui:
Q=J(~Qt-1)+( ~K)Qt-1
Din cele de mai sus rezult c CLS-ul care implementeaz ecuaia de stare a RS-lui se poate
construi n jurul unui RS la care se adaug nonAND pentru formarea lui R=KQt-1 respectiv a lui

25

S=J(~Qt-1) prin introducerea a 2 reacii suplimentare una dup Q i alta dup ~Q, ca n urmtoarea
schem logic a JK-lui.

K
J

Simbolul JK-lui este similar cu cel al RS-lui cu deosebirea c R i S sunt nlocuite cu K respectiv J.
BISTABILUL D (delay)
Acest bistabil are doar o intrare D i o ieire Q, care repet intrarea: Q=D.
Tabelul de stare este:
D
Q
0
0
1
1
Ecuaia de stare rezult din cea a JK-lui prin nlocuirea J=D i K=~D. Dup nlocuire
rezult Q=D(~Qt-1 + Qt-1) n care paranteza este =1. Aceasta demonstreaz c CLS-ul care
implementeaz un bistabil D se poate obine dintr-un JK prin aplicarea unui semnal D la borna de
intrare J i a celui negat nonD la borna de intrare K. Semnalul de intrare apare la ieire cu
ntrzierea inerent oricrui circuit fizic i deci Qt+1=Dt fapt pentru care se numete "delay".

BISTABILUL T (trigger)
Acest bistabil are o singur intrare notata T i urmtorul tabel de stare:
T
Q
0
Qt-1
1
~Qt-1
Dac n ecuaia JK-lui se face J=K=T rezult ecuaia care satisface tabelul de stare dat i
prin urmare aceasta reprezint ecuaia de stare a bistabilului T:
26

Q=T(~Qt-1)+(~T)Qt-1
'
Rezult astfel c CLS-ul de implementare a bistabilului T conine un JK cu intrrile legate
ntre ele la care se aplic T.
Simbolul este tot un dreptunghi cu o singur born de intrare T i 2 de ieire: Q i ~Q.
CLS pentru CELULA DE MEMORIE DE 1 bit
CLS-ul are o ieire E prin care se poate citi DATA de 1 bit memorat acolo anterior
momentului primirii prin mC a comenzii de READ de la procesor. Pe intrare celula trebuie s
poat primi 3 semnale binare provenite de pe cele 3 magistrale ale procesorului: un semnal de
adres A; un semnal de intrare date I; un semnal de validarea scrierii W. Toate aceste semnale sunt
binare i asigur comunicaia cu procesorul prin cele 3 magistrale. Nucleul acestei celule poate fi
un RS comandat pe intrare cu S=A&I&W=AIW i respectiv cu R=A&(~I)&W iar ieirea celulei
E=Q&A unde Q este ieirea RS-lui din centrul celulei.
Seminar 1

Calculatoare
(1)

Variabile de comutaie:

1 daca x = 1 sau y = 1,
sau x + y =
0 daca x = 0 si y = 0.
1 daca x = 1 si y = 1,
i x * y =
0 daca x = 0 sau y = 0.
1 daca x = 1,
sau x =

0 daca x = 0.

Proprieti
1) x + 0 = x;
2) x + 1 = 1;
3) x * 0 = 0;
27

4) x * 1 = x;
5) x = x;
6) x + x = 1;
7) x * x = 0;
8) x (y + z)=xy + xz;
9) x + yz = (x + y)(x + z);
10) distributivitatea x(x + y) = xx + xy = x + xy;
11) x + xy = (x + x)(x + y) = x(x + y);
12) x + xy = x * 1 + xy = x(1 + y) = x * 1 = x.
Exemplu
x +xy = x + y
x + x y = (x + x )(x + y) = 1(x + y) = x + y
S se demonstreze 9

Xyz
000
001
010
011
100
110
111

x+yz
0
0
0
1

(x+y)(x+z)

x( x + y) = xy
x x + xy = xy
xy + x z + yz = x y+ x z
xy + x z - yz*1 = xy + x z + (x + x )(yz) =
xy + x z + yzx + yz x = xy(1 + z) + x z(1 + y) =
xy + x z.
S se calculeze complementarele funciilor:
( x + y) * t

28

x y=x+y
x y= x y

Proprietatea
de Morgan

( x y) * t ( x y) t

=( x +y)+

= x +y+ t .

x y z xy ( x y z ) * xy =(x+ y

=x x + x

+z x +x y + y

+z)* xy = (x+ y +z)( x + y )=

+z y =

= y z +z x +x y + y +z y = y ( x +x+1+z)+z x = y +z x .
(2)
( x z )t x z ( x z )t * x z

=[ ( x z) t ][ x z ]=(x+z+ t )( x +z)=
x x xz t x zx zz tz

= xz t x zx z tz x (z t ) z( x [ t )
x (z t ) z z( x I [
) xt z x t.

(a + c)(a + d)(b + c)(b + d) = ab + cd


(aa + ac + ad + cd)(bb + cb + bd + cd) =
(a(1 + a + cd) + cd)(b(1 + c + d) + cd) = (a * 1 + cd)(b * 1 + cd) =
=(a + cd)(b + cd) = ab + acd + cbd + cd = ab + cd.

Tem
1) (a b)(a c) ab ac ;
2) (a b * c)(ac b) ab bc

S se simplifice:
1)
f ( x , y) xy xy y( x x ) y

2)
f ( x , y, z ) xz xzy z ( x xy) z[( x x )( x y)] z ( x y) zx zy

29

3)
f ( x , y, z) xyz x yz xy z xy z x y z xy( z z) x y(z z ) xyz xy x y xyz
y( x xz ) x y y( x z) x y xy yz x y.

Tem
f ( w , x , y, z) xy w y wx xyz
f ( w , x , y, z) ( yz w ) w yz wx

S se afle complementarele simplificare:


f ( w , x , y, z ) ( wx * w )( wx * x ) ( wx * w ) ( wx * x )
( wx w ) ( wx x ) ( wx w ) ( wx x ) w x

Tem
Complementare i simplificare:
f ( w , x , y, z ) ( x y wz )( w x y z )

Tabela de adevr i s se considere formulele mintermeni i produsul de maxtermeni


pentru funcii i pentru complementarele lor.
f[
( x , y) ( x y) * xy

xy
00
01
10
11

f
0
1
1
0

f1 ( x , y) xy x y sum de produse
f1 ( x , y) ( x y)( x y) produs de sume
f1 ( x, y) x y xy
f1 ( x, y) ( x y)( x y) x y xy.
f ( x , y, z) xy x y yz

xyz
000
001
010
011
100
101
110
111

f
0
1
0
0
1
1
1
1

30

mintermeni
f ( x , y, z ) xyz xyz xyz xyz xyz.
f ( x , y, z ) ( x y z)( x y z)( x y z ).
f ( x , y, z ) ( x * y * z ) (zyx) ( xyz)
f ( x , y, z ) ( x y z)( x y z)( x y z )( x y z )( x y z )

Pentru acas:
f3 ( w , x , y, z) w x * y x yz

tabela

1)
(a b)(a c) a a ac ab bc a ac ac bc

(1 + c) +

ab bc a ab bc a

(1 + b) + bc =

+ bc

[ab +

c]

2)
(a bc)(ac b) ab bc
a ac ab abcc bbc ab bbc ab bc.

3)
f ( w , x , y, z ) xy w y wx xyz

f (w ,x, y, z) =xy(1 + z) w y wx xy wy wx ( w w ) xy wy wx
wxy wxy w y wx w y (x + 1) + wx (1 + y) = w y wx.
4)
( yz w ) w yz wx yz * w w yz wx yzw w yz w yz

5)
( wx * w )( wx * x ) ( wx * w ) ( wx * x ) wx w wx x wx w x

6)
( x y wz )( w x y z ) ( w y wz ) ( w x y z ) xy zw x yz w

7)
f ( x , y, z, w ) w xy x yz

31

xyzw
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

f
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0

f ( x , y, z, w ) xy zw x yz w xyzw x yzw xyw( z z ) x yz ( w w )


xyw x yz

a
f

a
b

x1
x2
x3
x4

b
c

d
Valoarea cifrei afiate este dat de x1,,x4 interpretat ca ?.. binar. S se determine
minimizatele corespunztoare funciilor a i g.
x1 x2 x3 x4
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

cifra
0
1
2
3
4
5
6
7
8
9

a
1
0

b
1
1

c
1
1

d
1
0

e
1
0

f
1
0

g
0
0

a x1 x 2 x 3 x 4 x1 x 2 x 3 x 4

32

x1x2
x3x4

00

01

11

10

00

01

11

10

pentru a

TEOREM

xy x y
x y xy

y
M

x
y
f = xy + wz cu NAND:

z
w

x
y
z
w

xy wz xy wz xy wz ...

3xNAND

Cod binar cod Gray

33

Proprietate: dou numere succesive difer printr-un singur bit.

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

cod binar
x3 x2 x1 x0
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

y3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

cod Gray
y2 y1 y0
0 0 0
0 0 1
0 1 1
0 1 0
1 1 0
1 1 1
1 0 1
1 0 0
1 0 0
1 0 1
1 1 1
1 1 0
0 1 0
0 1 1
0 0 1
0 0 0

binar

Gray

Gray

binar

Calculatoare
y Ai Bi suma
T Ai * Bi transport

Ai

0
0
0
0
1
1
1
1

Bi

Ti 1

Si

Ti

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
1
0
1
0
0
1

0
0
0
1
0
1
1
1

AiBi

34

Ti-1

00

01

11

10
0

Ai
1

Bi

AiBi
Ti-1

00
0

Ti 1

Ti 1

T
01
i 1

T
11i 1

10
0 Si

1
0

pt. Si

pt. Ti

S i Ai Bi Ti 1 Ai Bi Ti 1 Ai Bi Ti 1 Ai Bi Ti 1

Ti Ti 1 Bi Ai Bi Ai Ti 1

S i ( Ai Bi Ai Bi )Ti 1 ( Ai Bi A1 Bi )Ti 1 ( Ai Bi )Ti 1 ( Ai Bi )T i 1


S i STi 1 S Ti 1

Introduceti valorile Ti in tabela:

Ai
Bi

0
0
1

Ti 1

Ti 1
1

Ti

S i Ti 1 ( A i B i Ai Bi ) T i 1 ( Ai B i Bi A i ) ( Ai Bi )Ti 1 ( Ai Bi )T i 1

Ti Ti 1 ( Ai Bi ) Ai Bi

Se implementeaza sumatorul complet in functie de schema sumatorului

35

x
y

x
y

Circuite MSI
Sumatorul de 4 biti paraleli( 7483);
Decodificator 74154( 4:16);
Multiplexorul 74150, 1, 3, 5, 7.

Sumator in zecimal codificat binary( ZVB)


pp. reprezentarea fiecarui rang al unei cifre zecimale in binary. Rangul se reprezinta pe o
tetrada( 4 biti).

16

ZCB

0110 unitati
0001 zeci

0001
0110

36

16 binar
00010000

16

ZCB Binar valoarea _ unitatilor

reprezentarea nr. In ZCB este necesara cand avem iesiri din circuit pe tuburi
Sumator complet paralel de 4 biti( 7483)
Pentru numere mai mari de 9 este necesara corectie; pentru nr.<=9 nu este
necesara.
0000-----------------------------------------0
1001-----------------------------------------9
0000
ZCB
1010(B) 0001
1

1010
0110
10000
Sumele corectate
Sumele necorectate
Tc

T
S C3 S C 2

S C1

S3

SC0

S2

S1

S0

A
B
C
D
E

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

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

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

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

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

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

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

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

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

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

37

T TC S C3 S C2 S C3 S C1
S S C 6

7483

7483

T 0 0000
T 1 0110

celula elementara de adunare 2 unitati zecimale reprezentate in ZCB devine

38

Decodificatorul

4:16

2 4 combinatii pentru marimi de intrare prestabilite


16 pentru functiile de iesire
IA

IB

IC

ID

CE

O0

O1

O2

0
0
0
0
0
0

0
0
0
0
1
1

0
0
1
1
0
0

0
1
0
1
0
1

0
0
0
.
.
.

0
1
1
1
1
1

1
0
1
1
1
1

1
1
0
1
1
1

--------------------------

OF

1
1
1
1
1
0

0
1
2
.
.
.
.
F
Strobe= 0 Enable
1Deseable

39

Tema :

Sa se implementeze functia :

y x yz

f x, y , z xy x y x y z y x yz

Utilizand decodificatorul 3:8. Indicatie: in cazul codificatoarelor implementarea cu acest tip


de este utila cand avem un numar mare de functii de iesire si un numar relative mare
de mintermeni.

Calculatoare
S se indice succesiunea de stri n f(CLK)

D A Q B Q C QC Q B

DB Q A
DC Q B

s. curent

s. urmtoare

Q A QB
QC

Q A Q B QC

111
011
001
100

011
001
100

D
0
1

Q(t+1)
0
1

40

J A QB
K A QB

J B QA
KB Q A

Q A QB

Q A QB

00
10
01

10
01
00

J A QC

J B QA

J C QB

K A QC

KB Q A

KC Q A

Q A QB
QC
000
100

Q A Q B QC
100
111

41

TC I 1 I 2
TB I 1QC I 2 Q C

T A I 1QC I 2 Q C ERROR

Se consider

I 1 1;
I 2 0.

Q A QB
QC

Q A Q B QC

000
001

001

S se realizeze unul de tip D i unul de tip T.

JK
00
01
10
11

Q(t+1)
Q(t)
0
1
Q(t)

(J)

T
0
1

Q(t+1)
Q(t)
Q(t)

42

(K)

f (J ) D
f (K ) D

(K)

(J)

J=T
K=T
T

Q(t+1)

Q(t)

Q(t+1)

Q (t )

Q(t)

Q (t )

S se proiecteze un circuit monoimpuls folosind ASM

43

Q0

Q0

Q1

0
0

Q1

IA

IA

Q0

Q1

IA

Q0

Q1

Q1 (t 1)

Q0 (t 1)

Q0 (t 1) Q 0 IAQ 1
Q1 (t 1) Q0 IAQ1

Q0

44

Q1

MI= Q0

D1 Q0 I A Q1
D0 IAQ 0 Q 1

Q0

Q0

Q1

Q1

IA

J1

K1

J 1 Q0
K 1 0.

Q0

Q1
0

IA

Q0
1

J0

Q1

K1

45

J 0 IAQ 0
K0 1

Calculatoare

Numartor sincron cu succesiunea strilor.


000
100
110
111
011
000

Q0

Q1
Q2

00

01

11

10

QC

QB
QA

QC

00

01

11

10

QC

QB
QA

00

01

11

10

QB
QA

00

01

11

10

46

DC Q A

tranziia

0 0

0 1

1 0

1 1

QC

QC

QB

QB

JA

JB

QO

QA
0

QC

KB

QB

KA

QA
*

47

J A QB

J B QC

JC QB

K A QC

K B QC

K C QA

Numartor sincron reversibil cu JK, 4 stri: - I 1 comand descresctoare;


- I 2 comand creasctoare.

QB
QA

JA

b
a

0 I1 I 2

Ja

KA

b
a
0

I1 I 2

1 I1 I 2

I1 I 2

KB

48

I 2 I1 I 2 I1

I 2 I 2 I1 I 2 I1

J A I1 I 2
K A I1 I 2

KB

I 2 I1

I2

I 2 I1

I2

J B I 2 I1 a I 2 a
K B I 2 I1 a I 2 a

2. CSS cu y1, y2 sinc. i


Pt. Y1Y2.

Q1 si Q2.

49

Realizarea circuitelor de comutatie combinationale cu circuite integrate de tip


LSI
O memorie ROM (memorie permanenta) este un dispozitiv care contine atat
decodificatorul cat si portile SAU necesare pentru realizarea unor functii de comutatie.
Fixarea conexiunilor intre iesirile decodificatorului si intrarile portilor SAU deci fixarea
functiilor de comutatie realizate de un astfel de dispozitiv se face prin programarea
memoriei. Inregistrarea informatiei intr-o memorie ROM (programarea memoriei) se face
prin fabricatie sau in cazul memoriilor PROM cu ajutorul unui dispozitiv special numit
programator de PROM-uri.Schema bloc a unei memorii ROM este:

n intrari

2n m
ROM

m iesiri

Memoria are n intari. Fiecare combinatie de valori a semnalelor de intrare se numeste adresa.
Fiecare combinatie de valori a semnalelor de iesire se numeste cuvint. Numarul de biti intr-un
cuvant este n fiind egal cu numarul de iesiri. Fiecare adresa reprezinta de fapt un mintermen
realizat cu cele n semnale de intrare. Un cuvant este selectat de o adresa unica si este format din
valorile functiilor de comutatie implementate pentru combinatia de valori reprezentata de adresa
respective. Deci vor exista 2n cuvinte memorate in ROM. Valorile obtinute la un moment dat la
iesirile memoriei reprezinta cuvintul selectat de adresa aplicata la intrarile circuitului. Sa
consideram de exemplu o memorie de 2 2 2 ROM. Structura interna echivalenta a unei astfel de
memorii este:

50

A0

A1

Decodificator00
01
2 la 4
10
11

F1

F2

Prin stabilirea legaturilor intre iesirile decodificatorului si intrarile portilor SAU se


stabilesc funtiile realizate de catre acest circuit combinational. Sa consideram de exemplu
implementarea functiilor: f 1 ( x, y ) xy x y si f 2 ( x, y ) x y x y . Se observa ca structura
interna echivalenta a memoriei ROM trebuie sa devina
A0

A1

Decodificator00
01
2 la 4
10
11

F1

F2

In general implementarea unor functii de comutatie cu ajutorul unei memorii PROM


parcurge urmatoarele etape:
in functie de numarul de functii care se realizeaza se stabileste lungimea
minima a cuvantului de memorie;
in functie de numarul de variabile pentru functiile de comutatie
implementate se stabileste numarul minim de intrari;
pe baza lungimii minime a cuvantului si a numarului de intrari se allege un
anumit tip de circuit ROM;
51

Se observa ca B0 A0 si B1 0 si deci este necesar sa se realizeze numai un


circuit combinational care sa utilizeze functiile B5 , B4, B3 , B2 . Rezulta ca se poate
utiliza o memorie PROM cu urmatoarea tabela da adevar.
A2
0
0
0
0
1
1
1
1

A1
0
0
1
1
0
0
1
1

A0
0
1
0
1
0
1
0
1

F1
0
0
0
0
0
0
1
1

F2
0
0
0
0
1
1
0
1

F3
0
0
0
1
0
1
0
0

F4
0
0
1
0
0
0
1
0

Utilizarea memoriilor ROM (PROM) pentru implementarea functiilor de comutatie


este avantajoasa atunci cand se realizaeza un numar relativa mare de functii de
comutatie cu un numar mare de variabile de intrare.
Sa incercam sa utilizam insa 6 memorii de tip ROM pentru realizarea conversiei de
la codul utilizat pentru reprezentarea caracterelor pe cartele perforate la un cod de tipul
celor pentru reprezentarea numerelor in calculatoarele numerice (ASCII). Codul utilizat
pentru reprezentarea caracterelor pe cartelele perforate utilizeaza 12 valori binare (biti),
fiecare valoare fiind asociata unei linii de pe cartela. Codurile utilizate pentru
reprezentarea caracterelor in calculatoarele numerice sunt coduri care utilizeaza 8 biti.
Rezulta ca o memorie ROM utilizata pentru o astfel de aplicatie ar trebui sa fie de tipul
4096 x 8 ( 212 4096 ). Dintre cele 4096 de cuvinte din memorie sunt utile numai 47 (26
litere, 10 cifre, 11 semne speciale), celelalte cuvinte sunt associate unor adrese
(combinatii de valori ale semnalelor de intrare) care nu vor fi aplicate niciodata la intrarea
circuitului, cu alte cuvinte sunt combinatii de valori pentru care functiile de comutatie
realizate de circuit sunt nespecificate. Rezulta deci o utilizare foarte ineficienta a
memoriei. Intr-o astfel de situatie se poate utiliza pentru implementarea functiilor de
comutatie. Un alt tip de circuit integrat de tip LS si anume circuite integrate de tip PLA. Un
circuit PLA este foarte asemenator ca structura echivalenta cu o memorie ROM. Diferenta
consta din faptul ca in locul decodificatorului apar o serie de porti si, fiecare putind sa
produca un produs de variatie in forma directa sau complementata. Fixarea termenilor
produsi de portile SI ( . Intrarilor aplicate portilor SI) si a conexiunilor de comutatie
realizate de catre PLA. Schema bloc echivalenta a uni PLA cu n intrari si M iesiri este:

Se observa ca cele n intrari se vor aplica in forma directa sau complementata la


intrarile portilor SI in functie de conexiunile fixate la intrarile portilor SI, iar pentru fiecare
poarta SAU se utilizeaza toate cele x iesiri de porti SI sau numai o parte din ele. La iesirile
circuitului se obtine fiecare functie implementate in forma directa daca se utilizeaza iesire
52

directa de la poarta SAU corespunzatoare sau in forma complementata daca se utilizeaza


iesirea unei porti NU legata la iesirea portii SAU corespunzatoare.
Tipul circuitului PLA este dat de numarul de intrari, numarul de porti SI si numarul de iesri.
Un exemplu tipic de circuit PLA are 16 intrari, 48 de porti SI, 8 iesiri.
Ca si in cazul memoriilor ROM fixarea functiilor realizate se obtine in fabricatie sau
prin "programare" cu ajutorul unor dispozitive speciale (in acest caz circuitele PLA sunt de
tip FPLA).
Utilizaera circuitelor PLA este avantajoasa in cazul implemantarii unui numar mare
de functii de comutatie cu un numar mare de intrari, daca numarul de combinatii de valori
pentru care toate functiile sunt nespecificate este suficient de mare.
Peantru a ilustra tehnicile utilizate pentru implementarea cu ajutorul circuitelor de tip PLA
vom prezenta din considerente didactice un exemplu mai simplu care nu respecta conditia
precizata anterior. Fie functiile de comutatie de 3 variabila f1 si f2 reprezentate
de urmatoarele tabele Karnaugh.

xy
z

00

01

11

10

Xy
Z

00

01

11

10

f 1 ( x, y, z ) xz yz

f 2 ( x, y , z ) xy yz

Cele doua functii se pot realiza prin utilizarea unui PLA cu 3 intrari, 3 porti SI si
doua iesiri, configurat in modul urmator:
x

53

Specificarea modului de implemantare pentru un PLA nu se face bineinteles


desenand structura echivalenta. Se construieste o tabela speciala pentru programarea
circuitului PLA. Aceasta tabela este formata din doua tipuri de intrari:
intrari care descriu produsele realizate de catre fiecare poarta SI
si intrari care descriu sumele realizate de catre fiecare poarta SAU.
Se observa ca pentru fiecare poarta SI exista n intrari (corespunzatoare fiecarui
semnal de intrare), fiecare intrare poate avea valorile 1,0,-.
Daca o variabila se conecteaza direct (complementat) valoarea intrarii este 1(0), daca o
variabila m se conecteaza la poarta respectiva valoarea este "-". Se observa ca pentru
fiecare poarta SAU exista x intrari (corespunzatoare fiecarei porti SI), fiecare intrare poate
avea valoarea 1 sau -. Daca iesirea portii SI se conecteaza la intrarea portii SAU, cu alte
cuvinte produsul respectiv participa la formarea sumei atunci valoarea intrarii este 1, altfel
este ****. Pentru fiecare iesire de poarta SAU se precizeaza daca preluarea se face in
forma directa sau complementara.
Se considera si urmatorul exemplu. Sa se cinstruiasca o realizare cu PLA pentru
functiile de comutatie definite de urmatoarele tabele Karnough:

Xy
Z

00

01

11

10

54

xy
z

00

01

11

10

f 1 ( x, y , z ) xy yz xz

f 2 ( x, y , z ) x y y z xyz

F1 ( x, y, z ) x y x z y z

F2 ( x, y , z ) y z x y x y z

Se observa ca numarul minim de produse diferite pentru cele doua functii se obtine
daca se
alege pentru f1 forma complementata, iar pentru f2 forma directa. Implementarea necesita
un PLA cu 3 intrari, 4 porti SI si 2 iesiri. Tabela pentru programarea PLA-ului este:

porti SI

Porti SAU

intrari

intrari

produs

x y z

f1 f 2

xy

0 0 -

1 1

xz

0 - 0

1 -

yz

- 0 0

1 1

55

xyz

1 1 1

- 1

56