Sunteți pe pagina 1din 13

Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice

1


1. Bazele aritmetice al calculatoarelor numerice

1.1. Sisteme de numeraie
Un sistem de numeraie (SN) este format din totalitatea regulilor de reprezentare a
numerelor cu ajutorul unor simboluri numite cifre.
SN sunt de dou tipuri: poziionale i nepoziionale. Pentru un sistem poziional
ponderea unei cifre este dat att de valoarea ei intrinsec ct i de poziie. Un sistem
nepoziional, este acela n care ponderea nu este influenat de poziia cifrei.
Datorit simplitii de reprezentare i efectuare a calculelor, n sistemele numerice se
folosesc n exclusivitate sistemele poziionale, un asemenea sistem fiind caracterizat prin baz
care reprezint numrul total de simboluri (cifre).
Exemple de baze uzuale:
Sistemul zecimal: b=10, simboluri: 0,1,2,3,4,5,6,7,8,9;
Sistemul binar: b=2, simboluri: 0,1;
Sistemul octal: b=8, simboluri: 0,1,2,3,4,5,6,7;
Sistemul hexazecimal: b=16, simboluri: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
Pentru un numr ntreg N>0, reprezentarea n baza b este secvena de simboluri x
m-1
x
m-
2
. x
2
x
1
x
0
careverific urmtoarele condiii:
a. ; 0
1 m
x ; 0 , 1 , 2 , , 2 m , 1 m i b,
i
x 0 =

= < s (1.1)
b. .
0
b
0
x
1
b
1
x
2
b
2
x
2 m
b
2 m
x
1 m
b
1 m
x N + + + +

= (1.2)

Numerele reale au o reprezentare asemntoare, ns conin punctul fracionar (sau
virgula) care separ partea ntreag de cea fracionar.
Pentru un numr real r>0, reprezentarea n baza b este secvena de simboluri x
m-1
x
1

x
0
. x-
1
x-
2
careverific urmtoarele condiii:
a. ; 0
1 m
x ; , 2 , 1 , 0 , 1 , 2 , , 2 m , 1 m i b,
i
x 0 =

= < s (1.3)
b. . +

+ + + + +

=
2
b
2
x
1
b
1
x
0
b
0
x
1
b
1
x
2
b
2
x
1 m
b
1 m
x r (1.4)

Pornind de la faptul c la baza realizrii unui sistem numeric de calcul stau dispozitivele
cu dou stri stabile, rezult c SN binar (care necesit numai dou cifre, 0 i 1) este cel mai
potrivit pentru prelucrarea, codificarea i transmiterea informaiei n aceste echipamente. SN ale
cror baze reprezint puteri ale lui 2 prezint de asemenea proprietile sistemului binar, motiv
pentru care sunt frecvent utilizate n tehnica de prelucrare automat a datelor (n special SN octal
i SN hexazecimal). n ceea ce privete SN zecimal acesta este cu precdere utilizat n anumite
faze ale operaiilor de intrare- ieire.


Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice
2

1.2. Conversia unui numr dintr-o baz n alta
Existena i utilizarea mai multor SN ridic problema conversiei dintr-un sistem n altul.
Una din metodele frecvent utilizate o reprezint mprirea / nmulirea numrului cu noua baz.
Vom examina pentru nceput conversia numerelor ntregi.
Fie numrul N exprimat n baza o :
,
0

0
a
1

1
a
2 m

2 m
a
1 m

1 m
a

(N) + + +

= (1.5)
pentru care se dorete exprimarea n baza |, respectiv
,
0

0
x
1

1
x
2 n

2 n
x
1 n

1 n
x

(N) + + +

= (1.6)

Algoritmul de conversie presupune determinarea coeficienilor x
i
, una din metode fiind
cea a mpririlor succesive a numrului la noua baz, conform urmtorului procedeu:

,
0
x /
0
x
0

1
x
3 n

2 n
x
2 n

1 n
x /

(N) + + +

=
Restul

)
1
(N Ctul

(1.7)

,
1
x /
1
x
0

2
x
4 n

2 n
x
3 n

1 n
x /

)
1
(N + + +

=
Restul

)
2
(N Ctul

(1.8)
..

,
Restul
Ctul
k
x /
k
x

)
1 k
(N
0

1 k
x
2 k n

1 n
x /

)
k
(N +
+
+
+ +

=

(1.9)
.
Dup cum se observ n urma primei mpriri rezult x
0
, (cifra cea mai puin
semnificativ a rezultatului - CCMPS), apoi x
1
.a.m.d. Procedeul continu pn cnd ctul
devine mai mic dect noua baz |, ultimul rest fiind coeficientul x
n-1
, (cifra cea mai
semnificativ a rezultatului - CCMS).
n cazul numerelor reale de forma r = r
I
+ r
S
partea ntreag r
I
se convertete
potrivit procedurii prezentate, iar partea subunitar r
S
prin nmuliri succesive cu noua baz.
Fie numrul r
S
exprimat n baza o :
,
m

m
a
2

2
a
1

1
a

)
S
(r

+ +

= (1.10)
pentru care se dorete exprimarea n baza | , respectiv
,
n

n
a
2

2
x
1

1
x

)
S
(r +

+ +

= (1.11)
Coeficienii x
-i
se obin prin nmuliri succesive n (1.11) cu |, respectiv
;
1
x ,

)
1 S
(r
1 n
n
a
1

2
x
1
x

)
S
(r

+
+

+ +

=

| (1.12)
Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice
3

;
2
x ,

)
2 S
(r
2 n
n
a
1

3
x
2
x

)
1 S
(r

+
+

+ +

=

| (1.13)
..
;
k
x ,

)
k S
(r
k n
n
a
1

1 k
x
k
x

)
1 k S
(r

+
+

+ +


| (1.14)
.
Cifra x
-1
reprezint CCMS iar x
-k
CCMPS a rezultatului. Procedura se oprete n
momentul partea fracionar r
S k
a rezultatului unei nmuliri devine zero, sau dac s-a atins
precizia de conversie specificat prin numrul de cifre al reprezentrii.
Din prezentarea efectuat rezult c numrul de poziii binare pentru partea ntreag se
poate determina apriori, n timp ce pentru partea fracionar acest numr trebuie impus. Astfel
numrul n de poziii binare care se obin la conversia unui numr zecimal N este:

e = +
e +
=
N k , 2 N 1 N
N k , 2 N= 1 N
n
k
2
k
2
dac ] [log
dac log
(1.15)

- Conversiile binar - octal ; binar - hexazecimal se realizeaz simplu datorit
faptului c bazele acestora sunt puteri ale lui 2 aspect evideniat n tabelul 1.1.

Tabelul 1.1
Octal Binar
Hexaze
cimal
Binar
Hexaze
cimal
Binar
0 000 0 0000 8 1000
1 001 1 0001 9 1001
2 010 2 0010 A 1010
3 011 3 0011 B 1011
4 100 4 0100 C 1100
5 101 5 0101 D 1101
6 110 6 0110 E 1110
7 111 7 0111 F 1111

Cifrele sistemului octal pot fi reprezentate prin combinaii de cte trei bii denumite
triade iar ale sistemului hexazecimal prin combinaii de cte patru bii numite tetrade.
Regula de conversie: fiind dat reprezentarea n binar a unui numr real, reprezentarea
n octal se obine grupnd cte trei cifrele binare ncepnd de la separatorul fracionar (punct,
virgul), spre stnga i spre dreapta. Dup ce grupele extreme se completeaz (dac este cazul cu
zerouri nesemnificative), fiecare triad se substituie cu echivalentul su octal. Aceiai regul se
aplic i la conversia binar-hexazecimal, cu observaia c n loc de triade se opereaz cu
combinaii de 4 bii (tetrade).
Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice
4

Conversia invers octal / hexazecimal binar se face prin nlocuirea fiecrei cifre
octale / hexazecimale cu triada / tetrada corespunztoare.

1.3. Reprezentarea numerelor n calculator
Uzual un echipament de calcul numeric preia datele i ofer rezultatele ntr-o form
accesibil utilizatorului. n ceea ce privete prelucrarea, aceasta presupune exprimarea datelor
ntr-o form specific procesorului. n consecin exist dou formate de reprezentare a
numerelor n calculator i anume formatul intern i formatul extern.
a) Reprezentarea numerelor ntregi . Acestea se reprezint de regul n format cu
virgul fix. De la nceput trebuie fcut precizarea c virgula (punctul zecimal) nu este prezent
n mod explicit n reprezentare. Sintagma virgul fix are n vedere o convenie care presupune
un loc fix al acesteia i un acelai numr de cifre pentru numr.
Numrul de bii (n) utilizai pentru o reprezentare determin numrul de valori
reprezentabile (2
n
). n tabelul 2.2 sunt prezentate valori tipice pentru n i 2
n
.
Domeniul finit de valori pentru numerele ntregi, reprezentate n formatul cu virgul
fix este:
Z V V D = ]
max
,
min
[ , (1.16)
unde V
min
i V
max
sunt cea mai mic respectiv cea mai mare valoare ce se pot reprezenta
pe n bii. Cele 2
n
valori distincte pot constitui reprezentri ale unor numere ntrgi pozitive sau
negative.
Observaie important.
Indiferent de format numrul de bii pe care se reprezint un numr este finit i fix,
stabilindu-se n faza de proiectare a calculatorului. Din acest motiv n calculator nu se poate
reprezenta dect un numr finit de valori, interpretate diferit n cele dou formate. Numerele care
se pot reprezenta n calculator se numesc numere cu precizie finit (NPF) i au proprieti
diferite fa de numerele din matematic.
n cazul acestora poate aprea depirea capacitii de memorare deoarece NPF au un
domeniu finit de valori, n sensul c nu pot exista numere orict de mari sau orict de mici.
Depirile pot fi detectate hardware sau software.
Numerele ntregi fr semn se reprezint prin corespondentul lor binar (codul direct)
numrul de bii pentru reprezentarea unui numr N fiind
n
2 N
1 n
2 < s

. (1.17)

Pentru numerele cu semn exist trei reprezentri mai des utilizate i anume:
a1 semn mrime;
a2 complement fa de 1;
a3 complement fa de 2.


Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice
5

a1) Reprezentarea numerelor n semn mrime
Considernd reprezentarea pe n+1 bii primul bit din stnga este asociat semnului, iar
restul de n bii conin mrimea numrului egal cu reprezentarea binar a valorii |N|- figura 1.1.





n privina semnului s care ocup bitul cel mai semnificativ (MSB Most Significant
Bit) convenia este urmtoarea:
S = 0, dac N > 0 ;
S = 1, dac N < 0 .

a2) Reprezentarea numerelor n complement fa de 1
Pentru numere pozitive N > 0 reprezentarea n complement fa de 1 este identic cu
reprezentarea semn mrime.
Dac N < 0, atunci s = 1 i mrimea
( ) , N 1
n
2 N 1 C M = = (1.18)
unde n este numrul de bii utilizai pentru reprezentarea mrimii.
Calculul complementului C1 se poate face prin dou metode i anume:
1 - utiliznd definiia, (1.18) respectiv
. N 1
n
2 M 1 S = =
2 - prin inversarea biilor reprezentrii cu semn a valorii absolute |N| a numrului N.


a3) Reprezentarea numerelor n complement fa de 2
Pentru numere pozitive N > 0 reprezentarea n complement fa de 2 este identic cu
reprezentrile semn mrime i n cod complementar fa de 1.
Dac N < 0, atunci s = 1 i mrimea
( ) , N
n
2 N 2 C M = = (1.19)
unde n este numrul de bii utilizai pentru reprezentarea mrimii.
Calculul C2 se poate face prin trei metode i anume:
1- utiliznd definiia, respectiv
. N
n
2 M 1 S = = s=1.
2 - prin inversarea biilor reprezentrii cu semn a valorii absolute |N| a numrului N la
care se adaug 1;
Fig. 1.1. Reprezentarea semn mrime pe n+1 bii.
s M mrime
1 bit n bii
Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice
6

3 - prin analiza de la dreapta la stnga a reprezentrii cu semn a valorii absolute |N| a
numrului N. Primii bii de 0 i primul bit de 1 se las neinversai, apoi se inverseaz toi biii,
inclusiv bitul de semn (dac primul bit ntlnit este 1 se las neschimbat numai acesta).

Observaie
Reprezentarea n complement fa de 2 este cea mai utilizat pentru numerele algebrice
datorit faptului c elimin ambiguitile legate de reprezentarea numrului zero.
Reprezentrile semn mrime i C1 ofer dou reprezentri distincte ale acestui numr
(+0 i -0) dup cum urmeaz.
Semn - mrime C1 C2
+0 = 0000 0000 +0 = 0000 0000 +0 = 0000 0000
- 0 = 1000 0000 - 0 = 1111 1111 -0 = 0000 0000

b. Reprezentarea numerelor reale. Numerele reale se pot reprezenta n format virgul
fix sau virgul mobil.
b1) Reprezentarea n format virgul fix este asemntoare reprezentrii numerelor
ntregi. Se impun n1 bii pentru partea ntreag, respectiv n2 bii pentru cea fracionar,
rezultnd o poziie fix[ pentru separatorul zecimal (punct sau virgul) potrivit figurii 1.2.






b2) Reprezentarea n format virgul fix mobil utilizeaz reprezentarea tiinific
E
10 m r = , (1.20)
creia i sunt asociate dou componente:
E - exponentul - indic ordinul de mrime al numrului;
m - mantisa - arat mrimea exact a numrului ntr-un anumit domeniu.
Considerm c pentru reprezentarea unui numr n virgul mobil se utilizeaz n bii din
care e pentru exponent (care determin intervalul de valori) i m bii pentru mantis (care
determin precizia reprezentrii). Dup cum se tie cu n bii se pot reprezenta 2
n
numere reale.
Diferena fa de formatul cu virgul fix const n modul n care sunt interpretate
aceste valori. ntre numere reale din matematic i numerele reale reprezentate n formatul cu
virgul mobil exist diferene legate de domeniul finit i mulimea discret de valori. Domeniul
finit de valori este determinat de capacitatea fizic limitat a memoriei calculatorului.
O reprezentare a valorilor limite pe axa real permite evidenierea situaiilor in care se
produce depire. Determinarea valorilor V
min
i V
max
permite identificarea pe axa real, figura
2.3, a domeniilor de valori reprezentabile.
Fig. 1.2. Reprezentarea format cu virgul fix pentru numere reale.
M1 mrime partea ntreag
1
M2 mrime partea fracionar s
n1 bii n2 bii
Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice
7











Zonele marcate cu cifre in figura 1.3 reprezint urmtoarele categorii de numere:
1. numere negative foarte mari n modul nereprezentabile ;
2. numere negative reprezentabile
3. numere negative foarte mici n modul, nereprezentabile;
4. numrul zero;
5. numere pozitive foarte mici n valoare absolut nereprezentabile;
6. numere pozitive reprezentabile ;
7. numere pozitive foarte mari in valoare absolut, nereprezentabile.
Domeniul de reprezentare va fi format din zonele (2 numere negative) i (6 - numere
pozitive) la care se adaug zona 4 reprezentat de numrul zero. Dac n urma unei operaii
aritmetice rezult o valoare n zonele (1) sau (7) apare depirea flotant (inferioar dac
rezultat < -V
min
sau superioar dac rezultat > V
max
). Dac rezultatul se situeaz n zonele (3)
sau (5) se semnalizeaz imposibilitatea reprezentrii pentru ca numerele sunt prea mici (negative
zona 3, pozitive zona 5).
Caracterul discret al reprezentrii n virgul mobil este dat de faptul c mulimile din
zonele (2) i (6) ale schemei din figura 1.3 sunt mulimi finite. Avnd n vedere c mulimea
numerelor reale este o mulime continu (ntre orice dou numere reale se gsete o infinitate de
asemenea numere) rezult c nu exist o coresponden biunivoc ntre aceast mulime i
mulimea numerelor reprezentabile n virgul mobil.
Numrul de cifre al mantisei determina precizia de reprezentare n domeniile 2 i 6 in
timp ce numrul de cifre al exponentului afecteaz mrimea acelorai domenii.
Mantisa se reprezint uzual in forma normalizat (prima cifr din stnga diferit de
zero) si intr-una din bazele 2, 4, 8, 16.
Pentru a nu folosi exponeni negativi se introduce noiunea de caracteristic. Aceasta
este egal cu exponentul cu semn deplasat, astfel nct s ia valori intr-o mulime de numere
pozitive. De exemplu pentru un exponent in domeniul [-64, +63]Z, o deplasare cu +64 va
conduce la o caracteristic n domeniul [0, +127]Z.

Reprezentarea standard n VM. anul 1985 s-a adoptat standardul IEEE 754 referitor la
reprezentarea numerelor n virgul mobil, standard acceptat de majoritatea firmelor
productoare de microprocesoare.
(5) (4) (3) (1) (2)
0
-V
max
Fig. 1.3. Domeniile valorilor reale reprezentabile.
(6) (7)
-V
min +V
min
+V
max
Numere
pozitive
foarte mici
nerepre-
zentabile
Numere negative
foarte mari n modul
nereprezentabile
Numere pozitive
foarte mari
nereprezentabile
Numere
negative
foarte mici
n modul
nerepre-
zentabile
Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice
8

Standardul definete trei formate: simpla precizie, dubla precizie, precizie extins,
tabelul 1.2 fiind prezentate caracteristicile primelor dou formate.

Tabelul 1.2
Format Biti Semn Exp. Mantisa Exces
Simpl
precizie
32 1 8 23 127
Dubl precizie 64 1 11 52 1023

1.4. Operaii aritmetice
n cele ce urmeaz se vor prezenta cteva elemente ce privesc realizarea operaiilor
aritmetice n cod binar.
Efectuarea oricrei astfel de operaii se reduce la adunarea i / sau scderea numerelor
binare conform regulilor urmtoare:
0+0 =0 0-0 =0
0+1 =1 1-0 =1
1+0 =1 10-1 =1+b
1+1 =10=0+c 1-1 =0
unde c (carry) este transportul la rangul superior, iar b (borrow) este mprumutul de la
rangul superior.
Adunarea i scderea n reprezentarea semn - mrime. Cele dou operaii vor
fi tratate unitar conform relaiei:
op = x
S
y
S
s
OP
(1.21)
unde: op reprezint operaia efectiv ce se va efectua ntre cei doi operanzi;
x
S
, y
S
- semnele celor doi operanzi (1 pt. -, 0 pt. +);
s
OP
- operaia ce se dorete a fi efectuat (1 pt. -, 0 pt. +).
n ceea ce privete operaia (sau exclusiv) aceasta este definit astfel:
0 0 =0;
0 1 =1;
1 0 =1;
1 1 =0.
Pe baza celor prezentate, valoarea operatorului op se determin cu ajutorul
tabelului 1.3.
Tabelul 1.3
x
s
y
s
S
op
Op x
s
y
s
S
op
Op
0 0 0 0 + + + +
0 0 1 1 + + - -
0 1 0 1 + - + -
0 1 1 0 + - - +
1 0 0 1 - + + -
1 0 1 0 - + - +
1 1 0 0 - - + +
1 1 1 1 - - - -
Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice
9


Dac op=0, se adun modulele celor doi operanzi semnul rezultatului fiind dat de
semnul primului operand. Rezultatul este corect dac nu se depete valoarea maxim pentru
numrul respectiv de bii.
Dac op=1, se va efectua scderea modulelor celor doi operanzi, semnul rezultatului
fiind dat de semnul numrului mai mare n modul.

Adunarea i scderea n C1. Aceste operaii se reduc la operaia de adunare a
numerelor reprezentate n C1. Cei doi operanzi se adun bit cu bit, inclusiv biii de semn.
Eventualul transport care rezult la rangul de semn se va aduna la rangul cel mai puin
semnificativ. Dac bitul de semn al rezultatului are valoarea 1 atunci rezultatul este n C1 (altfel
este semn mrime).
Adunarea i scderea n C2. Operaiile se reduc la adunarea numerelor reprezentate n
C2. Cei doi operanzi se adun bit cu bit inclusiv biii de semn iar eventualul transport care
rezult la bitul de semn se neglijeaz. Dac bitul de semn al rezultatului are valoarea 1 atunci
rezultatul este n C2 (altfel este semn mrime).

nmulirea numerelor binare. Majoritatea metodelor de nmulire a numerelor binare
se bazeaz pe procedeul adunrii repetate. Vom exemplifica pentru produsul a dou numere x i
y exprimate n semn mrime, pentru care se parcurg urmtoarele etape:
a) se determin semnul produsului s
P
= s
x
+ s
Y
unde s
P
este semnul produsului iar
s
x
i s
Y
semnele celor doi factori s
P
, s
x
,s
Y
e{0, 1} conform regulii:

0 +0 =0 ; (+) (+) =(+)
0 +1 =1 ; (+) (- ) = (- )
1 +0 =1 ; (- ) (+) = (- )
1 +1 =0 ; (- ) (- ) = (+)
b) se calculeaz modulul produsului prin nsumarea produselor pariale, respectiv

=
=
=
=

0 daca 2
0 daca 0
2
unde
2
1
1
k
k
k
k
k
n
k
k
k
y x
y
x y
x y p
(1.22)
O categorie special de nmulire o reprezint nmulirea cu puteri ale bazei 2
respectiv cu 2
k
, care presupune deplasri dup cum urmeaz:
k>0 deplasare stnga cu k poziii (se adaug zerouri n poziiile
nesemnificative din dreapta rmase libere);
k<0 deplasare dreapta cu k poziii (se adaug zerouri n poziiile
semnificative rmase libere).
Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice
10

mprirea numerelor binare. mprirea numerelor binare are la baz regulile 0 : 1 =
0, 1 : 1 = 1 (mprirea cu zero nu are sens). Dup cum s-a vzut, operaia de nmulire poate fi
redus la o serie de adunri. n mod similar operaia de mprire poate fi redus la o serie de
scderi.

Adunarea i scderea numerelor reprezentate n format virgul mobil. Aceste
operaii se execut n mai multe etape i anume:
a) dac cei doi exponeni (caracteristici) nu coincid se aduc numerele la acelai
cel mai mare - cel mai mare (n acest scop numrul cu exponentul mai mic va fi deplasat cu D =
E
max
- E
min
poziii la dreapta);
b) se adun mantisele n codul n care sunt reprezentate;
c) se normalizeaz mantisa obinut n urma adunrii.

Fie dou numere n VM baza 16
A =(0.M
1
)
16
16
E1
i B =(0.M
2
)
16
16
E2
unde M
1
i M
2
sunt mantisele iar E
1
i
E
2
(unde E
1
>E
2
) sunt caracteristicile celor dou numere.
Suma respectiv diferena celor dou numere se calculeaz astfel:
A B = ((0.M
1
)
16
(0.M
2
)
16
16
D
) 16
E1
(1.23)

nmulirea i mprirea numerelor reprezentate n format cu virgul mobil.
Aceast operaie presupune adunarea (scderea) exponenilor (caracteristicilor) i
nmulirea (mprirea mantiselor).
Dac cele dou numere sunt:
A =(0.M
1
)
16
16
E1
i B = (0.M
2
)
16
16
E2
atunci produsul i ctul vor fi :
A B = ((0.M
1
)
16
(0.M
2
)
16
)16
E1+E2

A : B = ((0.M
1
)
16
: (0.M
2
)
16
)16
E1-E2

Produsul mantiselor va determina un numr de lungime dubl fa de cele dou
mantise din care se vor reine numai jumtate din cifre (cele mai semnificative) dup care se face
rotunjirea.

1.5. Coduri numerice i alfanumerice
Pentru stocarea, prelucrarea i transmiterea informaiei se utilizeaz diverse codificri
care elimin erorile de reprezentare permind detecia i corecia erorilor.
1.5.1. Coduri numerice (binar zecimale)
Cifrele zecimale pot fi reprezentate att n binar ct i n alte codificri care prezint
diverse avantaje n utilizare cum ar fi: BCD, codurile ponderate 8421 i 2421 i neponderate
Gray i Exces 3.
Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice
11

- Codul BCD. Fiecare cifr zecimal a unui numr este reprezentat prin codul su
binar codificarea numindu-se zecimal codificat binar (BCD Binary Coted Decimal). Aceast
codificare se deosebete evident de codificarea binar, urmtorul exemplu fiind relevant.
Operaii aritmetice n cod BCD. Din modul n care se efectueaz codificarea n BCD
rezult c sunt valide numai combinaiile cuprinse ntre 0000 i 1001, celelalte (ntre 1010 i
1111) fiind invalide. Se pune problema efecturii de calcule aritmetice cu numere reprezentate n
BCD, dar utiliznd o UAL care lucreaz binar. De exemplu 36+94 130
10
1100 1010
BCD
unde
apar combinaiile interzise 1100 i 1010. Eliminarea acestora i revenirea n cod BCD se face
prin procedeul de ajustare zecimal care const n:
a. dac n urma adunrii rezult o cifr hexa S > A atunci se adun 6 (respectiv 0110
i se obine cifra BCD;
b. dac n urma adunrii rezult cifra S s 3, dar cu transport spre rangul superior,
atunci se adun 6 (respectiv 0110 i se obine cifra BCD.
Aceast corecie va permite efectuarea adunrii n baz 10 i nu n baz 16 cum s-ar
efectua dac s-ar lua n consideraie toate combinaiile posibile de cte 4 bii.
n ceea ce privete celelalte operaii acestea se reduc la adunare sau utilizeaz n mod
repetat adunarea.
O meniune pentru nmulirea (mprirea) cu 10
k
,echivalente cu deplasarea numrului
cu k tetrade spre dreapta sau spre stnga fa de poziia punctului zecimal, dup cum k este un
ntreg pozitiv, respectiv negativ.
- Coduri ponderate i neponderate. Un cod ponderat asociaz fiecrei cifre
zecimale o tetrad binar, iar ponderea fiecrui bit din tetrad este egal cu valoarea cifrei din
denumirea codului. Valoarea cifrei zecimale codificate se obine prin nsumarea biilor
cuvntului de cod, ponderai cu valoarea corespunztoare din denumirea codului.
La codurile neponderate nu este o legtur direct ntre poziia i ponderea unui
anumit bit..
In tabelul 1.4 se prezint cte dou coduri din fiecare categorie menionat.
Tabelul 1.4
Cifr Coduri ponderate Coduri neponderate
zecimal 8421 2421 Gray Exces 3
0 0000 0000 0000 0011
1 0001 0001 0001 0100
2 0010 0010 0011 0101
3 0011 0011 0010 0110
4 0100 0100 0110 0111
5 0101 1011 0111 1000
6 0110 1100 0101 1001
7 0111 1101 0100 1010
8 1000 1110 1100 1011
9 1001 1111 1101 1100


Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice
12

Referitor la codurile prezentate n tabelul 1.4 se pot formula observaiile de mai jos.
a) La codul 2421 codurile primelor 4 cifre sunt identice cu ale codului 8421.
Codurile cifrelor a cror sum este 9 sunt complementare exemplu 2 cu 7, 3 cu 6, 4 cu 5 etc).
b) Codul Gray are proprietatea de adiacen n sensul c trecerea de la o cifr la
urmtoarea se face prin modificarea unui singur bit.
c) Un cuvnt al codului EXCES 3 se obine din cuvntul corespunztor din 8421
la care se adaug 0011 (adic 3 n binar). Avantajul acestui cod este c se poate face distincie
ntre absena informaie i codul cifrei zero.
Cel mai rspndit cod este 8421 care st la baza codificrii zecimal binare (BCD).

1.5.2. Coduri alfanumerice
n afara numerelor ntregi sau reale informaia prelucrat de calculator mai poate
conine text format din caractere, adrese de memorie, informaie de stare etc.
Textul reprezint una din formele cele mai utilizate pentru manevrarea i memorarea
informaiei. n prezent calculatorul este utilizat ntr-o mare varietate de aplicaii care nu necesit
neaprat calcule matematice cum ar fi: editare, redactare, grafic etc. Tot cu ajutorul caracterelor
se introduc n memoria calculatorului programele surs i se obin rezultatele.
n general, n mulimea caracterelor alfanumerice intr cifre, litere i caractere speciale.
Caracterele pot fi tipribile sau nu, n ultima categorie intrnd:
- caractere de control pentru comunicaia ntre dispozitive;
- caractere de control pentru deplasarea cursor;
- caractere cu semnificaie nedefinit.
n prezent marea majoritate a platformelor de calcul utilizeaz codul IBM ASCII
(American Standard Code for Information Interchange). Codul ASCII se prezint n variantele
restrns i extins. Codul ASCII restrns asociaz fiecrui caracter cte o formaie de 7 bii iar cel
extins cte una de 8 bii. Rezult c cele dou coduri permit codificarea a 128 respectiv a 256 de
caractere. Exemple de coduri ASCII: A: 41h, 2:32h, *:2Ah, ?:3Fh, etc.

1.5.3. Coduri pentru detectarea i corectarea erorilor
Relativ la erorile care pot apare la transmisia sunt de menionat dou categorii de
probleme
a. detectarea erorilor;
b. corectarea erorilor.
La rndul su detectarea erorilor comport dou tipuri de operaii:
a1. detectarea strii de eroare;
a2. diagnoza erorii.
Prin detectarea strii de eroare se specific existena unei erori fr a se preciza exact
eroarea. Diagnoza presupune determinarea erorii, respectiv a biilor care au fost transmii eronat.
Important n detectarea erorilor de transmisie este distana Hamming (DH) definit ca
numrul de poziii binare prin care difer dou cuvinte de cod. De exemplu cuvintele binare x =
01100 i y = 00101 difer prin dou poziii binare, deci distana Hamming este d = 2. Fiind
vorba de sesizarea lipsei coincidenei, d se poate determina cu ajutorul funciei SAU
EXCLUSIV, respectiv d = x y. Semnificaia DH este c sunt necesare d erori de un singur bit
Arhitectura calculatoarelor Bazele aritmetico-logice ale calculatoarelor numerice
13

pentru a converti un cuvnt n altul. De asemenea pentru a elimina d erori este nevoie de un cod
cu DH = d + 1.
Cea mai simpl soluie de semnalare a strii de eroare este adugarea bitului de paritate
(bP). Dac de exemplu la codul 8421 pe 4 bii se adaug un bit de paritate se obine un cod
detector de erori pe 5 bii. DH a acestui cod este 2 deoarece la transmisia greit a unui bit este
afectat i bitul de paritate. Se poate utiliza convenia de paritate par (PP) sau impar (PI). La
PI numrul total de bii 1 din codul 8421 mpreun cu bitul de paritate este impar, iar la PP acest
numr este par.
n practic este larg utilizat i metoda codului polinomial cunoscut i sub denumirea de
cod cu redundan ciclic sau cod CRC ( Cyclic Redundancy Code).
La transmiterea datelor ntre cele mai utilizate polinoame generatoare sunt urmtoarele :
CRC-12 = x
12
+ x
11
+ x
3
+ x
2
+ x+ 1
CRC-16 = x
16
+ x
15
+ x
2
+ 1
CRC-CCITT = x
16
+ x
12
+ x
5
+ 1
Corectarea erorii presupune nlocuirea biilor detectai ca fiind transmii eronat. Un cod
este cod corector de erori (CCE) atunci cnd cuvntul de cod corect poate fi ntotdeauna dedus
din cuvntul eronat. ntre CCE un loc aparte revine codului Hamming, care n cazul unei corecii
singulare are distana 3. Numrul minim de bii de control pentru a asigura aceast distan se
determin cu relaia
1 2 + + > k m
k
, (1.24)
unde m este numrul de bii de informaie, iar k - numrul de biti de control.