Sunteți pe pagina 1din 124

1

SISTEME DE NUMERAIE

Sistemele de numeraie sunt ansambluri de reguli de reprezentare a numerelor cu ajutorul simbolurilor denumite cifre. Acestea pot fi poziionale cum este sistemul zecimal i nepoziionale cum este sistemul roman. ntr-un sistem poziional de baz B un numr N cu parte ntreag i parte fracionar, separate prin punct (virgul) se scrie sub forma urmtoare: (1.1) N = bn 1bn 2 bn 3 ...b1b0 b1b 2 b3 ...b (m 1) b m , simbolurile bi sunt coeficienii cu care se nmulesc puterile Bi ale bazei n dezvoltarea polinomial a numrului pentru obinerea valorii sale (exprimat n zecimal). N = bn1 Bn1 + bn2 Bn2 + bn3 Bn3 +...+ b1 B1 + b0 B0 + b1 B1 + b2 B2 + b3 B3 + m (1.2) +...+ b(m1) B(m1) + bm Bm = bi Bi
i=n1

Pentru oricare sistem de numeraie simbolul bazei sistemului se scrie cu cifrele unuzero 10, iar numrul semnelor distincte pentru cifrele sistemului este egal cu B (de exemplu, pentru sistemul zecimal (0, 1, 2,..., 8, 9), B = 10 ; n sistemul de numeraie binar (0,1), B = 2). Relaia (1.2) explic de ce astfel de sisteme sunt denumite poziionale; fiecare cifr bi, (din rangul i) intr n valoarea numrului respectiv cu o pondere dat de puterea i" a bazei B. Fiecare numr se obine din numrul anterior prin adugarea unei uniti la ultima cifr. n tabelul 1.1 sunt exprimate numerele naturale de la 033 n sistemele de numeraie cu baza B = 10, 2, 13, 16 (pentru fiecare poziie scriindu-se i puterea bazei). La sistemele de numeraie cu baza mai mic dect zece se utilizeaz tot semnele arabe (cele specifice pentru baza 10), iar la cele cu baza mai mare dect zece se introduc simboluri noi; de exemplu, pentru sistemul n baza 16 (hexazecimal) se introduc urmtoarele simboluri 10=A, 11=B, 12=C, 13=D, 14=E, 15=F. Specificarea bazei n care sunt exprimate numerele exist mai multe convenii ns, n general, pentru baza 16 se adaug litera H, iar pentru baza 8 se adaug litera Q. Exist algoritmi (reguli) de conversie a unui numr dintr-o baz n alta. Algoritmul de conversie zecimal-binar, N|10 N|2, pentru un numr ntreg se deduce pornind de la expresia (1.2) sub forma: (1.3) N = bn1 2 n1 + bn 2 2 n 2 + ... + b3 2 3 + b2 2 2 + b1 2 1 + b0 2 0 Prin mpriri succesive N = 2(bn 1 2 n 2 + bn 2 2 n 3 + ... + b3 2 2 + b2 21 + b1 21 + b1 ) + b0 unde: bn 1 2 n 2 + bn 2 2 n 3 + ... + b3 2 2 + b2 21 + b1 21 + b1 = N 1 i b0 este rest N 1 = 2(bn 1 2 n 3 + bn 2 2 n 4 + ... + b3 21 + b2 ) + b1 unde: bn 1 2 n 3 + bn 2 2 n 4 + ... + b3 2 1 + b2 = N 2 i b1 este rest (1.4) N k = 2(bn 1 2 n k 2 + ... + bn k 1 ) + bk unde: bn 1 2 n k 2 + ... + bn k 1 = N k i bk este rest se obin resturile care sunt tocmai biii numrului N exprimat n binar, de exemplu 93|10?|2 1

93=246+1 bn-7 = 1 46=223+0 bn-6 = 0 23=211+1 bn-5 = 1 11=2 5+1 bn-4 = 1 5=2 2+1 bn-3 = 1 2=2 2+0 bn-2 = 0 1=2 0+1 bn-1= 1 6 5 4 3 N = 1 2 + 0 2 + 1 2 + 1 2 + 1 2 2 + 0 21 + 1 2 0 = 93 10 Astfel: 93 10 =1011101 2 Algoritmul de conversie zecimal-binar, N|10 N|2, pentru un numr fracionar (subunitar) se deduce pornind de la expresia: N 2 = b1 2 1 + b2 2 2 + b3 2 3 + ... + b( m1) 2 ( m1) + b m 2 m (1.5) Prin nmuliri succesive cu 2 N 2 = b1 + b 2 2 1 + b3 2 2 + ... + b( m1) 2 ( m 2) + bm 2 ( m1)

N1 2 = b 2 + b3 2 1 + ... + b( m1) 2 ( m3) + b m 2 ( m 2) .. N k 1 2 = b k + b k 1 + ... + b m 2 ( m 2 ) unde: b 2 2 1 + b3 2 2 + ... + b( m1) 2 ( m 2) + b m 2 ( m1) = N1 ; b3 2 1 + ... + b( m1) 2 ( m3) + b m 2 ( m 2) = N 2

(1.6)

b k 1 + ... + b m 2 ( m 2 ) = N k se obin pri ntregi (0 sau 1) care sunt tocmai biii numrului N exprimat n binar, de exemplu 0.48932 10 = ? 2 . nmulirea se oprete cnd partea fracionar devine zero sau

cnd se consider satisfctor un numr de cifre binare pentru precizia stabilit. 0.48932 2 = 0 + 0.97864 b-1 = 0 0.97864 2 = 1 +0.95728 b-2 = 1 0.95728 2 = 1 +0.91456 b-3 = 1 0.91456 2 = 1 +0.82912 b-4 = 1 0.82912 2 = 1 +0.75824 b-5 = 1 0.75824 2 = 1 +0.51648 b-6 = 1 0.51648 2 = 1 +0.03296 b-7 = 1 0.48932 10 = 0.0111111... 2

N = 0 2 1 + 1 2 2 + 1 2 3 + 1 2 4 + 1 2 5 + 1 2 6 + 1 2 1 + ... = 0.48932 10 Pentru conversia zecimal-binar a unui numr ce prezint att parte ntreag, ct i parte fracionar se combin cei doi algoritmi. Din exemplele de mai sus s-a putut vedea c pentru conversia binar-zecimal, N|2 N|10, se adun puterile succesive ale lui 2, fiecare fiind nmulit cu bitul din poziia respectiv a numrului binar. Algoritmii dedui mai sus (1.4) i (1.6) pot fi aplicai i n cazul conversiei zecimal-octal, zecimal-hexazecimal etc. Conversiile directe octal-binar, hexazecimal-binar, ct i conversiile inverse binaroctal, binar-hexazecimal se realizeaz mult mai simplu datorit faptului c 8 i 16 sunt puterile lui doi (23, 24). Un numr (mai mic dect baza) n octal i n hexazecimal poate fi exprimat prin trei cifre binare (triad) respectiv prin patru cifre binare (tetrad).

Tabelul 1.1 Numerele naturale pn la 33 exprimate n bazele 10,2,16 i 13


N 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 101 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 N10 100 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 23 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 N2 22 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 21 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 20 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 161 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 N16 100 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 131 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 N13 130 0 1 2 3 4 5 6 7 8 9 A B C 0 1 2 3 4 5 6 7 8 9 A B C 0 1 2 3 4 5 6 7

Deci conversiile n ambele sensuri se bazeaz pe corespondena dintre triade n numrarea binar i numerele pn la apte la numrarea n baza 8, respectiv dintre tetrade n numrarea binar i numerele pn la 15 n numrarea n baza 16. Exemple: 001 101.111 0102=15.788 unde: 0011, 1015, 1117, 0102; 2.048=10.00012 unde: 2010, 0000, 4100; 1001 0000 1111 0010 10102 = 90F.2A16 i 1D.C16 = 0001 1101.11002 unde: 10019, 00000, 1111F, 00102, 1010A, 00011, 1101D, 1100C. Conversiile inverse binar-hexazecimal, binar-octal se realizeaz delimitnd cuvntul binar de la dreapta spre stnga (sau pornind de la punctul prii fracionare n ambele sensuri) n tetrade sau triade i nlocuindu-le cu cifrele corespunztoare din sistemul hexazecimal, respectiv din sistemul octal. Conversiile directe hexazecimal-binar, octal-binar (care n fond sunt considerate codificri hexazecimal-binar, octal-binare se realizeaz simplu prin substituia cifrelor hexazecimale sau octale prin tetrade sau triade corespunztoare. 3

1.1

CODURI

Codificare presupune realizarea unei schimbri a formei de exprimare a informaiei, altfel spus o translatare de limbaj. Fie X = {x1, x2, x3, , xp} mulimea simbolurilor primare, emise de o surs de informaie i care urmeaz a fi codificate prin intermediul unor simboluri elementare dintr-o alt mulime B = {b1, b2, b3,, bn}. Prin operaia de codificare se asociaz fiecrui element x X al sursei primare de informaie o secven de simboluri bi B, astfel nct modelul de codificare va fi reprezentat prin corespondena biunivoc: x1 b1b3b1b4 = s1 x2 b2b1b2 = s2 x3 b3b1b1b5 = s3 xp b1b3b1b4 = sp Cuvintele de cod s1, s2, s3, ..., sp formeaz o nou mulime S = { s1, s2, s3, ..., sp }. Cu aceste consideraii putem acum defini codificarea ca o coresponden biunivoc ntre cele dou mulimi X i S, deci codificarea este o aplicaie bijectiv de forma f: X S. Codul este uniform dac toate cuvintele s1, s2, s3, ..., sp au aceeai lungime (dar n acest caz aplicaia nu este totdeauna surjectiv). n electronica digital mulimea B este mulimea binar {0,1}, deci cuvintele mulimii S (care formeaz codul pentru informaia primar) sunt cuvinte binare de o anumit lungime, n general de 8, 16, 24, 32 bii. Pentru microprocesoarele standard lungimea este de 8 bii, suportul fizic care implementeaz cuvntul poate fi un registru cu capacitatea minim de 8 bii sau o locaie din memorie, la fel cu capacitatea minim de 8 bii, reprezentate ca n tabelul 1.2. Tabelul 1.2 Reprezentarea unui cuvnt cu lungimea de 8 bii ntr-un registru sau o locaie de memorie. b7 b6 b5 b4 b3 b2 b1 b0

Bitul cel mai semnificativ (MSB)

Bitul cel mai puin semnificativ (LSB)

n tehnica microprocesoarelor informaia primar, care se codific sub form de cuvinte binare, poate fi compus numai din simboluri numerice (numere) sau att din simboluri numerice, ct i literale i semne de ortografie (evident cu semantica ce li se atribuie); rezult deci dou tipuri de coduri, numerice i respectiv coduri alfa-numerice. 1.1.1 Reprezentarea numerelor Prin intermediul cuvintelor binare se pot codifica numere din sistemul de numeraie binar, octal, zecimal, hexazecimal etc. rezultnd respectiv coduri binare, octal-binare, zecimal-binare, hexazecimal-binare etc. a) Reprezentarea numerelor ntregi fr semn. Corespondena ntre un numr n sistemul binar i un cuvnt (de cod) n binar poate fi chiar identitate, adic cuvntul de cod este chiar numrul respectiv ca n tabelul 1.3. Un cuvnt de 1 bait (8 bii) poate reprezenta numere ntre 0 i 255, deci o mrime fizica exprimat printr-un cuvnt de 8 bii poate fi msurata cu o rezoluie de 1/256. n cazul 4

cnd aceast rezoluie nu este satisfctoare pentru mrimea respectiv (se exprim printrun numr mai mare de 256) cuvntul care o reprezint n microprocesor va fi format din doi, trei sau mai muli octei alturai. Un numr zecimal m poate fi exprimat n binar printr-un numr de bii egal cu log2 m. Tabelul 1.3 Reprezentarea numrului binar ntreg echivalentul lui 17910
Coeficienii Cuvntul binar Puterile bazei Valorile termenilor Total b7 1 27 127=1 28 b6 0 26 026= 0 Numr binar ntreg fr semn b5 b4 b3 b2 1 1 0 0 25 24 23 22 b1 1 21 121= 2 b0 1 20 120= 1

125= 124= 023= 022= 32 16 0 0 128+0+32+16+0+0+2+1=179

b) Reprezentarea numerelor fracionare fr semn. La fel ca i numerele ntregi, numerele fracionare binare pot fi reprezentate printr-un cuvnt binar, tabelul 1.4. Punctul (virgula) nu se reprezint fizic (n registru sau n locaia de memorie), dar programatorul trebuie s tie ntre care bii ai cuvntului este localizat. Uneori, fiecare numr binar de n bii (avnd valoarea maxim 2n-1) este nmulit (scalat) cu 2-n, deci se reduce la un numr subunitar, punctul (virgula) se consider ca fiind localizat n faa bitului celui mai semnificativ (valoarea maxim se reduce la 1-2-n, intervalul de reprezentare n microprocesor fiind ntre 0 i 1-2-n). Tabelul 1.4 Reprezentarea numrului binar fracionar echivalentul lui 22,37510
Cuvntul binar Puterile bazei Valorile termenilor Total 1 24 124=1 6 0 23 023=0 Numr binar fracionar fr semn 1 1 0 0 22 122=4 21 121=2 20 020=0 2-1 02-1= 0 1 2-2 12-2= 0,25 1 2-3 12-3= 0,125

16+0+4+2+0+0+0,25+0,125=22,375

c) Reprezentarea numerelor cu semn. Pentru reprezentarea unui numr binar N ntreg, cu semn, de n-1 bii N = bn-2 bn-3 bn-4 b4 b3 b2 b1 b0 , cu valoarea absolut N
N = bn2 2n2 + bn3 2n3 + bn4 2n4 + ... + b3 23 + b2 22 + b1 21 + b0 20 = bi 2i
i =0 n2

(1.9)

n tehnica microprocesoarelor este necesar un registru sau o locaie de memorie cu capacitatea de n bii. Bitul bn-1 cel mai semnificativ (MSB) al registrului adugat la cei n-1 bii va reprezenta semnul numrului: bn-1 = 1 pentru minus, bn-1 = 0 pentru plus, tabelul 1.5 (a,b,c). Exist trei forme (mai uzuale) de reprezentare a numerelor binare cu semn: n mrime i semn, n complement fa de 1 i n complement fa de 2. Tabelul 1.5 (a,b,c) Codificarea numerelor 125
Bit de semn 0 Reprezentarea numrului n baza 2 1 1 1 1 1 0 1 Valoarea n baza 10 +125 Reprezentare n mrime i a

1 0 1 0 1 27 (-1)2 = -128
7

1 1 0 1 0 26 02 = 0
6

1 1 0 1 0 25 02 = 0
5

1 1 0 1 0 24 02 = 0
4

1 1 0 1 0 23 02 = 0
3

1 1 0 1 0 22 02 = 0
2

0 0 1 0 1 21 02 = 2
1

1 1 0 1 1 20 12 = 1
0

-125 +125 -125 +125 -125 -

semn n complement fa de 1 n complement fa de 2 Total -125

b c

d) Reprezentarea numerelor binare (cu semn) n mrime i semn. n aceast reprezentare bitul bn-1 = 1 pentru minus, bn-1 = 0 pentru plus, restul biilor bn-2bn-3b3b2b1b0, reprezint numrul n valoare absolut N, tabelul 1.5 a. Valoarea n zecimal a numrului cu semn se scrie sub forma:
N = ( 1) n 1 bn 2 2 n 2 + bn 3 2 n 3 + ... + b1 2 1 + b0 2 0 = ( 1) n 1 bi 2 i
b b i =0

n2

(1.10)

i se poate situa n intervalul:

2 n1 1 N 2 n1 1 . (1.11) Din relaiile (1.10) i (1.11) se deduce c un cuvnt de microprocesor standard (de un bait) poate exprima numere n domeniul -127+127. Zero are dou exprimri +000000000 i -010000000. Aceast reprezentare n mrime i semn are o utilizarea redus, doar n unele voltmetre digitale. Acest numr N cu semn, de lungime n-1 bii, poate fi reprezentat i scalat, adic mprit cu 2n-1, obinndu-se conform relaiei (1.11), domeniul de existen a valorii numrului: N (1.12) (1 2 n +1 ) n 1 (1 2 n + 2 ). 2 Pentru numrul scalat se consider c punctul (virgula) este situat totdeauna dup bitul de semn, MSB. e) Reprezentarea numerelor binare (cu semn) n complement fa de 1. Fie numrul N cu lungimea de n-1 bii: N = bn 2 bn3bn4 ...b4 b3b2 b1b0 (1.13) negatul acestui numr N (sau complementul fa de 1) se obine prin complementarea fiecrui bit: N = b n 2 b n 3 b n 4 ...b 4 b 3 b 2 b 1 b 0 (1.14) Practic, complementul unui numr se poate realiza cu o structur de circuit SAU EXCLUSIV. Adunnd relaiile (1.13) i (1.14) se obine: N + N = 111...111 (1.15) n 1 Codurile de n bii pentru numerele ntregi pozitive N 2 1 se obin, la fel ca la reprezentarea prin mrime i semn, adic este chiar numrul de n-1 bii la care se adaug n poziia cea mai semnificativ bn1 = 0 . Codurile pentru numerele negative de n-1 bii N 2 n1 1 se obin prin complementarea fiecrui bit bi b i , iar n poziia cea mai semnificativ se adaug bitul bn 1 = 1 , tabelul 1.5 b, adic: N n comp. de 1 = 1 b n 2 b n3 b n4 ...b 4 b 3 b 2 b 1 b 0 (1.16)

ntr-un registru de n bii se nscriu n complement fa de 1 numere (de n-1 bii) a cror valoare este n intervalul dat de relaia (1.11). Aceast valoare poate fi scalat la fel cu 2n-1 obinndu-se relaia (1.12), punctul (virgula) considerndu-se a fi situat dup bitul de semn. Zero are dou reprezentri: 0000 0000, 1111 1111. f) Reprezentarea numerelor binare (cu semn) n complement fa de 2. Codificarea numerelor binare cu semn n complement fa de doi este foarte utilizat, n tehnica microprocesoarelor, deoarece simplific efectuarea operaiilor aritmetice. Din relaia (1.15) se obine: N + N + 1 = 100 ...000 sau

2n N = N + 1 (1.17) n n care numrul 2 N este denumit complementul lui N fa de doi. Se convine a se exprima numrul negativ -N nu prin valoarea sa real, ci prin complementul lui fa de 2n i se scrie sub forma (-N):
(1.18) Un numr pozitiv N de n-1 bii se codific n complement fa de doi, identic ca n complement fa de unu sau ca mrime i semn, adic sub forma unui cuvnt de n bii cu bitul cel mai semnificativ bn1 = 0 . Urmtorii n-1 bii sunt exact biii numrului N. Un numr negativ -N de n 1 bii se codific n complement fa de doi, relaia (1.18), ca i n complement fa de 1, dar n plus se adun unu la bitul cel mai puin semnificativ. Bitul de semn este bn 1 = 1 , deci cu bitul de semn cuvntul n cod complement de doi are n bii. Practic complementul fa de 2 al numrului -N se obine n felul urmtor: se complementeaz toi biii numrului N, se adun 1 la bitul cel mai puin semnificativ b0, se ataeaz bitul de semn (cel mai semnificativ) de valoare bn-1 =1. De exemplu: N = 125 10 1111101 2 , se complementeaz 0000010, se adun 1 la bitul cel mai puin semnificativ, 000 0010+ 1 =000 0011, i se adaug bitul de semn 1000 0011. Sau, ntr-o alt modalitate: numrul -125<128 = 27 sub forma unui cuvnt de 8 bii se scrie 0111 1101, se complementeaz 1000 0010, se adun 1, 1000 0010 + 1 = 1000 0011, tabelul 1.5 c. Pentru un numr oarecare de n-1 bii dat sub forma (1.8) se obine: (N ) = bn2 bn3bn4 ...b4 b3b2 b1b0

( N ) = 2 n N = N + 1

( N ) = 1 b n2 b n3 b n4 ...b 4 b 3 b 2 b 1 (b 0 + 1)
N = 0 2 n 1 + bi 2 i
n2

(1.19)

Valoarea zecimal a unui numr binar codificat n complement de doi este: pentru N > 0 pentru N < 0 (1.20)
i =0 n2

N = ( 1) 2 n 1 + b i 2 i
i =0

Din relaiile (1.20) se deduce c ntr-un cuvnt de n bii poate fi codificat un numr de n-1 bii a crui valoare se situeaz n intervalul: (1.21) 2 n 1 N 2 n 1 1 De exemplu, un cuvnt de un bait poate codifica numerele din intervalul [-128, +127] fiind cu 1 mai multe numere negative dect pozitive, iar pentru zero corespunde o singur reprezentare 0000 0000. Evident, i n complement de 2 numerele pot fi scalate (nmulite cu 2-n+1) adic aduse n intervalul: N (1.22) 1 n 1 1 2 n +1 2

Toate consideraiile privind codificarea numerelor cu semn s-au fcut pentru un numr ntreg de n bii ca n relaia (1.8). Acestea pot fi extinse i asupra numerelor fracionare date sub forma (1.1), dar n acest caz este necesar pentru codificare un cuvnt de lungimea n+m bii plus un bit de semn. Numerele fracionare pot fi apoi scalate prin mprire cu 2n-1, deci punctul (virgula) va fi situat dup bitul de semn. Toate aceste codificri scalate cu punctul (virgul) dup bitul de semn se mai numesc reprezentri n virgula fix. Dac numerele care se codifica au valori n afara intervalului dat de relaiile (1.11), (1.21) sau (scalate) de relaiile (1.12), (1.22), atunci se pot folosi cuvinte formate din mai muli octei. n cazul cnd un cuvnt extins pe mai muli octei nu satisface precizia de calcul, sau rezoluia cu care se reprezint o mrime fizic, se trece la reprezentarea n virgul mobil (flotant). g) Reprezentarea numerelor n virgul flotant. Un numr N reprezentat n virgul flotant are dou componente. Prima E, denumit exponent, d indicaii asupra ordinului de mrime al numrului, iar a doua, denumit mantis M, d indicaii asupra mrimii exacte a numrului ntr-un anumit domeniu. N=MBE n care B este baza (de obicei 2). Att pentru mantis, ct i pentru exponent se poate repartiza, ntr-o reprezentare pe un registru sau n memorie, mai mult dect un bait. De exemplu, n figura 1.6 sunt repartizai pentru numr 4 octei; n primii trei octei este reprezentat mantisa cu semnul corespunztor, iar n al patrulea octet exponentul cu semn. Tabelul 1.6 Reprezentarea numrului n virgul flotant pe patru octei consecutivi. Exponent Al patrulea b6 b5 b4 b3 b2 b1 b0 +/
bait Al treilea bait Al doilea bait Primul bait

+/ b16 b8

b23 b15 b7

b22 b14 b6

b21 b13 b5

b20 b12 b4

b19 b11 b3

b18 b10 b2

b17 b9 b1

Mantis

Cu aceti patru octei se pot reprezenta numere n intervalul -2232127N2232127 (sau scalate n intervalul -1 2-128 N 12-128) adic numere de forma: XXX XXXX XXXX XXXX XXXX XXXX2 n care x are valoarea 1 sau 0. Un microprocesor standard proceseaz numerele n virgul flotant printr-un numr mare de operaii ceea ce necesit timp de calcul destul de lung i de aceea s-au realizat procesoare specializate (coprocesoare matematice) care preiau efectuarea unor astfel de calcule. 1.1.2 Coduri numerice

a) Coduri zecimal-binare (BCD) n aceast clas de coduri zecimal-binare, BCD (Binary Coded Decimal) mulimea X a sursei primare de informaie care trebuie codificat este format din simbolurile cifrelor 0,1,2,3,4,5,6,7,8,9, iar mulimea cuvintelor de cod trebuie s conin cel puin zece cuvinte distincte. Cuvintele de cod trebuie s aib cel puin patru bii, deoarece 23 < 10 < 24 = 16. Stabilind corespondene ntre mulimea cifrelor zecimale i mulimea celor 16 cuvinte 10 binare de patru bii se obin n total A16 posibiliti de codificare. Din acest mare numr de coduri posibile exist anumite variante mai uzuale care pot fi mprite n: coduri ponderate i coduri neponderate. 8

b) Coduri ponderate. Un cod ponderat asociaz fiecrei cifre zecimale o tetrad binar, iar ponderea fiecrui bit din tetrad este egal cu valoarea cifrei din denumirea codului, tabelul 1.7. Cifra zecimal codificat se obine prin suma biilor din cuvntul de cod, ponderai cu valoarea corespunztoare din denumirea codului. Tabelul 1.7 Coduri zecimal - binare.
Numere n zecimal 0 1 2 3 4 5 6 7 8 9 8421 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Coduri ponderate 2421 4221 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111 0000 0001 0010 0011 0110 1001 1100 1101 1110 1111 Coduri zecimal - binare Coduri neponderate 7421 Exces 3 Gray 2 din 5 8421 cu bit de paritate 0000 0011 0000 00011 10000 0001 0100 0001 00101 00001 0010 0101 0011 00110 00010 0011 0110 0010 01001 10011 0100 0111 0110 01010 00100 0101 1000 0111 01100 10101 0110 1001 0101 10001 10110 0111 1010 0100 10010 00111 1001 1011 1100 10100 01000 1010 1100 1101 11000 11001

Pentru codul ponderat simbolizat prin 8421, n cuvntul din cod, bitul zero are ponderea 1(=2), bitul unu ponderea 2(=21), bitul doi ponderea 4(=22) i bitul trei ponderea 8(=23). Deoarece fiecare bit are ponderea numrrii n binar i cuvintele de cod chiar numerele succesive n sistemul binar natural, acest cod se mai numete codul zecimal-binar natural NBCD (Natural-Binary-Coded-Decimal). n terminologia curent este denumit (impropriu) doar codul BCD. De exemplu, cifra 9 se codific 1001, adic lx8+0x4+0x2+ +1x1 =9. Aceeai regul de fixare a ponderii bitului din cuvntul de cod, egal cu cea din notaia codului, se respect la toate celelalte coduri ponderate. De exemplu, 10112421 = 1x2+0x4+1x2+1x1 = 510; 10014221 =1x4+0x2+0x2+1x1 =510. Unele cifre zecimale pot fi reprezentate n mai multe variante. De exemplu, n codul 7421 pentru cifra 7 pot exista cuvintele 0111 sau 1000. Ambiguitatea este nlturat dac se utilizeaz din toate cuvintele de cod uniform numai acelea care corespund numrului maxim de bii semnificativi (0111). n cazul codului 2421 cifra 6 are dou cuvinte 1100 i 0110; s-a ales cuvntul de cod 1100 din motivele expuse n continuare. Codurile ponderate 2412 (codul Aiken dup numele profesorului Howard Aiken, care a realizat, ntre anii 19391944, la Universitatea Harward, o main de calcul automat MARK I, precursorul primelor calculatoare electronice) i 4221 au pentru primele patru cifre zecimale aceeai exprimare ca i codul 8421. n continuare, cuvntul corespunztor cifrei 5 se obine din cel al cifrei 4 prin complementare (complement de 1), aceeai regul se aplic pentru obinerea cuvntului de cod al cifrei 6 din cel al cifrei 3, respectiv 7 din 2, 8 din 1 i 9 din 0. Deci cele dou cifre zecimale complementare fa de 9 (0 cu 9, 1 cu 8, 2 cu 7, 3 cu 6, 4 cu 5) au cuvintele de cod obinute prin inversare. Codurile ce prezint aceast proprietate sunt denumite i coduri autocomplementare. c) Coduri neponderate. Codurile neponderate, cele mai uzuale, sunt cele prezentate n tabelul 1.6. Cuvntul de cod n EXCES 3 se obine din cuvntul de cod 8421, al cifrei zecimale respective, la care se adaug 0011, adic 3 n binar. n codul EXCES 3 se poate face distincie, pentru o locaie a memoriei sau un registru, ntre lipsa unei informaii nscrise i nscrierea lui zero,

deoarece zero este codificat prin 0011 (a disprut din cod cuvntul 0000, ceea ce reprezint lipsa unei informaii). d) Codul Gray. Acesta are proprietatea de adiacen, n sensul c trecerea de la o cifr zecimal la urmtoarea se face prin modificarea unui singur bit din cuvntul de cod. Acest cod este util pentru mrimile care cresc succesiv (traductoare unghiulare de poziie, codificarea n diagrama Karnaugh de minimizare a funciilor logice). n tabelul 1.8 este reprezentat, ntr-un registru cu capacitatea de un bait, cuvntul de cod 8421 pentru numrul zecimal 86. Dac numrul zecimal este mai mare de 99, atunci cuvntul de cod necesit mai mult de un bait. De exemplu, numrul 943810 va avea corespondentul 1001 0100 0011 1000 n cod 8421. i n codurile BCD se pot reprezenta numere cu semn, dar n acest caz este necesar n cuvntul de cod un bit n plus pentru reprezentarea semnului. Tabelul 1.8 Reprezentarea printr-un cuvnt de un bait a numrului 8610 n codul NBCD
101 zeci 100 uniti 1 23 123=8 0 0 22 21 022=0 021=0 1 810 =80 0 20 020=0 0 23 023=0 1 1 22 21 122=4 121=2 0 (2+4) 10 =6 0 20 020=0

Total 80 + 6 = 86

Transmiterea informaiei prin medii puternic influenate de zgomote poate fi nsoita. de introducerea de erori. Verificarea transmiterii corecte a datelor se poate face cu ajutorul unor coduri speciale denumite coduri detectoare de erori. n codurile detectoare de erori fiecare cuvnt de cod are un numr par sau impar, de exemplu, de bii 1. La emisie se adaug sau nu fiecrui cuvnt un bit unu, astfel nct numrul de bii 1 s fie par sau impar (dup convenia codului). La recepie se numr n fiecare cuvnt numrul de bii 1 i se determin dac este par sau impar tiind, n felul acesta, dac, pe calea de transmisie, informaia a fost eronat. De exemplu, pentru codul 8421 cu bit de paritate, tabelul 1.6, cifra trei se reprezint astfel 10011, n care biii informaionali sunt 0011 (=3), iar bitul al cincilea =1 este bitul de paritate care se adaug la emisie, realiznd o paritate impar. Cu regulile expuse se poate verifica doar modificarea pe calea de transmisie a cuvntului de cod ca un numr impar de bii, modificarea cu un numr par nu poate fi sesizat i n plus nu se poate ti n care poziie a cuvntului s-a modificat bitul. Exist coduri mai complexe care pe lng faptul c determin bitul eronat i corecteaz acest bit, denumite coduri corectoare. e) Codul 2 din 5. Acesta prezint un cuvnt de cod de 5 bii, dintre care numai doi bii sunt semnificativi (au valori egale cu 1). n acest fel se realizeaz o unicitate a reprezentrii, ntruct din cele 25 = 32 de cuvinte posibile cu 5 bii numai 10 satisfac condiia (2 din 5). Acest cod creeaz posibilitatea controlului (detectrii) erorilor multiple la transmiterea informaiei. f) Coduri octal-binar i hexazecimal-binar Codul octal-binar realizeaz corespondena biunivoc ntre cifrele sistemului de numeraie n baza opt i cuvintele formate din trei bii (triade) n felul urmtor: 0000, 1001, 2010, 3011, 4100, 5101, 6110, 7111. La fel, codul hexazecimalbinar realizeaz corespondena biunivoc ntre cifrele sistemului de numeraie n baz 16 i 10

cuvintele succesive de patru bii (tetrade) din sistemul de numeraie binar n felul urmtor: 00000, 10001, 20010, 30011, 40100, 50101, 60110, 70111, 81000, 91001, A1010, B1011, C1100, D1101, E1110, F1111. 1.1.3 Coduri alfanumerice Codurile alfanumerice stabilesc o coresponden biunivoc ntre mulimea informaiei primare X (relaia (1.7)) format din cifre, litere i semne speciale, denumite, n general, caractere si mulimea cuvintelor (binare) de cod de o lungime oarecare. Codificarea datelor alfanumerice este necesar pentru a putea memora mesaje sau a reprezenta grafic mesaje. n mod normal este util a se codifica 88 de caractere distincte, n care sunt cuprinse 52 simboluri pentru minusculele i majusculele alfabetului, 10 simboluri pentru cifrele zecimale i 26 de caractere speciale (de punctuaie, comenzi etc.). Codificarea acestor caractere necesit minim 7 bii (27 = 128>88). n tehnica microprocesoarelor lucrndu-se cu un cuvnt de un bait, al optulea bit din cuvnt poate fi utilizat pentru verificarea paritii. La majoritatea microprocesoarelor s-a adaptat codul ASCII (American Standard Code for Information Interchange codul american standard pentru schimb de informaii), iar unele accept codul EBCDIC (Extended Binary Coded Decimal Interchange Code codul pentru transferuri cu codificarea zecimal-binar extins). Codurile ASCII i EBCDIC au o structur asemntoare, codul ASCII avnd o eficien mai mare n situaia comparrii unor caractere care urmeaz n secven normal (de exemplu, ordinea normal a literelor n alfabet). 0 ntrebare fireasc se pune uneori pentru codificare, cum poate s identifice P ntre codul unui numr i codul unui caracter alfanumeric n cazul cnd cele dou cuvinte sunt identice? Sarcina de a fi tratat deosebit acelai cuvnt revine programatorului prin modul de poziionare a celor dou cuvinte n spaiul memoriei. n cazul sistemelor industriale de comand n timp real un cuvnt binar de un bait poate codifica 8 variabile binare (care reprezint mrimi fizice cu dou stri), de exemplu, n tabelul 1.9. Aceti bii pot fi procesai separat ( ca n cazul circuitelor logice) sau se opereaz asupra ntregului cuvnt ceea ce este propriu sistemelor cu microprocesoare. Tabelul 1.9 Exprimarea binar a opt mrimi fizice ntr-un bait.
Cuvntul de 8 bii b0 b1 b2 b3 b4 b5 b6 b7 Sistemul comandat Pomp Motor electric 1 Motor electric 2 Comutator Limitator de curs Temperatur Presiune For Variabile logice Bitul =0 Bitul = 1 Oprit Pornit Decuplat Cuplat Decuplat Cuplat Deschis nchis Nedepit Depit Valoarea minim Valoarea maxim Valoarea minim Valoarea maxim Valoarea minim Valoarea maxim

11

ELEMENTE DE ALGEBR BOOLEAN

Activitatea uman, n domeniul tehnic cel puin, se desfoar prin analiza i prelucrarea informaiei care se prezint sub diferite forme cu caracteristici diverse. Astfel, informaia poate fi: continu sau cuantificat, previzibil sau aleatoare, constant sau variabil, msurabil sau nemrginit. Posibilitile organismului uman sunt limitate n ceea ce privete identificarea, msurarea, prelucrarea i stocarea mrimilor care caracterizeaz materia i diverse fenomene i de aceea omul se folosete de mijloace tehnice concepute i realizate cu scopul reprezentrii i procesrii informaiilor. Folosirea semnalelor electrice (sarcin, tensiune, curent), magnetice sau optice sunt avantajoase din multe puncte de vedere pentru acest scop. Exprimarea cantitativ a informaiei se face prin diferii parametrii ai acestor semnale ca: amplitudine, form, frecven, faz. Domeniile valorilor acestor parametrii, ca mrimi analogice, sunt n submulimi ale mulimii numerelor reale i cel puin teoretic chiar pentru variaii orict de mici numrul valorilor este nelimitat. n teoria digital (digit - cifr, n limba englez) aceti parametri pot lua numai valori discrete. Acestea se reduc pentru majoritatea cazurilor uzuale la dou niveluri considerate prin convenie "1" (unu logic) i "0" (zero logic). n exprimarea curent referirea la unu sau zero logic se face prin cuvntul bit, abreviaie din l. englez BInary digiT (cifr binar). Algebra boolean (de la numele matematicianului englez George Bool, 1815-1864, care a pus bazele algebrei logice), a fost conceput ca o metod simbolic de tratare a funciilor logicii formale. Ulterior metoda a fost dezvoltat i aplicat i n alte domenii ale matematicii. Astfel, n anul 1938, Claude Shannon a folosit-o pentru prima oar la analiza circuitelor de comutaie. De atunci, algebra boolean s-a impus ca fiind cel mai important mijloc matematic de analiz i sintez a circuitelor de comutaie, deoarece ntre logica formal i circuitele de comutaie exist urmtoarea analogie: - logica studiaz valoarea de adevr sau fals a unor afirmaii care nu pot fi dect adevrul sau falsul; - circuitele de comutaie sunt realizate prin interconectarea unor comutatoare, iar starea acestora nu poate fi dect nchis sau deschis. Avnd n vedere cele menionate, rezult c din punct de vedere formal att logica ct i circuitele de comutaie vor putea fi tratate cu o algebr definit pe o mulime format din dou elemente, de exemplu 0 i 1. Algebra boolean este definit pe baza urmtoarelor axiome: Fie o mulime M compus din elementele x1, x2, xn mpreun cu operaiile "" i "+", ce vor fi definite ulterior. Aceast mulime formeaz o algebr dac: 1. Mulimea M conine cel puin dou elemente distincte x1 x2, x1 M i x2 M; 2. Pentru orice x1 M i x2 M avem: x1 x2 M i x1 + x2 M ; (2.1) 3. Operaiile "" i "+" au urmtoarele proprieti: a) sunt comutative: x1 x2 = x2 x1 ; x1 + x2 = x2 + x1 ; (2.2) b) sunt asociative: ( x1 x 2 ) x 3 = x1 ( x 2 x 3 ); (2.3) ( x 1 + x 2 ) + x 3 = x1 + ( x 2 + x 3 ) c) sunt distributive una fa de cealalt:

12

(2.4) x1 + ( x 2 x 3 ) = ( x1 + x 2 ) ( x1 + x 3 ) 4. Ambele operaii admit cte un element neutru cu proprietatea: x1 + 0 = 0 + x1 = x1 ; x1 1 = 1 x1 = x1 (2.5) unde 0 este elementul nul al mulimii iar 1 este elementul unitate al mulimii. 5. Dac mulimea M nu conine dect dou elemente, acestea trebuie s fie n mod obligatoriu elementul nul i elementul unitate, atunci pentru orice x M va exista un element unic notat x cu proprietile: x x = 0 , proprietate cunoscut sub numele de principiul contradiciei; x + x = 1 , proprietate cunoscut sub numele de principiul terului exclus. Elementul x este inversul elementului x. n definiia axiomatic a algebrei s-au folosit dou legi de compoziie notate cu simbolurile "+", respectiv "", precum i notaia x pentru elementul invers. n logic, respectiv n tehnic, pentru aceste legi de compoziie se folosesc denumiri i notaii specifice, aa cum rezult din tabelul 2.1.
Tabelul 2.1 Denumirea operaiilor
Matematic Prima lege de compoziie x1+x2 A doua lege de compoziie x1x2 Elementul invers Logic Disjuncie Tehnic SAU

x1 ( x 2 + x 3 ) = x1 x 2 + x1 x 3 ;

x1 x2
Conjuncie

x1 x2
I x1x2
NU

x1 x2
Negare

x
2.1

INTERPRETAREA OPERAIILOR ALGEBREI BOOLEENE Semnificaia legilor de compoziie poate fi ilustrat n mai multe moduri: 1. Prin diagrama Venn, figura 2.1.

Figura 2.1 Ilustrarea semnificaiei legilor de compoziie prin diagrame 2. Cu ajutorul tabelelor de adevr. Prin tabelul de adevr se stabilete o coresponden ntre valorile de adevr ale variabilelor i valoarea de adevr a funciei.
Tabelul 1.2 Tabelul de adevr al operaiilor de baz. x1 x2 x x1 x2 x1 x2 x
00 01 10 11 0 0 0 1 0 1 1 1 0 1 1 0

13

Pentru o mai bun nelegere a sensului acestor operaii, ele vor fi ilustrate i cu ajutorul unor scheme simple realizate cu o surs de tensiune E, dou ntreruptoare K1, K2 i un bec B. ntreruptoarelor Ki li se asociaz variabilele xi astfel: Ki deschis xi = 0; Ki nchis xi = 1. Becul B va indica rezultatul operaiei astfel: dac rezultatul este zero becul B rmne stins iar n caz contrar se aprinde. Cu aceste precizri se poate urmrii uor funcionarea circuitelor din figura 2.2, ce realizeaz operaiile I, SAU, NU.

Figura 2.2 Ilustrarea semnificaiei legilor de compoziie prin circuite simple: a) circuit I; b) circuit SAU; c) circuit NU. n cazul circuitului inversor din figura 2.2 c, ntreruptorul K este normal nchis (becul B este aprins). La aplicarea semnalului de comand x ntreruptorul K se deschide i becul se stinge. 2.2 REGULI DE CALCUL N ALGEBRA BOOLEAN.

Plecnd de la axiome se deduc o serie de teoreme care vor forma reguli de calcul n cadrul algebrei. Sunt prezentate n continuare principalele teoreme fr demonstraii. 1. Principiul dublei negaii
x=x

(2.6) (2.7) (2.8) (2.9) (2.10) (2.11)

Dubla negaie duce la o afirmaie. 2. Legile de idempoten 3. Legile de absorbie

xx ... x = x; x+x+ ... +x = x

(2.12) x1 + x2 = x1 x2 Cu ajutorul acestor formule se poate transforma produsul logic n sum logic i invers (prin trecerea negaiei de la termeni la argumente i invers). Verificarea acestor teoreme se poate face uor cu ajutorul tabelelor de adevr i cu observaia c dou funcii sunt egale dac iau aceleai valori n toate punctele domeniului de definiie. Pentru exemplificare s verificm prima teorem a lui De Morgan. Notm: (2.13) f 1 ( x1 x 2 ) = x1 x2 i f 2 ( x1 x2 ) = x1 x 2 Vom scrie valorile de adevr ale celor dou funcii n toate punctele domeniului de definiie, aa cum este indicat n tabelul 2.3.

x1 ( x1 + x2 ) = x1 ; x1 + x1 x2 = x1 4. Legile elementelor neutre x1=x; x0=0; x+0=x; x+1=1 5. Formulele lui De Morgan x1 x2 = x1 + x2

14

Tabelul 2.3 Verificarea egalitii a dou funcii x2 x1 x1x2 x1 f 1 = x1 x2


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

x2
1 0 1 0

f 2 = x1 x2
1 1 1 0

Din tabelul 2.3 se observ c funciile f1 i f2 iau aceleai valori n toate punctele domeniului de definiie deci sunt egale. 2.3 FUNCII BOOLEENE

2.3.1 Generaliti 0 funcie f: {0, l}n {0, 1} se numete funcie boolean. Cu alte cuvinte, o funcie de n variabile y=f(x1, x2 ...xn) ce se va caracteriza prin faptul c att variabilele ct i funcia nu pot lua dect dou valori distincte. Funcia va pune n coresponden fiecrui element al produsului cartezian n dimensional valorile zero sau unu. Asemenea funcii vor fi utile pentru caracterizarea funcionrii unor circuite construite cu elemente de circuit avnd dou stri, cum ar fi de exemplu: un ntreruptor nchis sau deschis, un tranzistor blocat sau n conducie etc. Funcionarea unui astfel de element de circuit va fi descris de o variabil boolean x. Dac considerm acum un ansamblu de ntreruptoare interconectate ntre ele ntr-un mod oarecare, unele nchise altele deschise, ele se reprezint ca n fig. 2.3.

Figura. 2.3. Asocierea unei funcii booleene cu o reea de ntreruptoare. Existena sau inexistena unei ci de curent ntre bornele terminale ale ansamblului va depinde de modul de interconectare al acestora, precum i de starea fiecruia n parte. Aceast dependen se exprim din punct de vedere matematic cu o funcie boolean de forma: y = f ( x1 , x2 ... xn ). (2.14) 2.3.2 Reprezentarea funciilor booleene Pentru reprezentarea funciilor booleene se folosesc n mod frecvent dou modaliti: a) tabelul de adevr; b) diagrama Karnaugh. Reprezentarea cu tabelul de adevr nseamn practic a marca ntr-un tabel corespondena ntre valorile de adevr ale variabilelor de intrare i valoarea de adevr a funciei n fiecare punct al domeniului de definiie.

15

Exemplu: fie funcia I y=x1x2. Fiind o funcie de dou variabile, domeniul de definiie este format din 22=4 puncte, corespunztor tuturor combinaiilor variabilelor de la intrare. Reprezentarea cu ajutorul diagramelor Karnaugh const n a marca punctele domeniului de definiie ntr-o diagram plan i precizarea valorilor funciei n fiecare din aceste puncte. Tabelul 2.4 Exemplu: Pentru funcia I definit prin tabelul 2.4 domeniul de definiie l reprezint vrfurile unui ptrat de latur unu, aa cum este indicat n fig. 2.4 a. 0 0 0 Diagrama Karnaugh, reprezentnd funcia SI este 0 1 0 desenat n fig. 2.4 c. Diagrama Karnaugh din fig. 2.4 c se 1 0 0 mai poate desena i sub forma prezentat n fig. 2.4 d. n 1 1 1 legtur cu aceasta din urm reprezentare, trebuie remarcat faptul c succesiunea combinaiilor corespunztoare variabilelor x1 i x2 trebuie scris n codul binar reflectat pentru a se pstra vecintile din diagrama original.
x1 x2 y=x1x2

Figura 2.4 Reprezentarea unei funcii de dou variabile: a) domeniul de definiie; b) tabelul de adevr; c) i d) diagrame Karnaugh. n cazul unei funcii de trei variabile y = f(x1, x2, x3), domeniul de definiie este format din 23=8 puncte i reprezint vrfurile unui cub cu latura unu (fig. 2.5 a). Pentru funcii de trei variabile diagramele Karnaugh corespunztoare pot fi prezentate fie sub forma din fig. 2.5 b, fie aa cum este indicat n fig. 2.5 c.

Figura 2.5 Reprezentarea domeniului de definiie al unei funcii de trei variabile: a) cub cu latura unu; b i c) diagrame Karnaugh. n fig. 2.5 b coordonatele punctelor binar, ceea ce ne va permite s analizm considerare vrful cubului caracterizat reprezentarea din fig. 2.5 a, ca acest vrf 110 i 011. n diagrama Karnaugh din 16 domeniului de definiie au fost nscrise n mai uor vecintile. Dac lum n prin coordonatele 010 constatm, din este vecin cu urmtoarele vrfuri: 000, fig. 2.5 b constatm c vrful 010 este

vecin doar cu vrfurile 011 i 000. Pentru ca diagrama din fig. 2.5 b s fie echivalent cu reprezentarea din fig. 2.5 a, va trebui s pstreze aceleai vecinti, lucru ce devine posibil doar dac ne imaginm c latura din stnga a diagramei Karnaugh din fig. 2.5 b este identic cu cea din dreapta i cea de sus cu cea de jos. n fig. 2.5 c combinaiile corespunztoare variabilelor x2 x1 s-au scris n cod binar reflectat, iar coordonatele vrfurilor n zecimal. Cu aceste precizri cu privire la domeniul de definiie n fig. 2.6 este dat un exemplu de funcie de trei variabile reprezentat n trei moduri diferite.

Figura 2.6. Reprezentarea unei funcii de trei variabile: a) pe cubul cu latura unu; b i c) prin diagrame Karnaugh. Figura 2.7. Diagrama Karnaugh corespunztoare unei funcii de patru variabile

n fig. 2.7 este reprezentat diagrama Karnaugh pentru o funcie de patru variabile, unde prin sgei s-au marcat vecintile punctului de coordonate 0010. 2.3.3 Funcii booleene elementare Forma general a unei funcii booleene de n variabile este y = f(x1, x2, ..., xn). Domeniul de definiie al acestei funcii este format din m=2n puncte. Cum n fiecare din aceste puncte funcia poate lua numai valorile 0,1, rezult c numrul total al funciilor n booleene de n variabile este N = 2 2 . Se vor considera n cele ce urmeaz funciile booleene elementare de una i de dou 1 variabile. Pentru n=l funcia este de forma y=f(x) i numrul acestora este N = 2 2 = 4 , iar cele patru funcii sunt trecute n tabelul 2.5. Tabelul 1.5. Funcii booleene de o variabil Constanta unu Variabila x x Constanta zero Variabila negat x f1=1 f2=x f0=0 f3= x
0 1 0 0
2

1 1

0 1

1 0

Pentru n=2 rezult N = 2 2 = 16 funcii de dou variabile, adic de forma y=f(x1,x2) reprezentate n tabelul 2.6. Tabelul 2.6 Funcii booleene de dou variabile.

17

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

Funcia logic y=f(x1 x2) 2 Elementul nul Elementul unu Funcie ce nu depinde de x1 Funcie ce nu depinde de x2 Negaia Negaia Conjuncia Negarea conjunciei Disjuncia Negarea disjunciei Echivalena Negarea echivalenei Implicaia direct Negarea implicaiei directe Implicaia invers Negarea implicaiei inverse f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 3

Domeniul de definiie x1 0101 x2 0011 4 0000 1111 0011 0101 1010 1100 0001 1110 0111 1000 1001 0110 1011 0100 1101 0010

Denumirea circuitului 5 CIRCUIT DESCHIS CIRCUIT NCHIS IDENTITATE IDENTITATE INVERSOR INVERSOR I - (AND) I NU (NAND) SAU - (OR) SAU NU (NOR) COINCIDENA (NXOR) SAU EXCLUSIV (XOR) INTERDICIE INTERDICIE

Figura 1.8

a b c d e f g h i j k l m n o p

Din examinarea tabelului 2.6 observm c: f0 i f1 nu sunt funcii, ci constante; f2, f3, f4 i f5 nu sunt funcii de dou variabile, ci doar de una singur; funciile apar n perechi (funcia i inversa ei). Definiia axiomatic a algebrei booleene prezentat apeleaz la dou legi de
x2
a b c

x2

x1
d

x1 ____ x1. x2
h

x1
e

_ x1

x2
f

_ x2

x1 x2
g

x1 . x2

x1 x2

x1 x2
i

x1 \/ x 2 _ x1\/ x 2
m

x1 x2
j

____ x1\/ x 2 _ x1 . x2
n

x1 x2
k

x1 + x 2 x1 _ x1 \/ x 2
o

____

x1 x2
l

x 1+ x 2

x1 x2

x1

x2

x2

x1

x2
p

_ x1 . x2

Figura 2.8. Simbolurile circuitelor care realizeaz funciile booleene din tabelul 1.6 compoziie notate cu "" respectiv "+" n cazul n care mulimea M conine doar dou elemente, fiecrui element x i se asociaz un unic element x numit inversul elementului x. Acest lucru nseamn c n expresia oricrei funcii booleene de n variabile vor aprea numai aceste trei operaii elementare. Din punct de vedere practic acest lucru nseamn c

18

un sistem fizic al crui funcionare este descris de o funcie boolean se va putea realiza prin interconectare unui numr de trei tipuri de circuite elementare i anume: circuitul I (realizeaz operaia ""), circuitul SAU (realizeaz operaia "+") i circuitul INVERSOR (realizeaz inversarea). Se demonstreaz, c acelai sistem fizic poate fi realizat practic utiliznd un singur tip de circuit elementar de exemplu circuitul I-NU (NAND) sau circuitul SAU-NU (NOR). Aceste posibiliti de sintez se bazeaz pe scrierea funciilor booleene sub form disjunctiv respectiv conjunctiv canonic. Utilizarea circuitelor NAND sau NOR la realizarea unui sistem sunt echivalente din punct de vedere teoretic ns din punct de vedere practic alegerea este dictat de familia de circuite integrate cu care se lucreaz. De exemplu n familia de circuite integrate TTL Circuitul NAND se realizeaz uor motiv pentru care se prefer sinteza cu astfel de circuite pe cnd n familia de circuite ECL circuitul NOR se realizeaz mai uor i deci se va prefera sinteza cu acesta. 2.3.4 Forma canonic a funciilor booleene n numeroase aplicaii apare necesitatea reprezentrii analitice a funciilor booleene. n acest scop se recurge la aa numitele forme de dezvoltare. n algebra boolean se folosesc dou asemenea forme de dezvoltare. forma disjunctiv canonic (FDC), care presupune utilizarea unor funcii elementare numite constitueni ai unitii; forma conjunctiv canonic (FCC), care presupune utilizarea unor funcii elementare numite constitueni ai lui zero. Pentru o tratare sistematic a problemei, se introduc urmtoarele notaii: x pentru i = 1 (2.15) xi = x pentru i = 0 Definiia 1. Se numete constituent al unitii funcia elementar uk, caracterizat prin aceea c ia valoarea unu ntr-un singur punct al domeniului de definiie. n cazul unei funcii de n variabile, constituentul unitii va fi produsul logic (conjuncia) tuturor variabilelor negate sau nenegate, dup urmtoarea regul: i i i u k = x1 1 x 2 2 ... x n n (2.16) Pentru ca acest produs s fie unu ntr-un anume punct al domeniu-lui de definiie, este necesar ca toi termenii produsului s fie egali cu unu. Pentru ca un termen de forma i x j j s fie unu este necesar ca ij=xj. De aici rezult urmtoarea regul de scriere a funciei elementare uk: n conjuncia variabilelor, variabilele care iau n respectivul punct al domeniului de definiie valoarea zero se vor lua negate iar celelalte nenegate. Definiia 2. Se numete constituent al lui zero funcia elementar v1 care ia valoarea zero ntr-un singur punct al domeniului de definiie. n cazul unei funcii de n variabile, expresia constituentului se va scrie ca disjuncia tuturor variabilelor negate sau nenegate. i i i vi = x1 1 x2 2 ... x n n (2.17) Condiia de constituent al lui zero impune x j
ij

=0 pentru orice j ceea ce implic

i j = x j . Rezult c n scrierea constituentului lui zero v1, ntr-un anume punct al domeniului de definiie, se vor lua negate variabilele care iau valoarea unu n acel punct i nenegate cele care iau valoarea zero. Constituenii unitii uk se mai numesc i termeni minimali (minterm) ai funciei, iar constituenii v1 ai lui zero se mai numesc i termeni maximali (maxterm) ai funciei. 19

De exemplu n tabelul 2.7 s-au indicat constituenii unitii i ai lui zero n fiecare punct al domeniului de definiie pentru o funcie de trei variabile. Tabelul 2.7 Constituenii lui zero i unu pentru o funcie de trei variabile i i i x1 x2 x3 Exemplu de funcie v =x x x uk = x1 x2 x3 z
1 2 3

i1

i2

i3

000 001 010 011 100 101 110 111

0 1 2 3 4 5 6 7

u= x1 u= x1 u= x1 u= x1 u= x1 u= x1 u= x1

x 2 x3 x 2 x3 x 2 x3 x 2 x3 x 2 x3 x 2 x3 x 2 x3

v0 = x1 x 2 x 3
v1 = x1 x 2 x 3

0=0 1=1 2=0 3=1 4=1 5=0 6=1 7=0

v 2 = x1 x 2 x 3 v3 = x1 x2 x3 v4 = x1 x2 x3 v5 = x1 x2 x3 v6 = x1 x2 x3 v7 = x1 x2 x3

u= x1 x 2 x 3

n coloana a doua a tabelului 2.7 a fost notat prin i valoarea ne specificat a funciei booleene de trei variabile. n ultima coloan, prin specificarea valorilor, s-au dat exemple de funcii. Formele canonice ale unei funcii booleene de trei variabile sunt urmtoarele: FDC y = 0 u0 1 u1 2 u 2 3 u 3 4 u 4 5 u 5 6 u6 7 u7 (2.18) FCC y = ( 0 u0 )( 1 u1 )( 2 u 2 )( 3 u 3 )( 4 u 4 )( 5 u 5 )( 6 u6 )( 7 u7 ) (2.19) n cazul general al unei funcii de n variabile, forma disjunctiv canonic reprezint disjuncia tuturor constituenilor unitii pe care i are funcia:

FDC y = f ( x1 , x2 ,..., xn ) = i ui
i =1

(2.20)

Forma conjunctiv canonic a unei funcii de n variabile va reprezenta conjuncia tuturor constituenilor lui zero pe care i are funcia:

FCC y = f ( x1 , x2 ,..., xn ) = k u k
k =1

(2.21)

Dac se revine la exemplul funciei de tei variabile prezentat n ultima coloan a tabelului 2.7 vor rezulta urmtoarele forme canonice:

FDC y = f ( x1 , x2 ,..., xn ) = i ui = u1 u3 u4 u6
i =1

(2.22)

sau

y = x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 (2.23) Se observ c din expresia general dat de relaia 1.1 dispar termenii pentru care i=0 (deoarece 0ui=0 i 0 u k = u k )
FCC y = f ( x1 , x2 ,..., xn ) = ( i ui ) = v0 v2 v5 v7
i =1 7

(2.24)

sau

y = ( x1 x2 x3 ) x1 x2 x3 x1 x2 x3 x1 x2 x3
20

)(

)(

(2.25)

n cazul FCC din expresia general dat de relaia 1.2 dispar termenii pentru care k=1 (deoarece 1 vk = 1 i 1 v1 = v1 ). 2.3.5 Forma minim a funciilor booleene Avnd n vedere faptul c algebra boolean se va folosi la analiza i sinteza circuitelor de comutaie, nu este greu de anticipat c ntre gradul de complexitate al circuitului i cel al funciei pe care l descrie exist o legtur directa. Acesta este motivul pentru care n etapa de sintez a circuitelor de comutaie, dup definirea acestora, urmeaz n mod obligatoriu etapa de minimizare a funciei, avnd drept scop obinerea unei forme echivalente mi simple (forma minim). Realizarea practic a circuitului urmeaz a se face pe baza acestei forme simple. Avnd n vedere importana practic a minimizrii, n literatura de specialitate se gsesc descrise numeroase metode. Dintre acestea se vor prezenta pe scurt numai dou, i anume: metoda analitic; , metoda diagramelor Karnaugh. a) Metoda analitic Aceast metod de obinere a formei minime se bazeaz pe folosirea teoremelor algebrei booleene. Principiul metodei se va ilustra pe exemplul anterior al funciei de trei variabile. Se va pleca de la forma disjunctiv canonic (1.5) a funciei: y = u1 u3 u4 u6 = x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 (2.26) Avnd n vedere proprietatea de distributivitate care se aplic termenilor u1 i u3 respectiv u4 i u6 rezult: y = x1 x3 x2 x2 x1 x3 x2 x2 (2.27)

innd seama i de proprietatea terului exclus ( x x = 1 ) i de faptul c 1 este elementul unitate ( x 1 = x ), rezult forma disjunctiv minim (FDM) a funciei: y = x1 x3 x1 x 3 (2.28) Procednd similar se poate gsi i forma conjunctiv minim (FCM) a funciei. b) Metoda diagramelor Karnaugh Aceast metod nu reprezint altceva dect transpunerea operaiilor fcute la metoda analitic pe reprezentarea funciei prin diagrame Karnaugh, rezultnd astfel n final o metod expeditiv de minimizare. 0 diagram Karnaugh poate fi privit, dac se ia n consideraie produsul logic al coordonatelor, ca o reprezentare a funciei booleene prin termeni minimali (constitueni ai unitii). Vom ilustra aceasta n cazul unei funcii de trei variabile cu tabelul 2.7. Tabelul 2.7. Termenii minimali pentru o funcie de trei variabile
x2 x3 x1 0 1 00 01 11 10

x1 x2 x3 x1 x2 x3

x1 x2 x3 x1 x2 x3

x1 x2 x3
x1 x2 x3

x1 x2 x3 x1 x2 x3

Fiecare celul din diagrama Karnaugh reprezentat n tabelul 2.7 conine un termen minimal. Dou celule vecine conin termeni minimali, care difer prin valoarea unei singure variabile. Dac termenilor minimali din dou celule vecine li se aplic proprietatea de distributivitate i cea a terului exclus, se elimin variabila care i schimb valoarea. Pe

21

diagrama Karnaugh acest lucru revine la a scrie coordonatele comune ale ansamblului celor dou celule vecine. Acest proces poate fi urmrit pe exemplul ilustrat n figura 2.10.

Figura 2.10. Exemple de minimizare De exemplu: gruparea celulelor vecine care conin constituenii u1 i u3 ne conduce la expresia x1 x3 , iar gruparea celulelor vecine care conin constituenii u4 i u6 conduce la expresia x1 x3 . Forma disjunctiv minim a funciei rezult prin scrierea disjunciei grupurilor de coordonate comune ale gruprilor formate astfel: y = x1 x3 x1 x3 (2.29) Metoda poate fi generalizat astfel: 1. Dac grupul iniial de dou celule vecine este vecin la rndul su cu un alt grup de dou celule vecine, acestea se pot uni ntr-un singur grup de 4 celule vecine, ceea ce va permite eliminarea a dou variabile.

Figura 2.11. Exemple de minimizri pentru funcii de trei i patru variabile (forma disjunctiv minim) 2. Un grup de 2m celule vecine ocupate de uniti permite eliminarea a m variabile. 3. Fiecare celul ocupat de uniti trebuie s fac parte cel puin dintr-o grupare, dar poate fi inclus n mai multe. 4. Cel mai avansat grad de simplificare se obine dac unitile dintr-o diagram Karnaugh sunt grupate ntr-un numr minim de grupuri fiecare grup la rndul su coninnd un numr maxim de uniti.

22

Observaie. Pentru a putea aplica n mod succesiv proprietatea de distributivitate i teorema terului exclus numrul unitilor din gruprile formate trebuie s fie o putere ntreag a lui 2. n fig. 2.11 sunt date cteva exemple de minimizri ale unor funcii booleene de trei i patru variabile. Reguli similare pot fi deduse i pentru obinerea formei conjunctive minime. n acest caz, n diagrama Karnaugh se vor grupa zerourile. Se va scrie disjuncia coordonatelor grupului de zerouri vecine, iar forma minim va fi conjuncia acestor grupuri de coordonate. La scrierea coordonatelor grupurile de zerouri se va avea n vedere faptul c acestea reprezint termeni maximali. n fig. 2.12 se dau dou exemple de minimizare pentru obinerea formei conjunctive minime.

Figura 2.12. Exemple de minimizri pentru funcii de patru variabile (forma conjuctiv minim). n matricea Karnaugh se pot grupa zerourile ca i cnd ar fi uniti, obinndu-se FDM a funciei negate y (valabil i invers). Un astfel de exemplu este dat n figura 2.13. Figura 2.13. Exemplu de minimizare pentru obinerea formei disjunctive minime a funciei negate. c) Minimizarea funciilor incomplet definite Se spune despre o funcie c este incomplet definit dac n anumite puncte ale domeniului poate lua valoarea unu sau zero. Aceste puncte n diagrama Karnaugh vor fi notate cu simbolul x. Atunci cnd vom minimiza funcia vom lua n considerare valoarea unu sau zero a funciei booleene din aceste puncte astfel ca aceast alegere s ne conduc la o form minim mai simpl. De exemplu, atribuirea fcut n figura 2.14 a

23

Figura 2.14. Exemple de minimizri pe funcii incomplet definite: a) atribuire


optim a valorilor funciei; b) atribuire neoptimal a valorilor funciei.

ne conduce la forma minim cea mai simpl a funciei, pe cnd cea fcut n figura 2.14b ne va conduce la o expresie mai complicat a formei minime corespunztoare funciei booleene respective. 2.4 REPREZENTAREA FIZIC A VARIABILELOR

n practica electronic, dintre toate posibilitile de reprezentare a cifrelor binare cea mai uzual este prin dou niveluri distincte ale tensiunii (curentului), aceasta fiind o consecin a faptului c circuitele electronice, care au n structur un element ce prezint dou stri (tranzistorul bipolar sau uniplor n regim de comutaie) sunt cele mai folosite. Deci, n astfel de circuite, diferenei de potenial (fa de mas) ntr-un punct M, ntr-un anumit moment de timp t, i se poate asocia, prin convenie, valoarea binar "1" logic sau "0" logic. De fapt, pentru cele dou niveluri discrete de tensiune (nivel ridicat VH i nivel cobort VL) n practic, sunt considerate dou intervale VH i VL, separate printr-o zon interzis (n care tensiunea nu trebuie s aib valori), figura 2.15. n convenia de logic

Figura 2.15. Nivelurile de tensiune pentru intrri i ieiri asociate variabilelor booleene.

24

pozitiv, unui semnal logic "1" i corespunde intervalul de tensiune VH , mai ridicat fa de mas, iar unui semnal logic "0" i corespunde intervalul VL mai cobort. Invers, n convenia de logic negativ, VH corespunde lui "0" i VL lui "1". De exemplu pentru circuitele integrate TTL (Tranzistor - Tranzistor - Logic) exist urmtoarele valori: tensiunea de alimentare VCC = + 5V ( 0,25V); intervalul tensiunii de ieire pentru starea (High), "1" logic, VOH = 5V2,4V; intervalul tensiunii de ieire pentru starea (Low), "0" logic, VOL = 0,4V0,0V; intervalul tensiunii de intrare pentru nivelul "1" logic, VIH = 2 VCC; intervalul tensiunii de intrare pentru nivelul "0" logic, VIL = 0,0V0,8V. Pentru circuitele integrate de tip MOS variaiile produse de toleranele componentelor realizate practic, ct i cele datorate distorsiunilor i zgomotului, fac ca situaia ideal a dou niveluri unice de tensiune, corespunztoare celor dou valori logice, s fie imposibil de obinut practic. Astfel, informaia va fi reprezentat practic prin domenii sau benzi de tensiune. Pentru a se putea distinge ntre cele dou stri, trebuie prevzut o regiune intermediar interzis valorilor posibile ale tensiunii. Prin urmare au fost definite (figura 2.16) : VOH - nivelul de tensiune de ieire n starea "1" (High). n cazul seriei CMOS 4000 este minim VDD - 0,05V'' (tipic VDD - 0,01V") VOL - nivelul de tensiune de ieire. n starea 0 (Low). Valoarea sa maxim garantat este 0,05 V" (tipic 0,01 V"). VIH - nivelul de tensiune de intrare n starea "1" (SUS), pentru care nivelul logic de la ieire nu se schimb. Valoarea minim garantat este "70% VDD. VIL - nivelul de tensiune de intrare n starea 0 (JOS), pentru care nivelul logic de la ieire nu se schimb i valoarea maxim garantat este ,,30% VDD". Imunitatea la zgomot se definete ca tensiunea maxim de zgomot prezent la intrarea unui inversor (poart logic), care nu comut inversorul dintr-o stare logic n alta. Exist dou puncte pe caracteristica de transfer, n care ctigul inversorului este unitar, cu care se definesc marginile de zgomot.

Figura 2.16. Caracteristicile nivelurilor logice intrare-ieire. Circuitele CMOS rejecteaz impulsuri parazite de tensiune, de valori pn la 45% din valoarea tensiuni de alimentare, dar valoarea garantat de majoritatea fabricanilor este de 30%. Se definesc imunitile la zgomot : VNIL imunitatea la zgomot pentru nivelul LOW (JOS); VNIJ imunitatea la zgomot pentru nivelul HIGH (SUS). 25

Acestea au valori garantate de 30% din valoarea tensiunii de alimentare, ceea ce constituie al doilea avantaj (dup consum) important al circuitelor CMOS. Practic, imunitatea la zgomot este de 45... 50% din valoarea tensiunii de alimentare. Definim drept tranziie pozitiv a unui semnal, trecerea (frontul) semnalului din nivel logic JOS n nivel logic SUS, iar tranziie negativ din nivel logic SUS n nivel logic JOS. Circuitul TTL standard din figura 2.17 are o intrare multiemitor i un etaj de ieire n contratimp. Tranzistorul de intrare multiemitor T1 are o contribuie important asupra vitezei de comutaie a circuitului integrat, iar configuraia de ieire n contratimp mbuntete imunitatea la zgomot i viteza de comutaie. Fiecare intrare a tranzistorului multiemitor poate avea o diod pentru a reduce efectele liniei de transmisie prin amortizarea (limitarea) impulsurilor reflectate. ntruct efectele liniei de transmisie devin cu att mai importante cu ct fronturile impulsurilor sunt mai rapide, plasarea diodelor de limitare devine obligatorie pentru circuitele TTL rapide. Pentru cele mai multe aplicaii, circuitului TTL standard din figura 2.17 ofer cea mai bun combinaie de vitez i disipare de putere. Acest circuit este folosit n circuitele integrate pe scar mic (SSI = Small - Scale Integration) cum ar fi : inversoare, bufere, pori logice I - NU, pori logice SAU - NU, pori logice I - SAU - NU, expandare, circuite basculante i n circuitele integrate pe scar medie (MSI = Medium - Scale - Integration) cum ar fi : decodificatoare, memorii, multiplexoare, numrtoare, registre de deplasare, etc. Pentru o folosire corect este necesar cunoaterea caracteristicilor de intrare i ieire ale circuitului din figura 2.17. Orice dispozitiv folosit pentru a comanda un circuit TTL trebuie s poat absorbi i genera curent. Figura 2.17. Circuitul TTL standard Convenional, curentul care intr n circuit este considerat pozitiv, iar cel care iese este considerat negativ. 2.4.1 Caracteristica de intrare. n figura 2.18 este prezentat caracteristica tipic a curentului de intrare (IIN) n funcie de tensiunea de intrare (UIN). Un potenial sub 0,65 V pe intrarea A sau B (regiunea AB din fig. 2.18) va produce un curent care va curge de la sursa EC prin rezistorul R1, dioda baz-emitor a tranzistorului multiemitor i ieirea sursei de semnal (fig. 2.19, a) : E U BET 1 U IL (2.30) I IL = C R1 Figura 2.18.Caracteristica de intrare a unui circuit TTL n care UIL este tensiunea la intrarea A sau B. Pentru Ec = 5 V, UBET1 = 0,65 V, UIL = 0,4 V, R1 = 4 K se obine IIL = - 1 mA. n cele mai nefavorabile condiii de funcionare trebuie s avem IIL 1,6 mA. 26

Din relaia (2.30) se observ c pentru tensiuni de comand coborte (UIL), consumul de curent al intrrilor legate mpreun este acelai.

Figura 2.19. Circuit de intrare:


a pentru curentul IIL; b pentru curenii IL i I.

Pentru valori ale tensiunii de intrare cuprinse n regiunea AB, tranzistorele T2, T4 sunt blocate, iar tranzistorul T3 este saturat. Tensiunea la ieire este independent de cea de la intrare i are valoarea constant (regiunea AB pe caracteristica de transfer din fig. 2.20) : (2.31) U OH = EC U D U BET4 = 5 0,65 0,65 = 3,7V Pentru tensiuni de intrare 0,65 V < UIN < 1,3 V (regiunea BC din fig. 2.18), tranzistorul T2 ncepe s conduc, T4 rmne blocat, iar T3 este deschis. n aceast regiune, n baza tranzistorului T2 se injecteaz un curent de valoare mic II (fig. 2.19, b), T2 are o amplificare mic (R2/R3), iar variaia tensiunii la ieire este lent (regiunea BC din fig.2.20). Pentru tensiuni de intrare mai mari de 1,3 V (regiunea CD din fig. 2.18), tranzistorul T4 intr n conducie untnd rezistena echivalent din emitorul lui T2 i astfel amplificarea acestuia crete (regiunea CD din fig. 2.20). Pe msur ce ne apropiem de punctul D, tranzistoarele T2T4 se satureaz, iar tensiunea la ieire ncepe s se limiteze, cu toate c tranzistorul T3 mai poate fi nc n conducie. Pentru tensiuni de intrare mai mari de 1,5... 1,6 V (regiunea DE din fig. 2.18),

Figura 2.20. Caracteristicile de transfer ale unui circuit TTL. tranzistoarele T2, T4 sunt saturate, T3 este blocat iar jonciunea emitor-baz a tranzistorului multiemitor T1 este blocat. 27

Dac celelalte intrri ale tranzistorului multiemitor T1 sunt lsate n gol sau au un nivel mai mare de 1,5.. .1,6 V, curentul pe o intrare IIH se nchide prin baza tranzistorului T4, iar dac cel puin o intrare este legat la mas, acest curent devine curent de colector pentru tranzistorul T1. Curentul IIH depinde de R1 i de h21eT1. Pentru tensiuni de intrare ridicate (UIH), consumul de curent al intrrilor legate mpreun crete cu numrul acestora. 2.4.2 Caracteristica de ieire. S-a artat c, dac cel puin pe una din intrrile circuitului integrat se aplic o tensiune cobort, T4 este blocat, iar T3 este n conducie. n acest caz, caracteristica tipic a curentului de ieire (I0) n funcie de tensiunea de ieire (U0) arat ca n figura 2.21. Pentru regiunea AB, T4 este blocat, iar T3 este saturat. Curentul furnizat de tranzistorul T3 este : EC U 0 U D U BET3 EC U 0 U D U CEsatT3 I0 = + (2.32) R3 R4 Pentru Ec = 5 V, UD = UBET3 = 0,65 V, UCesatT3 = 0,3 V, Uo = 0 V, R1 = 4 K, R4 = 130 , se obine IOS = 31 mA. Pentru cele mai nefavorabile condiii, valorile standard pentru Ios sunt 20 mA IOS 55 mA. Curentul Ios este disponibil la tranziia de la ieire din nivel cobort n nivel ridicat pentru a ncrca capacitatea de ieire.

Figura 2.21. Caracteristica de ieire a unui circuit TTL pentru nivel ridicat. Pentru regiunea BC, T4 rmne blocat, n schimb T3 nu mai este saturat, ci se afl n conducie. Curentul la ieire are expresia: h21eT3 + 1 EC U BET3 U D U 0 I0 = (2.33) R2 n acest caz, valoarea curentului furnizat de tranzistorul T3 n conducie trebuie s fie mai mare de 0,4 mA (IOH 0,4mA) pentru a putea comanda 10 pori fiecare cu IIH = 40 A (fig. 2.22, a). Dac pe intrrile circuitului integrat se aplic simultan o tensiune ridicat, s-a artat c T3 se blocheaz, iar T4 intr n conducie. n acest caz, caracteristica de ieire arat ca n figura 1.23. n regiunea AB a caracteristicii, tranzistorul T4 rmne saturat, curentul de baz fiind dat de expresia : E 2U D EC U D U ECsatT2 U D (2.34) I BT4 = C R1 R2 R3 n care tensiunea baz-emitor i baz-colector ale tranzistoarelor T1, T2, T3 n conducie direct s-a nlocuit cu tensiunea UD.

)(

28

Pentru Ec = 5 V, UD = 0,65 V, UCEsatT2 = 0,3 V, R1 = 4 K, R2 = 1,6 K, R3 = 1 K, se obine IBT4= 2,4 mA.

Figura 2.22. Circuit de ieire:


a-pentru curentul IOH; b-pentru curentul IOL

Din caracteristicile din figura 2.23 se determin tensiunea la ieire (UOL) pentru un curent IOL = 16 mA (pentru a putea absoarbe curenii de intrare a 10 pori fig. 2.22, b , fiecare cu IIL = 1,6 mA) i trebuie s se obin UOL 0,4 V. Pentru funcionarea sigur a circuitului integrat de obicei se ia o margine de 0, 4 V, astfel c UILmax = 0,8 V i UIHmin = 2 V.

Figura 2.23. Caracteristica de ieire a unui circuit TTL pentru nivel cobort. Marginea de zgomot n c.c. este definit ca diferena ntre limitele domeniilor de tensiune garantate pentru strile logice ale unui circuit care comand i limitele domeniilor de tensiune permise ale unii circuit comandat: M H = U OH min U IH min = 2,4V 2V = 0,4V (2.35) M L = U IL max U OL max = 0,8V 0,4 = 0,4V n realitate, la T == 25C: M H = 3,5V 1,7V = 1,8V (2.36) M L = 1,4V 0,3V = 1,1V 29

ceea ce nseamn c nivelul 1 logic este mai bine protejat contra perturbaiilor. Cu toate acestea, unii fabricani indic pentru marginea de zgomot valoarea tipic de 1 V. Curentul absorbit de la sursa de alimentare pentru o poart se msoar pentru un semnal de intrare cu factor de umplere de 50% i cu o frecven suficient de mic pentru a nu lua n considerare i consumul suplimentar n timpul comutaiei. Pentru circuitul CDB 400E (4 pori NAND) Ic = 8 mA, deci puterea disipat tipic pentru Ec = 5 V este P = 40 mW/capsuI sau 10 mW/poart. Pentru evaluarea vitezei de comutaie a unei pori se definesc doi timpi (fig. 2.24): tPHL timpul de propagare a semnalului pentru comutarea ieirii din starea 1 logic n starea 0 logic i tPLH timpul de propagare a semnalului pentru comutarea ieirii din starea 0 logic n starea 1 logic. Pentru Ec = 5 V, TA == 25C i o ncrcare a ieirii cu 10 intrri tip poart TTL, avem tPHL = 8ns, tPLH = 12ns. Pentru un circuit TTL se definete i un timp de propagare mediu : t +t (2.37) t P = PHL PLH . 2 De obicei, tP = 10ns.

Figura 2.24. Formele de und pentru definirea timpilor de propagare. Timpii de propagare depind puternic de sarcin i mai puin de temperatur i de tensiunea de alimentare. 2.4.3 Circuitul TTL cu colectorul n gol Configuraia etajului de ieire n contratimp nu este potrivit pentru conectarea logic I-cablat (conectarea n paralel) datorit degradrii nivelului de tensiune 0 logic i posibilitii de distrugere a tranzistoarelor din etajul de ieire. Din aceast cauz a aprut circuitul TTL cu colectorul n gol, a crui schem tipic este dat n figura 2.25. Valoarea rezistenei RL, se determin din condiia de realizare a nivelelor logice la ieire i din compromisul dintre timpii de comutaie i consumul de putere. Valoarea maxim a rezistenei RL, se determin din condiia realizrii la ieire a nivelului 1 logic : E U OH (2.38) RLM = C nI OH + mI IH n care, UOH tensiunea necesar la ieire pentru nivelul 1 logic (de obicei UOH 2,4 V), IIH curentul absorbit de un etaj de ieire n starea 1 logic, n numrul circuitelor TTL legate n I cablat, curentul absorbit de un etaj de intrare din cele m circuite TTL de sarcin. Valoarea minim a rezistenei RL se determin din condiia realizrii la ieire a nivelului 0 logic.

30

EC U OL (2.39) I OL + mI IL n care UOL tensiunea necesar la ieire pentru nivelul 0 logic (de obicei UOL 0,4 V), IOL curentul absorbit de un etaj de ieire n starea 0 logic, IIL curentul absorbit de un etaj de intrare din cele m circuite TTL de sarcin. RLm =

Figura 2.25. Circuitul TTL cu colectorul n gol. Impedana de ieire n starea 1 logic datorit sarcinii rezistive este mult mai mare dect cea a ieirii n contratimp. Din aceast cauz utilizarea circuitelor TTL cu colectorul n gol trebuie fcut cu precauie, mai cu seam cnd se are n vedere viteza de comutaie, imunitatea la zgomot n c.a. i comanda unor capaciti mari. Exemplu : pentru Ec = 5 V, UOH = 2,4 V, UOL = 0,4 V, IOH = 0,25 mA, IOL = 16 mA, IIH = 0,04 mA, IL = 1,6 mA, n = 3, m = 4, se obine : RLM = 2 858, RLm, = 479. Pentru realizarea unor timpi de comutaia acceptabili i cu un consum de putere rezonabil, se alege RL= 1 K. Circuitele TTL rapide cu colectorul n gol pot fi obinute fie prin micorarea valorilor rezistenelor din schema din figura 2.25, fie adoptnd circuitul TTL din seria Schottky. 2.4.4 Circuitul TTL cu trei stri Ieirile circuitelor integrate TTL nu pot fi conectate n paralel pentru a realiza un SAU cablat, datorit impedanelor joase de ieire. Cu toate acestea, unele circuite TTL pot fi comandate pentru a realiza un circuit special cu trei stri (tri-state). n figura 2.26, a este prezent un asemenea circuit, n care pentru semnalul de comand DIS = 0, emitorul lui T1 este inut pe 1 logic iar dioda D este blocat. n aceste condiii semnalul de la ieire este egal cu negatul semnalului de la intrare. Dac, ns, DIS = 1, emitorul lui T2 este trecut pe 0 logic, ceea ce nseamn c i n emitorul lui T2 este 0 logic ; deci, tranzistorul T3 este blocat. Cu DIS = 1, dioda D se deschide, cobornd potenialul bazei tranzistorului T3 aproape de potenialul masei ; deci, i T3 se blocheaz. Cu T2, i T3 blocate, ieirea se afl n gol, deci prezint o impedan foarte mare. Atta timp ct DIS = 1, la linia de ieire pot apare semnale (date) de la alt circuit TTL. Unele circuite TTL, cum ar fi cele expandabile CDB 450, CDB 453, etc., au disponibile la pinii capsulei bazele tranzistorelor T3 i T4, care, conectate aa cum se arat n figura 2.26,b, realizeaz un circuit TTL cu trei stri. ntr-adevr, pentru DIS = 0, diodele D1 i D2 sunt blocate, deci la ieirea circuitului se realizeaz funcia SAUNU. Dac,

31

Figura 2.26. Circuite TTL cu trei stri logice:


a-schema cu comenzi pe intrare i ieire; b-schema cu comenzi pe ieiri.

ns, DIS = 1, diodele se deschid innd bazele tranzistorelor din etajul de ieire la un nivel sczut, astfel nct acestea sunt blocate.

32

3
3.1

ARITMETICA NUMERELOR BINARE

ADUNAREA I SCDEREA

Operaiile de adunare i scdere a dou numere fr semn cu cte un bit fiecare sunt definite de tabelul 3.1. Tabelul 3.1. Operaiile de adunare i scdere pentru numere de 1 bit.
Operanzi xy 00 01 10 11 Sum Suma S=x+y 0 1 1 0 Transport C 0 0 0 1 Operanzi xy 00 01 10 11 Diferen Diferen D=x-y 0 1 1 0 mprumut B 0 1 0 0

Adunarea a dou numere fr semn cu mai muli bii se efectueaz la fel ca n orice baz adunnd la suma a dou cifre curente transportul de la cifra anterioar. n tabelul 3.2 sunt date valorile sumei si i ale transportului ci+1 spre cifra binar urmtoare, obinute prin adunarea cifrelor xi, yi i a transportului ci, de la cifra anterioar. Tabelul 3.2 Operaia de adunare a cifrelor binare curente pentru numere cu mai muli bii.
0 1 2 3 4 5 6 7 xi 0 0 0 0 1 1 1 1 Intrri yi 0 0 1 1 0 0 1 1 Ieiri ci 0 1 0 1 0 1 0 1 ci+1 0 0 0 1 0 1 1 1 si 0 1 1 0 1 0 0 1

n figura 3.1 este dat schema de principiu a unui sumator pentru dou cuvinte binare

Figura 3.1. Sumator pentru cuvinte binare cu n bii.

33

exprimate cu n bii. La fiecare celul de sumare exist intrrile xi, yi ale cifrelor binare de rang i i bitul de transport de la celula anterioar. Transportul final este notat cu C (carry). 3.1.1 Adunarea i scderea n complement fa de doi n cazul numerelor cu semn cu mai muli bii algoritmii de adunare i scdere depind de reprezentarea folosit. n reprezentarea (C2), ambele operaii se pot trata prin intermediul adunrii, lucru avantajos pentru realizarea circuitelor. Acest lucru este posibil deoarece este adevrat urmtoarea afirmaie (de fapt afirmaia definete n sens algebric un izomorfism): Suma algebric a doi operanzi reprezentai n (C2), executat prin sumarea binar a celor dou reprezentri produce acelai rezultat ca reprezentarea n (C2) a sumei executate natural, cu condiia s nu existe depiri. Depirea apare atunci cnd rezultatul nu se mai ncadreaz n domeniul numerelor reprezentabile dat de relaia: 2 n1 N 2 n1 2 m (3.1) Ea se manifest prin alterarea bitului de semn n urma operaiei. Exemplu. Fie dou numere ntregi cu 8 bii n gama (-128)(+127): 127+2=129>+127 depire; (127)2+(2)2=7FH+2H=81H =1000 0001=(-127)2? n care se vede c bitul de semn a luat valoarea eronat 1, deci rezultatul este incorect. Observm c suma. a doi operanzi de semne contrare nu va genera niciodat depire aritmetic. Justificarea afirmaiei privind sumarea n (C2), pentru dou numere ntregi a i b cu n bii, este urmtoarea:

a) Cazul 1): a 0, b 0

(a) 2 = a (a) 2 + (b) 2 = a + b (b) 2 = b


iar (S)2 = (a + b)2 =a + b, deoarece S 0.

(3.2) (3.3)

b) Cazul 2): a < 0, b < 0 (a) 2 = 2 n a n n n n (3.4) (a) 2 + (b) 2 = 2 a + 2 b = 2 a + b + 2 n (b) 2 = 2 b unde ultimul termen scris n binar reprezint un transport deoarece 2 scris n binar este: 2 n = 100040 1 2... 4 3

i depete lungimea de n bii a rezultatului. Dac se neglijeaz acest transport, rezultatul este corect i exprim n (C2) valoarea negativ a sumei S. Pe de alt parte: ( S ) 2 = ( a + b) 2 = 2 n a + b (3.5) c) Cazul 3): a 0, b < 0 (cazul a < 0, b 0 este asemntor) (a )2 + (b)2 = a + 2 n b = 2 n + a b unde dac a - |b| 0, atunci 2 reprezint transport i se neglijeaz. Exist dou cazuri: 34

(3.6)

d)

(S )2 = (a + b )2 = (a b )2 = a b
e)
a b S <0

a b S 0

(3.7)

(3.8) = 2n a + b = 2n (b a) = 2n + a b n concluzie, suma algebric se poate efectua n (C2) prin adunarea binar a reprezentrilor n (C2) ale operanzilor. Rezultatul pozitiv sau negativ va fi corect reprezentat n (C2), dac nu exist depiri. Valoarea 1 a bitului de semn indic un rezultat negativ. Scderea a dou numere se poate executa prin adunarea primului cu complementul fa de doi al celui de al doilea.

(S )2 = (a + b )2

3.1.2 Depirea n cazurile d) i e) pot aprea depiri. Ele se detecteaz prin teste efectuate asupra operanzilor i rezultatului. Unele uniti aritmetice sunt prevzute n acest sens cu un bit indicator (overflow) numit OVF; OVF=1 indic depire. Funcia logic care genereaz OVF se poate deduce din tabelul 3.2, n care presupunem operaii n (C2), pentru numere ntregi cu n bii, iar i = n - 1. n acest caz xn-1, yn-i sunt biii de semn ai celor doi operanzi, cn-1 transportul de intrare n bitul de semn iar cn este transportul de ieire. Pot aprea depiri numai dac xn1 = y n1 (operanzi de acelai semn). Din tabelul 2 rezult c n situaiile numerotate cu 1 i 6 apare alterarea bitului de semn, deci depire, iar n situaiile 0 i 7 bitul de semn este corect. Suma modulo doi cn cn1 = 1 identific situaiile de depire, deci OVF = cn1 cn . Pentru schema din figura 1, cu 8 bii avem OVF = c7 c8 = c7 C. Referitor la bitul de transport C se poate observa faptul c interpretarea valorii sale depinde de tipul operaiei efectuate. Pentru numerele ntregi fr semn cu 8 bii, la operaia de adunare, C = l indic depirea de ctre rezultat a valorii 255. n schimb, la operaia de scdere a dou numere fr semn, C = l indic faptul c desczutul este mai mare dect scztorul, rezultatul este corect i pozitiv; transportul n acest caz trebuie neglijat. Exemple pentru reprezentri n (C2) cu 8 bii, pentru numere ntreg: I a = 126, b = 3; a b = 123 n hexazecimal: (a )2 = 7 EH , (b )2 = 3

(a b )2 = (a )2 + (28 b ) = 7 EH + FDH 7 B

i bitul de transport 1

n binar: b=0000 0011 (b)1=1111 1100 1 --------------------------(-b)2=1111 1101 (a)2=0111 11110 ---------------------------1 transport 0111 1011=7BH=123 Se va neglija transportul c8 =l. 35

II n hexazecimal:

a = 10,

b = 15; a b = 5

(a b )2 = 0 A + (28 0 F ) = 28 5 = FBH = ( 5)2

III a=-5, b=-2; a+b=-5+(-2)=-7 n hexazecimal: (a )2 = 28 5 = FBH (a2 ) + (b )2 = FB + FE = F 9 i transport 1

(b2 ) = 28 2 = FEH F 9 H = ( 7 )2

Se va neglija transportul c8=1. Suma algebric a mai multor operanzi 0 proprietate important a sumei algebrice a mai muli operanzi n (C2) este faptul c depirile care apar eventual la executarea sumelor pariale se pot neglija, dac valoarea final a sumei se ncadreaz n domeniul de reprezentare corespunztor. Considernd de exemplu numere cu 4 bii n (C2), cuprinse n gama (-8)-(+7) se poate scrie: 5+(-3)+4==6 n care S1=5+(-3)=2, iar S2=S1+4=2+4=6. Dar conform comutativitii suma S2 se poate calcula i astfel: S1=5+4==9 (depire) S2=9+(3)=6 Reprezentnd n (C2) operanzii, vom avea: S1=5+4=9>7OVF-; 9=24-7=(-7)2 S2 =9+(-3)=9+(24-3)=24+6=OVF+ S2=6 La prima sumare apare o depire OVF ctre numere negative iar rezultatul 9 reprezint (-7) n (C2). A doua operaie genereaz de asemenea o depire dar n sens contrar, OVF+ ctre numere pozitive, lucru justificat prin interpretarea (-7)+(-3)=-10 <-8. Deci printr-o depire n sens contrar rezultatul a revenit n domeniul corect. Pentru n>2 operanzi, dac numrul depirilor OVF+ este egal cu cel al depirilor OVF-, (indiferent de succesiunea lor), atunci ele se compenseaz iar rezultatul este corect. n practic, un numrtor reversibil poate fi incrementat, respectiv decrementat, la apariia celor dou tipuri de depiri. Dac valoarea final a numrtorului este egal cu cea iniial, atunci rezultatul este corect. 3.1.3

Figura 3.2. Efectul depirilor aritmetice la operaii n complement fa de doi.

36

Justificarea afirmaiei se poate face observnd c n (C2) se lucreaz cu operaii modulo 2n. n acest caz numerele reprezentabile cu n+m bii (vezi relaia 3.1), se pot reprezenta pe un cerc ca n figura 2 n care numrul negativ minim -2n-l, reprezentat prin 2n-1 n (C2) este adiacent cu numrul maxim pozitiv 2n-1-2-m (2n-1-1, pentru numere ntregi). Depirile OVF- sau OVF+ reprezint traversarea acestei limite. Rezultatul fiecrei operaii pariale se poate deplasa pe cerc cu condiia ca n final s revin n domeniul iniial. Proprietatea menionat este util n unitile aritmetice (circuite digitale specializate pentru calcule aritmetice) prevzute cu sumare i acumulare a rezultatelor. n cazurile n care operanzii depesc ca lungime capacitatea unitii aritmetice de n bii, atunci ei se pot exprima prin mai multe cuvinte cu cte n bii juxtapuse iar operaiile de adunare i scdere se vor executa n mai muli pai efectund ntr-un pas o sum algebric pe primii n bii, n continuare pe urmtorii n bii (inndu-se seama i de transportul de la suma anterioar) .a.m.d. 3.2 NMULIREA NUMERELOR BINARE

n literatur sunt prezentai numeroi algoritmi de nmulire i mprire pentru numere reprezentate binar. Scopul acestor algoritmi const n reducerea complexitii circuitelor i a duratei de execuie. Spaiul nu permite descrierea tuturor metodelor n acest paragraf. Se vor prezenta numai cteva metode de principiu din care s rezulte tipurile de circuite digitale necesare implementrii operaiilor. 3.2.1 nmulirea Considernd dou numere ntregi, reprezentate n binar cu n bii, X = x n 1 ...x0 , Y = y n 1 ... y 0, xi , yi {0.1}

(3.9)

produsul lor P=XY va fi un numr cu 2n bii, dac X i Y se consider a fi fr semn i 2n-1 bii dac numerele X i Y se consider a fi cu semn n reprezentrile (MS), (C1) sau (C2). Acest fapt are loc pentru c domeniul numerelor cu semn cu n bii este |N|<2nl, deci 2n-l2n-l = 22n-2. Pentru a reprezenta mrimea produsului sunt necesari 2n-2 bii i nc unul pentru semn. n unitile aritmetice, care lucreaz cu operanzi de lungime n (bii), se utilizeaz pentru produs un registru de lungime dubl 2n. Dac se dorete reprezentarea cu 2n bii a produsului numerelor cu semn, atunci bitul p2n-2 al produsului va primi semnul rezultant i p2n-1 va primi zero pentru reprezentarea (MS). n reprezentarea (C1), bitul p2n-2 al registrului va fi copia (extensia) bitului de semn p2n-1 al produsului P. Cea mai rapid metod de nmulire este cea combinaional n care utiliznd un circuit logic combinaional (CLC) cu 2n intrri i 2n ieiri, produsul se obine la ieire cu o ntrziere dat de timpul de propagare. CLC rezult complex i din aceast cauz metoda se utilizeaz numai n sistemele de mare vitez. n mod uzual este utilizat nmulirea secvenial n care se calculeaz produse pariale care se sumeaz la un registru acumulator, calculul necesitnd n etape succesive. 3.2.2 nmulirea numerelor reprezentate prin (MS) Reprezentarea n modul i semn (MS) este comod pentru efectuarea nmulirii. Fie X, Y valorile zecimale ale nmulitorului i denmulitului:
X = ( 1) n 1 xi 2 i
x i =0 n2

Y = ( 1)

yn 1

y 2 ;
i i =0 i

n2

xi , yi {0,1}

(3.10)

Se poate obine descompunerea:

37

P = (1) xn1 yn1 (Yxi )2i = (1) p2 n2 2 n2 (Yxn2 + 21 (Yxn3 + 21 (Yxn4 + ... + 21 (Yx1 + 21 (Yx0 ))...)
i =0

n 2

(3.11) unde bitul de semn al produsului este p2n-2 =xn-l yn-1 iar termenii Yxi se numesc produse pariale. Observm c produsul P se poate reprezenta cu 2n-1 bii (1 bit pentru semn i 2n2 pentru mrime). Dac dorim s-l reprezentm cu 2n bii, atunci bitul p2 n 1 p2 n 2 iar p2 n 2 0. Relaia (3.11) sugereaz algoritmul de calcul al produsului. nmulirea cu 2n-2 reprezint o deplasare spre stnga a ntregii sume cu n-2 poziii iar nmulirile cu 2-1 reprezint deplasri spre dreapta cu o poziie. Algoritmul de calcul este cel din figura 3.3, a.

Figura 3.3. a) Algoritmul de nmulire a dou numere ntregi cu semn reprezentate n modul i semn; b) Exemplu: X=nmulitor=7, Y = denmulit = 6. n figura 3.3, b se arat un exemplu de calcul pentru X=7, Y=-6, reprezentate prin (MS) cu 4 bii (1 + 3). nmulirea numerelor reprezentate prin (C2) Relaiile (3.11) se pot extinde i pentru nmulirea numerelor cu semn reprezentate prin (C2). Scriind operanzii ca n relaia (3.10) se pot calcula sumele pariale prin adunare la coninutul unui registru acumulator de lungime dubl. Se poate scrie:
P = X Y = Y xi 2 i = 2 n 2 1 ( xn 1Y + 2 1 ( xn 2Y + ...2 1 ( x1Y + 2 1 ( x0Y ))...))
i =0 n 1

3.2.3

(3.12)

nmulirea cu 2n reprezint o deplasare spre stnga cu n poziii a denmulitului. Acesta se adun ca numr cu semn la produsul P. n ultima etap, (n-a), valoarea bitului de semn xn-1 determin prin xn-1=0 sau 1 adunarea respectiv scderea lui Y la (din) P. Operaiile 2-l reprezint deplasare aritmetic (n care se pstreaz nemodificat valoarea bitului de semn) spre dreapta a sumei pariale (xn-1Y+ ...) considerat ca numr de semn. n acest caz, cel mai semnificativ bit al sumei deplasate va copia valoarea anterioar a bitului de semn. Dac la adunarea anterioar deplasrii apare depire (lucru sesizat prin valoarea OVF=1 a unui bit overflow), atunci bitul de semn rezultat trebuie modificat deoarece este eronat; deci deplasarea registrului care conine produsul se va face dup relaia: 38

pn1 OVF p n1 ; pi +1 pi , i = 0,1, ..., n 2 (3.13) n figura 3.4,a este dat algoritmul de nmulire pentru dou numere n (C2); adunarea sau scderea de la pasul n de calcul sunt reprezentate prin i=0 pentru i=0,..., n-2; n-1=l.

Figura 3.4. a) Algoritmul de nmulire a dou numere ntregi cu semn reprezentate prin (C2); b) Exemplu: X=-5,Y=-6. n figura 4,b este prezentat exemplul numerelor X=-5,Y=-6. Se observ corecia bitului de semn n cazul apariiei depirii i scderea lui Y din produs n ultima etap datorit valorii negative a nmulitorului (bit de semn y3=1). n practic algoritmul de nmulire prezentat se realizeaz n diverse variante. De exemplu, pentru a evita scderea la ultimul pas, se poate modifica semnul nmulitorului astfel nct el s fie ntotdeauna pozitiv, modificnd n mod corespunztor, dac este necesar, semnul rezultatului final prin complementare. Algoritmul Booth. Alt metod de nmulire utilizeaz algoritmul Booth. Fie X, Y reprezentate ca numere fracionare n virgul fix:
X = (1) x0 + xi 2 i
i =1 m

Y = (1) y 0 + yi 2 i
i =1 m

(3.15)

se poate scrie:
2 X X = X = ( xi +1 xi )2 i + xi 2 i
i 0 i =0 m

(3.16)

unde xm+1=0. Se obine:


P = XY = Y xi 2 i
i =0 m

(3.17)

Acest produs poate fi calculat cu un algoritm de deplasare i adunare sau scdere la produs a produselor pariale, asemntor cu cele prezentate mai sus. Valorile xi =0, 1, -1

39

sunt determinate de valorile xi, xi+1 ale unei perechi de bii adiaceni i determin prin testare decizia de adunare la produsul P a valorilor respectiv 0, Y sau -Y. n practic se pot utiliza algoritmii prezentai, cu eventualele modificri pentru reducerea timpului de execuie. Metodele pentru creterea vitezei de lucru utilizeaz tehnica transportului anticipat pentru reducerea timpului de sumare. Deplasrile multiple (cu mai mult de o poziie) ale denmulitului n cazul n care nmulitorul (sau secvena xm, , x0 n cazul algoritmului Booth) au secvene de zerouri succesive, conduc la micorarea n medie a numrului de pai de calcul. Aceste modificri necesit circuite suplimentare. 3.3 MPRIREA NUMERELOR BINARE

mprirea a dou numere binare se poate reduce la o secven de comparri, scderi i deplasri, analog cu reducerea nmulirii la adunri i deplasri. La mprire apar ns dificulti suplimentare, deoarece nu exist un algoritm de calcul direct, ca cel al nmulirii. 3.3.1 Algoritmul general de mprire Fie X, Y>0, numere ntregi pentru care exist relaia cunoscut X=YQ+R, 0<R<Y

(3.18)

Figura 3.5. a) operaii de mprire efectuat dup algoritmul clasic pentru numere ntregi fr semn; b) mprirea numerelor ntregi cu numr constant de pai. Pentru n=4 bii, X=9, Y=4 rezult Q=2, R=l. n figura 3.5,a se prezint pe acest exemplu efectuarea mpririi, cu algoritmul uzual din aritmetic, n urmtoarele etape: I se aliniaz biii mai semnificativi (MSb) nenuli ai lui X i Y, prin deplasarea lui Y la stnga cu k poziii (echivalent cu nmulirea cu 2k); II se compar X cu Y'=Y2k. Dac XY', atunci bitul curent al ctului ia valoarea 1 i X-Y' reprezint primul rest parial; altfel, bitul ctului ia valoarea 0 i nu se efectueaz scderea; III se deplaseaz Y' la dreapta (sau echivalent X la stnga) cu o poziie;

40

IV se repet pasul 2 pn ce se obin toi biii ctului (pn cnd Y' ajunge aliniat la dreapta lui X). Observm urmtoarele: - numrul de pai de calcul este variabil (k+1); continuarea procesului cu mai muli pai va ncepe s produc biii fracionari ai lui Q; - Q poate depi domeniul numerelor reprezentabile cu n bii (Q{0, ... }). La numere ntregi fr semn cu n bii, dac se interzice mprirea prin zero, atunci Q{ 1, ... 2n-1 }. Dac X are 2n, bii iar Y are n bii, atunci Q poate depi capacitatea registrului cu n bii; trebuie semnalat n acest caz depirea; la numere fracionare condiia de nedepire pentru Q este |X|<|Y|; - mprirea se efectueaz prin ,,cutarea biilor ctului spre deosebire de nmulire care se efectueaz direct. Pentru calculele cu numere la care poziia punctului zecimal este fix (virgul fix), utilizatorul are sarcina limitrii domeniului operanzilor astfel nct s se obin rezultate corecte (de exemplu |Y||X|, pentru ntregi). Dac unitatea aritmetic lucreaz n virgul mobil, atunci la fiecare operaie operanzii sunt scalai de ctre unitatea aritmetic astfel nct Q este meninut la valoarea l. Ne vom referi la primul caz. mprirea se poate executa i cu numr constant (n) de pai (egal cu numrul biilor ctului), dac se dispune de un registru de lungime dubl, vezi fig. 3.5, b). Y se deplaseaz la stnga cu n poziii. Se lucreaz asemntor ca n exemplul din fig. 3.5, a cu deosebirea c la fiecare pas, X se deplaseaz la stnga; dup n pai se obine Q ntr-un registru auxiliar (care poate fi chiar partea mai puin semnificativ a registrului dublu) iar restul n partea mai semnificativ (MS) a registrului. n figura 6 este dat algoritmul general de mprire cu numr constant (n) de Figura 3.6. Algoritmul de pai, pentru numere fr semn, ntregi, cu n bii. Observm c metoda poate fi utilizat simplu i pentru mprire cu numr constant X n lungime dubl (2n) cu condiia ca MS(X)<MS(2nY). de pai pentru numere n caz c MS(X)(2nY), atunci se semnaleaz depire. ntregi fr semn. Pentru a detecta depirea nu este nevoie a Algoritmul de mai efectua mprirea, ci se face doar comparaia specificat. 3.3.2 mprirea numerelor fr semn n practic, comparaiile din algoritmul de principiu din fig. 3.6 se efectueaz prin scdere. Se observ ns c dac diferena este negativ (mai general, de semn contrar cu restul parial) atunci restul parial iniial trebuie regenerat (scderea nu trebuia fcut) la valoarea iniial. Modul de realizare practic a acestei corecii, n cazul comparrii prin scdere, conduce la dou variante de corectare (considerm mai nti cazul X>0, Y>0: a) - regenerarea restului parial dac diferena a fost negativ, prin adunarea mpritorului la diferen: la pasul i: Ri 2 Ri 1 Y < 0 Ri Ri + Y b) - fr regenerarea restului parial (mai exact, cu corecia la pasul urmtor); n acest caz, pentru numere pozitive se efectueaz: - la pasul 1: scdere; la pasul i: - dac la pasul anterior restul a fost pozitiv se execut scderea; 41

- altfel, se execut adunarea 2Ri-1+Y. Metoda b) economisete adunarea de regenerare din a) prin adunarea din pasul urmtor. Metodele sunt principial echivalente deoarece dac la pasul i se execut adunarea, atunci: 2(Ri-1 -Y)+Y=2Ri-1 -Y deci se obine acelai rezultat ca i cnd restul Ri-1 modificat prin scdere n Ri-1 -Y ar fi fost regenerat la valoarea iniial Ri-1 (n loc de Ri-1 -Y) i preluat ca atare n pasul i. Efectuarea scderilor se poate face prin adunarea complementului de doi al numrului respectiv. Pentru justificarea algoritmului de mprire cu numr variabil de pai, presupunem, X, Y>0 ntreg, cu n bii (1 semn, n-1 mrime). Se aliniaz Y prin nmulire cu 2k astfel nct bitul cel mai semnificativ (de dup bitul de semn) s fie 1. n aceste condiii avem X<2Y', (V) X{0, ... 2n+1 +1}; unde Y'=Y2k. Exist qo astfel nct: (3.19) X = Y ' q0 + R1 , q0 {0,1} i R1 < Y ' n mod analog exist qi astfel nct: 2 Ri = Y 'q1 + R2 , R2 < Y ' , , .a.m.d. Se obine: X = Y ' q0 2 0 + q1 2 1 + ... + qk 2 k + 2 k Rk +1 (3.20) X = Y 'Q'+2 k Rk +1 Calculul trebuie oprit dup k+1 pai deoarece n ultimul pas Y' devine aliniat la dreapta cu X, datorit deplasrii la stnga a lui X. Exemplu: X= 0 0 1 0 0 1 0 1 Y= 0 0 0 0 1 1 0 1 1 1 0 1 23Y=Y'= 0 pasul: 0 1 2 3

nlocuind pe Y' cu Y2k se obine: (3.21) X = Y (q0 2 k + q1 2 k 1 + ... + q k 2 0 ) + 2 k Rk +1 n care suma din parantez reprezint ctul ntreg. Observm c algoritmul prezentat este valabil i pentru numere fracionare la care condiia de nedepire este |X|<|Y|. n acest caz n relaia (3.19) q0=0 i R1=X. Se obine din relaia (3.20): (3.22) X = Y (q1 2 1 + q 2 2 2 + ... + q k 2 k ) + 2 k Rk unde s-a notat Y' cu Y iar Rk+i cu Rk deoarece se poate executa mprirea n k pai (numr egal cu cel al biilor ctului). Practic primul pas (compararea X cu Y) este totui util pentru verificarea condiiei de nedepire de ctre ct a domeniului admisibil (|X|<|Y|). n figura 3.7,a se d algoritmul de mprire pentru numere ntregi pozitive cu metoda regenerrii iar n figura 3.7,b cu metoda neregenerrii. Se observ cele trei etape: alinierea mpritorului, mprirea propriu-zis i corecia restului. Observm c eventuala alterare a semnului restului parial la operaia R2R nu provoac incorectitudini deoarece la pasul urmtor urmeaz o scdere i rezultatul va fi corect, conform celor spuse la operaiile de sum algebric multipl. Iniial, restul parial R ia valoarea X iar dup scderi succesive, registrul respectiv va conine n final valoarea restului. n figura 3.8 a i b se prezint dou exemple pentru X, Y>0 reprezentai cu 5 bii (1+4). Se observ economicitatea metodei fr regenerare. n figura 3.9 se prezint metoda neregenerrii pentru X de mprit n lungime dubl 2n iar mpritorul Y n lungime simpl n; n exemplul dat n=4. Pentru realizarea practic 42

se utilizeaz dou registre RP, Q care conin iniial X n lungime dubl. Se aliniaz Y la RP prin nmulire cu 2n. Practic, se utilizeaz un registru separat de lungime n pentru Y, aliniat

Figura 3.7. Algoritmi de mprire pentru numere ntregi, reprezentate cu n bii.


a) Metoda regenerrii pentru numere pozitive; b) Metoda fr regenerare pentru numere pozitive; c) Metoda fr regenerare pentru numere cu semn; (1) = alinierea lui Y; (2) = mprirea propriu-zis; (3) = corecia restului.

Figura 3.8. Exemple de mpriri pentru numere ntregi, pozitive, reprezentate cu 4 bii (n lungime simpl): a) Metoda regenerrii; b) Metoda fr
regenerare

43

la partea mai semnificativ a registrului dublu. Condiia de nedepire este: MS(RP, Q)=MS(X)=(RP)<Y (3.23) mprirea se execut n k+l=5 pai. Pe msura efecturii calculelor biii lui X se deplaseaz spre stnga n RP, care conine resturile pariale, elibernd registrul Q care este ocupat succesiv cu biii ctului. n final, RP conine restul iar Q ctul, reprezentate cu cte n bii. Metodele utilizate n exemplele citate sunt valabile cu mici modificri i pentru numere fracionare. Operaiile din fig. 8 a, b se pot interpreta ca fiind executate asupra numerelor n virgul fix reprezentate cu (1+4) bii: 13 1 X ' = 0,01101 = , 16 6 1 Y ' = 0,1100 = 12 16 n care s-a scalat X n X' pentru a ndeplini condiia X<Y. n acest caz, operaiile prezentate n fig. 3.8 a, b corespund relaiei (3.22) cu k=3, iar prima cifr a ctului poart ponderea 2-1. Reinterpretnd rezultatele citate n fig. 3.8 a, b se obine: 8 Q = 0,1000 = , 16 1 4 R = 2 3 R3 = 8 16 i: 13 1 12 8 1 4 = + 2 16 16 16 8 16 relaie care se verific. Figura 3.9. Exemplu de mprire pentru numere ntregi pozitive, cu dempritul n lungime dubl (2n=8) iar mpritorul n lungime simpl (n=4) - metoda fr regenerare. 3.3.3 mprirea numerelor cu semn mprirea numerelor cu semn se poate executa n dou moduri: 1. - se convertesc operanzii X i Y n numere pozitive, se execut mprirea fr semn i se modific sumele semnele ctului i restului n funcie de semnele lui X i Y. 2. - se lucreaz direct cu algoritmul modificat pentru

numere cu semn. n figura 7 c se prezint algoritmul fr regenerare pentru numere ntregi cu semn reprezentate cu n bii n (C2). Au loc aceleai etape ca i pentru numerele pozitive. Diferena const m decizia asupra operaiei de adunare sau scdere ce trebuie efectuat la un pas oarecare de calcul i a deciziei asupra valorii cifrei ctului. Algoritmul prezentat produce ntotdeauna valoarea absolut a lui Q, semnul acestuia corectndu-se n final; restul rezult de acelai semn cu dempritul. Acest fapt rezult din aceea c la fiecare pas se evalueaz dac Y se cuprinde n restul parial i operaia aritmetic se face mereu n sensul reducerii valorii absolute a lui X pn ce acesta devine egal cu restul.

44

Dac restul parial i Y sunt de acelai semn, atunci Y se scade din restul parial; n caz contrar, Y se adun la restul parial. Cifra ctului primete valoarea 3 dac semnul restului parial este acelai cu al lui X, altfel ia valoarea zero. Metoda fiind fr regenerri, ultimul rest trebuie corectat dac semnul su nu este acelai cu cel al lui X; (vezi exemplele din figura 3.10).

Figura 3.10. Exemple de mprire pentru numere ntregi cu semn prin metoda fr regenerare. 3.4 TRUNCHIEREA. ROTUNJIREA. DEPIREA

0 problem suplimentar ce apare la operaiile aritmetice este reinerea unui numr mai mic de bii dintr-un rezultat cu lungime mai mare. Aceasta se face prin trunchiere sau rotunjire. Prin trunchiere se nltur pur i simplu cei mai puin semnificativi bii ai rezultatului; apare o eroare comparabil cu ponderea bitului respectiv n rezultat. 0 soluie mai bun este rotunjirea rezultatului, pentru care exist diverse metode. De exemplu, dac dintr-un rezultat pozitiv, n precizie dubl, fracionar, de lungime 2n, se dorete meninerea prii mai semnificative (n bii) atunci se poate aduna un 1 pe poziia bitului imediat urmtor dup cel mai puin semnificativ al rezultatului final, (al n+1-lea), efectund transportul ctre rangurile superioare i trunchiind dup aceea noul rezultat la n bii. 0 metod mai simpl, dar care produce erori ceva mai mari, este transformarea n 1 a celui mai puin semnificativ bit al prii care se reine din rezultatul complet. Problema depirilor la operaiile n virgul fix, se rezolv prin circuite speciale indicatoare de depire. 0 rezolvare radical a problemei o constituie efectuarea calculelor n virgul mobil care necesit ns uniti aritmetice mai complexe.

45

IMPLEMENTAREA OPERAIILOR ARITMETICE

ncheind prezentarea operaiilor aritmetice de baz se poate observa c ele pot fi realizate prin descompunerea n operaii elementare cum sunt: complementare, sumare, deplasare, comparare. n practic se utilizeaz dou variante de implementare a operaiilor aritmetice: - cu circuite specializate pentru anumite funcii aritmetice, oferind avantajul unei viteze mari de lucru; n schimb nglobarea lor n sisteme complexe cu funcii multiple este mai complicat; - cu uniti aritmetice ''universale'' care pot executa mai multe operaii, selectabile, pe baza unor comenzi. 0 secven de comenzi aplicate unitii aritmetice constituie un ''program''. Cele dou variante se ntlnesc n practic n numeroase forme, mai mult sau mai puin perfecionate n funcie de performanele propuse. Ambele variante pot fi prevzute cu circuite pentru sporirea vitezei (prelucrri paralele pe poriuni de cuvnt, circuite pentru transport anticipat, deplasri multiple, etc.) sau cu alte circuite speciale pentru detecia depirilor, rotunjire, etc. n sistemele mai lente se prefer deseori sporirea n continuare a gradului de serializare a aciunilor elementare fa de cele prezentate n acest paragraf, pentru reducerea complexitii circuitelor. n continuare se vor prezenta cteva circuite elementare necesare n operaiile aritmetice. 4.1 CIRCUITE ARITMETICE ELEMENTARE

4.1.1 Circuitul de complementare Circuitul de complementare este un CLC care n funcie de comenzile A, B, execut una dintre urmtoarele funcii: complementeaz fa de 1; las neschimbat cuvntul de intrare X1, ..., X4; foreaz ieirile n 1 sau 0. Schema logic a circuitului i tabelul care indic funcionarea sunt date n figura 4.11.

a)
adevr.

b) Semisum atorul

Figura 4.1. Circuitul de complementare: a) Schema logic; b)Tabelul de 4.1.2

elementar Semisumatorul elementar este un CLC care adun dou numere cu un bit xi, yi, i genereaz doi bii la ieire: suma Si i transportul Ci+1 ctre rangul urmtor. Schema logic i tabelul de adevr sunt date n fig. 4.2. Se observ c tabelul de adevr realizeaz de fapt tabelul 4.2 a al sumei binare.

46

Figura 4.2. Semisumatorul elementar: a) Schema logic; b)


Tabelul de adevr.

4.1.3 Sumatorul elementar Sumatorul elementar este un CLC care adun dou numere cu un bit xi, yi i un bit de transport de intrare ci, genernd suma si cu un bit i transportul spre rangul urmtor ci+1 conform tabelului de adunare (fig. 4.2,b) care este i tabelul de adevr al circuitului. Schema logic se poate obine n dou moduri: - pornind de la tabela de adevr, prin minimizare. Rezult: si = xi y i c i xi yi ci x i yi c i (4.1) cc +1 = xi ci yi ci xi yi (4.2) din care schema logic rezult imediat ca un CLC n trei trepte. - completnd semisumatorul elementar cu nc un semisumator care s sumeze pe si = xi yi i pe ci. Transportul de ieire va fi 1 dac ci' +1 = xi yi = 1 , sau dac al doilea semisumator genereaz transport. Schema bloc i schema logic sunt date n figura 4.3 n care indicele i indic posibilitatea de conectare a sumatorului elementar ca celul de sumare de rang i ntr-o schem ca aceea din figura 3.1.

Figura 4.3. Sumatorul elementar: a) Schema bloc; b) Schema logic. 4.1.4 Sumatorul serie 47

n sisteme mai lente, sumatorul elementar poate aduna doi operanzi cu n bii, dac acetia se introduc serie n sumator. Rezult schema bloc de principiu din figura 4.4 n care RD1 i RD2 sunt registre de deplasare cu posibilitate de ncrcare paralel i deplasare serie, cu n+1 bii fiecare, iar RD3 cu n+1 bii un registru de deplasare pentru nregistrarea serie a rezultatului. Dup sumare, biii sumei memorai n RD3 pot fi utilizai paralel sau serie n funcie de aplicaie. n schema dat s-au omis unele detalii privind aplicarea

Figura 4.4. Schema bloc de principiu a unui sumator serie. IS = intrare serie; ES = ieire serie; CI = transport de intrare; CO = transport de ieire; S = suma; X,Y = intrri; C = comenzi (mod, tacte). comenzilor i tactelor, reprezentate prin C. Schema funcioneaz n urmtoarele etape: - se ncarc paralel operanzii X i Y, n RD1 i RD2 funcionnd n mod paralel. x0 i y0 sunt biii cei mai puin semnificativ; se terge bistabilul D; biii cei mai semnificativi din RD1 i RD2 iau valoarea zero; - se deplaseaz X i Y serie spre dreapta n n+1 tacte succesive furniznd la intrarea n perechile de bii xi, yi i CIi+1, pentru i=0, ..., n-1 (cu CI-1=0 datorit iniializrii n 0 a bistabilului). La terminarea fiecrui interval de tact, bitul curent al sumei si apare la ieirea S i se memoreaz n RD3 prin aplicarea sa pe intrarea serie IS. Bitul de transport ci+1 este memorat n bistabilul D care asigur o ntrziere de un tact, pentru utilizarea acestuia n tactul urmtor. n tactul n+1, primete la intrri Xn=0, yn=0 i transportul final cn care va fi generat ca atare pe ieirea S i memorat n cea mai semnificativ poziie a lui RD3. Timpul de execuie al unei adunri este (n+1)T, unde T este perioada de tact. 4.1.5 Sumatorul paralel Sumatorul paralel este un CLC care sumeaz doi operanzi binari aplicai n paralel la intrrile Xi, Yi, i=0, n-1 i un bit de transport co, genernd la ieire cuvntul sum S=sn-1, . . ., s0 i transportul de ieire sn, figura 4.5. El se compune din n sumatoare elementare, i, i=0,, n-1, pentru sumarea biilor corespunztori xi, yi ai operanzilor. Fiecare i primete de la rangul inferior transportul Ci i genereaz spre celula de rang urmtor transportul ci+1. Intrarea CI n prima celul i ieirea CO a ultimei celule permit conectarea sumatorului n scheme mai complexe sau utilizarea lui multipl n operaii multicuvnt. n figura 4.5 este completat cu trei registre paralel RX, RY, RS pentru memorarea operanzilor X, Y i respectiv a sumei S. Fiecare registru este compus din n respectiv n+1 circuite basculante bistabile. Dac CBB sunt master-slave, atunci pe durata fiecrui tact se menine la ieirea lui RS rezultatul precedent. Sumatorul completat devine astfel un circuit secvenial care funcioneaz sincron cu un semnal de tact Ck. Circuitul execut o sumare la fiecare tact.

48

Frontul semnificativ Ck determin nscrierea operanzilor n RX, RY. Dup timpul de propagare prin CLC la ieirile acestuia apare suma S i transportul cn de ieire. Urmtorul front semnificativ al Ck nscrie rezultatul n RS. Datorit paralelismului schema funcioneaz teoretic de n+1 ori mai rapid dect sumatorul serie (ntr-un singur tact). Totui analiznd figura se observ propagarea serie a transportului ci prin toate celulele ceea ce face ca transportul cn s fie generat dup un timp

Figura 4.5. Sumatorul paralel cu n bii, completat cu registru paralel pentru memorarea operanzilor i rezultatului. ntp (tp= timpul de propagare cici+1 printr-o celul), ceea ce limiteaz viteza. Observaia sugereaz o posibilitate de mrire a vitezei prin generarea cu anticipare a transportului de ieire cn cu ajutorul unor circuite suplimentare combinaionale. 4.1.6 Sumatorul paralel cu acumulare Pentru calculul unei sume multiple S=X1+X2+...+ Xn, se poate construi o schem de sumator cu acumulare, plecnd de la schema precedent. Aceast schem funcioneaz n N tacte; la fiecare tact se calculeaz suma parial S S+Xi, i=1,..., N, unde iniial S=0. Se observ c dac ieirea registrului RS din figura 4.5 se utilizeaz n locul ieirii lui RY, atunci se obine schema de principiu din figura 4.6 care realizeaz funcionarea dorit. n aceast schem registrul de ieire este numit din motive evidente acumulator (A), iar este un sumator paralel. Pe durata unei perioade a tactului Ck, A (acumulatorul) menine la intrarea Y a sumatorului valoarea curent a sumei Si-1, iar ieirea lui RX este Xi. La sfritul intervalului A=Si Si-1+Xi. Rezult c A trebuie s fie un registru paralel cu celule master-slave. Menionm c o schem auxiliar trebuie s furnizeze cei N operanzi Xi, i=1,..., N la intrrile lui RX, n N tacte succesive. Este avantajos ca operanzii Xi s fie reprezentai n (C2) deoarece n acest caz sunt valabile (consideraiile asupra depirii n cazul sumelor multiple fiind fcute n paragrafele anterioare). Dac suma poate depi lungimea de n bii atunci i A trebuie s aib o lrgime de m bii, m>n iar Xi trebuie sumai la partea mai puin semnificativ a sumei pariale cu m bii. n general, sumatorul cu acumulare trebuie s fie prevzut cu circuite pentru detectarea depirilor.

49 Figura 4.6. Schema bloc de principiu a sumatorului paralel cu acumulare.

Dac registrul acumulator permite i deplasri stnga/dreapta, atunci flexibilitatea

circuitului crete deoarece poate realiza operaii de tipul Si Si-12k+Xi unde k este un ntreg pozitiv sau negativ. n figura 4.7 este dat o variant de realizare a unui sumator paralel cu acumulare. Acumulatorul este nlocuit cu o structur paralel de circuite basculante bistabile (CBB) de tip JK la care intrrile J i K sunt legate ntre ele. n aceast conexiune, un CBB JK sumeaz modulo doi strile logice ale intrrii citite la impulsuri de tact succesive, J=K=0Qn+1 Qn iar J=K=lQn-1 Qn (dac J=K=1, atunci CBB revine n starea iniial dup fiecare dou impulsuri de tact). Astfel dac notm operandul Xi = (xn-1,i,, xo,i), suma (4.3) S = ( x n 1,1 ,..., x1,1 , x0,1 ) + ( xn 1, 2 ,..., x1, 2 , x0, 2 ) + ( xn 1, N ,..., x1, N , x0 , N ) se poate calcula astfel: suma biilor din coloana 0, ( x 0,1 + ... + x 0, N ) se va acumula n CCB0, suma ( x1,1 + ... + x1, N ) n CCB1, .a.m.d. Transportul ntre biii adiaceni poate fi calculat pornind de la observaia c bitul I al unei sume S=X+Y se poate scrie: s i = xi c i y i (4.4) n cazul sumatorului cu acumulare, la pasul k, bitul curent al sumei este

Figura 4.7. Variant de realizarea a unui sumator paralel cu acumulare:


CCTi = circuit de calcul al transportului de intrare n bitul i.

s ik = xik cik s ik 1 = z ik s

(4.5) unde z este ieirea unui sumator modulo doi, iar s reprezint starea anterioar a CBBi. Circuitul CLC notat CCTi calculeaz bitul de transport de intrare n celula de sumare i.
k i k 1 i

50

Sumatoarele cu acumulare sunt larg utilizate n operaiile de prelucrare a semnalelor de provenien analogic (filtrare digital, corelaie, transformate Fourier, etc.). Ele se realizeaz curent sub form de circuite integrate pe scar mare. Transportul anticipat Dup cum s-a artat principala limitare a vitezei de calcul la sumatorul paralel cu transport succesiv de la o celul la alta este determinat de necesitatea propagrii acestuia prin toate celulele. Mrirea vitezei la limita maxim se poate obine pornind de la faptul c orice funcie logic combinaional se poate scrie sub form normal disjunctiv (sau conjunctiv) ceea ce permite realizarea ei doar cu trei trepte de pori logice. Pornind de la acest lucru se poate scrie bitul de ieire si al sumei S din relaia (4.4) ca o funcie logic: si = f ( xi , yi , xi 1 , yi 1 ,..., x0 , y 0 , c0 ) (4.6) n care nu mai apare transportul ci de la rangul anterior ci direct toate intrrile de rang i. n acest fel se elimin timpul de propagare al transportului pe seama mririi complexitii CLC de sumare. Practic, metoda nu este aplicabil dect pentru sumatoarele cu numr mic de bii din cauza creterii rapide a complexitii CLC pentru biii de rang mare. O soluie foarte utilizat situat ntre sumatorul cu transport succesiv i cel cu ntrziere minim este cea a generrii transportului anticipat peste un numr oarecare de sumatoare. Analiznd tabelul de adunare (vezi tabelul 3.1) al unei celule elementare i se constat c ci+1 se poate scrie: ci +1 = xi yi ci ( xi yi ) (4.7) Vom nota cu Gi = xi y i i Pi = xi y i (sau plecnd de la forma minimizat), Pi = xi y i ) . Relaia (4.7) se rescrie utiliznd aceste notaii: ci +1 = Gi ci Pi (4.8) Gi se va numi funcie de generare a transportului la celula i cci (xiyi= l) (ci+1 = l) indiferent de valoarea lui ci. Pi se va numi funcie de propagare a transportului prin celula i , cci Pi = l va determina traversarea celulei i de ctre valoarea bitului de transport de intrare ci. Relaia (41) arat c ci+1 poate fi egal cu 1 dac se genereaz n celula i (Gi=l) sau ca urmare a propagrii (dac Pi=l) a unui ci=l de la intrare. Utiliznd relaiile (4.8) aplicate succesiv la 4 celule adiacente se obine: c1 = G1 P1c0 c 2 = G 2 P2 G1 P2 P1c 0 c3 = G4 P3 G2 P3 P2 G1 P3 P2 P1c 0 (4.9) 4.1.7

c 4 = G 4 P4 G3 P4 P3 P2 G1 P4 P3 P2 P1c0 Se observ c transportul de intrare n fiecare celul apare dup ntrzierea 3tp prin trei pori logice, indiferent de rangul celulei. Pentru c4 economia este semnificativ deoarece transportul succesiv prin patru sumatoare elementare implic 2X4tp=8tp, conform relaiei (4.2). Considernd sumatorul cu 4 celule ca un bloc se pot defini pentru el dou funcii P i G, P = P4 P3 P2 P1 G = G4 P4 G3 P4 P3 G2 P4 P3 P2 G1 (4.10)

51

ceea ce permite extinderea principiului prezentat anterior, pe un al doilea nivel, peste mai multe sumatoare cu 4 bii utiliznd un circuit de transport anticipat suplimentar descris tot de relaiile (4.8). n figura 4.8 a este dat conectarea a patru uniti aritmetice (ALU) a cte 4 bii fiecare, pentru a forma o unitate aritmetic cu 16 bii. Fiecare ALU este prevzut intern cu circuite generatoare de transport anticipat (GTA), furniznd ieirile G, P (active jos) pentru grupul de 4 bii. Cn este transportul de intrare n ALU iar Cn+4 cel de ieire. ntr-o conectare fr GTA, Cn+4i se leag la Cni+1, i=0,... 2. Circuitul GTA este descris de un set de relaii asemntoare cu (4.8): C n + x = G0 P0 C n , C n + y = G1 P1G0 P1 P0 C n C n + z = G2 P2 G1 P2 P1G0 P2 P1 P0 C n G = G3 P3 G2 P3 P2 G1 P3 P2 P1G 0 P = P3 P2 P1 P0 (4.11)

Figura 4.8. Conectarea cu transport anticipat a unitilor aritmetice:


a) cu dou niveluri (intern lui ALU +nivel 1); b) cu trei niveluri.

Ieirile G, P ale GTA pot servi pentru conectarea pe nc un nivel prin alt GTA a mai multe uniti cu 16 bii (vezi de exemplu: fig. 4.8 b). Schema de principiu prezentat poate fi realizat cu diverse familii de componente: - bipolare: 4ALU (tip 74181 de 4 bii) + GTA (de tip 74182) 4RALU (de tip Am2901 sau Am2903 de 4 bii) + GTA (de tip Am2902); - CMOS: 4ALU (de tip MMC40181 de 4 bii) + GTA (de tip MMC40182). n fig. 4.8 b avem un transport anticipat pe trei niveluri:

52

- nivel 0 n interiorul ALU, peste patru sumatoare elementare; - nivel 1 peste 4 circuite ALU elementare; - nivel 2 peste mai multe uniti ALUo, ALU1, etc. 4.2 UNITI ARITMETICE - LOGICE

Odat cu creterea densitii de integrare a circuitelor digitale, funciile aritmeticelogice se realizeaz n circuite tot mai complexe care execut pe baza unor comenzi diverse funciile de tip aritmetic sau logic. Aceste circuite se pot utiliza ca atare n sisteme digitale complexe sau se regsesc ca elemente componente n unitile de prelucrare ale sistemelor de calcul (micro, mini sau mari). 4.2.1 Uniti aritmetice - logice de baz Operaiile aritmetice i cele logice de baz pot fi realizate cu circuite multifuncionale numite uniti aritmetice-logice (ALU). ALU este un CLC complex, cu urmtoarele funciuni: - executa o operaie aritmetic / logic asupra a unul sau doi operanzi de intrare cu un anumit numr de bii; - furnizeaz indicaii asupra rezultatului. ALU are urmtoarele intrri i ieiri tipice (ex. pentru 4 bii): - intrrile operanzilor (A, B)=(A0-3, B0-3); - intrarea pentru transport Cn; - ieirea funciei F=(F0-3); - ieirea pentru transport Cn+4; - ieirea indicatoare de egalitate a operanzilor (A=B); - ieiri pentru transport anticipat, X, Y; - comenzi: - selectarea funciei S=(S0-3); - comanda ,,modului M: M = 0 = mod "aritmetic" M = l = mod "logic". Funciile i intrrile/ieirile ALU prezentate sunt realizate n circuite uzuale, de exemplu: 74(LS/S)181, (TTL) sau MMC40181, (CMOS) care sunt ALU pentru 4 bii. Structura intern a ALU care realizeaz funciile propuse cuprinde n esen: - un circuit logic de intrare, comandat de (S0-3) care execut funcii logice elementare ntre operanzii A i B; - un sumator binar; - un generator de transport anticipat; - circuite de comparare. ALU 74181 (MMC 40181) realizeaz de exemplu urmtoarele 16 funcii: - logice i negatele lor: F = A, B, A B, A B, A B, A B, AB (4.12) A, B,1, A B, A B, A B, A B, A B - aritmetice: (4.13) F=E+Cn; Cn=0 sau 1 unde E este o expresie cu unul sau doi operanzi, astfel: E = A, ( A B ), ( A B ),1, A + AB, ( A B ) + A B, A B 1, AB 1, A + AB, (4.14) A + B, ( A B ) + AB, AB 1, A + A, ( A B ) + A, A 1

53

n relaiile de mai sus (+) semnific adunarea binar iar (-) adunarea complementului fa de doi al operandului respectiv. ALU pot fi conectate n paralel, pentru a forma ALU pentru operanzi de lungimi mai mari; n acest caz Cn este transportul de la ALU de rang inferior iar Cn+4 transport de ieire spre ALU de rang imediat superior. n cazul utilizrii unui circuit extern de transport anticipat (vezi fig. 4.8), atunci intrarea Cn este furnizat de GTA, iar X i Y se conecteaz la GTA. Relaiile de mai sus au fost date pentru semnale active "sus"; ALU poate fi utilizat i cu semnale active "jos", funciile schimbndu-i n mod corespunztor semnificaia (de exemplu, funcia AB devine n acest caz A+B deoarece Figura 4.9. Unitate un circuit I pentru semnale active sus este un SAU pentru semnale active "jos"). aritmetic-logic: Ieirea A=B a comparatorului permite detectarea situaiilor de C n = 0 exist transport egalitate a operanzilor (ALU trebuie s fie n mod aritmetic, cu (semnal activ pe 0) funcia de scdere i Cn=l). n general ieirea A=B este de tipul cu colector n gol pentru a permite legarea n comun a ieirilor corespunztoare de la mai multe uniti. Dac ALU execut operaia de scdere F=A-B-1+Cn atunci prin analiza biilor Cn si Cn+4 se pot obine valorile de adevr ale comparaiilor: AB, A>B, A<B, AB. De exemplu Cn=lF=A-B, iar dac Cn+4=l atunci aceasta reprezint faptul c AB (vezi paragraful 3.1). ALU poate realiza i funcia de deplasare la stnga F=A+A ceea ce permite utilizarea sa n circuite pentru nmulire, mprire. 4.2.2 Circuite de multiplicare Dup cum s-a artat n 12.3 nmulirea binar se poate executa paralel cu un CLC specializat pentru obinerea unei viteze mari, secvenial n n pai (n=numrul de bii al nmulitorului), sau la limita cealalt, complet serial, n sistemele de vitez mic. 4.2.3 Multiplicatorul paralel Acesta se realizeaz ca un CLC complex, cu 2n intrri i 2n ieiri pentru operanzii X i Y i respectiv pentru rezultat (P). Datorit structurii paralele CLC execut ntr-un singur pas toate deplasrile i adunrile algoritmilor prezentai n 1.2 i 1.3. De obicei CLC se completeaz la intrare i ieire cu registre care transform multiplicatorul ntr-un circuit secvenial, ce funcioneaz cu un tact extern. O operaie de nmulire se realizeaz ntr-un singur tact. O configuraie tipic de asemenea multiplicator este dat n figura 4.10. (exemplu: MPY016k TRW multiplicator 1616 bii/50 ns). Circuitul include trei seciuni funcionale: registrele de intrare, nmulitorul asincron (CLC), registrele de ieire. Registrele de intrare memoreaz cei doi operanzi cu cte 16 bii i comanda pentru rotunjirea la ieire (atunci cnd se dorete rezultatul n lungime simpl). Fiecare operand este memorat independent, facilitndu-se astfel multiplicarea cu o constant. nmulitorul asincron este o reea de pori I i sumatoare care realizeaz nmulirea n modul i semn sau complement de doi. Registrele de ieire memoreaz produsul sub forma a dou cuvinte cu cte n (n=16) bii (MSP partea mai semnificativ n RM, iar cea mai puin semnificativ LSP n RL), la fronturile semnificative (+) ale

54

semnalelor de tact KLKM i CLKL. Semnalul FT=1 asigur transparena acestor registre. Ieirile circuitului pot fi trecute n starea de mare impedan (dac TRIM = 1 i TRIL = 1 ). Partea mai puin semnificativ (LSP) a produsului se poate obine fie prin multiplexare cu (MSP), MSEL = 0 MSP; MSEL = 1 LSP fie pe intrrile Y care devin ieiri (TRIL = 0 Y LSP ) .

Figura 4.10. Multiplicator paralel:


RX, RY-registre de intrare (de tip D); RM, RL-registri de ieire (de tip D); CLKX, CLKY, CLKM, CLGL-tacte; RR-circuit basculant bistabil (CBB) pentru memorarea comenzii de rotunjire; RND-comand pentru rotunjirea MSP; AF-ajustarea formatului de reprezentare; TCX, TCY-informaii privind reprezentarea lui X,Y; TCX/TCY=0 implic modulul i semnul; TCX/TCY=1 implic complementul fa de doi; FT-comanda transparenei regitrilor;

TRIM , TRIL -comenzi de validare pentru "buffer"-ele cu trei stri; MSEL -comanda de selecie a MSP sau LSP; MSP/LSP-partea mai semnificativ / mai puin semnificativ a produsului.

Circuitul este flexibil n reprezentrile admise pentru operanzi. Semnalele TCX, TCY indic modurile de interpretare a datelor: TCX=0X este interpretat ca numr fr semn; TCX=1X este interpretat ca numr cu semn n (C2). TCY are semnificaii asemntoare. n acest fel datele de intrare pot fi interpretate n trei moduri posibile: ((M)=notaie pentru. reprezentarea fr semn) X=(M), Y=(M), P=(M) ntregi fr semn X=(C2), Y=(C2), P=(C2) ntregi cu semn X=(C2), Y=(M), P=(C2) reprezentare mixt Interpretnd X, Y, P ca numere fracionare n virgul fix se obin nc trei reprezentri posibile pentru date. Diferena ntre cele dou reprezentri este c interpretarea lui P ca fiind n virgul fix necesit deplasarea la stnga cu o poziie. (exemplu: 78=56; n reprezentarea cu 4 bii (1+3), P=56=0111000; (7/8)(8/8)=7/8P=0,111 0000). Comanda RS (Register shift) permite ajustarea formatului produsului P. Ea se utilizeaz cu RS=0, numai pentru reprezentrile lui X i Y n (C2). Dac RS=0 atunci bitul de semn se repet att n MSP ct i n LSP. Semnificaia biilor lui P este (fig.4.11): Se observ c RS=1 determin nlturarea copiei bitului de semn din LSP i deplasarea lui MSP spre dreapta, cu o poziie.

55

Figura 4.11. Semnificaia biilor produsului n C2 Y ca numere fracionare, n (C2), rezult (fig.4.12):

n cazul interpretrii lui X i

Figura 4.12. n toate celelalte cazuri se lucreaz numai cu RS=1. Dac se dorete P numai n simpl precizie atunci MSP se poate rotunji prin adugarea unui bit 1 la cel mai semnificativ bit al LSP i efectuarea transportului ctre MSP. Multiplicatorul paralel se poate utiliza n sistemele de vitez mare pentru prelucrarea n timp real a semnalelor. Multiplicatorul secvenial Multiplicatorul secvenial realizeaz algoritmii n n pai prezentai n 12.3, utiliznd un sumator (ALU) completat cu registre i circuit de deplasare. Schema bloc de principiu a unui asemenea circuit este dat n figura 4.13. Presupunem operanzii reprezentai ca ntregi cu semn n (C2). Iniial RMSP=0, RLSP=X nmulitor, RY=Y de nmulit. Se execut n continuare adunarea RMSP+Y sau RMSL+0 n funcie de valoarea 1 sau 0 a bitului curent al lui X. Rezultatul se deplaseaz pe lungime dubl (deplasare aritmetic cu conservarea semnului F) la dreapta. n cazul n care la adunare a aprut depire, se corecteaz semnul prin operaia MSb F OVF (MSb=bit de semn). Se execut cu ajutorul comenzilor C2, de (n-1) ori operaia de adunare i deplasare. La pasul n, se execut o scdere condiionat de valoarea bitului MSb(X) (MSb(X)=l scdere), urmat de deplasare dreapta. 4.2.4

56

Figura 4.13. Multiplicator secvenial:


RMSP- registru pentru MS(P); RLSP-registru pentru LS(P) (iniial RLSP=X, nmulitor; RYregistru pentru denmulit; D-circuite de deplasare dreapta; ALU-unitatea aritmetic logic; F-bitul de semn din ALU; OVF-bit indicator de depire la adunare; C1-comand selectare operanzi (A, O sau A, B); C2-comenzi.

(C2).

Rezultatul se obine n final n RMSP, RLSP n lungime dubl, reprezentat cu semn n

Circuitul prezentat se poate obine prin configurarea unei uniti aritmetice logice i registre complexe (ex. Am 2901).

57

CIRCUITE LOGICE COMBINAIONALE (CLC)

Circuitele logice combinaionale au dou caracteristici principale: - sunt circuite fr memorie (semnalele de pe ieiri exist doar n prezena semnalelor aplicate pe intrri); - semnalul ce apare pe o ieire yk este o combinaie a semnalelor de la intrare z k = f k ( x1 , x2 ,..., xn ) (5.1).

Figura 5.1. Schema bloc a unui circuit logic combinaional. 5.1 PORI LOGICE

n tabelul 2.6 au fost reprezentate funciile booleene de dou variabile precum i simbolurile circuitelor electronice corespunztoare. Aceste circuite sunt cunoscute i sub denumirea de pori logice. Pentru exemplificare se va considera iniial perechea de circuite I respectiv I-NU reprezentat n fig. 5.2 mpreun cu tabelul lor de funcionare. Dac se consider c intrarea A este intrare de comand i intrarea B este intrare de semnal (fig. 5.2 b), atunci din tabelul din fig. 5.2 a se observ c atta timp ct semnalul de comand A este pe nivel logic cobort (L), semnalele de ieire Q1 respectiv Q2 nu se

Figura 5.2. Funcionarea porilor I respectiv I-NU: a) tabelul de funcionare;


b) schemele porilor.

modific indiferent de valoarea semnalului aplicat pe intrarea de semnal B. Putem considera n acest caz porile I respectiv I-NU ca fiind nchise. Dac n schimb semnalul de comand A este pe nivel logic ridicat (H), semnalele de ieire vor fi Q1=X respectiv Q2= X . In acest caz semnalele de ieire sunt egale cu semnalul de pe intrarea de semnal B sau cu inversul acestuia. Se poate spune c n acest caz porile sunt deschise. n concluzie, semnalul (X), aplicat pe borna B, trece sau nu prin poart n funcie de valoarea semnalului de comand aplicat pe borna A, valabil i invers. Folosind schema cu dou comutatoare i un bec din fig. 5.3, s-a artat i pe acest model funcionarea porii logice I.

58

Pentru K1 deschis (A=L), becul B rmne tot timpul stins, indiferent de poziia lui K2(B=X). n cazul n care K1 este nchis (A=H), becul se va stinge sau se va aprinde Q1=X n funcie de poziia lui K2 (B=X).

Figura 5.3. Ilustrarea funcionrii porii I. n mod similar se poate analiza i funcionarea perechii de circuite SAU respectiv SAU-NU n regim de poart (vezi fig. 5.4).

Figura 5.4. Funcionarea porilor SAU respectiv SAU-NU: a)


tabelul de funcionare; b) schemele porilor.

Practic la toate circuitele se constat c semnalul de pe o intrare condiioneaz trecerea prin circuit a semnalului aplicat pe cealalt intrare. Condiionarea poate fi ns multipl, aa cum se observ n fig. 5.5. Poarta I va fi deschis (Q=X) numai dac C1=C2= =Ck=H, i va fi blocat Figura 5.5. Poart I cu condiionare multipl. (Q=0), dac cel puin una din intrrile de comand este pe nivel de tensiune (L). 5.2 ANALIZA CIRCUITELOR LOGICE COMBINAIONALE

n cadrul analizei, se pleac de la cunoaterea schemei circuitului i se urmrete stabilirea funcionrii acestuia, concretizat prin tabelul de funcionare sau prin scrierea expresiei semnalelor de ieire n funcie de cele de intrare. Se va considera urmtorul exemplu simplu reprezentat n fig. 5.6.

Figura 5.6. Exemplu de analiz a unui circuit logic combinaional Stabilirea expresiei semnalului de ieire s-a fcut urmrindu-se de la stnga spre dreapta (intrare spre ieire) transformrile succesive ale semnalelor de intrare. Avnd expresia funciei, completarea tabelului de funcionare nu mai prezint nici o dificultate.

59

5.3

SINTEZA CIRCUITELOR LOGICE COMBINAIONALE

n cazul sintezei se cunoate funcia pe care trebuie s-o ndeplineasc circuitul i se caut s se gseasc structura acestuia. Etapele sintezei sunt urmtoarele: - definirea funciei (sau a funciilor); - minimizarea funciei; - desenarea schemei circuitului. Trebuie menionat faptul c acelai CLC poate fi realizat n mai multe variante (dup modul cum a fost scris funcia) de exemplu: - cu circuite I, SAU, NU; - cu circuite SAU, I, NU; - cu circuite I-NU; - cu circuite SAU-NU; etc.

Figura 5.7. Circuit de anticoinciden: a) schema bloc; tabelul de funcionare;


b) simbolul.

Pentru ilustrare se va considera iniial un exemplu simplu: i anume gsirea structurii unui circuit de anticoinciden cu dou intrri (fig. 5.7 a) avnd tabelul de funcionare i simbolul reprezentate n figurile 5.7 b respectiv 5.7 c. Vom urmri sinteza circuitului n cele patru variante susmenionate. 1. Sinteza cu circuite I, SAU, NU. Se completeaz matricea Karnaugh corespunztoare funciei y, se minimizeaz scriind FDM a funciei dup care se deseneaz schema circuitului (vezi fig. 5.8 b)

Figura 5.8. Sinteza circuitului de anticoinciden cu pori I, SAU, NU. 2. Pentru a face sinteza cu circuite SAU, I, NU se scrie FCM a funciei i pe baza

Figura 5.9. Sinteza circuitului de anticoinciden cu pori SAU, I, NU acesteia se deseneaz schema circuitului (vezi fig. 5.9).

60

3. Pentru sinteza cu circuite I-NU se pleac de la FDM a funciei care se prelucreaz cu ajutorul formulei lui De Morgan astfel:

y = y = x1 x2 x1 x 2 = x1 x2 x1 x 2 (5.2) Aceast expresie permite desenarea schemei ca n figura 10. 4. Pentru a realiza o schem cu circuite SAU-NU se pleac de la FCM a funciei care se prelucreaz cu ajutorul formulei lui De Morgan astfel: y = (x1 x2 ) x1 x 2 = ( x1 x2 ) x1 x 2 (5.3) Plecnd de la expresia obinut se poate desena schema circuitului reprezentat n figura 5.11.

) (

) (

)( (

Figura 5.10. Sinteza circuitului de anticoinciden cu pori I-NU 5.4

Figura 5.11. Sinteza circuitului de anticoinciden cu pori SAU-NU

EXEMPLE DE CIRCUITE LOGICE COMBINAIONALE

5.4.1 Convertoare de cod Convertoarele de cod sunt CLC care permit trecerea dintr-un cod binar n altul. Din categoria acestor circuite sunt prezentate dou exemple. a) Convertoare de cod din codul binar natural n codul binar reflectat Se consider cazul unor cuvinte de cod de 4 bii: B3B2B1B0 la intrare i G3G2G1G0 la ieire. Tabelul de funcionare al circuitului mpreun cu matricea Karnaugh corespunztoare

Figura 5.12. Convertor de cod din binar natural n cod Gray: a)


tabelul de funcionare; b) matricele Karnaugh.

ieirilor este prezentat n figura 5.12.

61

Pe baza relaiilor deduse se poate desena schema circuitului de conversie (fig.5.13).

Figura 5.13 Schema convertoarelor: a) din binar natural n Gray; b) din


Gray n binar natural.

b) Convertor de cod din codul binar reflectat n codul binar natural n principiu s-ar putea urma algoritmul de la punctul anterior dar este mai simplu s gsim relaiile de transformare pe cale analitic. Pentru aceasta rescriem relaiile deduse din matricele Karnaugh reprezentate n fig. 5.12 i prin sumarea a dou, trei respectiv patru funcii Gi se obin relaiile de transformare dorite: G3 = B3 B3 = G3 G2 = B3 B2 G1 = B2 B1 B2 = G3 G2 B1 = G3 G2 G1 (5.3)

G0 = B1 B0 B0 = G3 G2 G1 G0 Pe baza relaiilor (5.1), se poate desena schema convertorului de cod (fig. 5.13 b). 5.4.2 Codificatoare Circuitele codificatoare sunt CLC la care activarea unei intrri conduce la apariia unui cuvnt de cod pe ieire. De exemplu n figura 5.14 este desenat schema unui circuit codificator cu patru ieiri.

Figura 5.14. Principiul de funcionare al codificatoarelor.

Dac se activeaz intrarea Ik (nivel de tensiune ridicat H), atunci pe ieirile paralele apare cuvntul de cod 1101, iar n cazul acionrii intrrii Ij apare cuvntul 1010, (Apare 1 pe ieirile acelor circuite SAU care sunt legate la intrarea activat). Urmeaz dou exemple de codificatoare numite i de adres deoarece ele furnizeaz la ieire adresa intrrii activate.

62

a) Codificatorul de adres simplu Exemplul ales reprezint un circuit cu apte intrri i trei ieiri (fig. 5.15, a). Pe baza tabelului de funcionare ntocmit (fig. 5.15 b) se pot deduce urmtoarele expresii ale semnalelor de ieire: A0 = I1 I 3 I 5 I 7 A1 = I 2 I 3 I 6 I 7 A2 = I 4 I 5 I 6 I 7 (5.4)

Figura 5.15 Codificator de adres simplu: a) schema bloc; b) tabelul de


funcionare; c) schema logic.

Relaiile (5.4) ne permit s desenm schema circuitului de codificare ca n fig. 5.15 c. Schema reprezentat n figura 5.15 are dezavantajul c atunci cnd se activeaz

Figura 5.16. Codificator prioritar: a) schema logic; b) Tabelul de funcionare; c) schema logic.

simultan mai multe intrri, adresa citit pe ieire este eronat. De exemplu, activarea simultan a liniilor de intrare I1 i I2 duce la apariia adresei A0=l, A1=l i A2=0, ceea ce ar corespunde intrrii I3, care de fapt nu a fost activat. n cazul n care nu se poate evita acionarea simultan a mai multor intrri se folosesc circuite de codare prioritare. 63

b) Codificatorul de adres prioritar Aceste circuite sunt astfel concepute nct n cazul acionrii simultane a mai multe intrri la ieire apare adresa intrrii cu prioritatea cea mai mare. De aceea fiecrei intrri i se atribuie o anumit prioritate care n exemplul de fa crete cu numrul de ordine al intrrii (intrarea 0 va fi cu prioritatea cea mai mic, iar intrarea 7 cu prioritatea cea mai mare). Schema bloc, tabelul de funcionare precum i schema logic a codificatorului prioritar sunt reprezentate n figurile 5.16 a,b respectiv c. Circuitul mai este prevzut i cu o intrare suplimentar EI (Enable Input) de .autorizare a funcionrii. Pentru EI = H , funcionarea circuitului este blocat prin nchiderea tuturor porilor I din schem (toate ieirile vor fi pe nivel H). ieirea GS devine activ (nivel L) atunci cnd cel puin una din intrri este activat. ieirea EO este activat atunci cnd toate intrrile de date sunt inactive. 5.4.3 Decodificatoare Se numesc circuite decodificatoare circuitele logice combinaionale care activeaz una sau mai multe ieiri n funcie de cuvntul de cod aplicat la intrare. Decodificarea este necesar n numeroase aplicaii cum sunt adresarea memoriilor, afiarea numeric, multiplexarea datelor etc. Din aceast categorie de circuite sunt prezentate n cele ce urmeaz trei exemple semnificative. a) Decodificatoare de adres Sunt circuite logice combinaionale, care activeaz linia de ieire a crei adres este prezent pe intrri. Avnd n vedere c numrul cuvintelor de cod distincte de n bii este 2n, rezult c un decodificator de adres cu n intrri va avea 2n ieiri distincte. n cele ce urmeaz vom da dou exemple din aceast categorie de circuite. 1. Decodificatorul cu n=2 intrri de adres i cu 2n=4 ieiri reprezentat n fig. 5.17 a mpreun cu tabelul su de funcionare (fig. 17 b). Pe baza tabelului de funcionare se pot alctui matricele de comand ale ieirilor (fig.

Figura 5.17.Deficodificator de adres cu 4 ieiri: a) schema bloc;


b) tabelul de funcionare; c) matricele Karnaugh; d) schema logic; e) matricea de referin.

5.17 c). Din matrice rezult expresiile booleene ale ieirilor, care permit ntocmirea schemei logice a decodificatorului. Cele patru matrice, n cazul exemplului prezentat, pot fi sintetizate ntr-una singur numit matrice de referin i reprezentat n figura 5.17e.

64

2. Decodificatorul cu n=3 intrri de adres i cu 2n=8 ieiri. Din examinarea diagramelor Karnaugh reprezentate n figura 16 c se observ c expresiile booleene ale ieirilor decodificatorului de adrese sunt de fapt constitueni ai unitii. Pe baza acestei observaii din examinarea tabelului de funcionare al decodificatorului de adres cu n=3 intrri (fig. 5.18 a) putem scrie expresiile funciilor de ieire, iar pe baza acestora putem s

Figura 5.18. Decodificator de adres cu opt ieiri a) tebelul de


funcionare; b) schema logic.

desenm schema logic a decodificatorului (fig. 5.18 b). b) Decodificator BCD - zecimal Decodificatoarele de adres sunt de fapt decodificatoare din codul binar natural n zecimal. n practic se ntlnesc frecvent situaii n care trebuie fcute decodificri dintr-un alt cod dect cel binar natural, de exemplu din coduri BCD (Zecimal Codat Binar). In cele ce urmeaz va fi examinat un astfel de decodificator din BCD (8-4-2-1) n zecimal. Tabelul de funcionare al decodificatorului este reprezentat n fig. 5.19 a iar schema lui logic n figura 5.19 b. Strile 1010, 1011, 1100, 1101, 1110 i 1111 nefiind incluse n codul BCD 8-4-2-1 sunt considerate false. Deoarece toate strile sunt decodificate explicit, datele false fixate eventual pe intrrile decodificatorului duc la stabilirea tuturor ieirilor n starea fals de 1 logic. Se spune c acest decodificator rejecteaz datele false de la intrare. Poate fi realizat un decodificator din BCD 8-4-2-1 n zecimal care s nu rejecteze datele false de la intrare. Schema logic a decodificatorului se poate deduce din minimizrile fcute pe matricea sa de referin (fig. 5.20 a).

65

Figura 5.19. Decodificator BCD - zecimal cu rejecia datelor false: a) tabelul de adevr; b) schema logic. Aa cum diagrama de referin din fig. 5.17 e corespunde la 4 diagrame Karnaugh explicite deduse din tabelul de funcionare a circuitului, diagrama de referin din figura 19 a trebuie neleas n sensul c ea reprezint de fapt zece diagrame Karnaugh explicite coninnd o singur unitate n dreptul celulei care indic numrul ieirilor zecimale. n aceste diagrame, spre deosebire de tabelul din figura 5.18 a, n dreptul celulelor corespunztoare strilor interzise se va nota starea X corespunznd unei stri nedeterminate (0 sau 1). Schema decodificatorului este reprezentat n figura 5.20 b. Din examinarea schemei din figura 5.20 b se constat c nerejectarea strilor interzise a determinat micorarea numrului de intrri ale porilor I-NU. Dezavantajul schemei este acela c nu rejecteaz datele false de la intrare. De exemplu, apariia la intrare a strii interzise 1111 va duce la activarea simultan a ieirilor 7 i 9. In numeroase aplicaii este necesar ca decodificarea strilor de intrare s apar numai pe anumite intervale de timp specificate (de exemplu n cazul citirii strilor numrtoarelor). Acest lucru se poate realiza prin introducerea unei intrri suplimentare, numit STROBE, pe toate porile I-NU ale decodificatorului (fig. 5.19 b). Cnd intrarea STROBE este activat (1 logic) se efectueaz decodificarea, n caz contrar (0 logic) porile I-NU vor fi nchise, 66

decodificarea inhibat, rejectnd n felul acesta orice dat care apare pe intrrile decodificatorului. O alt tehnic de strobare utilizeaz circuite basculante de tipul D - Latch comandate cu semnal de STROBE pe intrrile lor de tact (fig. 5.20). Un avantaj notabil al acestei metode de strobare este c ieirile decodificatorului sunt disponibile tot timpul. Dac decodificatorul n cauz comand un sistem de afiare, printr-o asemenea tehnic de strobare se evit o afiare intermitent.

Figura 5.20. Decodificator BCD - zecimal fr rejecia datelor false:


a) matricea de referin; b) schema logic.

Figura 5.21. Circuit de strobare a datelor de intrare folosind CBB de tip D - Latch.

c) Decodificator BCD - 7 segmente

67

Decodificatorul BCD 7 segmente este un circuit de decodificare utilizat la comanda sistemelor de afiare numerice realizate din apte segmente luminoase: becuri, diode electroluminiscente sau cristale lichide. Decodificatorul va fi un CLC cu patru intrri notate cu D, C, B, A i cu apte ieiri notate cu a, b, c, d, e, f, g (fig. 5.22 a). Tabelul de funcionare al decodificatorului este reprezentat n figura 5.22 b.

Figura 5.22. Decodificatorul BCD - 7 segmente: a) schema bloc; b) tabelul


de funcionare; c) dispunerea segmentelor.

Pe cele patru intrri ale circuitului se aplic cuvntul de cod (codul BCD) reprezentnd cifra zecimal ce urmeaz a fi afiat. Cele apte ieiri comand segmentele corespunztoare dispuse ca n figura 5.22 c. Cele apte segmente se consider iniial aprinse. Pentru a produce cifra zecimal dorit diferite elemente ale afiajului sunt stinse. Se recomand un asemenea sistem deoarece realizarea comenzilor necesit mai puine operaii logice dect dac toate elementele sistemului s-ar fi considerat stinse iniial. Pe baza tabelului din fig. 5.22 b se pot completa matricele de comand ale celor apte segmente (fig. 5.23).

Figura 5.23. Matricele Karnaugh ale decodificatorului.

68

Grupnd n mod convenabil zerourile din aceste matrice se obin expresiile logice care permit ntocmirea schemei logice a decodificatorului cu circuite I-SAU-NU. n cazul n care se cere ntocmirea unei scheme cu circuite I-NU, expresiile obinute vor fi prelucrate dup cum urmeaz:

( )( ) b = b = A B C A B C = (A B C ) (A B C )
a = a = A B C D AC = A B C D AC c = c = A B C

d = d = A B C A B C A B C = A B C ( A B C ) A B C e = e = A B C = A B C

) (

(5.5)

f = f = A D C B A B C = A D C (B A) B C

g = g = B D C B A C = B D C (A B C ) n figura 5.24 este reprezentat schema logic parial a decodorului.

Figura 5.24. Schema logic parial a decodificatorului BCD - 7 segmente.

5.4.4 Circuite de multiplexare (MUX) Circuitele de multiplexare sunt circuite logice combinaionale care permit trecerea datelor de la una din intrri spre o ieire unic. Selecia intrrii se face printr-un cuvnt de cod de selecie (adres).

69

a) Multiplexor cu dou intrri Acest circuit permite comutarea datelor de pe intrarea I0 (A=0) sau de pe intrarea I1 (A=l) spre borna de ieire Y. Tabelul de funcionare i schema circuitului sunt reprezentate n figura 5.25.

Figura 5.25. Multiplexor cu dou intrri: a) schema bloc; b) tabelul de


funcionare; c) schema logic

b) Multiplexor cu patru intrri Pentru adresarea celor patru intrri sunt necesari doi bii. Selecta-rea intrrii adresate se face similar ca la decodificatorul de adres (vezi fig. 5.17 d). Porile de intrare sunt prevzute cu o intrare suplimentar comun, cu ajutorul creia se autorizeaz sau nu funcionarea multiplexorului. Schema bloc, tabelul de funcionare precum i schema logic a circuitului sunt prezentate n figura 5.26 a, b respectiv c.

Figura 5.26. Multiplexor cu patru intrri: a) schema bloc ; b)


tabelul de funcionare; c) schema logic.

Circuite de demultiplexare (DEMUX) Circuitele de demultiplexare sunt circuite logice combinaionale care permit transmiterea datelor de pe o intrare de date comun pe una din ieirile selectate. Selectarea ieirii se face printr-un cuvnt de cod numit de adres. 70

5.4.5

a) Demultiplexor cu dou ieiri Un astfel de circuit permite comutarea fluxului de date de pe intrarea comun, fie pe ieirea Y0 (A=0) fie pe ieirea Y1 (A=l). Schema bloc, tabelul de funcionare precum i schema logic a circuitului sunt artate n figura 5.27a, b i c.

Figura 5.27. Demultiplexor cu dou ieiri: a) schema bloc; b)


tabelul de funcionare; c) schema logic.

b) Demultiplexor cu patru ieiri Circuitul permite comutarea fluxului de date de pe intrarea comun spre una din cele patru ieiri selectate. Schema bloc, tabelul de funcio-nare precum i schema logic a circuitului sunt reprezentate n figura 5.28 a, b i c.

Figura 5.28. Demultiplexor cu patru ieiri: a) schema bloc; b) tabelul de


funcionare; c) schema logic.

Examinnd schema logic a circuitului se constat c ea reprezint de fapt un decodor de adres similar celui din figura 5.17 d la care porilor I de ieire li s-a adugat o intrare suplimentar. Aceste intrri suplimentare legate mpreun formeaz intrarea comun de date. Comparatoare numerice Comparatoarele numerice sunt circuite logice care permit determinarea valorii relative a dou numere. Ele pot fi de un bit sau de mai muli bii. a) Comparatorul numeric de un bit 71 5.4.6

Acest circuit permite compararea a dou numere de cte un bit, indicnd la ieire situaiile de mai mare, egal sau mai mic. Schema bloc i tabelul de funcionare sunt reprezentate n figura 5.29 a i b.

Figura 5.29. Comparator de un bit: a) schema bloc; b) tabelul de


funcionare.

Circuitul de coinciden, care permite stabilirea egalitii celor dou numere poate fi realizat n mai multe variante. 0 variant posibil se obine dac se plaseaz la ieirea circuitului de anticoinciden din figura 8 un inversor (ceea ce este echivalent cu transformarea porii SAU de ieire n poart SAU-NU). Completnd aceast schem cu dou pori I pentru realizarea funciilor y1 i y2 se obine o variant a comparatorului numeric de un bit, aa cum este reprezentat n figura 30.

Figura 5.30. Schema logic a comparatorului numeric de un bit. b) Comparatoare numerice de mai muli bii Prin interconectarea a dou comparatoare numerice de cte un bit se poate realiza un comparator numeric de doi bii, aa cum este artat n figura 31. Cele dou numere de doi bii se scriu astfel: A = A0 2 0 + A1 21 (5.6) B = B0 2 0 + B1 21 Procesul de comparare ncepe cu compararea biilor cei mai semnificativi A1 cu B1. Dac avem A1>B1 sau A1<B1 acest lucru implic i faptul c A>B sau A<B indiferent de valoarea biilor A0 i B0. n schem acest lucru se materializeaz prin legarea ieirilor porilor P1 respectiv P2 direct la intrrile porilor P5 respectiv P6. Dac A1=B1, pentru determinarea relaiei dintre numerele A i B, se impune i examinarea biilor A0 i B0, situaie n care ieirea porii P8 asigur deschiderea porilor P3 i P4. Dac A0<B0 respectiv A0>B0 rezult c sunt valabile i relaiile A<B respectiv A>B, ceea ce se obine prin legarea ieirilor porilor P3, P4 la intrrile porilor P5 respectiv P6. n cazul n care pentru A1=B1 i A0=B0 rezult c cele dou numere sunt egale A=B i se activeaz ieirea porii P7.

72

Figura 5.31. Schema comparatorului numeric cu doi bii. Pe baza raionamentului de mai sus, prin interconectarea mai multor comparatoare de doi bii se pot realiza comparatoare numerice de mai muli bii. Un exemplu n acest sens l reprezint circuitul integrat SN 7485 care este un comparator numeric de patru bii cu posibiliti de expandare. n figura 5.32 a i b sunt reprezentate tabelul de funcionare, respectiv schema logic a comparatorului de patru bii. Pentru a putea compara dou numere cu mai muli bii, circuitul este prevzut cu borne de intrare pentru expandare notate A>B, A<B i A=B. Expandarea se realizeaz astfel: bornele de ieire ale unui etaj de patru bii A>B, A<B i A=B se leag la bornele de expandare A>B, A<B i A=B ale etajului urmtor de patru bii etc. Borna de expandare A=B a etajului care compar biii cei mai puin semnificativi trebuie s fie la nivel logic unu. n figura 5.33 este reprezentat schema unui comparator numeric de opt bii Figura 5.32. Comparatorul cu patru realizat cu dou circuite SN 7485. bii.

73

Figura 5.33. Comparatorul numeric de 8 bii. 5.4.7 Detectorul i generatorul de paritate n procesul transmiterii informaiilor numerice pot aprea erori. 0 metod simpl de detectare a acestora const n utilizarea codurilor detectoare de erori (cu verificare la paritate sau imparitate). Aceste co-duri se bazeaz pe faptul ca la emisie se formeaz un nou cuvnt de cod prin adugarea unui bit suplimentar la cei existeni, astfel nct numrul de l" din cuvntul nou format s fie par (sau impar). La recepie se verific paritatea sau imparitatea numrului de l" din cuvntul recepionat. In funcie de rezultatul verificrii se decide asupra corectitudinii cuvntului recepionat. Operaiile susmenionate se realizeaz cu CLC numite generatoare i detectoare de paritate. Detectorul elementar de paritate (pentru cuvinte de doi bii) este circuitul de anticoinciden (sumatorul modulo doi) (fig. 5.7). Cu patru sumatoare modulo doi se poate realiza schema unui generator sau detector de paritate (imparitate) pentru cuvinte de patru bii artat n figura 34.

Figura 5.34. Generator detector de paritate de 4 bii. Din figura 5.34 a observm c sumatorul modulo doi S1 verific paritatea biilor A0 i A1, iar S2 paritatea biilor A0 i A1. Rezultatul acestor verificri este la rndul lui verificat de S3 pe ieirea Y3 a acestuia apare nivel logic 1 dac cuvntul A0A1A2A3 are un numr impar de uniti i nivel logic 0 n caz contrar. Introducerea circuitului S4 n schem mpreun cu comanda P asigur pe ieirea Y4 nivel logic 1 sau 0 n funcie de numrul unitilor din cuvntul de cod i de comanda P aplicat dup cum urmeaz: - pentru P=0 avem Y4=Y3 i circuitul este un generator de paritate (pe ieirea Y4 apare nivel logic 1 dac numrul unitilor din cuvntul de la intrare este impar) - pentru P=l avem Y4 = Y 3 i circuitul este un generator de imparitate (pe ieirea Y4 apare nivel logic 1 cnd numrul de uniti din cuvntul de la intrare este par). Utilizarea circuitului ntr-o schem de transmisie este artat n figura 5.35. Din figura 5.35 se mai observ c la emisie la cei trei bii informaionali se adaug bitul de paritate formnd cuvntul de cod transmis. Circuitul din figura 5.34 lucreaz aici ca generator de paritate.

74

La punctul de recepie cei patru bii ai cuvntului recepionat sunt introdui n acelai circuit reprezentat n figura 5.34 care de aceast dat funcioneaz ca un detector de paritate, validnd sau nu prin bitul su de paritate recepionarea cuvntului de cod.

Figura 5.35. Lan de transmisie cu verificare la paritate. Pentru cazul unor cuvinte de mai muli bii se poate utiliza circuitul integrat specializat SN 7418 care este de fapt un generator, detector de paritate (imparitate) de 8 bii cu posibiliti de expandare. Schema circuitului este reprezentat n figura 5.36. Circuitul este prevzut cu intrrile P (par) i 1 (impar) care permit funcionarea ca

Figura 5.36. Generator - detector de paritate de 8 bii. generator (detector) de paritate sau imparitate. Corespunztor celor dou funcii, circuitul este prevzut cu dou ieiri YP i YI. Prin interconectarea mai multor circuite SN 74180 se pot realiza generatoare (detectoare) de paritate (imparitate) cu un numr arbitrar de bii.

Figura 5.37. Generator - detector de paritate de 16 bii. n figura 5.37 este artat schema de interconectare pentru un generator (detector) de paritate de 16 bii. 5.4.8 Arii logice programabile Circuitele logice combinaionale care intervin frecvent n numeroase aplicaii, se fabric sub form integrat cum sunt de exemplu decodoarele de adres, decodoare BCD zecimal, multiplexoarele i demultiplexoarele etc.

75

In situaiile n care o anumit aplicaie necesit un CLC care nu se fabric sub form integrat, acesta va trebui realizat practic cu circuitele integrate existente. 0 asemenea soluie n cazul unor CLC mai complexe necesit multe circuite integrate cu numeroase conexiuni ntre ele, ceea ce duce la ocuparea unui spaiu mare pe cablaj i la scderea fiabilitii globale a montajului. n asemenea situaii sunt foarte utile ariile logice programabile, care conin ntr-o singur capsul de circuit integrat numeroase pori logice interconectabile, astfel nct s se poat realiza practic o gam extrem de variat de CLC. Idea de baz a circuitului este aceea c n punctele de conexiune interne sunt plasate fuzibile, care n procesul de programare pot fi arse sau nu rezultnd n felul acesta schema dorit. n figura 5.38 este reprezentat schema unei astfel de arii logice programabile. Pe schem s-au notat prin 0 legturile de tip fuzibil. Circuitul este livrat de ctre fabricant cu toate aceste fuzibile intacte. El este astfel conceput, nct n procesul de programare utilizatorul s aib posibilitatea s ard oricare fuzibil. Semnalul de intrare Ik este aplicat unui buffer avnd rolul de a asigura curentul

Figura 5.38. Schema logic a unei arii logice programabile. necesar bunei funcionri a porilor logice crora li se aplic semnalul. Porile logice I sunt legate prin fuzibil la ieirile directe i negate ale tuturor bufferelor de intrare. Practic, n urma programrii, un circuit I va fi legat fie la ieirea direct fie la cea negat a unui buffer de intrare. Rezult c numrul de intrri ale circuitului I va fi cel mult egal cu numrul intrrilor n aria Logic programabil. O poart logic I realizeaz funcia uk (constituent al unitii): i i u k = x0 0 x i1 1...xn1 n 1 (5.7) Circuitele SAU conectabile la toate ieirile circuitelor de tip I permit obinerea formei disjunctive canonice a unei funcii booleene

76

y j = uk
k =1

(5.8)

Dac m<K, nseamn c mai rmn pori I disponibile cu care se vor putea modela alte funcii. Numrul maxim de funcii ce pot fi modelate este dictat de numrul M al circuitelor SAU. Sumatoarele modulo doi de la ieire permit obinerea funciei sau a inversei acesteia (au rolul de inversor programabil). La ieire, circuitul este prevzut cu buffere cu trei stri controlate de o born comun CE (Chip Enable) ceea ce permite conectarea circuitului la magistrale. Circuitul este extrem de flexibil. Printr-o folosire raional a intrrilor i ieirilor unui circuit integrat, se pot modela chiar mai multe CLC. Dac se aleg n mod convenabil intrrile (xk sau ) i se folosete posibilitatea de inversare a funciilor de la ieire se poate realiza CLC n diverse variante, cum sunt: cu circuite I-SAU-NU, cu circuite SAU-I-NU. etc. n figura 5.39 este reprezentat schema detaliat a unei arii logice programabile.

Figura 5.39. Schema n detaliu a ariei logice programabile. Circuitele I din schem sunt realizate cu diode i rezisten, iar circuitele SAU cu tranzistoare cu o rezisten comun n emitor. Pentru exemplificare s ne propunem realizarea unui CLC cu trei intrri i dou ieiri a crui funcionare s fie descris de urmtoarele funcii logice

77

(5.9) y 2 = x1 x 3 x 1 x 2 x3 Schema circuitului realizat pe o arie logic programabil este reprezentat n fig.5.40. Pentru realizarea circuitului s-au folosit trei intrri, cinci circuite I i dou circuite SAU.

y1 = x 1 x 2 x 2 x3 x1 x 2 x 3

Figura 5.40. Exemplu de realizare a unui CLC cu o arie logic programabil. Ca un dezavantaj al acestor arii logice programabile menionm faptul c ele nu se pot reprograma, odat programat aria coninutul acesteia nu se mai poate modifica.

78

6
6.1

CIRCUITE BASCULANTE BISTABILE (CBB)

GENERALITI

Se numesc circuite basculante bistabile (prescurtat CBB sau bistabil), circuitele care au dou stri stabile, trecerea dintr-o stare n cealalt fcndu-se numai la aplicarea unei comenzi din exterior. Caracteristica lor principal este c ele au memorie. Aceasta nseamn c, din examinarea semnalelor de ieire, se poate deduce ultima comand primit de circuit. Datorit proprietilor lor susmenionate, i gsesc numeroase aplicaii cum ar fi de exemplu: realizarea numrtoarelor, a registrelor, a memoriilor RAM etc. Se disting urmtoarele tipuri de circuite bistabile: - S-R; - J-K; - D. Dup natura funcionrii lor ele se mpart n circuite asincrone i sincrone. n cele ce urmeaz vom analiza n detaliu funcionarea acestor circuite. 6.2 CBB DE TIP S-R

6.2.1 CBB de tip S-R asincron Un asemenea circuit are dou intrri de comand (intrri de date) notate cu: S (de la SET) i R (de la RESET) i dou ieiri Q i Q. Notaia folosit pentru ieiri indic faptul c ieirile circuitului sunt complementare. Intrarea S se va folosi pentru a nscrie informaia n circuit, pe cnd intrarea R pentru a terge informaia din circuit. n mod uzual informaia se asociaz, n mod convenional, cu cifra binar 1. (Desigur este posibil i situaia invers). Cu aceeai cifr se va asocia i comanda activ aplicat la intrare. Aceast asociere este sugerat de modul tradiional de gndire al omului, care n cazul a dou semnale Figura 6.1. Tabelul de adevr al CBB asincron.

notate cu 0 respectiv 1 face mai degrab asocierea susmenionat. Aa cum se va observa pe parcurs, n cazul general ambele simboluri 0 respectiv 1 sunt purttoare de informaie i pot fi i comenzi active. Aceast observaie servete la prezentarea tabelului de adevr asociat circuitului a crui structur urmeaz s fie stabilit (fig. 6.1). Circuitul va trebui s funcioneze astfel: - n lipsa unor comenzi pe intrri (Sn=0, Rn=0), starea circuitului s nu se schimbe (Qn+1=Qn). Spunem c n acest caz circuitul memoreaz starea sa anterioar; - S existe posibilitatea de a nscrie informaia n circuit. Comenzile aplicate vor fi: Sn=1, Rn=0 iar pe ieire apare starea Qn+1=1; - S se poat terge informaia nmagazinat n circuit cu comenzile Sn=0, Rn=1. n acest caz pe ieire apare starea Qn+1=0. 79

Din punct de vedere logic nu are sens s se fac simultan nscrierea i tergerea informaiei, motiv pentru care comanda Sn=1, Rn=1 va fi o comand interzis. Rezult de aici condiia de bun funcionare a circuitului: S n Rn = 0 . Pentru a face sinteza circuitului se va considera drept semnal de ieire Qn+1, adic starea circuitului la momentul tn+1 Din tabelul de adevr prezentat n figura 6.1 se observ c acest semnal depinde att de comenzile primite la momentul tn (Sn i Rn) ct i de starea anterioar a circuitului (Qn). Rescriind tabelul de adevr i considernd Qn+1 ca o funcie boolean de trei variabile, se obine tabelul de adevr echivalent prezentat n figura. 6.2.

Figura 6.2. Tabelul de adevr al CBB de tip S-R asincron. Dac n diagramele Karnaugh din figura 2 se grupeaz n mod convenabil zerourile, rezult urmtoarea FCC a funciilor Qn+1 i Q n+1 . (6.1) Q n +1 = S Q Rn Schema bistabilului realizabil cu pori SAU-NU rezult n urma unei prelucrri simple a expresiilor de mai sus:
Qn +1 = R n (S n Qn )

Qn+1 = Q n+1 = R n (S n Qn ) = Rn S n Qn

Q n+1 = Q n+1 = S n Q n Rn = S n n n Pe baza expresiilor 6.2 i 6.3 se poate desena schema circuitului (fig. 6.3).

( (Q

) R )

(6.2) (6.3)

Figura 6.3. Schema unui CBB de tip S-R realizat cu pori SAU-NU.

Grupnd unitile din diagrama Karnaugh din figura 6.2 va rezulta FDC a funciilor: Qn +1 = S n Qn R n (6.4) Q n +1 = Rn Q n S n Expresiile 4, n urma unor prelucrri similare cu cazul precedent, pot fi puse sub o form care s ne permit desenarea schemei bistabilului cu pori I-NU.

Qn+1 = Q n+ 1 = S n Qn R n = S n Qn R n Q n+1 = Q n+1 = Rn Q n S n = R n


n

( (Q

Sn

) )

(6.5) (6.6)

80

Pe baza expresiilor (6.5) i (6.6) rezult schema din figura 6.4. Cele dou scheme prezentate n figurile 6.3 i 6.4 difer doar prin notarea intrrilor de date, care n cazul circuitului din figura 6.3 sunt de tipul Active High, iar n cazul circuitului din figura 6.4 sunt de tipul Active Low. n cele ce urmeaz se va analiza funcionarea circuitului din figura 6.3 pentru toate cele patru combinaii de comenzi aplicate pe intrri. nainte de a trece la analiza propriuzis se va reaminti funcionarea porii SAU-NU (fig. 6.5).

Figura 6.4. Schema unui CBB de tip S-R realizat cu pori I-NU

Figura 6.5. Funcionarea porii SAU-NU

1. Cazul Sn=0, Rn=0. Intrrile de comand ale porilor P1 i P2 fiind n zero logic, ieirile acestora vor fi dictate de celelalte intrri astfel: dac notm cu Q semnalul de ieire al porii P1 pe ieirea porii P2 apare n mod obligatoriu semnalul Q . n concluzie ieirile circuitului sunt complementare. Pentru valoarea Q=0, rezult c ieirea porii P2 va fi 1 logic, adic Q = 1 . Pentru Q=1, va rezulta Q = 1 . n concluzie, circuitul nu poate avea dect dou stri: Q=0, Q = 1 i Q=1, Q = 0 . Dac la intrare comenzile rmn neschimbate Sn=0, Rn=0, circuitul va sta ntr-una din aceste stri timp ct nu se schimb comenzile de la intrare. Se consider deci c starea bistabilului este caracterizat de ieirea Q a acestuia (fig. 6.6). Figura 6.6. Strile bistabilului: a) starea zero; b) starea
unu.

2. Cazul Sn=1, Rn=0. n acest caz poarta P2 este blocat pe Q = 0 , iar poarta P1 este deschis. ieirea porii P1 este determinat de cealalt intrare Q = 0 , i deci Q=1. n concluzie, pentru aceast comand a rezultat o unic stare la ieire. Dac comanda Sn=1, Rn=0 a fost dat la momentul tn i la un moment ulterior tn+1 se revine la comanda Sn=0, Rn=0 (dispare comanda de pe intrarea S), starea circuitului nu se va modifica (poarta P2 va rmne blocat datorit intrrii Q=1 i deci intrarea S nu va mai avea efect asupra strii circuitului). Din acest exemplu rezult c circuitul are memorie, n sensul c din starea sa la momentul tn+1 putem deduce faptul c ultima comand aplicat circuitului a fost Sn=1, Rn=0 (fig. 6.7). 3. Cazul Sn=0, Rn=1. n acest caz funcionarea circuitului este similar cu funcionarea din cazul precedent, rezultnd la ieire o unic stare Q=0, Q = 1 . Ieirea Q = 1 blocheaz poarta P1 i n consecin modificrile semnalului Rn nu pot influena starea circuitului (fig. 6.8). 4. Cazul Sn=1, Rn=1. Pentru aceast comand porile P1, P2 se blocheaz, iar ieirile devin Q=0, Q = 0 Cele dou ieiri ne mai fiind complementare, rezult c circuitul i 81

pierde caracterul de circuit cu dou stri. Dac comanda Sn=1, Rn=1 s-a dat n momentul tn Figura 6.7. Diagramele temporale ce Figura 6.8. Diagramele temporale ce prezint funcionarea pentru ce prezint funcionarea pentru comanda Sn=1, Rn=0 comanda Sn=0, Rn=1. i la un moment de timp ulterior tn+1 se anuleaz aceast comand Sn+1=0, Rn+1==0, apare o ambiguitate asupra strii n care va rmne circuitul, deoarece practic este imposibil ca cele dou semnale de comand Sn, Rn s comute simultan. Practic, trecerea de la comanda Sn=1, Rn=1 la comanda Sn+1=0, Rn+1=0 se va face fie prin starea intermediar S'n=1, R'n=0 (semnalul de pe intrarea R a comutat naintea celui de pe S), fie prin starea intermediar S''n=0, R''n=1 (semnalul de pe intrarea S a comutat naintea celui de pe intrarea R). (fig.6.9). n primul caz, starea circuitului la momentul tn+1 va fi Qn+1=1, iar n cel de-al doilea caz Qn+1=0.

Figura 6.9. Diagramele temporale ce prezint funcionarea pentru comanda Sn=1, Rn=1. Deoarece practic este imposibil de prevzut care din situaiile intermediare va apare n urma anulrii comenzii Sn=1, Rn=1, nseamn c dup o astfel de comand se pierde controlul asupra bistabilului, motiv pentru care aceast comand a i fost exclus din tabelul de adevr al bistabilului. Pentru evitarea nedeterminrilor ce pot apare n urma unor comenzi Sn=1, Rn=1 exist dou soluii: - s se utilizeze circuitul n acele aplicaii n care asemenea comenzi nu apar; - modificarea schemei circuitului astfel ca acesta s aib o evoluie cunoscut i dup o astfel de comand. Examinnd ce posibiliti ofer cea de-a doua variant, se constat c exist numai patru posibiliti de ridicare a nedeterminrii, i anume: Qn+1=Qn; Qn+1=0; Qn+1=l; Qn+1= Q n . Primele trei nu sunt interesante, deoarece ele nseamn dedublarea unor situaii deja existente n tabel. Ultima variant ar completa tabelul de adevr cu o situaie inexistent n tabelul iniial, i anume: n urma comenzii Sn=1, Rn=1 circuitul s treac n starea opus aceleia n care se afla. Pentru a obine aceast

82

evoluie a circuitului, schema CBB de tip S-R a fost completat cu dou pori I comandate cu semnalele Q i Q aa cum se prezint n figura 6.10. Figura 6.10. Transformarea bistabilului S-R n bistabil J-K.

Intrrile de comand ale circuitului se noteaz cu J respectiv K. Funcionarea se poate nelege uor dac se urmresc comenzile: S ' = J Q i R ' = K Q . Avnd n vedere caracterul complementar al ieirilor, S 'R ' = J K Q Q = 0 i deci bistabilul de baz nu va fi niciodat n starea de nedeterminare, indiferent de natura comenzilor de pe intrrile J i K. De exemplu, atunci cnd Jn=1, Kn=1 rezult S ' = J n Q n = Q n , Rn ' = K n Qn = Qn i circuitul va trece n starea Qn+1 = Q n Schema din figura 10 este de fapt schema unui nou tip de bistabil i anume bistabilul de tipul J-K care va fi prezentat n detaliu ulterior. Aplicaie tipic. Circuitul basculant bistabil de tip S-R se poate utiliza la eliminarea oscilaiilor ce apar la contacte mecanice, aa cum este ilustrat acest lucru n figura 6.11.

Figura 6.11. Exemplu de utilizare a bistabilului S-R asincron la eliminarea oscilaiilor unui contact 6.2.2 CBB de tip S-R sincron Pentru a justifica necesitatea unor comenzi sincrone este necesar s se examineze circuitul din figura 6.12.

Figura 6.12. Funcionarea bistabilului S-R asincron cu comand aplicat pe intrarea S de la ieirea unei pori I

83

Se constat astfel c semnalul de comand care se aplic pe borna S a CBB este: S=AB. S considerm c exist urmtoarea situaie Qn=0, Rn=0, An=1, Bn=0 i deci Sn=0 i c n funcionarea normal a circuitului trebuie s apar o schimbare a strilor intrrilor A i B care ns s nu influeneze starea bistabilului. Trecerea din starea An=1, Bn=0 n starea An+1=0, Bn+1=1 se poate face fie prin comutarea semnalului de pe intrarea An naintea celui de pe intrarea Bn (fig. 6.12 b), fie prin comutarea Bn naintea celui de pe intrarea An (fig. 6.12 c). n primul caz starea bistabilului nu se modific Qn+1=Qn=0, pe cnd cel de-al doilea caz, datorit faptului c semnalul An a comutat n urma semnalului de pe Bn pe intrarea S a bistabilului apare un impuls parazit care l trece n starea Qn+1=1. Aceast schimbare, nedorit, a strii bistabilului poate avea implicaii greu previzibile asupra funcionrii ansamblului din care face parte. Cum n practic este greu de controlat succesiunea tranziiilor, este necesar s existe un circuit care s execute comenzile numai dup ce acestea s-au stabilizat la valorile lor corecte, evitndu-se astfel executarea unor comenzi greite datorate impulsurilor parazite ce pot s apar n timpul tranziiilor. Un astfel de circuit este CBB de tip S-R sincron. Un CBB de tip sincron va avea dou (una) intrri de date, o intrare de tact i dou ieiri. Informaia se transmite spre bistabilul propriu-zis numai la sosirea impulsului de tact (fig. 6.13 a i 6.13 b).

Figura 6.13. CBB de tip S-R sincron: a) cu pori SAU-NU; b) cu pori INU; c) i d) tabelele de adevr pentru circuitele de la punctele a i b; e) i f) tabelele de adevr pentru intrrile asincron ale circuitelor de la punctele a i b. Pe durata ct porile de intrare sunt deschise, circuitul funcioneaz asincron. Pentru caracterizarea acestei situaii se poate introduce noiunea de transparen n raport cu intrrile de date. De exemplu, pentru bistabilul din figura 6.13 b pentru T=1, orice modificri ale intrrilor de date se reproduc la ieire, momentele de tranziie fiind determinate numai de modificrile intrrilor. Pentru asigurarea funcionrii sincrone trebuie evitate schimbrile intrrilor de date pe durata ct porile de intrare sunt deschise. Comenzile ntr-un asemenea circuit se vor executa n ritmul impulsurilor de tact. La fiecare impuls se execut cte un pas n procesul prelucrrii informaiei, ceea ce justific denumirea de impulsuri de ceas (fig. 6.14).

84

Figura 6.14. Diagramele de funcionare a circuitului S-R sincron. n afara intrrilor sincrone la aceste bistabile se introduc i una sau dou intrri asincrone. Aceste intrri servesc la aducerea la 0 a bistabilului (Rd respectiv R d ), sau la aducerea lui n starea 1 (Sd respectiv S d ). Apariia unor comenzi pe aceste intrri se execut independent de prezena tactului. Din acest motiv, intrrile acestea pot fi considerate prioritare n raport cu celelalte. Toate bistabilele sincrone sunt prevzute cu intrare de aducere la zero (numit Reset), unele din ele au i o intrare, de aducere n starea 1 a bistabilului (aceast intrare se numete Preset). 6.2.3 CBB de tip S-R Master-Slave S-a artat anterior c un CBB de tipul S-R sincron execut comanda aplicat pe intrrile S, R n momentul n care porile de intrare sunt deschise de ctre impulsul de tact. Acest mod de funcionare prezint ns dezavantaje n anumite aplicaii. Pentru a ilustra aceast afirmaie s presupunem c ntr-o aplicaie oarecare avem nevoie de un circuit care s funcioneze astfel: la primul impuls de tact informaia s se nscrie n prima celul, la al doilea impuls de tact informaia s treac din prima celul n cea de a doua, concomitent cu nscrierea unei noi informaii n prima celul etc. Un astfel de circuit (registru de deplasare), s-ar prea c poate fi realizat prin conectarea n cascad al unor CBB de tip S-R sincrone (fig. 6.15).

Figura 6.15. Schema bloc a registrului de deplasare realizat cu CBB S-R. Pentru a putea realiza funcionarea schemei o vom redesena n detaliu (fig. 6.16a). La apariia primului impuls de tact porile P1, P2, P3, P4, P5, i P6 se vor deschide. Informaia I1=1 prezent pe intrrile S1, R1 ale primei celule (S1=1, R1=0) se va nscrie n aceasta. Intervalul de timp care trece de la aplicarea comenzii unui CBB pn la apariia strii corecte pe ieire se numete timp de propagare i l vom nota cu tpd. nseamn c nscrierea informaiei I1=1 n celula unu se va face cu o ntrziere tpd (vezi fig.6.16 b). Dac ntre timp impulsul de tact nu s-a modificat, semnalul de ieire al primului bistabil va aciona ca un semnal de intrare pentru cel de-al doilea i dup un nou interval de timp egal cu tpd i pe ieirea celui de-al doilea bistabil apare informaia I1=1 (Q2=1).

85

Figura 6.16. a) Schema logic a registrului; b) Diagrame care ilustreaz funcionarea regidtrului. n cazul c impulsul de tact rmne n continuare n starea 1, aa cum rezult din fig.16.6 b, dup un nou interval de timp tpd i pe ieirea celulei a treia se obine aceeai informaie I1=1 (Q3=l). n concluzie, dup primul impuls de tact informaia I1 este nscris n toate cele trei celule, ceea ce nu corespunde funcionrii dorite iniial. Pentru remedierea situaiei exist urmtoarele posibiliti: 1. S se micoreze durata impulsului de tact la valori comparabile cu timpul tpd pentru a elimina propagarea informaiei de la o celul la alta. Aceast soluie nu este practic acceptabil, deoarece nu conduce la circuite cu funcionare sigur. 2. S se modifice schema bistabilului de baz astfel nct noul tip de bistabil s nu prezinte neajunsul semnalat anterior. n schemele practice s-a adoptat cea de a doua variant. Pentru a vedea ce modificri trebuie aduse celulei S-R sincrone pentru a obine o celul binar de tip S-R cu o funcionare sigur n astfel de aplicaii revenim la analiza funcionrii schemei din figura 16. n esen schema din figura 16 nu a funcionat corect deoarece pe durata tactului (Tact=1) porile de intrare ale bistabilelor, P1, P2, P3, P4, P5 i P6 au fost deschise i informaia nscris iniial n prima celul are posibilitatea de a se propaga din celul n celul. Practic, ct timp avem Tact=1 toate bistabilele sunt transparente. Pentru a elimina acest neajuns, celula de baz trebuie s funcioneze astfel: informaia s se nscrie n celul la apariia impulsului de tact, dar s apar la ieirea celulei dup dispariia acestuia, cnd porile de intrare sunt deja nchise. n acest fel se va elimina propagarea n cascad, de la o celul la alta a informaiei. Acest circuit se numete circuit basculant bistabil de tip S-R Master-Slave (Stpnsclav) i are schema din figura 6.17 a. Schema s-a obinut din conectarea n cascad a dou CBB de tipul S-R sincrone comandate n antifaz. n structura circuitului deosebim urmtoarele elemente: - porile de intrare P1, P22; - CBB Master; 86

- porile de transfer P3, P4; - CBB Slave. Intrarea de tact s-a notat cu CK , sugernd n felul acesta c informaia apare pe ieirea bistabilului pe frontul posterior al impulsului de tact (fig. 6.17 b).

Figura 6.17. CBB S-R Master-Slave: a) schema logic; b) notaia folosit; c) diagrama pentru ilustrarea funcionrii; d) indicarea timpilor de pregtire i meninere; e) tabelul de adevr al circuitului. Funcionarea circuitului pe o perioad a impulsului de tact (fig. 6.17 c) este urmtoarea: 1. Pe poriunea 12, porile de intrare P1 P2 nc nu s-au deschis, iar porile de transfer P3, P4 s-au blocat. n felul acesta bistabilul Master este izolat de intrare, iar bistabilul Slave este izolat de Master. 2. Pe poriunea 23 a impulsului de tact, porile de intrare P1, P2 sunt deschise permind accesul informaiei n bistabilul Master. Porile de transfer P3, P4 sunt nchise i n consecin bistabilul Slave este izolat de Master. Deci, n timp ce informaia nou are acces n Master cea veche se pstreaz n bistabilul Slave. 3. Pe poriunea 34 porile de intrare P1, P2, se nchid, iar porile de transfer P3, P4 nu s-au deschis nc. n aceast situaie bistabilul Master este izolat de intrare, iar bistabilul Slave este izolat de Master. 4. Pe poriunea 45 a impulsului de tact, porile de intrare P1, P2 rmn blocate, nepermind accesul unor informaii noi n Master. Porile de transfer P3, P4 se deschid, ceea ce face ca informaia nou s treac din Master n Slave, i deci, s apar la ieire. Din analiza funcionrii rezult c bistabilul de tip Master-Slave elimin posibilitatea apariiei unor tranziii asincrone la ieire, deoarece a eliminat transparena intrrilor de date. Pentru ca informaia s se nscrie fr erori trebuie ca intrrile de date s nu-i modifice valoarea ntr-un interval de timp n jurul poriunii 34 a impulsului de tact (vezi fig. 6.17 d). Intervalele de timp se definesc ca fiind: ts= timp de pregtire (SET UP TIME) i tH= timp de meninere (HOLD TIME).

87

Dac revenim asupra exemplului de circuit prezentat la nceputul paragrafului n fig.6.15 i nlocuim celulele binare S-R sincrone cu celule de tipul S-R Master-Slave, schema astfel obinut (fig.18) va funciona aa cum s-a propus iniial.

Figura 6.18. Schema registrului realizat cu CBB de tip S-R MasterSlave i diagramele care descriu funcionarea acestuia.

Figura 6.19. Intrrile asincrone: a) comanda asincron a bistabililor Master-Slave; b) comanda asincron a bistabilului Slave. Un ultim aspect ce trebuie examinat la CBB de tip S-R Master-Slave este problema intrrilor asincrone. Dac asemenea intrri sunt necesare, ele trebuie conectate att la CBB Master ct i la CBB Slave pentru forarea bistabilului ntr-o anumit stare independent de impulsul de tact (fig. 6.19 a). Se poate verifica pe schem c atunci cnd ambele intrri S d sunt n starea S d = 1 i intrrile R d n starea R d = 0 rezult Q=QM=0. n aceast situaie strile celor dou bistabile sunt independente att de intrrile S, R ct i de valoarea impulsului de tact.

88

Pentru cazul n care pe ambele intrri asincrone aplicm comanda S d = 0, R d = 1 rezult Q=QM=1 indiferent de starea intrrilor de date i de tact. Comanda S d = 1, R d = 1 nu influeneaz funcionarea normal a circuitului, iar comanda S d = 0, R d = 0 este o comand interzis. La unele tipuri de CBB de tip Master-Slave intrrile asincrone sunt legate numai la bistabilul Slave, permind doar forarea strii acestuia (fig. 6.19 b). n astfel de situaii se va ine cont de faptul c prima tranziie 10 a impulsului de tact (dup ce intrrile S d i R d au devenit inactive), determin trecerea informaiei din Master n Slave. 6.3 CBB DE TIP J-K

6.3.1 CBB de tip J-K asincron Acest tip de bistabil se obine din CBB de tip S-R asincron prin eliminarea strii de nedeterminare. Tabelul de adevr al circuitului este prezentat n figura 6.20 a.

Figura 6.20. CBB de tip J-K asincron: a) i b) tabele de funcionare; c)


matrice Karnaugh; d) schema logic.

Tabelul din figura 6.20 a se poate rescrie sub forma din figura 6.20 b pe baza creia putem desena diagrama Karnaugh corespunztoare funciei Qn+1 (fig. 6.20 c). Dac grupm n mod convenabil unitile din diagrama Karnaugh obinem FDC a funciilor Qn+1 i Q n+1 :
Qn +1 = J n Q n Qn K n Q n +1 = J n Q n K n Qn Dup unele transformri se obin urmtoarele expresii echivalente:

(6.7)

Qn+1 = K n Qn J n Q n Qn

Q n+1 = J n Q n n Qn n Pe baza relaiilor (6.8) se poate desena schema circuitului realizat cu pori SAU-NU i cu pori I (fig. 6.20 d).

( (K

) Q )

(6.8)

89

6.3.2 CBB de tip J-K sincron Schema acestui circuit se obine din cea precedent, prin introduce--ea unei borne de tact, care s controleze porile de intrare (fig. 6.21 a).

Figura 6.21. CBB de tip J-K sincron: a) schema logic; b) tabelul de adevr. Tabelul de adevr al circuitului este reprezentat n figura 6.21 b. Este indicat s fie examinat mai n detaliu situaia Jn=Kn=1. Se presupune c exist starea Q=1, caz n care, cele dou ieiri Q i Q asigur deschiderea porii P1 i blocarea porii P2. Atta timp ct CK=0 semnalele S' i R' vor fi n zero logic (S'=R'=0). Dac pe borna de tact (CK) semnalul trece din 0 n 1, pe ieirea porii P1 se va obine semnalul R'=1, iar pe ieirea porii P2 semnalul S'=0, ceea ce determin trecerea circuitului n starea Q=0. 0 dat cu trecerea circuitului n aceast stare, poarta P1 se va bloca i poarta P2 se va deschide. Dac ntre timp impulsul de tact nu a disprut (CK=1) pe ieirea porilor apar urmtoarele semnale: R'=0 i S'=1. Aceast comand va determina trecerea circuitului n starea Q=1 .a.m.d. n concluzie, pe durata tactului (CK=1) i cu comanda Jn=Kn=1, circuitul trece singur dintr-o stare n alta (oscileaz). Aceeai observaie rmne valabil i pentru circuitul J-K asincron din figura 6.20 d. 6.3.3 CBB de tip J-K Master-Slave Exist mai multe posibiliti de realizare a circuitului bistabil J-K Master-Slave. Schema din figura 6.22 a s-a obinut din CBB de tip S-R Master-Slave la care s-au adugat dou legturi de reacie de la ieire la porile de intrare P1, P2.

Figura 6.22. CBB de tip J-K Master-Slave: a) schema logic; b)


simbolul circuitului; c) tabelul de adevr.

Simbolul circuitului precum i tabelul lui de adevr sunt prezentate n figurile 6.22 b respectiv c. Funcionarea circuitului este urmtoarea: 1. Pentru Jn=Kn=0 porile P1, P2, sunt blocate i starea circuitului nu se schimb.

90

2. Pentru Jn=1, Kn=0, la apariia impulsului de tact CK = 1 pe ieirile porilor P1, P2 n funcie de starea circuitului vom avea comenzile: - pentru cazul Qn=0, Q n = 1 rezult S = 0, R = 1 . Pentru aceste comenzi bistabilul Master trece n starea Q'=1, Q ' = 0 , stare ce se transfer n bistabilul Slave, deci la ieire, pe frontul descresctor al impulsului de tact; - pentru cazul Q n = 1, Q = 0 rezult S = 1, R = 1 , comenzi ce nu modific starea bistabilului Master Q ' = 1, Q ' = 0 , deci nici a ieirii. n concluzie, pentru comanda Jn=1, Kn=0 la ieire rezult o stare unic Q n1 = 1 , indiferent de starea anterioar a circuitului. 3. Pentru Jn=0, Kn=1 funcionarea se analizeaz similar cu cazul 2. 4. Pentru Jn=1, Kn=1 la apariia impulsului de tact CK = 1 , pe ieirile porilor P1 i P2 n funcie de starea iniial (Qn) a circuitului avem urmtoarele comenzi: - pentru cazul Qn=1, Q n = 0 . n acest caz rezult S = 1, R = 0 Aceste comenzi vor

trece bistabilul Master n starea Q'=0, Q'= 1 , stare ce se transfer n Slave pe frontul descresctor al impulsului de tact. Rezult n final starea Qn+1 = 0, Q n+1 = 1 , deci circuitul bistabil a trecut n starea opus celei iniiale Qn+1 = Q n . - pentru cazul Qn=0, Q n = 1 , rezult S = 0, R = 1 , ceea ce va comanda trecerea bistabilului Master n starea Q'=1, Q ' = 0 Aceast stare se transfer la ieire pe frontul descresctor al impulsului de tact, deci Qn+1 = 1, Q n+1 = 0 . i n acest caz a rezultat

Qn+1 = Q n . n numeroase aplicaii celula binar J-K Master-Slave este utilizat ntr-un regim de funcionare particular, care presupune utilizarea doar a liniilor unu i patru din tabelul prezentat n figura 6.22 c. Acest regim de funcionare presupune legarea n comun a intrrilor de date J i K, aa cum este indicat n figura 6.23 a. Conexiunea din figura 6.23 a poate fi privit i ca un nou tip de bistabil numit CBB de tip T sau celul de numrare.

Figura 6.23. CBB de tip T: a) conectarea celulei J-K n regim T; b) tabelul de


adevr; c) diagrame de funcionare.

n figura 6.23 b este indicat tabelul de funcionare al celulei, iar n figura 6.23 c sunt desenate forme de und care ilustreaz funcionarea circuitului. Din formele de und prezentate rezult o proprietate remarcabil a celulei binare de tip T i anume aceea c pentru T=1, celula divide cu doi. Divizarea trebuie neleas c la

91

dou tranziii de tipul 10, aplicate pe intrarea de tact, apare o singur tranziie de tipul 10 pe ieirea Q. Aceast proprietate remarcabil a celulei T se utilizeaz la construirea numrtoarelor. Avnd n vedere calitile celulei J-K Master-Slave (posibilitatea conectrii n cascad, eliminarea strii de nedeterminare, divizare cu doi) aceast celul a devenit cel mai rspndit tip de bistabil ce se fabric la ora actual. 6.3.4 CBB de tip J-K sincron pe front Exist o gam larg de circuite basculante sincrone pe front. Diversitatea este determinat de tehnologia n care se realizeaz circuitul, precum i de frontul pe care basculeaz. Pentru exemplificare, se va examina schema unui CBB de tip J-K sincron pe front negativ (trecere 10) realizat n tehnologia TTL. Schema circuitului este prezentat n figura 6.24. Funcionarea circuitului se bazeaz pe ntrzierile interne ale porilor. Notnd cu tp timpul de propagare printr-o poart, atunci schema va funciona numai dac ntrzierea porilor P1, P2 este de cel puin 4 tp.

Figura 6.24. CBB de tipul J-K sincron pe front: a) schema logic; b) diagrame
ce ilustreaz funcionarea.

Se va examina funcionarea circuitului pentru comanda J=1, K=0 presupunnd c iniial circuitul se afl n starea Q=0, Q = 1 (fig. 6.24 b). Pentru CK=0, se obin urmtoarele stri logice: X=1, Y=1, P=1, R=0, U=0 i V=0. La trecerea impulsului de tact din 0 n 1, n circuit se produc urmtoarele schimbri: - dup o ntrziere egal cu tp, se schimb ieirea porii P4 (R trece din 0 n 1) iar dup o ntrziere 4 tp (caracteristic porii P1) semnalul X trece din 1 n 0. - apariia saltului 10 pe ieirea X determin modificarea semnalului de la ieirea porii P3, iar semnalul P trece din 1 n 0 cu o ntrziere tp. Trecerea impulsului de tact din 1 n 0 antreneaz dup sine urmtoarele modificri de semnale: - cu o ntrziere tp, la ieirea porii P4 apare o tranziie l0, tranziie care se propag prin poarta P5 i dup o nou ntrziere tp determin apariia unui salt 10 pe ieirea acesteia (Q trece n starea 1); - dup o nou ntrziere tp apare o tranziie 01 pe ieirea porii P6 dup care cu o ntrziere tp se modific ieirea porii P8 ( Q trece n starea 0). - dup trecerea unui timp egal cu 4 tp de la apariia trecerii 10 a impulsului de tact, se schimb ieirea porii P1 (semnalul X trece din 0 n 1). 92

Dac schimbarea semnalului X s-ar produce mai repede dect 4 tp, acest lucru ar duce la apariia unei tranziii 01 pe ieirea porii P3, ceea ce ar menine n continuare semnalul Q pe zero i deci, bascularea circuitului nu s-ar mai produce. Dup aceast schimbare a semnalului de la ieirea porii P1, nivelele tuturor semnalelor rmn constante pn la apariia unui nou impuls de tact. 6.4 CBB DE TIP D

6.4.1 CBB de tip D asincron Se obine din celulele S-R sau J-K asincrone dac legm D = S = R sau D = J = K (vezi fig. 25 a i b). Figura 6.25. CBB de tip D asincrone: a, b) modul de realizare c)
tabelul de funcionare.

Tabelul de adevr al circuitului este prezentat n figura 6.25 c. Din tabelul de adevr rezult ecuaia caracteristic a circuitului Qn+1=D. Cu alte cuvinte, aceste circuite copiaz la ieire ceea ce se aplic la intrare. Funcia pe care o realizeaz nu prezint nici-un interes din punct de vedere practic, motiv pentru care ele nu se utilizeaz. 6.4.2 CBB de tip D sincron Dac la o celul binar S-R sincron se introduce un inversor n scopul de a se realiza D = S = R , se obine celula binar numit cu zvorre (D-Latch) prezentat n figura 6.26 a.

Figura 6.26. CBB de tip D-Lach: a) schema logic; b)diagrame de funcionare. Circuitul prezint caracteristica principal c pe toat durata tactului (CK=1) ieirea copiaz intrarea. n momentul dispariiei impulsului de tact (trecere 10) porile de intrare P1, P2 se nchid i bistabilul menine la ieirea sa starea din momentul dispariiei impulsului de tact (vezi fig. 6.26 b). 6.4.3 CBB de tip D Master-Slave Acest tip de bistabil se obine din celula J-K Master-Slave sau din S-R Master-Slave dac facem legturile D = J = K sau D = S = R (vezi fig. 6.27 a). 93

Particularitatea funcionrii const n faptul c pe durata tactului CK=1, ieirea bistabilului Master copiaz intrarea (Q'=D). n momentul trecerii tactului din unu n zero, se deschid porile P3, P4 i se transfer n bistabilul Slave, deci la ieire, valoarea Q'=D din momentul acestei treceri (vezi fig. 6.27 b).

Figura 6.27. CBB de tip D Master-Slave: a) schema logic, b) diagrama


de funcionare.

Figura 6.28. Registru de deplasare: a) schema cu celule de


tip D Master-Slave; b) diagrame de funcionare.

Dac se interconecteaz mai multe celule de tip D Master-Slave, rezult o schem de registru de deplasare prezentat n figura 6.28 a. Din examinarea semnalelor de ieire Q1, Q2, Q3, se observ c acestea sunt replici ntrziate ale semnalului de intrare cu 1, 2 respectiv 3 tacte. n concluzie, aceast celul poate fi privit i ca o celul elementar de ntrziere cu un tact. Aceast din urm proprietate justific denumirea ei de celul de ntrziere (D de la Delay). 6.4.4 CBB de tip D sincron pe front 0 variant de celul binar de tip D sincron pe front pozitiv (trecere 01) este reprezentat n figura 6.29. 94

Celula copiaz la ieirea Q ceea ce este pe intrarea D n momentul trecerii 01 a impulsului de tact (CK). Modificrile intrrii de date D ct timp CK=0 sau CK=1 nu au nici-o influen asupra semnalului de ieire. Pentru a urmri funcionarea circuitului se presupune pentru nceput c CK=0 i D=0. n acest caz, ieirile porilor vor fi n urmtoarele stri: P2 n 1 S = 1 ; P3 n 1 R = 1 ; P4 n 1, iar P1 n 0 (stri sub-liniate n fig. 6.29).

Figura 6.29. CBB de tip D sincron pe front.

Avnd n vedere c S = R = 1 , starea bistabilului de baz realizat cu porile P5 i P6, nu se schimb, adic Qn+1=Qn. S presupunem acum c n acest moment apare o tranziie 01 a impulsului de tact: avnd n vedere c poarta P2 este blocat de ieirea porii P1 nseamn c modificarea impulsului de tact nu afecteaz semnalul S care rmne n starea 1. n schimb, semnalul de ieire al porii P3 se modific, trecnd din 1 n 0, deci pe intrarea R ia natere o tranziie 10 care comand trecerea bistabilului n starea Q=0. Acelai semnal al porii P3 va bloca poarta P4 astfel nct orice modificri ale semnalului de pe intrarea D nu vor afecta starea bistabilului de baz. Practic, din aceast categorie de bistabile se fabric curent celulele D-Latch i cele sincrone pe front. Celula D Master-Slave se poate obine foarte uor din celula J-K MasterSlave care se fabric n mod curent.

95

7
7.1

NUMRTOARE

GENERALITI. DEFINIII

Un numrtor este un circuit electronic care numr impulsurile aplicate la intrarea sa. Aceste circuite pot fi clasificate dup mai multe criterii. Dup modul n care i modific coninutul exist: - numrtoare directe caracterizate prin faptul c i cresc. coninutul cu cte o unitate la fiecare impuls aplicat la intrare; - numrtoare inverse la care coninutul scade cu cte o unitate la fiecare impuls aplicat la intrare; - numrtoare reversibile care numr n sens direct sau invers n funcie de o comand aplicat din exterior. Dup modul de funcionare exist: - numrtoare asincrone. Un astfel de numrtor se caracterizeaz prin faptul c celulele binare din care este constituit numrtorul nu comut simultan sub aciunea unui impuls de tact comun aplicat tuturor celulelor; - numrtoare sincrone. n cazul unui astfel de numrtor toate celulele binare din care este constituit numrtorul comut simultan sub aciunea unui impuls de tact aplicat tuturor celulelor. naintea nceperii unei tratri sistematice sunt necesare cteva precizri utile: 1. Numrtoarele electronice se realizeaz cu celule binare de tip T. Proprietatea esenial a acestei celule este aceea c realizeaz o divizare cu 2 ( 6.3.3). Prin interconectarea adecvat a n" astfel de celule se va obine schema unui numrtor care poate fi privit i ca un circuit secvenial cu un numr de stri distincte. Fiecrei stri i vom putea asocia cte un cuvnt de cod binar de lungime n, reprezentnd coninutul celor n celule binare pentru starea dat a numrtorului. n consecin, codul n care numr un numrtor va fi dat de succesiunea cuvintelor de cod binare asociate strilor numrtorului. Alegerea codului n care va numra numrtorul este dictat n general de aplicaia ce urmeaz a i se da numrtorului. Cele mai frecvent utilizate coduri sunt: codul binar natural, codul binar reflectat, coduri BCD etc. Aadar, vom putea clasifica numrtoarele i din acest punct de vedere n numrtoare binare, zecimale etc. 2. Numrul strilor distincte posibile ale unui numrtor format din n celule binare n este 2 . De multe ori ns din cele 2n stri posibile se sar un numr de k stri rezultnd un numrtor cu p=2n-k stri distincte. Deci, din punct de vedere matematic operaia realizat de un numrtor este o operaie modulo 2n sau modulo p. 3. Vom defini capacitatea unui numrtor ca fiind egal cu numrul strilor distincte pe care le are. 4. Revenirea numrtorului n starea iniial (de obicei asociat cuvntului de cod 000... 0) este nsoit de apariia unui impuls (tranziie activ) pe ieirea acestuia. Vom defini factorul de divizare al numrtorului prin raportul dintre numrul impulsurilor de la intrare i numrul impulsurilor de la ieire. 7.2 NUMRTOARE BINARE ASINCRONE

7.2.1 Numrtor binar asincron direct

96

Numrtoarele se realizeaz cu celule binare de tip T i se bazeaz pe proprietatea acestora de a divide cu doi tranziiile active (10) aplicate la intrare (vezi 6.3.3). Prin interconectarea mai multor celule de tip T n care legm ieirea Qi a uneia de intrarea de tact a urmtoarei (CKi+1), obinem schema unui numrtor binar asincron direct (vezi fig. 7.1). Din examinarea diagramelor temporale care nsoesc schema numrtorului observm c prima celul binar basculeaz la fiecare impuls aplicat la intrare, a doua din dou n dou (pe ieirea Q1 apare o tranziie 10 o dat la dou impulsuri aplicate la intrare), a treia din patru n patru impulsuri aplicate la intrare etc. Dac numerotm impulsurile de la intrare (de fapt tranziiile 10) observm c din examinarea strilor logice ale ieirilor celulelor care formeaz numrtorul putem deduce numrul (Nx) de impulsuri care a fost aplicat la intrare, conform urmtoarei relaii: (7.1) N x = Q2 Q1 11 + Q0 2 0 Numrtorul reprezentat n figura 1 este format din 3 celule binare, n consecin va avea 23=8 stri distincte. Citirea strilor numrtorului poate fi fcut direct n binar prin examinarea strilor logice ale ieirilor Q0, Q1 i Q2 sau n zecimal dac atam numrtorului binar un decodor binar-zecimal (vezi fig. 7.2).

Figura 7.2. Citirea strilor unui numrtor binar asincron Pe exemplul din figura 7.2 vom ilustra utilitatea intrrii STROBE asociat decodificatoarelor. Dac redesenm formele de und din figura 1 b innd cont de timpii de propagare observm c de exemplu pe ieirea porii P0 pot aprea impulsuri i n afara situaiei cnd avem Q0=Q1= 10 o dat la dou impulsuri parazite vor reprezenta erori de decodare. Eliminarea acestora se poate face dac citim strile numrtorului cu un impuls scurt (STROBE) aplicat ntre dou tranziii active ale impulsurilor de la intrare. n mod normal impulsul STROBE va fi 0 logic fcnd ca toate ieirile decodorului s fie n 0 logic. Dup un interval de timp , convenabil ales, care s acopere intervalul de timp pe care pot aprea impulsurile parazite (se va avea n vedere i faptul c timpii de propagare se cumuleaz de la un bistabil la altul), impulsul STROBE trece n starea 1,

97

permind astfel citirea strilor numrtorului. Impulsul STROBE trebuie s revin n 0 naintea unui nou front activ aplicat pe intrare (vezi fig. 7.3). Structura numrtorului din figura 7.1 poate fi interpretat i ca un circuit de divizare dac urmrim semnalul doar de pe o singur ieire a acestuia, aa cum se arat n figura 7.4.

Figura 7.3. Forme de und care ilustreaz apariia erorilor de decodare

Figura 7.4. Scheme de divizare n regim de divizor, schema poate lucra la frecvene superioare celor din regim de numrtor deoarece ne intereseaz numai semnalul de ieire nu i decodarea strilor numrtorului. n astfel de aplicaii frecvena maxim de lucru va fi determinat de timpul de basculare al primului bistabil. n legtur cu schemele prezentate n figurile 7.1 i 7.2 putem face urmtoarea observaie: dac legm intrrile prioritare de aducere la zero a bistabilelor de tip T (intrarea R) obinem o intrare prioritar de aducere la zero sau de tergere a numrtorului (intrarea Clear). 7.2.2 Numrtor binar asincron invers Schema acestui numrtor mpreun cu formele de und care ilustreaz funcionarea sunt prezentate n figura 7.5. Schema se deosebete de cea a numrtorului direct doar prin faptul c legtura de la o celul la alta se face astfel: Q i = CK i+1

98

Citirea coninutului numrtorului se face la fel ca mai nainte adic de pe ieirile directe ale bistabilelor.

Figura 7.5. Numrtor binar asincron invers: a) schema; b)


formele de und care ilustreaz funcionarea.

7.2.3

Numrtor binar asincron reversibil Schemele numrtoarelor direct i invers, prezentate anterior pot fi cuplate ntr-una singur (numrtor reversibil) prin intercalarea unor multiplexoare ntre celulele binare. n felul acesta, printr-o comand dat multiplexoarelor pe borna de adres comun notat aici prin CM (Controlul Modului de funcionare) vom putea transforma schema n numrtor direct sau invers (fig. 7.6).

Figura 7.6. Numrtor reversibil

99

Pentru comanda CM=0 multiplexoarele fac legtura 02 ceea ce va transforma schema ntr-un numrtor binar asincron direct, iar pentru comanda CM=1 multiplexoarele realizeaz conexiunile 12 ceea ce transform schema ntr-un numrtor binar asincron invers. Numrtoarele binare asincrone au avantajul de a fi simple. Ele se obin practic doar prin interconectarea unor bistabile de tip T. Frecvena maxim de lucru a acestor numrtoare este limitat de numrul de celule (n) i de timpul de basculare al unei celule (tpd). De exemplu: n cazul numrtorului din figura 7.1 la aplicarea celui de al 8-lea impuls acesta va trece din starea Q2=Q1=Q0=1 n starea Q2=Ql=Q0=0. Aceast trecere dureaz un interval de timp 3 tpd deoarece CBB0 basculeaz dup tpd de la primirea comenzii CBB1, care la rndul lui este acionat de CBB0, va bascula dup tpd de la primirea comenzii de la CBB0 i la 2 tpd de la primirea comenzii de la intrare etc. Din analiza fcut rezult c n cazul exemplului nostru cel de al 9-lea impuls nu poate fi aplicat naintea trecerii intervalului de timp 3 tpd necesar tuturor bistabilelor s basculeze. Deci, perioada T a impulsurilor ce pot fi numrate trebuie s fie mai mare dect 3 tpd. n cazul general al unui numrtor format din n celule perioada minim a impulsurilor ce urmeaz a fi numrate trebuie s fie 1 Tmin > n t pd f max < (7.2) n t pd Dac rezervm un anumit interval de timp i impulsului de STROBE (T2) va rezulta urmtoarea relaie: 1 Tmin > n t pd + Ts f max < (7.3) n t pd + Ts 7.3 NUMRTOARE BINARE SINCRONE

La aceste numrtoare toate celulele binare componente ale acestora comut simultan sub aciunea unui impuls de tact comun aplicat tuturor celulelor. 7.3.1 Numrtor binar sincron de tip serie Schema acestui numrtor mpreun cu tabelul de adevr pe care l realizeaz sunt reprezentate n figura 7.7.

Figura 7.7. Numrtor binar sincron serie

100

Din examinarea celulei de tip T ( 6.3) cunoatem c aceast celul basculeaz dac are intrrile pe nivel unu (J=K=1) i i se aplic un impuls de tact. n schema din figura 7 bornele de tact ale bistabilelor au fost legate mpreun formnd intrarea numrtorului; iar intrrile J i K ale fiecrui bistabil sunt comandate cu ajutorul unor pori I n conformitate cu tabelul de adevr. Astfel: - CBB0 trebuie s basculeze la fiecare impuls aplicat la intrare (vezi coloana Q0 din tabel), n consecin vom pune intrrile sale la nivel logic unu (J0=K0=l); - CBB1 basculeaz din dou n dou impulsuri aplicate la intrare (vezi coloana Q1 din tabel), adic numai atunci cnd Q1=1. n consecin, vom lega intrrile J1=K1 la ieirea Q0. - CBB2 basculeaz din patru n patru impulsuri aplicate la intrare (vezi coloana Q2 din tabel), adic atunci cnd att Q0 ct i Q1 sunt n starea 1. Aceast comand este asigurat de poarta P1 la ieirea creia au fost legate intrrile J2 i K2. Dup un raionament similar rezult c CBB3 va bascula cnd Q0=Q1=Q2=l, comand asigurat de poarta P2. n legtur cu schema acestui numrtor putem face urmtoarele observaii: 1. Se recomand ca citirea coninutului numrtorului s se fac i n acest caz cu ajutorul unui impuls de STROBE deoarece pot aprea erori de decodare, dei funcionarea este sincron. Erorile de decodare apar datorit duratelor finite de comutare direct i invers a bistabilelor, precum i variaiei acestor timpi de la un bistabil la altul. Spre deosebire de cazul numrtorului binar asincron (vezi fig. 7.1) intervalul de timp pe care pot aprea aceste erori este constant i independent de numrul bistabilelor interconectate. 2. Pentru calculul frecvenei maxime de lucru a numrtorului vom analiza n detaliu trecerea acestuia din starea 0111 n starea 1111. Iniial avem: Q0=0, Q1=Q2=Q3=l. Deoarece Q0=0 avem: J1=K1=0, poarta P1 blocat (J2=K2=0) i poarta P2 blocat (J3=K3=0). La aplicarea unui impuls pe intrare se ntmpl urmtoarele: - basculeaz la nceput CBB0. Cu o ntrziere specific bistabilului tpd CBB0 se schimb starea logic a ieirii acestuia din 0 n 1. - trecerea lui Q0 din 0 n 1 asigur: J1=K1=l i cu o ntrziere specific porii I) (tpd I) determin schimbarea strii de ieire a porii P1 din 0 n 1, ceea ce face ca s avem i J2=K2=l. - apariia semnalului 1 la ieirea porii P1 cu o nou ntrziere tpd si i va determina apariia pe ieirea porii P2 a strii 1, ceea ce asigur comenzile J3=K3=1. S-a ajuns astfel n situaia Q0=Q1=Q2=Q3=l porile P1, P2 deschise i pe intrrile J i K ale tuturor bistabilelor s avem 1. Aplicarea unui nou impuls la intrare, va determina bascularea tuturor bistabilelor i deci, trecerea numrtorului n starea Q0=Q1=Q2=Q3=0. Intervalul de timp dintre cele dou impulsuri aplicate la intrare trebuie s fie mai mare dect suma timpilor de propagare la care s se adauge i un eventual timp necesar strobrii (Ts). (7.4) T > Tmin = t pd CBB0 + 2 t pd SI + Ts n cazul unui numrtor format din n celule vom avea: T > Tmin = t pd CBB0 + (n 2 ) t pd SI + Ts sau (7.5) (7.6)

f < f max

t pd CBB0

1 + (n 2) t pd SI + Ts

Avnd n vedere faptul c tpd I<tpd CBB, acest tip de numrtor sincron va lucra la frecvene mai mari dect numrtoarele asincrone. Creterea vitezei de lucru a numrtorului sincron s-a obinut pe seama creterii complexitii schemei acestuia (s-au introdus pori I ntre celulele de numrare). 101

7.3.2 Numrtor binar sincron de tip paralel O mrire suplimentar a vitezei de lucru a numrtorului sincron se poate obine dac porile I dintre celule nu se mai leag n cascad ca n schema de tip serie (v. fig. 7.7), ci fiecare poart I este cuplat direct la ieirile bistabilelor care condiioneaz deschiderea (v. fig. 7.8). n cazul acestei structuri, la stabilirea expresiei frecvenei maxime de lucru, va trebui s inem seama c toate porile I comut simultan. Cu aceast observaie rezult urmtoarea expresie a frecvenei maxime: 1 f max (7.7) t pd CBB + t pd SI + Ts Acest tip de numrtor este cel mai rapid dintre toate cele examinate pn acum. Dezavantajul schemei const n faptul c porile I consecutive au cte o intrare n plus iar fiecare poart de comand nou introdus mrete cu cte o unitate gradul de ncrcare al bistabilelor (de exemplu ieirea Q0 este legat la J1=K1, P1 i P2; Q1 la P1 i P2 iar Q2 la P2).

Figura 7.8. Numrtor binar sincron paralel. Este important de reinut faptul c fiecare ncrcare suplimentar a bistabilelor mrete timpul lor de basculare i n consecin va reduce frecvena de lucru a numrtorului. Numrtor binar sincron reversibil Numrtoarele binare sincrone se fabric n general sub form de numrtoare reversibile. Interconectarea celulelor n vederea obinerii schemei de numrtor sincron reversibil se face ca n figura 9. Fa de schemele din figura 7.7 i 7.8 apare urmtoarea modificare: intrrile J i K ale tuturor celulelor sunt la nivel 1 iar impulsul de tact este dirijat prin intermediul unor pori spre celulele ce trebuie s basculeze conform tabelei de funcionare. Bascularea celulelor binare se produce la tranziia 01 a semnalului de pe una din intrrile de tact: CU (COUNT UP) pentru numrare direct respectiv CD (COUNT DOWN) pentru numrare invers. Sensul de numrare este determinat de intrarea activat n timp ce cealalt intrare este n stare 1. De exemplu s considerm cazul numrrii directe cnd: - Pe borna CD se aplic semnal 1. Dup negarea semnalului de ctre circuitul NU2 se obine semnal 0, care blocheaz porile P2, P4 i P6. Porile fiind de tipul I ele se blocheaz pe semnal de ieire 0 i ca urmare porile de tip SAU (S1, S2, S3 i S4) vor fi deschise. 7.3.3

102

- Impulsurile ce urmeaz a fi numrate se aplic pe borna CU, sunt negate de ctre circuitul NU1 i aplicate porilor P1, P3 i P5. naintea aplicrii primului impuls starea celulelor este urmtoarea: Q0=Q1=Q2=Q3=0, i deci porile P1, P3 i P5 vor fi blocate. - Tranziia 01 a primului impuls aplicat pe intrare, inversat de circuitul NU1 se aplic primului bistabil prin poarta deschis I. Prima celul basculeaz, trecnd n starea Q0=l. Al doilea impuls aplicat la intrare se va dirija att spre primul bistabil prin S1 ct i spre cel de al doilea prin poarta P1 (deschis de Q0=l) i S2. n consecin, starea numrtorului va fi Q0=0, Q1=1, Q2=0 i Q3=0 .a.m.d. Numrtorul mai este prevzut cu dou pori suplimentare de tip I-NU P7, P8 pentru generarea comenzilor: - CARRY (CY), cnd numrtorul se umple (Q0=Q1=Q2=Q3=l - BORROW (BR), cnd numrtorul se golete Q0=Q1=Q2=Q3=0

Figura 7.9. Schema numrtorului binar sincron reversibil. Pentru a oferi o flexibilitate maxim schemei, celulele de baz s-au ales de tipul J-K Master-Slave cu intrri prioritare de preselecie i de tergere. Folosind aceste intrri ntr-o conexiune de tipul D sincron putem realiza ncrcarea paralel a celulelor numrtorului (v. fig. 7.10).

Figura 7.10. Schema ncrcrii paralele i a tergerii. Operaia de ncrcare este independent de intrrile de tact i se realizeaz cnd intrarea de ncrcare (LOAD) este n 0. Circuitul mai este prevzut i cu o intrare prioritar de tergere (CLEAR), care foreaz ieirea n starea Q=0 atunci cnd pe aceast born se aplic nivelul 1.

103

Schema bloc complet a numrtorului binar sincron reversibil este reprezentat n figura 7.11.

Figura 7.11. Schema bloc a numrtorului sincron reversibil.

Numrtorul decadic Prin conectarea n cascad a unor numrtoare cu factori de divizare diferii putem obine noi numrtoare. De exemplu: dac cuplm n cascad un numrtor modulo doi (un bistabil), cu un numrtor modulo cinci, va rezulta un numrtor modulo 10 (numrtor decadic). Cele dou numrtoare pot lucra sincron sau asincron unul cu altul. Avem de asemenea posibilitatea de a permuta ordinea numrtoarelor, aceast permutare neafectnd valoarea modulului numrtorului, dar poate schimba codul n care numr. (Strile omise au de asemenea influen asupra codului n care se numr). Dac vom cupla la nceput bistabilul urmat de numrtorul modulo cinci (fig. 7.12) va rezulta schema unui numrtor decadic care va evolua n codul zecimal codat binar.

7.3.4

Figura 7.12. Divizor cu zece Evoluia strilor numrtorului decadic este indicat n tabelul 7.1.
Tabelul 7.1.

Nr. impulsuri aplicate


0 1 2 3 4 5 6 7 8 9 10

Q3
0 0 0 0 0 0 0 0 1 1 0

Q2
0 0 0 0 1 1 1 1 0 0 0

Q1
0 0 1 1 0 0 1 1 0 0 0

Q0
0 1 0 1 0 1 0 1 0 1 0

104

7.3.5 Numrtoare modulo p realizate prin aducere la zero Tehnica aducerii la zero este frecvent utilizat pentru realizarea numrtoarelor modulo p. Aceast tehnic const n urmtoarele: - se las numrtorul s evolueze normal pn n starea p-1; - n momentul n care se atinge starea p se aplic un impuls de tergere tuturor celulelor numrtorului. Exemplu. S se realizeze un numrtor decadic folosind n acest scop tehnica de aducere la zero aplicat unui numrtor binar asincron direct. Din relaia 2 n p , pentru p=10 rezult n=4. Schema acestui numrtor este prezentat n figura 7.13. Evoluia numrtorului modulo p=10 este indicat n tabelul 7.2 i pe diagramele din fig 7.14. Din examinarea diagramelor prezentate n figura 14 observm c numrtorul trece succesiv prin strile 0, 1, 2 ... 9 i ajunge n starea 10 (Q3=l, Q2=0, Q1=l i Q0=0). Dup ce

Figura 7.13. Divizor cu zece prin aducere la zero: a) schema divizorului; b) schema circuitului I-NU care intr in componena circuitului de recunoatere a strii p=10. numrtorul a trecut m starea 10, circuitul de recunoatere al acestei stri se activeaz i comand aducerea la zero a numrtorului. Rezult c numrtorul este efectiv n starea 10 un timp necesar recunoaterii acestei stri dup care, avnd n vedere c aducerea la zero este o comand prioritar, va trece n starea 0 (Q3=Q2=Q1=Q0=0). Dac decodarea strilor se face prin STROBE, printro alegere convenabil a poziiei i duratei impulsului de STROBE, starea Q3=l, Q2=0, Q1=l, Q0=0 nu este decodat, rezultnd n felul acesta un numrtor ce zece stri distincte (0, 1, 2 ... 9).
Tabelul 7.2. Nr. imp. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Q3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Q2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Q1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Y 0 0 0 0 0 0 0 0 0 0 1 x x x x x

105

Schema circuitului de aducere la zero rezult din minimizarea fcut ca fiind o poart I cu dou intrri (Q3 i Q1). Avnd n vedere c intrarea de aducere la zero a numrtorului este activ pe nivel logic zero, semnalul de ieire al porii I va trebui inversat (practic vom folosi o poart I-NU cu dou intrri).

Figura 7.14. Ilustrarea funcionrii divizorului cu zece.

Divizoare programabile Un divizor programabil este un circuit electronic la care factorul de divizare poate fi modificat n funcie de un cuvnt de cod de comand aplicat din exterior. Un astfel de divizor programabil se poate realiza cu numrtorul sincron reversibil prezentat n 7.3.3. Factorul de divizare al numrtorului depinde de starea sa iniial. De exemplu: dac ncrcm numrtorul cu starea iniial corespunztoare cifrei p i aplicm impulsuri pe intrarea de numrare invers (CD), numrtorul va trece succesiv prin strile: p, p-1, p-2, ... 2, 1. n momentul n care numrtorul ajunge n starea D=C=B=A=0 (stare care nu face parte din ciclul de numrare), la ieirea BR apare un impuls. Dac vom folosi

7.3.6

Figura 7.15. divizorului programabil.

Schema

acest impuls pentru rencrcarea numrtorului obinem un numrtor divizor cu p (apare un impuls pe ieirea BR pentru p impulsuri aplicate pe intrarea CD). Legarea direct a ieirii BR la intrarea de ncrcare (LOAD) nu este posibil deoarece semnalul BR apare n momentul golirii numrtorului. Dac pentru ncrcarea paralel a numrtorului am folosi acelai semnal atunci, (semnalul BR exist doar ct

106

timp numrtorul este n starea zero) anularea semnalului BR poate compromite operaia de ncrcare a numrtorului. Pentru prevenirea fenomenului susmenionat semnalul de comand BR este memorat pe durata unui impuls de tact de ctre un bistabil de tipul S-R aa cum este indicat n figura 7.15. n concluzie, privind numrtoarele, se pot face observaii: - numrarea reprezint o operaie de importan major n aproape orice sistem numeric de msurare, comand i control; - numrtoarele prezentate n acest capitol au fost realizate cu CBB de tip J-K Master-Slave. Trebuie menionat ns faptul c funcia de numrare mai poate fi implementat i cu CBB de tip D. Pentru. aceasta celulele de tip D vor fi interconectate ntr-o schem de registru de deplasare cu reacie sau pot fi cuplate cu sumatoare elementare obinndu-se n acest din urm caz schema unui acumulator. - ntr-un numr mare de aplicaii este necesar s se determine o funcie matematic cum ar fi: o putere, logaritmul, rdcina ptrat, etc. a numrului de impulsuri generate ntr-un proces tehnic. Asemenea funcii pot fi uor implementate cu schema utiliznd numrtoare i acumulatori.

107

REGISTRE

Registrele sunt circuite electronice care permit stocarea i/sau deplasarea unor cuvinte de cod binar. Plecnd de la aceast definiie registrele se pot clasifica n: - registre de memorie - registre de deplasare - registre combinate - registre universale.
8.1 REGISTRE DE MEMORIE (RM)

Registrele de memorie sunt utilizate pentru memorarea unor cuvinte de cod i se realizeaz cu celule binare de tip D. n figura 8.1 este prezentat schema unui registru de memorie. Dac schema din figura 8.1 este realizat cu CBB de tip D sincrone pe frontul anterior (trecere 01), atunci informaia se nscrie la apariia unei asemenea tranziii (comand WRITE) i rmne neschimbat att pe valoarea zero ct i pe valoarea unu a impulsului de tact. Se memoreaz astfel cuvntul de cod prezent la intrare n momentul tranziiei 01 a impulsului de tact.

Figura 8.1 Registru de memorie. Dac celulele registrului de memorie sunt realizate cu CBB de tip D-Latch, atunci, pe valoarea 1 a impulsului de comand (numit de aceast dat Latch Strobe Imput) registrul devine transparent (ieirea este copia fidel a intrrii). n momentul n care impulsul de comand trece din nou n zero (10) celulele de tip D se zvorsc pe valoarea din acel moment a semnalului de intrare i menin aceast valoare pe toat durata n care impulsul de comand (LSI) este pe nivel logic 0. Dac registrul este realizat cu celule D-Master-Slave, n registru se va memora informaia prezent pe intrrile de date n momentul trecerii 10 a impulsului de tact i se pstreaz pn la urmtoarea trecere 10 a impulsului de tact. 8.2 REGISTRE DE MEMORIE MULTIPORT

Din aceast categorie de registre prezentm un exemplu reprezentativ i anume circuitul 9338 al firmei Fairchild (vezi. fig. 8.2).

108

Figura 8.2. Registru multiport. Circuitul este format din 8 celule binare de tipul D Master-Slave. Informaia aplicat pe intrarea DA a demultiplexorului se poate nscrie n oricare din cele 8 celule ale memoriei n funcie de adresa A2A1A0. Cu ajutorul a dou multiplexoare poate fi citit simultan coninutul a dou celule prin precizarea adreselor B2B1B0 i C2C1C0. Coninutul celor dou celule citite se depune n dou celule binare de tipul D Master-Slave i este accesibil pe bornele Zb i Zc ale acestora. Circuitul mai este prevzut cu o intrare de tact (CK) i cu o intrare de validare SLE a bistabilelor Slave din cadrul bistabilelor Master-Slave de la ieire. Celulele de memorie fiind de tipul Master-Slave permit citirea coninutului acestora (informaie aflat n Slave) simultan cu nscrierea unei noi informaii n bistabilul Master, ceea ce confer acestui registru de memorie o mare vitez de lucru. Prezentm n continuare o aplicaie tipic pentru acest registru i anume o structur de memorie cu citire i scriere aleatoare (RAM) (v. fig. 8.3). Memoria din figura 18 este realizat cu patru circuite 9338, ceea ce asigur o capacitate de memorie de 8 cuvinte a cte patru bii fiecare. (Numrul de circuite utilizate determin lungimea cuvntului de cod). Intrrile de adres ale celor patru circuite sunt conectate mpreun, permind selectarea acelorai celule din cadrul celor patru circuite. ieirile ZB respectiv ZC ale circuitelor sunt grupate mpreun formnd dou ieiri paralele de cte patru bii fiecare. nscrierea respectiv citirea informaiei se face prin aplicarea unor impulsuri de comand pe intrrile de tact ale celor patru circuite.

( )

109

Figura 8.3. Exemplu de utilizare a registrelor multiport Registrul RM0 este realizat cu celulele binare notate cu indicii O" din cele patru circuite, RM1 cu celulele binare notate cu indicii ,,1" etc. Informaia prezent pe intrrile paralele de date (cuvntul de cod x0x1x2x3), n funcie de adresa A2A1A3 poate fi nscris n oricare din cei opt registre de memorie. Prin precizarea adreselor B2B1B0 i C2C1C0 putem citi simultan coninutul a doi registre, cele dou cuvinte de cod citite, y0y1y2y3 respectiv z0z1z2z3 aprnd simultan. pe cele dou ieiri paralele de date. De exemplu: pentru adresele A0A1A2 = 010, B0B1B2 = 001 i C0C1C2 =111 cuvntul de cod de la intrare se nscrie n RM2, iar pe cele dou ieiri apar cuvintele de cod din registrele RM4 respectiv RM7. 8.3 REGISTRE DE DEPLASARE (RD)

Registrele de deplasare sunt circuite care la flecare impuls de tact aplicat i deplaseaz coninutul spre dreapta sau spre stnga cu cte o celul. Aceste registre se realizeaz cu celule de tipul D Master-Slave. n figura 8.4 este prezentat schema unui RD stnga-dreapta realizat cu celule de tipul S-R sau J-K Master-Slave utilizate ntr-o conexiune de tip D Master-Slave.

Figura 8.4. Registru de deplasare stnga-dreapta. Dup cum se observ la fiecare impuls de tact coninutul registrului se mut cu cte o poziie spre dreapta. n consecin, semnalul de ieire va fi identic, cu cel de intrare, dar ntrziat cu un numr de perioade de tact egal cu numrul de celule din care a fost format registrul.

110

Figura 8.5 Ilustrarea funcionrii registrului de deplasare ST-DR.

Figura 8.6. Registru de deplasare dreapta-stnga. Legturile la acest circuit s-au fcut astfel: Qi=Si+1(Ji+1) i Q i = Ri +1 (K i +1 ) . Dac facem legturile n felul urmtor: Qi = S i 1 J i 1 i Q i = Ri 1 K i 1 se obine schema unui registru de deplasare de la dreapta la stnga (vezi fig. 8.6). Dac combinm cele dou scheme ntr-una singur vom obine schema unui RD comandat stnga-dreapta sau dreapta-stnga (vezi fig. 8.7). Dac CM=0 multiplexoarele vor face legturile 02 i cuvntul se va deplasa de la stnga la dreapta. Pentru valoarea CM=1 multiplexoarele vor face legtura 12 i cuvntul se va deplasa de la dreapta la stnga.

Figura 8.7. Registru de deplasare ST-DR i DR-ST.

111

8.4

REGISTRU COMBINAT (DE MEMORIE L DE DEPLASARE) RC

ntr-o serie ntreag de aplicaii este util ca registrul s aib pe lng intrarea serie (ca n cazul RD) i intrri paralele (ca n cazul RM). Schema acestui registru este prezentat n figura 8.8.

Figura 8.8.Registru combinat, de memorare i de deplasare. n funcie de valoarea semnalului CM avem: pentru CM=0 se obine un RD stngadreapta care funcioneaz cu tactul T s iar pentru CM=1 schema se transform ntr-una de registru de memorie cu nscriere paralel de date cu tactul T p . 8.5 REGISTRU UNIVERSAL (RU)

Un astfel de registru cumuleaz funciile tuturor registrelor examinate anterior. Deci, schema este astfel conceput nct s permit urmtoarele operaii: deplasare stngadreapta, deplasare dreapta-stnga, ncrcare paralel, citirea serie sau paralel a informaiei. Registrul universal poate fi prevzut i cu o intrare asincron pentru tergerea informaiei (CLEAR). Schema se realizeaz cu celule binare de tipul D sincrone i cu ajutorul unor multiplexoare (vezi fig. 8.9).

Figura 8.9. Registru universal.

112

Funcionarea circuitului este descris de tabelul 8.1. De exemplu, dac la bornele comune de adres ale multiplexoarelor se aplic comanda A1=l A0=0, atunci multiplexoarele vor conecta intrarea notat cu "l" la ieirea Y, ceea ce va nsemna interconectarea bistabilelor ntr-o schem de registru de deplasare stnga-dreapta care lucreaz cu tactul serie Ts.
Tabelul 8.1.

A1 0 0 1 1 8.6

A2 0 1 0 1

Regimul de funcionare Nefolosit RD stnga dreapta RD dreapta-stnga RM cu intrare paralel

EXEMPLE DE UTILIZARE

8.6.1 Memorie FIFO (First In First Out) Caracteristica de baz a unei astfel de memorii este faptul c primul cuvnt nscris va fi i primul citit. Memoria se poate realiza cu ajutorul unor registre de deplasare stngadreapta. Numrul registrelor va fi determinat de lungimea cuvntului ce urmeaz a fi memorat. Capacitatea memoriei (numrul de cuvinte memorate) va fi dictat de lungimea registrelor (numrul de celule binare din care este format registrul). n figura 8.10 este prezentat schema unei memorii FIFO pentru cuvinte de 4 bii. Dac la realizarea schemei folosim registre de deplasare formate din cte 4 celule capacitatea memoriei astfel realizate va fi de 4 cuvinte.

Figura 8.10. Memorie FIFO 8.6.2 Memoria LIFO (Last In First Out) Memoria LIFO este de fapt o memorie ,,stiv". Ea se caracterizeaz prin faptul c ultimul cuvnt nscris va fi primul citit. O asemenea memorie poate fi realizat cu ajutorul unor registre universale (RU), aa cum se indic n figura 8.11. Numrul registrelor folosite este dictat de lungimea cuvntului de cod ce urmeaz a se memora, iar lungimea registrelor folosite determin capacitatea de memorare. n exemplul prezentat n figura 8.11 este prezentat o memorie de 4 cuvinte a cte 4 bii fiecare. Funcionarea memoriei stiv poate fi neleas cu ajutorul tabelului 8.2.

113

Cuvntul de cod x1x2x3x4 se aplic n aceast ordine pe intrrile serie pentru deplasarea stnga-dreapta (n cazul fig.8.11 deplasare sus-jos). La apariia primului impuls

Figura 8.11. Memorie LIFO de tact acest cuvnt se va nscrie n celulele de tipul Q1 ale celor patru registre, dac acestea sunt selectate s deplaseze sus-jos, adic A1=0 i A0=l. La al doilea impuls de tact dac comanda se pstreaz (A1=0 i A0=l) cuvntul x1x2x3x4 se deplaseaz din celulele Q1 n celulele Q2, ale registrelor .a.m.d. Pentru citire se d comanda de deplasare dreaptastnga (de jos n sus n cazul fig.8.11) deci A1=l i A0=0, ceea ce va asigura citirea cuvintelor n ordinea invers nscrierii lor.
Tabelul 8.2. A1=0, A0=1, nscrie
RU1 RU2 RU3 RU4

A1=0, A0=1, nscrie


RU1 RU2 RU3 RU4

A1=0, A0=1, nscrie


RU1 RU2 RU3 RU4

A1=1, A0=0, citete


RU1 RU2 RU3 RU4

Q1 Q2 Q3 Q4

x1

x2

x3

x4

y1 x1

y2 x2

y3 x3

y4 x4

z1 y1 x1

z2 y2 x2

z3 y3 x3

z4 y4 x4

y1 x1

y2 x2

y3 x3

y4 x4

Un exemplu tipic de utilizare a memoriei stiv l constituie stocarea adreselor ntreruperilor succesive n rularea unui program, aa cum este prezentat n exemplul din figura 8.12.

Figura 8.12. Stocarea adreselor ntreruperilor succesive n rularea unui program

114

Realizarea memoriei stiv cu ajutorul registrelor are avantajul unui timp de acces mai redus cu dezavantajul c memoria stiv va avea o capacitate limitat la numrul registrelor din care este format. n momentul n care cele n registre a memoriei sunt ocupate, utilizarea unui nou nivel de subrutin conduce la o eroare de programare prin pierderea informaiei din ultimul registru al memoriei stiv (baza stivei). Memoria stiv poate fi organizat i prin soft pe o parte a memoriei RAM a sistemului. n acest caz adresa bazei stivei este aleas de programator. iar adresa vrfului curent al stivei este memorat n permanen ntr-un registru numit indicator de stiv. Valoarea indicatorului de stiv crete sau descrete conform aciunilor de introducere sau extragere a datelor din stiv. Soluia soft are avantajul de a permite organizarea memoriei stiv pentru orice dimensiune i dezavantajul unui timp de acces mai mare. 8.6.3 Convertor paralel-serie n numeroase aplicaii apare necesitatea transformrii unor cuvinte de cod paralel (cu acces simultan la toate simbolurile cuvntului) n cuvinte de cod serie (cu apariia consecutiv a simbolurilor cuvntului de cod). Un asemenea convertor poate fi realizat cu ajutorul unui registru combinat aa cum se indic n figura 8.13, a. Funcionarea se poate urmri cu ajutorul tabelului din figura 8.13, b i a diagramelor temporale din figura 8.13, c.

Figura 8.13. Convertor paralel-serie: a) schema circuitului; b) tabel de


adevr; c) diagrame de funcionare.

Cuvntul de cod ce urmeaz a fi convertit (x1x2x3x4) se aplic pe bornele de intrare paralel AiBiCi i Di ale registrului. Punem CM=1 i la aplicarea unui impuls de tact pe borna T p cuvntul se va nscrie n registru. Dup aceasta punem CM=0, ceea ce va nsemna transformarea registrului combinat n registru de deplasare stnga-dreapta, astfel c n ritmul impulsurilor aplicate de intrarea T s va avea loc evacuarea cuvntului de cod pe ieirea serie n ordinea x3x2x1x0. 8.6.4 Convertor serie-paralel Acest timp de convertor transform succesiunea serie de simboluri (cuvnt de cod serie) ntr-un cuvnt de cod paralel. Schema presupune utilizarea unui registru de deplasare i a unui registru de memorie. Cuvntul de cod aplicat serie pe intrarea IS se nscrie n registru n ritmul impulsurilor aplicate pe intrarea T s . n momentul n care registrul s-a umplut se d comanda de transfer a cuvntului recepionat ntr-un registru de memorie pe ieirile cruia va aprea cuvntul de cod paralel (vezi fig. 8.14).

115

Momentul transferului reprezint o informaie suplimentar care trebuie cunoscut dinainte pentru a putea forma corect comanda LSI.

Figura 8.14. Convertor serie paralel: a) schema circuitului; b) tabel de


adevr; c) diagrame de funcionare.

Figura 8.15. Registru de reacie

8.6.5 Registre de deplasare cu reacie Schema unui registru de deplasare cu reacie de patru bii este prezentat n figura 8.15. Schema se compune dintr-un registru de deplasare i un circuit logic combinaional. Un astfel de registru se caracterizeaz prin faptul c asupra coninutului su de la un moment dat se efectueaz o operaie logic definit prin y=f(QA,QB,QC,QD) [realizat de circuitul logic combinaional]. Rezultatul acestei operaii se nscrie n prima celul a registrului. Dup natura funciei realizat de circuitul logic combinaional se deosebesc mai multe tipuri de registre de deplasare cu reacie dintre care vom prezenta n cele ce urmeaz: registrul n inel, numrtorul Johnson i generatorul de secvene binare. a) Registrul de deplasare n inel Un astfel de registru se caracterizeaz prin urmtoarea funciei Y=Qn, ceea ce nseamn c prin reacie se asigur nscrierea coninutului ultimei celule, n prima celul. n figura 8.16, a este prezentat schema unui registru n inel realizat cu un registru combinat.

116

Figura 8.16. Registru n inel. Funcionarea schemei o putem urmri din examinarea tabelului din figura 8.16, b. Iniial registrul trebuie ncrcat. Pentru aceasta aplicm un impuls pe intrarea T p concomitent cu asigurarea nivelului 1 pe intrarea CM. Registrul se va ncrca paralel cu cuvntul de cod x0x1x2x3. Dup aceasta, dac schimbm modul de funcionare al registrului combinat din registru de memorie n registru de deplasare punnd CM=0, n. ritmul impulsurilor de tact aplicate pe T s pe ieirile QA,QB,QC,QD ale registrului apar permutrile circulare ale coninutului iniial al registrului. Evoluia strilor registrului depinde de starea iniial, aa cum rezult din tabelul 8.3.
Tabelul 8.3.

a) QA 1 0 0 0 1 QB 0 1 0 0 0 QC 0 0 1 0 0 QD 0 0 0 1 0 QA 0 0 0 QB 0 0 0

b) QC 0 0 0 QD 0 0 0 QA 1 0 1 QB 0 1 0

c) QC 1 0 1 QD 0 1 0

Din examinarea tabelului rezult c dac registrul ajunge n mod accidentai ntr-o stare care nu face parte din ciclul dorit, evoluia lui se schimb fr nici o posibilitate de revenire n ciclul principal. n cazul n care dorim o anumit evoluie n timp putem recurge fie la iniializarea registrului la sfritul fiecrui ciclu de evoluie, fie la modificarea reaciei. De exemplu o evoluie sigur a strilor registrului n conformitate cu secvena din tabelul 8.3, a se poate obine cu ajutorul schemei din figura 8.16. Figura 8.17. Registru n inel cu evoluie sigur.

Registrul din figura 8.17 are o evoluie periodic cu o perioad de patru tacte (T=4). b) Numrtorul Johnson

117

Numrtorul Johnson este un registru de deplasare cu reacie la care n prima celul se introduce inversul coninutului ultimei celule J = Q n . Schema i tabelul care indic evoluia registrului sunt reprezentate n figura 8.18.

Figura 8.18. Numrtor Johnson c) Generatoare de secven Un generator de secven este un sistem electronic capabil s genereze, n timpul unor impulsuri de tact, o succesiune de uniti i zerouri de o structur dat. Prin lungimea unei secvene vom nelege numrul de bii dup care ntreaga secven se repet. Secvenele binare se mpart n dou categorii: - secvene aleatoare de lungime infinit - secvene deterministe de lungime finit. Secvene aleatoare (SA) 0 secven aleatoare se poate obine, de exemplu, dac asociem celor dou fee ale unei monede cifrele binare 1 respectiv 0 i notm rezultatele obinute n urma aruncrilor succesive ale acesteia. Se poate apela de asemenea la un calculator i la un program special de generare a numerelor aleatoare pentru a obine o secven binar aleatoare. Secvenele binare aleatoare au o serie de proprieti remarcabile dintre care reamintim cteva: 1. La un moment dat tn secvena poate lua valoarea 0 sau 1 cu aceeai probabilitate p0=p1=1/2. Aceast proprietate se mai poate interpreta i astfel: cunoaterea exact a structurii secvenei pn n momentul tn-1 nu ne ofer nici o informaie cu privire la valoarea pe care o va lua secvena la momentul tn. 2. Dac ntr-o poriune finit, de lungime L mult mai mare ca 1, dintr-o SA notm numrul succesiunilor de zerouri, sau uniti, de lungime unu cu N1, (101, 010) numrul succesiunilor de zerouri, sau uniti, de lungime doi cu N2 (1001, 0110) numrul succesiunilor de zerouri, sau uniti de lungime trei cu N3 (10001, 01110), atunci are loc relaia: N1 = 2 N 2 = 4 N 3 = ... 3. Prin funcia de autocorelaie a unei secvene se nelege suma produselor bit cu bit a secvenei originale cu ea nsi decalat cu un numr de poziii (bii) n avans sau n ntrziere i = 0 (8.1) RSA (i ) = Q(k ) Q(k + i ) = k =1 0 i 0 unde am notat prin Q secvena aleatoare i prin RSA (i ) valoarea funciei de autocorelaie pentru un decalaj de i poziii. 118

Pentru ca funcia de autocorelaie s fie axat n jurul valorii zero, n calculul sumei dat de relaia (7). simbolurile logice 0 i 1 se vor nlocui cu tensiunile -1V respectiv +1V. Funcia de autocorelaie al unui semnal poate fi privit i ca o msur a gradului de asemnare a semnalului cu valoarea sa ntrziat. n cazul SA funcia de autocorelaie este un impuls Dirac (vezi relaia 8.1) ceea ce nseamn c secvena ntrziat cu un numr arbitrar de bii nu seamn deloc cu secvena original. Dezavantajul principal al secvenelor aleatoare const n faptul c ele nu sunt repetabile. Secvene deterministe (SD) Fie urmtoarea secven binar determinist: 110 110 110... Secvena binar din acest exemplu are lungimea de trei bii i poate fi considerat ca fiind obinut prin repetarea uneia din urmtoarele succesiuni 110,101 sau 011. Dac generatorul de secvene are i o ieire complementar, atunci, pe aceast ieire va aprea secvena 001 001 001 ..., secven ce se poate obine prin repetarea uneia din urmtoarele succesiuni binare: 001, 010 sau 100, Cele ase succesiuni binare susmenionate genereaz practic aceeai secven binar (deosebirile pot aprea n alegerea originii secvenei i dac o considerm sau nu inversat). Metoda cea mai rspndit de generare a secvenelor deterministe presupune utilizarea unor registre de deplasare cu reacie logic (vezi fig. 8.15). Pentru a genera o secven de lungime L este nevoie de un registru de deplasare cu reacie format din minimum n celule binare conform relaiei L 2n 1 (8.2) Dac structura secvenei este impus, nu ntotdeauna va fi posibil generarea acesteia cu un numr minim de celule binare, aa cum rezult din relaia (8.2). Registrul de deplasare format din n celule binare este un sistem secvenial avnd 2n stri distincte (printr-o stare a registrului nelegem ansamblul strilor tuturor bistabilelor din care este format registrul). Din cele 2n stri ale registrului 2n-1 sunt stri nenule. Printro alegere convenabil a reaciei putem fora registrul s evolueze astfel nct s treac ntro ordine oarecare prin toate strile lui nenule. Secvena binar obinut la ieirea unui asemenea registru se numete secven de lungime maxim. De exemplu, n figura 8.19 este reprezentat schema unui generator de secven binar de lungime maxim obinut cu un registru format din 3 celule binare cu o reacie de forma y = Q1 Q3 . Funcionarea generatorului poate fi urmrit cu ajutorul tabelului din figura 8.19.

Figura 8.19. Generator de secvene S-a considerat starea iniial 100. La apariia primului impuls de tact, datorit legturilor dintre celule, coninutul primei celule trece n celula a doua iar coninutul celei de a doua celule trece n a 3-a. n prima celul se nscrie suma modulo doi a coninutului (dinaintea aplicrii tactului) celulelor unu i trei. n acest fel starea registrului de-vine 110 etc. Dac culegem secvena de pe ieirea Q1 obinem: 11101001... Pe ieirile Q2 respectiv

119

Q3 apare aceeai secven ntrziat cu unu respectiv dou tacte. Lungimea secvenei generate este maxim i egal cu 23-1=7. Modul n care se alege reacia pentru generarea unor secvene de lungime maxim este expus n lucrarea |7|. Pentru un registru dat, format din n celule, exist posibilitatea generrii a cel puin unei secvene de lungime maxim. n tabelul 8.3 sunt indicate cteva reacii posibile pentru generarea secvenelor de lungime maxim 2n-1.
Tabelul 8.3.

n 1 2 3 4 5 6 7 8

Reacia y Q1 Q1Q2 Q1Q3, Q2Q3 Q3Q4 Q4Q5 Q5Q6 Q6Q7 Q2Q3Q4Q8

Secvenele binare deterministe de lungime maxim se mai numesc i secvene pseudoaleatoare (SPA). Aceste secvene au o importan practic deosebit datorit faptului c au proprieti asemntoare cu cele ale secvenelor aleatoare fr ns a avea i dezavantajul acestora de a nu fi repetabile. SPA fiind deterministe sunt perfect predictibile. Pentru un receptor care folosete o poriune dintr-o secven pseudoaleatoare mult mai mic dect lungimea acesteia, secvena utilizat apare ca fiind aleatoare. Dintre proprietile SPA vom examina funcia ei de autocorelaie avnd n vedere c n numeroasele aplicaii practice ale SPA se utilizeaz tocmai aceast funcie. Pentru calculul acestei funcii nlocuim simbolurile logice 1 i 0 din secvena SPA cu tensiuni de valoarea +1V respectiv -1V (pentru ca funcia de autocorelaie a SPA s fie axat n jurul valorii zero). Cu aceast precizare funcia de autocorelaie a SPA este dat de relaia: 2 n 1 2 n pt. i = 0, 2 n 1, 2 2 n 1 ... RSPA (i ) = Q(k )Q(k + i ) = (8.3) k =1 1 n rest Din relaia 10 observm c funcia de autocorelaie a SPA este o funcie periodic, cu perioada 2n-1, avnd valoarea maxim egal cu lungimea secvenei, adic 2n-1. Existena maximului pronunat n expresia funciei de autocorelaie face posibil utilizarea SPA ca secven de sincronizare n transmisiunile de date. Dac se intercaleaz, n mod periodic, la emisie, o SPA ntr-o secven de date i la recepie facem corelaia dintre secvena recepionat cu SPA generat local, atunci la ieirea corelatorului va apare un maxim ori de cte ori se recepioneaz o SPA. Avantajul utilizrii SPA ntr-o astfel de aplicaie const n faptul c sincronizarea se poate face i dac n procesul transmiterii SPA un numr de e" bii ai acesteia au fost 2n -1 eronai. Dac e < atunci nc se mai obine la ieirea corelatorului o tensiune mai 2 mare n prezena SPA dect n rest (nc se recunoate" de ctre corelator prezena SPA) ceea ce va asigura sincronizarea corect a echipamentului i n aceste condiii. n legtur cu schemele de generare a SPA cu registre de deplasare cu reacie trebuie menionat faptul c dac cumva registrul ajunge accidental, sau la pornire, n starea 000 ... 0, nu mai poate prsi aceast stare. Pentru a evita blocarea generatorului de SPA, n starea

120

00 ... 0 putem recurge la diverse soluii. O soluie posibil pentru generatorul din figura 8.19 este prezentat n figura 8.20.

Figura 8.20. Generator SPA cu funcionare sigur. Dac registrul ajunge n starea 000 ... 0, circuitul I1 trece n ''1'' logic, ceea ce asigur deschiderea porii I2. La apariia primului impuls de tact acesta va trece prin porile I2 i SAU i se va nscrie n prima celul a registrului ceea ce va asigura funcionarea normal a generatorului SPA.

121

1 SISTEME DE NUMERAIE 1.1 CODURI 1.1.1 REPREZENTAREA NUMERELOR a) Reprezentarea numerelor ntregi fr semn. b) Reprezentarea numerelor fracionare fr semn. c) Reprezentarea numerelor cu semn. d) Reprezentarea numerelor binare (cu semn) n mrime i semn. e) Reprezentarea numerelor binare (cu semn) n complement fa de 1. f) Reprezentarea numerelor binare (cu semn) n complement fa de 2. g) Reprezentarea numerelor n virgul flotant. 1.1.2 CODURI NUMERICE a) Coduri zecimal-binare (BCD) b) Coduri ponderate. c) Coduri neponderate. d) Codul Gray. e) Codul 2 din 5. f) Coduri octal-binar i hexazecimal-binar 1.1.3 CODURI ALFANUMERICE 2 ELEMENTE DE ALGEBR BOOLEAN 2.1 INTERPRETAREA OPERAIILOR ALGEBREI BOOLEENE 2.2 REGULI DE CALCUL N ALGEBRA BOOLEAN. 2.3 FUNCII BOOLEENE 2.3.1 GENERALITI 2.3.2 REPREZENTAREA FUNCIILOR BOOLEENE 2.3.3 FUNCII BOOLEENE ELEMENTARE 2.3.4 FORMA CANONIC A FUNCIILOR BOOLEENE 2.3.5 FORMA MINIM A FUNCIILOR BOOLEENE a) Metoda analitic b) Metoda diagramelor Karnaugh c) Minimizarea funciilor incomplet definite 2.4 REPREZENTAREA FIZIC A VARIABILELOR 2.4.1 CARACTERISTICA DE INTRARE. 2.4.2 CARACTERISTICA DE IEIRE. 2.4.3 CIRCUITUL TTL CU COLECTORUL N GOL 2.4.4 CIRCUITUL TTL CU TREI STRI 3 ARITMETICA NUMERELOR BINARE 3.1 ADUNAREA I SCDEREA 3.1.1 ADUNAREA I SCDEREA N COMPLEMENT FA DE DOI a) Cazul 1): a 0, b 0 b) Cazul 2): a < 0, b < 0 c) Cazul 3): a 0, b < 0 (cazul a < 0, b 0 este asemntor) d) e) 3.1.2 DEPIREA 3.1.3 SUMA ALGEBRIC A MAI MULTOR OPERANZI 3.2 NMULIREA NUMERELOR BINARE 3.2.1 NMULIREA 3.2.2 NMULIREA NUMERELOR REPREZENTATE PRIN (MS)

1 4 4 4 5 5 6 6 7 8 8 8 9 9 10 10 10 11 12 13 14 15 15 15 17 19 21 21 21 23 24 26 28 30 31 33 33 34 34 34 34 35 35 35 36 37 37 37

122

3.2.3 NMULIREA NUMERELOR REPREZENTATE PRIN (C2) 3.3 MPRIREA NUMERELOR BINARE 3.3.1 ALGORITMUL GENERAL DE MPRIRE 3.3.2 MPRIREA NUMERELOR FR SEMN 3.3.3 MPRIREA NUMERELOR CU SEMN 3.4 TRUNCHIEREA. ROTUNJIREA. DEPIREA 4 IMPLEMENTAREA OPERAIILOR ARITMETICE 4.1 CIRCUITE ARITMETICE ELEMENTARE 4.1.1 CIRCUITUL DE COMPLEMENTARE 4.1.2 SEMISUMATORUL ELEMENTAR 4.1.3 SUMATORUL ELEMENTAR 4.1.4 SUMATORUL SERIE 4.1.5 SUMATORUL PARALEL 4.1.6 SUMATORUL PARALEL CU ACUMULARE 4.1.7 TRANSPORTUL ANTICIPAT 4.2 UNITI ARITMETICE - LOGICE 4.2.1 UNITI ARITMETICE - LOGICE DE BAZ 4.2.2 CIRCUITE DE MULTIPLICARE 4.2.3 MULTIPLICATORUL PARALEL 4.2.4 MULTIPLICATORUL SECVENIAL 5 CIRCUITE LOGICE COMBINAIONALE (CLC) 5.1 PORI LOGICE 5.2 ANALIZA CIRCUITELOR LOGICE COMBINAIONALE 5.3 SINTEZA CIRCUITELOR LOGICE COMBINAIONALE 5.4 EXEMPLE DE CIRCUITE LOGICE COMBINAIONALE 5.4.1 CONVERTOARE DE COD a) Convertoare de cod din codul binar natural n codul binar reflectat b) Convertor de cod din codul binar reflectat n codul binar natural 5.4.2 CODIFICATOARE a) Codificatorul de adres simplu b) Codificatorul de adres prioritar 5.4.3 DECODIFICATOARE a) Decodificatoare de adres b) Decodificator BCD - zecimal c) Decodificator BCD - 7 segmente 5.4.4 CIRCUITE DE MULTIPLEXARE (MUX) a) Multiplexor cu dou intrri Multiplexor cu patru intrri 5.4.5 CIRCUITE DE DEMULTIPLEXARE (DEMUX) a) Demultiplexor cu dou ieiri b) Demultiplexor cu patru ieiri 5.4.6 COMPARATOARE NUMERICE a) Comparatorul numeric de un bit Comparatoare numerice de mai muli bii DETECTORUL I GENERATORUL DE PARITATE 5.4.8 ARII LOGICE PROGRAMABILE 6 CIRCUITE BASCULANTE BISTABILE (CBB)

38 40 40 41 44 45 46 46 46 46 47 47 48 49 51 53 53 54 54 56 58 58 59 60 61 61 61 62 62 63 64 64 64 65 67 69 70 70 70 71 71 71 71 72 74 75 79

123

6.1 6.2 6.2.1 6.2.2 6.2.3 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.4 6.4.1 6.4.2 6.4.3 6.4.4

GENERALITI CBB DE TIP S-R CBB DE TIP S-R ASINCRON CBB DE TIP S-R SINCRON CBB DE TIP S-R MASTER-SLAVE CBB DE TIP J-K CBB DE TIP J-K ASINCRON CBB DE TIP J-K SINCRON CBB DE TIP J-K MASTER-SLAVE CBB DE TIP J-K SINCRON PE FRONT CBB DE TIP D CBB DE TIP D ASINCRON CBB DE TIP D SINCRON CBB DE TIP D MASTER-SLAVE CBB DE TIP D SINCRON PE FRONT

79 79 79 83 85 89 89 90 90 92 93 93 93 93 94 96 96 96 96 98 99 100 100 102 102 104 105 106 108 108 108 110 112 112 113 113 113 115 115 116 116 117 118

7 NUMRTOARE 7.1 GENERALITI. DEFINIII 7.2 NUMRTOARE BINARE ASINCRONE 7.2.1 NUMRTOR BINAR ASINCRON DIRECT 7.2.2 NUMRTOR BINAR ASINCRON INVERS 7.2.3 NUMRTOR BINAR ASINCRON REVERSIBIL 7.3 NUMRTOARE BINARE SINCRONE 7.3.1 NUMRTOR BINAR SINCRON DE TIP SERIE 7.3.2 NUMRTOR BINAR SINCRON DE TIP PARALEL 7.3.3 NUMRTOR BINAR SINCRON REVERSIBIL 7.3.4 NUMRTORUL DECADIC 7.3.5 NUMRTOARE MODULO P REALIZATE PRIN ADUCERE LA ZERO DIVIZOARE PROGRAMABILE 8 REGISTRE 8.1 REGISTRE DE MEMORIE (RM) 8.2 REGISTRE DE MEMORIE MULTIPORT 8.3 REGISTRE DE DEPLASARE (RD) 8.4 REGISTRU COMBINAT (DE MEMORIE L DE DEPLASARE) RC 8.5 REGISTRU UNIVERSAL (RU) 8.6 EXEMPLE DE UTILIZARE 8.6.1 MEMORIE FIFO (FIRST IN FIRST OUT) 8.6.2 MEMORIA LIFO (LAST IN FIRST OUT) 8.6.3 CONVERTOR PARALEL-SERIE 8.6.4 CONVERTOR SERIE-PARALEL REGISTRE DE DEPLASARE CU REACIE a) Registrul de deplasare n inel b) Numrtorul Johnson c) Generatoare de secven

124