Sunteți pe pagina 1din 36

1. SISTEMELE DE NUMERAŢIE.

SISTEMUL ZECIMAL, BINAR ȘI


HEXAZECIMAL. CONVERSIA NUMERELOR DINTR-UN SISTEM DE
NUMERAŢIE ÎN ALTUL.

Sistem de numerație
Un sistem de numerație este un sistem lingvistic și un mod de notație matematică
pentru reprezentarea numerelor folosind în mod coerent un set de simboluri. În funcție de
tipul sistemului, notația „11” poate fi interpretată ca doi (într-un sistem unar), trei (într-un
sistem binar), unsprezece (într-un sistem zecimal) sau altă valoare într-un sistem cu o
anumită bază.
În mod ideal, un sistem de numerație ar trebui:
 să poată reprezenta numerele uzuale, întregi sau fracționare;
 să reprezinte un număr într-un mod unic;
 să reflecte structura aritmetică și algebrică a numerelor.
Orice sistem de numeraţie este caracterizat prin caractere care reprezintă numărul
propriu-zis, şi baza sau rădăcina sistemului de numeraţie care reprezintă numărul de
simboluri permise pentru reprezentarea numărului precum in tabela din imaginea 1.1. de mai
jos.

Sistem de numeraţie Baza Caractere permise


ZECIMAL 10 0;1;2;3;4;5;6;7;8;9.
BINAR 2 0 ; 1.
OCTAL 8 0 ; 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7.
HEXAZECIMAL 16 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; A; B; C; D; E; F.

1.1 Sisteme de numeratie

Sistemul de numeraţie zecimal


Acest sistem este un sistem de numeraţie poziţional se utilizează cel mai frecvent.
Conform tabelului din imaginea de mai sus, sistemul zecimal utilizează 10 caractere (cifre)
şi are baza 10. Un număr din sistemul zecimal se reprezintă printr-un şir de cifre în care
fiecare dintre poziţiile cifrelor are o anumită pondere. Ponderea unei poziţii este egală cu 10
la puterea dată de numărul de ordine al poziţiei respective. Numărul de ordine al poziţiei
este pozitiv pentru partea întreagă a numărului zecimal şi negativ pentru partea fracţionară a
numărului zecimal. Valoarea numărului de ordine pentru partea întreagă este 0 pentru
unităţi, 1 pentru zeci, 2 pentru sute, 3 pentru mii, etc.

3
Iar valoarea numărului de ordine pentru partea zecimală este -1 pentru unităţi, -2
pentru zeci, -3 pentru sute, -4 pentru mii, etc. Valoarea unui număr zecimal este suma
ponderată a cifrelor sale. Exemple de numere scrise în sistemul zecimal:
 5627 = (5627)10 = 5 · 103 + 6 · 102 + 2 · 101 + 7 · 100 = 5000 + 600 + 20 + 7;
 245,37 = (245,37)10 = 2 · 102 + 4 · 101 + 5 · 100 + 3 · 10-1 + 7 · 10-2 = 200 +
40 + 5 + 0,30 + 0,07.

Sistemul de numeraţie binar


Un sistem binar este, în general vorbind, un sistem bazat pe 2 elemente, posibilități,
aspecte, părți, etape și altele. În sistemul de numerație binar există doar două cifre posibile,
0 și 1. Conform definiției lui Claude Shannon, o cifră binară conține cantitatea de informație
de 1 bit. Sistemul binar este în același timp și cel mai natural mod de stocare a informației în
domeniul calculatoarelor, deoarece acolo 1 bit (celula de memorie cu capacitate minimă)
găzduiește unitatea elementară de informație, valoarea căruia poate fi ori un 0, ori un 1.
În orice sistem informatic, conform definiției lui Turing, este nevoie de o memorie
fiabilă. Cea mai fiabilă metodă de prelucrare și respectiv de stocare a datelor de calculator se
bazează pe sistemul binar, "celula este magnetizată sau nu este magnetizată", "trece curent
sau nu trece curent", "cartela este perforată sau nu este perforată" etc. Cea mai apropiată
alternativă ar fi fost utilizarea numerației în baza 3 (sistemul ternar), ceea ce ar fi necesitat
componente electronice cu trei stări stabile, ducând la o logică trivalentă de genul "senzorul
nu este excitat, senzorul este puțin excitat, senzorul este excitat", ceea ce, deși induce un
nivel mai bun de discernere a informației, reduce, cel puțin în principiu, fiabilitatea
potențială a sistemului. Datorită ușurinței implementării sistemului binar în circuitele
electronice, el se folosește practic la toate calculatoarele moderne. Deoarece numerele
binare pot fi prelucrate direct de circuitele digitale (logice), sistemul de numeraţie binar se
utilizează pentru transmiterea informaţiilor gestionate de un calculator şi a semnalelor în
montaje cu circuite digitale. O informaţie elementară gestionată de calculator poate fi
asociată cu două niveluri de tensiune: 0 V(care corespunde caracterului 0) şi +5 V(care
corespunde caracterului 1).
Caracterele utilizate în sistemul binar se numesc cifre binare sau biţi. Un grup de 8
biţi formează un octet sau 1 byte. Bitul cel mai din stânga al unui număr binar se numeşte
bitul de cel mai mare ordin sau bitul cel mai semnificativ (MSB – most significant bit). Bitul
cel mai din dreapta al unui număr binar se numeşte bitul de cel mai mic ordin sau bitul cel
mai puţin semnificativ (LSB – least significant bit). Un număr binar este format dintr-un şir
de caractere 0 sau 1.
4
Reprezentarea unui număr binar este asemănătoare cu reprezentarea numărului
zecimal cu deosebirea că se schimbă ponderea din 10 în 2. În schema din imaginea 1.2 de
mai jos avem reprezentate exemple de numere binare şi echivalentele lor zecimale.

11011002 = 1 · 26 + 1 · 25 + 0 · 24 + 1 · 23 + 1 · 22 + 0 · 21 + 0 · 20 = 10810

1001,010 = 1 · 23 + 0 · 22 + 0 · 21 + 1 · 20 + 0 · 2-1 + 1· 2-2 + 0 · 2-3 = 9,2510

1.2 Exemple de numere binare şi echivalentele lor zecimale

Aritmetica numerelor binare


Cu numerele binare se pot efectua în principiu toate operațiunile aritmetice și
algebrice, de exemplu comparația (punerea în relație de ordine prin <, = și >), ridicarea la
putere, extragerea de radicali, funcții trigonometrice, logaritmice și altele. Mai uzuale sunt
însă operațiile aritmetice binare elementare (adunarea, scăderea, înmulțirea și împărțirea).
Adunarea în binar. Tabela adunării a două cifre binare este următoarea:

0+0=0
0+1=1
1+0=1
1 + 1 = 10 (cu "depășire")

Ultimul rând de mai sus se citește: "Unu plus unu este egal cu unu-zero (în baza
2)", valoarea lui 10(2) fiind desigur 2(10). Pe baza numerelor de mai sus se pot aduna oricare 2
numere binare A și B. Exemplu (se începe de la dreapta):

111-1 <== transporturi, rezultate din depășirea de pe poziția anterioară)


A 1 1 0 1 <== valoarea lui A este 13(10) (1 + 4 + 8)
+B 1 0 1 0 1 <== valoarea lui B este 21(10) (1 + 4 + 16)
=S 1 0 0 0 1 0 <== valoarea sumei este 34(10) (2 + 32).

5
Scăderea în binar. Scăderea în sistemul binar funcționează foarte asemănător cu
adunarea binară. Tabela scăderii este:

0-0=0
0 - 1 = 1 (cu "împrumut")
1-0=1
1-1=0

Pe această bază se pot scădea numere binare formate din mai multe 0-uri și 1-uri.
Operația se execută poziție cu poziție, de la dreapta la stânga. La nevoie se folosește
"împrumutul" de la poziția de mai la stânga. De exemplu:

A 1 1 0 0 1 0 1 <== A are valoarea zecimală 1 + 4 + 32 + 64 = 101(10)


−B 1 1 0 1 1 <== B are valoarea zecimală 1 + 2 + 8 + 16 = 27(10)
=D 1 0 0 1 0 1 0 <== diferența lor este D = 2 + 8 + 64 = 74(10)

Scăderea unui număr binar produce același rezultat cu adăugarea aceluiaș număr
dar cu semn schimbat. La calculatoare, pentru a schimba semnul unui număr, se folosește
complementul față de 2, o operație binară logică elementară. Aceasta elimină necesitatea de
a mai realiza, pe lângă circuitele de adunare, și pe cele de scădere. Altfel spus, scăderea se
realizează prin următoarele două adunări: A - B = A + not B + 1.
Înmulțirea în binar. Înmulțirea (multiplicarea) în binar se bazează, la fel ca și în
sistemul zecimal, pe adunare. Tabela înmulțirii binare este simplă:

0x0=0
0x1=0
1x0=0
1x1=1

Pentru a multiplica numerele binare A și B se fac întâi produsele parțiale ale lui A
cu fiecare cifră binară a lui B, luate de la dreapta la stânga, și apoi se adună rezultatele
parțiale între ele. Produsele parțiale ale fiecărei cifre din B cu A sunt și ele simple:
 dacă cifra din B este un 0, atunci și produsul parțial este 0, și nu are efect
asupra adunării;
 dacă cifra din B este un 1, atunci produsul parțial al lui A cu 1 este chiar A.

6
Exemplu 1010(2) x 11011(2):
1 1 0 1 1 <== A este egal cu 1 + 2 + 8 + 16 = 27(10)
× 1 0 1 0 <== B este egal cu 2+8 = 10(10)
---------
00000
+11011
+00000
+11011
-----------------
1 0 0 0 0 1 1 1 0 <== Produsul A x B = 2 + 4 + 8 + 256 = 270(10)
**** <== depășire (la adunare)

Împărțirea în binar. Împărțirea binară se aseamănă în bună parte cu cea obișnuită,


zecimală. Când numărul A trebuie împărțit la numărul B, A se mai numește "deîmpărțit", iar
B "împărțitor". În general se deosebesc 2 feluri de împărțiri:
 cea exactă, la care interesează și se calculează și cifrele de după virgule;
 cea cu rest, când împărțitorul B nu intră exact în deîmpărțitul A.
Calculele se opresc acolo unde ar urma virgula, dar din deîmpărțit rămâne un rest,
care trebuie specificat. Exemplu de împărțire binară cu rest: 1100111(2) / 101(2) (sau în
zecimal, 103 / 5 = 20 rest 3). Se procedează de la stânga la dreapta:

7
1 1 0 0 1 1 1 / 1 0 1 = 1 0 1 0 0 (= 20 (10)). Restul se află pe penultima linie, și
anume 0 1 1 (= 3(10)).
-101 <== încape și executăm scăderea; trecem un 1 la rezultat;
= 0 0 1.0 <== "coborâm" o cifră din deîmpărțit;
-101 <== nu încape; trecem un 0 la rezultat;
0 0 1.0.1 <== mai "coborâm" încă o cifră;
-101 <== încercăm să scădem încă o dată, cu o poziție mai la dreapta;
= 0 0 0.1 <== acum încape exact; trecem un 1 la rezultat, și "coborâm" cifra
următoare;
-101 <== nu încape; trecem un 0 la rezultat;
0 0 0.1.1 <== mai "coborâm" o cifră; acesta este restul, deoarece ...
- 1 0 1 <== ... când încercăm încă o dată, nu încape nici acum; trecem încă
un 0 la rezultat; acuma însă nu mai există nici cifre de coborât.
Împărțirea binară constă într-un șiri de scăderi. De fiecare dată când împărțitorul nu
încape în același număr de cifre ale deîmpărțitului (cu alte cuvinte este mai mic), se mai
"coboară" următoarea cifră spre dreapta din deîmpărțit.

Sistemul hexazecimal
Acest sistem de numeraţie utilizează 16 caractere. Reprezentarea unui număr
hexazecimal este asemănătoare cu reprezentarea numărului zecimal cu deosebirea că se
schimbă ponderea din 10 în 16. La fiecare caracter din sistemul de numeraţie hexazecimal îi
corespunde un şir de 4 biţi (deoarece cu un şir de 4 biţi se pot realiza 16 combinaţii).
Exemple de numere hexazecimale şi echivalentele lor zecimale:
 21816 = 2 ·162 + 1 · 161 + 8 · 160 + = 2 · 256 + 1 · 16 + 8 · 1 = 53610
 BAC16 = B · 162 + A · 161 + C · 160 = 11·256 + 10·16 + 12·1 = 298810.
Pentru conversia numerelor binare în numere hexazecimale se împart biţii numărului binar
în grupe de câte 4 biţi de la dreapta la stânga:
 10111101011012 = 0001 01111010 1101 = 17AD8.
Pentru conversia numerelor hexazecimale în numere binare se înlocuieşte fiecare caracter
din hexazecimal cu şirul corespunzător de 4 biţi:
 DAC16 = 1101 1010 1100 = 1101101011002.
Sistemul hexazecimal are baza 16 și utilizează 16 cifre hexazecimale, care se notează astfel:
 0 1 2 3 4 5 6 7 8 9 A B C D E F.
În acest șir de cifre hexazecimale, cifrele de la 0(16) la 9(16) au valorile zecimale echivalente,
de la 0(10) la 9(10), iar cifrele A(16) ... F(16) au valorile zecimale de la 10(10) la 15(10). Pentru
8
reprezentarea valorilor zecimale de la 0 la 15 sunt necesari exact 4 biți, începînd cu 0000 și
sfârșind cu 1111.
Transformarea unui număr binar într-unul hexazecimal se face pur și simplu prin
gruparea biților în grupe de câte 4 biți, de la dreapta la stînga.
 Exemplu: 110110110111001(2) = (0)110 1101 1011 1001 = 6DB9(16).
Transformarea inversă, din hexazecimal în binar, se face prin înlocuirea fiecărei
cifre hexazecimale prin combinația corepunzătoare de 4 biți. Pentru cei ce sunt familiarizați
cu el, sistemul hexazecimal este o metodă comodă pentru afișarea conținutului binar al
memoriei sau al fișierelor din calculatoarele actuale, deoarece numerele binare sunt în
general foarte lungi, în schimb numerele hexazecimale sunt mai scurte chiar decât cele
zecimale cu aceeași valoare.

Conversia numerelor dintr-un sistem de numeraţie în altul.


Fiecare sistem de numera¸tie are un num˘ar de cifre sau litere corespunza˘tor
bazei acestuia. Astfel, sistemul zecimal con¸tine cifre de la 0 la 9 (baza 10),
sistemul hexazecimal con¸tine cifre de la 0 la 9 ¸si litere de A la F (baza 16),
sistemul octal con¸tine cifre de 0 la 7 (baza 8) iar sistemul binar con¸tine cifrele 0
¸si 1 (baza 2). Pentru a face distinc¸tie ˆıntre numerele din diferite baze de
numera¸tie exist˘a mai multe metode de notare:
a) La sfaˆr¸situl numarului se adauga˘ o liter˘a corespunz˘atoare bazei
de numera¸tie:
 B - binar (ex. 10011101B);
 Q - octal (ex. 23701Q);
 D - zecimal (ex. 5429D);
 H - hexazecimal (ex. FD37BH).

b) La sfˆar¸situl numarului se adaug˘a, ˆın paranteze, baza c˘areia ˆıi


apar¸tine num˘arul:
 (2) - binar (ex. 10011011(2));
 (8) - octal (ex. 24673(8));
 (10) - zecimal (ex. 9546(10));
 (16) - hexazecimal (ex. 34A4D(16)).

c) La sfˆar¸situl numarului se adaug˘a ca ¸si indice, ˆın paranteze,


9
baza ca˘reia ˆıi apar¸tine numarul:
 Numar(2) - binar (ex. 101101(2));
 Numar(8) - octal (ex. 5572(8));
 Numar(10) - zecimal (ex. 9334(10));
 Numar(16) - hexazecimal (ex. 53FD1(16)).

Trecerea din sistemul binar în sistemul octal. Pentru trecerea unui numar scris în
sistemul binar la echivalentul sau scris în octal se grupează cifrele binare în grupe de câte 3
începand cu prima cifră din dreapta după care pentru fiecare grup se caută în tabela din
imaginea 1.3 de mai jos, pe coloana corespunzatoare sistemului binar, combinația respectivă
după care, de pe acelasi rând din coloana sistemului octal se extrage cifra corespondentă.

De exemplu, numarul 11010 se scrie 011 010. În tabela din imaginea 1.3 in coloana
sistemului binar randul pe care se gaseste combinatia 011, pe acelasi rand in coloana
sistemului octal se afla cifra 3. Similar, pentru combinatia 010 se gaseste cifra 2, astfel ca
numarul octal echivalent numarului binar 11010 este 32,

11010(2) = 32(8).

Prin aceeasi metoda se poate trece si numarul 10110011(2),

10110011(2) = 010 110 011(2) = 263(8)

Trecerea din sistemul binar in sistemul zecimal. Trecerea din sistemul binar in
sistemul zecimal se face utilizand relatii si tabela din imaginea 1.3 de mai jos in care sunt
trecute valorile in zecimal ale puterilor bazelor sistemelor de numeratie binar, octal si
hexagesimal. Pentru numarul 11010(2) trecerea se face astfel:

11010(2) = 1x24 +1x23 +0x 22 +1 x 21 + 0x20 = 16+8+0+2+0 = 26(10)

iar pentru numarul 10110011(2) se obtine:

10110011(2) = 1 x 27 + 0 x 26 + 1 x 25 + 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21
+ 1 x 20 = 128+ 32 + 16+ 2+ 1= 179(10)

Trecerea din sistemul binar in sistemul hexazecimal. Pentru trecerea unui numar
scris in sistemul binar la echivalentul sau scris in hexazecimal se grupeaza cifrele binare in

10
grupe de cate 4 incepand cu prima cifra din dreapta dupa care, pentru fiecare grup, se cauta
in tabela din imaginea 1.3, pe coloana corespunzatoare sistemului binar, combinatia
respectiva dupa care, de pe acelasi rand din coloana sistemului hexazecimal și se extrage
cifra corespondenta.
Numarul 11010 in sistemul binar se scrie 1 1010 si din in tabela din imaginea 1.3
de mai jos se extrag valorile 1 si A deci:

11010(2) = 11010(2) = lA(16)

Pentru celalalt numar se obtine:

10110011(2) =10110011(2) =B3(16)

Sistemul

Binar Octal Hexa Zecimal

0000 0 0 0

0001 1 1 1

0010 2 2 2

0011 3 3 3

0100 4 4 4

0101 5 5 5

0110 6 6 6

0111 7 7 7

1000 10 8 8

1001 11 9 9

1010 12 A 10

1011 13 B 11

1100 14 C 12

1101 15 D 13

1110 16 E 14

1111 17 11F 15
1.3 Echivalența principalelor sisteme de numerație ale computerelor

12
2. REPREZENTAREA NUMERELOR ÎN CODURILE DIRECT,
INVERS ŞI COMPLEMENTAR.

Reprezentarea numerelor în calculator


Memoria calculatorului o putem vedea ca un șir de celule (biți), fiecare celulă
putînd conține la un moment dat un 0 sau un 1 aceasta întîmplîndu-se pentru că
calculatoarele actuale utilizează sistemul binar de numerație. Calculatorul operează cu
numere naturale, întregi (pozitive și negative), și reale (pozitive și negative). Fiecare din
aceste două feluri de numere se reprezintă în calculator într-un anumit mod.

Numere natural. Numerele naturale sunt numerele notate prin N={0, 1, 2, ....}.
Reprezentarea numerelor naturale se realizează pe un număr fix de poziții binare (8, 16,
32, 64, ...).

2.1 Reprezentarea cifrelor binare ale unui numar natural

În pozițiile 0, 1, ... , n-1 reprezentate în imaginea 2.1 de mai sus, sunt înscrise
cifrele binare ale numărului natural reprezentat în sistemul de numerație binar. Alinierea
numerelor binare se realizează la dreapta, eventualele zerouri nesemnificative sunt
plasate în fața numărului binar. Un astfel de exemplu avem reprezentat în imaginea 2.2
de mai jos.

2.2 Reprezentarea numarului pe 16 poziții binare

13
Numere întregi. În calculator nu există posibilitatea introducerii directe a
semnelor + și -, din acest motiv reprezentarea semnului numărului x se face cu ajutorul
unei cifre binare, denumită cifră-semn, așezată în poziția n-1, reprezentata în imaginea
2.3 de mai jos.

2.3 Reprezentarea semnalului cu ajutorul cifrei-semn

Numerele cu semn pot fi reprezentate în trei moduri:


 cod direct;
 cod invers;
 cod complementar.
Codul direct (codul marime si semn). Scrierea unui numar în acest cod este
foarte simplă: în cifra-semn se scrie 0, dacă numarul este pozitiv, și 1, daca el este
negativ, în partea de valoare se înscrie numarul în sistemul binar obișnuit. Exemplu de
numar cu semn reprezentat în mod direct avem reprezentat în imaginea 2.4 de mai jos.

14
2.4 Reprezentarea numerelor cu semn-cod direct
Codul invers. Pentru numerele pozitive scrierea în cod invers este identica cu
cea din codul direct. Dacă numarul este negativ, el se scrie mai întii ca și cum ar fi
pozitiv, apoi se inversează fiecare cifra binară, adica 1 devine 0 și 0 devine 1. Un
exemplu avem reprezentat în imiaginea 2.5 de mai jos. Numărul +52 în cod invers arată
la fel ca și în cod direct, numărul -52, în cod invers este diferit față de codul direct.

2.5 Reprezentarea numerelor cu semn-cod invers

Codul complementar. În acest cod numerele pozitive au aceeași reprezentare ca


și în codul direct și codul invers. Dacă numarul este negativ, el se scrie mai întii în cod
invers, apoi se adună 1 la cifra cea mai putin semnificativă (pozitia binară 0). Un
exemplu este reprezentat în imaginea 2.6 de mai jos.

15
2.6 Reprezentarea numerelor cu semn-cod complementar

Numere reale. Numerele reale se reprezintă în calculator sub formă fracționară


prin intermediul reprezentării în virgulă fixă sau în virgulă mobilă (flotantă).
Reprezentarea în virgulă fixă. În acest caz se consideră că toate numerele au
virgule plasate în aceeași poziție, chiar dacă acest lucru nu corepunde formei externe de
reprezentare. Procesul de translatare din forma externă în forma internă și invers se
realizează cu ajutorul unor coeficienți de scalare aleși în mod corespunzător de
programator. De obicei, se consideră că virgula este plasată imediat după poziția cifrei-
semn, caz în care numerele sint fractii pure. Exemplu avem reprezentat în imaginea 2.7.

2.7 Reprezentarea numerelor +0,9375 si -0,9375 în virgulă fixă în cod direct

Reprezentarea în virgulă mobilă. Operațiile în virgulă fixă sint comode pentru


circuitele omogene de date, când toate numerele reale sânt subunitare. Însa această

16
reprezentare este ineficientă în calculele stiințifice, unde se lucrează simultan cu numere
foarte mari și mici al caror ordine de mărime adesea este imprevizibil. Pentru astfel de
probleme se utilizează reprezentarea în virgule mobile. Numerele reprezentate în virgule
mobile pot fi numere intregi sau fracționare a caror valoare este dată de relația x=M*bE,
unde b este valoarea bazei, M este un numar subunitar numit mantisă, iar E este un
exponent. În calculatoarele actuale se utilizează b=2 sau 16.
Numarul reprezentat în virgule mobile este normalizat dacă prima cifră dupa
virgule a mantisei este diferită de zero. Deosebim mai multe variante de reprezentare a
mantisei și a exponentului pe n poziții binare, formatul exponent – mantisă și formatul
caracteristică – mantisă.

17
3. PARTICULARITĂŢILE CIRCUITELOR LOGICE
COMBINAŢIONALE (CLC). SUMATOARELE, DECODIFICATOARELE ȘI
MULTIPLEXOARELE. FUNCȚIONALITATEA, PĂRȚILE COMPONENTE,
UNDE SE FOLOSESC.

Circuitele alcătuite din porţile logice de bază, a căror operare poate fi descrisă
cu ajutorul algebrei Booleene, se numesc circuite logice combinaţionale, deoarece în
fiecare moment de timp starea logică a ieşirii depinde de modul în care se combină
nivelurile logice ale intrărilor în acel moment de timp. Ele nu au capacitatea de
memorare a informaţiei. Problema esenţială care trebuie rezolvată cu ajutorul circuitelor
logice combinaţionale este implementarea unor funcţii logice cu ajutorul unui număr
minim de porţi logice. Pentru atingerea acestui scop, funcţia logică trebuie adusă la o
formă cât mai simplă care să conţină un număr minim de termeni. Acest proces se
numeşte minimizarea funcţiei logice. Despre funcţiile logice aduse la o formă
minimizată se mai spune că sunt scrise sub formă canonică.
Există două forme canonice utile în proiectarea circuitelor logice
combinaţionale, suma de produse sau produsul de sume, prima dintre ele fiind cea mai
folosită. Minimizarea funcţiilor logice până la una din formele canonice se poate face în
două moduri:
• folosind teoremele algebrei Booleene;
• folosind tehnica diagramelor.
În cazul scrierii funcţiei sub formă de sumă de produse, ea este alcătuită din doi
sau mai mulţi termeni care includ funcţia ŞI, după care aceştia sunt uniţi între ei cu
ajutorul funcţiei SAU. Termenii ŞI ai sumei trebuie să respecte următoarea regulă: un
termen ŞI poate conţine una sau mai multe variabile Booleene, variabile care pot fi
prezente o singură dată, în forma normală sau complementară. Această regulă ne
precizează faptul că semnul de inversiune poate să apară numai deasupra variabilelor
individuale.
Un circuit logic primește la intrare mai multe semnale și generează de asemenea
mai multe semnale. Circuitele logice se pot clasifica în doua mari categorii:
 circuite logice combinationale, valorile semnalelor de ieșire la un moment
dat depind numai de valorile semnalelor de intrare la momentul respectiv;
 circuite logice secventiale, valorile semnalelor de iesire la un moment dat
depind de valorile semnalelor de intrare la momentul respective dar si de valori ale
semnalelor de intrare la momente anterioare de timp (”istoria circuitului”).
18
Schemele logice se implementează cu ajutorul circuitelor logice. Pe masura
dezvoltarii tehnologice au fost realizate circuite tot mai complexe, cu un numar din ce în
ce mai mare de componente elementare (tranzistoare, rezistente, capacitati, trasee de
conexiune).

În funcție de gradul de integrare a acestor componente în cadrul circuitelor se


disting urmatoarele categorii:
 circuite SSI (Small Scale Integration), integrate pe scara redusa, cu un
numar mic (zeci sau sute) de componente elementare intr-un cip. Exemple: porti logice
si circuite basculante bistabile;
 circuite MSI (Medium Scale Integration), integrate pe scara medie, cu un
numar mediu de componente, de ordinul cateva mii. Exemple: decodificatoare,
multiplexoare, sumatoare, registre, numaratoare;
 circuite LSI (Large Scale Integration), integrate pe scara larga, cu multe
componente (zeci de mii sau sute de mii) elementare intr-un singur cip. Exemple: PLA,
ROM, RAM (circuitele mai vechi);
 circuite VLSI (Very Large Scale Integration), integrate pe scara foarte
larga, cu un numar foarte mare (milioane sau zeci de milioane) de componente
elementare. Exemple: memorii, microprocesoare, circuite speciale.
Circuitele combinaţionale se caracterizează prin faptul că variabilele de ieşire
depind numai de variabilele de intrare şi există doar în prezenţa acestora. Ecuaţia de
funcţionare a unui circuit logic combinaţional este de forma reprezentată în imaginea 3.1
de mai jos.

3.1 Variabilele de intrare şi de ieşire ale unui circuit logic combinational

Cele mai utilizate circuite combinationale sunt portile logice, sumatoarele,


decodificatoarele, multiplexoarele, PLA-urile și memoriile ROM.

19
Sumatoarele
Sumatorul este un circuit logic combinational care permite insumarea a doi
operanzi fiecare reprezentat pe n biti. Sumatorul este un element de bază al oricarei
unitați aritmetice - logice, iar de performanțele sale depind performanțele intregii unități.
În practică se utilizează diferite tipuri de sumatoare, însa cel mai simplu de realizat este
sumatorul cu transport succesiv.
Sumatoarele, folosite cel mai mult în unitățile aritmetice logice ale
procesoarelor realizează adunări pe un număr dat de biți, furnizând la ieșirea circuitului
suma și transportul rezultat în urma operației. Blocul de baza al unui sumator cu
transport succesiv este sumatorul elementar complet reprezentat în imaginea 3.2, care
pentru o pereche de biți de acelasi rang din cei doi operanzi xi, yi și pentru transportul de
la rangul precedent ti-1, realizează suma lor și furnizează bitul corespunzator al sumei si și
transportul catre rangul urmator ti.

3.2 Sumator elementar complet

Functionarea sumatorului elementar complet este prezentat prin tabela din imaginea 3.3:

t
xi yi i-1 si ti
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
3.2. Funcționarea sumatorului elementar complet

Din această tabelă se pot deduce ecuațiile de comutație ale ieșirilor sumatorului
elementar complet:

20
si  xi ⊕ yi ⊕ ti −1
ti  xi ⋅ yi  xi ⋅ ti −1  yi ⋅ ti −1

Pentru realizarea unui sumator pe n biți se conectează în cascada n astfel de


sumatoare elementare complete, ca în schema din imaginea 3.4 de mai jos:

3.4. Sumator cu transport succesiv pe n biti

Intrarea de transport pentru primul sumator (de rang 0) se conectează la 0 logic


(masa electrica). Suma se obține pe n biti: s0, s1, ... , sn-1. Ieșirea de transport de la ultimul
sumator elementar complet reprezintă ieșirea generală de transport a sumatorului. Se
observă în imagine că un transport poate fi propagat de la un etaj la etajul urmator, de
unde și denumirea acestui tip de sumator.

Decodificatoare
Decodificatoarele realizează funcția inversă primind n intrări și furnizând 2n
ieșiri. Aceste circuite sunt utile în aplicații care folosesc multiplexarea datelor, display-
uri sau decodificarea adreselor de memorie. De exemplu, memoria principala (RAM)
este organizată pe cuvinte, fiecare adresă practic indicând un cuvânt din memorie, astfel
dimensiunea ei fiind limitată la 2n locații, unde n este dimensiunea cuvântului. Deoarece
memoriile sunt organizate intern din mai multe chipuri puse pe linii, coloane, pentru
acesarea acestor locații de memorie se folosesc decodificatoare de adrese care iau parți
din adresa și împreună dau locația corespunzatoare. Un decodificator n:m, reprezentat în
imaginea 3.5 de mai jos, este un circuit logic combinational cu n intrari x0, x1, ..., xn-1 și
m=2n ieșiri y0, y1, ... , ym-1.

21
3.5. Decodificator n:m

La un moment dat este activă o singură ieșire și anume ieșirea având codul
(numarul de ordine) reprezentat de intrari. Funcționarea decodificatorului este prezentată
în imaginea 3.6 de mai jos.

3.6 Functionarea decodificatorului n:m

Se observă că pentru oricare combinație de valori ale variabilelor de intrare x0,


x1, xn-1 o singură ieșire este activă (are valoarea 1 logic), toate celelalte ieșiri sunt inactive
(au valoarea 0 logic). Sunt diferite tipuri de decodificatoare, de exemplu cu 2 intrari și 4
ieșiri (decodificator 2:4 reprezentat în imaginea 3.7 de mai jos), cu 3 intrari si 8 ieșiri
(decodificator 3:8 reprezentat în imaginea 3.8 de mai jos). De asemenea există și
decodificatoare având ieșirile active pe 0 (reprezentate în cadrul simbolului prin
cerculete pe ieșiri), la un moment dat o singura ieșire are valoarea 0, toate celelalte ieșiri
au valoarea 1.
Funcția principală a unui decodificator este să sesizeze furnizarea oricarei valori
binare pe cele n intrari (să decodifice), activând ieșirea corespunzatoare combinației
respective. În continuare este prezentată o aplicație practică în care un decodificator 2:4,
imaginea 3.7, permite selectarea unui modul de memorie din patru module, pe bază a doi

22
biti de adresă. În acest fel se activează un singur modul de memorie care va realiza
operația de citire sau scriere.

3.7 Selectarea modulelor de memorie

Decodificatoarele pot fi utlizate si pentru implementarea de diferite expresii de


comutatie. Ca exemplu implementam cu decodificator functia:
f ( x, y, z)  x ⋅ y ⋅ z  x ⋅ y ⋅ z  x ⋅ y ⋅ z  x ⋅ y ⋅ z.

Este necesar un decodificator 3:8, imaginea 3.8, functia avand 3 variabile .


Fiecare iesire a decodificatorului este asociata cu cate un mintermen posibil care se poate
exprima prin cele trei variabile. Pentru implementarea functiei se vor selecta iesirile
decodificatorului corespunzand mintermenilor functiei (este necesar ca functia sa fie
exprimata ca suma de mintermeni).

3.8. Implementarea functiei f cu decodificator

23
Multiplexoare
Un multiplexor m:1, imaginea 3.9, este un circuit logic combinational cu n-
intrari de selectie (comanda) s0, s1, ... , sn-1, m=2n intrari de date x0, x1, ..., xm-1 si o singura
iesire y (eventual o a doua iesire, complementara, negata primei iesiri). Nivelul logic de
la iesirea multiplexorului este dat de intrarea avand codul reprezentat de intrarile de
selectie.

3.9 Multiplexor

Functionarea unui multiplexor este prezentat in tabela din imaginea 3.10 de mai
jos, in care s-au considerat toate combinatiile de valori ale variabilelor de selectie.
s
n-1 .... s1, s0 y
x
0 .... 0 0 0

0 .... 0 1 x1
........... ...
x
1 .... 1 1 m-1

3.10 Functionarea unui multiplexor

Fiecare valoare a functiei de iesire este data de valoarea intrarii de date care a
fost selectata prin combinatia respectiva a variabilelor de selectie.
In practica se utilizeaza diferite tipuri de multiplexoare: cu doua intrari de date
si o singura intrare de selectie (multiplexor 2:1, imaginea 3.11), cu patru intrari de date si
doua intrari de selectie (multiplexor 4:1, imaginea 3.12), cu opt intrari de date si trei
intrari de selectie etc.
24
Multiplexorul permite furnizarea unei anumite informatii din mai multe
posibile, selectia realizandu-se pe baza unui cod (furnizat pe intrarile de selectie). In
continuare este prezentata o aplicatie practica in care un microprocesor si un dispozitiv
DMA fac acces la un modul de memorie, cu adrese diferite pe w biti model reprezentat
in imaginea 3.11.

La un moment dat are acces un singur dispozitiv, iar adresa sa este furnizata
memoriei prin intermediul unui bloc de w multiplexoare 2:1, comandate prin acelasi
semnal de selectie (se presupune ca pentru s=0 are acces microprocesorul si pentru s=1
are acces modulul DMA).

adresa
µP w adr mem MEM
MUX
adresa 2:1
DMA

3.11 Multiplexarea datelor la scrierea in memorie.

Circuitele multiplexoare pot fi utilizate si pentru implementarea de diferite


functii de comutatie. Ca exemplu implementam cu multiplexor functia:

f ( x, y, z)  x ⋅ y ⋅ z  x ⋅ y ⋅ z  x ⋅ y ⋅ z  x ⋅ y ⋅ z

Este necesar un multiplexor cu 2 intrari de selectie (numar de variabile ale


functiei – 1) pe care se conecteaza doua dintre variabile (de exemplu, y si z), iar pe
intrarile de date se conecteaza cea de a treia variabila in forma directa sau negata, sau
eventual pot fi conectate pe anumite intrari si constante 0 sau 1, imaginea 3.12.

25
3.12 Implementarea functiei f cu multiplexor.

26
1. PARTICULARITĂŢILE CIRCUITELOR LOGICE SECVENŢIALE (CLS).
BISTABILELE, NUMĂRĂTOARELE, REGISTRELE. FUNCȚIONALITATEA,
PĂRȚILE COMPONENTE, UNDE SE FOLOSESC.

Circuitele combinaţionale implementează funcţiile esenţiale ale unui calculator


numeric. Aceste circuite se caracterizează prin faptul că starea ieşirilor depinde numai de
starea intrărilor, şi nu depinde de timp. Deci, cu excepţia memoriilor ROM, circuitele
combinaţionale nu furnizează informaţii de memorie sau de stare, care sunt de asemenea
elemente esenţiale pentru funcţionarea unui calculator numeric. În acest scop se utilizează
circuitele secvenţiale. Un circuit secvenţial are memorie, adică ieşirile curente ale circuitului
nu depind numai de intrările curente, ci şi de intrările anterioare. Un alt mod de caracterizare
a unui circuit secvenţial este că ieşirile curente ale circuitului depind de intrările curente şi
de starea curentă a circuitului.

4.1 Structura generală a unui circuit secvenţial

Circuitul secvenţial, structura caruia este prezentata in imagine 4.1 de mai sus, se
compune dintr-un circuit combinaţional, o parte a ieşirilor acestuia fiind conectate la
intrările circuitului prin intermediul unor elemente de memorie (elemente de întârziere) ∆1,
…, ∆p.

27
Semnalele aplicate pe cele n intrări formează mulţimea X = {x1, x2, …, xn} a
variabilelor de intrare, numite şi variabile de intrare principale. Mulţimea formată din 2n
intrări distincte se numeşte alfabet de intrare I, } { , ,..., 1 2 2 I = i i i n . De exemplu, pentru
două variabile de intrare alfabetul de intrare este I = {00, 01, 10, 11}. O combinaţie a
intrărilor se numeşte simbol al alfabetului.
Semnalele de ieşire formează mulţimea Z = {z1, z2, …, zm} a variabilelor de
ieşire, numite şi variabile de ieşire principale. Mulţimea formată din 2m ieşiri distincte se
numeşte alfabet de ieşire O, { , ,..., } 1 2 2 O = O O O m . Ieşirile secundare ' ' 2 ' 1, ,..., p y
y y sunt conectate la intrare prin legături inverse şi elementele de întârziere ∆1, …, ∆p,
formând intrările secundare y1, y2, …, yp ale circuitului secvenţial. Valorile intrărilor
secundare (y1, y2, …, yp) la un moment de timp t definesc starea internă prezentă a
circuitului. Mulţimea stărilor prezente este }. { , ,..., 1 2 2 Q = q q q p Valorile ieşirilor
secundare ( ' ' 2 ' 1, ,..., p y y y ) definesc starea internă următoare a circuitului. Mulţimea
stărilor următoare este }.
CLS este un echipament (iar în cazul cel mai simplu un circuit integrat) cu mai
multe intrari si iesiri; în cazul cel mai frecvent, una dintre intrari se numeste intrare de tact.
Vectorul iesirilor depinde nu numai de valoare momentana a vectorului intrarilor ci si de
starea în care se afla circuitul, respectiv de succesiunea starilor prin care a trecut acest
circuit. Pentru cunoasterea starii în care se afla CLS, acestea se memoreaza folosind unul
sau mai multe circuite basculante bistabile (CBB). Starea CLS este caracterizata prin
variabilele de stare. Modificarea starii CLS are loc în momente sau intervale de timp
determinate de un semnal de tact (ceas, clock, CLK, CK). Un semnal de tact este format din
impulsuri dreptunghiulare cu perioada de repetitie constanta. CLS îsi pot modifica starea pe
front sau palier. Semnalul de tact se considera: - activ pe “1” daca modificarea starii CLS se
face pe frontul crescator al impulsului de tact sau pe întreaga durata a acestuia. - activ pe “0”
atunci când modificarea starii circuitului se face pe frontul scazator al impulsului sau pe
durata pauzei dintre doua impulsuri de tact.
Un circuit logic secvential (CLS) cu n intrari si m iesiri reprezentat in imaginea 4.2
de mai jos, contine o logica combinationala (CLC) si un set de elemente de memorare t.
Iesirile depind de valorile furnizate la intrare la momentul respectiv de timp si de valorile
stocate in elementele de memorare (starea circuitului).

28
Starea circuitului depinde de valori care s-au furnizat pe intrari la momente
anterioare de timp (depinde de "istoria circuitului"). Starea circuitului este reprezentata de
iesirile elementelor de memorare (q0, q1, ... , qp-1). Elementele de memorare sunt comandate
tot prin intermediul logicii combinationale de semnalele de control c0, c1, ... , cr-1.

4.2 Circuit logic secvential.

Un CLS poate fi descris prin: M = (I, O, S, f, g), unde:


 I ⊆ Bn este multimea valorilor semnalelor de intrare;
 ⊆ Bm este multimea valorilor semnalelor de iesire;
 S ⊆ Bp este multimea starilor;
 f : S*I → O este functia care determina valorile iesirilor;
 g : S*I → S este functia care determina starea urmatoare.
Functionarea unui CLS se poate descrie prin graful starilor, un graf orientat in care
fiecare nod reprezinta o stare, iar fiecare arc reprezinta o tranzitie dintr-o stare in starea
urmatoare. Pe marginea fiecarui arc se inscriu valorile semnalelor de intrare si cele ale
semnalelor de iesire.
Exista doua mari categorii de circuite logice secventiale:
 CLS sincron: schimbarea starii circuitului se produce la momente de timp
bine determinate, controlate de un semnal de sincronizare (de ceas);
 CLS asincron: schimbarea starii circuitului se face la momente de timp
oarecare, prin schimbarea valorilor semnalelor de intrare.

29
Chiar daca CLS-urile asincrone sunt mai rapide, in practica se prefera utilizarea
CLS-urilor sincrone, caci acestea sunt mai stabile in functionare si exista metode sistematice
de proiectare, cum este de exemplu metoda ASM (Algorithmic State Machine).
Principalele categorii de circuite logice secventiale sunt: circuitele basculante
bistabile, numaratoarele, registrele, PLD-urile, memoriile.

Circuite basculante bistabile


Circuitele basculante bistabile (CBB) sunt circuitele logice secventiale de baza, cu
ajutorul lor se pot realiza circuite mai complexe. Denumirea lor provine de la faptul ca un
astfel de circuit poate avea numai doua stari stabile: o stare in care furnizeaza 0 logic la
iesire si o alta stare in care furnizeaza 1 logic la iesire. Astfel, prin intermediul starii,
bistabilul memoreaza un bit de informatie (0 sau 1). Schimbarea starii se face cu ajutorul
semnalelor de comanda. Principalele tipuri de bistabili sunt bistabilul de tip D si bistabilul
de tip JK.
Bistabilul D. Un bistabil de tip D , reprezentat in imaginea 4.3, are o intrare de date
D, o intrare de ceas CLK (Clock), doua intrari de comanda prioritare (asincrone) PR#
(Preset) si CL# (Clear), care se mai numesc SET si RESET, o iesire Q si iesirea negata Q#
(s-a notat prin # semnalul respectiv negat, complementat).

4.3 Bistabil de tip D.

Intrarea de ceas, asa cum a fost reprezentata in simbolul asociat, fara cerculet pe
intrare, se considera activa pe front pozitiv, deci o tranzitie din 0 in 1 a semnalului de pe
intrarea de ceas va schimba starea circuitului (memora o noua informatie). Functionarea
circuitului este prezentata in tabela din imaginea 4.4 de mai jos:

30
Dt PR# CL# Qt+1
0 1 1 0
1 1 1 1
X 0 1 1
X 1 0 0
X 0 0 ?
4.4 Functionarea circuitului

Primele doua linii din tabela corespund functionarii sincrone a circuitului, cand
semnalele de comanda prioritare sunt inactive. Ultimele trei linii din tabela specifica
functionarea asincrona, la activarea semnalelor de comanda prioritare. Din ultima linie a
tabelei rezulta faptul ca este interzisa activarea simultana a celor doua intrari de comanda
prioritare, caci in acest caz starea urmatoare a circuitului nu este determinate.
Circuitele basculante bistabile (CBB) sunt circuite logice secvenţiale cu două sau
mai multe intrări şi două ieşiri, acestea din urmă neputând fi decât în stări complementare
din punct de vedere al nivelurilor logice de tensiune: dacă una este la nivel logic 1, în mod
obligatoriu cealaltă este la nivel logic 0. Intrările sunt folosite pentru a provoca bascularea
circuitului înainte sau înapoi între cele două stări. Dacă un impuls aplicat la intrare provoacă
bascularea CBB într-o stare, circuitul va rămâne în aceasta chiar şi după dispariţia
impulsului de la intrare. Aceasta este caracteristica de memorie a CBB.

Registre
Un registru este un set de bistabili comandati simultan si memoreaza n biti de
informatie, cate un bit in fiecare bistabil. In functie de modul de introducere si extragere a
informatiei memorate, exista urmatoarele tipuri de registre:
1) Registru cu introducere paralela si extragere paralela a informatiei. Un
astfel de registru, reprezentat in imaginea 4.5, dispune de un semnal de comanda de
incarcare (LOAD). Pe frontul activ al acestui semnal informatia (cuvantul de n biti) de la
intrare se va incarca in registru si va fi furnizata la iesiri.

31
4.5 Registru cu incarcare paralela si extragere paralela.

Functia principala a unui astfel de registru este de memorare (temporara) paralela a


informatiei.
2) Registru cu incarcare paralela si extragere seriala a informatiei. Circuitul,
reprezentat in imaginea 4.6, dispune de un semnal care comanda incarcarea paralela(LOAD)
si un semnal care comanda deplasarea (SHIFT). La fiecare front activ al semnalului de la
intrarea SHIFT informatia se deplaseaza cu o pozitie, astfel incat la iesirea yn-1 este
disponibil bitul urmator. Functia principala a acestui registru este conversia informatiei din
format serial in format paralel (de exemplu la transmisia seriala din cadrul interfetei seriale a
calculatorului).

4.6 Registru cu incarcare paralela si extragere serial

3) Registru cu incarcare seriala si extragere paralela a informatiei. Registrul


reprezentat in imaginea 4.7, are un singur semnal de comanda SHIFT, care comanda
deplasarea in registru. La fiecare front activ, informatia se deplaseaza o pozitie, iar bitul
furnizat la intrarea seriala x0 se va incarca in bistabilul corespunzator. In orice moment
informatia poate fi extrasa in paralel de la iesiri.

32
4.7 Registru cu incarcare seriala si extragere paralela.

Functia principala este de conversie din format serial in format paralel (exemplu de
utilizare: in interfata seriala a calculatorului pentru receptie).
4) Registru cu incarcare seriala si extragere seriala. Este un caz particular al
tipului 3, cand informatia este extrasa numai printr-o singura iesire, opusa intrarii seriale
reprezentat in imaginea 4.8.

4.8 Registru cu incarcare seriala si extragere seriala.

Acest registru poate sa introduca o intarziere dt oricat de mare si precis controlata


in calea unui semnal logic.

Numaratoare
Un numarator este un circuit secvential sincron care contorizeaza impulsurile
aplicate pe o intrare de ceas, modificandu-si starea dupa fiecare impuls pentru a furniza
valoarea numarata pana in momentul respectiv.

Exista o varietate larga de numaratoare:

33
 numaratoare cu incrementare (care numara inainte),
 numaratoare cu decrementare (care numara inapoi), numaratoare cu presetare
(care se pot initiliza cu o anumita valoare),
 numaratoare reversibile (care pot numara inainte sau inapoi),
 numaratoare modulo n (in principiu se poate proiecta un numarator pentru a
numara modulo n, cu orice n natural).
Un numarator poate fi cel mai bine reprezentat prin graful starilor, in care nu se
testeaza nici un semnal de intrare, din orice stare se va trece la sosirea impulsului de
numarat intr-o anumita stare urmatoare. Numărătoarele se bazează pe proprietăţile
circuitelor basculante bistabile de tip "trigger" de a trece dintr-o stare în alta pe fiecare front
activ al semnalului de tact, dacă intrările sincronizate sunt la nivel logic 1. Celor două stări
posibile ale ieşirii li se asociază cifrele 0 şi 1 din reprezentarea în cod binar a unui număr
oarecare. În acest mod pot fi numărate în cod binar impulsurile aplicate la intrarea de tact.
De aceea, în cazul numărătoarelor, intrarea de tact se mai numeşte şi intrare de numărare.

Numărătorul asincron. Un singur circuit bistabil de tip “trigger”, având două stări
distincte ale ieşirii, poate număra până la doi în cod binar. Dacă se conectează în cascadă
un număr N de circuite basculante bistabile de tip "trigger", astfel încât ieşirea fiecăruia să
fie conectată la intrarea de numărare (intrarea de tact) a următorului, se realizează un
numărător pe N biţi (pot fi contorizate numere alcătuite din N biţi în baza de numeraţie 2).
Impulsurile care trebuie numărate se aplică la intrarea de tact a primului bistabil din lanţul
de numărare. Fiecărei ieşiri i se atribuie o pondere de rang binar începând cu 20 şi
terminând cu 2N-1. În imaginea 4.9 este prezentat un numărător asincron pe patru biţi,

4.9 Numărător asincron pe patru biţi

Pentru o înţelegere mai bună a funcţionării lui este necesară fixarea următoarelor
idei:

34
 intrările sincronizate ale tuturor bistabilelor sunt menţinute la nivel logic 1
(+5V);
 impulsurile care vor fi contorizate se aplică numai la intrarea de tact a
primului bistabil şi fiecare ieşire normală acţionează ca intrare de tact pentru bistabilul
următor;
 bascularea tuturor bistabilelor se face pe frontul descrescător al semnalelor de
tact (frontul activ);
 dacă fiecărei ieşiri i se atribuie o pondere de rang binar, atunci evoluţia în
timp a ieşirilor va reprezenta un şir de secvenţe de numărare de la starea binară 0000 până la
starea binară 1111;
 după 15 impulsuri aplicate la intrare numărătorul va fi în starea 1111 iar la al
16-lea impuls va trece în starea 0000 şi secvenţa de numărare este reluată ciclic.
Datorită faptului că numărătorul are 16 stări distincte el se mai numeşte numărător
modulo 16 (MOD-16) şi poate număra până la 15. În general, un numărător cu N circuite
basculante bistabile se numeşte MOD-2N şi el poate număra până la 2N-1.
Acest tip de numărător se numeşte asincron deoarece schimbarea stărilor
bistabilelor nu se face în sincronism perfect cu impulsurile de tact de la intrare. Astfel,
bistabilul B trebuie să aştepte schimbarea stării bistabilului A înainte de basculare, C trebuie
să aştepte shimbarea stării lui B, etc. Aceasta se întâmplă datorită timpului de întârziere între
aplicarea unui impuls la intrarea unui CBB şi momentul răspunsului său la acest impuls.
Acest timp de întârziere dintre cauză şi efect este de ordinul 101 ns şi uneori el poate fi
deranjant.
Numărătorul sincron. Inconvenientul major al numărătoarelor asincrone este
acumularea timpilor de întârziere datorită propagării în timp finit a informaţiei prin lanţul de
circuite basculante bistabile ale numărătorului, deci şi limitarea frecvenţei de operare. Acest
inconvenient poate fi înlăturat cu ajutorul numărătoarelor sincrone, în care toate circuitele
basculante bistabile sunt comandate simultan de către impulsurile care trebuie contorizate,
acestea fiind aplicate pe toate intrările de tact deodată.
În imaginea 4.12 este prezentată schema unui numărător sincron MOD

35
4.12 Numărător sincron MOD

Ambele intrări de comandă ale bistabilului A fiind în permanenţă la nivel logic 1, el


va fi activ la sosirea oricărui impuls la intrarea sa de tact. Bistabilul B va fi activ pe frontul
descrescător al lui QA. Datorită prezenţei celor două porţi ŞI la intrările bistabilelor C şi D,
cu conexiunile indicate în figură, bistabilul C va fi activ pe fronturile simultan
descrescătoare ale lui QA şi QB iar bistabilul D va fi activ pe fronturile simultan
descrescătoare ale lui QA, QB şi QC. Astfel, va fi îndeplinită funcţia de numărare a
numărătorului sincron, formele de undă de la ieşirile circuitelor basculante bistabile fiind
identice cu cele ale numărătorului asincron. Un numărător sincron în jos poate fi construit
într-o manieră similară folosind semnalele de la ieşirile inversoare drept semnale de
comandă pentru intrările circuitelor următoare.

36
CONCLUZIE

Impactul pe care calculatorul îl are asupra vieţii omului modern nu are nevoie de
comentarii. În prezent, primul contact cu calculatorul are loc la vârste foarte mici, adesea
preşcolare. Calculatorul intră apoi firesc în viaţa de zi cu zi a omului modern, ca televizorul
sau radioul, indiferent de activitatea de bază a acestuia. În cel mai general sens,
calculatoarele se folosesc pentru a prelucra date. Datele constau în simboluri scrise sau
stocate pe un anumit suport. Simbolurile reprezintă anumite obiecte, idei sau valori, care
transmit informaţii într-un context particular. Datele sunt forma codificată a informaţiilor,
astfel prelucrarea acestora este destul de inportanta in asimilarea informatiilor.
Prelucrarea datelor numită şi procesare ocupă un rol destul de important in
domeniul informaticii dar si in viața obișnuita deoarece ea presupune totalitatea
transformărilor, ca formă şi conţinut a datelor. Pentru reprezentarea informațiilor
instrucțiuni și date, calculatoarele folosesc sistemul binar (baza 2). În cazul scrierii
programelor în limbaj de asamblare este preferat sistemul hexazecimal (baza 16), pentru că
scutește programatorul de scrierea șirurilor lungi de 1 și 0, iar conversia din/în binar se poate
face mult mai ușor decât în cazul sistemului zecimal.
În memoria unui calculator o valoare este memorată pe un număr fix de biți. În
funcție de arhitectură fiecare procesor poate accesa un număr maxim de biți în cadrul unei
operații, acest număr de biți reprezintă dimensiunea cuvântului.

37
BIBLIOGRAFIE

1. https://sites.google.com/site/optional41/conversia
2. https://sites.google.com/site/conceptedebazaaletic/reprezentarea-numerelor-in-
calculator
3. https://www.utgjiu.ro/math/mbuneci/book/mn/fmnl01.pdf
4. http://andrei.clubcisco.ro/cursuri/1ii/cursuri/Aritmetica%20in%20virgula
%20fixa..PDF

38

S-ar putea să vă placă și