1

SISTEME DE NUMERAŢIE

Sistemele de numeraţie sunt ansambluri de reguli de reprezentare a numerelor cu ajutorul simbolurilor denumite cifre. Acestea pot fi poziţionale cum este sistemul zecimal şi nepoziţionale cum este sistemul roman. Într-un sistem poziţional de bază B un număr N cu parte întreagă şi parte fracţionară, separate prin punct (virgulă) se scrie sub forma următoare: (1.1) N = bn −1bn − 2 bn −3 ...b1b0 ⋅ b−1b− 2 b−3 ...b− (m −1) b− m , simbolurile bi sunt coeficienţii cu care se înmulţesc puterile Bi ale bazei în dezvoltarea polinomială a numărului pentru obţinerea valorii sale (exprimată în zecimal). N = bn−1 ⋅ Bn−1 + bn−2 ⋅ Bn−2 + bn−3 ⋅ Bn−3 +...+ b1 ⋅ B1 + b0 ⋅ B0 + b−1 ⋅ B−1 + b−2 ⋅ B−2 + b−3 ⋅ B−3 + −m (1.2) +...+ b−(m−1) ⋅ B−(m−1) + b−m ⋅ B−m = ∑bi Bi
i=n−1

Pentru oricare sistem de numeraţie simbolul bazei sistemului se scrie cu cifrele unuzero 10, iar numărul semnelor distincte pentru cifrele sistemului este egal cu B (de exemplu, pentru sistemul zecimal (0, 1, 2,..., 8, 9), B = 10 ; în sistemul de numeraţie binar (0,1), B = 2). Relaţia (1.2) explică de ce astfel de sisteme sunt denumite poziţionale; fiecare cifră bi, (din rangul i) intră în valoarea numărului respectiv cu o pondere dată de puterea „i" a bazei B. Fiecare număr se obţine din numărul anterior prin adăugarea unei unităţi la ultima cifră. În tabelul 1.1 sunt exprimate numerele naturale de la 0÷33 în sistemele de numeraţie cu baza B = 10, 2, 13, 16 (pentru fiecare poziţie scriindu-se şi puterea bazei). La sistemele de numeraţie cu baza mai mică decât zece se utilizează tot semnele arabe (cele specifice pentru baza 10), iar la cele cu baza mai mare decât zece se introduc simboluri noi; de exemplu, pentru sistemul în baza 16 (hexazecimal) se introduc următoarele simboluri 10=A, 11=B, 12=C, 13=D, 14=E, 15=F. Specificarea bazei în care sunt exprimate numerele există mai multe convenţii î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 număr dintr-o bază în alta. Algoritmul de conversie zecimal-binară, N|10 → N|2, pentru un număr întreg se deduce pornind de la expresia (1.2) sub forma: (1.3) N = bn−1 ⋅ 2 n−1 + bn −2 ⋅ 2 n− 2 + ... + b3 ⋅ 2 3 + b2 ⋅ 2 2 + b1 ⋅ 2 1 + b0 ⋅ 2 0 Prin împărţiri 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 obţin resturile care sunt tocmai biţii numărului N exprimat în binar, de exemplu 93|10→?|2 1

93=2⋅46+1→ bn-7 = 1 46=2⋅23+0→ bn-6 = 0 23=2⋅11+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 număr fracţionar (subunitar) se deduce pornind de la expresia: N 2 = b−1 ⋅ 2 −1 + b−2 ⋅ 2 −2 + b−3 ⋅ 2 −3 + ... + b−( m−1) ⋅ 2 − ( m−1) + b− m ⋅ 2 − m (1.5) Prin înmulţiri succesive cu 2 N × 2 = b−1 + b− 2 ⋅ 2 −1 + b−3 ⋅ 2 −2 + ... + b−( m−1) ⋅ 2 − ( m −2) + b−m ⋅ 2 − ( m−1)

N1 × 2 = b− 2 + b−3 ⋅ 2 −1 + ... + b−( m−1) ⋅ 2 − ( m−3) + b− m ⋅ 2 − ( m− 2) ………………………………………………………………….. N k −1 × 2 = b− k + b− k −1 + ... + b− m ⋅ 2 − ( m − 2 ) unde: b− 2 ⋅ 2 −1 + b−3 ⋅ 2 −2 + ... + b−( m−1) ⋅ 2 − ( m− 2) + b− m ⋅ 2 − ( m−1) = N1 ; b−3 ⋅ 2 −1 + ... + b−( m−1) ⋅ 2 − ( m−3) + b− m ⋅ 2 − ( m− 2) = N 2

(1.6)

b− k −1 + ... + b− m ⋅ 2 − ( m − 2 ) = N k se obţin părţi întregi (0 sau 1) care sunt tocmai biţii numărului N exprimat în binar, de exemplu 0.48932 10 = ? 2 . Înmulţirea se opreşte când partea fracţionară devine zero sau

când se consideră satisfăcător un număr 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 număr ce prezintă atât parte întreagă, cât şi parte fracţionară 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 înmulţită cu bitul din poziţia respectivă a numărului binar. Algoritmii deduşi mai sus (1.4) şi (1.6) pot fi aplicaţi şi în cazul conversiei zecimal-octal, zecimal-hexazecimal etc. Conversiile directe octal-binar, hexazecimal-binar, cât şi conversiile inverse binaroctal, binar-hexazecimal se realizează mult mai simplu datorită faptului că 8 şi 16 sunt puterile lui doi (23, 24). Un număr (mai mic decât baza) în octal şi în hexazecimal poate fi exprimat prin trei cifre binare (triadă) respectiv prin patru cifre binare (tetradă).

2

Tabelul 1.1 Numerele naturale până 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 N⏐10 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 N⏐2 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 N⏐16 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 N⏐13 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 corespondenţa dintre triade în numărarea binară şi numerele până la şapte la numărarea în baza 8, respectiv dintre tetrade în numărarea binară şi numerele până la 15 în numărarea în baza 16. Exemple: 001 101.111 010⏐2=15.78⏐8 unde: 001→1, 101→5, 111→7, 010→2; 2.04⏐8=10.0001⏐2 unde: 2→010, 0→000, 4→100; 1001 0000 1111 0010 1010⏐2 = 90F.2A⏐16 şi 1D.C⏐16 = 0001 1101.1100⏐2 unde: 1001→9, 0000→0, 1111→F, 0010→2, 1010→A, 0001→1, 1101→D, 1100→C. Conversiile inverse binar-hexazecimal, binar-octal se realizează delimitând cuvântul binar de la dreapta spre stânga (sau pornind de la punctul părţii fracţionare în ambele sensuri) în tetrade sau triade şi înlocuindu-le cu cifrele corespunzătoare din sistemul hexazecimal, respectiv din sistemul octal. Conversiile directe hexazecimal-binar, octal-binar (care în fond sunt considerate codificări hexazecimal-binar, octal-binare se realizează simplu prin substituţia cifrelor hexazecimale sau octale prin tetrade sau triade corespunzătoare. 3

care se codifică sub formă de cuvinte binare. hexazecimal-binare etc.. s3. în general de 8. sp au aceeaşi lungime (dar în acest caz aplicaţia nu este totdeauna surjectivă). Corespondenţa între un număr în sistemul binar şi un cuvânt (de cod) în binar poate fi chiar identitate.1}. zecimal-binare.1 CODURI Codificare presupune realizarea unei schimbări a formei de exprimare a informaţiei. reprezentate ca în tabelul 1. rezultând respectiv coduri binare. bn}. octal-binare. xp} mulţimea simbolurilor primare. sp formează o nouă mulţime S = { s1. x2. .…. rezultă deci două tipuri de coduri. numerice şi respectiv coduri alfa-numerice. Pentru microprocesoarele standard lungimea este de 8 biţi. altfel spus o translatare de limbaj. deci o mărime fizica exprimată printr-un cuvânt de 8 biţi poate fi măsurata cu o rezoluţie de 1/256.1. a) Reprezentarea numerelor întregi fără semn. 32 biţi.3.2. .. la fel cu capacitatea minimă de 8 biţi. deci codificarea este o aplicaţie bijectivă de forma f: X → S. zecimal. s3. 16. deci cuvintele mulţimii S (care formează codul pentru informaţia primară) sunt cuvinte binare de o anumită lungime. În cazul 4 . s2. b3. octal. s2. .2 Reprezentarea unui cuvânt cu lungimea de 8 biţi într-un registru sau o locaţie de memorie.1. În electronica digitală mulţimea B este mulţimea binară {0. Fie X = {x1. Cu aceste consideraţii putem acum defini codificarea ca o corespondenţă biunivocă între cele două mulţimi X şi S. adică cuvântul de cod este chiar numărul respectiv ca în tabelul 1..1 Reprezentarea numerelor Prin intermediul cuvintelor binare se pot codifica numere din sistemul de numeraţie binar. …. Un cuvânt de 1 bait (8 biţi) poate reprezenta numere între 0 şi 255. s2. poate fi compusă numai din simboluri numerice (numere) sau atât din simboluri numerice.. Codul este uniform dacă toate cuvintele s1. suportul fizic care implementează cuvântul poate fi un registru cu capacitatea minimă de 8 biţi sau o locaţie din memorie. 1. cât şi literale şi semne de ortografie (evident cu semantica ce li se atribuie)... emise de o sursă de informaţie şi care urmează a fi codificate prin intermediul unor simboluri elementare dintr-o altă mulţime B = {b1. hexazecimal etc.. Tabelul 1.. 24. sp }. b2. s3. astfel încât modelul de codificare va fi reprezentat prin corespondenţa biunivocă: x1 ↔ b1b3b1b4 = s1 x2 ↔ b2b1b2 = s2 x3 ↔ b3b1b1b5 = s3 xp ↔ b1b3b1b4 = sp Cuvintele de cod s1. b7 b6 b5 b4 b3 b2 b1 b0 ……………………………… Bitul cel mai semnificativ (MSB) Bitul cel mai puţin semnificativ (LSB) În tehnica microprocesoarelor informaţia primară.. Prin operaţia de codificare se asociază fiecărui element x ∈ X al sursei primare de informaţie o secvenţă de simboluri bi ∈ B. x3.

b. Un număr zecimal m poate fi exprimat în binar printr-un număr de biţi egal cu log2 m.4 Reprezentarea numărului binar fracţionar echivalentul lui 22. tabelul 1.4.c). Există trei forme (mai uzuale) de reprezentare a numerelor binare cu semn: în mărime şi semn. Uneori. trei sau mai mulţi octeţi alăturaţi. cu semn. Tabelul 1.25+0.3 Reprezentarea numărului binar întreg echivalentul lui 179⏐10 Coeficienţii Cuvântul binar Puterile bazei Valorile termenilor Total b7 1 27 1×27=1 28 b6 0 26 0×26= 0 Număr binar întreg fără semn b5 b4 b3 b2 1 1 0 0 25 24 23 22 b1 1 21 1×21= 2 b0 1 20 1×20= 1 1×25= 1×24= 0×23= 0×22= 32 16 0 0 128+0+32+16+0+0+2+1=179 b) Reprezentarea numerelor fracţionare fără semn.125 16+0+4+2+0+0+0.c) Codificarea numerelor ±125 Bit de semn 0 Reprezentarea numărului în baza 2 1 1 1 1 1 0 1 Valoarea în baza 10 +125 Reprezentare în mărime şi a 5 . La fel ca şi numerele întregi. Punctul (virgula) nu se reprezintă fizic (în registru sau în locaţia de memorie). dar programatorul trebuie să ştie între care biţi ai cuvântului este localizat. Bitul bn-1 cel mai semnificativ (MSB) al registrului adăugat la cei n-1 biţi va reprezenta semnul numărului: bn-1 = 1 pentru minus.25 1 2-3 1×2-3= 0. + b3 ⋅ 23 + b2 ⋅ 22 + b1 ⋅ 21 + b0 ⋅ 20 = ∑bi ⋅ 2i i =0 n−2 (1. fiecare număr binar de n biţi (având valoarea maximă 2n-1) este înmulţit (scalat) cu 2-n. Tabelul 1.5 (a. intervalul de reprezentare în microprocesor fiind între 0 şi 1-2-n). Pentru reprezentarea unui număr binar N întreg. numerele fracţionare binare pot fi reprezentate printr-un cuvânt binar. în complement faţă de 1 şi în complement faţă de 2. Tabelul 1. punctul (virgula) se consideră ca fiind localizat în faţa bitului celui mai semnificativ (valoarea maximă se reduce la 1-2-n.b. tabelul 1.9) În tehnica microprocesoarelor este necesar un registru sau o locaţie de memorie cu capacitatea de n biţi.125=22.. cu valoarea absolută N N = bn−2 ⋅ 2n−2 + bn−3 ⋅ 2n−3 + bn−4 ⋅ 2n−4 + .375 c) Reprezentarea numerelor cu semn. deci se reduce la un număr subunitar.375⏐10 Cuvântul binar Puterile bazei Valorile termenilor Total 1 24 1×24=1 6 0 23 0×23=0 Număr binar fracţionar fără semn 1 1 0 0 22 1×22=4 21 1×21=2 20 0×20=0 2-1 0×2-1= 0 1 2-2 1×2-2= 0.când această rezoluţie nu este satisfăcătoare pentru mărimea respectivă (se exprimă printrun număr mai mare de 256) cuvântul care o reprezintă în microprocesor va fi format din doi. de n-1 biţi N = ± bn-2 bn-3 bn-4 … b4 b3 b2 b1 b0 .. bn-1 = 0 pentru plus.5 (a.

1 0 1 0 1 27 (-1)×2 = -128 7 1 1 0 1 0 26 0×2 = 0 6 1 1 0 1 0 25 0×2 = 0 5 1 1 0 1 0 24 0×2 = 0 4 1 1 0 1 0 23 0×2 = 0 3 1 1 0 1 0 22 0×2 = 0 2 0 0 1 0 1 21 0×2 = 2 1 1 1 0 1 1 20 1×2 = 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 mărime şi semn. (1.. Fie numărul N cu lungimea de n-1 biţi: N = bn− 2 bn−3bn−4 .13) şi (1. obţinându-se conform relaţiei (1. doar în unele voltmetre digitale. + b1 ⋅ 2 1 + b0 ⋅ 2 0 = (− 1) n −1 ∑ bi 2 i b b i =0 [ ] n−2 (1. adică este chiar numărul de n-1 biţi la care se adaugă în poziţia cea mai semnificativă bn−1 = 0 ..b4 b3b2 b1b0 (1. de lungime n-1 biţi...16) ( ) ( ) ( ) 6 . Adunând relaţiile (1.5 b. Valoarea în zecimal a numărului cu semn se scrie sub forma: N = (− 1) n −1 bn − 2 ⋅ 2 n − 2 + bn −3 ⋅ 2 n −3 + .14) Practic. bn-1 = 0 pentru plus.11).13) negatul acestui număr N (sau complementul faţă de 1) se obţine prin complementarea fiecărui bit: N = b n − 2 b n −3 b n −4 .10) şi (1. restul biţilor bn-2bn-3…b3b2b1b0.15) n −1 Codurile de n biţi pentru numerele întregi pozitive N ≤ 2 − 1 se obţin... Zero are două exprimări +0→00000000 şi -0→10000000. Această reprezentare în mărime şi semn are o utilizarea redusă.. iar în poziţia cea mai semnificativă se adaugă bitul bn −1 = 1 .b 4 b 3 b 2 b 1 b 0 (1. Codurile pentru numerele negative de n-1 biţi N ≤ − 2 n−1 − 1 se obţin prin complementarea fiecărui bit bi → b i . reprezintă numărul în valoare absolută ⏐N⏐.10) şi se poate situa în intervalul: − 2 n−1 − 1 ≤ N ≤ 2 n−1 − 1 .14) se obţine: N + N = 111.11) se deduce că un cuvânt de microprocesor standard (de un bait) poate exprima numere în domeniul -127÷+127.5 a. adică împărţit cu 2n-1. 2 Pentru numărul scalat se consideră că punctul (virgula) este situat totdeauna după bitul de semn. complementul unui număr se poate realiza cu o structură de circuit SAU EXCLUSIV. la fel ca la reprezentarea prin mărime şi semn.11) Din relaţiile (1. e) Reprezentarea numerelor binare (cu semn) în complement faţă de 1.b 4 b 3 b 2 b 1 b 0 (1. În această reprezentare bitul bn-1 = 1 pentru minus. tabelul 1. de 1 = 1 b n− 2 b n−3 b n−4 . adică: − N în comp. MSB..12) − (1 − 2 − n +1 ) ≤ n −1 ≤ (1 − 2 − n + 2 ). Acest număr N cu semn. domeniul de existenţă a valorii numărului: N (1. poate fi reprezentat şi scalat. tabelul 1.111 (1...

Bitul de semn este bn −1 = 1 . ci prin complementul lui faţă de 2n şi se scrie sub forma (-N): (1.. se ataşează bitul de semn (cel mai semnificativ) de valoare bn-1 =1.Într-un registru de n biţi se înscriu în complement faţă de 1 numere (de n-1 biţi) a căror valoare este în intervalul dat de relaţia (1. iar pentru zero corespunde o singură reprezentare 0000 0000. relaţia (1.18) Un număr pozitiv N de n-1 biţi se codifică în complement faţă de doi.. 1111 1111.5 c.12).21) − 2 n −1 ≤ N ≤ 2 n − 1 − 1 De exemplu.8) se obţine: (N ) = −bn−2 bn−3bn−4 . tabelul 1. Următorii n-1 biţi sunt exact biţii numărului N. Evident.15) se obţine: N + N + 1 = 100 . se adună 1 la bitul cel mai puţin semnificativ. f) Reprezentarea numerelor binare (cu semn) în complement faţă de 2. punctul (virgula) considerându-se a fi situat după bitul de semn. identic ca în complement faţă de unu sau ca mărime şi semn. Se convine a se exprima numărul negativ -N nu prin valoarea sa reală. un cuvânt de un bait poate codifica numerele din intervalul [-128. şi în complement de 2 numerele pot fi scalate (înmulţite cu 2-n+1) adică aduse în intervalul: N (1.. şi se adaugă bitul de semn 1000 0011. 1000 0010 + 1 = 1000 0011. se adună 1 la bitul cel mai puţin semnificativ b0..b 4 b 3 b 2 b 1 (b 0 + 1) N = 0 ⋅ 2 n −1 + ∑ bi ⋅ 2 i n−2 (1. Zero are două reprezentări: 0000 0000. Practic complementul faţă de 2 al numărului -N se obţine în felul următor: se complementează toţi biţii numărului N. deci cu bitul de semn cuvântul în cod complement de doi are n biţi. într-o altă modalitate: numărul -125<128 = 27 sub forma unui cuvânt de 8 biţi se scrie 0111 1101. Un număr negativ -N de n − 1 biţi se codifică în complement faţă de doi..11). ca şi în complement faţă de 1.17) n în care numărul 2 − N este denumit complementul lui N faţă de doi. dar în plus se adună unu la bitul cel mai puţin semnificativ.22) − 1 ≤ n −1 ≤ 1 − 2 −n +1 2 7 .18). De exemplu: N = −125 10 → 1111101 2 .b4 b3b2 b1b0 (− N ) = 2 n − N = N + 1 (− N ) = 1 b n−2 b n−3 b n−4 . adică sub forma unui cuvânt de n biţi cu bitul cel mai semnificativ bn−1 = 0 . se complementează 0000010. Pentru un număr oarecare de n-1 biţi dat sub forma (1. Această valoare poate fi scalată la fel cu 2n-1 obţinându-se relaţia (1. +127] fiind cu 1 mai multe numere negative decât pozitive..19) Valoarea zecimală a unui număr binar codificat în complement de doi este: pentru N > 0 pentru N < 0 (1. Sau. se adună 1. Din relaţia (1.000 sau 2n − N = N + 1 (1. se complementează 1000 0010. în tehnica microprocesoarelor.20) se deduce că într-un cuvânt de n biţi poate fi codificat un număr de n-1 biţi a cărui valoare se situează în intervalul: (1.20) i =0 n−2 N = (− 1) ⋅ 2 n −1 + ∑ b i ⋅ 2 i i =0 Din relaţiile (1. 000 0010+ 1 =000 0011. Codificarea numerelor binare cu semn în complement faţă de doi este foarte utilizată. deoarece simplifică efectuarea operaţiilor aritmetice.

11). În cazul când un cuvânt extins pe mai mulţi octeţi nu satisface precizia de calcul. Numerele fracţionare pot fi apoi scalate prin împărţire cu 2n-1. Stabilind corespondenţe între mulţimea cifrelor zecimale şi mulţimea celor 16 cuvinte 10 binare de patru biţi se obţin în total A16 posibilităţi de codificare. g) Reprezentarea numerelor în virgulă flotantă. Cuvintele de cod trebuie să aibă cel puţin patru biţi.9. denumită mantisă M. Toate aceste codificări scalate cu punctul (virgulă) după bitul de semn se mai numesc reprezentări în virgula fixă.3.1).6 Reprezentarea numărului în virgulă flotantă pe patru octeţi consecutivi. în primii trei octeţi este reprezentată mantisa cu semnul corespunzător. BCD (Binary Coded Decimal) mulţimea X a sursei primare de informaţie care trebuie codificată este formată din simbolurile cifrelor 0. Prima E. se trece la reprezentarea în virgulă mobilă (flotantă).5. Un număr N reprezentat în virgulă flotantă are două componente. în figura 1. 8 .22).Toate consideraţiile privind codificarea numerelor cu semn s-au făcut pentru un număr întreg de n biţi ca în relaţia (1. Dacă numerele care se codifica au valori în afara intervalului dat de relaţiile (1. denumită exponent. N=M×BE în care B este baza (de obicei 2). atunci se pot folosi cuvinte formate din mai mulţi octeţi. 1. deci punctul (virgula) va fi situat după bitul de semn. deoarece 23 < 10 < 24 = 16. Un microprocesor standard procesează numerele în virgulă flotantă printr-un număr mare de operaţii 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.6 sunt repartizaţi pentru număr 4 octeţi. (1. dar în acest caz este necesar pentru codificare un cuvânt de lungimea n+m biţi plus un bit de semn.2 Coduri numerice a) Coduri zecimal-binare (BCD) În această clasă de coduri zecimal-binare. iar mulţimea cuvintelor de cod trebuie să conţină cel puţin zece cuvinte distincte. mai mult decât un bait.1. iar a doua.7. 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 aceşti patru octeţi se pot reprezenta numere în intervalul -223×2127≤N≤223×2127 (sau scalate în intervalul -1× 2-128 ≤ N ≤ 1×2-128) adică numere de forma: ±XXX XXXX XXXX XXXX XXXX XXXX⋅2±××× ×××× în care x are valoarea 1 sau 0. dă indicaţii asupra ordinului de mărime al numărului.6.4. într-o reprezentare pe un registru sau în memorie. Acestea pot fi extinse şi asupra numerelor fracţionare date sub forma (1.12).2.1. sau rezoluţia cu care se reprezintă o mărime fizică.8. cât şi pentru exponent se poate repartiza.8). (1. De exemplu.21) sau (scalate) de relaţiile (1. iar în al patrulea octet exponentul cu semn. Tabelul 1. Atât pentru mantisă. Din acest mare număr de coduri posibile există anumite variante mai uzuale care pot fi împărţite în: coduri ponderate şi coduri neponderate. dă indicaţii asupra mărimii exacte a numărului într-un anumit domeniu.

în cuvântul din cod.7 Coduri zecimal . la care se adaugă 0011. Deci cele două cifre zecimale complementare faţă de 9 (0 cu 9. ponderaţi cu valoarea corespunzătoare din denumirea codului. bitul unu ponderea 2(=21). în codul 7421 pentru cifra 7 pot exista cuvintele 0111 sau 1000. Ambiguitatea este înlăturată dacă se utilizează din toate cuvintele de cod uniform numai acelea care corespund numărului maxim de biţi semnificativi (0111). Un cod ponderat asociază fiecărei cifre zecimale o tetradă binară. 1011⏐2421 = 1x2+0x4+1x2+1x1 = 5⏐10. la Universitatea Harward.b) Coduri ponderate. bitul zero are ponderea 1(=2°). 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 . În cazul codului 2421 cifra 6 are două cuvinte 1100 şi 0110. c) Coduri neponderate. Deoarece fiecare bit are ponderea numărării în binar şi cuvintele de cod chiar numerele succesive în sistemul binar natural. Unele cifre zecimale pot fi reprezentate în mai multe variante. De exemplu. bitul doi ponderea 4(=22) şi bitul trei ponderea 8(=23). De exemplu. 2 cu 7. cele mai uzuale. În codul EXCES 3 se poate face distincţie. aceeaşi regulă se aplică pentru obţinerea cuvântului de cod al cifrei 6 din cel al cifrei 3. 1001⏐4221 =1x4+0x2+0x2+1x1 =5⏐10. al cifrei zecimale respective. 1 cu 8. iar ponderea fiecărui bit din tetradă este egală cu valoarea cifrei din denumirea codului. s-a ales cuvântul de cod 1100 din motivele expuse în continuare. În continuare. Cuvântul de cod în EXCES 3 se obţine din cuvântul de cod 8421. De exemplu. Codurile neponderate. Cifra zecimală codificată se obţine prin suma biţilor din cuvântul de cod. Codurile ponderate 2412 (codul Aiken — după numele profesorului Howard Aiken.binare. adică lx8+0x4+0x2+ +1x1 =9.7. În terminologia curentă este denumit (impropriu) doar codul BCD. precursorul primelor calculatoare electronice) şi 4221 au pentru primele patru cifre zecimale aceeaşi exprimare ca şi codul 8421. 9 . Aceeaşi regulă de fixare a ponderii bitului din cuvântul de cod.6. 8 din 1 şi 9 din 0. acest cod se mai numeşte codul zecimal-binar natural NBCD (Natural-Binary-Coded-Decimal). cifra 9 se codifică 1001. sunt cele prezentate în tabelul 1. între anii 1939—1944. tabelul 1. Tabelul 1.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. egală cu cea din notaţia codului. adică 3 în binar. o maşină de calcul automată MARK I. se respectă la toate celelalte coduri ponderate. pentru o locaţie a memoriei sau un registru. între lipsa unei informaţii înscrise şi înscrierea lui zero. Codurile ce prezintă această proprietate sunt denumite şi coduri autocomplementare. care a realizat. 3 cu 6. cuvântul corespunzător cifrei 5 se obţine din cel al cifrei 4 prin complementare (complement de 1). respectiv 7 din 2. 4 cu 5) au cuvintele de cod obţinute prin inversare.

În codurile detectoare de erori fiecare cuvânt de cod are un număr par sau impar. în felul acesta. 1↔001. 7↔111. 2↔010. într-un registru cu capacitatea de un bait. La recepţie se numără în fiecare cuvânt numărul de biţi 1 şi se determină dacă este par sau impar ştiind. dintre care numai doi biţi sunt semnificativi (au valori egale cu 1). cifra trei se reprezintă astfel 10011. Acesta are proprietatea de adiacenţă. Tabelul 1. codificarea în diagrama Karnaugh de minimizare a funcţiilor logice). f) Coduri octal-binar şi hexazecimal-binar Codul octal-binar realizează corespondenţa biunivocă între cifrele sistemului de numeraţie în baza opt şi cuvintele formate din trei biţi (triade) în felul următor: 0↔000. cuvântul de cod 8421 pentru numărul zecimal 86. de biţi 1. astfel încât numărul de biţi 1 să fie par sau impar (după convenţia codului). numărul 9438⏐10 va avea corespondentul 1001 0100 0011 1000 în cod 8421. Acest cod creează posibilitatea controlului (detectării) erorilor multiple la transmiterea informaţiei. Dacă numărul zecimal este mai mare de 99. 4↔100. 3↔011. dacă. Acesta prezintă un cuvânt de cod de 5 biţi. 5↔101. d) Codul Gray. atunci cuvântul de cod necesită mai mult de un bait. În acest fel se realizează o unicitate a reprezentării.8 Reprezentarea printr-un cuvânt de un bait a numărului 86⏐10 în codul NBCD 101 zeci 100 unităţi 1 23 1×23=8 0 0 22 21 0×22=0 0×21=0 1 8×10 =80 0 20 0×20=0 0 23 0×23=0 1 1 22 21 1×22=4 1×21=2 0 (2+4) ×10 =6 0 20 0×20=0 Total 80 + 6 = 86 Transmiterea informaţiei prin medii puternic influenţate de zgomote poate fi însoţita. 6↔110. Cu regulile expuse se poate verifica doar modificarea pe calea de transmisie a cuvântului de cod ca un număr impar de biţi. În tabelul 1. e) Codul 2 din 5. de exemplu. Există coduri mai complexe care pe lângă faptul că determină bitul eronat şi corectează acest bit. denumite coduri corectoare. în sensul că trecerea de la o cifră zecimală la următoarea se face prin modificarea unui singur bit din cuvântul de cod.8 este reprezentat. în care biţii informaţionali sunt 0011 (=3). Acest cod este util pentru mărimile care cresc succesiv (traductoare unghiulare de poziţie. de introducerea de erori. realizând o paritate impară. Şi în codurile BCD se pot reprezenta numere cu semn.deoarece zero este codificat prin 0011 (a dispărut din cod cuvântul 0000. La fel.6. La emisie se adaugă sau nu fiecărui cuvânt un bit unu. întrucât din cele 25 = 32 de cuvinte posibile cu 5 biţi numai 10 satisfac condiţia (2 din 5). dar în acest caz este necesar în cuvântul de cod un bit în plus pentru reprezentarea semnului. iar bitul al cincilea =1 este bitul de paritate care se adaugă la emisie. modificarea cu un număr par nu poate fi sesizată şi în plus nu se poate şti în care poziţie a cuvântului s-a modificat bitul. pe calea de transmisie. tabelul 1. Verificarea transmiterii corecte a datelor se poate face cu ajutorul unor coduri speciale denumite coduri detectoare de erori. informaţia a fost eronată. De exemplu. ceea ce reprezintă lipsa unei informaţii). codul hexazecimalbinar realizează corespondenţa biunivocă între cifrele sistemului de numeraţie în bază 16 şi 10 . pentru codul 8421 cu bit de paritate. De exemplu.

C↔1100. 0 întrebare firească se pune uneori pentru codificare. Tabelul 1. 5↔0101. Codificarea acestor caractere necesită minim 7 biţi (27 = 128>88). caractere si mulţimea cuvintelor (binare) de cod de o lungime oarecare. comenzi etc.3 Coduri alfanumerice Codurile alfanumerice stabilesc o corespondenţă biunivocă între mulţimea informaţiei primare X (relaţia (1. 7↔0111. de exemplu. Codificarea datelor alfanumerice este necesară pentru a putea memora mesaje sau a reprezenta grafic mesaje. ordinea normală a literelor în alfabet).9 Exprimarea binară a opt mărimi fizice într-un bait. E↔1110. denumite. 2↔0010.7)) formată din cifre.). În cazul sistemelor industriale de comandă în timp real un cuvânt binar de un bait poate codifica 8 variabile binare (care reprezintă mărimi fizice cu două stări). în tabelul 1. litere şi semne speciale. 9↔1001. iar unele acceptă codul EBCDIC (Extended Binary Coded Decimal Interchange Code — codul pentru transferuri cu codificarea zecimal-binară extinsă).cuvintele succesive de patru biţi (tetrade) din sistemul de numeraţie binar în felul următor: 0↔0000.1. în tehnica microprocesoarelor lucrându-se cu un cuvânt de un bait. Aceşti biţi pot fi procesaţi separat ( ca în cazul circuitelor logice) sau se operează asupra întregului cuvânt ceea ce este propriu sistemelor cu microprocesoare. în care sunt cuprinse 52 simboluri pentru minusculele şi majusculele alfabetului. 1. Codurile ASCII şi EBCDIC au o structură asemănătoare. cum poate să identifice µP între codul unui număr şi codul unui caracter alfanumeric în cazul când cele două cuvinte sunt identice? Sarcina de a fi tratat deosebit acelaşi cuvânt revine programatorului prin modul de poziţionare a celor două cuvinte în spaţiul memoriei. În mod normal este util a se codifica 88 de caractere distincte. 8↔1000. 6↔0110.9. al optulea bit din cuvânt poate fi utilizat pentru verificarea parităţii. 10 simboluri pentru cifrele zecimale şi 26 de caractere speciale (de punctuaţie. La majoritatea microprocesoarelor s-a adaptat codul ASCII (American Standard Code for Information Interchange — codul american standard pentru schimb de informaţii). B↔1011. 4↔0100. F↔1111. D↔1101. 3↔0011. în general. A↔1010. codul ASCII având o eficienţă mai mare în situaţia comparării unor caractere care urmează în secvenţă normală (de exemplu. 1↔0001. Cuvântul de 8 biţi 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 Nedepăşit Depăşit Valoarea minimă Valoarea maximă Valoarea minimă Valoarea maximă Valoarea minimă Valoarea maximă 11 .

Ulterior metoda a fost dezvoltată şi aplicată şi în alte domenii ale matematicii. Claude Shannon a folosit-o pentru prima oară la analiza circuitelor de comutaţie. iar starea acestora nu poate fi decât închis sau deschis. în domeniul tehnic cel puţin. magnetice sau optice sunt avantajoase din multe puncte de vedere pentru acest scop. rezultă că din punct de vedere formal atât logica cât şi circuitele de comutaţie vor putea fi tratate cu o algebră definită pe o mulţime formată din două elemente.2) b) sunt asociative: ( x1 ⋅ x 2 ) ⋅ x 3 = x1 ⋅ ( x 2 ⋅ x 3 ). Exprimarea cantitativă a informaţiei se face prin diferiţi parametrii ai acestor semnale ca: amplitudine. Această mulţime formează o algebră dacă: 1. engleză BInary digiT (cifră binară).1) 3. sunt în submulţimi ale mulţimii numerelor reale şi cel puţin teoretic chiar pentru variaţii oricât de mici numărul valorilor este nelimitat. (2. Folosirea semnalelor electrice (sarcină. în limba engleză) aceşti parametri pot lua numai valori discrete. În exprimarea curentă referirea la unu sau zero logic se face prin cuvântul bit. Mulţimea M conţine cel puţin două elemente distincte x1 ≠ x2. Astfel. x1 ∈ M şi x2 ∈ M. măsurabilă sau nemărginită. Posibilităţile organismului uman sunt limitate în ceea ce priveşte identificarea. de exemplu 0 şi 1. în anul 1938.2 ELEMENTE DE ALGEBRĂ BOOLEANĂ Activitatea umană. Domeniile valorilor acestor parametrii. frecvenţă. Având în vedere cele menţionate. curent). . x1 + x2 = x2 + x1 . se desfăşoară prin analiza şi prelucrarea informaţiei care se prezintă sub diferite forme cu caracteristici diverse. ca mărimi analogice. Astfel. constantă sau variabilă. Algebra booleană este definită pe baza următoarelor axiome: Fie o mulţime M compusă din elementele x1. Algebra booleană (de la numele matematicianului englez George Bool. ce vor fi definite ulterior. măsurarea. prelucrarea şi stocarea mărimilor care caracterizează materia şi diverse fenomene şi de aceea omul se foloseşte de mijloace tehnice concepute şi realizate cu scopul reprezentării şi procesării informaţiilor. Operaţiile "⋅" şi "+" au următoarele proprietăţi: a) sunt comutative: x1 ⋅ x2 = x2 ⋅ x1 . În teoria digitală (digit . tensiune. (2. a fost concepută ca o metodă simbolică de tratare a funcţiilor logicii formale. 1815-1864.logica studiază valoarea de adevăr sau fals a unor afirmaţii care nu pot fi decât adevărul sau falsul. algebra booleană s-a impus ca fiind cel mai important mijloc matematic de analiză şi sinteză a circuitelor de comutaţie. Pentru orice x1 ∈ M şi x2 ∈ M avem: x1 ⋅ x2 ∈ M şi x1 + x2 ∈ M . formă. De atunci. previzibilă sau aleatoare. … xn împreună cu operaţiile "⋅" şi "+". 2. abreviaţie din l.circuitele de comutaţie sunt realizate prin interconectarea unor comutatoare. care a pus bazele algebrei logice).cifră. Acestea se reduc pentru majoritatea cazurilor uzuale la două niveluri considerate prin convenţie "1" (unu logic) şi "0" (zero logic). deoarece între logica formală şi circuitele de comutaţie există următoarea analogie: .3) ( x 1 + x 2 ) + x 3 = x1 + ( x 2 + x 3 ) c) sunt distributive una faţă de cealaltă: 12 . (2. informaţia poate fi: continuă sau cuantificată. fază. x2.

1 Denumirea operaţiilor Matematică Prima lege de compoziţie x1+x2 A doua lege de compoziţie x1⋅x2 Elementul invers Logică Disjuncţie Tehnică SAU x1 ⋅ ( x 2 + x 3 ) = x1 ⋅ x 2 + x1 ⋅ x 3 . Tabelul 1. precum şi notaţia x pentru elementul invers. Dacă mulţimea M nu conţine decât două elemente. Prin diagrama Venn.2 Tabelul de adevăr al operaţiilor de bază. proprietate cunoscută sub numele de principiul terţului exclus. pentru aceste legi de compoziţie se folosesc denumiri şi notaţii specifice.4) x1 + ( x 2 ⋅ x 3 ) = ( x1 + x 2 ) ⋅ ( x1 + x 3 ) 4. aşa cum rezultă din tabelul 2. În logică. Prin tabelul de adevăr se stabileşte o corespondenţă între valorile de adevăr ale variabilelor şi valoarea de adevăr a funcţiei. Elementul x este inversul elementului x. 5.1. x + x = 1 . Figura 2. x1 ⋅ 1 = 1 ⋅ x1 = x1 (2.1. respectiv "⋅".1 ¬x x INTERPRETAREA OPERAŢIILOR ALGEBREI BOOLEENE Semnificaţia legilor de compoziţie poate fi ilustrată în mai multe moduri: 1. Cu ajutorul tabelelor de adevăr. 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 . Ambele operaţii admit câte un element neutru cu proprietatea: x1 + 0 = 0 + x1 = x1 . proprietate cunoscută sub numele de principiul contradicţiei. 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 proprietăţile: x ⋅ x = 0 . figura 2. În definiţia axiomatică a algebrei s-au folosit două legi de compoziţie notate cu simbolurile "+".5) unde 0 este elementul nul al mulţimii iar 1 este elementul unitate al mulţimii.(2. respectiv în tehnică. x1 ∨ x2 Conjuncţie x1 ∨ x2 ŞI x1⋅x2 NU x1 ∧ x2 Negare x 2. Tabelul 2.1 Ilustrarea semnificaţiei legilor de compoziţie prin diagrame 2.

11) Dubla negaţie duce la o afirmaţie. două întrerupătoare K1. Plecând de la axiome se deduc o serie de teoreme care vor forma reguli de calcul în cadrul algebrei. aşa cum este indicat în tabelul 2. Principiul dublei negaţii x=x (2. x1 ⋅ ( x1 + x2 ) = x1 .2 c. c) circuit NU.13) f 1 ( x1 x 2 ) = x1 ⋅ x2 şi f 2 ( x1 x2 ) = x1 ∨ x 2 Vom scrie valorile de adevăr ale celor două funcţii în toate punctele domeniului de definiţie. +x = x (2. Întrerupătoarelor Ki li se asociază variabilele xi astfel: Ki deschis ⇒ xi = 0. 2. Formulele lui De Morgan x1 ⋅ x2 = x1 + x2 14 .12) x1 + x2 = x1 ⋅ x2 Cu ajutorul acestor formule se poate transforma produsul logic în sumă logică şi invers (prin trecerea negaţiei de la termeni la argumente şi invers).7) (2.6) (2... x+1=1 5.. Notăm: (2. Legile elementelor neutre x⋅1=x.3. La aplicarea semnalului de comandă x întrerupătorul K se deschide şi becul se stinge. Cu aceste precizări se poate urmării uşor funcţionarea circuitelor din figura 2. Legile de absorbţie x⋅x .Pentru o mai bună înţelegere a sensului acestor operaţii. ⋅x = x. b) circuit SAU. 1. K2 şi un bec B. Becul B va indica rezultatul operaţiei astfel: dacă rezultatul este zero becul B rămâne stins iar în caz contrar se aprinde. Verificarea acestor teoreme se poate face uşor cu ajutorul tabelelor de adevăr şi cu observaţia că două funcţii sunt egale dacă iau aceleaşi valori în toate punctele domeniului de definiţie. ele vor fi ilustrate şi cu ajutorul unor scheme simple realizate cu o sursă de tensiune E. Legile de idempotenţă 3. x1 + x1 ⋅ x2 = x1 4.10) (2.2 Ilustrarea semnificaţiei legilor de compoziţie prin circuite simple: a) circuit ŞI.2. x+x+ . 2.8) (2. Ki închis ⇒ xi = 1. întrerupătorul K este normal închis (becul B este aprins). Figura 2. Sunt prezentate în continuare principalele teoreme fără demonstraţii. SAU.9) (2. ce realizează operaţiile ŞI.2 REGULI DE CALCUL ÎN ALGEBRA BOOLEANĂ.. Pentru exemplificare să verificăm prima teoremă a lui De Morgan. În cazul circuitului inversor din figura 2. x+0=x. x⋅0=0. NU.

Funcţia va pune în corespondenţă fiecărui element al produsului cartezian n dimensional valorile zero sau unu. Asocierea unei funcţii booleene cu o reţea de întrerupătoare. un tranzistor blocat sau în conducţie etc.1 Generalităţi 0 funcţie f: {0.Tabelul 2. Existenţa sau inexistenţa unei căi de curent între bornele terminale ale ansamblului va depinde de modul de interconectare al acestora. b) diagrama Karnaugh.14) 2. precum şi de starea fiecăruia în parte. Această dependenţă se exprimă din punct de vedere matematic cu o funcţie booleană de forma: y = f ( x1 . cum ar fi de exemplu: un întrerupător închis sau deschis.3.2 Reprezentarea funcţiilor booleene Pentru reprezentarea funcţiilor booleene se folosesc în mod frecvent două modalităţi: a) tabelul de adevăr.3 se observă că funcţiile f1 şi f2 iau aceleaşi valori în toate punctele domeniului de definiţie deci sunt egale. 2. Funcţionarea unui astfel de element de circuit va fi descrisă de o variabilă booleană x.3 Verificarea egalităţii a două funcţii x2 x1 x1⋅x2 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. ele se reprezintă ca în fig. xn )... x2 .3.xn) ce se va caracteriza prin faptul că atât variabilele cât şi funcţia nu pot lua decât două valori distincte. Asemenea funcţii vor fi utile pentru caracterizarea funcţionării unor circuite construite cu elemente de circuit având două stări. x2 . o funcţie de n variabile y=f(x1. 2. 1} se numeşte funcţie booleană. Figura..3. Dacă considerăm acum un ansamblu de întrerupătoare interconectate între ele într-un mod oarecare. Cu alte cuvinte.3. 2.3 FUNCŢII BOOLEENE 2. (2.. unele închise altele deschise. l}n →{0. Reprezentarea cu tabelul de adevăr înseamnă practic a marca într-un tabel corespondenţa între valorile de adevăr ale variabilelor de intrare şi valoarea de adevăr a funcţiei în fiecare punct al domeniului de definiţie. 15 .

4 c.4 d.5 b constatăm că vârful 010 este . 2. 2. 2. În cazul unei funcţii de trei variabile y = f(x1. Diagrama Karnaugh din fig. 2. 2. din este vecin cu următoarele vârfuri: 000.5 a. În diagrama Karnaugh din 16 domeniului de definiţie au fost înscrise în mai uşor vecinătăţile. Reprezentarea cu ajutorul diagramelor Karnaugh constă în a marca punctele domeniului de definiţie într-o diagramă plană şi precizarea valorilor funcţiei în fiecare din aceste puncte.4 Exemplu: Pentru funcţia ŞI definită prin tabelul 2. x3). fig. Figura 2. În fig. în 1 1 1 legătură cu aceasta din urmă reprezentare. x2. 2. c) şi d) diagrame Karnaugh. domeniul de definiţie este format din 23=8 puncte şi reprezintă vârfurile unui cub cu latura unu (fig. Dacă luăm în prin coordonatele 010 constatăm. 0 0 0 Diagrama Karnaugh. trebuie remarcat faptul că succesiunea combinaţiilor corespunzătoare variabilelor x1 şi x2 trebuie scrisă în codul binar reflectat pentru a se păstra vecinătăţile din diagrama originală.4 c se 1 0 0 mai poate desena şi sub forma prezentată în fig. 2. ca acest vârf 110 şi 011.Exemplu: fie funcţia ŞI y=x1⋅x2. 2.4 domeniul de definiţie îl reprezintă vârfurile unui pătrat de latură unu.5 Reprezentarea domeniului de definiţie al unei funcţii de trei variabile: a) cub cu latura unu.4 a.5 b.5 a). x1 x2 y=x1⋅x2 Figura 2. Tabelul 2. 2. 2. aşa cum este indicat în fig.4 Reprezentarea unei funcţii de două variabile: a) domeniul de definiţie. Pentru funcţii de trei variabile diagramele Karnaugh corespunzătoare pot fi prezentate fie sub forma din fig. corespunzător tuturor combinaţiilor variabilelor de la intrare. b şi c) diagrame Karnaugh. reprezentând funcţia SI este 0 1 0 desenată în fig. domeniul de definiţie este format din 22=4 puncte. Fiind o funcţie de două variabile. ceea ce ne va permite să analizăm considerare vârful cubului caracterizat reprezentarea din fig.5 c.5 b coordonatele punctelor binar. b) tabelul de adevăr. fie aşa cum este indicat în fig.

x2.5 b să fie echivalentă cu reprezentarea din fig. 2. În fig. 2.6. unde prin săgeţi s-au marcat vecinătăţile punctului de coordonate 0010. 2.1. va trebui să păstreze aceleaşi vecinătăţi.7. 17 . Tabelul 1. Pentru n=l funcţia este de forma y=f(x) şi numărul acestora este N = 2 2 = 4 . b şi c) prin diagrame Karnaugh. 2.5 b este identică cu cea din dreapta şi cea de sus cu cea de jos. Cu aceste precizări cu privire la domeniul de definiţie în fig.3 Funcţii booleene elementare Forma generală a unei funcţii booleene de n variabile este y = f(x1. 2.5 c combinaţiile corespunzătoare variabilelor x2 x1 s-au scris în cod binar reflectat. adică de forma y=f(x1.6 este dat un exemplu de funcţie de trei variabile reprezentată în trei moduri diferite. Diagrama Karnaugh corespunzătoare unei funcţii de patru variabile În fig. Domeniul de definiţie al acestei funcţii este format din m=2n puncte. Funcţii 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 funcţii de două variabile. 2.. rezultă că numărul total al funcţiilor n booleene de n variabile este N = 2 2 .. Se vor considera în cele ce urmează funcţiile booleene elementare de una şi de două 1 variabile. Cum în fiecare din aceste puncte funcţia poate lua numai valorile 0.5. Figura 2.. Reprezentarea unei funcţii de trei variabile: a) pe cubul cu latura unu. . Pentru ca diagrama din fig.5. iar coordonatele vârfurilor în zecimal.3. Tabelul 2.6.5 a. lucru ce devine posibil doar dacă ne imaginăm că latura din stânga a diagramei Karnaugh din fig. 2.vecin doar cu vârfurile 011 şi 000. iar cele patru funcţii sunt trecute în tabelul 2.x2) reprezentate în tabelul 2.7 este reprezentată diagrama Karnaugh pentru o funcţie de patru variabile. Figura 2. xn).6 Funcţii booleene de două variabile.

ci doar de una singură. f4 şi f5 nu sunt funcţii de două variabile.6 observăm că: — f0 şi f1 nu sunt funcţii. Definiţia axiomatică a algebrei booleene prezentată apelează la două legi de x2 a b c x2 x1 d x1 ____ x1. Simbolurile circuitelor care realizează funcţiile booleene din tabelul 1. x2 Figura 2.8 a b c d e f g h i j k l m n o p Din examinarea tabelului 2.(OR) SAU NU (NOR) COINCIDENŢA (NXOR) SAU EXCLUSIV (XOR) INTERDICŢIE INTERDICŢIE Figura 1. ci constante. f3. 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 . — funcţiile apar în perechi (funcţia şi inversa ei).Nr.6 compoziţie notate cu "•" respectiv "+" în cazul în care mulţimea M conţine doar două elemente. Din punct de vedere practic acest lucru înseamnă că 18 . Acest lucru înseamnă că în expresia oricărei funcţii booleene de n variabile vor apărea numai aceste trei operaţii elementare. crt 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 Funcţia logică y=f(x1 x2) 2 Elementul nul Elementul unu Funcţie ce nu depinde de x1 Funcţie ce nu depinde de x2 Negaţia Negaţia Conjuncţia Negarea conjuncţiei Disjuncţia Negarea disjuncţiei Echivalenţa Negarea echivalenţei Implicaţia directă Negarea implicaţiei directe Implicaţia inversă Negarea implicaţiei inverse f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 3 Domeniul de definiţie 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 .8.(AND) ŞI NU (NAND) SAU . x2 h x1 e _ x1 x2 f _ x2 x1 x2 g x1 . fiecărui element x i se asociază un unic element x numit inversul elementului x. — f2.

19 . care presupune utilizarea unor funcţii elementare numite constituenţi ai lui zero. care presupune utilizarea unor funcţii elementare numite constituenţi ai unităţii. se vor lua negate variabilele care iau valoarea unu în acel punct şi nenegate cele care iau valoarea zero. este necesar ca toţi termenii produsului să fie egali cu unu. Se numeşte constituent al unităţii funcţia elementară uk. în algebra booleană se folosesc două asemenea forme de dezvoltare. iar constituenţii v1 ai lui zero se mai numesc şi termeni maximali (maxterm) ai funcţiei. constituentul unităţii va fi produsul logic (conjuncţia) tuturor variabilelor negate sau nenegate.16) Pentru ca acest produs să fie unu într-un anume punct al domeniu-lui de definiţie. ⋅ x n n (2. Se demonstrează. — forma conjunctivă canonică (FCC). — forma disjunctivă canonică (FDC). într-un anume punct al domeniului de definiţie. ∨ x n n (2... după următoarea regulă: i i i u k = x1 1 ⋅ x 2 2 ⋅ . caracterizată prin aceea că ia valoarea unu într-un singur punct al domeniului de definiţie. se introduc următoarele notaţii: ⎧ x pentru i = 1 (2..3.un sistem fizic al cărui funcţionare este descrisă de o funcţie booleană se va putea realiza prin interconectare unui număr de trei tipuri de circuite elementare şi anume: circuitul ŞI (realizează operaţia "•"). că acelaşi sistem fizic poate fi realizat practic utilizând un singur tip de circuit elementar de exemplu circuitul ŞI-NU (NAND) sau circuitul SAU-NU (NOR).4 Forma canonică a funcţiilor booleene În numeroase aplicaţii apare necesitatea reprezentării analitice a funcţiilor booleene.15) xi = ⎨ ⎩ x pentru i = 0 Definiţia 1°. variabilele care iau în respectivul punct al domeniului de definiţie valoarea zero se vor lua negate iar celelalte nenegate. Rezultă că în scrierea constituentului lui zero v1. 2. De exemplu în familia de circuite integrate TTL Circuitul NAND se realizează uşor motiv pentru care se preferă sinteza cu astfel de circuite pe când în familia de circuite ECL circuitul NOR se realizează mai uşor şi deci se va prefera sinteza cu acesta. în acest scop se recurge la aşa numitele forme de dezvoltare. Aceste posibilităţi de sinteză se bazează pe scrierea funcţiilor 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ă. în cazul unei funcţii de n variabile. expresia constituentului se va scrie ca disjuncţia tuturor variabilelor negate sau nenegate. Definiţia 2°.17) Condiţia de constituent al lui zero impune x j ij =0 pentru orice j ceea ce implică i j = x j . Se numeşte constituent al lui zero funcţia elementară v1 care ia valoarea zero într-un singur punct al domeniului de definiţie. în cazul unei funcţii de n variabile. Constituenţii unităţii uk se mai numesc şi termeni minimali (minterm) ai funcţiei. i i i vi = x1 1 ∨ x2 2 ∨ . Pentru ca un termen de forma i x j j să fie unu este necesar ca ij=xj. circuitul SAU (realizează operaţia "+") şi circuitul INVERSOR (realizează inversarea). De aici rezultă următoarea regulă de scriere a funcţiei elementare uk: în conjuncţia variabilelor.. Pentru o tratare sistematică a problemei.

23) Se observă că din expresia generală dată de relaţia 1. Tabelul 2..25) .De exemplu în tabelul 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. forma disjunctivă canonică reprezintă disjuncţia tuturor constituenţilor unităţii pe care îi are funcţia: FDC y = f ( x1 ...7 s-au indicat constituenţii unităţii şi ai lui zero în fiecare punct al domeniului de definiţie pentru o funcţie de trei variabile.7 a fost notat prin αi valoarea ne specificată a funcţiei booleene de trei variabile..1 dispar termenii pentru care αi=0 (deoarece 0⋅ui=0 şi 0 ∨ u k = u k ) FCC y = f ( x1 .19) În cazul general al unei funcţii de n variabile... prin specificarea valorilor. x2 .24) sau y = ( x1 ∨ x2 ∨ x3 ) ⋅ x1 ∨ x2 ∨ x3 ⋅ x1 ∨ x2 ∨ x3 ⋅ x1 ∨ x2 ∨ x3 20 ( )( )( ) (2. x2 ........ xn ) = ∨ α i ⋅ ui = u1 ∨ u3 ∨ u4 ∨ u6 i =1 7 (2.21) Dacă se revine la exemplul funcţiei de tei variabile prezentat în ultima coloană a tabelului 2.. xn ) = ∨ α i ⋅ ui i =1 n (2. xn ) = ∨ (α i ∨ ui ) = v0 ⋅ v2 ⋅ v5 ⋅ v7 i =1 7 (2. xn ) = ∧ α k ⋅ u k k =1 n (2. x2 .7 Constituenţii lui zero şi unu pentru o funcţie de trei variabile i i i x1 x2 x3 Exemplu de funcţie v =x ∨x ∨x uk = x1 ⋅ x2 ⋅ x3 z 1 2 3 i1 i2 i3 i 1 2 3 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.20) Forma conjunctivă canonică a unei funcţii de n variabile va reprezenta conjuncţia tuturor constituenţilor lui zero pe care îi are funcţia: FCC y = f ( x1 . În ultima coloană. s-au dat exemple de funcţii.7 vor rezulta următoarele forme canonice: FDC y = f ( x1 ...22) sau y = x1 ⋅ x2 ⋅ x3 ∨ x1 ⋅ x2 ⋅ x3 ∨ x1 ⋅ x2 ⋅ x3 ∨ x1 ⋅ x2 ⋅ x3 (2. Formele canonice ale unei funcţii booleene de trei variabile sunt următoarele: FDC y = α 0 ⋅ u0 ∨ α 1 ⋅ u1 ∨ α 2 ⋅ u 2 ∨ α 3 ⋅ u 3 ∨ α 4 ⋅ u 4 ∨ α 5 ⋅ u 5 ∨ α 6 ⋅ u6 ∨ α 7 ⋅ u7 (2. x2 .

În cazul FCC din expresia generală dată de relaţia 1.2 dispar termenii pentru care αk=1 (deoarece 1 ∨ vk = 1 şi 1 ⋅ v1 = v1 ). 2.3.5 Forma minimă a funcţiilor booleene Având în vedere faptul că algebra booleană se va folosi la analiza şi sinteza circuitelor de comutaţie, nu este greu de anticipat că între gradul de complexitate al circuitului şi cel al funcţiei pe care îl descrie există o legătură directa. Acesta este motivul pentru care în etapa de sinteză a circuitelor de comutaţie, după definirea acestora, urmează în mod obligatoriu etapa de minimizare a funcţiei, având drept scop obţinerea unei forme echivalente măi simple (forma minimă). Realizarea practică a circuitului urmează a se face pe baza acestei forme simple. Având în vedere importanţa practică a minimizării, în literatura de specialitate se găsesc 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 obţinere a formei minime se bazează pe folosirea teoremelor algebrei booleene. Principiul metodei se va ilustra pe exemplul anterior al funcţiei de trei variabile. Se va pleca de la forma disjunctivă canonică (1.5) a funcţiei: y = u1 ∨ u3 ∨ u4 ∨ u6 = x1 ⋅ x2 ⋅ x3 ∨ x1 ⋅ x2 ⋅ x3 ∨ x1 ⋅ x2 ⋅ x3 ∨ x1 ⋅ x2 ⋅ x3 (2.26) Având î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)

(

)

(

)

Ţinând seama şi de proprietatea terţului exclus ( x ∨ x = 1 ) şi de faptul că 1 este elementul unitate ( x ⋅ 1 = x ), rezultă forma disjunctivă minimă (FDM) a funcţiei: y = x1 ⋅ x3 ∨ x1 ⋅ x 3 (2.28) Procedând similar se poate găsi şi forma conjunctivă minimă (FCM) a funcţiei. b) Metoda diagramelor Karnaugh Această metodă nu reprezintă altceva decât transpunerea operaţiilor făcute la metoda analitică pe reprezentarea funcţiei prin diagrame Karnaugh, rezultând astfel în final o metodă expeditivă de minimizare. 0 diagramă Karnaugh poate fi privită, dacă se ia în consideraţie produsul logic al coordonatelor, ca o reprezentare a funcţiei booleene prin termeni minimali (constituenţi ai unităţii). Vom ilustra aceasta în cazul unei funcţii de trei variabile cu tabelul 2.7. Tabelul 2.7. Termenii minimali pentru o funcţie 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 conţine un termen minimal. Două celule vecine conţin 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 terţului 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 urmărit pe exemplul ilustrat în figura 2.10.

Figura 2.10. Exemple de minimizare De exemplu: gruparea celulelor vecine care conţin constituenţii u1 şi u3 ne conduce la expresia x1 ⋅ x3 , iar gruparea celulelor vecine care conţin constituenţii u4 şi u6 conduce la expresia x1 ⋅ x3 . Forma disjunctivă minimă a funcţiei rezultă prin scrierea disjuncţiei grupurilor de coordonate comune ale grupărilor formate astfel: y = x1 ⋅ x3 ∨ x1 ⋅ x3 (2.29) Metoda poate fi generalizată astfel: 1. Dacă grupul iniţial de două celule vecine este vecin la rândul său 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 minimizări pentru funcţii de trei şi patru variabile (forma disjunctivă minimă) 2. Un grup de 2m celule vecine ocupate de unităţi permite eliminarea a m variabile. 3. Fiecare celulă ocupată de unităţi trebuie să facă parte cel puţin dintr-o grupare, dar poate fi inclusă în mai multe. 4. Cel mai avansat grad de simplificare se obţine dacă unităţile dintr-o diagramă Karnaugh sunt grupate într-un număr minim de grupuri fiecare grup la rândul său conţinând un număr maxim de unităţi.

22

Observaţie. Pentru a putea aplica în mod succesiv proprietatea de distributivitate şi teorema terţului exclus numărul unităţilor din grupările formate trebuie să fie o putere întreagă a lui 2. În fig. 2.11 sunt date câteva exemple de minimizări ale unor funcţii booleene de trei şi patru variabile. Reguli similare pot fi deduse şi pentru obţinerea formei conjunctive minime. în acest caz, în diagrama Karnaugh se vor grupa zerourile. Se va scrie disjuncţia coordonatelor grupului de zerouri vecine, iar forma minimă va fi conjuncţia 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 obţinerea formei conjunctive minime.

Figura 2.12. Exemple de minimizări pentru funcţii de patru variabile (forma conjuctivă minimă). În matricea Karnaugh se pot grupa zerourile ca şi când ar fi unităţi, obţinându-se FDM a funcţiei negate y (valabil şi invers). Un astfel de exemplu este dat în figura 2.13. Figura 2.13. Exemplu de minimizare pentru obţinerea formei disjunctive minime a funcţiei negate. c) Minimizarea funcţiilor incomplet definite Se spune despre o funcţie 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 când vom minimiza funcţia vom lua în considerare valoarea unu sau zero a funcţiei booleene din aceste puncte astfel ca această alegere să ne conducă la o formă minimă mai simplă. De exemplu, atribuirea făcută în figura 2.14 a

23

sunt considerate două intervale ∆VH şi ∆VL. i se poate asocia. Deci. ne conduce la forma minimă cea mai simplă a funcţiei. separate printr-o zonă interzisă (în care tensiunea nu trebuie să aibă valori). De fapt. 2. 24 . aceasta fiind o consecinţă a faptului că circuitele electronice.14b ne va conduce la o expresie mai complicată a formei minime corespunzătoare funcţiei booleene respective.4 REPREZENTAREA FIZICĂ A VARIABILELOR În practica electronică. într-un anumit moment de timp t.14. diferenţei de potenţial (faţă de masă) într-un punct M.15. pe când cea făcută în figura 2. valoarea binară "1" logic sau "0" logic. Nivelurile de tensiune pentru intrări şi ieşiri asociate variabilelor booleene.Figura 2. care au în structură un element ce prezintă două stări (tranzistorul bipolar sau uniplor în regim de comutaţie) sunt cele mai folosite. prin convenţie. figura 2. pentru cele două niveluri discrete de tensiune (nivel ridicat VH şi nivel coborât VL) în practică. Exemple de minimizări pe funcţii incomplet definite: a) atribuire optimă a valorilor funcţiei. în astfel de circuite. b) atribuire neoptimală a valorilor funcţiei.15. În convenţia de logică Figura 2. dintre toate posibilităţile de reprezentare a cifrelor binare cea mai uzuală este prin două niveluri distincte ale tensiunii (curentului).

de valori până la 45% din valoarea tensiuni de alimentare. VIH = 2÷ VCC. Valoarea minimă garantată este "70% VDD″. ∆VOH = 5V÷2. dar valoarea garantată de majoritatea fabricanţilor este de 30%. ∆VH corespunde lui "0" şi ∆VL lui "1".pozitivă. trebuie prevăzută o regiune intermediară interzisă valorilor posibile ale tensiunii. pentru care nivelul logic de la ieşire nu se schimbă. Invers.16) : — VOH .05V'' (tipic „VDD .25V). Pentru circuitele integrate de tip MOS variaţiile produse de toleranţele componentelor realizate practic. în convenţia de logică negativă. mai ridicat faţă de masă.nivelul de tensiune de intrare în starea "1" (SUS). informaţia va fi reprezentată practic prin domenii sau benzi de tensiune.. pentru care nivelul logic de la ieşire nu se schimbă şi valoarea maximă garantată este .0V.16. care nu comută inversorul dintr-o stare logică în alta. De exemplu pentru circuitele integrate TTL (Tranzistor . Circuitele CMOS rejectează impulsuri parazite de tensiune. în starea 0 (Low). În cazul seriei CMOS 4000 este minim „VDD . "0" logic.0. să fie imposibil de obţinut practic. Se definesc imunităţile la zgomot : — VNIL imunitatea la zgomot pentru nivelul LOW (JOS). Astfel. Prin urmare au fost definite (figura 2. iar unui semnal logic "0" îi corespunde intervalul ∆VL mai coborât. — intervalul tensiunii de ieşire pentru starea (Low). Figura 2. "1" logic.Logic) există următoarele valori: — tensiunea de alimentare VCC = + 5V (± 0.8V. în care câştigul inversorului este unitar. — intervalul tensiunii de ieşire pentru starea (High).4V. fac ca situaţia ideală a două niveluri unice de tensiune. — VIH .nivelul de tensiune de intrare în starea 0 (JOS). Imunitatea la zgomot se defineşte ca tensiunea maximă de zgomot prezentă la intrarea unui inversor (poartă logică). — VNIJ imunitatea la zgomot pentru nivelul HIGH (SUS). VIL = 0. cu care se definesc marginile de zgomot. Caracteristicile nivelurilor logice intrare-ieşire. 25 .30% VDD".4V÷0.Tranzistor . Pentru a se putea distinge între cele două stări. cât şi cele datorate distorsiunilor şi zgomotului. Valoarea sa maximă garantată este „0. — VIL .nivelul de tensiune de ieşire.0V÷0. ∆VOL = 0.01V") — VOL . Există două puncte pe caracteristica de transfer.01 V"). — intervalul tensiunii de intrare pentru nivelul "1" logic. corespunzătoare celor două valori logice.nivelul de tensiune de ieşire în starea "1" (High).0. — intervalul tensiunii de intrare pentru nivelul "0" logic.05 V" (tipic „0. unui semnal logic "1" îi corespunde intervalul de tensiune ∆VH .

18) va produce un curent care va curge de la sursa EC prin rezistorul R1. iar configuraţia de ieşire în contratimp îmbunătăţeşte imunitatea la zgomot şi viteza de comutaţie.17 oferă cea mai bună combinaţie de viteză şi disipare de putere. bufere. Pentru cele mai multe aplicaţii.SAU . Fiecare intrare a tranzistorului multiemitor poate avea o diodă pentru a reduce efectele liniei de transmisie prin amortizarea (limitarea) impulsurilor reflectate. 26 . Practic.17. etc. iar cel care iese este considerat negativ. ceea ce constituie al doilea avantaj (după consum) important al circuitelor CMOS.4 V. porţi logice SAU . iar tranziţie negativă — din nivel logic SUS în nivel logic JOS.NU. Circuitul TTL standard Convenţional. a) : E − U BET 1 − U IL (2.6 mA. 2.18.65 V pe intrarea A sau B (regiunea A—B din fig. porţi logice ŞI . multiplexoare.NU.30) − I IL = C R1 Figura 2. dioda bază-emitor a tranzistorului multiemitor şi ieşirea sursei de semnal (fig. Definim drept tranziţie pozitivă a unui semnal. R1 = 4 KΩ se obţine IIL = . Pentru o folosire corectă este necesară cunoaşterea caracteristicilor de intrare şi ieşire ale circuitului din figura 2.NU.1 Caracteristica de intrare.17. UIL = 0.1 mA. UBET1 = 0.17 are o intrare multiemitor şi un etaj de ieşire în contratimp. 2. Circuitul TTL standard din figura 2. trecerea (frontul) semnalului din nivel logic JOS în nivel logic SUS. Un potenţial sub 0. Acest circuit este folosit în circuitele integrate pe scară mică (SSI = Small . Întrucât efectele liniei de transmisie devin cu atât mai importante cu cât fronturile impulsurilor sunt mai rapide..18 este prezentată caracteristica tipică a curentului de intrare (IIN) în funcţie de tensiunea de intrare (UIN).4..19. În figura 2. curentul care intră în circuit este considerat pozitiv. Pentru Ec = 5 V. imunitatea la zgomot este de 45. expandare.65 V. Tranzistorul de intrare multiemitor T1 are o contribuţie importantă asupra vitezei de comutaţie a circuitului integrat. În cele mai nefavorabile condiţii de funcţionare trebuie să avem IIL ≤ 1. plasarea diodelor de limitare devine obligatorie pentru circuitele TTL rapide. Figura 2. memorii.Caracteristica de intrare a unui circuit TTL în care UIL este tensiunea la intrarea A sau B.Scale Integration) cum ar fi : inversoare. circuitului TTL standard din figura 2. 50% din valoarea tensiunii de alimentare.Integration) cum ar fi : decodificatoare. registre de deplasare.Acestea au valori garantate de 30% din valoarea tensiunii de alimentare. circuite basculante şi în circuitele integrate pe scară medie (MSI = Medium . numărătoare. 2. Orice dispozitiv folosit pentru a comanda un circuit TTL trebuie să poată absorbi şi genera curent.Scale . porţi logice ŞI .

T2 are o amplificare mică (R2/R3). în baza tranzistorului T2 se injectează un curent de valoare mică II (fig.18). Figura 2.. tranzistorele T2.20) : (2. Tensiunea la ieşire este independentă de cea de la intrare şi are valoarea constantă (regiunea AB pe caracteristica de transfer din fig. În această regiune. iar variaţia tensiunii la ieşire este lentă (regiunea BC din fig.20). consumul de curent al intrărilor legate împreună este acelaşi.65 V < UIN < 1.19.7V Pentru tensiuni de intrare 0. T3 este blocat iar joncţiunea emitor-bază a tranzistorului multiemitor T1 este blocată.6 V (regiunea DE din fig. tranzistorul T4 intră în conducţie şuntând rezistenţa echivalentă din emitorul lui T2 şi astfel amplificarea acestuia creşte (regiunea CD din fig. Caracteristicile de transfer ale unui circuit TTL.Din relaţia (2. Pe măsură ce ne apropiem de punctul D.30) se observă că pentru tensiuni de comandă coborâte (UIL). 2. tranzistoarele T2. tranzistoarele T2T4 se saturează. 1. Figura 2. b). 2. b – pentru curenţii IL şi I. 2.20). 2. 2. cu toate că tranzistorul T3 mai poate fi încă în conducţie.65 − 0. iar tensiunea la ieşire începe să se limiteze.. T4 sunt blocate. Circuit de intrare: a – pentru curentul IIL. 2. iar tranzistorul T3 este saturat. iar T3 este deschis. T4 sunt saturate.31) U OH = EC − U D − U BET4 = 5 − 0. 27 . Pentru tensiuni de intrare mai mari de 1.3 V (regiunea CD din fig.2.18).19. Pentru valori ale tensiunii de intrare cuprinse în regiunea AB.65 = 3.3 V (regiunea BC din fig.18).20. Pentru tensiuni de intrare mai mari de 1.5. tranzistorul T2 începe să conducă. T4 rămâne blocat.

se obţine IOS = 31 mA. ( )( ) 28 . T4 este blocat.32) R3 R4 Pentru Ec = 5 V. a)..5. tranzistorul T4 rămâne saturat. În acest caz. curentul pe o intrare IIH se închide prin baza tranzistorului T4. T4 este blocat. caracteristica tipică a curentului de ieşire (I0) în funcţie de tensiunea de ieşire (U0) arată ca în figura 2. iar T3 este saturat. consumul de curent al intrărilor legate împreună creşte cu numărul acestora. În acest caz. Curentul Ios este disponibil la tranziţia de la ieşire din nivel coborât în nivel ridicat pentru a încărca capacitatea de ieşire.Dacă celelalte intrări ale tranzistorului multiemitor T1 sunt lăsate în gol sau au un nivel mai mare de 1.4mA) pentru a putea comanda 10 porţi fiecare cu IIH = 40 µA (fig. T4 rămâne blocat.4. R4 = 130 Ω. iar T4 intră în conducţie. acest curent devine curent de colector pentru tranzistorul T1. dacă cel puţin pe una din intrările circuitului integrat se aplică o tensiune coborâtă.2 Caracteristica de ieşire. 2. iar dacă cel puţin o intrare este legată la masă.6 V. 2. caracteristica de ieşire arată ca în figura 1. Pentru tensiuni de intrare ridicate (UIH).33) R2 În acest caz. UD = UBET3 = 0.21.34) I BT4 = C R1 R2 R3 în care tensiunea bază-emitor şi bază-colector ale tranzistoarelor T1. Uo = 0 V. T3 în conducţie directă s-a înlocuit cu tensiunea UD. Caracteristica de ieşire a unui circuit TTL pentru nivel ridicat. în schimb T3 nu mai este saturat. .65 V. Curentul la ieşire are expresia: h21eT3 + 1 ⋅ EC − U BET3 − U D − U 0 − I0 = (2. iar T3 este în conducţie.3 V. valorile standard pentru Ios sunt 20 mA ≤ IOS ≤ 55 mA. R1 = 4 KΩ. valoarea curentului furnizat de tranzistorul T3 în conducţie trebuie să fie mai mare de 0. curentul de bază fiind dat de expresia : E − 2U D EC − U D − U ECsatT2 U D − − (2.21. T2. Pentru regiunea AB. Pentru regiunea BC. Dacă pe intrările circuitului integrat se aplică simultan o tensiune ridicată. s-a arătat că T3 se blochează. UCesatT3 = 0. Figura 2.23. Pentru cele mai nefavorabile condiţii. Curentul IIH depinde de R1 şi de h21eT1. ci se află în conducţie. Curentul furnizat de tranzistorul T3 este : EC − U 0 − U D − U BET3 EC − U 0 − U D − U CEsatT3 − I0 = + (2.1.4 mA (IOH ≥ 0. S-a arătat că. În regiunea AB a caracteristicii.22.

35) M L = U IL max − U OL max = 0.4 V. Circuit de ieşire: a-pentru curentul IOH.3V = 1. UCEsatT2 = 0. Figura 2. este definită ca diferenţa între limitele domeniilor de tensiune garantate pentru stările 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.6 mA) şi trebuie să se obţină UOL≤ 0.23 se determină tensiunea la ieşire (UOL) pentru un curent IOL = 16 mA (pentru a putea absoarbe curenţii de intrare a 10 porţi — fig. Pentru funcţionarea sigură a circuitului integrat de obicei se ia o margine de 0. 4 V.Pentru Ec = 5 V. 2. b-pentru curentul IOL Din caracteristicile din figura 2. se obţine IBT4= 2.4V − 2V = 0. UD = 0. fiecare cu IIL = 1. b —.65 V. Marginea de zgomot în c.5V − 1.c.7V = 1.6 KΩ. Caracteristica de ieşire a unui circuit TTL pentru nivel coborât.4 mA.1V 29 .36) M L = 1.4V − 0.8V (2. la T == 25°C: M H = 3.8V − 0. astfel că UILmax = 0.8 V şi UIHmin = 2 V.3 V. R3 = 1 KΩ. Figura 2.4 = 0.4V (2. R1 = 4 KΩ.4V În realitate.23.22.22. R2 = 1.

Din această cauză a apărut circuitul TTL cu colectorul în gol.25. 2. Valoarea minimă a rezistenţei RL se determină din condiţia realizării la ieşire a nivelului 0 logic. Valoarea rezistenţei RL. Pentru evaluarea vitezei de comutaţie a unei porţi se definesc doi timpi (fig. TA == 25°C şi o încărcare a ieşirii cu 10 intrări tip poartă TTL. a cărui schemă tipică este dată în figura 2.38) RLM = C nI OH + mI IH în care. unii fabricanţi indică pentru marginea de zgomot valoarea tipică de 1 V. Pentru un circuit TTL se defineşte şi un timp de propagare mediu : t +t (2. Curentul absorbit de la sursa de alimentare pentru o poartă se măsoară 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 comutaţiei. tPLH = 12ns.24): tPHL — timpul de propagare a semnalului pentru comutarea ieşirii din starea 1 logic în starea 0 logic şi tPLH — timpul de propagare a semnalului pentru comutarea ieşirii din starea 0 logic în starea 1 logic. avem tPHL = 8ns. 2. Timpii de propagare depind puternic de sarcină şi mai puţin de temperatură şi de tensiunea de alimentare. 30 . 2 De obicei. Figura 2.24.ceea ce înseamnă că nivelul 1 logic este mai bine protejat contra perturbaţiilor. — curentul absorbit de un etaj de intrare din cele m circuite TTL de sarcină.4. se determină din condiţia realizării la ieşire a nivelului 1 logic : E − U OH (2. deci puterea disipată tipică pentru Ec = 5 V este P = 40 mW/capsuIă sau 10 mW/poartă. tP = 10ns. Formele de undă pentru definirea timpilor de propagare. se determină din condiţia de realizare a nivelelor logice la ieşire şi din compromisul dintre timpii de comutaţie şi consumul de putere.37) t P = PHL PLH . Pentru Ec = 5 V. Valoarea maximă a rezistenţei RL.4 V).3 Circuitul TTL cu colectorul în gol Configuraţia etajului de ieşire în contratimp nu este potrivită pentru conectarea logică ŞI-cablat (conectarea în paralel) datorită degradării nivelului de tensiune 0 logic şi posibilităţii de distrugere a tranzistoarelor din etajul de ieşire. n — numărul circuitelor TTL legate în ŞI cablat. IIH — curentul absorbit de un etaj de ieşire în starea 1 logic. Cu toate acestea. UOH — tensiunea necesară la ieşire pentru nivelul 1 logic (de obicei UOH ≥ 2. Pentru circuitul CDB 400E (4 porţi NAND) Ic = 8 mA.

se obţine : RLM = 2 858Ω.. Unele circuite TTL. Impedanţa de ieşire în starea 1 logic datorită sarcinii rezistive este mult mai mare decât cea a ieşirii în contratimp. Circuitul TTL cu colectorul în gol. 2.26.EC − U OL (2. Cu T2. care. deci. cum ar fi cele expandabile — CDB 450. imunitatea la zgomot în c. Cu toate acestea.25. = 479Ω. Cu DIS = 1.04 mA. conectate aşa cum se arată în figura 2.b. şi comanda unor capacităţi mari. IOL −− curentul absorbit de un etaj de ieşire în starea 0 logic. În aceste condiţii semnalul de la ieşire este egal cu negatul semnalului de la intrare. la linia de ieşire pot apare semnale (date) de la alt circuit TTL. datorită impedanţelor joase de ieşire.4 V. emitorul lui T2 este trecut pe 0 logic. n = 3. şi T3 blocate.4 V. a este prezent un asemenea circuit.4 Circuitul TTL cu trei stări Ieşirile circuitelor integrate TTL nu pot fi conectate în paralel pentru a realiza un SAU cablat. deci la ieşirea circuitului se realizează funcţia SAU—NU. m = 4. RLm = Figura 2.25 mA. şi T3 se blochează. Din această cauză utilizarea circuitelor TTL cu colectorul în gol trebuie făcută cu precauţie. pentru DIS = 0. deci prezintă o impedanţă foarte mare. IOL = 16 mA. UOL = 0. dioda D se deschide.39) I OL + mI IL în care UOL — tensiunea necesară la ieşire pentru nivelul 0 logic (de obicei UOL≤ 0. ceea ce înseamnă că şi în emitorul lui T2 este 0 logic . mai cu seamă când se are în vedere viteza de comutaţie.26. realizează un circuit TTL cu trei stări. tranzistorul T3 este blocat. DIS = 1. etc. RLm.6 mA. însă. se alege RL= 1 KΩ. UOH = 2. coborând potenţialul bazei tranzistorului T3 aproape de potenţialul masei . în care pentru semnalul de comandă DIS = 0. IIH = 0. Exemplu : pentru Ec = 5 V. — au disponibile la pinii capsulei bazele tranzistorelor T3 şi T4. CDB 453. Dacă. IL = 1. Atâta timp cât DIS = 1. deci. emitorul lui T1 este ţinut pe 1 logic iar dioda D este blocată. IIL — curentul absorbit de un etaj de intrare din cele m circuite TTL de sarcină. 31 .4. ieşirea se află în gol. Dacă. fie adoptând circuitul TTL din seria Schottky. unele circuite TTL pot fi comandate pentru a realiza un circuit special cu trei stări (tri-state). Pentru realizarea unor timpi de comutaţia acceptabili şi cu un consum de putere rezonabil. Într-adevăr. În figura 2.25. IOH = 0. diodele D1 şi D2 sunt blocate.a. Circuitele TTL rapide cu colectorul în gol pot fi obţinute fie prin micşorarea valorilor rezistenţelor din schema din figura 2.4 V).

Figura 2.26. Circuite TTL cu trei stări logice:
a-schema cu comenzi pe intrare şi ieşire; b-schema cu comenzi pe ieşiri.

însă, DIS = 1, diodele se deschid ţinând bazele tranzistorelor din etajul de ieşire la un nivel scăzut, astfel încât acestea sunt blocate.

32

3
3.1

ARITMETICA NUMERELOR BINARE

ADUNAREA ŞI SCĂDEREA

Operaţiile de adunare şi scădere a două numere fără semn cu câte un bit fiecare sunt definite de tabelul 3.1. Tabelul 3.1. Operaţiile de adunare şi scădere 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 fără semn cu mai mulţi biţi se efectuează la fel ca în orice bază adunând 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ă următoare, obţinute prin adunarea cifrelor xi, yi şi a transportului ci, de la cifra anterioară. Tabelul 3.2 Operaţia de adunare a cifrelor binare curente pentru numere cu mai mulţi biţi.
0 1 2 3 4 5 6 7 xi 0 0 0 0 1 1 1 1 Intrări yi 0 0 1 1 0 0 1 1 Ieşiri 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 biţi.

33

exprimate cu n biţi. La fiecare celulă de sumare există intrările 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 scăderea în complement faţă de doi În cazul numerelor cu semn cu mai mulţi biţi algoritmii de adunare şi scădere depind de reprezentarea folosită. În reprezentarea (C2), ambele operaţii se pot trata prin intermediul adunării, lucru avantajos pentru realizarea circuitelor. Acest lucru este posibil deoarece este adevărată următoarea afirmaţie (de fapt afirmaţia defineşte în sens algebric un izomorfism): • Suma algebrică a doi operanzi reprezentaţi în (C2), executată prin sumarea binară a celor două reprezentări produce acelaşi rezultat ca reprezentarea în (C2) a sumei executate natural, cu condiţia să nu existe depăşiri. Depăşirea apare atunci când rezultatul nu se mai încadrează în domeniul numerelor reprezentabile dat de relaţia: − 2 n−1 ≤ N ≤ 2 n−1 − 2 − m (3.1) Ea se manifestă prin alterarea bitului de semn în urma operaţiei. Exemplu. Fie două numere întregi cu 8 biţi în gama (-128)÷(+127): 127+2=129>+127 → depăşire; (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. Observăm că suma. a doi operanzi de semne contrare nu va genera niciodată depăşire aritmetică. Justificarea afirmaţiei privind sumarea în (C2), pentru două numere întregi a şi b cu n biţi, este următoarea:

(

)

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

(

)

n

şi depăşeşte lungimea de n biţi 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 asemănător) (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)

35 . Pentru schema din figura 1.1. Ele se detectează prin teste efectuate asupra operanzilor şi rezultatului. Unele unităţi aritmetice sunt prevăzute în acest sens cu un bit indicator („overflow”) numit OVF. iar în situaţiile 0 şi 7 bitul de semn este corect. Din tabelul 2 rezultă că în situaţiile numerotate cu 1 şi 6 apare alterarea bitului de semn. cu 8 biţi avem OVF = c7 ⊕ c8 = c7 ⊕ C. OVF=1 indică depăşire. Exemple pentru reprezentări în (C2) cu 8 biţi. în acest caz xn-1. Suma modulo doi cn ⊕ cn−1 = 1 identifică situaţiile de depăşire. C = l indică depăşirea de către rezultat a valorii 255. cn-1 transportul de intrare în bitul de semn iar cn este transportul de ieşire. deci OVF = cn−1 ⊕ cn . la operaţia de adunare. Valoarea 1 a bitului de semn indică un rezultat negativ.2 Depăşirea În cazurile d) şi e) pot apărea depăşiri.d) (S )2 = (a + b )2 = (a − b )2 = a − b e) a ≥ b ⇒S <0 a ≥ b ⇒S ≥0 (3. Pot apărea depăşiri numai dacă xn−1 = y n−1 (operanzi de acelaşi semn). Scăderea a două numere se poate executa prin adunarea primului cu complementul faţă de doi al celui de al doilea. iar i = n . pentru numere întreg: I a = 126. în care presupunem operaţii în (C2). transportul în acest caz trebuie neglijat. deci depăşire. dacă nu există depăşiri. În schimb.1. Referitor la bitul de transport C se poate observa faptul că interpretarea valorii sale depinde de tipul operaţiei efectuate. Funcţia logică care generează OVF se poate deduce din tabelul 3.7) (3. rezultatul este corect şi pozitiv. C = l indică faptul că descăzutul este mai mare decât scăzătorul. (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. suma algebrică se poate efectua în (C2) prin adunarea binară a reprezentărilor în (C2) ale operanzilor. a − b = 123 în hexazecimal: (a )2 = 7 EH . la operaţia de scădere a două numere fără semn.2.8) = 2n − a + b = 2n − (b − a) = 2n + a − b În concluzie. b = 3. Pentru numerele întregi fără semn cu 8 biţi. Rezultatul pozitiv sau negativ va fi corect reprezentat în (C2). yn-i sunt biţii de semn ai celor doi operanzi. pentru numere întregi cu n biţi. (S )2 = (a + b )2 3.

cuprinse în gama (-8)-(+7) se poate scrie: 5+(-3)+4==6 în care S1=5+(-3)=2.1. 36 . A doua operaţie generează de asemenea o depăşire dar în sens contrar. Deci printr-o depăşire în sens contrar rezultatul a revenit în domeniul corect. un numărător reversibil poate fi incrementat.II în hexazecimal: a = 10. 3. 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. respectiv decrementat. dacă valoarea finală a sumei se încadrează în domeniul de reprezentare corespunzător. a − b = −5 (a − b )2 = 0 A + (28 − 0 F ) = 28 − 5 = FBH = (− 5)2 III a=-5. (indiferent de succesiunea lor). 9=24-7=(-7)2 S2 =9+(-3)=9+(24-3)=24+6=OVF+ S2=6 La prima sumare apare o depăşire OVF către numere negative iar rezultatul 9 reprezintă (-7) în (C2). Efectul depăşirilor aritmetice la operaţii în complement faţă de doi. lucru justificat prin interpretarea (-7)+(-3)=-10 <-8. dacă numărul depăşirilor OVF+ este egal cu cel al depăşirilor OVF-. la apariţia celor două tipuri de depăşiri. b = 15.3 Figura 3. Considerând de exemplu numere cu 4 biţi în (C2). atunci ele se „compensează” iar rezultatul este corect. b=-2. În practică. vom avea: S1=5+4=9>7⇒OVF-. Dacă valoarea finală a numărătorului este egală cu cea iniţială. Pentru n>2 operanzi. iar S2=S1+4=2+4=6. atunci rezultatul este corect. OVF+ către numere pozitive.2. Suma algebrică a mai multor operanzi 0 proprietate importantă a sumei algebrice a mai mulţi operanzi în (C2) este faptul că depăşirile care apar eventual la executarea sumelor parţiale se pot neglija. Dar conform comutativităţii suma S2 se poate calcula şi astfel: S1=5+4==9 (depăşire) S2=9+(—3)=6 Reprezentând în (C2) operanzii.

Depăşirile OVF.2. Y valorile zecimale ale înmulţitorului şi deînmulţitului: X = (− 1) n −1 ∑ xi 2 i x i =0 n−2 Y = (− 1) yn −1 ∑y 2 . În reprezentarea (C1). yi ∈ {0. Cea mai rapidă metodă de înmulţire este cea combinaţională în care utilizând un circuit logic combinaţional (CLC) cu 2n intrări şi 2n ieşiri. deci 2n-l⋅2n-l = 22n-2. Dacă se doreşte reprezentarea cu 2n biţi a produsului numerelor cu semn. yi ∈ {0. reprezentate în binar cu n biţi. xi .Justificarea afirmaţiei se poate face observând că în (C2) se lucrează cu operaţii modulo 2n.d. Scopul acestor algoritmi constă în reducerea complexităţii circuitelor şi a duratei de execuţie.10) Se poate obţine descompunerea: 37 .1} (3. Spaţiul nu permite descrierea tuturor metodelor în acest paragraf.a.x0 . în continuare pe următorii n biţi (ţinându-se seama şi de transportul de la suma anterioară) ş.2 Înmulţirea numerelor reprezentate prin (MS) Reprezentarea în modul şi semn (MS) este comodă pentru efectuarea înmulţirii. y 0. Se vor prezenta numai câteva metode de principiu din care să rezulte tipurile de circuite digitale necesare implementării operaţiilor.1). În mod uzual este utilizată înmulţirea secvenţială în care se calculează produse parţiale care se sumează la un registru acumulator. CLC rezultă complex şi din această cauză metoda se utilizează numai în sistemele de mare viteză. În unităţile aritmetice. calculul necesitând n etape succesive. care lucrează cu operanzi de lungime n (biţi).2. (C1) sau (C2). Proprietatea menţionată este utilă în unităţile aritmetice (circuite digitale specializate pentru calcule aritmetice) prevăzute cu sumare şi acumulare a rezultatelor... Rezultatul fiecărei operaţii parţiale se poate deplasa pe cerc cu condiţia ca în final să revină în domeniul iniţial.. atunci ei se pot exprima prin mai multe cuvinte cu câte n biţi juxtapuse iar operaţiile de adunare şi scădere se vor executa în mai mulţi paşi efectuând într-un pas o sumă algebrică pe primii n biţi. 3. produsul se obţine la ieşire cu o întârziere dată de timpul de propagare. se utilizează pentru produs un registru de lungime dublă 2n. bitul p2n-2 al registrului va fi copia (extensia) bitului de semn p2n-1 al produsului P.1} (3. dacă X şi Y se consideră a fi fără semn şi 2n-1 biţi dacă numerele X şi Y se consideră a fi cu semn în reprezentările (MS). X = x n −1 . În cazurile în care operanzii depăşesc ca lungime capacitatea unităţii aritmetice de n biţi. Y = y n −1 . Acest fapt are loc pentru că domeniul numerelor cu semn cu n biţi este |N|<2n—l.1 Înmulţirea Considerând două numere întregi.2 ÎNMULŢIREA NUMERELOR BINARE În literatură sunt prezentaţi numeroşi algoritmi de înmulţire şi împărţire pentru numere reprezentate binar.9) produsul lor P=X⋅Y va fi un număr cu 2n biţi. Pentru a reprezenta mărimea produsului sunt necesari 2n-2 biţi şi încă unul pentru semn. În acest caz numerele reprezentabile cu n+m biţi (vezi relaţia 3. reprezentat prin 2n-1 în (C2) este adiacent cu numărul maxim pozitiv 2n-1-2-m (2n-1-1. pentru numere întregi).m.sau OVF+ reprezintă traversarea acestei limite. se pot reprezenta pe un cerc ca în figura 2 în care numărul negativ minim -2n-l. 3. Fie X. i i =0 i n−2 xi .. atunci bitul p2n-2 al produsului va primi semnul rezultant şi p2n-1 va primi zero pentru reprezentarea (MS). 3.

Dacă dorim să-l reprezentăm cu 2n biţi.3. Figura 3. a. Înmulţirea cu 2n-2 reprezintă o deplasare spre stânga a întregii sume cu n-2 poziţii iar înmulţirile cu 2-1 reprezintă deplasări spre dreapta cu o poziţie. b) Exemplu: X=înmulţitor=7.. atunci bitul p2 n −1 ← p2 n− 2 iar p2 n −2 ← 0. Y = deînmulţit = 6..... reprezentate prin (MS) cu 4 biţi (1 + 3).2. Acesta se adună ca număr cu semn la produsul P..11) unde bitul de semn al produsului este p2n-2 =xn-l ⊕ yn-1 iar termenii Y⋅xi se numesc produse parţiale. cel mai semnificativ bit al sumei deplasate va copia valoarea anterioară a bitului de semn. În ultima etapă. În acest caz.3.) considerată ca număr de semn.2 −1 ( x1Y + 2 −1 ( x0Y )).)) i =0 n −1 3. În figura 3. Înmulţirea numerelor reprezentate prin (C2) Relaţiile (3. valoarea bitului de semn xn-1 determină prin xn-1=0 sau 1 adunarea respectiv scăderea lui Y la (din) P.) i =0 n −2 (3.11) se pot extinde şi pentru înmulţirea numerelor cu semn reprezentate prin (C2).11) sugerează algoritmul de calcul al produsului. deci deplasarea registrului care conţine produsul se va face după relaţia: 38 . Observăm că produsul P se poate reprezenta cu 2n-1 biţi (1 bit pentru semn şi 2n2 pentru mărime). atunci bitul de semn rezultat trebuie modificat deoarece este eronat. Operaţiile 2-l reprezintă deplasare aritmetică (în care se păstrează nemodificată valoarea bitului de semn) spre dreapta a sumei parţiale (xn-1Y+ ..3 [ ] (3..3.10) se pot calcula sumele parţiale prin adunare la conţinutul 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 + .12) Înmulţirea cu 2n reprezintă o deplasare spre stânga cu n poziţii a deînmulţitului. Scriind operanzii ca în relaţia (3. Y=-6. Algoritmul de calcul este cel din figura 3. Dacă la adunarea anterioară deplasării apare depăşire (lucru sesizat prin valoarea OVF=1 a unui bit „overflow”). a) Algoritmul de înmulţire a două numere întregi cu semn reprezentate în modul şi semn. Relaţia (3.P = (−1) xn−1⊕ yn−1 ∑ (Yxi )2i = (−1) p2 n−2 ⋅ 2 n−2 (Yxn−2 + 2−1 (Yxn−3 + 2−1 (Yxn−4 + .. b se arată un exemplu de calcul pentru X=7. (n-a). + 2−1 (Yx1 + 2−1 (Yx0 )).

13) În figura 3.15) se poate scrie: 2 X − X = X = ∑ ( xi +1 − xi )2 −i + ∑ ∆xi 2 −i i −0 i =0 m (3.. δn-1=l. Algoritmul Booth. dacă este necesar.4.. Altă metodă de înmulţire utilizează algoritmul Booth.b este prezentat exemplul numerelor X=-5. În practică algoritmul de înmulţire prezentat se realizează în diverse variante.17) Acest produs poate fi calculat cu un algoritm de deplasare şi adunare sau scădere la produs a produselor parţiale.Y=-6. 1.pn−1 ⊕ OVF → p n−1 . a) Algoritmul de înmulţire a două numere întregi cu semn reprezentate prin (C2).Y=-6.16) unde xm+1=0. n-2. În figura 4. . Y reprezentate ca numere fracţionare în virgulă fixă: X = (−1) x0 + ∑ xi 2 −i i =1 m Y = (−1) y 0 + ∑ yi 2 −i i =1 m m (3. -1 39 .. pentru a evita scăderea la ultimul pas. adunarea sau scăderea de la pasul n de calcul sunt reprezentate prin δi=0 pentru i=0. Se obţine: P = XY = ∑ Y ⋅ ∆xi 2 i i =0 m (3. i = 0. De exemplu.1. se poate modifica semnul înmulţitorului astfel încât el să fie întotdeauna pozitiv... Fie X. pi +1 → pi .. semnul rezultatului final prin complementare. modificând în mod corespunzător.a este dat algoritmul de înmulţire pentru două numere în (C2). Se observă corecţia bitului de semn în cazul apariţiei depăşirii şi scăderea lui Y din produs în ultima etapă datorită valorii negative a înmulţitorului (bit de semn y3=1). Figura 3. asemănător cu cele prezentate mai sus. b) Exemplu: X=-5. Valorile ∆xi =0.4. n − 2 (3..

… . ∆x0 în cazul algoritmului Booth) au secvenţe de zerouri succesive. conduc la micşorarea în medie a numărului de paşi de calcul.5.1 Algoritmul general de împărţire Fie X.3. 40 . 3.18) Figura 3. scăderi şi deplasări. Y=4 rezultă Q=2. Deplasările multiple (cu mai mult de o poziţie) ale deînmulţitului în cazul în care înmulţitorul (sau secvenţa ∆xm. Aceste modificări necesită circuite suplimentare.sunt determinate de valorile xi. cu eventualele modificări pentru reducerea timpului de execuţie. deoarece nu există un algoritm de calcul „direct”.3 ÎMPĂRŢIREA NUMERELOR BINARE Împărţirea a două numere binare se poate reduce la o secvenţă de comparări. ca cel al înmulţirii. cu algoritmul uzual din aritmetică. III se deplasează Y' la dreapta (sau echivalent X la stânga) cu o poziţie. bitul câtului ia valoarea 0 şi nu se efectuează scăderea. II se compară X cu Y'=Y⋅2k. Dacă X≥Y'. X=9. La împărţire apar însă dificultăţi suplimentare. Pentru n=4 biţi. În figura 3. R=l. a) operaţii de împărţire efectuată după algoritmul clasic pentru numere întregi fără semn. în următoarele etape: I se aliniază biţii mai semnificativi (MSb) nenuli ai lui X şi Y. xi+1 ale unei perechi de biţi adiacenţi şi determină prin testare decizia de adunare la produsul P a valorilor respectiv 0. analog cu reducerea înmulţirii la adunări şi deplasări. 0<R<Y (3. prin deplasarea lui Y la stânga cu k poziţii (echivalent cu înmulţirea cu 2k). 3.5. Metodele pentru creşterea vitezei de lucru utilizează tehnica transportului anticipat pentru reducerea timpului de sumare. Y>0.a se prezintă pe acest exemplu efectuarea împărţirii. atunci bitul curent al câtului ia valoarea 1 şi X-Y' reprezintă primul rest parţial. b) Împărţirea numerelor întregi cu număr constant de paşi. Y sau -Y. În practică se pot utiliza algoritmii prezentaţi. numere întregi pentru care există relaţia cunoscută X=Y⋅Q+R. altfel.

pentru întregi). de paşi pentru numere În caz că MS(X)≥(2n⋅Y). Pentru a detecta depăşirea nu este nevoie a Algoritmul de mai efectua împărţirea. 3. Y>0: a) . întregi. . la numere fracţionare condiţia de nedepăşire pentru Q este |X|<|Y|.6.. 3.regenerarea restului parţial dacă diferenţa a fost negativă. vezi fig.fără regenerarea restului parţial (mai exact.5. pentru numere pozitive se efectuează: . în acest caz. Ne vom referi la primul caz. atunci Q poate depăşi capacitatea registrului cu n biţi. Pentru calculele cu numere la care poziţia punctului zecimal este fixă (virgulă fixă). Se lucrează asemănător ca în exemplul din fig. b). trebuie semnalată în acest caz depăşirea. ci se face doar comparaţia specificată. de semn contrar cu restul parţial) atunci restul parţial iniţial trebuie regenerat (scăderea nu trebuia făcută) la valoarea iniţială.. cu n biţi. întregi fără semn. atunci se semnalează depăşire. utilizatorul are sarcina limitării domeniului operanzilor astfel încât să se obţină rezultate corecte (de exemplu |Y|≤|X|.împărţirea se efectuează prin . Dacă X are 2n. pentru numere fără semn. după n paşi se obţine Q într-un registru auxiliar (care poate fi chiar partea mai puţin semnificativă a registrului dublu) iar restul în partea mai semnificativă (MS) a registrului. dacă se interzice împărţirea prin zero. 3. .5. biţi iar Y are n biţi. Algoritmul de paşi. 41 .dacă la pasul anterior restul a fost pozitiv se execută scăderea. atunci Q∈{ 1. La numere întregi fără semn cu n biţi.3. Dacă unitatea aritmetică lucrează în virgulă mobilă. atunci la fiecare operaţie operanzii sunt scalaţi de către unitatea aritmetică astfel încât Q este menţinut la valoarea ≅l.căutarea” biţilor câtului spre deosebire de înmulţire care se efectuează direct. Y se deplasează la stânga cu n poziţii. ∞}). cu corecţia la pasul următor).2 Împărţirea numerelor fără semn În practică. În figura 6 este dat algoritmul general de împărţire cu număr constant (n) de Figura 3...la pasul 1: scădere. a cu deosebirea că la fiecare pas. Se observă însă că dacă diferenţa este negativă (mai general. 3.6 se efectuează prin scădere. Împărţirea se poate executa şi cu număr constant (n) de paşi (egal cu numărul biţilor câtului). . . în cazul comparării prin scădere. Observăm că metoda poate fi utilizată simplu şi pentru împărţire cu număr constant X în lungime dublă (2n) cu condiţia ca MS(X)<MS(2n⋅Y). continuarea procesului cu mai mulţi paşi va începe să producă biţii fracţionari ai lui Q. Observăm următoarele: . comparaţiile din algoritmul de principiu din fig.IV se repetă pasul 2 până ce se obţin toţi biţii câtului (până când Y' ajunge aliniat la dreapta lui X). conduce la două variante de corectare (considerăm mai întâi cazul X>0. 2n-1 }. prin adunarea împărţitorului la diferenţă: la pasul i: Ri ← 2 Ri −1 − Y < 0 ⇒ Ri ← Ri + Y b) . Modul de realizare practică a acestei corecţii. X se deplasează la stânga. la pasul i: .Q poate depăşi domeniul numerelor reprezentabile cu n biţi (Q∈{0.numărul de paşi de calcul este variabil (k+1). dacă se dispune de un registru de lungime dublă..

X. .. . Se observă cele trei etape: alinierea împărţitorului.9 se prezintă metoda neregenerării pentru X de împărţit în lungime dublă 2n iar împărţitorul Y în lungime simplă n.. În figura 3.d.20) X = Y '⋅Q'+2 −k Rk +1 Calculul trebuie oprit după k+1 paşi deoarece în ultimul pas Y' devine aliniat la dreapta cu X.. în exemplul dat n=4. Exemplu: X= 0 0 1 0 0 1 0 1 Y= 0 0 0 0 1 1 0 1 1 1 0 1 23⋅Y=Y'= 0 pasul: 0 1 2 3 ( ) Înlocuind pe Y' cu Y⋅2k se obţine: (3. Iniţial.m. cu n biţi (1 — semn.. ş. R2 < Y ' . Practic primul pas (compararea X cu Y) este totuşi util pentru verificarea condiţiei de nedepăşire de către cât a domeniului admisibil (|X|<|Y|).a. Se obţine din relaţia (3.. + q k 2 − k ) + 2 − k ⋅ Rk unde s-a notat Y' cu Y iar Rk+i cu Rk deoarece se poate executa împărţirea în k paşi (număr egal cu cel al biţilor câtului).. registrul respectiv va conţine în final valoarea restului. Observăm că eventuala alterare a semnului restului parţial la operaţia R←2R nu provoacă incorectitudini deoarece la pasul următor urmează o scădere şi rezultatul va fi corect.a se dă algoritmul de împărţire pentru numere întregi pozitive cu metoda regenerării iar în figura 3. Există qo astfel încât: (3. Pentru realizarea practică 42 . se execută adunarea 2Ri-1+Y. În figura 3. conform celor spuse la operaţiile de sumă algebrică multiplă. În figura 3. q0 ∈ {0. presupunem. Metodele sunt principial echivalente deoarece dacă la pasul i se execută adunarea.8 a şi b se prezintă două exemple pentru X.21) X = Y (q0 2 k + q1 2 k −1 + .22) X = Y (q1 2 −1 + q 2 2 −2 + . + qk 2 − k + 2 − k ⋅ Rk +1 (3.. Se aliniază Y prin înmulţire cu 2k astfel încât bitul cel mai semnificativ (de după bitul de semn) să fie 1. Se observă economicitatea metodei fără regenerare.altfel. Se obţine: X = Y ' q0 2 0 + q1 2 −1 + . datorită deplasării la stânga a lui X. Metoda b) economiseşte adunarea de regenerare din a) prin adunarea din pasul următor.b cu metoda neregenerării. Observăm că algoritmul prezentat este valabil şi pentru numere fracţionare la care condiţia de nedepăşire este |X|<|Y|. + q k 2 0 ) + 2 − k ⋅ Rk +1 în care suma din paranteză reprezintă câtul întreg.20): (3.7. împărţirea propriu-zisă şi corecţia restului. Y>0 reprezentaţi cu 5 biţi (1+4). 2n+1 +1}. n-1 — mărime).1} şi R1 < Y ' În mod analog există qi astfel încât: 2 Ri = Y '⋅q1 + R2 . Efectuarea scăderilor se poate face prin adunarea complementului de doi al numărului respectiv.. În acest caz în relaţia (3. (V) X∈{0. unde Y'=Y⋅2k. Pentru justificarea algoritmului de împărţire cu număr variabil de paşi.19) X = Y ' ⋅ q0 + R1 .7. atunci: 2(Ri-1 -Y)+Y=2Ri-1 -Y deci se obţine acelaşi rezultat ca şi când restul Ri-1 modificat prin scădere în Ri-1 -Y ar fi fost regenerat la valoarea iniţială Ri-1 (în loc de Ri-1 -Y) şi preluat ca atare în pasul i. În aceste condiţii avem X<2Y'.19) q0=0 şi R1=X. Y>0 întreg. restul parţial R ia valoarea X iar după scăderi succesive..

reprezentate cu n biţi.se utilizează două registre RP. se utilizează un registru separat de lungime n pentru Y. Se aliniază Y la RP prin înmulţire cu 2n. reprezentate cu 4 biţi (în lungime simplă): a) Metoda regenerării. b) Metoda fără regenerare 43 . Q care conţin iniţial X în lungime dublă. (1) = alinierea lui Y. Practic. b) Metoda fără regenerare pentru numere pozitive.8.7. aliniat Figura 3. (2) = împărţirea propriu-zisă. a) Metoda regenerării pentru numere pozitive. Algoritmi de împărţire pentru numere întregi. pozitive. (3) = corecţia restului. Figura 3. Exemple de împărţiri pentru numere întregi. c) Metoda fără regenerare pentru numere cu semn.

Pe măsura efectuării calculelor biţii lui X se deplasează spre stânga în RP.1100 = 12 ⋅ 16 în care s-a scalat X în X' pentru a îndeplini condiţia X<Y.9. În acest caz. 8 a. operaţiile prezentate în fig. semnul acestuia corectându-se în final.metoda fără regenerare. Condiţia de nedepăşire este: MS(RP. 44 .22) cu k=3. eliberând registrul Q care este ocupat succesiv cu biţii câtului. Q)=MS(X)=(RP)<Y (3. . iar prima cifră a câtului poartă ponderea 2-1. Diferenţa constă m decizia asupra operaţiei de adunare sau scădere ce trebuie efectuată la un pas oarecare de calcul şi a deciziei asupra valorii cifrei câtului. 3. cu deîmpărţitul în lungime dublă (2n=8) iar împărţitorul în lungime simplă (n=4) . 3. Operaţiile din fig. 16 1 4 R = 2 −3 ⋅ R3 = ⋅ 8 16 şi: 13 1 12 8 1 4 ⋅ = ⋅ + ⋅ 2 16 16 16 8 16 relaţie care se verifică.se lucrează direct cu algoritmul modificat pentru numere cu semn. Au loc aceleaşi etape ca şi pentru numerele pozitive. se execută împărţirea fără semn şi se modifică sumele semnele câtului şi restului în funcţie de semnele lui X şi Y.8 a. restul rezultă de acelaşi semn cu deîmpărţitul. 2. RP conţine restul iar Q câtul. care conţine resturile parţiale.01101 = ⋅ . reprezentate cu câte n biţi. Acest fapt rezultă din aceea că la fiecare pas se evaluează dacă Y „se cuprinde” în restul parţial şi operaţia aritmetică se face mereu în sensul reducerii valorii absolute a lui X până ce acesta devine egal cu restul. Reinterpretând rezultatele citate în fig. Algoritmul prezentat produce întotdeauna valoarea absolută a lui Q. Metodele utilizate în exemplele citate sunt valabile cu mici modificări şi pentru numere fracţionare. Exemplu de împărţire pentru numere întregi pozitive. .la partea mai semnificativă a registrului dublu. b corespund relaţiei (3. Figura 3.8 a. b se pot interpreta ca fiind executate asupra numerelor în virgulă fixă reprezentate cu (1+4) biţi: 13 1 X ' = 0.1000 = .23) Împărţirea se execută în k+l=5 paşi. În figura 7 c se prezintă algoritmul fără regenerare pentru numere întregi cu semn reprezentate cu n biţi în (C2).se convertesc operanzii X şi Y în numere pozitive. 3.3. În final. b se obţine: 8 Q = 0. 16 6 1 Y ' = 0.3 Împărţirea numerelor cu semn Împărţirea numerelor cu semn se poate executa în două moduri: 1.

0 soluţie mai bună este rotunjirea rezultatului. Exemple de împărţire pentru numere întregi cu semn prin metoda fără regenerare.Dacă restul parţial şi Y sunt de acelaşi semn. pentru care există diverse metode. ultimul rest trebuie corectat dacă semnul său nu este acelaşi cu cel al lui X. (al n+1-lea). Metoda fiind fără regenerări. de lungime 2n.4 TRUNCHIEREA. dacă dintr-un rezultat pozitiv. Cifra câtului primeşte valoarea 3 dacă semnul restului parţial este acelaşi cu al lui X. Figura 3. este transformarea în 1 a celui mai puţin semnificativ bit al părţii care se reţine din rezultatul complet. Aceasta se face prin trunchiere sau rotunjire. 3. dar care produce erori ceva mai mari. 0 rezolvare radicală a problemei o constituie efectuarea calculelor în virgulă mobilă care necesită însă unităţi aritmetice mai complexe. ROTUNJIREA.10. (vezi exemplele din figura 3. atunci Y se scade din restul parţial. în caz contrar. fracţionar. Y se adună la restul parţial. în precizie dublă. De exemplu. Problema depăşirilor la operaţiile în virgulă fixă. 45 . apare o eroare comparabilă cu ponderea bitului respectiv în rezultat. altfel ia valoarea zero. efectuând transportul către rangurile superioare şi trunchiind după aceea noul rezultat la n biţi.10). Prin trunchiere se înlătură pur şi simplu cei mai puţin semnificativi biţi ai rezultatului. se doreşte menţinerea părţii mai semnificative (n biţi) atunci se poate aduna un 1 pe poziţia bitului imediat următor după cel mai puţin semnificativ al rezultatului final. se rezolvă prin circuite speciale indicatoare de depăşire. 0 metodă mai simplă. DEPĂŞIREA 0 problemă suplimentară ce apare la operaţiile aritmetice este reţinerea unui număr mai mic de biţi dintr-un rezultat cu lungime mai mare.

etc. comparare. circuite pentru transport anticipat.. 0 secvenţă de comenzi aplicate unităţii aritmetice constituie un ''program''. selectabile. b)Tabelul de 4.1 CIRCUITE ARITMETICE ELEMENTARE 4. a) adevăr. Schema logică şi tabelul de adevăr sunt date în fig. lasă neschimbat cuvântul de intrare X1. .cu circuite specializate pentru anumite funcţii aritmetice.4 IMPLEMENTAREA OPERAŢIILOR ARITMETICE Încheind prezentarea operaţiilor aritmetice de bază se poate observa că ele pot fi realizate prin descompunerea în operaţii elementare cum sunt: complementare. În sistemele mai lente se preferă deseori sporirea în continuare a gradului de serializare a acţiunilor elementare faţă de cele prezentate în acest paragraf. B. pe baza unor comenzi..1 Circuitul de complementare Circuitul de complementare este un CLC care în funcţie de comenzile A.) sau cu alte circuite speciale pentru detecţia depăşirilor. X4. în schimb înglobarea lor în sisteme complexe cu funcţii multiple este mai complicată. rotunjire.1. b) Semisum atorul Figura 4.2. În continuare se vor prezenta câteva circuite elementare necesare în operaţiile aritmetice.cu unităţi aritmetice ''universale'' care pot executa mai multe operaţii. forţează ieşirile în 1 sau 0. 4.2 a al sumei binare. yi.11. 46 .1. Se observă că tabelul de adevăr realizează de fapt tabelul 4. şi generează doi biţi la ieşire: suma Si şi transportul Ci+1 către rangul următor. Circuitul de complementare: a) Schema logică. execută una dintre următoarele funcţii: complementează faţă de 1.2 elementar Semisumatorul elementar este un CLC care adună două numere cu un bit xi. deplasări multiple. sumare. etc.1. mai mult sau mai puţin perfecţionate în funcţie de performanţele propuse. pentru reducerea complexităţii circuitelor. oferind avantajul unei viteze mari de lucru.. Ambele variante pot fi prevăzute cu circuite pentru sporirea vitezei (prelucrări paralele pe porţiuni de cuvânt. Cele două variante se întâlnesc în practică în numeroase forme. . deplasare. În practică se utilizează două variante de implementare a operaţiilor aritmetice: . 4. Schema logică a circuitului şi tabelul care indică funcţionarea sunt date în figura 4.

b) Tabelul de adevăr. 4. Sumatorul elementar: a) Schema bloc.3. Schema logică se poate obţine în două moduri: . b) Schema logică.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) cc +1 = xi ci ∨ yi ci ∨ xi yi (4. Figura 4. generând suma si cu un bit şi transportul spre rangul următor ci+1 conform tabelului de adunare (fig. 4.pornind de la tabela de adevăr.1.Figura 4.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.1. Schema bloc şi schema logică sunt date în figura 4. Transportul de ieşire va fi 1 dacă ci' +1 = xi ⋅ yi = 1 . Semisumatorul elementar: a) Schema logică. Rezultă: si = xi y i c i ∨ xi yi ci ∨ x i yi c i (4. .completând semisumatorul elementar cu încă un semisumator care să sumeze pe si = xi ⊕ yi şi pe ci. sau dacă al doilea semisumator generează transport.2.1. prin minimizare. 4.2.2) din care schema logică rezultă imediat ca un CLC în trei trepte.b) care este şi tabelul de adevăr al circuitului.4 Sumatorul serie 47 .

figura 4. x0 şi y0 sunt biţii cei mai puţin semnificativ. . Σi. 4. dacă aceştia se introduc serie în sumator. sumatorul elementar poate aduna doi operanzi cu n biţi. bitul curent al sumei si apare la ieşirea S şi se memorează în RD3 prin aplicarea sa pe intrarea serie IS. biţii sumei memoraţi în RD3 pot fi utilizaţi paralel sau serie în funcţie de aplicaţie. yi ai operanzilor. Fiecare Σi primeşte de la rangul inferior transportul Ci şi generează spre celula de rang următor transportul ci+1. Schema funcţionează în următoarele etape: . 48 . El se compune din n sumatoare elementare. Bitul de transport ci+1 este memorat în bistabilul D care asigură o întârziere de un tact. . S = suma. Rezultă schema bloc de principiu din figura 4..se încarcă paralel operanzii X şi Y. cu n+1 biţi fiecare.1. atunci pe durata fiecărui tact se menţine la ieşirea lui RS rezultatul precedent. i=0. generând la ieşire cuvântul sumă S=sn-1. RY. . În schema dată s-au omis unele detalii privind aplicarea Figura 4. C = comenzi (mod. . În figura 4. reprezentate prin C. Dacă CBB sunt master-slave. i=0. CI = transport de intrare. X. s0 şi transportul de ieşire sn. Intrarea CI în prima celulă şi ieşirea CO a ultimei celule permit conectarea sumatorului Σ în scheme mai complexe sau utilizarea lui multiplă în operaţii multicuvânt. pentru sumarea biţilor corespunzători xi. .În sisteme mai lente. în RD1 şi RD2 funcţionând în mod paralel. După sumare. Yi.se deplasează X şi Y serie spre dreapta în n+1 tacte succesive furnizând la intrarea în Σ perechile de biţi xi. se şterge bistabilul D. Schema bloc de principiu a unui sumator serie.….4. tacte). yi şi CIi+1.5 Σ este completat cu trei registre paralel RX. La terminarea fiecărui interval de tact.5 Sumatorul paralel Sumatorul paralel este un CLC care sumează doi operanzi binari aplicaţi în paralel la intrările Xi. unde T este perioada de tact.. pentru utilizarea acestuia în tactul următor.. Σ primeşte la intrări Xn=0. ES = ieşire serie. IS = intrare serie.… n-1 şi un bit de transport co. În tactul n+1. iar RD3 cu n+1 biţi un registru de deplasare pentru înregistrarea serie a rezultatului. pentru i=0.4 în care RD1 şi RD2 sunt registre de deplasare cu posibilitate de încărcare paralelă şi deplasare serie. Y şi respectiv a sumei S. biţii cei mai semnificativi din RD1 şi RD2 iau valoarea zero. n-1 (cu CI-1=0 datorită iniţializării în 0 a bistabilului). Sumatorul completat devine astfel un circuit secvenţial care funcţionează sincron cu un semnal de tact Ck. CO = transport de ieşire.5. n-1. RS pentru memorarea operanzilor X..Y = intrări. yn=0 şi transportul final cn care va fi generat ca atare pe ieşirea S şi memorat în cea mai semnificativă poziţie a lui RD3. Circuitul execută o sumare la fiecare tact. comenzilor şi tactelor. Fiecare registru este compus din n respectiv n+1 circuite basculante bistabile. Timpul de execuţie al unei adunări este (n+1)T.

În general. După timpul de propagare prin CLC la ieşirile acestuia apare suma S şi transportul cn de ieşire.6 care realizează funcţionarea dorită. 4.. Este avantajos ca operanzii Xi să fie reprezentaţi în (C2) deoarece în acest caz sunt valabile (consideraţiile asupra depăşirii în cazul sumelor multiple fiind făcute în paragrafele anterioare). sumatorul cu acumulare trebuie să fie prevăzut cu circuite pentru detectarea depăşirilor.Frontul semnificativ Ck determină înscrierea operanzilor în RX.1. se poate construi o schemă de sumator cu acumulare. Sumatorul paralel cu n biţi..6 Sumatorul paralel cu acumulare Pentru calculul unei sume multiple S=X1+X2+. N la intrările lui RX. în N tacte succesive. m>n iar Xi trebuie sumaţi la partea mai puţin semnificativă a sumei parţiale cu m biţi. Se observă că dacă ieşirea registrului RS din figura 4.. Următorul front semnificativ al Ck înscrie rezultatul în RS.. iar Σ este un sumator paralel. RY..6. ntp (tp= timpul de propagare ci→ci+1 printr-o celulă).+ Xn. i=1. atunci se obţine schema de principiu din figura 4. Datorită paralelismului schema funcţionează teoretic de n+1 ori mai rapid decât sumatorul serie (într-un singur tact). Această schemă funcţionează în N tacte. A (acumulatorul) menţine la intrarea Y a sumatorului valoarea curentă a sumei Si-1.. i=1. iar ieşirea lui RX este Xi.5 se utilizează în locul ieşirii lui RY.. Pe durata unei perioade a tactului Ck. Rezultă că A trebuie să fie un registru paralel cu celule master-slave. plecând de la schema precedentă. N. Menţionăm că o schemă auxiliară trebuie să furnizeze cei N operanzi Xi. Schema bloc de principiu a sumatorului paralel cu acumulare..5. ceea ce limitează viteza.. În această schemă registrul de ieşire este numit din motive evidente acumulator (A). completat cu registru paralel pentru memorarea operanzilor şi rezultatului.. Totuşi analizând 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. Observaţia sugerează o posibilitate de mărire a vitezei prin generarea cu anticipare a transportului de ieşire cn cu ajutorul unor circuite suplimentare combinaţionale. la fiecare tact se calculează suma parţială S ← S+Xi. 49 Figura 4. unde iniţial S=0. . La sfârşitul intervalului A=Si ←Si-1+Xi. Dacă suma poate depăşi lungimea de n biţi atunci Σ şi A trebuie să aibă o lărgime de m biţi.

ş. 2 ) + ( xn −1.1 + ..d. x0....3) S = ( x n −1.i)..i. iar s reprezintă starea anterioară a CBBi..1 . x1. k i k −1 i 50 .. 2 . xo. N . bitul curent al sumei este Figura 4.. În această conexiune. la pasul k. atunci flexibilitatea circuitului creşte deoarece poate realiza operaţii de tipul Si ← Si-1⋅2k+Xi unde k este un întreg pozitiv sau negativ. Acumulatorul este înlocuit cu o structură paralel de circuite basculante bistabile (CBB) de tip J—K la care intrările J şi K sunt legate între ele. x0... Transportul între biţii adiacenţi poate fi calculat pornind de la observaţia că bitul I al unei sume S=X+Y se poate scrie: s i = xi ⊕ c i ⊕ y i (4. x0 . + x 0.m. N . un CBB J—K sumează modulo doi stările logice ale intrării citite la impulsuri de tact succesive. atunci CBB revine în starea iniţială după fiecare două impulsuri de tact).a.1 .. În figura 4.5) unde z este ieşirea unui sumator modulo doi. N ) în CCB1. Variantă de realizarea a unui sumator paralel cu acumulare: CCTi = circuit de calcul al transportului de intrare în bitul i.1 + .7. x1. + x1. J=K=0⇒Qn+1 ← Qn iar J=K=l⇒Qn-1 ⋅ Qn (dacă J=K=1. x1. N ) se va acumula în CCB0..Dacă registrul acumulator permite şi deplasări stînga/dreapta. ( x 0.. 2 . suma ( x1. Astfel dacă notăm operandul Xi = (xn-1.. Circuitul CLC notat CCTi calculează bitul de transport de intrare în celula de sumare i. suma (4..1 ) + ( xn −1.. s ik = xik ⊕ cik ⊕ s ik −1 = z ik ⊕ s (4.7 este dată o variantă de realizare a unui sumator paralel cu acumulare. N ) se poate calcula astfel: suma biţilor din coloana 0.….4) În cazul sumatorului cu acumulare.

7) se rescrie utilizând aceste notaţii: ci +1 = Gi ∨ ci ⋅ Pi (4. Practic. Pi = xi ∨ y i ) ..7) Vom nota cu Gi = xi ⋅ y i şi Pi = xi ⊕ y i (sau plecând de la forma minimizată).. yi . Ele se realizează curent sub formă de circuite integrate pe scară mare. Considerând sumatorul cu 4 celule ca un bloc se pot defini pentru el două funcţii P şi G. Pi se va numi funcţie de propagare a transportului prin celula ∑ i . xi −1 . yi −1 .8) Gi se va numi funcţie de generare a transportului la celula i căci (xiyi= l) ⇒ (ci+1 = l) indiferent de valoarea lui ci. x0 . Pentru c4 economia este semnificativă deoarece transportul succesiv prin patru sumatoare elementare implică 2X4tp=8tp. Utilizând relaţiile (4. etc. y 0 .1) al unei celule elementare ∑ i se constată că ci+1 se poate scrie: ci +1 = xi ⋅ yi ∨ ci ⋅ ( xi ⊕ yi ) (4. indiferent de rangul celulei.. Pornind de la acest lucru se poate scrie bitul de ieşire si al sumei S din relaţia (4. Relaţia (4.2). transformate Fourier.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ă întârzierea 3tp prin trei porţi logice. P = P4 P3 P2 P1 G = G4 ∨ P4 G3 ∨ P4 P3 G2 ∨ P4 P3 P2 G1 (4.6) în care nu mai apare transportul ci de la rangul anterior ci direct toate intrările de rang ≤ i.9) 4. Mărirea vitezei la limita maximă se poate obţine pornind de la faptul că orice funcţie logică combinaţională se poate scrie sub formă normal disjunctivă (sau conjunctivă) ceea ce permite realizarea ei doar cu trei trepte de porţi logice. Analizând tabelul de adunare (vezi tabelul 3.1. Relaţia (41) arată că ci+1 poate fi egal cu 1 dacă se generează în celula i (Gi=l) sau ca urmare a propagării (dacă Pi=l) a unui ci=l de la intrare.8) aplicate succesiv la 4 celule adiacente se obţine: c1 = G1 ∨ P1c0 c 2 = G 2 ∨ P2 G1 ∨ P2 P1c 0 c3 = G4 ∨ P3 G2 ∨ P3 P2 G1 ∨ P3 P2 P1c 0 (4.Sumatoarele cu acumulare sunt larg utilizate în operaţiile de prelucrare a semnalelor de provenienţă analogică (filtrare digitală.4) ca o funcţie logică: si = f ( xi . conform relaţiei (4. metoda nu este aplicabilă decât pentru sumatoarele cu număr mic de biţi din cauza creşterii rapide a complexităţii CLC pentru biţii de rang mare. O soluţie foarte utilizată situată între sumatorul cu transport succesiv şi cel cu întârziere minimă este cea a generării transportului anticipat peste un număr oarecare de sumatoare.10) 51 .. corelaţie. În acest fel se elimină timpul de propagare al transportului pe seama măririi complexităţii CLC de sumare. Transportul anticipat După cum s-a arătat principala limitare a vitezei de calcul la sumatorul paralel cu transport succesiv de la o celulă la alta este determinată de necesitatea propagării acestuia prin toate celulele. căci Pi = l va determina „traversarea” celulei ∑ i de către valoarea bitului de transport de intrare ci. c0 ) (4.).

8). Schema de principiu prezentată poate fi realizată cu diverse familii de componente: .8 b avem un transport anticipat pe trei niveluri: 52 . i=0.8): C n + x = G0 ∨ P0 ⋅ C n .8 a este dată conectarea a patru unităţi aritmetice (ALU) a câte 4 biţi fiecare..CMOS: 4×ALU (de tip MMC40181 de 4 biţi) + GTA (de tip MMC40182).8 b). În figura 4... pe un al doilea nivel.ceea ce permite extinderea principiului prezentat anterior. 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. Conectarea cu transport anticipat a unităţilor aritmetice: a) cu două niveluri (intern lui ALU +nivel 1). Cn+4i se leagă la Cni+1. P (active jos) pentru grupul de 4 biţi. . Ieşirile G. 4. 4.11) Figura 4. b) cu trei niveluri. furnizând ieşirile G. În fig. 2. peste mai multe sumatoare cu 4 biţi utilizând un circuit de transport anticipat suplimentar descris tot de relaţiile (4. P ale GTA pot servi pentru conectarea pe încă un nivel prin alt GTA a mai multe unităţi cu 16 biţi (vezi de exemplu: fig.8. Cn este transportul de intrare în ALU iar Cn+4 cel de ieşire. pentru a forma o unitate aritmetică cu 16 biţi.bipolare: 4×ALU (tip 74181 de 4 biţi) + GTA (de tip 74182) 4×RALU (de tip Am2901 sau Am2903 de 4 biţi) + GTA (de tip Am2902). Fiecare ALU este prevăzut intern cu circuite generatoare de transport anticipat (GTA). Circuitul GTA este descris de un set de relaţii asemănătoare cu (4. Într-o conectare fără GTA.

( A ∨ B ) + A. Y. astfel: E = A. ( A ∨ B ). . Structura internă a ALU care realizează funcţiile propuse cuprinde în esenţă: . .selectarea funcţiei S=(S0-3). A ∧ B. .14) A + B. A ⊕ B. B)=(A0-3. A ∧ B. (TTL) sau MMC40181. cu următoarele funcţiuni: . . 4.2 UNITĂŢI ARITMETICE .modului” M: M = 0 = mod "aritmetic" M = l = mod "logic". . . . pentru 4 biţi): . B0-3).ieşirea funcţiei F=(F0-3).2. A + AB. B.aritmetice: (4.executa o operaţie aritmetică / logică asupra a unul sau doi operanzi de intrare cu un anumit număr de biţi. mini sau mari).un circuit logic de intrare. . peste patru sumatoare elementare. etc.ieşirea pentru transport Cn+4.1 Unităţi aritmetice . ( A ∨ B ) + A B. A + AB.1.furnizează indicaţii asupra rezultatului. ( A ∨ B ). A + A..un sumator binar. . AB (4.ieşiri pentru transport anticipat.logice şi negatele lor: F = A.comenzi: .nivel 1 — peste 4 circuite ALU elementare.nivel 2 — peste mai multe unităţi ALUo. ALU 74181 (MMC 40181) realizează de exemplu următoarele 16 funcţii: . AB − 1. funcţiile aritmeticelogice se realizează în circuite tot mai complexe care execută pe baza unor comenzi diverse funcţiile de tip aritmetic sau logic. A B.nivel 0 — în interiorul ALU. AB − 1. ( A ∨ B ) + AB.logice de bază Operaţiile aritmetice şi cele logice de bază pot fi realizate cu circuite multifuncţionale numite unităţi aritmetice-logice (ALU).intrarea pentru transport Cn. (CMOS) care sunt ALU pentru 4 biţi. . Aceste circuite se pot utiliza ca atare în sisteme digitale complexe sau se regăsesc ca elemente componente în unităţile de prelucrare ale sistemelor de calcul (micro. A − B − 1. ALU1.12) A. (4. A ∨ B. .LOGICE Odată cu creşterea densităţii de integrare a circuitelor digitale. B.comanda . Cn=0 sau 1 unde E este o expresie cu unul sau doi operanzi. . de exemplu: 74(LS/S)181.−1.ieşirea indicatoare de egalitate a operanzilor (A=B). A ∨ B. comandat de (S0-3) care execută funcţii logice elementare între operanzii A şi B. 4. A ⊕ B. ALU este un CLC complex. Funcţiile şi intrările/ieşirile ALU prezentate sunt realizate în circuite uzuale. .13) F=E+Cn. A ∨ B. A ∨ B . A − 1 53 . X..circuite de comparare. ALU are următoarele intrări şi ieşiri tipice (ex.un generator de transport anticipat.intrările operanzilor (A.

În general ieşirea A=B este de tipul cu colector în gol pentru a permite legarea în comun a ieşirilor corespunzătoare de la mai multe unităţi. ce funcţionează cu un tact extern. Dacă ALU execută operaţia de scădere F=A-B-1+Cn atunci prin analiza biţilor Cn si Cn+4 se pot obţine valorile de adevăr ale comparaţiilor: A≥B. pentru a forma ALU pentru operanzi de lungimi mai mari.În relaţiile de mai sus (+) semnifică adunarea binară iar (-) adunarea complementului faţă de doi al operandului respectiv. în acest caz Cn este transportul de la ALU de rang inferior iar Cn+4 transport de ieşire spre ALU de rang imediat superior. ALU pot fi conectate în paralel.2 şi § 1. Fiecare operand este memorat independent. complet serial. A<B. iar dacă Cn+4=l atunci aceasta reprezintă faptul că A≥B (vezi paragraful 3. facilitându-se astfel multiplicarea cu o constantă. înmulţitorul asincron (CLC). funcţia AB devine în acest caz A+B deoarece Figura 4.3 înmulţirea binară se poate executa paralel cu un CLC specializat pentru obţinerea unei viteze mari. funcţiile schimbându-şi în mod corespunzător semnificaţia (de exemplu. (exemplu: MPY016k — TRW multiplicator 16×16 biţi/50 ns). Relaţiile de mai sus au fost date pentru semnale active "sus".10.1). A>B. 4.3. Registrele de ieşire memorează produsul sub forma a două cuvinte cu câte n (n=16) biţi (MSP — partea mai semnificativă în RM. În cazul utilizării unui circuit extern de transport anticipat (vezi fig. O configuraţie tipică de asemenea multiplicator este dată în figura 4. Circuitul include trei secţiuni funcţionale: registrele de intrare. secvenţial în n paşi (n=numărul de biţi al înmulţitorului). De obicei CLC se completează la intrare şi ieşire cu registre care transformă multiplicatorul într-un circuit secvenţial. ALU poate fi utilizat şi cu semnale active "jos". cu 2n intrări şi 2n ieşiri pentru operanzii X şi Y şi respectiv pentru rezultat (P). la fronturile semnificative (+) ale 54 .8). O operaţie de înmulţire se realizează într-un singur tact.9. sau la limita cealaltă. 4.2 Circuite de multiplicare După cum s-a arătat în § 12.3 Multiplicatorul paralel Acesta se realizează ca un CLC complex. Registrele de intrare memorează cei doi operanzi cu câte 16 biţi şi comanda pentru rotunjirea la ieşire (atunci când se doreşte rezultatul în lungime simplă). A≤B. atunci intrarea Cn este furnizată de GTA. împărţire. registrele de ieşire.2. Datorită structurii paralele CLC execută într-un singur pas toate deplasările şi adunările algoritmilor prezentaţi în § 1. în sistemele de viteză mică. ALU poate realiza şi funcţia de deplasare la stânga F=A+A ceea ce permite utilizarea sa în circuite pentru înmulţire. Unitate un circuit ŞI pentru semnale active sus este un SAU pentru semnale active "jos"). aritmetică-logică: Ieşirea A=B a comparatorului permite detectarea situaţiilor de C n = 0 ⇒ există transport egalitate a operanzilor (ALU trebuie să fie în mod aritmetic. iar cea mai puţin semnificativă LSP în RL).2. cu (semnal activ pe 0) funcţia de scădere şi Cn=l). De exemplu Cn=l⇒F=A-B. 4. Înmulţitorul asincron este o reţea de porţi ŞI şi sumatoare care realizează înmulţirea în modul şi semn sau complement de doi. iar X şi Y se conectează la GTA.

Comanda RS („Register shift”) permite ajustarea formatului produsului P. P=(C2) reprezentare mixtă Interpretând X. Partea mai puţin semnificativă (LSP) a produsului se poate obţine fie prin multiplexare cu (MSP). RND-comandă pentru rotunjirea MSP. (exemplu: 7×8=56. CLKX. P=(M) întregi fără semn X=(C2).4. Semnalele TCX. TCX=1⇒X este interpretat ca număr cu semn în (C2). MSEL = 1 ⇒ LSP fie pe intrările Y care devin ieşiri (TRIL = 0 ⇒ Y ← LSP ) . Ea se utilizează cu RS=0. Circuitul este flexibil în reprezentările admise pentru operanzi. AF-ajustarea formatului de reprezentare. RR-circuit basculant bistabil (CBB) pentru memorarea comenzii de rotunjire. TRIM . Ieşirile circuitului pot fi trecute în starea de mare impedanţă (dacă TRIM = 1 şi TRIL = 1 ). P=(C2) întregi cu semn X=(C2). TCY-informaţii privind reprezentarea lui X. CLGL-tacte. Semnalul FT=1 asigură transparenţa acestor registre. reprezentarea fără semn) X=(M). CLKM. numai pentru reprezentările lui X şi Y în (C2). P=56=0111000. FT-comanda transparenţei regiştrilor. Multiplicator paralel: RX. 55 . În acest fel datele de intrare pot fi interpretate în trei moduri posibile: ((M)=notaţie pentru. CLKY. RM. cu o poziţie.Y. TCY are semnificaţii asemănătoare. ( ) Figura 4. TCY indică modurile de interpretare a datelor: TCX=0⇒X este interpretat ca număr fără semn. MSEL -comanda de selecţie a MSP sau LSP. TRIL -comenzi de validare pentru "buffer"-ele cu trei stări. RY-registre de intrare (de tip D). Dacă RS=0 atunci bitul de semn se repetă atât în MSP cât şi în LSP. Y=(M). MSP/LSP-partea mai semnificativă / mai puţin semnificativă a produsului. TCX/TCY=1 implică complementul faţă de doi. în reprezentarea cu 4 biţi (1+3).semnalelor de tact KLKM şi CLKL. Semnificaţia biţilor lui P este (fig. TCX/TCY=0 implică modulul şi semnul.111 0000). MSEL = 0 ⇒ MSP. RL-registri de ieşire (de tip D). TCX.11): Se observă că RS=1 determină înlăturarea copiei bitului de semn din LSP şi deplasarea lui MSP spre dreapta. (7/8)⋅(8/8)=7/8⇒P=0. Y=(M). Y=(C2).10. Y. Diferenţa între cele două reprezentări este că interpretarea lui P ca fiind în virgulă fixă necesită deplasarea la stânga cu o poziţie. P ca numere fracţionare în virgulă fixă se obţin încă trei reprezentări posibile pentru date.

Presupunem operanzii reprezentaţi ca întregi cu semn în (C2). RY=Y de înmulţit.4. se corectează semnul prin operaţia MSb ← F ⊕ OVF (MSb=bit de semn).11. în (C2). utilizând un sumator (ALU) completat cu registre şi circuit de deplasare.Figura 4. rezultă (fig. Rezultatul se deplasează pe lungime dublă (deplasare aritmetică cu conservarea semnului F) la dreapta. În cazul în care la adunare a apărut depăşire. Se execută în continuare adunarea RMSP+Y sau RMSL+0 în funcţie de valoarea 1 sau 0 a bitului curent al lui X. se execută o scădere condiţionată de valoarea bitului MSb(X) (MSb(X)=l ⇒scădere).2. La pasul n. de (n-1) ori operaţia de adunare şi deplasare. În toate celelalte cazuri se lucrează numai cu RS=1.12. Multiplicatorul secvenţial Multiplicatorul secvenţial realizează algoritmii în n paşi prezentaţi în § 12. Se execută cu ajutorul comenzilor C2. 4. RLSP=X înmulţitor.13. Multiplicatorul paralel se poate utiliza în sistemele de viteză mare pentru prelucrarea în timp real a semnalelor.3. Semnificaţia biţilor produsului în C2 Y ca numere fracţionare. Iniţial RMSP=0. Dacă se doreşte P numai în simplă precizie atunci MSP se poate rotunji prin adăugarea unui bit 1 la cel mai semnificativ bit al LSP şi efectuarea transportului către MSP. urmată de deplasare dreapta.12): În cazul interpretării lui X şi Figura 4.4 56 . Schema bloc de principiu a unui asemenea circuit este dată în figura 4.

D-circuite de deplasare dreapta. (C2). RYregistru pentru deînmulţit. F-bitul de semn din ALU. RLSP în lungime dublă. RLSP-registru pentru LS(P) (iniţial RLSP=X. reprezentat cu semn în Circuitul prezentat se poate obţine prin configurarea unei unităţi aritmetice logice şi registre complexe (ex. O sau A. înmulţitor. ALU-unitatea aritmetică logică.13. Rezultatul se obţine în final în RMSP. C1-comandă selectare operanzi (A.Figura 4. Multiplicator secvenţial: RMSP. OVF-bit indicator de depăşire la adunare. C2-comenzi. Am 2901). 57 . B).registru pentru MS(P).

1). 5. aplicat pe borna B. În concluzie. 5..5 CIRCUITE LOGICE COMBINAŢIONALE (CLC) Circuitele logice combinaţionale au două caracteristici principale: .3. Pentru exemplificare se va considera iniţial perechea de circuite ŞI respectiv ŞI-NU reprezentată în fig. In acest caz semnalele de ieşire sunt egale cu semnalul de pe intrarea de semnal B sau cu inversul acestuia.1 PORŢI LOGICE În tabelul 2.2. 5. trece sau nu prin poartă în funcţie de valoarea semnalului de comandă aplicat pe borna A. 5. . x2 ..2 a se observă că atâta timp cât semnalul de comandă A este pe nivel logic coborât (L). semnalele de ieşire vor fi Q1=X respectiv Q2= X . Putem considera în acest caz porţile ŞI respectiv ŞI-NU ca fiind închise. semnalul (X).. modifică indiferent de valoarea semnalului aplicat pe intrarea de semnal B. Funcţionarea porţilor ŞI respectiv ŞI-NU: a) tabelul de funcţionare. Aceste circuite sunt cunoscute şi sub denumirea de porţi logice.2 b). 58 . Figura 5. s-a arătat şi pe acest model funcţionarea porţii logice ŞI. xn ) (5. Schema bloc a unui circuit logic combinaţional. 5. Se poate spune că în acest caz porţile sunt deschise. b) schemele porţilor. Folosind schema cu două comutatoare şi un bec din fig.. Dacă în schimb semnalul de comandă A este pe nivel logic ridicat (H). Dacă se consideră că intrarea A este intrare de comandă şi intrarea B este intrare de semnal (fig.sunt circuite fără memorie (semnalele de pe ieşiri există doar în prezenţa semnalelor aplicate pe intrări).semnalul ce apare pe o ieşire yk este o combinaţie a semnalelor de la intrare z k = f k ( x1 . semnalele de ieşire Q1 respectiv Q2 nu se Figura 5.2 împreună cu tabelul lor de funcţionare. valabil şi invers.1. atunci din tabelul din fig.6 au fost reprezentate funcţiile booleene de două variabile precum şi simbolurile circuitelor electronice corespunzătoare.

Poartă ŞI cu condiţionare multiplă. Condiţionarea poate fi însă multiplă. Se va considera următorul exemplu simplu reprezentat în fig. becul se va stinge sau se va aprinde Q1=X în funcţie de poziţia lui K2 (B=X). Figura 5. (Q=0). 5.3.Pentru K1 deschis (A=L). indiferent de poziţia lui K2(B=X). 5. 5. Ilustrarea funcţionării porţii ŞI. Exemplu de analiză a unui circuit logic combinaţional Stabilirea expresiei semnalului de ieşire s-a făcut urmărindu-se de la stânga spre dreapta (intrare spre ieşire) transformările succesive ale semnalelor de intrare. b) schemele porţilor.2 ANALIZA CIRCUITELOR LOGICE COMBINAŢIONALE În cadrul analizei. şi va fi blocată Figura 5.6.4. Figura 5. concretizată prin tabelul de funcţionare sau prin scrierea expresiei semnalelor de ieşire în funcţie de cele de intrare. Practic la toate circuitele se constată că semnalul de pe o intrare condiţionează trecerea prin circuit a semnalului aplicat pe cealaltă intrare.5. 59 . 5.5. becul B rămâne tot timpul stins. în cazul în care K1 este închis (A=H). Figura 5. Având expresia funcţiei. În mod similar se poate analiza şi funcţionarea perechii de circuite SAU respectiv SAU-NU în regim de poartă (vezi fig.4). completarea tabelului de funcţionare nu mai prezintă nici o dificultate. dacă cel puţin una din intrările de comandă este pe nivel de tensiune (L). Poarta ŞI va fi deschisă (Q=X) numai dacă C1=C2= … =Ck=H.6. se pleacă de la cunoaşterea schemei circuitului şi se urmăreşte stabilirea funcţionării acestuia. aşa cum se observă în fig. Funcţionarea porţilor SAU respectiv SAU-NU: a) tabelul de funcţionare.

cu circuite ŞI. ŞI.minimizarea funcţiei.desenarea schemei circuitului. Trebuie menţionat faptul că acelaşi CLC poate fi realizat în mai multe variante (după modul cum a fost scrisă funcţia) de exemplu: . 1. Pentru a face sinteza cu circuite SAU.cu circuite SAU-NU. b) simbolul. ŞI.3 SINTEZA CIRCUITELOR LOGICE COMBINAŢIONALE În cazul sintezei se cunoaşte funcţia pe care trebuie s-o îndeplinească circuitul şi se caută să se găsească structura acestuia. .7. Circuit de anticoincidenţă: a) schema bloc.8.5. NU. Etapele sintezei sunt următoarele: .9.7 a) având tabelul de funcţionare şi simbolul reprezentate în figurile 5. ŞI. NU acesteia se desenează schema circuitului (vezi fig. Pentru ilustrare se va considera iniţial un exemplu simplu: şi anume găsirea structurii unui circuit de anticoincidenţă cu două intrări (fig. . SAU. 5. Sinteza cu circuite ŞI.cu circuite ŞI-NU. etc.cu circuite SAU. 5. 2. Se completează matricea Karnaugh corespunzătoare funcţiei y.9). 5.definirea funcţiei (sau a funcţiilor). se minimizează scriind FDM a funcţiei după care se desenează schema circuitului (vezi fig. Figura 5. 60 . NU. . Sinteza circuitului de anticoincidenţă cu porţi SAU. Sinteza circuitului de anticoincidenţă cu porţi ŞI. . tabelul de funcţionare. NU. SAU. .8 b) Figura 5.7 b respectiv 5.7 c. NU se scrie FCM a funcţiei şi pe baza Figura 5. NU. Vom urmări sinteza circuitului în cele patru variante susmenţionate. SAU.

( ) ( ) ( )( ( ) ( ) ) Figura 5. a) Convertoare de cod din codul binar natural în codul binar reflectat Se consideră cazul unor cuvinte de cod de 4 biţi: B3B2B1B0 la intrare şi G3G2G1G0 la ieşire.4 Figura 5. Sinteza circuitului de anticoincidenţă cu porţi ŞI-NU 5.3) Plecând de la expresia obţinută se poate desena schema circuitului reprezentată în figura 5. 61 .3. Tabelul de funcţionare al circuitului împreună cu matricea Karnaugh corespunzătoare Figura 5. 4. Pentru a realiza o schemă cu circuite SAU-NU se pleacă de la FCM a funcţiei care se prelucrează cu ajutorul formulei lui De Morgan astfel: y = (x1 ∨ x2 ) ⋅ x1 ⋅ x 2 = ( x1 ∨ x2 ) ∨ x1 ∨ x 2 (5. ieşirilor este prezentat în figura 5.10.11.4. Sinteza circuitului de anticoincidenţă cu porţi SAU-NU EXEMPLE DE CIRCUITE LOGICE COMBINAŢIONALE 5.11.12.12.2) Această expresie permite desenarea schemei ca în figura 10.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. Convertor de cod din binar natural în cod Gray: a) tabelul de funcţionare. Pentru sinteza cu circuite ŞI-NU se pleacă de la FDM a funcţiei care se prelucrează cu ajutorul formulei lui De Morgan astfel: y = y = x1 ⋅ x2 ∨ x1 ⋅ x 2 = x1 ⋅ x2 ⋅ x1 ⋅ x 2 (5. b) matricele Karnaugh.

5. Pentru aceasta rescriem relaţiile deduse din matricele Karnaugh reprezentate în fig.3) G0 = B1 ⊕ B0 B0 = G3 ⊕ G2 ⊕ G1 ⊕ G0 Pe baza relaţiilor (5. Principiul de funcţionare al codificatoarelor. Urmează două exemple de codificatoare numite şi de adresă deoarece ele furnizează la ieşire adresa intrării activate.13). iar în cazul acţionării intrării Ij apare cuvântul 1010. 5. 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ă găsim relaţiile de transformare pe cale analitică.5.14. 5. (Apare 1 pe ieşirile acelor circuite SAU care sunt legate la intrarea activată).1). Figura 5.Pe baza relaţiilor deduse se poate desena schema circuitului de conversie (fig.2 Codificatoare Circuitele codificatoare sunt CLC la care activarea unei intrări conduce la apariţia unui cuvânt de cod pe ieşire.4. trei respectiv patru funcţii Gi se obţin relaţiile de transformare dorite: G3 = B3 B3 = G3 G2 = B3 ⊕ B2 G1 = B2 ⊕ B1 B2 = G3 ⊕ G2 B1 = G3 ⊕ G2 ⊕ G1 (5.12 şi prin sumarea a două. 62 .13 b). b) din Gray în binar natural. Dacă se activează intrarea Ik (nivel de tensiune ridicat H).13 Schema convertoarelor: a) din binar natural în Gray. atunci pe ieşirile paralele apare cuvântul de cod 1101.14 este desenată schema unui circuit codificator cu patru ieşiri. De exemplu în figura 5. se poate desena schema convertorului de cod (fig. Figura 5.

4) Figura 5.15 c.15 Codificator de adresă simplu: a) schema bloc.16. a). Relaţiile (5. simultan mai multe intrări. c) schema logică. De exemplu. 63 . care de fapt nu a fost activată. Codificator prioritar: a) schema logică.15. Pe baza tabelului de funcţionare întocmit (fig.4) ne permit să desenăm schema circuitului de codificare ca în fig. ceea ce ar corespunde intrării I3. 5.a) Codificatorul de adresă simplu Exemplul ales reprezintă un circuit cu şapte intrări şi trei ieşiri (fig. 5.15 b) se pot deduce următoarele expresii ale semnalelor de ieşire: 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. A1=l şi A2=0. 5. b) Tabelul de funcţionare.15 are dezavantajul că atunci când se activează Figura 5. activarea simultană a liniilor de intrare I1 şi I2 duce la apariţia adresei A0=l. b) tabelul de funcţionare. în cazul în care nu se poate evita acţionarea simultană a mai multor intrări se folosesc circuite de codare prioritare. Schema reprezentată în figura 5. adresa citită pe ieşire este eronată. c) schema logică.

autorizare a funcţionării.17 c).Deficodificator de adresă cu 4 ieşiri: a) schema bloc. 64 . Pe baza tabelului de funcţionare se pot alcătui matricele de comandă ale ieşirilor (fig. Decodificarea este necesară în numeroase aplicaţii cum sunt adresarea memoriilor. funcţionarea circuitului este blocată prin închiderea tuturor porţilor ŞI din schemă (toate ieşirile vor fi pe nivel H). 5. Din matrice rezultă expresiile booleene ale ieşirilor. De aceea fiecărei intrări i se atribuie o anumită prioritate care în exemplul de faţă creşte cu numărul de ordine al intrării (intrarea 0 va fi cu prioritatea cea mai mică. care activează linia de ieşire a cărei adresă este prezentă pe intrări. 1. iar intrarea 7 cu prioritatea cea mai mare). tabelul de funcţionare precum şi schema logică a codificatorului prioritar sunt reprezentate în figurile 5. Schema bloc.b) Codificatorul de adresă prioritar Aceste circuite sunt astfel concepute încât în cazul acţionării simultane a mai multe intrări la ieşire apare adresa intrării cu prioritatea cea mai mare. ieşirea GS devine activă (nivel L) atunci când cel puţin una din intrări este activată. rezultă că un decodificator de adresă cu n intrări va avea 2n ieşiri distincte. 5.16 a.17. în cazul exemplului prezentat. e) matricea de referinţă. ieşirea EO este activată atunci când toate intrările de date sunt inactive. Figura 5. Cele patru matrice.17e. care permit întocmirea schemei logice a decodificatorului.b respectiv c. Circuitul mai este prevăzut şi cu o intrare suplimentară EI (Enable Input) de . 5.3 Decodificatoare Se numesc circuite decodificatoare circuitele logice combinaţionale care activează una sau mai multe ieşiri în funcţie de cuvântul de cod aplicat la intrare. Având în vedere că numărul cuvintelor de cod distincte de n biţi este 2n. Pentru EI = H . în cele ce urmează vom da două exemple din această categorie de circuite. 17 b). d) schema logică. b) tabelul de funcţionare.4. Decodificatorul cu n=2 intrări de adresă şi cu 2n=4 ieşiri reprezentat în fig. multiplexarea datelor etc. Din această categorie de circuite sunt prezentate în cele ce urmează trei exemple semnificative. pot fi sintetizate într-una singură numită matrice de referinţă şi reprezentată în figura 5. a) Decodificatoare de adresă Sunt circuite logice combinaţionale. c) matricele Karnaugh. afişarea numerică.17 a împreună cu tabelul său de funcţionare (fig.

Pe baza acestei observaţii din examinarea tabelului de funcţionare al decodificatorului de adresă cu n=3 intrări (fig. b) Decodificator BCD . 5. Din examinarea diagramelor Karnaugh reprezentate în figura 16 c se observă că expresiile booleene ale ieşirilor decodificatorului de adrese sunt de fapt constituenţi ai unităţii. Se spune că acest decodificator rejectează datele false de la intrare. 1011. iar pe baza acestora putem să Figura 5. Decodificatorul cu n=3 intrări de adresă şi cu 2n=8 ieşiri. Schema logică a decodificatorului se poate deduce din minimizările făcute pe matricea sa de referinţă (fig. 1110 şi 1111 nefiind incluse în codul BCD 8-4-2-1 sunt considerate false. 1101. În practică se întâlnesc frecvent situaţii în care trebuie făcute decodificări dintr-un alt cod decât cel binar natural. Deoarece toate stările sunt decodificate explicit. de exemplu din coduri BCD (Zecimal Codat Binar).19 a iar schema lui logică în figura 5. Tabelul de funcţionare al decodificatorului este reprezentat în fig. 5. 5. desenăm schema logică a decodificatorului (fig. 1100. In cele ce urmează va fi examinat un astfel de decodificator din BCD (8-4-2-1) în zecimal.18.18 a) putem scrie expresiile funcţiilor de ieşire. 5. Poate fi realizat un decodificator din BCD 8-4-2-1 în zecimal care să nu rejecteze datele false de la intrare. Decodificator de adresă cu opt ieşiri a) tebelul de funcţionare. datele false fixate eventual pe intrările decodificatorului duc la stabilirea tuturor ieşirilor în starea falsă de 1 logic.19 b. b) schema logică.20 a).18 b).2.zecimal Decodificatoarele de adresă sunt de fapt decodificatoare din codul binar natural în zecimal. Stările 1010. 65 .

Aşa cum diagrama de referinţă din fig. Schema decodificatorului este reprezentată în figura 5. apariţia la intrare a stării interzise 1111 va duce la activarea simultană a ieşirilor 7 şi 9. Acest lucru se poate realiza prin introducerea unei intrări suplimentare.17 e corespunde la 4 diagrame Karnaugh explicite deduse din tabelul de funcţionare a circuitului. Din examinarea schemei din figura 5. în dreptul celulelor corespunzătoare stărilor interzise se va nota starea X corespunzând unei stări nedeterminate (0 sau 1). 5. numită STROBE.zecimal cu rejecţia datelor false: a) tabelul de adevăr. b) schema logică. în caz contrar (0 logic) porţile ŞI-NU vor fi închise. 66 .19.20 b se constată că nerejectarea stărilor interzise a determinat micşorarea numărului de intrări ale porţilor ŞI-NU. Decodificator BCD . spre deosebire de tabelul din figura 5. pe toate porţile ŞI-NU ale decodificatorului (fig. De exemplu. în aceste diagrame. diagrama de referinţă din figura 19 a trebuie înţeleasă în sensul că ea reprezintă de fapt zece diagrame Karnaugh explicite conţinând o singură unitate în dreptul celulei care indică numărul ieşirilor zecimale.Figura 5.19 b).20 b.18 a. Când intrarea STROBE este activată (1 logic) se efectuează decodificarea. In numeroase aplicaţii este necesar ca decodificarea stărilor de intrare să apară numai pe anumite intervale de timp specificate (de exemplu în cazul citirii stărilor numărătoarelor). Dezavantajul schemei este acela că nu rejectează datele false de la intrare. 5.

Decodificator BCD .20.21. Dacă decodificatorul în cauză comandă un sistem de afişare. c) Decodificator BCD . Figura 5.7 segmente 67 . b) schema logică. rejectând în felul acesta orice dată care apare pe intrările decodificatorului. Un avantaj notabil al acestei metode de strobare este că ieşirile decodificatorului sunt disponibile tot timpul. 5.Latch comandate cu semnal de STROBE pe intrările lor de tact (fig.Latch.20). O altă tehnică de strobare utilizează circuite basculante de tipul D .decodificarea inhibată. printr-o asemenea tehnică de strobare se evită o afişare intermitentă. Figura 5.zecimal fără rejecţia datelor false: a) matricea de referinţă. Circuit de strobare a datelor de intrare folosind CBB de tip D .

22 c. 5. e. d. Pentru a produce cifra zecimală dorită diferite elemente ale afişajului sunt stinse.Decodificatorul BCD → 7 segmente este un circuit de decodificare utilizat la comanda sistemelor de afişare numerice realizate din şapte segmente luminoase: becuri.23. Pe cele patru intrări ale circuitului se aplică cuvântul de cod (codul BCD) reprezentând cifra zecimală ce urmează a fi afişată. 5. C. Tabelul de funcţionare al decodificatorului este reprezentat în figura 5.22 b se pot completa matricele de comandă ale celor şapte segmente (fig. c.23). Pe baza tabelului din fig. Matricele Karnaugh ale decodificatorului. Figura 5. b) tabelul de funcţionare. 5. f. diode electroluminiscente sau cristale lichide.22. Cele şapte ieşiri comandă segmentele corespunzătoare dispuse ca în figura 5. Se recomandă un asemenea sistem deoarece realizarea comenzilor necesită mai puţine operaţii logice decât dacă toate elementele sistemului s-ar fi considerat stinse iniţial. c) dispunerea segmentelor.22 b. Figura 5. Cele şapte segmente se consideră iniţial aprinse.22 a). B. b. Decodificatorul BCD . Decodificatorul va fi un CLC cu patru intrări notate cu D. A şi cu şapte ieşiri notate cu a.7 segmente: a) schema bloc. g (fig. 68 .

În cazul în care se cere întocmirea unei scheme cu circuite ŞI-NU. 69 .4.24.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. ) ) ( ) Figura 5. 5. Selecţia intrării se face printr-un cuvânt de cod de selecţie (adresă). expresiile obţinute 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 ∨ A⋅C = A⋅ B ⋅C ⋅ D ⋅ A⋅C 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.7 segmente.4 Circuite de multiplexare (MUX) Circuitele de multiplexare sunt circuite logice combinaţionale care permit trecerea datelor de la una din intrări spre o ieşire unică. Schema logică parţială a decodificatorului BCD .Grupând în mod convenabil zerourile din aceste matrice se obţin expresiile logice care permit întocmirea schemei logice a decodificatorului cu circuite ŞI-SAU-NU.24 este reprezentată schema logică parţială a decodorului.

c) schema logică. Schema bloc.26 a. Multiplexor cu patru intrări: a) schema bloc . cu ajutorul căreia se autorizează sau nu funcţionarea multiplexorului. Multiplexor cu două intrări: a) schema bloc.17 d). tabelul de funcţionare precum şi schema logică a circuitului sunt prezentate în figura 5.a) Multiplexor cu două intrări Acest circuit permite comutarea datelor de pe intrarea I0 (A=0) sau de pe intrarea I1 (A=l) spre borna de ieşire Y. Figura 5. 5. Tabelul de funcţionare şi schema circuitului sunt reprezentate în figura 5.25. Circuite de demultiplexare (DEMUX) Circuitele de demultiplexare sunt circuite logice combinaţionale care permit transmiterea datelor de pe o intrare de date comună pe una din ieşirile selectate.26. Porţile de intrare sunt prevăzute cu o intrare suplimentară comună.25. Figura 5. b) tabelul de funcţionare. 70 5. b respectiv c.5 . b) tabelul de funcţionare. Selecta-rea intrării adresate se face similar ca la decodificatorul de adresă (vezi fig.4. Selectarea ieşirii se face printr-un cuvânt de cod numit de adresă. c) schema logică b) Multiplexor cu patru intrări Pentru adresarea celor patru intrări sunt necesari doi biţi.

Schema bloc. Figura 5. a) Comparatorul numeric de un bit 71 5. b şi c.a) Demultiplexor cu două ieşiri Un astfel de circuit permite comutarea fluxului de date de pe intrarea comună. c) schema logică. tabelul de funcţionare precum şi schema logică a circuitului sunt arătate în figura 5. c) schema logică. Comparatoare numerice Comparatoarele numerice sunt circuite logice care permit determinarea valorii relative a două numere.27a. Examinând schema logică a circuitului se constată că ea reprezintă de fapt un decodor de adresă similar celui din figura 5.28 a. Ele pot fi de un bit sau de mai mulţi biţi. b) tabelul de funcţionare. Demultiplexor cu două ieşiri: a) schema bloc.6 . b) tabelul de funcţionare. Aceste intrări suplimentare legate împreună formează intrarea comună de date.4.28. b şi c. fie pe ieşirea Y0 (A=0) fie pe ieşirea Y1 (A=l).27.17 d la care porţilor ŞI de ieşire li s-a adăugat o intrare suplimentară. Demultiplexor cu patru ieşiri: a) schema bloc. Figura 5. b) Demultiplexor cu patru ieşiri Circuitul permite comutarea fluxului de date de pe intrarea comună spre una din cele patru ieşiri selectate. Schema bloc. tabelul de funcţio-nare precum şi schema logică a circuitului sunt reprezentate în figura 5.

29 a şi b. Dacă A0<B0 respectiv A0>B0 rezultă că sunt valabile şi relaţiile A<B respectiv A>B. 72 .29. Comparator de un bit: a) schema bloc. 0 variantă posibilă se obţine dacă se plasează la ieşirea circuitului de anticoincidenţă din figura 8 un inversor (ceea ce este echivalent cu transformarea porţii SAU de ieşire în poartă SAU-NU).6) B = B0 ⋅ 2 0 + B1 ⋅ 21 Procesul de comparare începe cu compararea biţilor cei mai semnificativi A1 cu B1. în schemă acest lucru se materializează prin legarea ieşirilor porţilor P1 respectiv P2 direct la intrările porţilor P5 respectiv P6. Schema logică a comparatorului numeric de un bit. indicând la ieşire situaţiile de mai mare. b) tabelul de funcţionare. ceea ce se obţine prin legarea ieşirilor porţilor P3. Circuitul de coincidenţă. aşa cum este arătat în figura 31. pentru determinarea relaţiei dintre numerele A şi B. Dacă avem A1>B1 sau A1<B1 acest lucru implică şi faptul că A>B sau A<B indiferent de valoarea biţilor A0 şi B0. Figura 5. egal sau mai mic. b) Comparatoare numerice de mai mulţi biţi Prin interconectarea a două comparatoare numerice de câte un bit se poate realiza un comparator numeric de doi biţi.30. Dacă A1=B1. în cazul în care pentru A1=B1 şi A0=B0 rezultă că cele două numere sunt egale A=B şi se activează ieşirea porţii P7.Acest circuit permite compararea a două numere de câte un bit. care permite stabilirea egalităţii celor două numere poate fi realizat în mai multe variante. Cele două numere de doi biţi se scriu astfel: A = A0 ⋅ 2 0 + A1 ⋅ 21 (5. Figura 5. se impune şi examinarea biţilor A0 şi B0. aşa cum este reprezentat în figura 30. situaţie în care ieşirea porţii P8 asigură deschiderea porţilor P3 şi P4. P4 la intrările porţilor P5 respectiv P6. Completând această schemă cu două porţi ŞI pentru realizarea funcţiilor y1 şi y2 se obţine o variantă a comparatorului numeric de un bit. Schema bloc şi tabelul de funcţionare sunt reprezentate în figura 5.

Comparatorul cu patru realizat cu două circuite SN 7485. A<B şi A=B ale etajului următor de patru biţi etc. A<B şi A=B.32. Borna de expandare A=B a etajului care compară biţii cei mai puţin semnificativi trebuie să fie la nivel logic unu. Schema comparatorului numeric cu doi biţi. A<B şi A=B se leagă la bornele de expandare A>B.Figura 5. În figura 5. prin interconectarea mai multor comparatoare de doi biţi se pot realiza comparatoare numerice de mai mulţi biţi.31.32 a şi b sunt reprezentate tabelul de funcţionare. Pe baza raţionamentului de mai sus. biţi. În figura 5. respectiv schema logică a comparatorului de patru biţi.33 este reprezentată schema unui comparator numeric de opt biţi Figura 5. 73 . Pentru a putea compara două numere cu mai mulţi biţi. circuitul este prevăzut cu borne de intrare pentru expandare notate A>B. Un exemplu în acest sens îl reprezintă circuitul integrat SN 7485 care este un comparator numeric de patru biţi cu posibilităţi de expandare. Expandarea se realizează astfel: bornele de ieşire ale unui etaj de patru biţi A>B.

Figura 5. Circuitul din figura 5.4. Utilizarea circuitului într-o schemă de transmisie este arătată în figura 5. Operaţiile susmenţionate se realizează cu CLC numite generatoare şi detectoare de paritate. iar S2 paritatea biţilor A0 şi A1. Detectorul elementar de paritate (pentru cuvinte de doi biţi) este circuitul de anticoincidenţă (sumatorul modulo doi) (fig.35 se mai observă că la emisie — la cei trei biţi informaţionali — se adaugă bitul de paritate formând cuvântul de cod transmis. 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 cuvânt de cod prin adăugarea unui bit suplimentar la cei existenţi.33. 5. 74 . Figura 5. Din figura 5. In funcţie de rezultatul verificării se decide asupra corectitudinii cuvântului recepţionat. Generator detector de paritate de 4 biţi.34 lucrează aici ca generator de paritate. Rezultatul acestor verificări este la rândul lui verificat de S3 pe ieşirea Y3 a acestuia apare nivel logic 1 dacă cuvântul A0A1A2A3 are un număr impar de unităţi şi nivel logic 0 în caz contrar. Din figura 5.34 a observăm că sumatorul modulo doi S1 verifică paritatea biţilor A0 şi A1. La recepţie se verifică paritatea sau imparitatea numărului de „l" din cuvântul recepţionat. Comparatorul numeric de 8 biţi.7).7 Detectorul şi generatorul de paritate în procesul transmiterii informaţiilor numerice pot apărea erori. astfel încât numărul de „l" din cuvântul nou format să fie par (sau impar).34.pentru P=l avem Y4 = Y 3 şi circuitul este un generator de imparitate (pe ieşirea Y4 apare nivel logic 1 când numărul de unităţi din cuvântul de la intrare este par). 5. Cu patru sumatoare modulo doi se poate realiza schema unui generator sau detector de paritate (imparitate) pentru cuvinte de patru biţi arătat în figura 34. Introducerea circuitului S4 în schemă împreună cu comanda P asigură pe ieşirea Y4 nivel logic 1 sau 0 în funcţie de numărul unităţilor din cuvântul de cod şi de comanda P aplicată după cum urmează: .35.pentru P=0 avem Y4=Y3 şi circuitul este un generator de paritate (pe ieşirea Y4 apare nivel logic 1 dacă numărul unităţilor din cuvântul de la intrare este impar) .

36. Figura 5. Lanţ de transmisie cu verificare la paritate.36. 5. circuitul este prevăzut cu două ieşiri YP şi YI. Schema circuitului este reprezentată în figura 5. se fabrică sub formă integrată cum sunt de exemplu decodoarele de adresă.4. decodoare BCD — zecimal.35. detector de paritate (imparitate) de 8 biţi cu posibilităţi de expandare. 75 .detector de paritate de 16 biţi.37 este arătată schema de interconectare pentru un generator (detector) de paritate de 16 biţi. generator (detector) de paritate sau imparitate. Prin interconectarea mai multor circuite SN 74180 se pot realiza generatoare (detectoare) de paritate (imparitate) cu un număr arbitrar de biţi.37.La punctul de recepţie cei patru biţi ai cuvântului recepţionat sunt introduşi în acelaşi circuit reprezentat în figura 5. multiplexoarele şi demultiplexoarele etc. Generator .8 Arii logice programabile Circuitele logice combinaţionale care intervin frecvent în numeroase aplicaţii. Figura 5. Corespunzător celor două funcţii. Circuitul este prevăzut cu intrările P (par) şi 1 (impar) care permit funcţionarea ca Figura 5.detector de paritate de 8 biţi. validând sau nu prin bitul său de paritate recepţionarea cuvântului de cod. În figura 5. Generator .34 care de această dată funcţionează ca un detector de paritate. Pentru cazul unor cuvinte de mai mulţi biţi se poate utiliza circuitul integrat specializat SN 7418 care este de fapt un generator.

în urma programării. acesta va trebui realizat practic cu circuitele integrate existente. un circuit ŞI va fi legat fie la ieşirea directă fie la cea negată a unui buffer de intrare. care în procesul de programare pot fi arse sau nu rezultând în felul acesta schema dorită.In situaţiile în care o anumită aplicaţie necesită un CLC care nu se fabrică sub formă integrată. Practic. încât în procesul de programare utilizatorul să aibă posibilitatea să ardă oricare fuzibil. Semnalul de intrare Ik este aplicat unui buffer având rolul de a asigura curentul Figura 5. astfel încât să se poată realiza practic o gamă extrem de variată de CLC. O poartă logică ŞI realizează funcţia uk (constituent al unităţii): i i u k = x0 0 ⋅ x i1 1.38. Pe schemă s-au notat prin 0 legăturile de tip fuzibil. Schema logică a unei arii logice programabile. Idea de bază a circuitului este aceea că în punctele de conexiune interne sunt plasate fuzibile. 0 asemenea soluţie în cazul unor CLC mai complexe necesită multe circuite integrate cu numeroase conexiuni între ele. Porţile logice ŞI sunt legate prin fuzibil la ieşirile directe şi negate ale tuturor bufferelor de intrare. Rezultă că numărul de intrări ale circuitului ŞI va fi cel mult egal cu numărul intrărilor în aria Logică programabilă.38 este reprezentată schema unei astfel de arii logice programabile.7) Circuitele SAU conectabile la toate ieşirile circuitelor de tip ŞI permit obţinerea formei disjunctive canonice a unei funcţii booleene 76 .. necesar bunei funcţionări a porţilor logice cărora li se aplică semnalul. El este astfel conceput. în asemenea situaţii sunt foarte utile ariile logice programabile. care conţin într-o singură capsulă de circuit integrat numeroase porţi logice interconectabile. În figura 5..xn−1 n −1 (5. Circuitul este livrat de către fabricant cu toate aceste fuzibile intacte. ceea ce duce la ocuparea unui spaţiu mare pe cablaj şi la scăderea fiabilităţii globale a montajului.

8) Dacă m<K. Schema în detaliu a ariei logice programabile. se pot modela chiar mai multe CLC. Dacă se aleg în mod convenabil intrările (xk sau ) şi se foloseşte posibilitatea de inversare a funcţiilor de la ieşire se poate realiza CLC în diverse variante. cum sunt: cu circuite ŞI-SAU-NU.y j = ∨ uk k =1 m (5. Figura 5. În figura 5. Printr-o folosire raţională a intrărilor şi ieşirilor unui circuit integrat. Circuitul este extrem de flexibil. Sumatoarele modulo doi de la ieşire permit obţinerea funcţiei sau a inversei acesteia (au rolul de inversor programabil).39 este reprezentată schema detaliată a unei arii logice programabile. cu circuite SAU-ŞI-NU. circuitul este prevăzut cu buffere cu trei stări controlate de o bornă comună CE (Chip Enable) ceea ce permite conectarea circuitului la magistrale. Circuitele ŞI din schemă sunt realizate cu diode şi rezistenţă.39. înseamnă că mai rămân porţi ŞI disponibile cu care se vor putea modela alte funcţii. Pentru exemplificare să ne propunem realizarea unui CLC cu trei intrări şi două ieşiri a cărui funcţionare să fie descrisă de următoarele funcţii logice 77 . Numărul maxim de funcţii ce pot fi modelate este dictat de numărul M al circuitelor SAU. etc. iar circuitele SAU cu tranzistoare cu o rezistenţă comună în emitor. La ieşire.

cinci circuite ŞI şi două circuite SAU. 78 .(5. odată programată aria conţinutul acesteia nu se mai poate modifica.5.40. y1 = x 1 ⋅ x 2 ∨ x 2 ⋅ x3 ∨ x1 ⋅ x 2 ⋅ x 3 Figura 5.9) y 2 = x1 ⋅ x 3 ∨ x 1 ⋅ x 2 ⋅ x3 Schema circuitului realizat pe o arie logică programabilă este reprezentată în fig. Ca un dezavantaj al acestor arii logice programabile menţionăm faptul că ele nu se pot reprograma. Exemplu de realizare a unui CLC cu o arie logică programabilă. Pentru realizarea circuitului s-au folosit trei intrări.40.

(Desigur este posibilă şi situaţia inversă). a registrelor.1 CBB de tip S-R asincron Un asemenea circuit are două intrări de comandă (intrări de date) notate cu: S (de la SET) şi R (de la RESET) şi două ieşiri Q şi Q. cu cifra binară 1. Rn=0). Această asociere este sugerată de modul tradiţional de gândire al omului. îşi găsesc numeroase aplicaţii cum ar fi de exemplu: realizarea numărătoarelor.6 6. Caracteristica lor principală este că ele au memorie. din examinarea semnalelor de ieşire.J-K. Tabelul de adevăr al CBB asincron. După natura funcţionării lor ele se împart în circuite asincrone şi sincrone. 6. Datorită proprietăţilor lor susmenţionate. starea circuitului să nu se schimbe (Qn+1=Qn). . Această observaţie serveşte la prezentarea tabelului de adevăr asociat circuitului a cărui structură urmează să fie stabilită (fig. notate cu 0 respectiv 1 face mai degrabă asocierea susmenţionată.2 CBB DE TIP S-R 6.1. În acest caz pe ieşire apare starea Qn+1=0. Rn=1. Intrarea S se va folosi pentru a înscrie informaţia în circuit. a memoriilor RAM etc.Să existe posibilitatea de a înscrie informaţia în circuit. Comenzile aplicate vor fi: Sn=1. circuitele care au două stări stabile. Circuitul va trebui să funcţioneze astfel: . .2. Spunem că în acest caz circuitul memorează starea sa anterioară. trecerea dintr-o stare în cealaltă făcându-se numai la aplicarea unei comenzi din exterior. pe când intrarea R pentru a şterge informaţia din circuit. în mod convenţional. se poate deduce ultima comandă primită de circuit. . 79 . Cu aceeaşi cifră se va asocia şi comanda activă aplicată la intrare.D.1). 6. Notaţia folosită pentru ieşiri indică faptul că ieşirile circuitului sunt complementare. Se disting următoarele tipuri de circuite bistabile: . în cazul general ambele simboluri 0 respectiv 1 sunt purtătoare de informaţie şi pot fi şi comenzi active. Rn=0 iar pe ieşire apare starea Qn+1=1.În lipsa unor comenzi pe intrări (Sn=0. În cele ce urmează vom analiza în detaliu funcţionarea acestor circuite.1 CIRCUITE BASCULANTE BISTABILE (CBB) GENERALITĂŢI Se numesc circuite basculante bistabile (prescurtat CBB sau bistabil). în mod uzual informaţia se asociază. Aceasta înseamnă că. .S-R. care în cazul a două semnale Figura 6. Aşa cum se va observa pe parcurs.Să se poată şterge informaţia înmagazinată în circuit cu comenzile Sn=0.

rezultă următoarea FCC a funcţiilor Qn+1 şi Q n+1 .3.1 se observă că acest semnal depinde atât de comenzile primite la momentul tn (Sn şi Rn) cât şi de starea anterioară a circuitului (Qn). Grupând unităţile din diagrama Karnaugh din figura 6.Din punct de vedere logic nu are sens să se facă simultan înscrierea şi ştergerea informaţiei. Pentru a face sinteza circuitului se va considera drept semnal de ieşire Qn+1.2.3) Figura 6. Tabelul de adevăr al CBB de tip S-R asincron. 6.1) Q n +1 = S ⋅ Q ∨ Rn Schema bistabilului realizabilă cu porţi SAU-NU rezultă în urma unei prelucrări 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.4) Q n +1 = Rn ∨ Q n ⋅ S n Expresiile 4. Rezultă de aici condiţia de bună funcţionare a circuitului: S n ⋅ Rn = 0 .2 va rezulta FDC a funcţiilor: Qn +1 = S n ∨ Qn ⋅ R n (6. Figura 6. se obţine tabelul de adevăr echivalent prezentat în figura. adică starea circuitului la momentul tn+1 Din tabelul de adevăr prezentat în figura 6. Rescriind tabelul de adevăr şi considerând Qn+1 ca o funcţie booleană de trei variabile.6) 80 .5) (6.2. în urma unor prelucrări similare cu cazul precedent. 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. (6. 6.2 şi 6.3). motiv pentru care comanda Sn=1. Dacă în diagramele Karnaugh din figura 2 se grupează în mod convenabil zerourile. Schema unui CBB de tip S-R realizat cu porţi SAU-NU. ( ) ( ∨ (Q ) ∨R ) (6. Rn=1 va fi o comandă interzisă. pot fi puse sub o formă care să ne permită desenarea schemei bistabilului cu porţi ŞI-NU.2) (6.3 se poate desena schema circuitului (fig.

În concluzie.6) rezultă schema din figura 6. rezultând la ieşire o unică stare Q=0. Pentru valoarea Q=0.4. Dacă comanda Sn=1.3 şi 6. Din acest exemplu rezultă că circuitul are memorie. iar poarta P1 este deschisă.6). Cazul Sn=0. Rn=1. 6.5. Rn=0 (dispare comanda de pe intrarea S). pentru această comandă a rezultat o unică stare la ieşire. Rn=0 a fost dată la momentul tn şi la un moment ulterior tn+1 se revine la comanda Sn=0. Q = 0 Cele două ieşiri ne mai fiind complementare. b) starea unu. Figura 6. Rn=1. adică Q = 1 . Rn=0. Cazul Sn=1. Pentru Q=1. În acest caz funcţionarea circuitului este similară cu funcţionarea din cazul precedent. starea circuitului nu se va modifica (poarta P2 va rămâne blocată datorită intrării Q=1 şi deci intrarea S nu va mai avea efect asupra stării circuitului). circuitul va sta într-una din aceste stări timp cât nu se schimbă comenzile de la intrare.4 sunt de tipul Active Low.4.5). În concluzie ieşirile circuitului sunt complementare. ieşirea porţii P1 este determinată de cealaltă intrare Q = 0 . Intrările de comandă ale porţilor P1 şi P2 fiind în zero logic.Pe baza expresiilor (6. iar în cazul circuitului din figura 6. Cele două scheme prezentate în figurile 6. Dacă la intrare comenzile rămân neschimbate Sn=0. Cazul Sn=1. rezultă că ieşirea porţii P2 va fi 1 logic. 4. circuitul nu poate avea decât două stări: Q=0. Figura 6. Se consideră deci că starea bistabilului este caracterizată de ieşirea Q a acestuia (fig. În acest caz poarta P2 este blocată pe Q = 0 .8). în sensul că din starea sa la momentul tn+1 putem deduce faptul că ultima comandă aplicată circuitului a fost Sn=1. Q = 0 . În cele ce urmează se va analiza funcţionarea circuitului din figura 6. 6. Funcţionarea porţii SAU-NU 1. Pentru această comandă porţile P1.5) şi (6.3 sunt de tipul Active High. 6. Schema unui CBB de tip S-R realizat cu porţi ŞI-NU Figura 6. care în cazul circuitului din figura 6. Cazul Sn=0. Rn=0 (fig. şi deci Q=1. iar ieşirile devin Q=0. înainte de a trece la analiza propriuzisă se va reaminti funcţionarea porţii SAU-NU (fig. 2. Q = 1 .3 pentru toate cele patru combinaţii de comenzi aplicate pe intrări.7). va rezulta Q = 1 . P2 se blochează. Rn=0. 6. 3. rezultă că circuitul îşi 81 ( ) .6. Stările bistabilului: a) starea zero.4 diferă doar prin notarea intrărilor de date. Q = 1 şi Q=1. Rn=0. În concluzie. ieşirile acestora vor fi dictate de celelalte intrări astfel: dacă notăm cu Q semnalul de ieşire al porţii P1 pe ieşirea porţii P2 apare în mod obligatoriu semnalul Q . Ieşirea Q = 1 blochează poarta P1 şi în consecinţă modificările semnalului Rn nu pot influenţa starea circuitului (fig.

pierde caracterul de circuit cu două stări. 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ă funcţionarea pentru ce prezintă funcţionarea 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 stării în care va rămâne 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ă funcţionarea pentru comanda Sn=1, Rn=1. Deoarece practic este imposibil de prevăzut care din situaţiile intermediare va apare în urma anulării 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 adevăr al bistabilului. Pentru evitarea nedeterminărilor ce pot apare în urma unor comenzi Sn=1, Rn=1 există două soluţii: - să se utilizeze circuitul în acele aplicaţii în care asemenea comenzi nu apar; - modificarea schemei circuitului astfel ca acesta să aibă o evoluţie cunoscută şi după o astfel de comandă. Examinând ce posibilităţi oferă cea de-a doua variantă, se constată că există numai patru posibilităţi de ridicare a nedeterminării, ş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 situaţii deja existente în tabel. Ultima variantă ar completa tabelul de adevăr cu o situaţie inexistentă în tabelul iniţial, şi anume: în urma comenzii Sn=1, Rn=1 circuitul să treacă în starea opusă aceleia în care se afla. Pentru a obţine această

82

evoluţie a circuitului, schema CBB de tip S-R a fost completată cu două porţi ŞI comandate cu semnalele Q şi Q aşa cum se prezintă în figura 6.10. Figura 6.10. Transformarea bistabilului S-R în bistabil J-K.

Intrările de comandă ale circuitului se notează cu J respectiv K. Funcţionarea se poate înţelege uşor dacă se urmăresc comenzile: S ' = J ⋅ Q şi R ' = K ⋅ Q . Având în vedere caracterul complementar al ieşirilor, 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 intrările J şi K. De exemplu, atunci când 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. Aplicaţie tipică. Circuitul basculant bistabil de tip S-R se poate utiliza la eliminarea oscilaţiilor ce apar la contacte mecanice, aşa cum este ilustrat acest lucru în figura 6.11.

Figura 6.11. Exemplu de utilizare a bistabilului S-R asincron la eliminarea oscilaţiilor 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. Funcţionarea bistabilului S-R asincron cu comandă aplicată pe intrarea S de la ieşirea unei porţi ŞI

83

Se constată astfel că semnalul de comandă care se aplică pe borna S a CBB este: S=A⋅B. Să considerăm că există următoarea situaţie Qn=0, Rn=0, An=1, Bn=0 şi deci Sn=0 şi că în funcţionarea normală a circuitului trebuie să apară o schimbare a stărilor intrărilor A şi B care însă să nu influenţeze 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 când 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 stării bistabilului poate avea implicaţii greu previzibile asupra funcţionării ansamblului din care face parte. Cum în practică este greu de controlat succesiunea tranziţiilor, este necesar să existe un circuit care să execute comenzile numai după ce acestea s-au stabilizat la valorile lor corecte, evitându-se astfel executarea unor comenzi greşite datorate impulsurilor parazite ce pot să apară în timpul tranziţiilor. Un astfel de circuit este CBB de tip S-R sincron. Un CBB de tip sincron va avea două (una) intrări de date, o intrare de tact şi două ieşiri. Informaţia 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 porţi SAU-NU; b) cu porţi ŞINU; c) şi d) tabelele de adevăr pentru circuitele de la punctele a şi b; e) şi f) tabelele de adevăr pentru intrările asincron ale circuitelor de la punctele a şi b. Pe durata cât porţile de intrare sunt deschise, circuitul funcţionează asincron. Pentru caracterizarea acestei situaţii se poate introduce noţiunea de transparenţă în raport cu intrările de date. De exemplu, pentru bistabilul din figura 6.13 b pentru T=1, orice modificări ale intrărilor de date se reproduc la ieşire, momentele de tranziţie fiind determinate numai de modificările intrărilor. Pentru asigurarea funcţionării sincrone trebuie evitate schimbările intrărilor de date pe durata cât porţile de intrare sunt deschise. Comenzile într-un asemenea circuit se vor executa în ritmul impulsurilor de tact. La fiecare impuls se execută câte un pas în procesul prelucrării informaţiei, ceea ce justifică denumirea de impulsuri de ceas (fig. 6.14).

84

R1 ale primei celule (S1=1. Informaţia I1=1 prezentă pe intrările S1. 6. Un astfel de circuit (registru de deplasare). P2. 85 . unele din ele au şi o intrare. şi P6 se vor deschide.16 b). Schema bloc a registrului de deplasare realizată cu CBB S-R. Figura 6. La apariţia primului impuls de tact porţile P1.15. intrările acestea pot fi considerate prioritare în raport cu celelalte. concomitent cu înscrierea unei noi informaţii în prima celulă etc. Toate bistabilele sincrone sunt prevăzute cu intrare de aducere la zero (numită Reset).16a).15). la al doilea impuls de tact informaţia să treacă din prima celulă în cea de a doua. 6. Dacă între timp impulsul de tact nu s-a modificat.3 CBB de tip S-R Master-Slave S-a arătat anterior că un CBB de tipul S-R sincron execută comanda aplicată pe intrările S.14. Acest mod de funcţionare prezintă însă dezavantaje în anumite aplicaţii. Din acest motiv. Pentru a putea realiza funcţionarea schemei o vom redesena în detaliu (fig. Pentru a ilustra această afirmaţie să presupunem că într-o aplicaţie oarecare avem nevoie de un circuit care să funcţioneze astfel: la primul impuls de tact informaţia să se înscrie în prima celulă. de aducere în starea 1 a bistabilului (această intrare se numeşte Preset). În afara intrărilor sincrone la aceste bistabile se introduc şi una sau două intrări asincrone.Figura 6. P5. Intervalul de timp care trece de la aplicarea comenzii unui CBB până la apariţia stării corecte pe ieşire se numeşte timp de propagare şi îl vom nota cu tpd. înseamnă că înscrierea informaţiei I1=1 în celula unu se va face cu o întârziere tpd (vezi fig. sau la aducerea lui în starea 1 (Sd respectiv S d ). Aceste intrări servesc la aducerea la 0 a bistabilului (Rd respectiv R d ).2. semnalul de ieşire al primului bistabil va acţiona ca un semnal de intrare pentru cel de-al doilea şi după un nou interval de timp egal cu tpd şi pe ieşirea celui de-al doilea bistabil apare informaţia I1=1 (Q2=1). 6. s-ar părea că poate fi realizat prin conectarea în cascadă al unor CBB de tip S-R sincrone (fig. Apariţia unor comenzi pe aceste intrări se execută independent de prezenţa tactului. P3. R în momentul în care porţile de intrare sunt deschise de către impulsul de tact.6. Diagramele de funcţionare a circuitului S-R sincron. P4. R1=0) se va înscrie în aceasta.

celula de bază trebuie să funcţioneze astfel: informaţia să se înscrie în celulă la apariţia impulsului de tact. Acest circuit se numeşte circuit basculant bistabil de tip S-R Master-Slave (Stăpânsclav) şi are schema din figura 6.17 a. În structura circuitului deosebim următoarele elemente: .16. Pentru a elimina acest neajuns. Pentru a vedea ce modificări trebuie aduse celulei S-R sincrone pentru a obţine o celulă binară de tip S-R cu o funcţionare sigură în astfel de aplicaţii revenim la analiza funcţionării schemei din figura 16. Pentru remedierea situaţiei există următoarele posibilităţi: 1.6 b. 2. În concluzie. a) Schema logică a registrului.Figura 6. aşa cum rezultă din fig.16. Practic.CBB Master. 86 . . P4. b) Diagrame care ilustrează funcţionarea regidtrului. Să se micşoreze durata impulsului de tact la valori comparabile cu timpul tpd pentru a elimina propagarea informaţiei de la o celulă la alta. În cazul că impulsul de tact rămâne în continuare în starea 1. În schemele practice s-a adoptat cea de a doua variantă. P1. în esenţă schema din figura 16 nu a funcţionat corect deoarece pe durata tactului (Tact=1) porţile de intrare ale bistabilelor. Să se modifice schema bistabilului de bază astfel încât noul tip de bistabil să nu prezinte neajunsul semnalat anterior. În acest fel se va elimina propagarea în cascadă. P5 şi P6 au fost deschise şi informaţia înscrisă iniţial în prima celulă are posibilitatea de a se propaga din celulă în celulă. când porţile de intrare sunt deja închise. Această soluţie nu este practic acceptabilă. P3. de la o celulă la alta a informaţiei. deoarece nu conduce la circuite cu funcţionare sigură. după primul impuls de tact informaţia I1 este înscrisă în toate cele trei celule. Schema s-a obţinut din conectarea în cascadă a două CBB de tipul S-R sincrone comandate în antifază. după un nou interval de timp tpd şi pe ieşirea celulei a treia se obţine aceeaşi informaţie I1=1 (Q3=l). cât timp avem Tact=1 toate bistabilele sunt transparente. P22. P2.porţile de intrare P1. ceea ce nu corespunde funcţionării dorite iniţial. dar să apară la ieşirea celulei după dispariţia acestuia.

sugerând în felul acesta că informaţia apare pe ieşirea bistabilului pe frontul posterior al impulsului de tact (fig. d) indicarea timpilor de pregătire şi menţinere.17 c) este următoarea: 1. Pe porţiunea 4—5 a impulsului de tact. 2. În această situaţie bistabilul Master este izolat de intrare. iar porţile de transfer P3. CBB S-R Master-Slave: a) schema logică. şi deci. În felul acesta bistabilul Master este izolat de intrare. Funcţionarea circuitului pe o perioadă a impulsului de tact (fig. iar bistabilul Slave este izolat de Master. P4 s-au blocat. deoarece a eliminat transparenţa intrărilor de date. 6. 6. . Figura 6.17. iar bistabilul Slave este izolat de Master. P4 se deschid. 4. porţile de intrare P1. se închid. Pe porţiunea 2—3 a impulsului de tact. e) tabelul de adevăr al circuitului. în timp ce informaţia nouă are acces în Master cea veche se păstrează în bistabilul Slave. Pentru ca informaţia să se înscrie fără erori trebuie ca intrările de date să nu-şi modifice valoarea într-un interval de timp în jurul porţiunii 3—4 a impulsului de tact (vezi fig. c) diagrama pentru ilustrarea funcţionării. 3. Pe porţiunea 3—4 porţile de intrare P1. Pe porţiunea 1—2. Din analiza funcţionării rezultă că bistabilul de tip Master-Slave elimină posibilitatea apariţiei unor tranziţii asincrone la ieşire.. P4. porţile de intrare P1 P2 încă nu s-au deschis.porţile de transfer P3. P2.CBB Slave. ceea ce face ca informaţia nouă să treacă din Master în Slave.17 d). Porţile de transfer P3. nepermiţând accesul unor informaţii noi în Master. iar porţile de transfer P3. Porţile de transfer P3. P2 rămân blocate. porţile de intrare P1.17 b). să apară la ieşire. P2 sunt deschise permiţând accesul informaţiei în bistabilul Master. P4 sunt închise şi în consecinţă bistabilul Slave este izolat de Master. Intervalele de timp se definesc ca fiind: ts= timp de pregătire (SET UP TIME) şi tH= timp de menţinere (HOLD TIME). Deci. P4 nu s-au deschis încă. b) notaţia folosită. Intrarea de tact s-a notat cu CK . 87 . 6.

Un ultim aspect ce trebuie examinat la CBB de tip S-R Master-Slave este problema intrărilor asincrone. În această situaţie stările celor două bistabile sunt independente atât de intrările S.18) va funcţiona aşa cum s-a propus iniţial.19 a). ele trebuie conectate atât la CBB Master cât şi la CBB Slave pentru forţarea bistabilului într-o anumită stare independentă de impulsul de tact (fig. Figura 6. R cât şi de valoarea impulsului de tact. schema astfel obţinută (fig. 88 . Figura 6.6. b) comanda asincronă a bistabilului Slave.18. 6.Dacă revenim asupra exemplului de circuit prezentat la începutul paragrafului în fig. Schema registrului realizată cu CBB de tip S-R MasterSlave şi diagramele care descriu funcţionarea acestuia. Dacă asemenea intrări sunt necesare.19. Se poate verifica pe schemă că atunci când ambele intrări S d sunt în starea S d = 1 şi intrările R d în starea R d = 0 rezultă Q=QM=0. Intrările asincrone: a) comanda asincronă a bistabililor Master-Slave.15 şi înlocuim celulele binare S-R sincrone cu celule de tipul S-R Master-Slave.

( ∨ (K ) ∨Q ) (6.20.20 a. Dacă grupăm în mod convenabil unităţile din diagrama Karnaugh obţinem FDC a funcţiilor 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 transformări se obţin următoarele expresii echivalente: (6.20 a se poate rescrie sub forma din figura 6.Pentru cazul în care pe ambele intrări asincrone aplicăm comanda S d = 0. 6. R d = 0 este o comandă interzisă. Tabelul din figura 6. R d = 1 rezultă Q=QM=1 indiferent de starea intrărilor de date şi de tact. determină trecerea informaţiei din Master în Slave. La unele tipuri de CBB de tip Master-Slave intrările asincrone sunt legate numai la bistabilul Slave.20 c). În astfel de situaţii se va ţine cont de faptul că prima tranziţie 1—0 a impulsului de tact (după ce intrările S d şi R d au devenit inactive). c) matrice Karnaugh. R d = 1 nu influenţează funcţionarea normală a circuitului. Figura 6. 6. 6. permiţând doar forţarea stării acestuia (fig.3. iar comanda S d = 0. d) schema logică.20 b pe baza căreia putem desena diagrama Karnaugh corespunzătoare funcţiei Qn+1 (fig.8) se poate desena schema circuitului realizată cu porţi SAU-NU şi cu porţi ŞI (fig.1 CBB de tip J-K asincron Acest tip de bistabil se obţine din CBB de tip S-R asincron prin eliminarea stării de nedeterminare. CBB de tip J-K asincron: a) şi b) tabele de funcţionare. 6.19 b).7) Qn+1 = K n ⋅ Qn ∨ J n ⋅ Q n ∨ Qn Q n+1 = J n ⋅ Q n n ⋅ Qn n Pe baza relaţiilor (6.20 d). Comanda S d = 1.3 CBB DE TIP J-K 6.8) 89 . Tabelul de adevăr al circuitului este prezentat în figura 6.

21 a). care să controleze porţile de intrare (fig.3. CBB de tip J-K Master-Slave: a) schema logică. CBB de tip J-K sincron: a) schema logică. Aceeaşi observaţie rămâne valabilă şi pentru circuitul J-K asincron din figura 6. sunt blocate şi starea circuitului nu se schimbă. cele două ieşiri Q şi Q asigură deschiderea porţii P1 şi blocarea porţii P2. circuitul trece singur dintr-o stare în alta (oscilează). 6.21. Simbolul circuitului precum şi tabelul lui de adevăr sunt prezentate în figurile 6.22 a s-a obţinut din CBB de tip S-R Master-Slave la care s-au adăugat două legături de reacţie de la ieşire la porţile de intrare P1. Figura 6. b) tabelul de adevăr. Este indicat să fie examinată mai în detaliu situaţia Jn=Kn=1. Dacă pe borna de tact (CK) semnalul trece din 0 în 1.d. În concluzie. Această comandă va determina trecerea circuitului în starea Q=1 ş. 0 dată cu trecerea circuitului în această stare. poarta P1 se va bloca şi poarta P2 se va deschide.3. caz în care. pe ieşirea porţii P1 se va obţine semnalul R'=1.22.22 b respectiv c.6.2 CBB de tip J-K sincron Schema acestui circuit se obţine din cea precedentă. Pentru Jn=Kn=0 porţile P1. P2. Funcţionarea circuitului este următoarea: 1. c) tabelul de adevăr. Schema din figura 6. Dacă între timp impulsul de tact nu a dispărut (CK=1) pe ieşirea porţilor apar următoarele semnale: R'=0 şi S'=1. 6. Se presupune că există starea Q=1.m. Figura 6. iar pe ieşirea porţii P2 semnalul S'=0. pe durata tactului (CK=1) şi cu comanda Jn=Kn=1. Atâta timp cât CK=0 semnalele S' şi R' vor fi în zero logic (S'=R'=0). 90 .20 d.21 b. ceea ce determină trecerea circuitului în starea Q=0. prin introduce--ea unei borne de tact. P2.3 CBB de tip J-K Master-Slave Există mai multe posibilităţi de realizare a circuitului bistabil J-K Master-Slave.a. Tabelul de adevăr al circuitului este reprezentat în figura 6. b) simbolul circuitului.

23. Pentru Jn=0. pe ieşirile porţilor P1 şi P2 în funcţie de starea iniţială (Qn) a circuitului avem următoarele comenzi: . Conexiunea din figura 6. 3. Kn=0 la ieşire rezultă o stare unică Q n−1 = 1 . Q n+1 = 1 . Rezultă în final starea Qn+1 = 0.pentru cazul Qn=0. pe frontul descrescător al impulsului de tact. Q n = 1 . Kn=1 funcţionarea se analizează similar cu cazul 2. comenzi ce nu modifică starea bistabilului Master Q ' = 1. Q n+1 = 0 . deci Qn+1 = 1. Q ' = 0 . care presupune utilizarea doar a liniilor unu şi patru din tabelul prezentat în figura 6. stare ce se transferă în bistabilul Slave. Şi în acest caz a rezultat ( ) Qn+1 = Q n . 4.22 c. . Q ' = 0 Această stare se transferă la ieşire pe frontul descrescător al impulsului de tact. Q n = 0 .23 c sunt desenate forme de undă care ilustrează funcţionarea circuitului. Kn=1 la apariţia impulsului de tact CK = 1 . Q n = 1 rezultă S = 0. stare ce se transferă în Slave pe frontul descrescător al impulsului de tact. indiferent de starea anterioară a circuitului. Pentru aceste comenzi bistabilul Master trece în starea Q'=1. În figura 6. R = 1 . R = 1 . R = 0 Aceste comenzi vor ( ) ( ) trece bistabilul Master în starea Q'=0.pentru cazul Q n = 1.23 a poate fi privită şi ca un nou tip de bistabil numit CBB de tip T sau celulă de numărare. În concluzie. deci la ieşire. Q'= 1 . În acest caz rezultă S = 1. Pentru Jn=1.pentru cazul Qn=1.pentru cazul Qn=0. Q = 0 rezultă S = 1. Figura 6. ceea ce va comanda trecerea bistabilului Master în starea Q'=1. aşa cum este indicat în figura 6. CBB de tip T: a) conectarea celulei J-K în regim T. b) tabelul de adevăr. Q ' = 0 . Kn=0. pentru comanda Jn=1. . deci nici a ieşirii.2. Divizarea trebuie înţeleasă că la 91 .23 b este indicat tabelul de funcţionare al celulei. R = 1 . Din formele de undă prezentate rezultă o proprietate remarcabilă a celulei binare de tip T şi anume aceea că pentru T=1. Acest regim de funcţionare presupune legarea în comun a intrărilor de date J şi K. la apariţia impulsului de tact CK = 1 pe ieşirile porţilor P1. c) diagrame de funcţionare. În numeroase aplicaţii celula binară J-K Master-Slave este utilizată într-un regim de funcţionare particular. P2 în funcţie de starea circuitului vom avea comenzile: .23 a. deci circuitul bistabil a trecut în starea opusă celei iniţiale Qn+1 = Q n . iar în figura 6. Pentru Jn=1. celula divide cu doi. rezultă S = 0.

Q = 1 (fig. b) diagrame ce ilustrează funcţionarea. Figura 6. eliminarea stării de nedeterminare. la ieşirea porţii P4 apare o tranziţie l→0. Pentru CK=0. Funcţionarea circuitului se bazează pe întârzierile interne ale porţilor. Notând cu tp timpul de propagare printr-o poartă. K=0 presupunând că iniţial circuitul se află în starea Q=0. Schema circuitului este prezentată în figura 6.24.două tranziţii de tipul 1→0. Trecerea impulsului de tact din 1 în 0 antrenează după sine următoarele modificări de semnale: .după o întârziere egală cu tp. Pentru exemplificare. precum şi de frontul pe care basculează.24. se schimbă ieşirea porţii P4 (R trece din 0 în 1) iar după o întârziere 4 tp (caracteristică porţii P1) semnalul X trece din 1 în 0. iar semnalul P trece din 1 în 0 cu o întârziere tp. Y=1. .după o nouă întârziere tp apare o tranziţie 0→1 pe ieşirea porţii P6 după care cu o întârziere tp se modifică ieşirea porţii P8 ( Q trece în starea 0).24 b). atunci schema va funcţiona numai dacă întârzierea porţilor P1. divizare cu doi) această celulă a devenit cel mai răspândit tip de bistabil ce se fabrică la ora actuală. tranziţie care se propagă prin poarta P5 şi după o nouă întârziere tp determină apariţia unui salt 1→0 pe ieşirea acesteia (Q trece în starea 1). U=0 şi V=0. P2 este de cel puţin 4 tp.după trecerea unui timp egal cu 4 tp de la apariţia trecerii 1→0 a impulsului de tact. La trecerea impulsului de tact din 0 în 1. în circuit se produc următoarele schimbări: . se obţin următoarele stări logice: X=1. se schimbă ieşirea porţii P1 (semnalul X trece din 0 în 1). R=0. Diversitatea este determinată de tehnologia în care se realizează circuitul. CBB de tipul J-K sincron pe front: a) schema logică. se va examina schema unui CBB de tip J-K sincron pe front negativ (trecere 1→0) realizat în tehnologia TTL. Această proprietate remarcabilă a celulei T se utilizează la construirea numărătoarelor. apare o singură tranziţie de tipul 1→0 pe ieşirea Q. P=1. . 6. Având în vedere calităţile celulei J-K Master-Slave (posibilitatea conectării în cascadă.3. aplicate pe intrarea de tact.apariţia saltului 1→0 pe ieşirea X determină modificarea semnalului de la ieşirea porţii P3. 92 .cu o întârziere tp. 6. . Se va examina funcţionarea circuitului pentru comanda J=1.4 CBB de tip J-K sincron pe front Există o gamă largă de circuite basculante sincrone pe front.

CBB de tip D asincrone: a. Circuitul prezintă caracteristica principală că pe toată durata tactului (CK=1) ieşirea copiază intrarea. 6. aceste circuite copiază la ieşire ceea ce se aplică la intrare. 93 . b) modul de realizare c) tabelul de funcţionare.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 . ceea ce ar menţine în continuare semnalul Q pe zero şi deci.Dacă schimbarea semnalului X s-ar produce mai repede decât 4 tp.1 CBB de tip D asincron Se obţine din celulele S-R sau J-K asincrone dacă legăm D = S = R sau D = J = K (vezi fig. 6. 6. Figura 6. motiv pentru care ele nu se utilizează.4.4.26 b). Figura 6. P2 se închid şi bistabilul menţine la ieşirea sa starea din momentul dispariţiei impulsului de tact (vezi fig. Funcţia pe care o realizează nu prezintă nici-un interes din punct de vedere practic.26 a. Din tabelul de adevăr rezultă ecuaţia caracteristică a circuitului Qn+1=D. bascularea circuitului nu s-ar mai produce. 6. Tabelul de adevăr al circuitului este prezentat în figura 6. După această schimbare a semnalului de la ieşirea porţii P1. b)diagrame de funcţionare.26. acest lucru ar duce la apariţia unei tranziţii 0→1 pe ieşirea porţii P3. nivelele tuturor semnalelor rămân constante până la apariţia unui nou impuls de tact. în momentul dispariţiei impulsului de tact (trecere 1→0) porţile de intrare P1.4 CBB DE TIP D 6. CBB de tip D-Lach: a) schema logică.25.27 a). 6.3 CBB de tip D Master-Slave Acest tip de bistabil se obţine din celula J-K Master-Slave sau din S-R Master-Slave dacă facem legăturile D = J = K sau D = S = R (vezi fig. se obţine celula binară numită cu zăvorâre (D-Latch) prezentată în figura 6. Cu alte cuvinte. 25 a şi b).4.25 c.

28 a. CBB de tip D Master-Slave: a) schema logică. 6. P4 şi se transferă în bistabilul Slave.4 CBB de tip D sincron pe front 0 variantă de celulă binară de tip D sincronă pe front pozitiv (trecere 0→1) este reprezentată în figura 6. b) diagrama de funcţionare. În concluzie.4.29. ieşirea bistabilului Master copiază intrarea (Q'=D). Q3. Registru de deplasare: a) schema cu celule de tip D Master-Slave. valoarea Q'=D din momentul acestei treceri (vezi fig.28. Din examinarea semnalelor de ieşire Q1. se deschid porţile P3.27 b). 2 respectiv 3 tacte. b) diagrame de funcţionare. Figura 6. Dacă se interconectează mai multe celule de tip D Master-Slave. 94 . Figura 6.27. în momentul trecerii tactului din unu în zero. deci la ieşire.Particularitatea funcţionării constă în faptul că pe durata tactului CK=1. 6. rezultă o schemă de registru de deplasare prezentată în figura 6. această celulă poate fi privită şi ca o celulă elementară de întârziere cu un tact. Această din urmă proprietate justifică denumirea ei de celulă de întârziere (D de la Delay). se observă că acestea sunt replici întârziate ale semnalului de intrare cu 1. Q2.

Practic. În acest caz. nu se schimbă. ieşirile porţilor vor fi în următoarele stări: P2 în 1 S = 1 . adică Qn+1=Qn. Acelaşi semnal al porţii P3 va bloca poarta P4 astfel încât orice modificări ale semnalului de pe intrarea D nu vor afecta starea bistabilului de bază. din această categorie de bistabile se fabrică curent celulele D-Latch şi cele sincrone pe front. Având în vedere că S = R = 1 . semnalul de ieşire al porţii P3 se modifică. Celula D Master-Slave se poate obţine foarte uşor din celula J-K MasterSlave care se fabrică în mod curent. ( ) ( ) Figura 6.29). Să presupunem acum că în acest moment apare o tranziţie 0→1 a impulsului de tact: având în vedere că poarta P2 este blocată de ieşirea porţii P1 înseamnă că modificarea impulsului de tact nu afectează semnalul S care rămâne în starea 1. În schimb. 6. Pentru a urmări funcţionarea circuitului se presupune pentru început că CK=0 şi D=0. CBB de tip D sincron pe front. Modificările intrării de date D cât timp CK=0 sau CK=1 nu au nici-o influenţă asupra semnalului de ieşire. 95 . deci pe intrarea R ia naştere o tranziţie 1→0 care comandă trecerea bistabilului în starea Q=0.29. starea bistabilului de bază realizat cu porţile P5 şi P6.Celula copiază la ieşirea Q ceea ce este pe intrarea D în momentul trecerii 0→1 a impulsului de tact (CK). trecând din 1 în 0. P4 în 1. iar P1 în 0 (stări sub-liniate în fig. P3 în 1 R = 1 .

După modul în care îşi modifică conţinutul există: . Alegerea codului în care va număra numărătorul este dictată în general de aplicaţia ce urmează a i se da numărătorului. zecimale etc. 3. Aceste circuite pot fi clasificate după mai multe criterii.3).numărătoare inverse la care conţinutul scade cu câte o unitate la fiecare impuls aplicat la intrare.numărătoare sincrone. Prin interconectarea adecvată a „n" astfel de celule se va obţine schema unui numărător care poate fi privit şi ca un circuit secvenţial cu un număr de stări distincte. Proprietatea esenţială a acestei celule este aceea că realizează o divizare cu 2 (§ 6. 2. Vom defini capacitatea unui numărător ca fiind egală cu numărul stărilor distincte pe care le are. Numărătoarele electronice se realizează cu celule binare de tip T. Cele mai frecvent utilizate coduri sunt: codul binar natural.. 4. De multe ori însă din cele 2n stări posibile se sar un număr de k stări rezultând un numărător cu p=2n-k stări distincte. 7.numărătoare directe caracterizate prin faptul că îşi cresc.. .2. Înaintea începerii unei tratări sistematice sunt necesare câteva precizări utile: 1. reprezentând conţinutul celor n celule binare pentru starea dată a numărătorului. DEFINIŢII Un numărător este un circuit electronic care numără impulsurile aplicate la intrarea sa. Deci.1 Numărător binar asincron direct 96 . Un astfel de numărător se caracterizează prin faptul că celulele binare din care este constituit numărătorul nu comută simultan sub acţiunea unui impuls de tact comun aplicat tuturor celulelor.7 7.1 NUMĂRĂTOARE GENERALITĂŢI.3. Fiecărei stări îi vom putea asocia câte un cuvânt de cod binar de lungime n. 0) este însoţită de apariţia unui impuls (tranziţie activă) pe ieşirea acestuia. codul binar reflectat. Numărul stărilor distincte posibile ale unui numărător format din n celule binare n este 2 . Aşadar. în cazul unui astfel de numărător toate celulele binare din care este constituit numărătorul comută simultan sub acţiunea unui impuls de tact aplicat tuturor celulelor. conţinutul cu câte o unitate la fiecare impuls aplicat la intrare. coduri BCD etc.numărătoare reversibile care numără în sens direct sau invers în funcţie de o comandă aplicată din exterior. .2 NUMĂRĂTOARE BINARE ASINCRONE 7. vom putea clasifica numărătoarele şi din acest punct de vedere în numărătoare binare. în consecinţă. După modul de funcţionare există: . . Revenirea numărătorului în starea iniţială (de obicei asociată cuvântului de cod 000.numărătoare asincrone. codul în care numără un numărător va fi dat de succesiunea cuvintelor de cod binare asociate stărilor numărătorului. Vom defini factorul de divizare al numărătorului prin raportul dintre numărul impulsurilor de la intrare şi numărul impulsurilor de la ieşire. din punct de vedere matematic operaţia realizată de un numărător este o operaţie modulo 2n sau modulo p.

în consecinţă va avea 23=8 stări distincte. 97 . care să acopere intervalul de timp pe care pot apărea impulsurile parazite (se va avea în vedere şi faptul că timpii de propagare se cumulează de la un bistabil la altul).1) N x = Q2 ⋅ Q1 ⋅11 + Q0 ⋅ 2 0 Numărătorul reprezentat în figura 1 este format din 3 celule binare. Prin interconectarea mai multor celule de tip T în care legăm ieşirea Qi a uneia de intrarea de tact a următoarei (CKi+1).2. Q1 şi Q2 sau în zecimal dacă ataşăm numărătorului binar un decodor binar-zecimal (vezi fig.Numărătoarele se realizează cu celule binare de tip T şi se bazează pe proprietatea acestora de a divide cu doi tranziţiile active (1→0) aplicate la intrare (vezi § 6. Figura 7. În mod normal impulsul STROBE va fi 0 logic făcând ca toate ieşirile decodorului să fie în 0 logic.2). După un interval de timp τ. Citirea stărilor numărătorului poate fi făcută direct în binar prin examinarea stărilor logice ale ieşirilor Q0. conform următoarei relaţii: (7. obţinem schema unui numărător binar asincron direct (vezi fig. Dacă redesenăm formele de undă din figura 1 b ţinând cont de timpii de propagare observăm că de exemplu pe ieşirea porţii P0 pot apărea impulsuri şi în afara situaţiei când avem Q0=Q1= 1→0 o dată la două impulsuri parazite vor reprezenta erori de decodare.3. impulsul STROBE trece în starea 1. Eliminarea acestora se poate face dacă citim stările numărătorului cu un impuls scurt (STROBE) aplicat între două tranziţii active ale impulsurilor de la intrare.3). Dacă numerotăm impulsurile de la intrare (de fapt tranziţiile 1→0) observăm că din examinarea stărilor logice ale ieşirilor celulelor care formează numărătorul putem deduce numărul (Nx) de impulsuri care a fost aplicat la intrare.1). a treia din patru în patru impulsuri aplicate la intrare etc. Citirea stărilor unui numărător binar asincron Pe exemplul din figura 7. Din examinarea diagramelor temporale care însoţesc schema numărătorului observăm că prima celulă binară basculează la fiecare impuls aplicat la intrare. 7. 7.2 vom ilustra utilitatea intrării STROBE asociată decodificatoarelor. a doua din două în două (pe ieşirea Q1 apare o tranziţie 1→0 o dată la două impulsuri aplicate la intrare). convenabil ales.

aşa cum se arată în figura 7. Schema se deosebeşte de cea a numărătorului direct doar prin faptul că legătura de la o celulă la alta se face astfel: Q i = CK i+1 98 . Impulsul STROBE trebuie să revină în 0 înaintea unui nou front activ aplicat pe intrare (vezi fig.2 Numărător binar asincron invers Schema acestui numărător împreună cu formele de undă care ilustrează funcţionarea sunt prezentate în figura 7. Forme de undă care ilustrează apariţia erorilor de decodare Figura 7. Structura numărătorului din figura 7. schema poate lucra la frecvenţe superioare celor din regim de numărător deoarece ne interesează numai semnalul de ieşire nu şi decodarea stărilor numărătorului.2.permiţând astfel citirea stărilor numărătorului.3. 7. Scheme de divizare În regim de divizor. În legătură cu schemele prezentate în figurile 7.4.5.1 şi 7. Figura 7. în astfel de aplicaţii frecvenţa maximă de lucru va fi determinată de timpul de basculare al primului bistabil. 7.4.2 putem face următoarea observaţie: dacă legăm intrările prioritare de aducere la zero a bistabilelor de tip T (intrarea R) obţinem o intrare prioritară de aducere la zero sau de ştergere a numărătorului (intrarea Clear).3).1 poate fi interpretată şi ca un circuit de divizare dacă urmărim semnalul doar de pe o singură ieşire a acestuia.

5. prezentate anterior pot fi cuplate într-una singură (numărător reversibil) prin intercalarea unor multiplexoare între celulele binare. Figura 7.2. b) formele de undă care ilustrează funcţionarea. 7. Figura 7. În felul acesta.6).6.3 Numărător binar asincron reversibil Schemele numărătoarelor direct şi invers. Numărător binar asincron invers: a) schema. 7. printr-o comandă dată multiplexoarelor pe borna de adresă comună notată aici prin CM (Controlul Modului de funcţionare) vom putea transforma schema în numărător direct sau invers (fig. Numărător reversibil 99 .Citirea conţinutului numărătorului se face la fel ca mai înainte adică de pe ieşirile directe ale bistabilelor.

3) n ⋅ t pd + Ts 7.2) n ⋅ t pd Dacă rezervăm un anumit interval de timp şi impulsului de STROBE (T2) va rezulta următoarea relaţie: 1 Tmin > n ⋅ t pd + Ts ⇒ f max < (7. 7. iar pentru comanda CM=1 multiplexoarele realizează conexiunile 1→2 ceea ce transformă schema într-un numărător binar asincron invers.3 NUMĂRĂTOARE BINARE SINCRONE La aceste numărătoare toate celulele binare componente ale acestora comută simultan sub acţiunea unui impuls de tact comun aplicat tuturor celulelor.7. Această trecere durează un interval de timp 3 tpd deoarece CBB0 basculează după tpd de la primirea comenzii CBB1. În cazul general al unui numărător format din n celule perioada minimă a impulsurilor ce urmează a fi numărate trebuie să fie 1 Tmin > n ⋅ t pd ⇒ f max < (7.1 Numărător binar sincron de tip serie Schema acestui numărător împreună cu tabelul de adevăr pe care îl realizează sunt reprezentate în figura 7. Numărătoarele binare asincrone au avantajul de a fi simple. Figura 7. va bascula după tpd de la primirea comenzii de la CBB0 şi la 2 tpd de la primirea comenzii de la intrare etc. De exemplu: în cazul numărătorului din figura 7. Numărător binar sincron serie 100 . care la rândul lui este acţionat de CBB0. Ele se obţin practic doar prin interconectarea unor bistabile de tip T.7. Din analiza făcută 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. Frecvenţa maximă de lucru a acestor numărătoare este limitată de numărul de celule (n) şi de timpul de basculare al unei celule (tpd).Pentru comanda CM=0 multiplexoarele fac legătura 0→2 ceea ce va transforma schema într-un numărător binar asincron direct.3.1 la aplicarea celui de al 8-lea impuls acesta va trece din starea Q2=Q1=Q0=1 în starea Q2=Ql=Q0=0. perioada T a impulsurilor ce pot fi numărate trebuie să fie mai mare decât 3 tpd. Deci.

Pentru calculul frecvenţei maxime de lucru a numărătorului vom analiza în detaliu trecerea acestuia din starea 0111 în starea 1111.CBB0 trebuie să basculeze la fiecare impuls aplicat la intrare (vezi coloana Q0 din tabel). iar intrările J şi K ale fiecărui bistabil sunt comandate cu ajutorul unor porţi ŞI în conformitate cu tabelul de adevăr. După un raţionament similar rezultă că CBB3 va bascula când Q0=Q1=Q2=l. în consecinţă vom pune intrările sale la nivel logic unu (J0=K0=l). P2 deschise şi pe intrările J şi K ale tuturor bistabilelor să avem 1. . adică atunci când atât Q0 cât şi Q1 sunt în starea 1.apariţia semnalului 1 la ieşirea porţii P1 cu o nouă întârziere tpd si şi va determina apariţia pe ieşirea porţii P2 a stării 1.1) intervalul de timp pe care pot apărea aceste erori este constant şi independent de numărul bistabilelor interconectate. Creşterea vitezei de lucru a numărătorului sincron s-a obţinut pe seama creşterii complexităţii schemei acestuia (s-au introdus porţi ŞI între celulele de numărare). acest tip de numărător sincron va lucra la frecvenţe mai mari decât numărătoarele asincrone. La aplicarea unui impuls pe intrare se întâmplă următoarele: . va determina bascularea tuturor bistabilelor şi deci. Cu o întârziere specifică bistabilului tpd CBB0 se schimbă starea logică a ieşirii acestuia din 0 în 1. .6) f < f max t pd CBB0 1 + (n − 2) ⋅ t pd SI + Ts Având în vedere faptul că tpd ŞI<tpd CBB. Deoarece Q0=0 avem: J1=K1=0. S-a ajuns astfel în situaţia Q0=Q1=Q2=Q3=l porţile P1.Din examinarea celulei de tip T (§ 6. Iniţial avem: Q0=0.basculează la început CBB0. Q1=Q2=Q3=l. . În legătură cu schema acestui numărător putem face următoarele observaţii: 1. trecerea numărătorului în starea Q0=Q1=Q2=Q3=0. vom lega intrările J1=K1 la ieşirea Q0. Aplicarea unui nou impuls la intrare. adică numai atunci când Q1=1. comandă asigurată de poarta P2. (7. 7. 101 .4) T > Tmin = t pd CBB0 + 2 ⋅ t pd SI + Ts În cazul unui numărător format din n celule vom avea: T > Tmin = t pd CBB0 + (n − 2 ) ⋅ t pd SI + Ts sau (7. deşi funcţionarea este sincronă.3) cunoaştem că această celulă basculează dacă are intrările pe nivel unu (J=K=1) şi i se aplică un impuls de tact. Această comandă este asigurată de poarta P1 la ieşirea căreia au fost legate intrările J2 şi K2. În schema din figura 7 bornele de tact ale bistabilelor au fost legate împreună formând intrarea numărătorului. Se recomandă ca citirea conţinutului numărătorului să se facă şi în acest caz cu ajutorul unui impuls de STROBE deoarece pot apărea erori de decodare. Intervalul de timp dintre cele două impulsuri aplicate la intrare trebuie să fie mai mare decât suma timpilor de propagare la care să se adauge şi un eventual timp necesar strobării (Ts).trecerea lui Q0 din 0 în 1 asigură: J1=K1=l şi cu o întârziere specifică porţii ŞI) (tpd ŞI) determină schimbarea stării de ieşire a porţii P1 din 0 în 1. 2. Spre deosebire de cazul numărătorului binar asincron (vezi fig. Erorile de decodare apar datorită duratelor finite de comutare directă şi inversă a bistabilelor. în consecinţă.5) (7. . Astfel: . ceea ce asigură comenzile J3=K3=1. poarta P1 blocată (J2=K2=0) şi poarta P2 blocată (J3=K3=0). precum şi variaţiei acestor timpi de la un bistabil la altul. ceea ce face ca să avem şi J2=K2=l.CBB1 basculează din două în două impulsuri aplicate la intrare (vezi coloana Q1 din tabel).CBB2 basculează din patru în patru impulsuri aplicate la intrare (vezi coloana Q2 din tabel).

la stabilirea expresiei frecvenţei maxime de lucru.8).2 Numărător binar sincron de tip paralel O mărire suplimentară a vitezei de lucru a numărătorului sincron se poate obţine dacă porţile ŞI dintre celule nu se mai leagă în cascadă ca în schema de tip serie (v. După negarea semnalului de către circuitul NU2 se obţine semnal 0. Este important de reţinut faptul că fiecare încărcare suplimentară a bistabilelor măreşte timpul lor de basculare şi în consecinţă va reduce frecvenţa de lucru a numărătorului.Pe borna CD se aplică semnal 1. P1 şi P2.7). Dezavantajul schemei constă în faptul că porţile ŞI consecutive au câte o intrare în plus iar fiecare poartă de comandă nou introdusă măreşte cu câte o unitate gradul de încărcare al bistabilelor (de exemplu ieşirea Q0 este legată la J1=K1.7) t pd CBB + t pd SI + Ts Acest tip de numărător este cel mai rapid dintre toate cele examinate până acum. 7. P4 şi P6. Porţile fiind de tipul ŞI ele se blochează pe semnal de ieşire 0 şi ca urmare porţile de tip SAU (S1. Faţă de schemele din figura 7. 7. Sensul de numărare este determinat de intrarea activată în timp ce cealaltă intrare este în stare 1. În cazul acestei structuri. Numărător binar sincron paralel. Figura 7.8 apare următoarea modificare: intrările J şi K ale tuturor celulelor sunt la nivel 1 iar impulsul de tact este dirijat prin intermediul unor porţi spre celulele ce trebuie să basculeze conform tabelei de funcţionare.3 102 . S3 şi S4) vor fi deschise. fig. Bascularea celulelor binare se produce la tranziţia 0→1 a semnalului de pe una din intrările de tact: CU (COUNT UP) pentru numărare directă respectiv CD (COUNT DOWN) pentru numărare inversă. S2. De exemplu să considerăm cazul numărării directe când: . Interconectarea celulelor în vederea obţinerii schemei de numărător sincron reversibil se face ca în figura 9. Cu această observaţie rezultă următoarea expresie a frecvenţei maxime: 1 f max ≤ (7. Numărător binar sincron reversibil Numărătoarele binare sincrone se fabrică în general sub formă de numărătoare reversibile. 7.3. care blochează porţile P2.8.7.7 şi 7. Q1 la P1 şi P2 iar Q2 la P2). fig.3. ci fiecare poartă ŞI este cuplată direct la ieşirile bistabilelor care condiţionează deschiderea (v. va trebui să ţinem seama că toate porţile ŞI comută simultan.

10. când numărătorul se umple (Q0=Q1=Q2=Q3=l . Folosind aceste intrări într-o conexiune de tipul D sincronă putem realiza încărcarea paralelă a celulelor numărătorului (v.CARRY (CY). sunt negate de către circuitul NU1 şi aplicate porţilor P1. Q2=0 şi Q3=0 ş. Q1=1. Operaţia de încărcare este independentă de intrările de tact şi se realizează când intrarea de încărcare (LOAD) este în 0. inversată de circuitul NU1 se aplică primului bistabil prin poarta deschisă ŞI. Circuitul mai este prevăzut şi cu o intrare prioritară de ştergere (CLEAR). P3 şi P5 vor fi blocate.Impulsurile ce urmează a fi numărate se aplică pe borna CU. Pentru a oferi o flexibilitate maximă schemei. În consecinţă.a.m.BORROW (BR).d. înaintea aplicării primului impuls starea celulelor este următoarea: Q0=Q1=Q2=Q3=0. P3 şi P5..Tranziţia 0→1 a primului impuls aplicat pe intrare. Prima celulă basculează. P8 pentru generarea comenzilor: . Figura 7. Schema numărătorului binar sincron reversibil. Numărătorul mai este prevăzut cu două porţi suplimentare de tip ŞI-NU P7. când numărătorul se goleşte Q0=Q1=Q2=Q3=0 Figura 7. starea numărătorului va fi Q0=0.9. celulele de bază s-au ales de tipul J-K Master-Slave cu intrări prioritare de preselecţie şi de ştergere. Schema încărcării paralele şi a ştergerii. fig. şi deci porţile P1. Al doilea impuls aplicat la intrare se va dirija atât spre primul bistabil prin S1 cât şi spre cel de al doilea prin poarta P1 (deschisă de Q0=l) şi S2. 7. trecând în starea Q0=l. 103 . care forţează ieşirea în starea Q=0 atunci când pe această bornă se aplică nivelul 1. .10).

4 Figura 7. 7.3.11. 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. Cele două numărătoare pot lucra sincron sau asincron unul cu altul.12. De exemplu: dacă cuplăm în cascadă un numărător modulo doi (un bistabil). Schema bloc a numărătorului sincron reversibil. Dacă vom cupla la început bistabilul urmat de numărătorul modulo cinci (fig.1. această permutare neafectând valoarea modulului numărătorului. Nr. Divizor cu zece Evoluţia stărilor numărătorului decadic este indicată în tabelul 7. (Stările omise au de asemenea influenţă asupra codului în care se numără). dar poate schimba codul în care numără. va rezulta un numărător modulo 10 (numărător decadic).Schema bloc completă a numărătorului binar sincron reversibil este reprezentată în figura 7.11. Numărătorul decadic Prin conectarea în cascadă a unor numărătoare cu factori de divizare diferiţi putem obţine noi numărătoare. Avem de asemenea posibilitatea de a permuta ordinea numărătoarelor.12) va rezulta schema unui numărător decadic care va evolua în codul zecimal codat binar.1. cu un numărător modulo cinci. Tabelul 7. Figura 7.

Q2=0. Nr.3.7..13. având în vedere că aducerea la zero este o comandă prioritară.. Rezultă că numărătorul este efectiv în starea 10 un timp τ necesar recunoaşterii acestei stări după care. 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 . Divizor cu zece prin aducere la zero: a) schema divizorului. Dacă decodarea stărilor se face prin STROBE. Schema acestui numărător este prezentată în figura 7. Tabelul 7. Să se realizeze un numărător decadic folosind în acest scop tehnica de aducere la zero aplicată unui numărător binar asincron direct. printro alegere convenabilă a poziţiei şi duratei impulsului de STROBE.2 şi pe diagramele din fig 7. Evoluţia numărătorului modulo p=10 este indicată în tabelul 7.5 Numărătoare modulo p realizate prin aducere la zero Tehnica aducerii la zero este frecvent utilizată pentru realizarea numărătoarelor modulo p. b) schema circuitului ŞI-NU care intră in componenţa circuitului de recunoaştere a stării p=10. 1. După ce Figura 7. Q1=l şi Q0=0). imp. Din relaţia 2 n ≥ p . Q1=l.2. Q0=0 nu este decodată. Din examinarea diagramelor prezentate în figura 14 observăm că numărătorul trece succesiv prin stările 0. starea Q3=l. 9). Această tehnică constă în următoarele: . 9 şi ajunge în starea 10 (Q3=l. rezultând în felul acesta un numărător ce zece stări distincte (0. . numărătorul a trecut m starea 10. 2 . Q2=0. circuitul de recunoaştere al acestei stări se activează şi comandă aducerea la zero a numărătorului.în momentul în care se atinge starea p se aplică un impuls de ştergere tuturor celulelor numărătorului. 2 .14. Exemplu. va trece în starea 0 (Q3=Q2=Q1=Q0=0)..13..se lasă numărătorul să evolueze normal până în starea p-1. 1. pentru p=10 rezultă n=4.

. .3. Legarea directă a ieşirii BR la intrarea de încărcare (LOAD) nu este posibilă deoarece semnalul BR apare în momentul golirii numărătorului.3.3. Divizoare programabile Un divizor programabil este un circuit electronic la care factorul de divizare poate fi modificat în funcţie de un cuvânt de cod de comandă aplicat din exterior.6 Figura 7. Ilustrarea funcţionării divizorului cu zece. divizorului programabil.Schema circuitului de aducere la zero rezultă din minimizarea făcută ca fiind o poartă ŞI cu două intrări (Q3 şi Q1). Factorul de divizare al numărătorului depinde de starea sa iniţială. (semnalul BR există doar cât 106 . De exemplu: dacă încărcăm numărătorul cu starea iniţială corespunzătoare cifrei p şi aplicăm impulsuri pe intrarea de numărare inversă (CD). p-1. Având în vedere că intrarea de aducere la zero a numărătorului este activă pe nivel logic zero. Schema acest impuls pentru reîncărcarea numărătorului obţinem un numărător divizor cu p (apare un impuls pe ieşirea BR pentru p impulsuri aplicate pe intrarea CD). p-2. Dacă pentru încărcarea paralelă a numărătorului am folosi acelaşi semnal atunci.15. la ieşirea BR apare un impuls. 1. în momentul în care numărătorul ajunge în starea D=C=B=A=0 (stare care nu face parte din ciclul de numărare).14. semnalul de ieşire al porţii ŞI va trebui inversat (practic vom folosi o poartă ŞI-NU cu două intrări). 2.. Un astfel de divizor programabil se poate realiza cu numărătorul sincron reversibil prezentat în § 7. Figura 7. numărătorul va trece succesiv prin stările: p. Dacă vom folosi 7.

numărătoarele prezentate în acest capitol au fost realizate cu CBB de tip J-K Master-Slave. . Asemenea funcţii pot fi uşor implementate cu schema utilizând numărătoare şi acumulatori. Pentru prevenirea fenomenului susmenţionat semnalul de comandă BR este memorat pe durata unui impuls de tact de către un bistabil de tipul S-R aşa cum este indicat în figura 7. comandă şi control. Pentru. 107 . rădăcina pătrată. etc. . se pot face observaţii: .timp numărătorul este în starea zero) anularea semnalului BR poate compromite operaţia de încărcare a numărătorului. În concluzie. logaritmul.15. a numărului de impulsuri generate într-un proces tehnic. privind numărătoarele. Trebuie menţionat însă faptul că funcţia de numărare mai poate fi implementată şi cu CBB de tip D. aceasta celulele de tip D vor fi interconectate într-o schemă de registru de deplasare cu reacţie sau pot fi cuplate cu sumatoare elementare obţinându-se în acest din urmă caz schema unui acumulator.într-un număr mare de aplicaţii este necesar să se determine o funcţie matematică cum ar fi: o putere.numărarea reprezintă o operaţie de importanţă majoră în aproape orice sistem numeric de măsurare.

Se memorează astfel cuvântul de cod prezent la intrare în momentul tranziţiei 0→1 a impulsului de tact. În momentul în care impulsul de comandă trece din nou în zero (1→0) celulele de tip D se zăvorăsc pe valoarea din acel moment a semnalului de intrare şi menţin această valoare pe toată durata în care impulsul de comandă (LSI) este pe nivel logic 0. fig. 8.registre universale. 8. 8.8 REGISTRE Registrele sunt circuite electronice care permit stocarea şi/sau deplasarea unor cuvinte de cod binar.1 este realizată cu CBB de tip D sincrone pe frontul anterior (trecere 0→1). Plecând de la această definiţie registrele se pot clasifica în: .1 este prezentată schema unui registru de memorie.registre de memorie . 108 .2). Dacă schema din figura 8. În figura 8. Dacă registrul este realizat cu celule D-Master-Slave. atunci. în registru se va memora informaţia prezentă pe intrările de date în momentul trecerii 1→0 a impulsului de tact şi se păstrează până la următoarea trecere 1→0 a impulsului de tact. Figura 8. atunci informaţia se înscrie la apariţia unei asemenea tranziţii (comandă WRITE) şi rămâne neschimbată atât pe valoarea zero cât şi pe valoarea unu a impulsului de tact. pe valoarea 1 a impulsului de comandă (numit de această dată Latch Strobe Imput) registrul devine transparent (ieşirea este copia fidelă a intrării).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.1 Registru de memorie.registre de deplasare . Dacă celulele registrului de memorie sunt realizate cu CBB de tip D-Latch.registre combinate .2 REGISTRE DE MEMORIE MULTIPORT Din această categorie de registre prezentăm un exemplu reprezentativ şi anume circuitul 9338 al firmei Fairchild (vezi.

Conţinutul 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. ( ) 109 . Înscrierea respectiv citirea informaţiei se face prin aplicarea unor impulsuri de comandă pe intrările de tact ale celor patru circuite. Cu ajutorul a două multiplexoare poate fi citit simultan conţinutul a două celule prin precizarea adreselor B2B1B0 şi C2C1C0. permiţând selectarea aceloraşi celule din cadrul celor patru circuite.3).2. Prezentăm în continuare o aplicaţie tipică pentru acest registru şi anume o structură de memorie cu citire şi scriere aleatoare (RAM) (v. fig. Intrările de adresă ale celor patru circuite sunt conectate împreună. Circuitul este format din 8 celule binare de tipul D Master-Slave. Circuitul mai este prevăzut cu o intrare de tact (CK) şi cu o intrare de validare SLE a bistabilelor Slave din cadrul bistabilelor Master-Slave de la ieşire. (Numărul de circuite utilizate determină lungimea cuvântului de cod).Figura 8. Celulele de memorie fiind de tipul Master-Slave permit citirea conţinutului acestora (informaţie aflată în Slave) simultan cu înscrierea unei noi informaţii în bistabilul Master. Informaţia aplicată pe intrarea DA a demultiplexorului se poate înscrie în oricare din cele 8 celule ale memoriei în funcţie de adresa A2A1A0. ceea ce conferă acestui registru de memorie o mare viteză de lucru. Registru multiport. 8. ieşirile ZB respectiv ZC ale circuitelor sunt grupate împreună formând două ieşiri paralele de câte patru biţi fiecare. Memoria din figura 18 este realizată cu patru circuite 9338. ceea ce asigură o capacitate de memorie de 8 cuvinte a câte patru biţi fiecare.

iar pe cele două ieşiri apar cuvintele de cod din registrele RM4 respectiv RM7..3.3 REGISTRE DE DEPLASARE (RD) Registrele de deplasare sunt circuite care la flecare impuls de tact aplicat îşi deplasează conţinutul spre dreapta sau spre stânga cu câte o celulă. Figura 8.4. Registru de deplasare stânga-dreapta. Aceste registre se realizează cu celule de tipul D Master-Slave. B0B1B2 = 001 şi C0C1C2 =111 cuvântul de cod de la intrare se înscrie în RM2. în consecinţă. cu cel de intrare.1" etc. dar întârziat cu un număr de perioade de tact egal cu numărul de celule din care a fost format registrul. 8.Figura 8. cele două cuvinte de cod citite. în funcţie de adresa A2A1A3 poate fi înscrisă în oricare din cei opt registre de memorie. Informaţia prezentă pe intrările paralele de date (cuvântul de cod x0x1x2x3). semnalul de ieşire va fi identic. După cum se observă la fiecare impuls de tact conţinutul registrului se mută cu câte o poziţie spre dreapta. De exemplu: pentru adresele A0A1A2 = 010. y0y1y2y3 respectiv z0z1z2z3 apărând simultan. În figura 8. 110 . RM1 cu celulele binare notate cu indicii . Prin precizarea adreselor B2B1B0 şi C2C1C0 putem citi simultan conţinutul a doi registre.4 este prezentată schema unui RD stânga-dreapta realizat cu celule de tipul S-R sau J-K Master-Slave utilizate într-o conexiune de tip D Master-Slave. Exemplu de utilizare a registrelor multiport Registrul RM0 este realizat cu celulele binare notate cu indicii „O" din cele patru circuite. pe cele două ieşiri paralele de date.

7). 8. Dacă CM=0 multiplexoarele vor face legăturile 0→2 şi cuvântul se va deplasa de la stânga la dreapta. Dacă facem legăturile în felul următor: Qi = S i −1 ⋅ J i −1 şi Q i = Ri −1 ⋅ K i −1 se obţine schema unui registru de deplasare de la dreapta la stânga (vezi fig. Dacă combinăm cele două scheme într-una singură vom obţine schema unui RD comandat stânga-dreapta sau dreapta-stânga (vezi fig.6). Figura 8. Pentru valoarea CM=1 multiplexoarele vor face legătura 1→2 şi cuvântul se va deplasa de la dreapta la stânga. Registru de deplasare ST-DR şi DR-ST. 111 . 8.6. Figura 8.7. Registru de deplasare dreapta-stânga.5 Ilustrarea funcţionării registrului de deplasare ST-DR.Figura 8. Legăturile la acest circuit s-au făcut astfel: Qi=Si+1⋅(Ji+1) şi Q i = Ri +1 ⋅ (K i +1 ) .

4 REGISTRU COMBINAT (DE MEMORIE ŞL DE DEPLASARE) RC Într-o serie întreagă de aplicaţii este util ca registrul să aibă pe lângă intrarea serie (ca în cazul RD) şi intrări paralele (ca în cazul RM).8.8. Registrul universal poate fi prevăzut şi cu o intrare asincronă pentru ştergerea informaţiei (CLEAR). schema este astfel concepută încât să permită următoarele operaţii: deplasare stângadreapta. Deci.9). deplasare dreapta-stânga. Figura 8. Schema se realizează cu celule binare de tipul D sincrone şi cu ajutorul unor multiplexoare (vezi fig. 8. Schema acestui registru este prezentată în figura 8. 112 .Registru combinat. În funcţie de valoarea semnalului CM avem: pentru CM=0 se obţine un RD stângadreapta care funcţionează 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 . de memorare şi de deplasare.5 REGISTRU UNIVERSAL (RU) Un astfel de registru cumulează funcţiile tuturor registrelor examinate anterior. Registru universal.9. 8. citirea serie sau paralelă a informaţiei.8. Figura 8. încărcare paralelă.

11 este prezentată o memorie de 4 cuvinte a câte 4 biţi fiecare. Memoria se poate realiza cu ajutorul unor registre de deplasare stângadreapta. Memorie FIFO 8. Tabelul 8. ceea ce va însemna interconectarea bistabilelor într-o schemă de registru de deplasare stânga-dreapta care lucrează cu tactul serie Ts. Ea se caracterizează prin faptul că ultimul cuvânt înscris va fi primul citit.1. Numărul registrelor folosite este dictat de lungimea cuvântului de cod ce urmează a se memora.10. 113 . dacă la bornele comune de adresă ale multiplexoarelor se aplică comanda A1=l A0=0. A1 0 0 1 1 8. aşa cum se indică în figura 8.Funcţionarea circuitului este descrisă de tabelul 8. Figura 8. Dacă la realizarea schemei folosim registre de deplasare formate din câte 4 celule capacitatea memoriei astfel realizate va fi de 4 cuvinte.2 Memoria LIFO (Last In First Out) Memoria LIFO este de fapt o memorie . Numărul registrelor va fi determinat de lungimea cuvântului ce urmează a fi memorat. Funcţionarea memoriei stivă poate fi înţeleasă cu ajutorul tabelului 8. De exemplu. În figura 8.. iar lungimea registrelor folosite determină capacitatea de memorare.2.10 este prezentată schema unei memorii FIFO pentru cuvinte de 4 biţi. atunci multiplexoarele vor conecta intrarea notată cu "l" la ieşirea Y. O asemenea memorie poate fi realizată cu ajutorul unor registre universale (RU).stivă".6.1 Memorie FIFO (First In First Out) Caracteristica de bază a unei astfel de memorii este faptul că primul cuvânt înscris va fi şi primul citit.1.6.11.6 A2 0 1 0 1 Regimul de funcţionare Nefolosit RD stânga dreapta RD dreapta-stânga RM cu intrare paralelă EXEMPLE DE UTILIZARE 8. Capacitatea memoriei (numărul de cuvinte memorate) va fi dictată de lungimea registrelor (numărul de celule binare din care este format registrul). În exemplul prezentat în figura 8.

La apariţia primului impuls Figura 8.12. A0=1.11) deci A1=l şi A0=0. înscrie RU1 RU2 RU3 RU4 A1=1. citeşte 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. Figura 8.Cuvântul de cod x1x2x3x4 se aplică în această ordine pe intrările serie pentru deplasarea stânga-dreapta (în cazul fig. ceea ce va asigura citirea cuvintelor în ordinea inversă înscrierii lor. înscrie RU1 RU2 RU3 RU4 A1=0.11. Pentru citire se dă comanda de deplasare dreaptastânga (de jos în sus în cazul fig. Tabelul 8.a. adică A1=0 şi A0=l. A1=0.12.2. înscrie RU1 RU2 RU3 RU4 A1=0. A0=1.m. aşa cum este prezentat în exemplul din figura 8. dacă acestea sunt selectate să deplaseze sus-jos. ale registrelor ş.8. A0=1. Memorie LIFO de tact acest cuvânt se va înscrie în celulele de tipul Q1 ale celor patru registre. A0=0.d.8.11 deplasare sus-jos). Stocarea adreselor întreruperilor succesive în rularea unui program 114 . La al doilea impuls de tact dacă comanda se păstrează (A1=0 şi A0=l) cuvântul x1x2x3x4 se deplasează din celulele Q1 în celulele Q2.

astfel că în ritmul impulsurilor aplicate de intrarea T s va avea loc evacuarea cuvântului de cod pe ieşirea serie în ordinea x3x2x1x0. 8.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 numărul registrelor din care este formată. în acest caz adresa bazei stivei este aleasă de programator. c) diagrame de funcţionare. Figura 8. b) tabel de adevăr. Un asemenea convertor poate fi realizat cu ajutorul unui registru combinat aşa cum se indică în figura 8. Valoarea indicatorului de stivă creşte sau descreşte conform acţiunilor de introducere sau extragere a datelor din stivă.4 Convertor serie-paralel Acest timp de convertor transformă succesiunea serie de simboluri (cuvânt de cod serie) într-un cuvânt de cod paralel. Punem CM=1 şi la aplicarea unui impuls de tact pe borna T p cuvântul se va înscrie în registru. Funcţionarea se poate urmări cu ajutorul tabelului din figura 8. 8.13. După aceasta punem CM=0.6.13. 8. în momentul în care registrul s-a umplut se dă comanda de transfer a cuvântului recepţionat într-un registru de memorie pe ieşirile căruia va apărea cuvântul de cod paralel (vezi fig. 115 .6. Convertor paralel-serie: a) schema circuitului. Schema presupune utilizarea unui registru de deplasare şi a unui registru de memorie.13. în momentul în care cele n registre a memoriei sunt ocupate.13. Soluţia soft are avantajul de a permite organizarea memoriei stivă pentru orice dimensiune şi dezavantajul unui timp de acces mai mare. Cuvântul de cod ce urmează a fi convertit (x1x2x3x4) se aplică pe bornele de intrare paralelă AiBiCi şi Di ale registrului. c. Memoria stivă poate fi organizată şi prin soft pe o parte a memoriei RAM a sistemului. ceea ce va însemna transformarea registrului combinat în registru de deplasare stânga-dreapta.14).3 Convertor paralel-serie În numeroase aplicaţii apare necesitatea transformării unor cuvinte de cod paralel (cu acces simultan la toate simbolurile cuvântului) în cuvinte de cod serie (cu apariţia consecutivă a simbolurilor cuvântului de cod). Cuvântul de cod aplicat serie pe intrarea IS se înscrie în registru în ritmul impulsurilor aplicate pe intrarea T s . utilizarea unui nou nivel de subrutină conduce la o eroare de programare prin pierderea informaţiei din ultimul registru al memoriei stivă (baza stivei). a. iar adresa vârfului curent al stivei este memorată în permanenţă într-un registru numit indicator de stivă. b şi a diagramelor temporale din figura 8.

Figura 8. ceea ce înseamnă că prin reacţie se asigură înscrierea conţinutului ultimei celule.5 Registre de deplasare cu reacţie Schema unui registru de deplasare cu reacţie de patru biţi este prezentată în figura 8. Registru de reacţie 8. a este prezentată schema unui registru în inel realizat cu un registru combinat. Un astfel de registru se caracterizează prin faptul că asupra conţinutului său de la un moment dat se efectuează o operaţie logică definită prin y=f(QA. 116 .16.15.QD) [realizată de circuitul logic combinaţional]. în prima celulă. a) Registrul de deplasare în inel Un astfel de registru se caracterizează prin următoarea funcţiei Y=Qn.6. Rezultatul acestei operaţii se înscrie în prima celulă a registrului. Figura 8. Convertor serie paralel: a) schema circuitului.QC. Schema se compune dintr-un registru de deplasare şi un circuit logic combinaţional.15.Momentul transferului reprezintă o informaţie suplimentară care trebuie cunoscută dinainte pentru a putea forma corect comanda LSI.14.QB. În figura 8. b) tabel de adevăr. După natura funcţiei realizată de circuitul logic combinaţional se deosebesc mai multe tipuri de registre de deplasare cu reacţie dintre care vom prezenta în cele ce urmează: registrul în inel. c) diagrame de funcţionare. numărătorul Johnson şi generatorul de secvenţe binare.

3.3. Registrul se va încărca paralel cu cuvântul de cod x0x1x2x3. fie la modificarea reacţiei. De exemplu o evoluţie sigură a stărilor registrului în conformitate cu secvenţa din tabelul 8.17. b) Numărătorul Johnson 117 .QC. Registru în inel cu evoluţie sigură. Registru în inel. aşa cum rezultă din tabelul 8. Funcţionarea schemei o putem urmări din examinarea tabelului din figura 8. în.3.QD ale registrului apar permutările circulare ale conţinutului iniţial al registrului.16. dacă schimbăm modul de funcţionare al registrului combinat din registru de memorie în registru de deplasare punând CM=0. În cazul în care dorim o anumită evoluţie în timp putem recurge fie la iniţializarea registrului la sfârşitul fiecărui ciclu de evoluţie. Registrul din figura 8. 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. evoluţia lui se schimbă fără nici o posibilitate de revenire în ciclul principal. După aceasta. Iniţial registrul trebuie încărcat. a se poate obţine cu ajutorul schemei din figura 8. Pentru aceasta aplicăm un impuls pe intrarea T p concomitent cu asigurarea nivelului 1 pe intrarea CM. b. Figura 8. Evoluţia stărilor registrului depinde de starea iniţială. Tabelul 8. ritmul impulsurilor de tact aplicate pe T s pe ieşirile QA.16.Figura 8.QB.16.17 are o evoluţie periodică cu o perioadă de patru tacte (T=4).

La un moment dat tn secvenţa poate lua valoarea 0 sau 1 cu aceeaşi probabilitate p0=p1=1/2. în timpul unor impulsuri de tact. o succesiune de unităţi şi zerouri de o structură dată. Dacă într-o porţiune finită. Prin lungimea unei secvenţe vom înţelege numărul de biţi după care întreaga secvenţă se repetă. de exemplu. Secvenţele binare aleatoare au o serie de proprietăţi remarcabile dintre care reamintim câteva: 1.secvenţe deterministe de lungime finită. Se poate apela de asemenea la un calculator şi la un program special de generare a numerelor aleatoare pentru a obţine o secvenţă binară aleatoare. (101. 3. sau unităţi. 010) numărul succesiunilor de zerouri. Secvenţele binare se împart în două categorii: . ( ) Figura 8. de lungime doi cu N2 (1001.Numărătorul Johnson este un registru de deplasare cu reacţie la care în prima celulă se introduce inversul conţinutului ultimei celule J = Q n . dintr-o SA notăm numărul succesiunilor de zerouri. sau unităţi.1) RSA (i ) = ∑ Q(k ) ⋅ Q(k + i ) = ⎨ k =1 ⎩0 i ≠ 0 unde am notat prin Q secvenţa aleatoare şi prin RSA (i ) valoarea funcţiei de autocorelaţie pentru un decalaj de i poziţii. atunci are loc relaţia: N1 = 2 ⋅ N 2 = 4 ⋅ N 3 = .18. 0110) numărul succesiunilor de zerouri.secvenţe aleatoare de lungime infinită . Această proprietate se mai poate interpreta şi astfel: cunoaşterea exactă a structurii secvenţei până în momentul tn-1 nu ne oferă nici o informaţie cu privire la valoarea pe care o va lua secvenţa la momentul tn.18. Secvenţe aleatoare (SA) 0 secvenţă aleatoare se poate obţine. Prin funcţia de autocorelaţie a unei secvenţe se înţelege suma produselor bit cu bit a secvenţei originale cu ea însăşi decalată cu un număr de poziţii (biţi) în avans sau în întârziere ∞ ⎧∞ i = 0 (8. 01110). 118 . sau unităţi de lungime trei cu N3 (10001. Numărător Johnson c) Generatoare de secvenţă Un generator de secvenţă este un sistem electronic capabil să genereze. 2. Schema şi tabelul care indică evoluţia registrului sunt reprezentate în figura 8. de lungime unu cu N1. de lungime L mult mai mare ca 1... dacă asociem celor două feţe ale unei monede cifrele binare 1 respectiv 0 şi notăm rezultatele obţinute în urma aruncărilor succesive ale acesteia.

Secvenţe deterministe (SD) Fie următoarea secvenţă binară deterministă: 110 110 110. 010 sau 100. în prima celulă se înscrie suma modulo doi a conţinutului (dinaintea aplicării tactului) celulelor unu şi trei. La apariţia primului impuls de tact.15). De exemplu.. simbolurile logice 0 şi 1 se vor înlocui cu tensiunile -1V respectiv +1V. Dacă culegem secvenţa de pe ieşirea Q1 obţinem: 11101001. În acest fel starea registrului de-vine 110 etc..1) ceea ce înseamnă că secvenţa întârziată cu un număr arbitrar de biţi nu seamănă deloc cu secvenţa originală.19.. secvenţă ce se poate obţine prin repetarea uneia din următoarele succesiuni binare: 001.. Pe ieşirile Q2 respectiv 119 . Dacă generatorul de secvenţe are şi o ieşire complementară. Funcţia de autocorelaţie al unui semnal poate fi privită şi ca o măsură a gradului de asemănare a semnalului cu valoarea sa întârziată.19.2).2) Dacă structura secvenţei este impusă. Generator de secvenţe S-a considerat starea iniţială 100.101 sau 011. Printro alegere convenabilă a reacţiei putem forţa registrul să evolueze astfel încât să treacă întro ordine oarecare prin toate stările lui nenule.. Pentru a genera o secvenţă de lungime L este nevoie de un registru de deplasare cu reacţie format din minimum n celule binare conform relaţiei L ≤ 2n −1 (8.. în figura 8. în calculul sumei dată de relaţia (7). Dezavantajul principal al secvenţelor aleatoare constă în faptul că ele nu sunt repetabile. Din cele 2n stări ale registrului 2n-1 sunt stări nenule. în cazul SA funcţia de autocorelaţie este un impuls Dirac (vezi relaţia 8. 8.Pentru ca funcţia de autocorelaţie să fie axată în jurul valorii zero. datorită legăturilor dintre celule. Secvenţa binară din acest exemplu are lungimea de trei biţi şi poate fi considerată ca fiind obţinută prin repetarea uneia din următoarele succesiuni 110. Figura 8.19 este reprezentată schema unui generator de secvenţă binară de lungime maximă obţinută cu un registru format din 3 celule binare cu o reacţie de forma y = Q1 ⊕ Q3 .. Funcţionarea generatorului poate fi urmărită cu ajutorul tabelului din figura 8. nu întotdeauna va fi posibilă generarea acesteia cu un număr minim de celule binare. Cele şase succesiuni binare susmenţionate generează practic aceeaşi secvenţă binară (deosebirile pot apărea în alegerea originii secvenţei şi dacă o considerăm sau nu inversată). Secvenţa binară obţinută la ieşirea unui asemenea registru se numeşte secvenţă de lungime maximă. atunci. Registrul de deplasare format din n celule binare este un sistem secvenţial având 2n stări distincte (printr-o stare a registrului înţelegem ansamblul stărilor tuturor bistabilelor din care este format registrul). conţinutul primei celule trece în celula a doua iar conţinutul celei de a doua celule trece în a 3-a. aşa cum rezultă din relaţia (8. pe această ieşire va apărea secvenţa 001 001 001 . Metoda cea mai răspândită de generare a secvenţelor deterministe presupune utilizarea unor registre de deplasare cu reacţie logică (vezi fig.

Cu această precizare funcţia de autocorelaţie a SPA este dată de relaţia: 2 n −1 ⎧2 n pt.. Dintre proprietăţile SPA vom examina funcţia ei de autocorelaţie având în vedere că în numeroasele aplicaţii practice ale SPA se utilizează tocmai această funcţie. atunci la ieşirea corelatorului va apare un maxim ori de câte ori se recepţionează o SPA. nu mai poate părăsi această stare.. n 1 2 3 4 5 6 7 8 Reacţia y Q1 Q1⊕Q2 Q1⊕Q3. secvenţa utilizată apare ca fiind aleatoare. Q2⊕Q3 Q3⊕Q4 Q4⊕Q5 Q5⊕Q6 Q6⊕Q7 Q2⊕Q3⊕Q4⊕Q8 Secvenţele binare deterministe de lungime maximă se mai numesc şi secvenţe pseudoaleatoare (SPA). Pentru calculul acestei funcţii înlocuim simbolurile logice 1 şi 0 din secvenţa SPA cu tensiuni de valoarea +1V respectiv -1V (pentru ca funcţia de autocorelaţie a SPA să fie axată în jurul valorii zero). Pentru un receptor care foloseşte o porţiune dintr-o secvenţă pseudoaleatoare mult mai mică decât lungimea acesteia. format din n celule. Dacă e < atunci încă se mai obţine la ieşirea corelatorului o tensiune mai 2 mare în prezenţa SPA decât în rest (încă se „recunoaşte" de către corelator prezenţa SPA) ceea ce va asigura sincronizarea corectă a echipamentului şi în aceste condiţii. în starea 000 . În legătură cu schemele de generare a SPA cu registre de deplasare cu reacţie trebuie menţionat faptul că dacă cumva registrul ajunge accidental.3) k =1 ⎩− 1 în rest Din relaţia 10 observăm că funcţia de autocorelaţie a SPA este o funcţie periodică. SPA fiind deterministe sunt perfect predictibile. în mod periodic. Aceste secvenţe au o importanţă practică deosebită datorită faptului că au proprietăţi asemănătoare cu cele ale secvenţelor aleatoare fără însă a avea şi dezavantajul acestora de a nu fi repetabile. o SPA într-o secvenţă de date şi la recepţie facem corelaţia dintre secvenţa recepţionată cu SPA generată local. adică 2n-1.Q3 apare aceeaşi secvenţă întârziată cu unu respectiv două tacte. sau la pornire.. în starea ( ) 120 . la emisie. 2 n − 1. Modul în care se alege reacţia pentru generarea unor secvenţe de lungime maximă este expus în lucrarea |7|. având valoarea maximă egală cu lungimea secvenţei. cu perioada 2n-1. Dacă se intercalează. există posibilitatea generării a cel puţin unei secvenţe de lungime maximă. Existenţa maximului pronunţat în expresia funcţiei de autocorelaţie face posibilă utilizarea SPA ca secvenţă de sincronizare în transmisiunile de date. RSPA (i ) = ∑ Q(k )Q(k + i ) = ⎨ (8.3. Pentru un registru dat. În tabelul 8. i = 0. Avantajul utilizării SPA într-o astfel de aplicaţie constă în faptul că sincronizarea se poate face şi dacă în procesul transmiterii SPA un număr de „e" biţi ai acesteia au fost 2n -1 eronaţi. 0. Tabelul 8. Lungimea secvenţei generate este maximă şi egală cu 23-1=7.. 2 2 n − 1 .3 sunt indicate câteva reacţii posibile pentru generarea secvenţelor de lungime maximă 2n-1. Pentru a evita blocarea generatorului de SPA.

ceea ce asigură deschiderea porţii ŞI2. O soluţie posibilă pentru generatorul din figura 8.20. Figura 8.. La apariţia primului impuls de tact acesta va trece prin porţile ŞI2 şi SAU şi se va înscrie în prima celulă a registrului ceea ce va asigura funcţionarea normală a generatorului SPA. 0.20. Generator SPA cu funcţionare sigură.19 este prezentată în figura 8. 121 .00 ... circuitul ŞI1 trece în ''1'' logic. Dacă registrul ajunge în starea 000 . 0 putem recurge la diverse soluţii..

2 CODURI NUMERICE a) Coduri zecimal-binare (BCD) b) Coduri ponderate.2 ÎNMULŢIREA 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 .4.1 ÎNMULŢIREA 3.2.4.1. e) Reprezentarea numerelor binare (cu semn) în complement faţă de 1. 2.1 GENERALITĂŢI 2. d) Reprezentarea numerelor binare (cu semn) în mărime şi semn.3 FUNCŢII BOOLEENE 2. f) Coduri octal-binar şi hexazecimal-binar 1. b ≥ 0 este asemănător) d) e) 3.4.2 CARACTERISTICA DE IEŞIRE.4 CIRCUITUL TTL CU TREI STĂRI 3 ARITMETICA NUMERELOR BINARE 3.3 CIRCUITUL TTL CU COLECTORUL ÎN GOL 2. 2.5 FORMA MINIMĂ A FUNCŢIILOR BOOLEENE a) Metoda analitică b) Metoda diagramelor Karnaugh c) Minimizarea funcţiilor incomplet definite 2. f) Reprezentarea numerelor binare (cu semn) în complement faţă de 2.1 ADUNAREA ŞI SCĂDEREA ÎN COMPLEMENT FAŢĂ DE DOI a) Cazul 1): a ≥ 0. c) Reprezentarea numerelor cu semn.1 INTERPRETAREA OPERAŢIILOR ALGEBREI BOOLEENE 2. 2. b) Reprezentarea numerelor fracţionare fără semn.2.4 FORMA CANONICĂ A FUNCŢIILOR BOOLEENE 2.1.1 ADUNAREA ŞI SCĂDEREA 3.1 SISTEME DE NUMERAŢIE 1. e) Codul 2 din 5.3.3.3 CODURI ALFANUMERICE 2 ELEMENTE DE ALGEBRĂ BOOLEANĂ 2. g) Reprezentarea numerelor în virgulă flotantă. b < 0 c) Cazul 3): a ≥ 0.3 FUNCŢII BOOLEENE ELEMENTARE 2.3. 1.1.1.3.1.1.4.1 CARACTERISTICA DE INTRARE.2 REGULI DE CALCUL ÎN ALGEBRA BOOLEANĂ.3 SUMA ALGEBRICĂ A MAI MULTOR OPERANZI 3.4 REPREZENTAREA FIZICĂ A VARIABILELOR 2. b < 0 (cazul a < 0.2 REPREZENTAREA FUNCŢIILOR BOOLEENE 2. c) Coduri neponderate. d) Codul Gray.1 CODURI 1.3.2 ÎNMULŢIREA NUMERELOR BINARE 3.1 REPREZENTAREA NUMERELOR a) Reprezentarea numerelor întregi fără semn. b ≥ 0 b) Cazul 2): a < 0.2 DEPĂŞIREA 3.

4.2 ANALIZA CIRCUITELOR LOGICE COMBINAŢIONALE 5.3 ÎMPĂRŢIREA NUMERELOR BINARE 3.3 MULTIPLICATORUL PARALEL 4.2.1.1 CIRCUITUL DE COMPLEMENTARE 4.2 UNITĂŢI ARITMETICE .1 CIRCUITE ARITMETICE ELEMENTARE 4.2 CIRCUITE DE MULTIPLICARE 4.4.4 MULTIPLICATORUL SECVENŢIAL 5 CIRCUITE LOGICE COMBINAŢIONALE (CLC) 5.3 ÎNMULŢIREA NUMERELOR REPREZENTATE PRIN (C2) 3.4 SUMATORUL SERIE 4.1 UNITĂŢI ARITMETICE .1.1.4.4 EXEMPLE DE CIRCUITE LOGICE COMBINAŢIONALE 5.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 .2 CODIFICATOARE a) Codificatorul de adresă simplu b) Codificatorul de adresă prioritar 5.2.3.3 DECODIFICATOARE a) Decodificatoare de adresă b) Decodificator BCD .4.1.4.6 COMPARATOARE NUMERICE a) Comparatorul numeric de un bit Comparatoare numerice de mai mulţi biţi DETECTORUL ŞI GENERATORUL DE PARITATE 5.6 SUMATORUL PARALEL CU ACUMULARE 4.3 SUMATORUL ELEMENTAR 4.zecimal c) Decodificator BCD .1.3 SINTEZA CIRCUITELOR LOGICE COMBINAŢIONALE 5.2 SEMISUMATORUL ELEMENTAR 4.3.1.LOGICE 4.4.2. ROTUNJIREA.4.2.2 ÎMPĂRŢIREA NUMERELOR FĂRĂ SEMN 3.2.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.7 segmente 5.4 TRUNCHIEREA.3 ÎMPĂRŢIREA NUMERELOR CU SEMN 3.1.5 SUMATORUL PARALEL 4.7 TRANSPORTUL ANTICIPAT 4.3.4 CIRCUITE DE MULTIPLEXARE (MUX) a) Multiplexor cu două intrări Multiplexor cu patru intrări 5.1 ALGORITMUL GENERAL DE ÎMPĂRŢIRE 3.LOGICE DE BAZĂ 4.5 CIRCUITE DE DEMULTIPLEXARE (DEMUX) a) Demultiplexor cu două ieşiri b) Demultiplexor cu patru ieşiri 5.3.1 PORŢI LOGICE 5. DEPĂŞIREA 4 IMPLEMENTAREA OPERAŢIILOR ARITMETICE 4.

6.2 NUMĂRĂTOR BINAR ASINCRON INVERS 7.2.3.5 REGISTRU UNIVERSAL (RU) 8.3 NUMĂRĂTOARE BINARE SINCRONE 7.3.4.1 6.2 6.6.4 NUMĂRĂTORUL DECADIC 7.4 REGISTRU COMBINAT (DE MEMORIE ŞL DE DEPLASARE) RC 8.3.3.2.2 NUMĂRĂTOARE BINARE ASINCRONE 7.3 6.6.3.4.6.2 MEMORIA LIFO (LAST IN FIRST OUT) 8.3.1 GENERALITĂŢI.2 6.2 REGISTRE DE MEMORIE MULTIPORT 8.1 6.4 GENERALITĂŢI 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 NUMĂRĂTOARE 7.2 6.2.6.2.3 NUMĂRĂTOR BINAR ASINCRON REVERSIBIL 7.1 REGISTRE DE MEMORIE (RM) 8.3 6.4 CONVERTOR SERIE-PARALEL REGISTRE DE DEPLASARE CU REACŢIE a) Registrul de deplasare în inel b) Numărătorul Johnson c) Generatoare de secvenţă 124 .3.1 NUMĂRĂTOR BINAR SINCRON DE TIP SERIE 7.1 NUMĂRĂTOR BINAR ASINCRON DIRECT 7.3.2. DEFINIŢII 7.5 NUMĂRĂTOARE MODULO P REALIZATE PRIN ADUCERE LA ZERO DIVIZOARE PROGRAMABILE 8 REGISTRE 8.4 6.4 6.1 6.1 MEMORIE FIFO (FIRST IN FIRST OUT) 8.4.2 6.3 6.2.3 6.3 REGISTRE DE DEPLASARE (RD) 8.2 NUMĂRĂTOR BINAR SINCRON DE TIP PARALEL 7.3 CONVERTOR PARALEL-SERIE 8.4.3.6 EXEMPLE DE UTILIZARE 8.3 NUMĂRĂTOR BINAR SINCRON REVERSIBIL 7.1 6.

Sign up to vote on this title
UsefulNot useful