Documente Academic
Documente Profesional
Documente Cultură
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.
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.
11011002 = 1 · 26 + 1 · 25 + 0 · 24 + 1 · 23 + 1 · 22 + 0 · 21 + 0 · 20 = 10810
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):
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:
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)
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.
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).
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:
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:
Sistemul
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.
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, ...).
Î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.
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.
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.
15
2.6 Reprezentarea numerelor cu semn-cod complementar
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).
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.
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
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.
22
biti de adresă. În acest fel se activează un singur modul de memorie care va realiza
operația de citire sau scriere.
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
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
f ( x, y, z) x ⋅ y ⋅ z x ⋅ y ⋅ z x ⋅ y ⋅ z x ⋅ y ⋅ z
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.
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.
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.
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.
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.
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.
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,
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
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