Documente Academic
Documente Profesional
Documente Cultură
Sisteme de Calcul Si Operare PDF
Sisteme de Calcul Si Operare PDF
Prefa .................................................................................................................. 4
1. Introducere ..................................................................................................... 5
1.1. Evoluia sistemelor de calcul .............................................................................................. 5
1.2. Clasificarea sistemelor de calcul ...................................................................................... 14
1.3. Arhitectura sistemelor de calcul ...................................................................................... 17
1.4. Arhitecturi paralele ............................................................................................................. 40
2. Sisteme de operare ....................................................................................... 44
2.1. Noiuni introductive ............................................................................................................. 44
2.2. Modelul client - server ........................................................................................................ 50
2.3. Sistemul de operare MS-DOS .......................................................................................... 51
3. Elemente de teoria transmisiei informaiei ............................................ 67
3.1. Entropia informaional ....................................................................................................... 67
3.2. Sistem de transmisie a informaiei ................................................................................. 70
3.3. Codificarea informaiei n sistemele de calcul .............................................................. 73
3.4. Coduri numerice i alfanumerice ...................................................................................... 76
3.5. Coduri detectoare i corectoare de erori ...................................................................... 82
4. Bazele numerice ale calculatoarelor .......................................................... 100
4.1. Sisteme de numeraie .......................................................................................................... 100
4.2. Conversia bazei de numeraie ........................................................................................... 102
4.3. Reprezentarea binar a informaiei numerice .............................................................. 110
4.4. Operaii aritmetice n sistemul binar .............................................................................. 126
4.5. Operaii aritmetice n virgul fix (VF) .......................................................................... 133
4.6. Operaii aritmetice n virgul mobil (VM) .................................................................... 143
4.7. Operaii aritmetice n codul numeric 8421 ................................................................... 144
5. Bazele logice ale calculatoarelor ................................................................ 147
5.1. Definirea algebrei logice ..................................................................................................... 147
5.2. Modaliti de reprezentare a funciilor logice ............................................................. 150
5.3. Forme canonice ale funciilor logice ................................................................................ 152
5.4. Existena i unicitatea funciilor logice ......................................................................... 157
5.5. Funciile logice de baz ...................................................................................................... 160
5.6. Simplificarea funciilor logice .......................................................................................... 162
5.7. Circuite logice ....................................................................................................................... 171
5.8. Blocuri funcionale ............................................................................................................... 184
6. Reele de calculatoare .................................................................................. 206
6.1. Introducere ............................................................................................................................ 206
6.2. Topologii ................................................................................................................................. 207
6.3. Echipamente de reea ......................................................................................................... 211
6.4. Modele utilizate n dezvoltarea i studiul reelelor de calculatoare ...................... 216
6.5. Internetul i reelele de calculatoare ............................................................................ 234
Bibliografie .......................................................................................................... 246
PREFA
Dezvoltarea tiinific i tehnic continu de-a lungul anilor a permis apariia
instrumentelor de calcul precum i dezvoltarea deosebit a comunicrii. Una dintre descoperirile
majore ale secolului al XX-lea este, fr ndoial, sistemul de calcul sau altfel spus, calculatorul.
Pentru un utilizator obinuit folosirea sistemului de calcul zi de zi este un fapt ce poate nu
necesit cunotine adnci n domeniu. Pentru un utilizator profesionist, pentru un programator,
dezvoltator de aplicaii sau administrator de sistem sunt necesare ns cunotine temeinice legate
de structura intern a unui sistem de calcul. Aceast carte i propune s descifreze tainele
ascunse ale unui sistem de calcul, elemente legate de arhitectura intern, componente hardware i
faciliti ale sistemului de operare. nelegnd principiile arhitecturale i funcionale de baz ale
unui calculator, cititorul va obine suficiente informaii pentru a deprinde un limbaj specific i
pentru a nelege modul n care caracteristicile unor componente influeneaz performanele unui
sistem de calcul.
n primul capitol se face o introducere n domeniu, prezentndu-se un scurt istoric al
evoluiei sistemelor de calcul, de la primitivul abac la calculatoarele laptop i Palm-PC de astzi.
n capitolul al doilea se face o introducere n universul sistemului de operare al
calculatorului, prezentndu-se modelul client-server i elemente ale sistemului de operare MS-
DOS.
Capitolul trei este destinat elementelor de teoria transmisiei informaiei. Sunt prezentate
aici noiuni precum entropia, sistemul de transmisie a informaiei, codificarea informaiei ntr-un
sistem de calcul, coduri numerice i alfanumerice, coduri detectoare i corectoare de erori.
n capitolul patru sunt prezentate elemente legate de bazele numerice ale calculatoarelor,
printre care: sisteme i baze de numeraie, conversia ntre baze diferite de numeraie,
reprezentarea binar a informaiei n virgul fix (cod direct, cod invers i cod complementar) i n
virgul mobil (simpl precizie, dubl precizie i format extins). Sunt prezentate, de asemenea,
reprezentarea numerelor n format zecimal codificat binar, i operaiile aritmetice n binar,
hexazecimal sau format zecimal codificat binar.
Capitolul cinci este consacrat bazelor logice ale calculatoarelor. Aici sunt prezentate
noiuni ca: algebra logic, modaliti de reprezentare a funciilor logice, formele canonice ale
funciilor logice, existena i unicitatea funciilor logice, funcii logice de baz, modaliti de
simplificare a funciilor logice, circuite logice combinaionale i secveniale precum i blocuri
funcionale.
Avnd n vedere c practic toate calculatoarele de astzi ofer posibilitatea conexiunii la o
reea, n capitolul al aselea sunt introduse elemente de baz legate de reelele de calculatoare.
Sunt prezentate aici elemente ce vizeaz: topologii de baz de reea, echipamente de reea,
modelele ierarhice ISO-OSI i TCP/IP, Internetul i arhitectura de baz a acestuia.
Obiectivul urmrit prin scrierea acestei cri a fost acela de a face o introducere n lumea
arhitecturii sistemelor de calcul i operare; lucrarea se adreseaz n special studenilor ce
particip la cursul de Sisteme de calcul i operare din cadrul Facultii de Cibernetic, Statistic i
Informatic Economic din Academia de Studii Economice precum i studenilor participani la
cursuri de Arhitectura calculatoarelor.
Autorii
4
1
INTRODUCERE
1.1 Evoluia sistemelor de calcul
1.1.1 Introducere
Din cele mai vechi timpuri oamenii au cutat s simplifice anumite
activiti, cum este i aceea de numrare. Astfel a luat natere abacul
(figura 1.1), care poate fi considerat unul dintre cele mai primitive
instrumente menite s automatizeze procesul de numrare.
Mult timp dup inventarea abacului, matematicieni i ali oameni de
tiin au pus bazele tiinei calculatoarelor de astzi, dintre care amintim
pe: Blaise Pascal, Gotfried Wilhelm Leibniz, Charles Babbage, George
Boole i Claude Shannon. Unul dintre pionierii n domeniu este considerat
matematicianul francez Blaise Pascal (1623-1662), care a inventat n anul
1642 prima main de calcul operaional, denumit Maina aritmetic.
Aceast main aritmetic realiza operaiile de adunare i de scdere;
interesant este faptul c scderea se realiza utilizndu-se tehnici
complementare, foarte asemntoare cu cele existente n calculatoarele din
zilele noastre. Operaiile de nmulire i mprire erau implementate prin
serii de adunri, respectiv scderi repetate.
Matematicianul britanic Charles Babbage (1791-1871) a inventat
primul dispozitiv ce poate fi considerat un computer n sensul modern al
cuvntului. Acest prim dispozitiv modern calcula tabele de funcii
logaritmice i trigonometrice prin intermediul unor oameni ce se numeau
5
Sisteme de calcul i operare
computers. Cea dinti main conceput n 1822 de Charles Babbage se
numea Difference Engine (figura 1.2), fiind construit parial, iar cea de-a
doua main a fost denumit Analytical Engine (1830), dar nu a fost
construit.
Difference Engine a fost construit ulterior conform desenelor
originale de ctre o echip la Muzeul tiinei din Londra. Aceast main de
calcul avea urmtoarele caracteristici:
4000 componente
Cntrea 3 tone,
Aproximativ 3 metri lime i 2 metri i jumtate lungime.
Figura 1.1 Abacul
Acest echipament a efectuat prima secven de calcule la nceputul
anilor 1990, obinndu-se rezultate cu o precizie de 31 de cifre zecimale.
Figura 1.2 Difference Engine
6
Introducere
O mare parte din activitatea lui Babbage a fost dedicat realizrii de
calculatoare analogice, dar tehnologia existent la acea dat nu i-a permis
realizarea de mecanisme de mare precizie. Sistemul de calcul analogic nu
avea sistem de operare; simind nevoia de software pentru calculatorul su,
Babbage a angajat o tnr pe nume Ada Lovelace (fiica poetului britanic
Lord Byron), nume dup care a fost denumit limbajul de programare ADA.
Astfel, Ada Lovelace este cunoscut drept primul programator din lume.
O contribuie deosebit n domeniul pionieratului calculatoarelor au
avut-o i George Boole i Claude Shannon. n jurul anului 1850
matematicianul englez George Boole a inventat Algebra boolean (Algebra
Boole), care a rmas relativ necunoscut i neutilizat pn n anul 1938,
cnd teza de masterat a lui Claude Elwood Shannon a demonstrat cum
conceptele lui Boole TRUE i FALSE pot fi utilizate pentru a
reprezenta funcionalitatea comutatoarelor din circuitele electronice.
n ultimii aizeci de ani calculatoarele au evoluat continuu,
specialitii n domeniu mprind aceast perioad n cinci etape, denumite
generaii de calculatoare. Fiecare generaie de calculatoare este caracterizat
de o dezvoltare tehnologic major ce a schimbat fundamental modul n
care calculatoarele opereaz, avnd ca rezultat echipamente mai mici, mai
puternice, mai ieftine, mai eficiente i mai fiabile. De asemenea, fiecare
generaie se ntinde pe o perioad de aproximativ zece ani, n prezent
aflndu-ne n generaia a cincea de calculatoare. Criteriile care au stat la
baza acestei clasificri includ:
Arhitectura sistemelor;
Tehnologia de construcie a componentelor;
Modalitile de procesare a programelor;
Caracteristicile sistemelor de operare;
Limbajele de programare folosite.
1.1.2 Prima generaie de calculatoare
Prima generaie n evoluia calculatoarelor (1938-1953) a fost
caracterizat de utilizarea tuburilor electronice iar calculatoarele erau
destinate calculelor tiinifice i comerciale. n aceast perioad se
ncadreaz calculatoarele Harvard Mark 1 i ENIAC (figura 1.3).
7
Sisteme de calcul i operare
Figura 1.3 Calculatorul ENIAC
Harvard Mark 1 (IBM Automatic Controlled Calculator) a fost
construit ntre anii 1938 i 1944, fiind format din mai multe calculatoare ce
lucrau asupra unor pri ale aceleiai probleme sub supravegherea unei
singure uniti de control. Aceast main de calcul era construit din
comutatoare, relee i alte dispozitive mecanice, coninnd 750.000 de
componente, avnd 16 metri lungime, 2 metri i jumtate nlime i
cntrind 5 tone. Numerele folosite n calcule erau de 23 de cifre, o
nmulire dintre dou numere dura 4 secunde iar o mprire dura
10 secunde.
ENIAC - Electronic Numerical Integrator And Computer a fost
realizat prin contribuia inginerilor William Mauchly i J. Presper Eckert de
la Universitatea din Pennsylvania ntre anii 1943 i 1946. Acest calculator
avea 3 metri nlime, ocupa un spaiu de 30 mp i cntarea 30 tone. n
construcia sa erau folosite 18.000 tuburi cu vacuum, avnd nevoie de o
putere de 150 kW (suficient pentru a ilumina un mic ora). Principala
problem cu acest tip de calculator era fiabilitatea: n fiecare zi trebuiau s
fie nlocuite aproximativ 50 de tuburi cu vacuum. Prin realizarea acestui
calculator, n anul 1943 Eckert i Mauchly au iniiat conceptul de creare
8
Introducere
a unui program stocat n calculator pentru care era folosit o memorie
intern utilizat pentru a stoca att instruciuni ct i date.
Succesorii lui ENIAC au fost:
* EDVAC - Electronic Discrete Variable Automatic Computer
(4000 de tuburi);
* EDSAC - Electronic Delay Storage Automatic Calculator
(1949 - 3000 de tuburi);
* UNIVAC I - Universal Automatic Computer (1951 - primul
computer comercial);
* ILLIAC I (1949) - construit la Universitatea Illinois, primul
computer deinut de o instituie academic.
1.1.3 A doua generaie de calculatoare
Generaia a doua (1954 - 1963) a fost caracterizat prin folosirea
tranzistorului pentru realizarea circuitelor logice. Cercetarea n domeniul
semiconductorilor a nceput n anul 1945 la faimosul centru de cercetare
Bell Laboratories din SUA. Cei trei ingineri ce lucrau la acest proiect,
William Shockley, Walter Brattain i John Bardeen au creat primul
tranzistor pe 23 decembrie 1947. Dup aceast realizare au luat o pauz
pentru srbtorile de Crciun nainte de a publica evenimentul; de aceea
crile de referin indic faptul c primul tranzistor a fost creat n 1948.
Calculatoarele din cea de-a doua generaie aveau n jur de 100 de
instruciuni complexe, memorie de tip magnetic i dispozitive periferice.
Prelucrarea se fcea secvenial prin intermediul unui sistem de operare
simplu (FMS i IBSYS pentru maina de calcul IBM 7094), folosindu-se
att limbajul de asamblare ct i limbaje evoluate. Limbajul de programare
Fortan a aprut n anul 1956 iar limbajele Algol i Cobol (Common
Business Oriented Language - limbaj orientat spre aplicaiile de afaceri)
dup anul 1960. Calculatoarele erau folosite n mare parte pentru calcule
tiinifice, rezolvarea sistemelor de ecuaii liniare i neliniare, ecuaii
difereniale etc. n anul 1955 a devenit operaional primul calculator cu
tranzistori, denumit TRADIC (Transistor Digital Computer).
Aceast perioad n evoluia calculatoarelor se caracterizeaz prin
distincia creat ntre proiectani, constructori, programatori i personalul de
ntreinere. Calculatoarele aveau nevoie de ncperi speciale, climatizate,
pentru a se asigura parametrii de funcionare, aceste maini de calcul fiind
ntreinute i exploatate de ctre operatori calificai. Programele erau scrise
n limbajul Fortran sau n limbaj de asamblare i erau imprimate pe cartele
perforate. Programatorii duceau programul scris n camera de intrare i l
9
Sisteme de calcul i operare
nmnau operatorilor. Dup ce programul era executat, operatorul aducea
rezultatele de la imprimant n aa numita camer de ieire, pentru a fi
ridicate de ctre programator. n acest moment existau dou variante: fie
programul era corect i programatorul obinea rezultatele dorite, fie trebuia
depanat programul i reluat acest proces.
Primele calculatoare din aceast a doua generaie au fost construite
pentru a fi utilizate n industria energiei atomice.
Figura 1.4 Calculatorul Altair 8800
1.1.4 A treia generaie de calculatoare
Generaia a treia de calculatoare (1964 - 1980) se caracterizeaz
prin utilizarea circuitelor integrate pe scar mic (SSI - Small Scale
Integration) i medie (MSI - Medium Scale Integration). Cercetrile n
domeniul circuitelor integrate au debutat cu succes n cadrul firmei Texas
Instruments, unde n anul 1958 inginerul Jack Kilby a reuit s combine mai
multe componente pe o singur bucat de semiconductor, realiznd astfel
primul circuit integrat. La numai trei ani dup aceast realizare, n anul
1961, Fairchild (cercettor la Texas Instruments) i Texas Instruments au
realizat primele circuite integrate comerciale ce conineau funcii logice de
baz, dou pori logice fiind implementate prin intermediul a 4 tranzistori
bipolari i 4 rezistoare. Tot Fairchild introducea n anul 1970 pentru prima
oar memoria de 256 bii static RAM (Random Access Memory).
10
Introducere
Aceast perioad de dezvoltare a calculatoarelor poart denumirea
de anii big iron, n care calculatoarele de tip mainframe ale firmei IBM
deine
12 circuite integrate pentru a le utiliza ntr-un nou
calcu
tair 8800 (figura 1.4) ce
avea
care.
programabil prin intermediul unui panou
n Paul Allen fondeaz firma Microsoft i
implementeaz limbajul de programare BASIC 2.0 pe Altair 8800, care
devin
77.
0$, n 1977 afacere de 700.000 $ iar n 1978 de
=
anul 1977. Caracteristici:
au supremaia.
n anul 1970 compania japonez Busicom de calculatoare a cerut
firmei Intel un set de
lator. T. Hoff, proiectant la Intel, inspirat de aceast cerere, a creat
primul microprocesor, denumit Intel 4004. Acest procesor avea
2300 de tranzistoare i putea executa 60.000 operaii pe secund. Primul
microprocesor de uz general, denumit 8080, a fost introdus de Intel n 1974,
fiind un procesor pe 8-bii, cu 4500 tranzistori i putnd efectua
200.000 operaii pe secund. Alte procesoare din aceast vreme au fost:
Motorola 6800, MOS Technology 6502, Zilog Z80.
Treptat ncepe deschiderea spre era calculatoarelor personale; astfel,
n 1974 Ed Roberts lanseaz pe pia calculatorul Al
urmtoarele caracteristici:
Era bazat pe microprocesorul 8080.
Avea preul de 375$.
Fr tastatur, ecran, capacitate de sto
Avea 4KB memorie,
frontal cu comutatoare.
anul 1975 Bill Gates i
e primul limbaj de nivel nalt disponibil pe un calculator personal.
Alte exemple de calculatoare din aceast perioad sunt:
= S. Wozniak i S. Jobs produc Apple I n 1976 i Apple II n 19
Caracteristici:
- 16k ROM, 4k de RAM, tastatur i display color;
- pre de 130
7 milioane de dolari.
TRS-80 (bazat pe microprocesorul Z80) de la Radio Shack n
- 4k ROM, 4k RAM, tastatur i drive de tip caset;
- pre de 600$.
11
Sisteme de calcul i operare
1.1.5 A patra generaie de calculatoare
Generaia a patra de calculatoare (1981 - prezent) se caracterizeaz
prin c
n aceast perioad a fost scos pe pia primul calculator personal
(PC
;
pacitate;
n continuare sunt prezentate cteva momente din evoluia ulterioar
a calc
calculatorul IBM-XT are hard-disc (10MB de memorie
onstrucia de calculatoare ce utilizeaz circuite integrate pe scar mare
(LSI -Large Scale Integration) i foarte mare (VLSI - Very Large Scale
Integration). Folosirea microprocesorului i a microprogramrii a oferit
calculatoarelor posibilitatea utilizrii unui set complex de instruciuni i
asigur un grad sporit de flexibilitate.
Figura 1.5 Laptop
- Personal Computer) de ctre firma IBM n anul 1981. Toate
calculatoarele personale ce au fost construite ulterior i au pstrat arhitectura
original IBM au fost denumite calculatoare compatibile IBM-PC. Primul
IBM-PC avea urmtoarele caracteristici:
O Microprocesor pe 16-bii 8088
O Memorie ROM BASIC;
O Floppy-disc de 360KB ca
O Sistem de operare DOS 1.0
O Pre de 1365 $
ulatoarelor:
n 1983
costau 3000$).
12
Introducere
n 1985 Intel introduce microprocesorul 80386 (primul membru
pe 32-bii din familia 80x86).
n 1986 firma Compaq introduce primul sistem bazat pe 80386.
n 1989 Intel introduce microprocesorul 80486, ce includea
coprocesor matematic.
n 1992 apar procesoarele Intel Pentium (cu 64-bii pentru
magistrala de memorie), AMD i Cyrix (procesoare compatibile
- clone).
n 1996 apare Intel Pentium Pro.
n 1998 apare Intel Pentium II.
n 2000 apare Intel Pentium IV la 1.5 GHz.
n 2003 este depit grania de 3 Ghz de funcionare a
procesoarelor comerciale.
Figura 1.6 PDA
n prezent, cele mai moderne calculatoare sunt cele care au i gradul
de miniaturizare cel mai mare, aici incluznd calculatoarele portabile de
tipul laptop (figura 1.5) sau palmtop (denumit i PDA - Personal Digital
Assistant sau PocketPC, vezi figura 1.6).
13
Sisteme de calcul i operare
1.1.6 A cincea generaie de calculatoare
Calculatoarele din cea de-a cincea generaie (prezent - viitorii ani),
sunt nc n faza de dezvoltare. Ele se bazeaz pe utilizarea inteligenei
artificiale, a circuitelor integrate specializate i a procesrii paralele. Exist
unele aplicaii ale celei de-a cincea generaii de calculatoare care sunt deja
utilizate astzi, cum ar fi recunoaterea vorbirii. Utilizarea procesrii
paralele i a superconductorilor face viabil inteligena artificial.
Procesarea molecular i cuantic
precum i nanotehnologiile se
pare c vor schimba faa calculatoarelor n urmtorii ani. Scopul principal al
celei de-a cincea generaii de calculatoare este acela de a dezvolta
echipamente capabile s rspund limbajului natural uman i s fie capabile
de nvare i organizare proprie.
1.2 Clasificarea sistemelor de calcul
Marea varietate a calculatoarelor a impus clasificarea lor dup
diferite criterii: cost, capacitate, complexitate, aplicaii. n general, tipul
calculatorului se determin dup:
^ tipul unitii centrale de prelucrare (UCP) sau al
microprocesorului cele mai mari calculatoare tind s utilizeze
uniti centrale de prelucrare constituite separat, de mare vitez,
cu componente complexe;
^ cantitatea de memorie principal pe care microprocesorul o
poate utiliza un calculator echipat cu o memorie principal de
mare capacitate poate memora programe mai complexe i chiar
mai multe programe diferite n acelai timp;
i
Experimentul pune n eviden un anumit cmp de probabilitate
{X, x, p(x)} i o anumit repartiie:
X =
x x . . . x
p
p
. . .
p
1 2 n
1 2 n
3
ELEMENTE DE TEORIA
TRANSMISIEI INFORMAIEI
67
Sisteme de calcul i operare
Deoarece nu se cunoate apriori rezultatul experimentului
X, nseamn c acesta conine un anumit grad de nedeterminare. Putem
afirma c:
n urma realizrii unui experiment se obine informaie dac i
numai dac rezultatul experimentului nltur o anumit
nedeterminare;
informaia i nedeterminarea sunt mrimi direct proporionale;
informaia nlocuiete nedeterminare.
Aceste particulariti au condus la utilizarea aceleiai uniti de
msur att pentru cantitatea de informaie ct i pentru nedeterminare.
Nedeterminarea unui experiment depinde de probabilitile de realizare a
evenimentelor. Dac se noteaz cu H msura gradului de nedeterminare,
pentru experimentul X, aceasta va fi o funcie de probabilitile
evenimentelor:
H(X) = H(p
1
, p
2
, ., p
n
)
n anul 1948, Claude E. Shannon a folosit pentru prima dat formula:
p log p = ) p ... p , p H(
i 2 i
n
1 = i
n 2 1
Msura nedeterminrii, dat de aceast formul, se numete, conform
lui Claude Shannon, entropia experimentului X sau entropia informaional.
n acest sens, unitatea de msur a informaiei definit ca fiind
cantitatea de informaie obinut prin precizarea unei variante din dou egal
probabile se numete bit (binary digit), cu multiplii:
1 octet (byte) = 8 bii
1 kilo octet = 2
10
octei
1 Mega octet = 2
10
ko = 2
20
octei
1 Giga octet = 2
10
Mo = 2
30
octei
1 Tera octet = 2
10
Go = 2
40
octei
1 Peta octet = 2
10
To = 2
50
octei
1 cuvnt (word) = 16 / 32 / 64 bii; lungimea variaz n funcie de
tipul calculatorului.
68
Elemente de teoria transmisiei informaiei
Principalele proprieti ale entropiei informaionale sunt:
P
1
. Entropia informaional, fiind msura informaiei, este o entitate
nenegativ:
H(p
1
, p
2
, ., p
n
) 0.
P
2
. Dac pentru un indice i{1, 2, .., n} avem p
i
=1, atunci entropia
informaional este nul:
H(p
1
, p
2
, ., p
n
) = 0.
P
3
. Entropia unui sistem de evenimente este maxim cnd
evenimentele au aceeai probabilitate de apariie:
H(p
1
, p
2
, ., p
n
) H(1/n, 1/n, 1/n,, 1/n).
P
4
. Evenimentele imposibile nu modific valoarea entropiei
informaionale a unui sistem:
H(p
1
, p
2
, ., p
n
, 0) = H(p
1
, p
2
, ., p
n
).
P
5
. Entropia produsului mai multor surse independente de informaie
este egal cu suma entropiilor fiecrei surse luate separat:
H(X
1
x X
2
xX
n
) = H(X
1
) + H(X
2
) +.. H(X
n
).
Produsul mai multor surse de informaie reprezint un experiment
compus care const din realizarea simultan a cte unui eveniment
corespunztor fiecrei surse.
P
6
. Entropia produsului a dou surse oarecare X i Y de informaie
este:
H(X x Y) = H(X) + H(Y/X).
H(Y/X) reprezint cantitatea medie de informaie ce se obine n urma
realizrii experimentului Y, condiionat de experimentul X.
H(Y/ X) = p(x )H(Y/ x )
k=1
n
k k
69
Sisteme de calcul i operare
unde:
p(x
k
) probabilitatea realizrii evenimentului x
k
X ;
H(Y/x
k
) entropia experimentului Y, condiionat de evenimentul
x
k
X.
)
x
/ y p( log )
x
/ y p( = )
x
H(Y/
k
i 2
k
i
m
1 = i
k
iar p(y
i
/x
k
) este probabilitatea realizrii evenimentului elementar
y
i
Y ( i = 1 , m) cnd s-a realizat evenimentul x
k
X ( k = 1, n ).
Dac X i Y sunt experimente oarecare sunt respectate proprietile:
P
7
. H(Y/X) H(Y)
P
8
. H(X x Y) H(X) + H(Y)
P
9
. H(X/Y) = H(Y/X) + H(X) - H(Y)
3.2 Sistem de transmisie a informaiei
Schema general a unui sistem de transmisie a informaiei include:
sursa, canalul (ce poate fi supus perturbaiilor) i recepia (figura 3.1).
Figura 3.1 Schema unui sistem de transmisie a informaiei fr codificare
70
Elemente de teoria transmisiei informaiei
Fie:
X mulimea mesajelor emise de o surs de informaie (intrarea
sistemului);
Y mulimea mesajelor care se recepioneaz (ieirea sistemului);
p(y/x) probabilitatea de a recepiona mesajul y Y cnd s-a emis
x X.
Sistemul de transmisia informaiei este format din dou mulimi finite
X i Y i o probabilitate condiionat p(y/x), definit pe Y pentru orice x X
i se noteaz cu [X, p(y/x), Y].
Sursa sistemului de transmisie a informaiei este reprezentat prin
cmpul de probabilitate {X, x, p(x)}, fiind dat probabilitatea de emisie p(x)
pentru x X, astfel nct p x
x X
( ) =
1.
Recepia sistemului de transmisie a informaiei este reprezentat prin
cmpul de probabilitate {Y, y, p(y)}, fiind dat probabilitatea de emisie p(x)
pentru x X, iar probabilitatea de recepie se calculeaz prin
relaia: p y p x p y x
x X
( ) ( ) ( / ) =
.
Mediul prin care se propag semnalele purttoare de informaie, de la
surs la recepie, se numete canalul sistemului de transmisia informaiei. A
cunoate canalul de comunicaie al unui sistem, revine la a cunoate
probabilitile p(y/x) pentru toate mesajele x X i y Y. Dac p(y/x) ia
numai valorile 0 sau 1 pentru orice x X i y Y, asupra canalului nu
acioneaz perturbaiile. n caz contrar, canalul prezint perturbaii.
ntr-un sistem de transmisia informaiei [X, p(y/x), Y], avnd sursa
{X, x, p(x)} i recepia {Y, y, p(y)}, expresiile:
H X p x p x
x X
( ) ( ) log ( ) =
2
H Y p y p y
y Y
( ) ( ) log ( ) =
2
reprezint entropiile cmpului de evenimente de la intrare i cmpului de
evenimente de la ieire.
71
Sisteme de calcul i operare
Dac se noteaz cu p(x/y) probabilitatea de a se emite mesajul x X
cnd se recepioneaz y Y, expresia:
H X y p x y p x y
x X
( / ) ( / ) log ( / ) =
2
reprezint cantitatea de informaie care trebuie emis de ctre surs pentru a
recepiona mesajul y Y. Cantitatea medie de informaie emis ce este
necesar pentru a recepiona ntreaga mulime a mesajelor y Y va fi:
H X Y p y H X y
y Y
( / ) ( ) ( / ) =
.
Entropia H(X / Y) se numete echivocaie, fiind msura echivocului
care exist n cmpul de la intrare cnd se cunoate cmpul de la ieire
(figura 3.2). n mod asemntor, se determin entropia H(Y/X), care se
numete eroare medie i este msura incertitudinii cmpului de la ieire cnd
se cunoate cmpul de la intrare (figura 3.3).
Expresia: I(X,Y) = H(X) - H(X/Y) reprezint informaia transmis prin
canal i se mai numete transinformaie.
n lipsa perturbaiilor p(x/y) = p(y/x) = 1 sau p(x/y) = p(y/x) = 0 i
H(X/Y) = H(Y/X) = 0.
Figura 3.2 Reprezentarea grafic a echivocului
72
Elemente de teoria transmisiei informaiei
Figura 3.3 Reprezentarea grafic a incertitudinii
3.3 Codificarea informaiei n sistemele de calcul
Conform principiilor de structur i funcionalitate, n calculator sunt
recunoscute numai cifrele binare (0 i 1). Se tie c informaia cel mai
frecvent este codificat cu ajutorul cifrelor zecimale, literelor alfabetului
(caracterele majuscule i minuscule) i diverse semne speciale. Pentru a putea
fi prelucrat i eventual transmis cu ajutorul unui sistem de calcul informaia
va fi codificat binar.
Informaia i codificarea sunt entiti inseparabile.
Fie X={x
1
, x
2
, x
3
,..., x
N
}, mulimea simbolurilor primare emise de o
surs de informaie i A={a
1
, a
2
,..., a
D
}, mulimea simbolurilor codului
folosit. Cu simbolurile: a
1
, a
2
,..., a
D
se formeaz un numr N de cuvinte de
cod: C = {c
1
, c
2
,..., c
N
}.
Cuvintele de cod sunt succesiuni finite de simboluri ale mulimii A.
Codificarea este operaia de stabilire a unei corespondene biunivoce ntre
simbolurile x
i
X i c
i
C.
Fie: c
1
: a
1
a
2
a
3
x
1
c
2
: a
2
a
1
a
3
x
2
c
3
:
Totalitatea cuvintelor c
i
(i = 1n) formeaz un cod.
Cu ajutorul simbolurile mulimii A se pot forma cuvinte crora s nu
le corespund elemente din mulimea X. Acestea sunt cuvinte fr sens.
Cuvintele crora le corespund simboluri din alfabetul sursei se numesc
cuvinte cu sens sau cuvinte de cod.
73
Sisteme de calcul i operare
Practic, codificarea reprezint o schimbare n forma de prezentare a
informaiei, necesar n procesul prelucrrii sau transmisiei. n momentul
realizrii codificrii apare i problema transformrii inverse, ce permite
revenirea la forma iniial. Aadar, dac exist funcia cod:
f : X C
trebuie s existe i funcia invers:
f
-1
: C X.
Operaia de revenire din mulimea secvenelor de cod n mulimea
simbolurilor primare prin intermediul funciei f
-1
se numete decodificare.
Una din restriciile necesare realizrii codificrii o reprezint lungimea
secvenei de cod. Numrul de simboluri elementare dintr-un cuvnt reprezint
lungimea acestuia. Dac toate cuvintele de cod au aceeai lungime,
codificarea se numete uniform.
Stabilirea numrului (NR) de secvene distincte de lungime n, ce se pot crea
cu D simboluri elementare, se determin aplicnd formula combinrilor cu
repetiie:
NR = D
n
Pentru realizarea codificrii este necesar ca NR N (N fiind numrul
de simboluri primare ce aparin lui X). Pentru codificarea informaiei utilizate
ntr-un sistem de calcul mulimea simbolurilor codului este A = {0,1} i
innd cont de relaia de mai sus avem:
N 2
n
Prin logaritmarea relaiei se va obine:
log
2
N n
ntr-o codificare uniform, lungimea n a secvenelor de cod trebuie s
fie cel puin egal cu entropia maxim a sursei.
Cnd se urmrete mrirea eficienei transmisiunii, cuvintele de cod
pot avea lungimi diferite, astfel nct lungimea medie l a unui cuvnt s fie
ct mai mic.
74
Elemente de teoria transmisiei informaiei
Fie sursa primar X = {x
1
, x
2
,..., x
N
} avnd probabilitile de
realizare P = {p(x
1
), p(x
2
),..., p(x
N
)} iar mulimea cuvintelor de cod C = {c
1
,
c
2
,..., c
N
} cu probabilitile P
C
= {p(c
1
), p(c
2
),...,p(c
N
)} = {p(x
1
),..., p(x
N
)}.
Lungimile cuvintelor de cod sunt: L = {l
1
, l
2
,...,l
N
}, l
i
fiind numrul de
simboluri din alfabetul codului, care compun cuvntul c
i
. Lungimea medie a
unui cuvnt de cod se va calcula dup formula:
l = p(x ) l
i =1
N
i i
Entropia sursei, care este aceeai cu entropia cuvintelor codului, va fi:
H(X) = H(C) = - p(x ) log p(x )
i =1
N
i
2
i
Dac alfabetul codului este A = {a
1
, a
2
,..., a
D
}, avnd probabilitile
P
A
= {p(a
1
), p(a
2
),..., p(a
D
)}, entropia va fi:
H(A) = - p(a ) log p(a ) log D
i =1
D
i
2
i
2
Informaia medie pe cuvnt va fi:
H(C) = H(X) = l H(A) .
nlocuind pe H(A) prin relaia precedent se va obine:
H(X) l log D
2
l
H(X)
log D
=
l
2
min
Relaia obinut arat c lungimea medie l a unui cuvnt de cod are
o margine inferioar egal cu entropia sursei mprit la valoarea maxim a
entropiei alfabetului codului sau informaia medie pe un simbol din
alfabetul codului
H(X)
l
nu poate fi mai mare dect valoarea maxim a
alfabetului codului log
2
D, adic
H(X)
l
log D
2
.
75
Sisteme de calcul i operare
Pentru realizarea unei codificri se mai ine seama de:
Capacitatea codului, valoarea maxim a entropiei alfabetului
codului:
C
cod
= max H(A) = log
2
D.
Eficiena codului, raportul dintre lungimea medie minim i
lungimea medie a unui cuvnt de cod:
cod
min
=
l
l
. nlocuind
l min i l se va obine:
cod
2
2
=
H(X) / log D
H(X) / H(A)
=
H(A)
log D
.
Redundana codului este mrimea complementar eficienei:
cod
cod
max
R = 1 - = 1 -
H(A)
H (A)
.
3.4 Coduri numerice i alfanumerice
Codurile n care sunt reprezentate numai numere se numesc coduri
numerice, iar cele care cuprind numerele, literele i semnele speciale se
numesc coduri alfanumerice. Dintre codurile alfanumerice amintim:
Codul BCD (Binary Coded Decimal), reprezint unul din
primele coduri utilizate n tehnica de calcul. O secven de cod
are lungimea de ase bii/caracter.
Codul EBCDIC (Extended Binary Coded Decimal Information
Interchange Code), secvenele de cod au o lungime de
opt bii/caracter.
Standardul ASCII (American Standard Code for Information
Interchange) secvenele de cod au o lungime de opt bii/caracter.
Standardul Unicode utilizeaz secvene de cod cu lungimea de
16 bii/caracter. Acest cod a fost conceput s nlocuiasc
standardul ASCII, prin intermediul cruia se pot reprezenta
maximum 256 (2
8
) caractere. Codul ASCII este un subset al
standardului Unicode. Caracterele de baz din toate limbile
scrise existente pot fi reprezentate prin standardul Unicode.
76
Elemente de teoria transmisiei informaiei
Codurile normalizate au fost realizate n aa fel nct s uureze
modul de prelucrare a informaiei. Astfel, partea stng a codului permite
identificarea imediat a naturii informaiei codificate (litere, cifre, funcii),
urmtoarele poziii ale codului sunt organizate ntr-un mod care s uureze
conversia n vederea calculelor (n cazul cifrelor) sau ordonarea alfabetic
(n cazul literelor).
Coduri alfanumerice
Tabelul 3.1
Caracterul Codul ASCII Codul EBCDIC Codul UNICODE
0 0011 0000 1111 0000 (0030)
H
1 0011 0001 1111 0001 (0031)
H
2 0011 0010 1111 0010 (0032)
H
3 0011 0011 1111 0011 (0033)
H
9 0011 1001 1111 1011 (0039)
H
a 0110 0001 1000 0001 (0061)
H
b 0110 0010 1000 0010 (0062)
H
z 0111 1010 1010 1001 (007A)
H
A 0100 0001 1100 0001 (0041)
H
B 0100 0010 1100 0010 (0042)
H
Z 0101 1010 1110 1001 (005A)
H
LF(line feed) 0000 1010 0010 0101 (000A)
H
Codurile numerice au fost introduse pentru a se opera mai uor cu
informaia numeric. Codurile numerice pot fi:
ponderate;
neponderate.
Un cod numeric este ponderat dac unei cifre zecimale i corespunde
o succesiune de cifre binare, n care fiecare cifr de rang j are asociat o
anumit pondere P
j
. Fie N un numr zecimal:
N = z z z .... z z {0, 1, ....9} i = 0, k
k k-1 k-2 0 i
77
Sisteme de calcul i operare
Oricare ar fi cifra zecimal z
i
, aceasta se va reprezenta printr-o
secven binar ce satisface relaia:
unde: a
i
j=1
n
j j
z = a P ,
j
{0,1},
j
P {0, 1, 2, .... } 9 constituie ponderea corespunztoare
rangului j, iar n numrul de simboluri din secvena binar asociat cifrei
zecimale.
Dintre codurile ponderate amintim (tabelul 3.2):
Codul 8421, codul binar-zecimal natural, avnd ca ponderi
puterile lui 2 (2
3
,2
2
,2
1
,2
0
).
Coduri ponderate
Tabelul 3.2
Cifra
zecimal
Codul
8421
Codul
2421
Codul
8421
Codul bichinar
50 43210
0 0000 0000 0000 01 00001
1 0001 0001 0111 01 00010
2 0010 0010 0110 01 00100
3 0011 0011 0101 01 01000
4 0100 0100 0100 01 10000
5 0101 1011 1011 10 00001
6 0110 1100 1010 10 00010
7 0111 1101 1001 10 00100
8 1000 1110 1000 10 01000
9 1001 1111 1111 10 10000
Codul 2421 (Aiken), la care codificarea primelor cinci cifre
zecimale (04) este identic secvenelor din codul 8421.
Codificarea cifrei zecimale 5 se obine din secvena
corespunztoare cifrei zecimale 4 prin schimbarea simbolurilor
binare 0 n 1 i 1 n 0. Astfel, fiecare complement fa de 9 al unei
78
Elemente de teoria transmisiei informaiei
cifre zecimale se reprezint printr-o secven ce rezult
complementnd fa de 1 simbolurile binare din secvena cifrei
zecimale respective. Codurile ce au aceast proprietate se numesc
autocomplementare, prezentnd avantaje n efectuarea operaiilor
aritmetice.
Pentru codul 8421 ponderile sunt puteri ale lui 2, ns dou sunt
negative. Este un cod auto-complementar.
Codul bichinar (50 43210) conine secvene de cte apte
simboluri binare mprite n dou grupe. Acest cod a fost folosit
la primele calculatoare electronice.
Alte coduri numerice ponderate sunt: 4221, 5421, 7421, 6421
(tabelul 3.3).
Coduri ponderate (a doua parte)
Tabelul 3.3
Cifra
zecimal
Codul
4221
Codul
5421
Codul
7421
Codul
6421
0 0000 0000 0000 0000
1 0001 0001 0001 0011
2 0010 0010 0010 0010
3 0011 0011 0011 0101
4 0110 0100 0100 0100
5 1001 1000 0101 0111
6 1100 1001 0110 1000
7 1101 1010 0111 1011
8 1110 1011 1001 1010
9 1111 1100 1010 1101
Din categoria codurilor neponderate, amintim (tabelul 3.4):
Codul EXCES 3 a fost realizat de G. Stibitz i se remarc prin
aceea c:
o este un cod autocomplementar;
o cifrei zecimale zero i corespunde o secven binar ce conine
cifre binare de 1.
79
Sisteme de calcul i operare
Codul Gray se caracterizeaz prin aceea c dou secvene de cod
consecutive difer printr-o singur poziie binar. Dac notm cu:
a
8
, a
4
, a
2
, a
1
cifrele binare ale secvenelor codului 8421, n ordinea
ponderilor i cu b
4
, b
3
, b
2
i b
1
cifrele binare ale secvenelor Gray,
n ordinea de la stnga la dreapta, acestea din urm pot fi calculate
folosind relaiile: b
8
= a
8
; b
3
= a
8
a
4
; b
2
= a
4
a
2
; b
1
= a
2
a
1
.
Codul 2 din 5 este un cod pseudo-ponderat. Secvenele de cod
pentru cifrele zecimale 1 9 au asociate ponderile 74210, numai
codificarea cifrei zecimale 0 face excepie de la aceast regul.
Caracteristica secvenelor de cod este aceea c din cele cinci cifre
binare dou sunt semnificative (au valoarea 1).
Coduri neponderate
Tabelul 3.4
Cifra
zecimal
Codul
Exces 3
Codul
Gray
Codul 2 din 5
(74210)
0 0011 0000 11 000
1 0100 0001 00 011
2 0101 0011 00 101
3 0110 0010 00 110
4 0111 0110 01 001
5 1000 0111 01 010
6 1001 0101 01 100
7 1010 0100 10 001
8 1011 1100 10 010
9 1100 1101 10 100
Codul de bare reprezint un sistem de codificare prin care se permite
identificarea automat sau semiautomat a diverselor entiti (legitimaii,
cri, bilete de avion, produse din cele mai variate etc.).
Codul de bare are avantajul de a fi relativ simplu de produs i
recunoscut. El poate fi aplicat direct pe orice produs (pe ambalajul acestuia)
sau ulterior, ca etichet. Majoritatea codurilor de bare au la baz principiul
binar, reprezentarea fcndu-se printr-un numr de linii sau linii i spaii cu
o anumit lime. Secvena de linii sau linii i spaii reprezint un caracter
numeric sau alfanumeric.
80
Elemente de teoria transmisiei informaiei
Pentru exemplificare vom considera codul 2/5 (2 din 5) (tabelul 3.5),
cod numeric (sunt reprezentate cifrele de la 0 la 9). Codificarea se face prin
trasarea a dou linii late i trei nguste. Raportul de imprimare linie
ngust/linie lat este de 1/2 sau 1/3. Spaiile nu conin informaie.
Codul de bare 2/5
Tabelul 3.5
Caracter Linia
1
Linia
2
Linia
3
Linia
4
Linia
5
1 1 0 0 0 1
2 0 1 0 0 1
3 1 1 0 0 0
4 0 0 1 0 1
5 1 0 1 0 0
6 0 1 1 0 0
7 0 1 0 1 1
8 1 0 0 1 0
9 0 1 0 1 0
0 0 0 1 1 0
start 1 1 0
stop 1 0 1
1: linie lat
0: linie ngust
Figura 3.4 Reprezentarea numrului 19 prin codul de bare 2/5
81
Sisteme de calcul i operare
Dac n cazul codului 2 din 5 spaiile nu conin informaie, exist i
un cod asemntor n care densitatea informaiei reprezentate este mai mare;
acest cod se numete codul 2 din 5 intercalat iar n acest caz spaiile
conin informaii n acelai mod ca i liniile.
Codificarea informaiei permite rezolvarea unor probleme ce pot
apare n transmisia, stocarea sau prelucrarea acesteia, cum ar fi:
detectarea i corectarea erorilor pentru a se asigura integritatea
informaiei;
compresia pentru minimizarea cantitii de informaie;
criptarea pentru a se garanta securitatea informaiei.
3.5 Coduri detectoare i corectoare de erori
Codificarea se efectueaz avnd ca scop principal protejarea
informaiei de perturbaiile ce pot s apar ntr-un sistem de transmisie. De
aceea, nainte de a emite simbolurile de informaie pe canalul de
comunicaie, ce poate fi supus perturbaiilor, se adaug o anumit informaie
redundant, de obicei prin introducerea unor simboluri suplimentare, numite
simboluri de control.
Rolul acestor simboluri de control este acela de a indica
utilizatorului prezena erorilor i chiar s-i dea posibilitatea de a le corecta.
Codurile obinute astfel, prin mrirea redundanei, se numesc coduri
detectoare i corectoare de erori.
n acest caz, schema unui sistem de transmiterea informaiei este
reprezentat n figura 3.5.
Figura 3.5 Sistem de transmisia informaiei
82
Elemente de teoria transmisiei informaiei
Se poate face o clasificare a codurilor detectoare i corectoare de
erori dup modul de prelucrare al simbolurilor.
Dac prelucrrile necesare obinerii proprietilor de detecie sau de
corecie se fac n blocuri de n simboluri, avem coduri bloc. Dac prelucrarea
simbolurilor generate de surs se realizeaz n mod continuu, avem de-a
face cu coduri convoluionale (recurente).
Din categoria codurilor bloc se disting:
codurile grup, secvenele de cod sunt considerate ca fiind
elemente dintr-un spaiu vectorial;
codurile ciclice, secvenele de cod sunt considerate ca fiind
elemente ntr-o algebr.
3.5.1 Distana de cod
Fie c = [a
1
,....,a
n
], un cuvnt de cod, conform unei codificri binare
a
i
{0,1} pentru i = 1, n . Notm cu W mulimea tuturor cuvintelor
(N=2
n
), care are o structur de spaiu vectorial, iar mulimea cuvintelor cu
sens o notm cu V (presupunem c NC=2
k
) ce are o structur de subspaiu
vectorial.
Dac toate secvenele care se pot realiza sunt cuvinte de cod (W=V),
nu va exista posibilitatea de a detecta sau corecta erorile ce apar n procesul
de transmitere pe canal. Practic, dac un cuvnt de cod se modific prin
canal, datorit perturbaiilor, se va obine tot un cuvnt de cod, respectiv un
cuvnt cu sens.
Pentru a avea posibilitatea de a detecta prezena erorilor n
secvenele de cod recepionate, mulimea W a cuvintelor se va divide n
dou submulimi: a cuvintele cu sens (V) i submulimea cuvintelor fr
sens (F).
La un anumit grad de redundan atribuit unei codificri se pot
stabili mai multe coduri. Dintre acestea nu toate ofer posibiliti n
depistarea erorilor i eventual corectarea lor. Codurile care asigur o
anumit capacitate de detecie i eventual corecie cu ajutorul unor
redundane minime se numesc coduri optimale.
Pentru a realiza codificarea se va lua n calcul parametrul denumit
distana de cod (distana Hamming).
n spaiul n dimensional al cuvintelor de cod se introduce funcia
distan D(v
i
,v
j
) care satisface proprietile unui spaiu metric.
83
Sisteme de calcul i operare
Prin definiie aceast funcie este:
, D v v a a i j ik jk
k
n
( , ) ( ) =
=
1
unde v
i
= [a
i1
, a
i2
, , a
in
] i v
j
= [a
j1
, a
j2
,, a
jn
]
iar se refer la adunarea modulo 2 n timp ce +, la adunarea n
corpul numerelor reale. Se poate spune c distana dintre dou cuvinte de cod
este egal cu numrul de simboluri prin care cele dou cuvinte se deosebesc.
Exemplul 1
S se calculeze distana de cod ntre secvenele de cod reprezentate n
figura 3.6.
Rezolvare. n figura 3.6.a) toate secvenele de cod sunt cuvinte cu
sens. Calculnd distanele de cod, avem:
D(v
0
,v
1
)=(0 0) + (0 0) + (0 1) = 1
D(v
0
,v
2
)=(0 0) + (0 1) + (0 0) = 1
D(v
0
,v
3
)=(0 0) + (0 1) + (0 1) = 2
D(v
0
,v
4
)=(0 1) + (0 0) + (0 0) = 1
.
.
D(v
0
,v
7
)=(0 1) + (0 1) + (0 1) = 3
D(v
1
,v
2
)=(0 0) + (0 1) + (1 0) = 2
.
.
D(v
1
,v
7
)=(0 1) + (0 1) + (1 1) = 2
.
.
D(v
6
,v
7
)=(0 1) + (1 1) + (1 1) = 1
Se constat c: D
min
=1.
84
Elemente de teoria transmisiei informaiei
Figura 3.6 Reprezentarea geometric a secvenelor de cod
n (figura 3.6.b) numai dou secvene sunt cuvinte cu sens, iar
distana de cod va fi :
D(v
0
,v
7
)=(0 1) + (0 1) + (0 1) = 3
Probabilitatea de detecie i corecie a unui cod depinde de distana
minim ntre dou cuvinte de cod. Se poate demonstra c pentru un cod ce
poate detecta un numr de e erori existente n una din secvenele sale, este
necesar ca:
D
min
e + 1
iar pentru a detecta e erori i a corecta c erori, avnd c e, este
necesar ca:
D
min
e + c + 1
Pentru realizarea unor structuri de cod optime se va ine seama de:
numrul secvenelor ce aparin codului (NC);
lungimea cuvintelor de cod;
distana minim de cod (D
min
).
Operaia de determinare a simbolurilor de control funcie de
simbolurile de informaie se numete codificare redundant.
85
Sisteme de calcul i operare
3.5.2 Codul Hamming
Se consider un spaiu m-dimensional, denumit spaiu de corecie,
care are 2
m
elemente corectori (z). Rolul corectorilor este de a indica
poziiile din cuvintele de cod n care au aprut erori. Se definete operatorul
H, ce stabilete o coresponden univoc ntre mulimea tuturor cuvintelor
recepionate i mulimea corectorilor, astfel:
H{v
i
} = z
Dac v
i
= v
i
, atunci H{v
i
} = 0.
Structura cea mai simpl pentru operatorul H se obine dac se va
considera o transformare liniar, definit prin ecuaiile:
h
11
a
1
+ h
12
a
2
+ . h
1n
a
n
= e
m
h
21
a
1
+ h
22
a
2
+ . H
2n
a
n
= e
m-1
.
.
h
m1
a
1
+ h
m2
a
2
+ . H
mn
a
n
= e
1
unde:
h
ij
- parametrii care determin transformarea H;
a
i
- simbolurile cuvntului recepionat;
e
i
- elementele corectorului z.
Ecuaiile se pot scrie sub form matricial utiliznd notaiile:
- este matricea de control; H
h h h
h h h
h h h
n
n
m m mn
=
11 12 1
21 22 2
1 2
v = [ a
1
a
2
a
n
] - cuvnt recepionat i - cuvnt corector. z
e
e
e
m
=
2
1
86
Elemente de teoria transmisiei informaiei
Folosind aceste notaii putem scrie: H v
T
= z, iar n cazul cnd v = v
vom avea:
H v
T
= 0
Aceasta este relaia care se va folosi pentru determinarea celor
m simboluri de control, n funcie de simbolurile generate de sursa de
informaie (n numr de k). Operaia prin care se determin valorile
simbolurilor de control n funcie de simbolurile generate de sursa de
informaie se numete codificare redundant.
Codul Hamming asigur detecia i corecia unei singure erori.
Pentru a indica poziia erorii ntr-unul din cele n simboluri ale cuvntului de
cod sau pentru a indica absena erorilor este necesar ca numrul corectorilor
2
m
n + 1.
Cum n = k + m, o s avem: 2
m
m + k + 1.
Aceasta este relaia prin care se determin numrul m al simbolurilor
de control cnd se cunoate numrul k al simbolurilor de informaie, n cazul
coreciei unei singure erori.
Codul Hamming este caracterizat de o matrice de control H
m,n
, n
care coloana h
i
este reprezentarea binar a numrului i.
H = [h
1
h
2
....h
n
]
Se consider cuvntul eroare, cu o singur poziie eronat:
e=[0,...,
j
,...0] (
j
=1)
Dac se transmite mesajul v
i
se va recepiona:
v`
i
=v
i
e (perturbaie aditiv)
Corectorul corespunztor va fi:
Z = H v
T
i
= H (v e ) = H v
T
i
H e
i
T
T
87
Sisteme de calcul i operare
Deoarece
H v
este relaia ce se folosete pentru determinarea
celor n simboluri de control, vom avea:
T
i
= 0
Z = H e = [h h ..... h .... h ]
0
.
.
.
.
0
= h
T
1 2 j n j j
Aadar, corectorul este reprezentarea binar a numrului j, indicnd
poziia n care exist eroarea.
Pentru a simplifica operaia de calcul a celor m simboluri de control,
acestea se vor alege astfel nct s corespund vectorilor coloan h
i
cu o
singur component diferit de 0.
Notnd cu c
i
simbolurile de control i cu a
j
pe cele de informaie,
vectorul cuvnt de cod va fi: v=[c
1
c
2
a
3
c
4
....a
n
].
innd seama de relaia obinem: H v
T
i
= 0
[h h .... h ]
c
c
a
.
.
a
= 0
1 2 n
1
2
3
n
sau
0 0 . . . . 1
0 . . . . . 1
. . . . . . . .
. . . . . . . .
0 1 . . . . .
1 0 . . . . 1
c
c
.
.
.
a
= 0
1
2
n
88
Elemente de teoria transmisiei informaiei
relaie echivalent cu m ecuaii n care simbolurile c
1
, c
2
, intervin o
singur dat:
0 =
a
.......
a c
.
.
0 =
a
.....
a a c
0 =
a
.....
a a c
n 1 m+ m
n 6 3 2
n 5 3 1
tiind c 0 0 = 0 i 1 1= 0 se vor determina simbolurile de
control c
1
, c
2
,...,c
m
.
La recepionarea cuvintelor de cod v', acestea se introduc ntr-un
dispozitiv pentru a calcula corectorul, utiliznd relaia:
Z = H v =
e
.
e
e
= [h ...... h ]
.
.
,T
m
2
1
1 n
'
'
'
c
c
a
n
1
2
n mod analog calculului anterior i innd seama de structura
matricii de control H se va obine:
1
' ' '
m
' ' '
e = a ..... a
.................
e
= c a ...+ a
c
n
m m n
1 3
1
+
Numrul binar (e
m
.....e
2
,e
1
) se decodific i se obine poziia erorii,
conform relaiei de mai sus.
Vom particulariza pentru k=4, numrul simbolurilor de informaie.
Din relaia: 2
m
m + k + 1, avem c 2
m
5 + m, de unde se va
obine m 3. Considernd m=3 vom avea n = m + k = 7.
89
Sisteme de calcul i operare
Matricea de control este: H
3,7
=[h
1
h
2
.....h
7
], iar vectorul cuvnt de
cod va fi: v=[c
1
c
2
a
3
c
4
a
5
a
6
a
7
].
Aplicnd relaia Hv
T
=0 vom avea:
0 =
a
a
a
c
a
c
c
1 0 1 0 1 0 1
1 1 0 0 1 1 0
1 1 1 1 0 0 0
7
6
5
4
3
2
1
Prin efectuarea calculelor se obine:
4 5 6 7
2 3 6 7
1 3 5 7
4 5 6 7
2 3 6 7
1 3 5 7
c a a a = 0
c a a a = 0
c a a a = 0
c = a a a
c = a a a
c = a a a
Calcularea corectorului la recepie se obine din relaia:
4
2
1
'
'
'
'
'
'
'
e
e
e
=
0 0 0 1 1 1 1
0 1 1 0 0 1 1
1 0 1 0 1 0 1
c
c
a
c
a
a
a
1
2
3
4
5
6
7
90
Elemente de teoria transmisiei informaiei
Efectund calculele se va obine:
4
' ' ' '
2
' ' ' '
1
' ' ' '
e = c a a a
e = c a a a
e = c a a a
4 5 6 7
2 3 6 7
1 3 5 7
Combinaia binar (e
4
,e
2
,e
1
) decodificat indic poziia eronat.
Codul Hamming poate corecta erorile simple ns nu poate corecta nici o
eroare dubl.
Exemplul 2.
S se determine secvenele codului Hamming corespunztoare
cifrelor zecimale 7,8 i 9 tiind c n codificarea primar s-a folosit codul
8421. Este respectat condiia distanei minime?
Rezolvare
Pentru calcularea cifrelor de control c
1
,c
2
,c
4
din secvenele codului
Hamming (tabelul 3.6) se utilizeaz relaiile obinute anterior.
Secvenele de cod
Tabelul 3.6
Cifra
zecimal
Secvenele codului
8421 Hamming (calculate)
a
3
a
5
a
6
a
7
c
1
c
2
a
3
c
4
a
5
a
6
a
7
7 0 1 1 1 0 0 0 1 1 1 1
8 1 0 0 0 1 1 1 0 0 0 0
9 1 0 0 1 0 0 1 1 0 0 1
Deoarece codul Hamming detecteaz i corecteaz o singur eroare
va fi necesar ca D
min
3. Vom calcula distana minim n raport cu
secvenele codului Hamming obinute:
D(v
7
,v
8
)=(0 1) + (0 1) + (0 1) + (1 0) + (1 0) +
+ (1 0) + (1 0) = 7
D(v
7
,v
9
)=3
D(v
8
,v
9
)=4
Condiia distanei minime de cod este respectat, D
min
=3.
91
Sisteme de calcul i operare
Exemplul 3
Fie mesajul recepionat 1111000.
a) tiind c reprezint o secven a codului Hamming, s se verifice
corectitudinea lui. n caz de eroare, presupunnd c o singur poziie este
eronat, s se asigure corecia.
b) Crei cifre zecimale i corespunde mesajul corectat, dac ntr-o
prim codificare a fost folosit codul 8421.
Rezolvare
Apelnd la relaiile:
4
' ' ' '
2
' ' ' '
1
' ' ' '
e = c a a a
e = c a a a
e = c a a a
4 5 6 7
2 3 6 7
1 3 5 7
vom calcula (e
4
, e
2
, e
1
), avnd:
c
'
1
c
'
2
a
'
3
c
'
4
a
'
5
a
'
6
a
'
7
1 1 1 1 0 0 0
4
2
1
e = 1 0 0 0 = 1
e = 1 1 0 0 = 0
e = 1 1 0 0 = 0
Deoarece (e
4
,e
2
,e
1
) (0,0,0), mesajul recepionat este eronat. Dac o
singur cifr binar a mesajului a fost modificat, atunci se poate face
corecia; cunoscnd poziia eronat prin decodificarea lui (e
4
,e
2
,e
1
)= (100)
2
(4)
10
cifra c
'
4
devine 0.
Mesajul corect este 1110000 acesta corespunde cifrei zecimale 8.
Aceasta s-a obinut prin decodificarea cifrelor binare: a
'
3
a
'
5
a
'
6
a
'
7
.
3.5.3 Coduri liniare cu control ncruciat.
Un alt model de cod binar utilizat frecvent const din structurarea
informaiei pe blocuri de secvene de cod i ataarea unui bit de control, o
dat fiecrei secvene i alt dat la fiecare coloan ce conine biii de
acelai rang din toate secvenele.
92
Elemente de teoria transmisiei informaiei
Un astfel de control se numete prin paritate ncruciat. Blocul de
informaie codificat ce se va emite este:
Simboluri
informaionale
Controlul liniei
a
11
a
12
....a
1n
............
............
a
m1
a
m2
....a
mn
l
1
.
.
l
m
Control coloan
c
1
c
2
.......c
n
unde:
impar paritatea realizeaz 1
a
par paritatea realizeaz
a
=
l
ik
n
1 = k
ik
n
1 = k
i
) m 1, = (i
i se numete paritate lateral sau transversal, iar
i
jc
k=1
m
kj
c = a [ 1] , j = 1, n
folosind acelai tip de paritate ca la emisie.
Comparnd paritile recepionate cu cele calculate, se poate afirma
c blocul de informaie a fost transmis:
a) fr erori, dac l'
i
= l
ic
pentru i m = 1, i c'
j
= c
jc
pentru
j n = 1, ;
b) cu erori, dac i{1, 2,, m} astfel nct l'
i
l
ic
sau
j{1, 2,, n} astfel nct c'
j
c
jc
.
Exemplul 4
tiind c ntr-o transmisie de date se utilizeaz detectarea erorilor
prin paritate ncruciat, care este blocul de informaie ataat emisiei cifrelor
zecimale de la 4 la 9, codificate primar cu ajutorul codului EXCES 3.
O secven este reprezentat prin codificarea unei singure cifre zecimale.
94
Elemente de teoria transmisiei informaiei
Rezolvare
Informaia transmis
Cifra zecimal Secvena
Simbolurile informaionale
EXCES 3
x
1
x
2
x
3
x
4
Control linie
4 S
1
0 1 1 1 1
5 S
2
1 0 0 0 1
6 S
3
1 0 0 1 0
7 S
4
1 0 1 0 0
8 S
5
1 0 1 1 1
9 S
6
1 1 0 0 0
Control coloan 1 0 1 1 1
Exemplul 5.
Cunoscnd c a fost transmis un bloc de date n condiiile
exemplului 4 i s-a recepionat:
0 1 1 0 1
1 0 0 0 1
1 0 0 1 1
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 0 1 1 1
S se verifice corectitudinea recepiei.
Informaia recepionat
S
1
S
2
S
3
S
4
S
5
S
6
x'
1
x'
2
x'
3
x'
4
l'
i
0 1 1 0 1
1 0 0 0 1
1 0 0 1 1
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
l
i
calculat
0
1
0
0
1
0
C'
j
1 0 1 1 1 1
C
j
calculat 1 0 1 0 0
95
Sisteme de calcul i operare
Avem: l'
1
l
1 calculat
i l'
3
l
3 calculat
;
c'
4
c
4 calculat
i c'
5
c
5 calculat
.
Erorile sunt n secvenele: S
1
i S
3
pe poziiile x'
4
i l'
1
.
3.5.4 Coduri polinomiale ciclice
Codurile ciclice sunt coduri bloc n care cele n+1 simboluri ce
formeaz o secven de cod sunt considerate ca fiind coeficienii unui
polinom de grad n i anume:
M(x) = a
n
x
n
+a
n-1
x
n-1
++a
0
unde a
i
{0, 1} , i n = 1, .
Codurile polinomiale ciclice au proprietatea: dac M = (a
n
,a
n-1
,....a
0
)
este un cuvnt cu sens, atunci orice permutare ciclic a simbolurilor sale
este un cuvnt cu sens M
1
= (a
i
,a
i-1
,....,a
0
a
n
a
n-1
,....,a
i+1
). Mulimea tuturor
cuvintelor formeaz o algebr, iar mulimea cuvintelor cu sens formeaz un
ideal.
n cazul utilizrii codurilor polinomiale ciclice, mesajului M ce se va
transmite i se asociaz polinomul M(x) i apoi printr-un algoritm de
codificare se transform ntr-un polinom T(x), astfel nct T(x) s fie
multiplul al polinomului G(x), numit polinomul de generare.
Pentru realizarea codificrii se pot utiliza algoritmul de nmulire sau
algoritmul de mprire.
Folosind algoritmul de nmulire: T(x)=M(x)G(x) (operaiile de
nmulire i adunare ale coeficienilor polinoamelor se fac n modulo 2) nu
se obine o separare a simbolurilor redundante de cele informaionale, acesta
fiind principalul motiv pentru care se prefer algoritmul de mprire, dei
este ceva mai complicat.
Algoritmul de codificare prin mprire este:
Fie mesajul M: (a
n
,a
n-1
,.....,a
0
), care cuprinde n+1 cifre binare
informaionale. Acestuia i se asociaz un polinom n
nedeterminata x: M(x) = a
n
x
n
+a
n-1
x
n-1
++a
0
(a
i
{0, 1},
i n = 1, );
Se alege polinomul G(x) de grad r, acesta fiind polinomul de
genarare al codului: G(x) = b
r
x
r
+ b
r-1
x
r-1
+..+ b
0
, bj {0, 1},
j r = 1, ;
nmulind M(x) cu x
r
se va obine M'(x)=M(x)x
r
96
Elemente de teoria transmisiei informaiei
Se mparte M'(x) la G(x):
M (x)
G(x)
= C(x)
R(x)
G(x)
Gradul polinomului R(x) va fi mai mic, cel mult egal cu r-1.
Coeficienii polinomului R(x), de grad r-1, constituie simbolurile de control
asociate mesajului informaional.
Se adun R(x) cu M'(x) obinndu-se polinomul T(x) = M' (x)
R(x). Coeficienii polinomului T(x) constituie mesajul ce se va
transmite:
T: (a
n
a
n-1
....a
0
c
r-1
.....c
0
)
care conine n poziiile semnificative cele n+1 simboluri
informaionale iar n poziiile mai puin semnificative cele r
simboluri de control.
Polinomul ataat mesajului transmis este un multiplu al polinomului
de generare. Avem:
T(x)
G(x)
=
M (x) R(x)
G(x)
=
M (x)
G(x)
R(x)
G(x)
nlocuind
M(x)
G(x)
prin relaia
M (x)
G(x)
= C(x)
R(x)
G(x)
se va obine:
T(x)
G(x)
= C(x)
R(x)
G(x)
R(x)
G(x)
= C(x)
= 0
1 2 44 3 44
Cu alte cuvinte, polinomul T(x) este divizibil prin G(x). Aceast
proprietate este folosit drept criteriu pentru detecia erorilor.
La recepie, dac mesajul recepionat este T', acestuia i se asociaz
polinomul T'(x). Putem scrie c T'(x)=T(x) E(x), unde E(x) este
polinomul erorilor. Aplicnd criteriul de detecie a erorilor, obinem:
T (x)
G(x)
=
T(x) E(x)
G(X)
=
T(x)
G(x)
E(x)
G(x)
= C(x)
E(x)
G(x)
97
Sisteme de calcul i operare
Se observ c dac E(x) este multiplu al lui G(x), mesajul
recepionat este validat, dei conine erori. Dac E(x) nu este multiplu al lui
G(x) atunci eroarea este sesizat.
Prin aceast metod sunt determinate toate pachetele de erori de
lungime mai mic dect gradul lui G(x)+1. Se numete pachet de erori o
succesiune de simboluri, corecte sau eronate, n care primul i ultimul
simbol sunt eronate.
Exemplul 6
Mesajul binar M: 1110101 se transmite dup codificarea prin
polinomul de generare G(x) = x
3
+ x + 1. Care este reprezentarea binar a
mesajului transmis?
Rezolvare.
Mesajului binar M : 1110101 i se asociaz polinomul M(x):
M(x) = x
6
+ x
5
+ x
4
+ x
2
+ 1;
M'(x) = M(x) x
3
; deoarece gradul lui G(x) este 3.
M'(x) = x
9
+ x
8
+ x
7
+ x
5
+ x
3
Se mparte M'(x) la G(x):
M (x)
G(x)
= C(x)
R(x)
G(x)
x
9
+ x
8
+ x
7
+ x
5
+ x
3
|x
3
+ x + 1
|---------
x
9
+ x
7
+ x
6
|x
6
+ x
5
+ 1
-----------------------
/ x
8
+ x
6
+ x
5
+ x
3
x
8
+ x
6
+ x
5
------------------------
/ / / x
3
x
3
+ x + 1
-----------
/ x + 1
(Adunarea i scderea n modulo 2 sunt echivalente)
R(x) = x + 1
Se obine polinomul T(x) = M'(x) R(x)
T(x) = x
9
+ x
8
+ x
7
+ x
5
+ x
3
+ x + 1
98
Elemente de teoria transmisiei informaiei
Coeficienii acestui polinom reprezint mesajul ce se va transmite:
Exemplul 7
tiind c mesajul recepionat T': 1010101011 a fost transmis dup
codificarea prin polinomul de generare G(x) = x
3
+ x + 1, s se verifice
corectitudinea lui.
Rezolvare.
Mesajului recepionat T' i se asociaz polinomul T'(x) = x
9
+ x
7
+
+ x
5
+ x
3
+ x + 1.
Aplicnd criteriul de detecie a erorilor, obinem:
T (x)
G(x)
=
T(x) E(x)
G(x)
= C(x)
E(x)
G(x)
x
9
+ x
7
+ x
5
+ x
3
+ x + 1 | x
3
+ x + 1
|--------------------
x
9
+ x
7
+ x
6
| x
6
+ x
3
+ x
2
+ x + 1
----------------------------------------
/ / x
6
+ x
5
+ x
3
+ x + 1
x
6
+ x
4
+ x
3
------------------------------
/ x
5
+ x
4
+ x + 1
x
5
+ x
3
+ x
2
--------------------------
/ x
4
+ x
3
+ x
2
+ x + 1
x
4
+ x
2
+ x
---------------------
/ x
3
+ 1
x
3
+ x + 1
-----------------
/ / x /
Aadar, mesajul recepionat este eronat deoarece E(x) 0.
99
4
BAZELE NUMERICE
ALE CALCULATOARELOR
4.1 Sisteme de numeraie
Un numr reprezint informaia a crei semnificaie este universal
stabilit i ale crei prelucrri au la baz aritmetica. Numerele sunt incluse
ntr-o clas de codificare particular, n care proprietile abstracte ale
aritmeticii sunt translatate n mecanismele concrete de calcul asupra
codurilor.
Sistemul de numeraie este format din totalitatea regulilor de
reprezentare a numerelor cu ajutorul unor simboluri numite cifre. Numrul
de simboluri permise pentru reprezentarea cifrei este numit baza sau
rdcina sistemului de numeraie.
Sistemele de numeraie pot fi:
poziionale (sistemele: zecimal, binar, octal);
nepoziional (sistemul roman). n continuare sunt prezentate
simbolurile folosite n cadrul sistemului de numeraie roman i
valorile zecimale corespunztoare acestor simboluri:
I X C M V L D
1 10 100 1000 5 50 500
n studiul arhitecturii calculatoarelor ne intereseaz n mod deosebit
(tabelul 4.1):
reprezentarea binar (baza=2);
reprezentarea octal (baza=8);
reprezentarea zecimal (baza=10);
reprezentarea hexazecimal (b=16).
100
Sisteme de calcul i operare
Exemple de sisteme de numeraie
Tabelul 4.1
Sistem de numeraie Baza (b) Cifrele
Binar 2 (0,1)
Octal 8 (0,1,2,3,4,5,6,7)
Zecimal 10 (0,1,2,3,4,5,6,7,8,9)
Hexazecimal 16 (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
Fiind dat un numr ntreg N, se numete reprezentare n baza b,
orice succesiune de cifre care satisface urmtoarele
proprieti:
n n-1
a , a , ..., a
0
cifrele lui sunt numere naturale cu proprietatea :
0 a
i
b-1 (i = 0n)
exist egalitatea:
N = a
n
b
n
+ a
n-1
b
n-1
+ .a
0
b
0
Cnd succesiunea de cifre are proprietile enumerate, prin definiie,
se poate scrie:
N = a
n
a
n-1
.a
0
sau (N)
b
= a
n
a
n-1
.a
0
Un numr ntreg admite o reprezentare unic n baza b. Fiind dat un
numr real R, se numete reprezentare n baza b, orice succesiune de cifre
a
n
,a
n-1
,...,a
0
,a
-1
, a
-2
,...,a
-m
ce ndeplinete proprietile:
cifrele a
i
sunt numere naturale cu proprietatea :
0 a
i
b-1 (i m, n = ) ;
nu exist un rang k astfel nct s avem:
a
k
= a
k-1
= a
k-2
= = b-1
exist egalitatea:
R = a
n
b
n
+ a
n-1
b
n-1
+ .a
0
b
0
+ a
-1
b
-1
+.+ a
-m
b
-m
n situaia n care succesiunea de cifre are proprietile enumerate
prin definiie se scrie:
R = a
n
a
n-1
.a
0
, a
-1
a
-2
. a
-m
a
n
este cifra cea mai semnificativ (CCMS) a numrului R, iar a
-m
este cifra
cea mai puin semnificativ (CCMPS).
101
Bazele numerice ale calculatoarelor
4.2 Conversia bazei de numeraie
Fiind dat un numr reprezentat n sistemul de numeraie cu baza b,
calculul cifrelor reprezentrii n baza q, q>1 se numete conversia din baza
b n baza q.
Conversia numerelor dintr-un sistem de numeraie b n alt sistem de
numeraie cu baza q se efectueaz examinnd separat partea ntreag i
partea fracionar.
Fie (N)
b
=(N
I
)
b
+ (N
F
)
b
, unde (N
I
)
b
reprezint partea ntreag a
numrului (N)
b
iar (N
F
)
b
reprezint partea fracionar.
4.2.1 Conversia numerelor ntregi
n noua baz de numeraie q, partea ntreag [(N
I
)
b
] se va scrie:
(N ) = a q + a q + + a q
I
b
n
n
n-1
n-1
0
0
,
unde
i
a (i = 0, n) sunt cifre ce aparin sistemului de numeraie n baza q.
Conversia prii ntregi (N
I
)
b
n baza q se va reduce la determinarea
coeficienilor
i
a (i = 0, n) , ce se obin prin mprirea succesiv a lui (N
I
)
b
cu q, astfel:
(N
I
)
b
/q=(a
n
q
n-1
+a
n-1
q
n-1
+,...,+a
1
) + a
0
/q a
0
(N
I1
)
b
- partea ntreag Rest
a ctului
(
N
I1
)
b
/q= (a
n
q
n-2
++a
2
) + a
1
/q a
1
(N
I2
)
b
b
/q= a
n
q
n-k-1
+a
n-1
q
n-k-2
++a
k+1
+ a
k
/q a
k
(N
Ik
)
(N
I(k+1)
)
b
(N
I(n-1
)
b
/q= a
n
+ a
n-1
/q a
n-1
(N
In
)
b
(N
In
)
b
/q= 0 + a
n
/q a
n
102
Sisteme de calcul i operare
Algoritmul se ncheie cnd partea ntreag a ctului devine nul.
Cifra a
n
reprezint cifra cea mai semnificativ iar a
0
este cifra cea mai puin
semnificativ.
Exemplul 1
Fiind dat numrul (248)
10
s se fac conversia sa n sistemele: binar,
octal i hexazecimal. (Numerele reprezentate n sistemul zecimal, n mod
obinuit, se scriu fr specificarea bazei de numeraie.)
Rezolvare.
a. Conversia n binar
248/2=124 + 0/2 0 (a
0
)
124/2= 62 + 0/2 0 (a
1
)
62/2= 31 + 0/2 0 (a
2
)
31/2= 15 + 1/2 1 (a
3
)
15/2= 7 + 1/2 1 (a
4
)
7/2= 3 + 1/2 1 (a
5
)
3/2= 1 + 1/2 1 (a
6
)
1/2= 0 + 1/2 1 (a
7
)
(248)
10
=(11111000)
2
b. Conversia n octal
248/8=31 + 0/8 0 (a
0
)
31/8= 3 + 7/8 7 (a
1
)
3/8= 0 + 3/8 3 (a
2
)
(248)
10
=(370)
8
c. Conversia n hexazecimal
248/16=15 + 8/16 8 (a
0
)
15/16= 0 + 15/16 F (a
1
)
(248)
10
=(F8)
H
103
Bazele numerice ale calculatoarelor
Calculul simplificat pentru conversia n:
binar octal hexazecimal
248 0 248 0 248 8
124 0 31 7 15 15
62 0 3 3 0
31 1 0
15 1
7 1
3 1
1 1
0
Aadar, (248)
10
=(11111000)
2
=(370)
8
=(F8)
H
4.2.2 Conversia rapid
n cazurile n care ntre cele dou baze de numeraie (implicate n
conversie) exist o relaie de genul:
b
1
=b
2
p
(b
1
i b
2
sunt cele dou baze, p este numr natural mai mare sau egal cu 2)
atunci conversia se poate realiza mai rapid.
Pentru a face conversia din baza b
2
(baza mai mic) n baza b
1
, se
mparte numrul reprezentat n b
1
n grupe de cte p cifre, de la dreapta la
stnga pentru partea ntreag i de la stnga la dreapta pentru partea
fracionar. Dac ultimul grup de cifre nu are exact p cifre, se completeaz
cu zerouri pentru a se obine un grup de p cifre.
Pentru a face conversia din baza b
1
(baza mai mare) n baza b
2
,
pentru fiecare cifr a numrului din baza b
1
se asociaz un grup de p cifre n
baza b
2
, obinndu-se astfel numrul n noua baz b
2.
104
Sisteme de calcul i operare
Exemplul 2.
Pentru a face conversia din baza 2 n baza 8 sau 16 se poate porni de
la reprezentarea n baza 2 a numrului i deoarece 8=2
3
iar 16=2
4
, se pot
face grupri de 3 respectiv 4 cifre binare pentru a obine reprezentarea n
aceste baze. n cazul numerelor ntregi gruparea se face ncepnd de la
CCMPS (de la dreapta la stnga numrului).
(248)
10
=( 11 111 000 )
2
=(370)
8
(248)
10
=( 1111 1000 )
2
=(F8)
H
Exemplul 3.
Pentru a face conversia din baza 8 n baza 2 vom nlocui fiecare
cifr a numrului scris n baza 8 cu un grup de 3 cifre binare, conform
tabelului 4.2.
Conversia rapid din baza 8 n baza 2
Tabelul 4.2
Cifra din baza 8 Grupul de cifre n baza 2
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Folosind datele din tabelul anterior, numrul (734)
8
= (111 011 100)
2
prin conversie direct.
Exemplul 4.
Pentru a face conversia din baza 16 n baza 2 vom nlocui fiecare
cifr a numrului scris n hexazecimal cu un grup de 4 cifre binare, conform
tabelului 4.3.
Conversia rapid din baza 16 n baza 2
105
Bazele numerice ale calculatoarelor
Conversia rapida din baza 16 in baza 2
T
abelul 4.3
Cifra din hexazecimal Grupul de cifre n baza 2
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111
Folosind datele din tabelul anterior, numrul (5A2)
16
= (0101 1010
0010)
2
prin conversie direct.
4.2.3 Conversia numerelor fracionare
Partea fracionar se poate scrie:
(N
F
)
b
=a
-1
q
-1
+ a
-2
q
-2
+ a
-3
q
-3
+
unde: a
-j
reprezint cifre aparinnd sistemului de numeraie q. Conversia
prii fracionare se va reduce la determinarea coeficienilor
a
-k
(k=1,2,) prin nmuliri succesive:
(N
F
)
b
q=a
-1
+ a
-2
q
-1
+ a
-3
q
-2
+ a
-1
(N
F1
)
b
(N
F1
)
b
q=a
-2
+ a
-3
q
-1
+ a
-4
q
-2
+ a
-2
(N
F2
)
b
106
Sisteme de calcul i operare
unde: a
-1
reprezint cifra cea mai semnificativ a prii fracionare. Teoretic,
algoritmul ar trebui s se ncheie cnd partea fracionar devine egal
cu zero, ceea ce se ntmpl ntr-un numr limitat de cazuri.
n practic, procedeul are un numr finit de pai, n funcie de
precizia aleas. De exemplu, pentru a obine o precizie bun, pentru fiecare
cifr zecimal trebuie calculate 4 cifre binare (n cazul conversiei din
zecimal n binar).
Exemplul 5
Fiind dat numrul (0,251)
10
s se realizeze conversia n sistemele:
binar, octal i hexazecimal.
Rezolvare.
a. Conversia n octal
0,2518=2 + 0,008 2 (a
-1
)
0,0088=0 + 0,064 0 (a
-2
)
0,0648=0 + 0,512 0 (a
-3
)
0,5128=4 + 0,096 4 (a
-4
)
0,0968=0 + 0,768 0 (a
-5
)
(0,251)
10
=(0,20040)
8
b. Conversia n hexazecimal
0,25116=4 + 0,016 4 (a
-1
)
0,01616=0 + 0,256 0 (a
-2
)
0,25616=4 + 0,096 4 (a
-3
)
(0,251)
10
=(0,404)
H
107
Bazele numerice ale calculatoarelor
c. Conversia n binar
0,2512=0 + 0,502 0 (a
-1
)
0,5022=1 + 0,004 1 (a
-2
)
0,0042=0 + 0,008 0 (a
-3
)
0,0082=0 + 0,016 0 (a
-4
)
0,0162=0 + 0,032 0 (a
-5
)
0,0322=0 + 0,064 0 (a
-6
)
0,0642=0 + 0,128 0 (a
-7
)
0,1282=0 + 0,256 0 (a
-8
)
0,2562=0 + 0,512 0 (a
-9
)
0,5122=1 + 0,024 1 (a
-10
)
0,0242=0 + 0,048 0 (a
-11
)
0,0482=0 + 0,096 0 (a
-12
)
0,0962=0 + 0,192 0 (a
-13
)
0,1922=0 + 0,382 0 (a
-14
)
0,3822=0 + 0,762 0 (a
-15
)
0,7622=1 + 0,524 1 (a
-16
)
0,5242=1 + 0,048 1 (a
-17
)
(0,251)
10
=(0,01000000010000011)
2
Calculul simplificat pentru conversia n:
binar octal hexazecimal
0 251 0 251 0 251
0 502 2 008 4 016
1 004 0 064 0 256
0 008 0 512 4 096
0 016 4 096
0 032 0 768
0 064
0 128
0 256
0 512
1 024
108
Sisteme de calcul i operare
Conversia n octal sau hexazecimal se realizeaz i din reprezentarea
binar a numrului, prin gruparea a cte trei, respectiv patru cifre binare.
Gruparea se va face de la stnga spre dreapta (invers dect n cazul prii
ntregi).
Astfel, (0,251)
10
= (0, 010 000 000 100 000 110)
2
= (0, 200405)
8
(0,251)
10
= (0, 0100 0000 0100 0001 1000)
2
= (0, 40418)
H
Exemplul 6
Fie numrul (23,65)
10
. S se realizeze conversia n sistemele: binar,
octal i hexazecimal.
Rezolvare.
Conversia prii
ntregi
Conversia prii
fracionare
23 1 0 65
11 1 1 30
5 1 0 60
2 0 1 20
1 1 0 40
0 0 80
1 60
1 20
0 40
Deci: (23,65)
10
=(23)
10
+ (0,65)
10
=(10111)
2
+ (0,10100110)
2
(23,65)
10
= (1 0 111,1010 0110 )
2
= (27,514)
8
= (17,A6)
H
109
Bazele numerice ale calculatoarelor
Exemplul 7.
S se fac conversia din binar n zecimal a numrului (1100011)
2
.
(1100011)
2
=12
6
+ 12
5
+ 02
4
+ 02
3
+ 02
2
+ 12
1
+ +12
0
= (99)
10
Exemplul 8.
Conversia din binar n zecimal a numrului (110,101)
2
(110,101)
2
=12
2
+ 12
1
+ 02
0
+ 12
-1
+ 02
-2
+ 12
-3
= 6 + 0,5 + 0,125 =
= (6,625)
10
Exemplul 9.
Conversia din octal n zecimal a numrului (235)
8
.
(235)
8
=2 8
2
+ 38
1
+ 58
0
=128 + 24 + 5=(157)
10
Exemplul 10.
Conversia din hexazecimal n zecimal a numrului (23F)
H
.
(23F)
H
=216
2
+ 316
1
+ 1516
0
=512 + 48 + 15=(575)
10
4.3 Reprezentarea binar a informaiei numerice
Informaia numeric se reprezint n calculatoare ntr-unul dintre
formatele:
n virgul fix (VF);
n virgul mobil (VM);
prin coduri numerice (cel mai utilizat este codul 8421).
110
Sisteme de calcul i operare
4.3.1 Reprezentarea n virgul fix (VF)
a) Reprezentarea prin mrime i semn (Cod direct - CD).
Un numr reprezentat prin mrime i semn se poate scrie conform
relaiei:
N a 2 + a 2
CD
n
n
i= m
n-1
i
i
=
n
a =
0 N
1 N 0
dac
dac
0
p
a
n
este bit de semn, iar a
i
{0,1} pentru i m, (n 1) = i au fost obinute
n urma conversiei numrului (N) n sistemul de numeraie binar. Macheta
de reprezentare a numrului N este:
Observaie. S-a considerat c partea ntreag se reprezint prin n cifre
binare, iar partea fracionar prin m cifre binare:
dac n = 0 se obine reprezentarea numerelor subunitare;
dac m = 0 se obine reprezentarea numerelor ntregi.
111
Bazele numerice ale calculatoarelor
Exemplu.
S se reprezinte n cod direct (pe 16 bii) numrul (27)
10
, respectiv
numrul -(27)
10
.
Rezolvare.
(27 ) = (11011) - -- (27 ) (0000000000011011)
- (27 ) (1000000000011011)
10 2 10
CD
10
CD
=
=
f
b
2
2
semn
b) Reprezentarea prin complement fa de 1 ( cod invers - CI)
Un numr reprezentat n cod invers se poate scrie:
N
0 2 + a 2 N 0
1 a
2
N 0
CI
n
i= m
n-1
i
i
i= m
n-1
i
i
=
+
-
n
-
dac
dac 2 p
a
i i
= 1 a pentru i m, (n 1) = iar a
i
reprezint cifrele binare ale
numrului N.
Observaie.
Reprezentarea prin complement fa de 1 se obine astfel:
1. Fie calculnd:
N
CI
=
n+1
2 -| N
CD
| -
- m
2
N
CD
este reprezentarea n cod direct a valorii absolute a numrului N.
112
Sisteme de calcul i operare
2. Fie prin inversarea cifrelor binare (inclusiv cifra de semn) din
reprezentarea n cod direct a numrului n valoare absolut.
Exemplu.
S se reprezinte n cod invers numerele (14)
10
i -(14)
10
(reprezentarea pe un octet).
Rezolvare.
* Numerele pozitive se reprezint n CI la fel ca i n CD.
(14
10
) = (1110
2
) (14
10
)
CD, CI
= ( 1110 )
0000
semn
CI pentru -(14)
10
se poate calcula n dou variante:
1.
N
CI
=
8
i=0
7
i
i 0
2 - a 2 2 -
a
i
( i 1,6 = ) reprezint cifrele binare ale numrului (14)
10
, iar a
7
="0" este
cifra de semn. Calculnd:
1 0000 0000 -
0000 1110
Aadar:
- (14) (1111 0001)
CI
2
=
semn
1111 0010 -
1
1111 0001
113
Bazele numerice ale calculatoarelor
2. Acelai rezultat se obinea dac se pornea de la reprezentarea n
CD a
c. Reprezentarea prin complement fa de 2 (cod compl tar - CC)
unde:
i
numrului n valoare absolut, adic (14)
10
, i se inversau toate cifrele
binare.
(14
10
)
CD
= (0000 1110
2
)
- (14
10
)
CI
= (1111 0001
2
)
emen
Forma de scriere n cod complementar este:
N
0 2 + a 2
1
~
a
2
pentru N 0
CC
n
i= m
n-1
i
i
i= m
n-1
i
i
=
+
pentru N 0
n
2 p
~
a 2 =
a
2 + 2
i= m
i
i
i= m
i
i -m
n-1 n-1
a a
i i
= 1 iar a
i
(pentru i=n-1, n-2,...,0,...,-m) reprezint cifrele binare
umrulu
Codul complementar al unui numr se poate obine astfel:
1. Fie calculnd:
| N| are aceeai semnificaie
ale n i | N|.
CC
N 2 - | N|
n 1
CD
=
+
114
Sisteme de calcul i operare
ca la reprezentarea n CI;
2. Fie adunnd un 1 la CCMPS a reprezentrii numrului n CI;
3. Dac se consider reprezentarea n CD a numrului n valoare
absolut, pentru obinerea codului complementar, ncepnd de la CCMPS -
se las neschimbate toate cifrele de zero, inclusiv prima cifr binar a crei
valoare este 1; apoi toate celelalte cifre binare se vor inversa, inclusiv cifra
de semn.
Exemplu.
S se reprezinte n CC numerele 14 i -14 (pe un octet).
Rezolvare.
14 (0000 1110 )
CD,CI,CC
2
=
semn
Pentru a calcula CC al numrului -14 vom folosi cele trei metode.
1.
- (14 )
2 a 2
10
CC
8
i=0
7
i
i
=
-
a
i
(i=16) fiind cifrele binare ale
numrului zecimal 14, iar a
7
= 0 cifra de
semn.
- (14) (1111 0010)
10
CC
2
=
1 0000 0000 -
0000 1110
1111 0010
115
Bazele numerice ale calculatoarelor
2.
- (14) (1111 0001)
1
- (14) (1111 0010 )
CI
2
CC
2
=
=
Cifre binare nemodificate
odifica 0 1 i 1 0.
n sistemul octal sau hexazecimal vom avea:
Gruparea a trei cifre binare (respectiv patru cifre binare) se face
Obse .
ulatoarele IBM-PC reprezentarea n virgul fix se face pentru
nume
format ntreg pe cuvnt (word), avnd macheta:
3.
14 00001110
2
=
CD
( )
Cifrele binare se vor m
= 14 11110010
2
CC
( )
- (14) (362 ) = (F2 )
CC
8 H
=
ncepnd de la CCMPS (pentru numerele ntregi).
rvaie
n calc
rele ntregi. Se utilizeaz formatele:
116
Sisteme de calcul i operare
formatul scurt:
formatul lung:
unde S este bitul de semn i
<
0 N dac 1
0 N dac 0
= S
iar I
i
(i=014|30|62) sunt cifrele reprezentrii binare a numrului. Dac N<0
(numr negativ) se utilizeaz reprezentarea prin complement fa de 2 (cod
complementar).
n tabelul 4.4 sunt prezentate formatul, precizia i domeniul de valori
ale datelor reprezentate n virgul fix pentru Intel.
Lungimea, precizia i domeniul de valori
ale datelor reprezentate n virgul fix la Intel
Tabelul 4.4
Tipul Lungime Precizie
Domeniul de
valori (binar)
Domeniul de valori
(zecimal)
Format
word
16 15 -2
15
2
15
-1 -32768 32767
Format
scurt
32 31 -2
31
2
31
-1 -2.14*109 2.14*109
Format
lung
64 63 -2
63
2
63
-1 -9.22*1018 9.22*1018
117
Bazele numerice ale calculatoarelor
Exist o serie larg de aplicaii ce necesit numere care nu sunt
ntregi. Exist, de asemenea, mai multe modaliti de reprezentare a
numerelor reale fracionare.
Una dintre modaliti este virgula fix, n care folosim aritmetica
numerelor ntregi i ne imaginm virgula undeva n alt parte dect la
dreapta bitului CMPS.
Adunarea a dou numere astfel reprezentate poate fi fcut n acelai
mod ca i o adunare ntreag, n timp ce nmulirea necesit o deplasare
de bii.
De-a lungul anilor au fost propuse i alte reprezentri ce utilizau fie
stocarea logaritmului numerelor i executarea unei nmuliri prin adunarea
logaritmilor, fie foloseau o pereche de ntregi (a,b) pentru reprezentarea
fraciei a/b.
Dintre toate aceste propuneri, una singur a avut succes pe scar
larg: reprezentarea n virgul mobil, prezentat n continuare.
4.3.2 Reprezentarea n virgul mobil
n cazul reprezentrii numerelor n virgul mobil, se pleac de la
faptul c un numr N se poate scrie sub forma: N=(f)
b
*b
E
, unde:
b reprezint baza sistemului de numeraie utilizat (mai frecvent
se utilizeaz baza 2 sau 16);
E exponentul real;
f partea fracionar a numrului.
Reprezentarea n calculator, implic existena a trei cmpuri, acestea
fiind:
bitul de semn:
<
0 N dac 1
0 N dac 0
= S
La unele calculatoare reprezentarea numerelor reale pozitive difer
de reprezentarea numerelor negative numai prin bitul de semn.
118
Sisteme de calcul i operare
Exponentul (cunoscut i sub denumirea de caracteristic), are o
valoare determinat prin relaia:
EXP = exponent real + constant n exces
Constanta n exces se stabilete n funcie de format i de calculator
i are ca scop eliminarea unei zone n care s fie specificat semnul
corespunztor exponentului real. Se pot reprezenta n acest mod i numere
negative folosind acelai tip de reprezentare.
Fracia (sau mantisa). Numrul de cifre binare corespunztoare
acestei zone variaz, de asemenea, n funcie de calculator i
formatul utilizat. De regul, fracia trebuie s fie normalizat,
respectnd relaia:
1 < ) (f
b
1
b
Pentru reprezentarea n virgul mobil a unui numr real N, ntr-un
calculator din familia IBM-PC se consider:
N=2
E
(f)
2
1(f)
2
<2 iar (f)
2
=I
0
f
1
f
2
...f
n
(I
0
= 1 iar valoarea lui n depinde de
formatul ales).
De regul se utilizeaz urmtoarele formate:
1) Formatul real binar
simpl precizie, avnd macheta:
119
Bazele numerice ale calculatoarelor
dubl precizie:
S este bit de semn (S=0 dac N0 i S=1 dac N<0);
f
n
- cifrele binare ale fraciei normalizate;
E
i
- cifrele binare ale zonei de exponent;
EXP=E + (81)
H
.
Dac zona exponent este egal cu zero, numrul zecimal este egal cu
zero. Dac zona exponent este diferit de zero, atunci numrul zecimal va fi
determinat astfel:
2) Formatul real sau formatul IEEE (Institute of Electrical and
Electronics Engineers) 754, aprut n anul 1985:
2
* ) > fractie < 0.1 ( > S >=< N <
) (80 > EXP <
2
h
simpl precizie (format scurt), avnd macheta:
dubl precizie (format lung), cu macheta:
unde:
S - bit de semn (S=0 dac N0 i S=1 dac N<0);
f
i
- cifrele binare ale zonei exponent (EXCES=127 sau 1023);
EXP = E + 127 [(7F)
H
] - pentru format scurt;
EXP = E + 1023 [(3FF)
H
] - pentru format lung.
120
Sisteme de calcul i operare
format temporar (sau real extins), cu macheta:
unde:
S - bit de semn;
I
0
- bitul prii ntregii, ce se memoreaz n formatul temporar,
implicit n formatul scurt i lung;
f
i
- cifrele binare ale fraciei;
E
i
- cifrele binare ale zonei exponent,
EXP = E + 16383 [(3FFF)
H
]
Dac exponentul este egal cu zero, atunci numrul este egal cu zero.
Dac exponentul nu este egal cu zero, numrul zecimal se va calcula dup
relaia:
<N>=<S>*(1.<fracie>)
2
*2
<EXP>-EXCES
Exemplu.
S se reprezinte n virgul mobil (n format binar ct i n format
real) simpl precizie numerele: N
1
= 1 i N
2
= -1.
Rezolvare.
N
1
= 12
0
; N
2
= -12
0
a) Format binar
1
VM
H
N (8100 0000)
=
121
Bazele numerice ale calculatoarelor
2
VM
H
N (8180 0000)
=
b) Format real
N
1
=(3F800000)
H
N
2
=(BF800000)
H
Exemplu
Fie N
1
= (8561 0000)
H
- reprezentarea n virgul mobil simpl
precizie format binar. S se determine numrul din zecimal.
Rezolvare.
N
1
=2
5
(0,1110000100...0)
2
=2
5
x(2
-1
+2
-2
+2
-3
+2
-8
) = 2
4
+2
3
+2
2
+2
-3
=28,125
4.3.3 Numere i valori speciale
n cadrul reprezentrii valorilor numerice pentru microprocesorul
Intel, exist o serie de numere i valori ce au o reprezentare special,
prezentate n continuare. Exist astfel:
Zerouri cu semn. n acest sens, valoarea 0 poate fi reprezentat
drept +0 sau -0 n funcie de bitul de semn. Ambele reprezentri
sunt egale ca valoare. Semnul unui rezultat cu valoare 0 depinde
de operaia efectuat i de modalitatea de rotunjire.
Numere finite normalizate si denormalizate.
+, - reprezint valoarea maxim pozitiv, respectiv valoarea
minim negativ pentru numere reale ce poate fi reprezentat n
virgul mobil. Valoarea infinit este totdeauna reprezentat de o
fracie 0 i de exponentul maxim permis de formatul respectiv
(de exemplu 255 n format simpl precizie). Sunt generate
excepii atunci cnd utilizarea unei valori infinite ca operand
surs conduce la o operaie invalid.
122
Sisteme de calcul i operare
Valori NaN (Not a Number). Aceste valori nu fac parte din
mulimea numerelor reale. Reprezentarea lor se face prin
intermediul unui exponent maxim acceptat de reprezentarea
respectiv i a unei fracii diferit de zero. n acest caz bitul de
semn este ignorat.
Numere finite normalizate i denormalizate
n aceast categorie intr numerele diferite de zero finite. Numerele
normalizate reprezint numerele ce pot fi codificate ntr-o form
normalizat ntre 0 i . n reprezentarea de mai jos, acest grup include
toate numerele cu exponeni modificai ntre 1 i 254 (ntre 126 i 127).
Atunci cnd exponentul modificat este 0, numerele mai mici pot fi
reprezentate fcnd bitul prii ntregi zero. Numerele din acest domeniu se
numesc numere denormalizate. Acest lucru duce la scderea preciziei
(numrul de bii semnificativi ai fraciei este redus datorit apariiei
zerourilor de la nceput).
n momentul normalizrii calculelor n virgul mobil, unitatea n
virgul mobil opereaz cu numere normalizate i produce rezultate
normalizate. Numerele denormalizate reprezint o condiie de excepie
denumit underflow. Un numr denormalizat este calculat prin intermediul
unei tehnici denumit gradual underflow. n figura 4.1 este prezentat un
exemplu al procesului de denormalizare, iar n figura 4.2 sunt nfiate
reprezentrile valorilor +0, -0 i a numerelor normalizate i denormalizate
finite.
Figura 4.1 Exemplu de denormalizare
123
Bazele numerice ale calculatoarelor
Figura 4.2 Reprezentri pentru +0, -0, numere normalizate
i denormalizate finite
Valori NaN (Not A Number)
Standardul IEEE definete dou clase de valori NaN:
QNaN (quiet NaN) au bitul CMS setat (valoarea 1)
SNaN (signaling NaN) au bitul CMS zero.
Valorile QNaN se propag prin operaiile aritmetice fr a indica o
excepie, pe cnd valorile SNaN semnalizeaz n general o excepie
(operaie invalid) atunci cnd apar ca operanzi n operaii aritmetice. n
figura 4.3 sunt nfiate modalitile de reprezentare pentru valorile speciale
+, - i NaN. n figura 4.4 sunt prezentate operaiile ce genereaz valorile
speciale despre care am discutat.
Figura 4.3 Reprezentri pentru +, -, valori NaN
124
Sisteme de calcul i operare
Figura 4.4 Operaii ce genereaz valori speciale
4.3.4 Reprezentarea numerelor ntregi zecimale
codificate binar (BCD)
Pentru reprezentarea numerele folosind codificarea BCD (Binary
Coded Decimal) se utilizeaz dou formate: formatul mpachetat (packed
BCD) i formatul despachetat (unpacked BCD).
Reprezentarea n BCD format mpachetat conine dou cifre
zecimale pe un octet (cifra zecimal mai puin semnificativ pe biii 0 3 i
cifra zecimal mai semnificativ pe biii 4 7).
Datele reprezentate n BCD format despachetat conin o cifr
zecimal pe octet - memorat n biii 0 3, iar biii 4 7 conin informaia
(F)
H
[(1111)
2
].
Microprocesorul accept datele n format BCD mpachetat sau
despachetat, avnd urmtoarea machet de reprezentare pe un octet:
125
Bazele numerice ale calculatoarelor
Exemplu.
S se reprezinte n zecimal codificat binar (n BCD) numerele
zecimale N
1
=9450 i N
2
=78431.
Rezolvare.
N
1
=(1001 0100 0101 0000)
2
- format mpachetat
N
2
=(0111 1000 0100 0011 0001)
2
- format mpachetat
N
1
=(F9F4F5F0)
H
- format despachetat
N
2
=(F7F8F4F3F1)
H
- format despachetat
Pentru reprezentarea numerelor nu s-a impus o anumit lungime a
secvenelor i nu s-a inut cont de semnul numrului.
Pentru calculatoarele compatibile IBM-PC coprocesorul matematic
memoreaz numerele ntregi zecimale pe zece octei - n format mpachetat.
n acest caz macheta de reprezentare este:
unde:
S - bit de semn ( 0 pentru numere pozitive, 1 pentru numere negative);
D
i
- cifr zecimal (dou cifre per octet);
X - bii nefolosii.
Numerele negative se deosebesc de cele pozitive prin bitul de semn.
4.4 Operaii aritmetice n sistemul binar
4.4.1 Adunarea n binar
Tabela operaiei de adunare n binar este:
+ 0 1
0 0 1
1 1
*
10
*
1 se transport la rangul urmtor
126
Sisteme de calcul i operare
Exemplu.
S se nsumeze n binar (00010101)
2
cu (10010111)
2
. Vom avea:
(00010101)
2
+ (21)
10
+
(10010111)
2
(151)
10
(10101100)
2
(172)
10
4.4.2 Scderea n binar
Tabela operaiei de scdere n binar este:
Desczut
- 0 1
Scztor 0 0 1
1
*
1 0
*
Rezultat datorit mprumutului din rangul superior
Exemplu.
S se scad n binar:
(11011)
2
- (27)
10
(01111)
2
(15)
10
(01100)
2
(12)
10
Observaie. n calculator operaia de scdere se reduce la o operaie de
adunare prin utilizarea codului invers sau a codului complementar.
127
Bazele numerice ale calculatoarelor
4.4.3 nmulirea n binar
Tabela nmulirii n binar este:
0 1
0 0 0
1 0 1
Exemplu.
S se efectueze nmulirea: (1101)
2
x (1001)
2
.
1101
2
1001
2
1101
2
0000
2
0000
2
1101
2
1110101
2
Deci (1101)
2
x (1001)
2
= (1110101)
2
(13)
10
x (9)
10
=(117)
10
128
Sisteme de calcul i operare
4.4.4 mprirea n binar
Cea mai simpl metod este scderea repetat a mpritorului din
demprit.
Exemplu.
S se efectueze mprirea: (1010001)
2
:(1001)
2
=(1001)
2
.
n acest caz mprirea s-a efectuat fr rest: (81)
10
:(9)
10
=(9)
10
.
Exemplu.
S se efectueze mprirea: (100011)
2
: (110)
2
= (101,110)
2
.
n aceast situaie operaia de mprire poate continua, astfel nct
aproximarea rezultatului s fie ct mai bun.
Operaiile n sistemul octal sau hexazecimal se vor efectua conform
regulilor de adunare i nmulire ce sunt prezentate n tabelele 4.5 4.8.
129
Bazele numerice ale calculatoarelor
Adunarea n sistemul hexazecimal
Tabelul 4.5
+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 1 2 3 4 5 6 7 8 9 a B C D E F
1 1 2 3 4 5 6 7 8 9 A B C D E F 1
2 2 3 4 5 6 7 8 9 A B C D E F 10 1
3 3 4 5 6 7 8 9 A B C D E F 10 11 1
4 4 5 6 7 8 9 A B C D E F 10 11 12 1
5 5 6 7 8 9 A B C D E F 10 11 12 13 1
6 6 7 8 9 A B C D E F 10 11 12 13 14 1
7 7 8 9 A B C D E F 10 11 12 13 14 15 1
8 8 9 A B C D E F 10 11 12 13 14 15 16 1
9 9 A B C D E F 10 11 12 13 14 15 16 17 1
A A B C D E F 10 11 12 13 14 15 16 17 18 1
B B C D E F 10 11 12 13 14 15 16 17 18 19 1
C C D E F 10 11 12 13 14 15 16 17 18 19 1 1
D D E F 10 11 12 13 14 15 16 17 18 19 1 1 1
E E F 10 11 12 13 14 15 16 17 18 19 1 1 1 1
F F 10 11 12 13 14 15 16 17 18 19 1 1 1 1 1
130
Sisteme de calcul i operare
nmulirea n sistemul hexazecimal
Tabelul 4.6
* 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9 A B C D E F
2 0 2 4 6 8 A C E 10 12 14 16 18 1A 1C 1E
3 0 1 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D
4 0 4 8 C 10 14 18 1C 20 24 28 2C 30 34 38 3C
5 0 5 A F 14 19 1E 23 28 2D 32 37 3C 41 46 4B
6 0 6 C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A
7 0 7 E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69
8 0 8 10 18 20 28 30 38 40 48 50 58 60 68 70 78
9 0 9 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87
A 0 A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96
B 0 B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5
C 0 C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4
D 0 D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3
E 0 E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2
F 0 F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1
131
Bazele numerice ale calculatoarelor
Adunarea n sistemul octal
Tabelul 4.7
+ 0 1 2 3 4 5 6 7
0 0 1 2 3 4 5 6 7
1 1 2 3 4 5 6 7 10
2 2 3 4 5 6 7 10 11
3 3 4 5 6 7 10 11 12
4 4 5 6 7 10 11 12 13
5 5 6 7 10 11 12 13 14
6 6 7 10 11 12 13 14 15
7 7 10 11 12 13 14 15 16
nmulirea n sistemul octal
Tabelul 4.8
* 0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7
2 0 2 4 6 10 12 14 16
3 0 3 6 11 14 17 22 25
4 0 4 10 14 20 24 30 34
5 0 5 12 17 24 31 36 43
6 0 6 14 22 30 36 44 52
7 0 7 16 23 34 45 52 61
132
Sisteme de calcul i operare
4.5 Operaiile aritmetice n virgul fix (VF)
4.5.1 Adunarea n cod direct (CD)
Se adun mrimile numerelor, fr cifra de semn i se d rezultatului
semnul comun celor dou numere. Fie:
1
CD
n
n
i= m
n-1
i
i
i
2
CD
n
n
i= m
n-1
i
i
i
N a 2 a 2 a
N b 2 b 2 b
{0,1}
=
+
=
+
{0,1}
2
)
t
+
b
+
a
( +
2 a N
+
N
i
i i i
1 - n
m = i
n
n
CD
2 1
=
nsumarea se face ncepnd de la bitul cel mai puin semnificativ al
reprezentrii numerelor, inndu-se cont de transportul de la rangul anterior (t
i
).
Se consider t
-m
=0, iar dac va apare t
n
(transport de la bitul CMS al
mrimii) avem de-a face cu depire binar. Rezultatul operaiei poate fi
corect cnd nu apare transport de la cifra cea mai semnificativ a mrimii
rezultatului i poate fi incorect cnd apare transport.
Pentru simplitate, vom lucra cu numere ntregi reprezentate pe un
octet, primul bit fiind bitul de semn iar urmtorii apte bii pentru mrime
(-128 < N < 127).
133
Bazele numerice ale calculatoarelor
Exemplu
S se nsumeze N
1
cu N
2
, avnd N
1
=(40)
10
i N
2
=(60)
10
.
Rezolvare.
1
CD
2
2
CD
2
1 2
CD
2
N (00101000 )
N (00111100 )
N + N (01100100 )
=
=
=
Verificnd rezultatul o s obinem:
N
1
+N
2
=+(12
6
+12
5
+02
4
+02
3
+12
2
+02
1
+02
0
)=(100)
10
Exemplu
S se calculeze N
1
+ N
2
, avnd N
1
=40 i N
2
=90.
Rezolvare.
Bitul CMS al mrimii rezultatului
N (00101000)
N (01011010 )
N + N (10000010 )
1
CD
2
2
CD
2
1 2
CD
2
=
=
=
Deoarece n acest caz rezult transport de la bitul CMS, rezultatul este
incorect. (Rezultatul nsumrii celor dou numere nu poate fi reprezentat
utiliznd doar apte cifre binare).
134
Sisteme de calcul i operare
Exemplu
S se calculeze N
1
+N
2
, avnd N
1
= -25 i N
2
= -30.
Rezolvare.
Verificnd:
N (1 0011001)
N (1 0011110)
N + N (1 0110111)
1
CD
2
2
CD
2
1 2
CD
2
=
=
=
N
1
+N
2
= -(02
6
+12
5
+12
4
+02
3
+12
2
+12
1
+12
0
)
N
1
+N
2
= -55, rezultat corect
Exemplu
S se calculeze N
1
+N
2
, avnd N
1
= -75 i N
2
= -80
Rezolvare.
N (11001011)
N (11010000 )
N + N (10011011)
1
CD
2
2
CD
2
1 2
CD
2
=
=
=
Apare transport de la bitul CMS, rezultat incorect.
135
Bazele numerice ale calculatoarelor
Dac cele dou numere au semne diferite procedura de lucru este
asemntoare celei ce urmeaz, cnd numerele sunt reprezentate n cod
invers.
4.5.2 Adunarea/scderea n cod invers (CI)
Adunarea/scderea numerelor cu acelai semn
a) Dac ambele numere sunt pozitive, reprezentarea lor n cod invers
este identic reprezentrii n cod direct.
b) Numerele sunt negative, fie N
1
< 0 i N
2
< 0
(n continuare se va lucra cu numere ntregi reprezentate pe un octet).
Vom nota prin N
1
CD
,N
2
CD
reprezentarea n cod direct a valorilor
absolute ale numerelor N
1
i N
2
.
2
|
N 2 N
2
|
N 2 N
0
CD
2
8
CI
2
0
CD
1
8
CI
1
- | -
=
- | -
=
1 2
CI
8 8
2
CD
2
CD
0 0
N + N 2 2 N
| -| N
| - 2 - 2
=
+ -|
Avnd n vedere c rezultatul trebuie s fie de forma:
1 2
CI
8
1
CD
2
CD
0
N + N 2 N
| +| N
| ) - 2
=
-(|
apare necesar ca transportul de la cifra de semn s fie adunat la cifra cea mai
puin semnificativ,
136
Sisteme de calcul i operare
Bitul CMPS
Rezultat Transport de la cifra de semn
Exemplu.
S se calculeze N
1
+N
2
, avnd: N
1
= -30 i N
2
= -14.
Rezolvare
1 2
CI
8
1
CD
2
CD
0 8
N + N 2
0
=
- (| N
| +| N
| ) - 2 + 2 - 2
N ( 1110 0001)
N ( 1111 0001)
N + N (1 1101 0010) +
N + N (1101 0011)
N + N (1010 1100 )
1
CI
2
2
CI
2
1 2
CI
2
1 2
CI
2
1 2
CD
2
=
=
=
=
=
1
Verificnd: N
1
+N
2
= - (12
5
+12
3
+12
2
)=-44, rezultat corect.
137
Bazele numerice ale calculatoarelor
Exemplu.
S se calculeze N
1
+N
2
, avnd N
1
= -81 i N
2
= -72
Rezolvare.
Rezultatul este eronat, deoarece cel mai mic numr ntreg ce se poate
reprezenta n cod invers pe un octet este -127.
Adunarea/scderea numerelor cu semne diferite
Fie N
1
>0 i N
2
<0.
Reprezentarea lui N
1
este aceeai n cod direct i cod invers.
n urma operaiei de adunare obinem:
1
CI
2
2
CI
2
1 2
CI
2
N ( 1010 1110 )
N ( 1011 0110 )
N + N (1 0110 0100 ) +
=
=
=
1
1 2
2
1 2
N + N (0110 0101) N + N > 0
=
CI
2
CI
8
2
CD
0
N 2 N
| - 2
=
-|
1 2
CI
8
2
CD
1
CD
0
N + N 2 N
| -| N
| ) - 2
=
-(|
Rezultatul este pozitiv sau negativ, dup valorile absolute ale
numerelor N
1
i N
2
.
138
Sisteme de calcul i operare
Exemplu.
S se calculeze N
1
+ N
2
, avnd N
1
=91 i N
2
=-20.
Rezolvare.
rezultat corect
Exemplu.
S se calculeze N
1
+N
2
, avnd N
1
= -91 i N
2
= 20.
Rezolvare.
N ( 0101 1011)
N ( 1110 1011)
N + N (1 0100 0110 ) +
N + N (0100 0111)
1
CI
2
2
CI
2
1 2
CI
2
1 2
CI
2
=
=
=
=
1
1
CI
2
2
CI
2
1 2
CI
2
1 2
CD
2
N ( 1010 0100) N ( 0001 0100)
N + N (1011 1000) N + N (1100 0111)
= =
= =
i n acest caz rezultatul este corect. Pentru verificarea rezultatului se
va ine seama de bitul de semn:
dac acesta este "0" reprezentarea rezultatului este acelai n
cod invers i cod direct.
dac acesta este "1" rezultatul este n cod invers i difer de
reprezentarea lui n cod direct.
Scderea a dou numere binare se rezum la adunarea celor dou
numere, utiliznd reprezentarea n cod invers.
Fie N
1
>0 i N
2
>0. Relaia N
1
- N
2
este echivalent cu N
1
+ (-N
2
).
139
Bazele numerice ale calculatoarelor
Observaie. Adunarea n cod invers, ca i n cod complementar, opereaz
asupra tuturor cifrelor binare, inclusiv asupra cifrei de semn.
4.5.3 Adunarea/scderea n cod complementar (CC)
Adunarea /scderea numerelor cu acelai semn
a) Dac ambele numere sunt pozitive, reprezentarea lor n cod
complementar este identic reprezentrii n CD.
b) Numerele sunt negative.
Fie N
1
<0 i N
2
<0:
1
CC
8
1
CD
2
CC
8
2
CD
N 2 N
| N 2 N
|
=
-|
=
-|
Prin N
1
CD
, N
2
CD
am notat reprezentrile n cod direct ale
valorilor absolute pentru numrul N
1
, respectiv N
2
. Deci:
Forma de reprezentare a rezultatului Transportul de la bitul
1 2
CC
8
1
CD
2
CD
8
N + N 2 N
| +| N
| ) + 2
=
-(|
de semn
innd seama de forma de reprezentare a rezultatului, apare necesar
ca transportul de la cifra de semn s se neglijeze.
140
Sisteme de calcul i operare
Exemplu.
S se calculeze: N
1
+N
2
, avnd N
1
=-14 i N
2
=-72
Rezolvare.
Se ignor
Pentru verificarea rezultatului se va calcula:
Observaie. Dac n urma nsumrii a dou numere cu acelai semn, rezultatul
are semn contrar acesta este eronat (valoarea rezultatului nu se poate
ncadra pe numrul de bii utilizat).
Adunarea/scderea numerelor cu semn diferite
Fie N
1
>0 i N
2
<0.
Prin adunare avem:
N ( 1111 0010 ) N ( 1011 1000 )
N + N (1 1010 1010 )
1
CC
2
2
CC
2
1 2
CC
2
= =
=
1 2
CD
2
6 4 2 1
N + N (11010110 ) = - (1 2 + 1 2 + 1 2 + 1 2 ) = - 86
=
2
CC
8
2
CD
N 2 N
|
=
-|
1 2
CC
8
CD
2
CD
1
N + N 2
| N | | N |
=
-( - )
Dac N
1
> N
2
rezultatul va fi pozitiv, iar pentru N
1
< N
2
rezultatul va fi negativ.
141
Bazele numerice ale calculatoarelor
Exemplul.
S se calculeze N
1
+ N
2
, avnd N
1
= 33 i N
2
= -23.
Rezolvare.
Transport care se neglijeaz
Verificarea: N
1
+N
2
= 1 2
3
+1 2
1
=(10)
10
Exemplu.
S se calculeze N
1
+N
2
, avnd N
1
= -33 i N
2
= 3
Pentru verificarea rezultatului se va ine seama de valoarea bitului de
semn:
dac acesta este "0" - rezultatul este pozitiv i reprezentarea este
aceeai n CD i CC;
dac acesta este "1" - rezultatul negativ i avem reprezentri
diferite n CD i CC.
Verificarea rezultatului anterior:
1
CC
2
2
CC
2
N ( 0010 0001) N ( 1110 1001)
= =
1
CC
2
2
CC
2
1 2
CC
2
N ( 1101 1111) N ( 0001 0111)
N + N ( 1111 0110 )
= =
=
1 2
CD
2
1 2
10
N + N (1000 1010) N + N = - (10)
=
_
1 2
CC
2
N + N (1 0000 1010 )
=
142
Sisteme de calcul i operare
4.6 Operaii aritmetice n virgul mobil (VM)
a) Adunarea/scderea
Fie numerele N
1
>0 i N
2
>0, ce se pot scrie:
1
n1
11 12 13 1k
2
n1
1
2
2
n2
21 22 23 2k
2
n2
2
2
N = 2 x (0, b b b ... b
) = 2 x(f
)
N = 2 x (0, b b b ... b
) = 2 x(f
)
unde b
ij
{0,1} pentru i=1,2 i
j = 1, k
, valoarea lui k depinde de numrul
de cifre binare utilizate pentru reprezentarea prii fracionare.
a
1
) n
1
=n
2
N
1
+N
2
=2
n1
(f
1
+f
2
)
Dac f
1
+f
2
1 sau f
1
-f
2
< 1/2 , rezultatul se va normaliza, prin
deplasarea cu o poziie spre stnga sau dreapta virgulei, concomitent cu
adunarea sau scderea unei uniti din zona exponent.
a
2
) n
1
n
2
, n
1
> n
2
.
Pentru a aduna/scdea cele dou numere, trebuie s aib acelai
exponent. Deoarece n
1
> n
2
, putem scrie:
2
n
2
21 22 2[k-(n -n )] N =2 x
(0, 0....0 b b .... b )
1
1 2
Un numr de (n
1
-n
2
) zerouri
n continuare se va proceda ca n cazul precedent; dac n urma
efecturii adunrii/scderii fracia rezultat nu este normalizat se va
normaliza modificnd corespunztor i exponentul.
143
Bazele numerice ale calculatoarelor
b) nmulirea i mprirea
N = 2 (f
) N = 2 (f
)
N * N = 2 x(f x f ) iar
N / N = 2 x(f / f )
1
n
1
2
2
n
2
2
1 2
n +n
2
1 2
1 2
n -n
2
1 2
1 2
1 2
1 2
Operaiile de nmulire/mprire asupra zonelor de fracie se
realizeaz prin nsumri (scderi) repetate. Dac nu este normalizat, fracia
rezultat se va normaliza.
4.7 Operaii aritmetice n codul numeric 8421
4.7.1 Adunarea n 8421
Adunarea numerelor n zecimal codificat binar (8421) se face binar,
rang cu rang pe fiecare grup de patru cifre binare, cu adugarea, eventual, a
unor corecii.
Fie a i b dou cifre zecimale codificate binar (n 8421) care se
adun; rezultatul c = a + b poate fi:
corect, i nu este necesar s se aplice nici o corecie dac:
0000< c< 1001;
incorect i se impune corecia, adunnd 0110 n situaiile:
1010< c< 1111 - aceast reprezentare nu corespunde unei cifre
n zecimal. Adunnd 0110 va determina n transport la rangul
urmtor.
0000< c< 1001, dar a rezultat a cincea cifr binar, aceasta
fiind 1 i reprezint transportul pentru tetrada binar
superioar.
c
corectat
= c + 0110
144
Sisteme de calcul i operare
Exemplu.
S se adune n codul numeric 8421 numerele N=883 i M= 592.
4.7.2 Scderea n 8421
Fie a i b dou cifre zecimale codificate binar, n codul 8421 ce se
scad astfel:
dac c = a-b este un numr pozitiv, acest rezultat este corect;
dac rezultatul este negativ, se realizeaz un mprumut de la
tetrada binar superioar (-0001)
2
, care va reprezenta pentru
tetrada unde este necesar mprumutul valoarea
(10000)
2
=16.Aceast configuraie de cifre [(10000)
2
] se adun la
tetrada a i din aceasta se scade tetrada b, obinndu-se un numr
pozitiv. Noului rezultat i se aplic o corecie prin scderea cifrei
6
10
, adic (0110)
2
. Scderea este necesar deoarece n zecimal
valoarea mprumutului este 10, iar prin reprezentarea ntr-un cod
cu 4 cifre binare mprumutul este 16.
145
Bazele numerice ale calculatoarelor
Exemplu
S se scad, n codul 8421, din numrul N= 1032, numrul M = 974.
146
5
BAZELE LOGICE
ALE CALCULATOARELOR
5.1 Definirea algebrei logice
Algebra boolean (algebra logicii) este o mulime B {} (B = B
2
=
= {0,1}) nzestrat cu dou legi de compoziie:
(*) produs logic (I)
(+) sum logic (SAU)
i o aplicaie a mulimii B n ea nsi notat cu numit complement (NU).
Sunt respectate proprietile:
a) idempoten: x x = x; x x = x
b) comutativitate: x y = y x; x y = y x
c) asociativitate: (x y) z = x (y z)
(x y) z = x (y z)
d) absorbie: x (x y) =x ; x (x y) = x
e) distributivitate: x (y z) = (x y) (x z)
x (y z) = (x y) (x z)
147
Sisteme de calcul i operare
f) un element 0, numit prim element, astfel nct:
x 0 = 0; x 0 = x
g) un element 1, numit ultim element, astfel ca:
x 1 = x; x 1 = 1
h) legea dublei negaii: x = x
i) principiul contradiciei: x x = 0
j) principiul terului exclus: x x = 1
k) legile lui de Morgan: x y = x y ; x y = x y
Prin aplicarea de un numr finit de ori a operaiilor , , unor
elemente determinate sau nedeterminate ale unei algebre booleene se obine o
expresie boolean (logic).
Considernd expresia boolean E (x
1
, x
2
,..., x
n
), se numete valoare a
expresiei booleene pentru setul de valori i
1
, i
2
,..., i
n
, valoarea obinut prin
nlocuirea n expresia E a variabilelor x
1
, x
2
,..., x
n
cu valorile i
1
, i
2
,...,i
n
i
efectuarea operaiilor indicate.
Exemplul 1.
E (x
1
, x
2
, x
3
) = x
1
x
2
(x
2
3
x )
E (0 , 0 , 1 ) = 0 0 (0 1) = 0
Spunem c expresia boolean E
1
(x
1
, x
2
,..., x
n
) este echivalent cu
E
2
(x
1
, x
2
,..., x
n
) dac E
1
(i
1j
, i
2j
,..., i
nj
) E
2
(i
1j
, i
2j
,...,i
nj
) pentru j =1, 2
n
.
Exemplul 2.
E
1
(x
1
, x
2
,x
3
) =
2 1 2
x (x x x )
3
E
2
(x
1
, x
2
, x
3
) = (x x ) (x x ) (x x )
1 2 1 3 1 2
E
1
(0,0,0) = E
2
(0,0,0)
E
1
(0,0,1) = E
2
(0,0,1)
E
1
(1,1,1) = E
2
(1,1,1)
148
Bazele logice ale calculatoarelor
Funcia logic (boolean) de n variabile, f(x
1
,x
2
,..,x
n
), este o funcie
definit pe produsul cartezian B
2
X B
2
X...X B
2
cu valori n mulimea B
2
:
f : B
2
X B
2
X...X B
2
B
2
astfel nct f (i
1j
, i
2j
,..., i
nj
) {0,1} j =1 , 2
n
(Unele funcii logice pot fi
incomplet definite).
Exemplul 3.
Fie f: B
2
x B
2
x B
2
B
2
, astfel:
f(0,0,0) = 0, f(0,0,1) = 0, f(0,1,0) =1,
f(0,1,1) = 1, f(1,0,0) = 0, f(1,0,1) = 1, f(1,1,1) = 0.
n figura 5.1 avem reprezentarea grafic a acestei funcii.
Figura 5.1 Reprezentarea grafic a unei funcii
149
Sisteme de calcul i operare
5.2 Modaliti de reprezentare a funciilor logice
Funciile booleene se pot reprezenta fie sub forma unor tabele de
adevr, fie sub forma expresiilor booleene. Cele dou forme de reprezentare
sunt echivalente. Oricrei funcii logice i se poate asocia un tabel de adevr
sau expresia logic corespunztoare. Considerm n continuare cteva
exemple:
Exemplul 4.
Reprezentarea sub form de tabel de adevr a funciilor : NU, SAU,
I, SAU-NU, I-NU.
x y NU SAU I SAU-NU I-NU
f
1
(x)= x
f
2
(x,y)= x y f
3
(x,y)= x y
f
4
(x,y)= x y f
5
(x,y)= x y
0 0 1 0 0 1 1
0 1 1 1 0 0 1
1 0 0 1 0 0 1
1 1 0 1 1 0 0
Exemplul 5.
Fie funcia logic urmtoare:
xy y x y x f = ) , (
Tabelul de adevr asociat este:
150
Bazele logice ale calculatoarelor
Exemplul 6.
Reciproc, dac avem tabelul de adevr al funciei, putem determina
expresia funciei. Din tabelul de adevr, funcia f are valoarea 1 pentru
urmtoarele valori ale lui x i y:
Considerm acum valorile lui x i y pentru care funcia f este zero:
) )( ( ) , (
0 y , 0 x
0 , 0
0 y , 1 x
1 y , 0 x
2
y x y x y x f
y x
sau
=
= =
= =
= =
= =
Verificm faptul c cele dou funcii sunt egale:
) y , x ( f y x y x
y y x y y x x x ) y x )( y x ( ) y , x ( f
1
2
= =
= = =
y x y x y x f
y x
sau
=
= =
= =
= =
= =
) , (
1 y x
1 , 1
1 y x
0 y x
1
151
Sisteme de calcul i operare
5.3 Formele canonice ale funciilor logice
de variabile booleene sau
complemente ale acestora, n care aceeai variabil apare o singur dat.
ilele
x
1
, x
2
ru o funcie de n variabile
booleene se poate scrie astfel:
n concluzie, forma canonic disjunctiv a unei funcii logice este o
sum ermenilor pentru care funcia are valoarea logic 1.
5.3.2 Sume elementare i maxtermeni
de variabile booleene sau
complemente ale acestora, fr ca aceeai variabil s apar de mai multe ori.
x , x
5.3.1 Produse elementare i mintermeni
Se numete produs elementar un produs
Un mintermen n raport cu variabilele logice x
1
, x
2
,..., x
n
este produsul
elementar n care apar, fie simple, fie complementare, toate variab
,..., x
n
. Un mintermen se va scrie n aa fel nct pentru un set de valori
ale variabilelor booleene s ia valoarea logic 1.
Forma canonic disjunctiv (FCD) pent
2
1, = k pentru 1 = )
i
..., ,
i
,
i
f( iar
0 =
i
dac
x
1 =
i
dac
x
=
x
avnd
x
...
x x
)
i
,...,
i
,
i
f( = )
x
... ,
x
,
x
f(
n
nk k 2 k 1
jk j
jk j
j
i
n
i
2
i
1
i
nk k 2 k 1
2
n
=1 k
n 2 1
jk
nk k 2 k 1
a mint
Se numete sum elementar o sum
Un maxtermen n raport cu variabilele logice x
1
, x
2
, . . , x
n
este o sum
elementar, n care apar, fie simple, fie complementare, toate variabilele
1 2
, ..., x
n
. Un maxtermen se va scrie n aa fel nct pentru un set de valori
ale variabilelor logice s ia valoarea logic 0.
152
Bazele logice ale calculatoarelor
Forma canonic conjunctiv (FCC) pentru o funcie de n variabile se
poate
Aadar, forma canonic conjunctiv reprezint produsul
maxte
Exemplul 7.
Fie funcia f (x, y, z) o funcie boolean care are valoarea logic "1",
dac c
Rezolvare.
elul de valori (tabelul 5.1), n care vom trece mintermenii
(m
i
)
scrie:
f(
1
x
,
2
x
, ... ,
n
x
) =
k =1
2
[f(
1k
i
,
2 k
i
, ... ,
nk
i
) +
i
1
x +
i
2
x + ... +
i
n
x ]
n
1 k 2 k nk
2
1, = k pentru 0 = )
i
... ,
i
,
i
f(
1 =
i
dac
x
0 =
i
dac
x
=
x
avnd
n
nk k 2 k 1
jk j
jk j
i
j
jk
rmenilor pentru care funcia boolean are valoarea logic 0.
el puin dou dintre argumentele sale sunt egale cu "0". S se scrie FCD
i FCC pentru funcia f(x,y,z).
Alctuim tab
i maxtermenii (M
i
). Fiind o funcie de trei variabile vom avea un numr
de 8 seturi de valori (2
3
).
153
Sisteme de calcul i operare
Tabel de adevr pentru funcia f(x,y,z)
Tabelul 5.1
x y z f(x,y,z) m
i
M
i
0 0 0 1
m
0
= x y z
M
0
z = x + y +
0 0 1 1
m
1
= x y z M
1
= x + y + z
0 1 0 1
m
2
= x y z M
2
= x + y + z
0 1 1 0
m
3
= x y z M
3
= x + y + z
1 0 0 1
m
4
= x y z M
4
= x + y + z
1 0 1 0
m
5
= x y z M
5
= x + y + z
1 1 0 0
m
6
= x y z M
6
= x + y + z
1 1 1 0
m
7
M
= x y z
7
= x + y + z
Forma canonic disjunctiv a funciei se va determina aplicnd
relaia
f (x, y, z) = f(0, 0, 0) m + f(0, 0, 1) m + f(0, 1, 0) m +
Folosind proprietile algebrei logice obinem:
f (x,y,z) = m
0
+ m + m
2
+ m
4
=
:
1 0 1 2
+ f(0, 1, 1) m
3
+ f(1, 0, 0) m
4
+ f(1, 0, 1) m
5
+
+ f(1, 1, 0) m
6
+ f (1, 1, 1) m
7
1 1
x y z + x y z + x y z + x y z
154
Bazele logice ale calculatoarelor
Forma canonic conjunctiv a funciei se determin aplicnd relaia:
f
2
(x,y,z) = [f (0,0,0) + M
0
] [f (0,0,1) + M
1
] [f (0,1,0) +
+ M
2
] [ f(0,1,1) + M
3
] [f (1,0,0) + M
4
] [f (1,0,1) + M
5
]
[f (1,1,0) + M
6
] [f (1,1,1) + M
7
]
innd cont de valorile funciei pentru diferitele seturi de valori i
utiliznd proprietile algebrei booleene, se va obine:
f
2
(x, y, z) = M
3
M
5
M
6
M
7
=
(x + y + z)(x + y + z)(x + y + z)(x + y + z)
Forma canonic disjunctiv a funciei este echivalent cu forma
canonic conjunctiv, deci: f
1
(x,y,z) f
2
(x,y,z).
5.3.3 Proprietile mintermenilor i maxtermenilor
Avem o serie de proprieti pentru mintermeni i maxtermeni:
P1. Produsul logic ntre doi mintermeni m
i
i m
j
(i # j) ai unei funcii
booleene de n variabile este egal cu 0:
j i m m
j i
= , 0
P2. Suma logic dintre doi termeni M
i
i M
j
(i # j) ai unei funcii
booleene de n variabile este egal cu 1:
j i M M
j i
= , 1
P3. O funcie boolean de n variabile poate fi reprezentat printr-o
sum logic de mintermeni m
i
(respectiv un produs logic de maxtermeni M
i
)
sub forma:
U
K
1 2
0
1
) ( ) , , (
=
=
n
i
i i n
m x x f
{ } tice caracteris numere - 1 , 0 , ) ( ) , , (
1 2
0
1
=
=
i
i
i i n
n
M x x f
I
K
155
Sisteme de calcul i operare
P4. Complementul unei funcii booleene de n variabile scrise n FCC
poate fi exprimat n mod unic prin relaia:
U
K
1 2
0
1
) ( ) , , (
=
=
n
i
i
i
n
m x x f
iar complementul unei funcii booleene de n variabile scrise n FCD poate fi
exprimat unic astfel:
{ } 1 , 0 , ) ( ) , , (
1 2
0
1
=
=
i
i
i
i
n
n
M x x f
I
K
P5. Dac o funcie boolean de n variabile este scris n FCD i
conine 2
n
termeni distinci de n variabile atunci ea este egal cu 1.
n aceleai condiii, dac funcia este scris n FCC, atunci ea este
egal cu 0.
U
K
1 2
0
1
(FCD) 1 ) , , (
=
= =
n
i
i n
m x x f
I
K
1 2
0
1
(FCC) 0 ) , , (
=
= =
n
i
i n
M x x f
P6. Orice mintermen m
i
al unei funcii booleene de n variabile scrise
n FCD este egal cu produsul logic a 2
n
-1 termeni M
j
, respectiv orice
maxtermen M
i
al unei funcii booleene de n variabile scris n FCC este egal
cu suma logic a 2
n
-1 termeni m
j
:
U
I
K
K
i j
n
j i
n
i j
j i
j m M
j M m
= =
= =
1 2 0 ,
1 2 0 ,
156
Bazele logice ale calculatoarelor
5.4 Existena i unicitatea funciilor logice
Forma canonic disjunctiv, respectiv conjunctiv a unei funcii logice
este unic. Forma canonic disjunctiv (respectiv conjunctiv) a unei funcii
logice se numete i forma normal disjunctiv (respectiv conjunctiv)
perfect.
Forma normal disjunctiv a unei expresii logice este o sum de
produse elementare egal cu expresia dat. Forma normal conjunctiv a unei
expresii logice este un produs de sume elementare egal cu expresia dat.
Forma normal disjunctiv (respectiv conjunctiv) a unei funcii nu este
unic.
Vom considera n continuare cele dou forme canonice att pentru
funcia de o singur variabil ct i pentru funcia de dou variabile.
Funcia boolean de o singur variabil
Fie f : B
2
B
2
o funcie boolean de o singur variabil iar a i b
dou constante booleene. Forma canonic disjunctiv este:
x b ax x f = ) (
Am obinut a = f(1) i b = f(0), valori unic determinate.
x f x f x f FCD
b b b a b a f
a a b a b a f
f(x) x x
=
= = = =
= = = =
= =
) 0 ( ) 1 ( ) ( :
0 1 0 0 0 ) 0 (
0 0 1 1 1 ) 1 (
: lui relatia n 0 , 1 nlocuim
Pentru demonstrarea existenei (n forma canonic disjunctiv), vom
nlocui x pe rnd cu valorile 0 i 1 n relaia anterioar:
= = =
= = =
) 0 ( 1 ) 0 ( 0 ) 1 ( 0 ) 0 ( 0 ) 1 ( ) 0 (
) 1 ( 0 ) 0 ( 1 ) 1 ( 1 ) 0 ( 1 ) 1 ( ) 1 (
f f f f f f
f f f f f f
157
Sisteme de calcul i operare
Pentru forma canonic conjunctiv avem:
) x ) 1 ( f ( ) x ) 0 ( f ( ) x ( f : FCC
a 1 a ) 1 b ( ) 0 a ( ) 0 b ( ) 0 a ( ) 0 ( f
b b 1 ) 0 b ( ) 1 a ( ) 1 b ( ) 1 a ( ) 1 ( f
: f(x) lui relatia n 0 x , 1 x nlocuim
conjunctiv canonic forma - ) x b )( x a ( ) x ( f
=
= = = =
= = = =
= =
=
Am obinut n acest caz: a = f(0) i b = f(1), valori unic determinate.
Pentru demonstrarea existenei (n forma canonic conjunctiv), vom
nlocui x pe rnd cu valorile 0 i 1 n relaia anterioar:
= = = =
= = = =
) 0 ( 1 ) 0 ( ) 1 ) 1 ( )( 0 ) 0 ( ( ) 0 ) 1 ( ( ) 0 ) 0 ( ( ) 0 (
) 1 ( ) 1 ( 1 ) 0 ) 1 ( )( 1 ) 0 ( ( ) 1 ) 1 ( ( ) 1 ) 0 ( ( ) 1 (
f f f f f f f
f f f f f f f
xy d y x c y bx axy ) y , x ( f = - forma canonic disjunctiv
Considerm forma FCD i nlocuim 0 y , 1 y , 0 x , 1 x = = = = n relaia
lui f(x,y). Vom avea:
y x ) 0 , 0 ( f y x ) 1 , 0 ( f y x ) 0 , 1 ( f xy ) 1 , 1 ( f ) y , x ( f : FCD
) 0 , 0 ( f d
) 1 , 0 ( f c
) 0 , 1 ( f b
) 1 , 1 ( f a
=
=
=
=
=
158
Bazele logice ale calculatoarelor
Funcia boolean de dou variabile
Fie f : B
2
B
2
B
2
o funcie boolean de dou variabile iar a, b, c i
d patru constante booleene. Forma canonic disjunctiv este:
n cazul formei canonice conjunctive avem:
) y x d )( y x c ( ) y x b )( y x a ( ) y , x ( f =
nlocuim n aceast relaie x=0, x=1, y=0, y=1 i obinem:
=
=
=
=
) 1 , 1 (
) 0 , 1 (
) 1 , 0 (
) 0 , 0 (
f d
f c
f b
f a
) ) 1 , 1 ( )( ) 0 , 1 ( )( ) 1 , 0 ( )( ) 0 , 0 ( ( ) , ( : y x f y x f y x f y x f y x f FCC =
Demonstrarea existenei n cazul formei canonice disjunctive
y x ) 0 , 0 ( f y x ) 1 , 0 ( f y x ) 0 , 1 ( f xy ) 1 , 1 ( f ) y , x ( f = - forma canonic
disjunctiv.
Considerm expresia de mai sus i nlocuim 0 y , 1 y , 0 x , 1 x = = = = i
obinem:
= = = =
= = = =
= = = =
= = = =
) 0 , 0 ( f 0 0 ) 0 , 0 ( f 0 0 ) 1 , 0 ( f 0 0 ) 0 , 1 ( f 0 0 ) 1 , 1 ( f ) 0 , 0 ( f 0 y x
) 1 , 0 ( f 1 0 ) 0 , 0 ( f 1 0 ) 1 , 0 ( f 1 0 ) 0 , 1 ( f 1 0 ) 1 , 1 ( f ) 1 , 0 ( f 1 y , 0 x
) 0 , 1 ( f 0 1 ) 0 , 0 ( f 0 1 ) 1 , 0 ( f 0 1 ) 0 , 1 ( f 0 1 ) 1 , 1 ( f ) 0 , 1 ( f 0 y , 1 x
) 1 , 1 ( f 1 1 ) 0 , 0 ( f 1 1 ) 1 , 0 ( f 1 1 ) 0 , 1 ( f 1 1 ) 1 , 1 ( f ) 1 , 1 ( f 1 y x
159
Sisteme de calcul i operare
Demonstrarea existenei n cazul formei canonice conjunctive
) y x ) 1 , 1 ( f )( y x ) 0 , 1 ( f )( y x ) 1 , 0 ( f )( y x ) 0 , 0 ( f ( ) y , x ( f : FCC =
onsiderm expresia de mai sus i nlocuim C 0 y , 1 y , 0 x , 1 x = = = = i
obine
5.5 Funciile logice de baz
Considerm f : B
2
X B
2
X...X B
2
B
2.
Atunci vor exista un numr de
f
sau
a lui k=2 , rezult c mulimea funciilor logice
distincte este: N =
k
C = 2 = 2
.
Au fost incluse: funcia zero i funcia unitate.
m:
=
= = =
=
= = =
=
= = =
=
= = =
) 0 , 0 ( f ) 0 0 ) 1 , 1 ( f (
) 0 0 ) 0 , 1 ( f )( 0 0 ) 1 , 0 ( f )( 0 0 ) 0 , 0 ( f ( ) 0 , 0 ( f 0 y x
) 1 , 0 ( f ) 1 0 ) 1 , 1 ( f (
) 1 0 ) 0 , 1 ( f )( 1 0 ) 1 , 0 ( f )( 1 0 ) 0 , 0 ( f ( ) 1 , 0 ( f 1 y , 0 x
) 0 , 1 ( f ) 0 1 ) 1 , 1 ( f (
) 0 1 ) 0 , 1 ( f )( 0 1 ) 1 , 0 ( f )( 0 1 ) 0 , 0 ( f ( ) 0 , 1 ( f 0 y , 1 x
) 1 , 1 ( f ) 1 1 ) 1 , 1 ( f (
) 1 1 ) 0 , 1 ( f )( 1 1 ) 1 , 0 ( f )( 1 1 ) 0 , 0 ( f ( ) 1 , 1 ( f 1 y x
n
2
2 uncii distincte. Funcia fiind de n variabile va putea avea 2
n
mintermeni
maxtermeni. Considernd forma canonic disjunctiv (conjunctiv), o
funcie logic este reprezentat prin suma (produsul) a k minitermeni
(maxtermeni) distinci.
Valoarea maxim
n
j=0
k
j
k 2
n
160
Bazele logice ale calculatoarelor
Exemplul 8.
ea funciilor de dou variabile este prezentat n tabelul 5.2.
e,
analiz
1) Funcia NU: f
10
(x
1
, x
2
,..., x
n
) =
Mulim
Dac f : B
2
X B
2
X ... X B
2
B
2
este o funcie de n variabil
nd tabelul 5.2, putem spune c principalele funcii elementare sunt:
i
x i=1, n
2) Funcia IDENTITATE : f
3
(x
1
, x
2
,..., x
n
) = x
i
i =1, n
3) Funcia I: f
1
(x
1
, x
2
,..., x
n
) = x
1
. x
2
. ... . x
n
, aceast funcie are
valoa
4) Funcia SAU: f
7
(x
1
, x
2
, ..., x
n
) = x
1
+ x
2
+...+ x
n
, ce are valoarea
logic
5) Funcia I-NU, are valoarea logic 1 dac cel puin o variabil are
valoa
rea logic 1 dac toate variabilele au valoarea logic 1.
1 dac cel puin o variabil are valoarea logic 1.
rea logic 0:
14 1 2 n 1 2 n 1 2 n
f (x , x , .. , x ) = x x .. x = x + x + .. + x
6) Funcia SAU-NU, are valoarea logic 0 dac cel puin o variabil
are valoarea logic 1:
8 1 2 n 1 2 n 1 2 n
f (x , x , .., x ) = x + x + .. + x = x x .. x
7) Funcia INHIBARE:
4 1 2 n 1 2 k-1 k k+1 n
f (x , x , ..., x ) = x x x x x .. x
k {1,2,...,n}.
8) Funcia IMPLICARE:
11 1 2 n 1 2 k-1 k k+1 n
f (x , x , .. , x ) = x + x + x + x + x + .. + x
k {1,2,...,n}.
161
Sisteme de calcul i operare
Funciile logice de dou variabile
Tabelul 5.2
x 0 0 1 1 Funcia FCD
Denumirea
funciei
y 0 1 0 1
f
0
0 0 0 0 f
0
=0 f
0
=0 ZERO
f
1
0 0 0 1 f
1
=xy f
1
=m
3
I
f
2
0 0 1 0
f
2
= x y
f
2
=m
2
INHIBARE
f
3
0 0 1 1 f
3
=x f
3
=m
2
+m
3
IDENTITATE
f
4
0 1 0 0
f
4
= x y
f
4
=m
1
INHIBARE
f
5
0 1 0 1
f
5
= y
f
5
=m
1
+m
3
IDENTITATE
f
6
0 1 1 0
f
6
= x y
f
6
=m
1
+m
2
SAU EXCLUSIV
f
7
0 1 1 1
f
7
= x + y
f
7
=m
1
+m
2
+m
3
SAU [INCLUSIV]
f
8
1 0 0 0
f
8
= x + y
f
8
=m
0
SAU-NU [NICI,NOR]
f
9
1 0 0 1
f
9
= x y + xy
f
9
=m
0
+m
3
COINCIDEN
f
10
1 0 1 0
f
10
= y
f
10
=m
0
+m
2
NU
f
11
1 0 1 1
f
11
= x + y
f
11
=m
0
+m
2
+m
3
IMPLICARE
f
12
1 1 0 0
f
12
= x
f
12
=m
0
+m
1
NU
f
13
1 1 0 1
f
13
= x + y
f
13
=m
0
+m
1
+m
3
IMPLICARE
f
14
1 1 1 0
f
14
= x y
f
14
=m
0
+m
1
+m
2
I-NU [NAND]
f
15
1 1 1 1 f
15
=1 f
15
=m
0
+m
1
+m
2
+m
3
UNU
5.6 Simplificarea funciilor logice
5.6.1 Introducere
Simplificarea (minimizarea) funciilor logice are ca efect obinerea
unor funcii n form elementar cu un numr minim de variabile i
elemente constitutive. Minimizarea se poate face fie prin calcul direct
utiliznd procedee algebrice elementare, fie utiliznd diagrame ce conduc la
proceduri rapide de simplificare.
162
Bazele logice ale calculatoarelor
Exemplul 9.
S se minimizeze funcia:
z y x = z y x + z y x + z y x = z) y, f(x,
Rezolvare.
Se tie c:
x y z + x y z = x y z (proprietatea de idempoten).
Folosind aceast proprietate putem scrie:
f(x,y,z)=x y z + x y z + x y z + x y z + x y z + x y z
Folosind proprietile de distributivitate i comutativitate avem:
f(x,y,z)=x y ( z + z ) + x z ( y + y ) + y z ( x + x )
Din principiul teriului exclus: x + x = 1, n final se obine:
f(x,y,z)=x y + x z + y z .
Diagramele de minimizare Veitch i Karnaugh se obin reprezentnd
fiecare mintermen (maxtermen) printr-o suprafa dreptunghiular
elementar.
5.6.2 Diagrame Veitch
a) Pentru o funcie de dou variabile - f (x, y):
163
Sisteme de calcul i operare
b) Pentru o funcie de trei variabile - f (x, y, z):
FCD FCC
164
Bazele logice ale calculatoarelor
a) Pentru o funcie de dou variabile - f (x, y):
5.6.3 Diagramele Karnaugh
b) Pentru o funcie de trei variabile f(x,y,z):
165
Sisteme de calcul i operare
Se i maxtermenii
M
i
- pentru FCC.
c) Pentru o funcie de patru variabile - f(x,y,z,t):
utilizeaz mintermenii m
i
- pentru FCD
d) Pentru o funcie de cinci variabile - f (x, y, z, t , v):
166
Bazele logice ale calculatoarelor
oritmul de minimizare, utiliz Alg nd diagramele Veitch sau
Karna
- Corespunztor unei suprafee extinse se obine un produs
elementar al variabilelor ce nu-i schimb valoarea pe aceast
suprafa, dac s-a folosit FCD, sau o sum elementar a
variabilelor ce nu-i schimb valoarea n FCC. Dac nu este
posibil ca o suprafa elementar s se alipeasc altei suprafee
elementare, pentru aceasta se va scrie expresia ce corespunde
mintermenului / maxtermenului.
n unele cazuri, n practic, anumite combinaii ale valorilor
variabilelor de intrare nu apar niciodat n timp, funcia numindu-se
incomplet definit. Se poate considera c aceste combinaii sunt
nesemnificative pentru determinarea funciei logice de la ieire. Se pot
folosi aceste situaii atribuind suprafeelor elementare respective valoarea
logic 1 sau 0 (R), n funcie de modul n care se poate obine o form mai
simpl pentru funcia logic.
ugh este urmtorul:
- Scrierea valorilor funciei n diagram, scrierea dup 1 (sau
dup 0) dac se folosete FCD (sau FCC) a funciei.
- Gruparea a 2
k
(k = 0,1,2,...) suprafee elementare adiacente, care
au valoarea logic 1 (sau 0 dac s-a folosit FCC), astfel nct s
formeze o suprafa dreptunghiular. n suprafeele extinse se
ncearc includerea tuturor suprafeelor elementare care au
valoarea logic 1 (sau 0 n FCC).
167
Sisteme de calcul i operare
Exemplul 10.
S se simplifice funcia logic f(x,y,z), dat prin tabelul de adevr
prezentat mai jos.
FCD a funciei este:
f
1
(x,y,z) = m
2
+ m
3
+ m
6
+ m
7
= x y z + x y z + x y z + x y z
Diagrama Veitch este:
168
Bazele logice ale calculatoarelor
Diagrama Karnaugh este:
Forma simplificat a FCD este : f
1
(x, y, z) = y
FCC a funciei este f
2
(x, y, z)=M
0
M
1
M
4
M
5
Exemplul 11.
Un ascensor transport greuti cuprinse ntre 500 i 10000 kg.
Sesiz
n funcie de greutate este: a
pentr
ere s se determine funcia de comand a urcrii ascensorului,
tiind
Rezolvare.
valoarea logic 1 pentru contact nchis i valoarea
logic
area greutii ncrcturii ascensorului se face prin nchiderea a trei
contacte a, b, c, fixate sub podeaua cabinei.
Ordinea de nchidere a contactelor
u greutate > 0 kg; b pentru greutate 500 kg; c pentru greutate
10000 kg.
Se c
c acesta poate urca i dac este gol.
Vom atribui
0 pentru contact deschis. Tabelul de adevr pentru funcia cerut este
prezentat n tabelul 5.3.
169
Sisteme de calcul i operare
Tabelul de adevr al funciei de comand a urcrii ascensorului
Tabelul 5.3
a b c f(a,b,c)
0 0 0 1
0 0 1 - La o funcionare normal,
aceste combinaii
nu pot s apar
0 1 0 -
0 1 1 -
1 0 0 0
1 0 1 -
1 1 0 1
1 1 1 0
FCD a funciei va fi: f(a, b, c) a b c a b c =
Pentru simplificarea acestei funcii vom folosi diagrama Karnaugh.
n urma minimizrii, funcia este: f(a, b, c) a b c =
170
Bazele logice ale calculatoarelor
5.7 Circuite logice
5.7.1 Definire i clasificare
Circuitele logice sunt componente electronice interconectate
capabile s realizeze operaii logice. Schema logic reprezint
implementarea unei expresii logice, folosind n acest scop o serie de
simboluri specifice fiecrei funcii logice elementare din cadrul expresiei
respective. Se poate face o clasificare a circuitelor logice, astfel:
dup nivelul de tensiune asociat cifrelor binare (figurile 5.2
i 5.3):
+ circuite logice n logic pozitiv;
+ circuite logice n logic negativ.
dup modul de funcionare n timp:
circuite logice combinaionale;
circuite logice secveniale.
Reprezentarea strilor binare ale semnalelor n circuitele logice se
pot realiza prin dou niveluri de tensiune sau curent. La reprezentarea prin
niveluri de tensiune, cele dou valori de tensiune utilizate se numesc nivelul
pozitiv respectiv nivelul negativ.
Logica pozitiv este logica prin care valoarea logic "1" corespunde
nivelului de tensiune cel mai pozitiv, iar valoarea logic "0" corespunde
nivelului de tensiune cel mai negativ.
Logica negativ este logica pentru care valoarea logic "1" este
reprezentat prin nivelul de tensiune cel mai negativ, iar valoarea logic "0"
corespunde nivelului de tensiune cel mai pozitiv.
Logica pozitiv Logica negativ
Valoarea logic
"0" "1" "0" "1"
Nivelul de tensiune
0
-5 V
-5 V
+5 V
0 V
+5 V
+5 V
0 V
+5 V
0 V
-5 V
-5 V
Figura 5.2 Corelaia dintre valoarea logic i nivelul de tensiune
171
Sisteme de calcul i operare
Figura 5.3 Reprezentarea cifrelor binare n logica pozitiv(a)/negativ (b)
5.7.2 Circuite logice combinaionale
Circuitele logice combinaionale (CLC) sunt acele circuite la care
starea intern nu influeneaz ieirea, deci setul mrimilor de ieire este
complet determinat la orice moment de timp numai de setul mrimilor de
intrare curente.
Figura 5.4 Schem logic combinaional
Se poate scrie c: y
j
(t) = f
j
(i
1
(t), i
2
(t), i
m
(t)) n 1, = j
172
Bazele logice ale calculatoarelor
Analiza schemelor logice combinaionale (SLC - figura 5.4) se face
cu ajutorul tabelelor de adevr, pe baza crora se poate urmri
corespondena intrare - ieire.
Sinteza schemelor logice combinaionale este inversa analizei - se
urmrete obinerea unei scheme logice dup anumite date iniiale care
descriu funcionarea i care permit stabilirea tabelei de adevr, pe baza
creia se scriu funciile logice ce pot fi implementate.
Circuitele logice elementare (de baz) se ncadreaz n grupa
circuitelor combinaionale i sunt circuitele realizate pentru efectuarea de
operaii logice elementare. Se mai numesc i pori logice. Circuitele logice
de baz poart numele funciei logice pe care o realizeaz.
Dispozitivele electronice care stau la baza construciei circuitelor
logice sunt: diodele semiconductoare, tranzistoarele bipolare/MOS,
rezistoare, condensatoare, bobine.
Circuitul logic NU (INVERSOR)
Funcia logic de inversare sau complementare necesit un dispozitiv
activ. Cel mai frecvent se realizeaz cu ajutorul unui tranzistor n montaj
emitor comun. Reprezentarea circuitului logic NU se face prin simbolul din
figura 5.5.
Figura 5.5 Simbolul unui inversor
Tabelul de adevr al funcionrii circuitului logic NU este:
x
f(x)= x
0 1
1 0
173
Sisteme de calcul i operare
Circuitul logic I
Tabelul de adevr asociat circuitului logic I n varianta cea mai
simpl, existnd doar dou intrri, este:
x
1
x
2
f(x
1
,x
2
)= x
1
x
2
0 0 0
0 1 0
1 0 0
1 1 1
Reprezentarea grafic a acestui circuit este:
Figura 5.6 Simbolul circuitului logic I
Se poate realiza o poart logic I cu ajutorul diodelor, deoarece au
dimensiuni reduse, caracteristici de comutaie bune i lucreaz cu tensiuni
mici.
Circuitul logic SAU
Tabelul de adevr asociat circuitului logic SAU n varianta cea mai
simpl, existnd doar dou intrri, este:
x
1
x
2
f(x
1
,x
2
) = x
1
+ x
2
0 0 0
0 1 1
1 0 1
1 1 1
174
Bazele logice ale calculatoarelor
Reprezentarea grafic a acestui circuit este:
Figura 5.7 Simbolul circuitului logic SAU
Circuitul logic I-NU (NAND, NUMAI)
Circuitul logic I-NU se poate realiza combinnd un circuit I cu o
poart NU sau folosind numai tranzistoare. Tabelul de adevr asociat
circuitului NAND este:
x
1
x
2
f(x
1
,x
2
)= x
1
x
2
0
0
1
1
0
1
0
1
1
1
1
0
Reprezentarea grafic a circuitului NAND este:
Figura 5.8 Simbolul circuitului logic I-NU
175
Sisteme de calcul i operare
Circuitul logic SAU-NU (NOR,NICI)
Tabelul de adevr asociat circuitului NOR este:
x
1
x
2
f(x
1
,x
2
)= x
1
+ x
2
0
0
1
1
0
1
0
1
1
0
0
0
Reprezentarea grafic a circuitului SAU-NU este:
Figura 5.9 Simbolul circuitului logic SAU-NU
Circuitul SAU-EXCLUSIV (MODULO 2)
Tabelul de adevr al circuitului SAU-EXCLUSIV este:
x
1
x
2
f(x
1
, x
2
)= x
1
x
2
0
0
1
1
0
1
0
1
0
1
1
0
176
Bazele logice ale calculatoarelor
iar reprezentarea grafic a circuitului SAU-EXCLUSIV este:
Figura 5.10 Simbolul circuitului logic SAU-EXCLUSIV
Acest circuit se poate realiza i cu pori NU, I, SAU:
Figura 5.11 Circuitul SAU EXCLUSIV realizat cu pori de baz
Circuitul logic de INHIBARE
Dac se va nega una din intrrile unei pori I se obine circuitul logic
de INHIBARE.
Figura 5.12 Simbolul circuitului logic INHIBARE
177
Sisteme de calcul i operare
Circuitul logic de IMPLICARE
Prin negarea uneia din intrrile unui circuit logic SAU se va obine
un circuit logic de IMPLICARE.
Figura 5.13 Simbolul circuitului logic IMPLICARE
Observaie.
Utiliznd circuitul logic NAND sau NOR se pot obine implementri
pentru funciile NU, I (figura 5.14), SAU.
Figura 5.14 Implementarea funciilor logice: NU, I
5.7.3 Circuite logice secveniale
Circuitele logice secveniale se caracterizeaz prin aceea c valoarea
funciei de la ieire (y), la un moment dat t, depinde att de valorile
variabilelor de intrare (u
i
unde n , 1 = i ), la momentul t ct i de valoarea pe
care a avut-o anterior funcia.
Putem scrie c:
y(t)=f((u
1
(t),u(t),...,u
n
(t),y(t-))
178
Bazele logice ale calculatoarelor
Circuitul logic secvenial conine (figura 5.15):
structur logic combinaional;
structur de memorare.
Figura 5.15 Circuit logic secvenial
Aa cum poarta (I, SAU etc.) este element combinaional de baz,
circuitul basculant bistabil este folosit ca element de baz pentru memorare
(memorie RAM de un bit).
Circuitul basculant bistabil (CBB) se caracterizeaz prin dou stri
stabile. Trecerea dintr-o stare n alta se face prin aplicarea unei comenzi
exterioare.
Din categoria circuitelor basculante mai avem:
Circuite basculante monostabile, ce se caracterizeaz printr-o
singur stare stabil. Cu ajutorul unei comenzi exterioare se
poate trece ntr-o alt stare, n care va rmne un interval de timp
determinat de elementele circuitului, dup care revine n starea
iniial. Acestea sunt utilizate ca elemente de temporizare.
Circuite basculante astabile, nu prezint nici o stare stabil.
Trecerea dintr-o stare n alta se realizeaz fr o comand
exterioar. Perioada semnalelor generate depinde de valorile
parametrilor circuitului. Acestea sunt folosite drept circuite
oscilante.
179
Sisteme de calcul i operare
Circuitele basculante bistabile pot fi:
asincrone, n cazul n care variaiile obinute la ieirea lor
urmresc semnalele de comand, comutarea este arbitrar;
sincrone, n cazul n care modificrile la ieire au loc n
raport cu semnalele de comand, numai ca urmare a
tranzaciei intrrii de sincronizare (intrare de tact sau intrare
de ceas).
Circuite basculante bistabile asincrone
Circuitul bistabil RS a fost primul bistabil folosit pentru memorarea
datelor. Cu ajutorul a dou pori NAND conectate ca n figura 5.16 se poate
obine un circuit bistabil avnd intrrile S (set) i R (reset) iar ieirile Q i Q.
Figura 5.16 Circuitul basculant bistabil RS (schema i simbol)
Dac notm cu Q(t-) starea bistabilului la momentul t- i cu Q(t)
starea sa ca urmare a unei tranzacii, funcionarea circuitului se poate urmri
n tabelul:
S(t) 0 0 0 0 1 1 1 1
R(t) 0 0 1 1 0 0 1 1
Q(t-) 0 1 0 1 0 1 0 1
Q(t) 0 1 0 0 1 1 ? ?
180
Bazele logice ale calculatoarelor
n forma canonic disjunctiv, expresia logic a funcionrii
circuitului bistabil RS este:
Q(t) = S(t) R(t) Q(t-) +S(t) R(t) Q(t-) +S(t) R(t) Q(t-)
Utiliznd diagrama Karnaugh (figura 5.17) pentru simplificarea
funciei logice, se va obine expresia:
Q(t) = S(t) + R(t) Q(t-)
Figura 5.17 Diagrama de minimizare
Diagrama strii semnalelor de ieire funcie de starea semnalelor de
intrare este reprezentat n figura 5.18.
Circuitul bistabil JK
Starea de nedeterminare din funcionarea circuitului bistabil RS este
nlturat prin utilizarea circuitului din figura 5.19, ce corespunde
bistabilului de tip JK.
181
Sisteme de calcul i operare
Figura 5.18 Diagrama semnalelor unui circuit bistabil RS
Figura 5.19 Schema logic a circuitului bistabil JK (a) i simbolul (b)
182
Bazele logice ale calculatoarelor
Tabelul de adevr corespunztor funcionrii circuitului este:
J(t) K(t) Q(t-) Q(t)
0 0 0/1 0/1
0 1 0/1 0
1 0 0/1 1
1 1 0/1 1/0
Circuite basculante bistabile sincrone
Bistabilul RST
Dac circuitul basculant bistabil asincron RS este alimentat prin
dou pori NAND conectate ca n figura 5.20, avnd fiecare cte dou
intrri, se obine un circuit ce are proprietatea de a-i modifica starea n
raport cu cea a semnalelor de intrare numai dac se aplic un semnal logic 1
pe intrarea comun T, numit intrare de sincronizare. Acest tip de bistabil
funcioneaz n regim RS.
Figura 5.20 Bistabilul RST realizat cu pori NAND
183
Sisteme de calcul i operare
Bistabilul JKT
n cazul acestui tip de bistabil, circuitul logic este asemntor
bistabilului JK asincron, avnd n plus o intrare comun, intrarea de
sincronizare, pe NAND-urile cu intrrile J i K ca n figura 5.21.
Figura 5.21 Bistabilul JKT
5.8 Blocuri funcionale
5.8.1 Registrul
Registrele sunt dispozitivele digitale realizate cu elemente de
memorare (CBB) i sunt folosite n construcia sistemelor de calcul pentru
memorarea temporar (n vederea prelucrrii) a datelor reprezentate n
form binar. Un registru conine un numr de celule de memorare egal cu
numrul de cifre binare asociat informaiei ce trebuie memorat. Funcie de
modul de pstrare a informaiei registrele pot fi:
= statice cnd oprirea impulsurilor de comand nu afecteaz
coninutul memorat;
= dinamice - cnd oprirea impulsurilor de comand duce la
pierderea coninutului memorat.
184
Bazele logice ale calculatoarelor
Registrele pot avea o funcionare sincron sau asincron. Operaia de
nregistrare a datelor binare ntr-un registru se numete scriere, iar operaia
de transfer a coninutului citire. Trecerea tuturor celulelor de memorare din
structura unui registru n starea 0 se numete tergere.
Att operaia de citire ct i cea de scriere se pot efectua n:
serie cifrele binare fiind preluate secvenial;
paralel cifrele binare se nscriu/citesc simultan.
Dup modul de realizare a operaiilor de scriere/citire avem:
registre cu intrare/ieire serie;
registre cu intrare/ieire paralel;
registre cu intrare serie/ieire paralel;
registre cu intrare paralel/ieire serie.
Registrul serie (intrare/ieire) sau registrul de deplasare
Un astfel de registru pe 4 bii este ilustrat n figura 5.22, s-au folosit
circuite basculante care au intrrile sincrone J, K i intrrile asincrone R, S.
Tranziia semnalului de la ieire, Q
i
, are loc pe frontul descresctor al
semnalului de ceas (figura 5.23).
Figura 5.22 Registru serie
185
Sisteme de calcul i operare
Figura 5.23 Diagrama de semnale
Memorarea se face pe timpul a n impulsuri de ceas (n este egal cu
numrul de ranguri ale registrului). Citirea se va face tot n n impulsuri de
ceas. Ansamblul tacturilor necesare nscrierii - citirii unui numr constituie un
ciclu.
186
Bazele logice ale calculatoarelor
Registrul paralel (intrare/ieire)
Pentru un astfel de registru (figura 5.24) nscrierea informaiei se face
pe timpul unui singur impuls de ceas, la fel i citirea.
Figura 5.24 Registru paralel
a) Exemplu de circuit integrat pentru registru 4x4 (74170)
Figura 5.25 Registru 4x4
187
Sisteme de calcul i operare
Tabelul de adevr pentru Tabelul de adevr pentru
operaia de scriere operaia de citire
Intrri Intrarea Ieiri
WE
D
i
Starea intern
RE
Starea
intern
Q
i
L L L L L L
L H H L H H
H * Nu se schimb
H * H
b) Registru de deplasare intrare serie/paralel, ieire serie (74165)
Figura 5.26 Registru de deplasare
Tabelul de adevr
Tabelul 5.4
Intrri Q
i
Ieirea
Modul de
operare
PL
CE
CP
DS
D
0
-D
7
Q
0
Q
1
-Q
6
Q
7
L * * * L L L L ncrcarea
paralel
L * * * H H H H
H L L-H L * L Q
0
-Q
5
Q
6
Deplasarea
serial
H L L-H H * H Q
0
-Q
5
Q
6
Starea
nemodificat
H H * * * Q
0
Q
1
-Q
6
Q
7
188
Bazele logice ale calculatoarelor
5.8.2 Numrtorul
Numrtoarele sunt utilizate pentru controlul secvenializrii
operaiilor. Circuitul de baz al numrtorului este circuitul basculant
bistabil. Ieirile bistabililor ce formeaz numrtorul sunt interpretate
mpreun, ca stare a numrtorului. Conectarea a n circuite basculante
bistabile realizeaz un numrtor binar cu N = 2
n
stri distincte. Pentru
realizarea unui numrtor cu un factor de divizare M 2
n
(M fiind numr
ntreg), se aplic bucle de reacie circuitelor bistabile, prin scheme logice
combinaionale.
Clasificarea numrtoarelor se poate face:
funcie de modul de aplicare a impulsurilor de comand:
numrtoare asincrone impulsul de sincronizare acioneaz
numai asupra primului CBB.
numrtoare sincrone impulsul de tact se aplic simultan la
intrrile tuturor circuitelor bistabile.
funcie de sensul numrrii:
numrtoare directe crete coninutul pentru fiecare impuls
de ceas;
numrtoare inverse scade coninutul pentru fiecare impuls
de ceas;
numrtoare bidirecionale (reversibile) au o intrare pentru
numrare nainte iar alta pentru numrare napoi.
Numrtoare asincrone directe
Aceste tipuri de numrtoare se caracterizeaz prin faptul c
impulsurile de tact pe intrarea de numrare comand bascularea primei
celule, bascularea celorlalte fcndu-se cu ajutorul semnalelor de pe ieirile
etajelor precedente. n figura 5.27 a) este reprezentat un numrtor asincron
direct ce conine trei CBB. Deoarece pe intrrile J, K nu apar semnale, se
consider ca fiind pe 1 logic.
189
Sisteme de calcul i operare
Strile
Impuls
ceas
Q
3
Q
2
Q
1
Valoarea
zecimal
T
1
0 0 0 0
T
2
0 0 1 1
T
3
0 1 0 2
T
4
0 1 1 3
T
5
1 0 0 4
T
6
1 0 1 5
T
7
1 1 0 6
T
8
1 1 1 7
c)
Figura 5.27 Numrtor asincron direct
a) schema b) diagrama de semnale c) strile
Dezavantaj: limitarea vitezei de lucru, din cauza timpului mare de
propagare.
Avantaje:
+ impulsurile de numrare acioneaz asupra unui singur CBB i
deci nu este necesar o putere mare a generatorului de impulsuri;
+ controlul numrrii este foarte simplu, fiind suficient oprirea
basculrii primului CBB din lan pentru ca numrarea s fie
oprit.
190
Bazele logice ale calculatoarelor
Numrtorul asincron invers este reprezentat n figura 5.28.
Strile
Impuls
ceas
Q
3
Q
2
Q
1
Valoarea
zecimal
T
1
0 0 0 0
T
2
1 1 1 7
T
3
1 1 0 6
T
4
1 0 1 5
T
5
1 0 0 4
T
6
0 1 1 3
T
7
0 1 0 2
T
8
0 0 1 1
c)
Figura 5.28 Numrtor asincron invers
a) schema b) diagrama de semnale c) strile
191
Sisteme de calcul i operare
Numrtoare sincrone directe (figura 5.29) se caracterizeaz prin
faptul c impulsul de tact se aplic simultan pe intrrile de numrare ale
tuturor CBB din structura numrtorului.
Figura 5.29 Numrtor sincron direct:
a) schema; b) diagrama de semnale
Numrtoare reversibile
Dac este activ comanda de numrare direct (ND) numrtorul va
funciona ca un numrtor asincron direct, iar cnd este activ comanda de
numrare invers (NI) va funciona ca un numrtor asincron invers.
192
Bazele logice ale calculatoarelor
Figura 5.30 Numrtor reversibil
5.8.3 Elemente ale blocului aritmetic - sumatorul elementar
Dac a
i
este o cifr binar a numrului A, b
i
cifra binar
corespunztoare din numrul B i T
i
este cifra binar ce reprezint
transportul de la rangul anterior, n urma nsumrii se va obine S
i
-
rezultatul nsumrii i T
i+1
- transportul pentru rangul urmtor.
Tabelul de adevr va fi:
Intrri Ieiri
a
i
b
i
T
i
S
i
T
i+1
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
193
Sisteme de calcul i operare
Formele canonice disjunctive ale celor dou funcii S
i
i T
i+1
sunt:
T b a + T b a + T b a + T b a = ) T , b , (a T
T b a + T b a + T b a + T b a = ) T , b , (a S
i i i i i i i i i i i i i i i 1 + i
i i i i i i i i i i i i i i i i
Folosind diagramele Karnaugh pentru minimizarea funciilor S
i
i
T
i+1
, vom avea:
Figura 5.31 Minimizarea pentru S
i
i T
i+1
Din diagrama Karnaugh pentru funcia S
i
(a
i
, b
i
, T
i
), se constat c
nu este posibil minimizarea acesteia. Funcia T
i+1
simplificat va fi:
T
i+1
(a
i
, b
i
, T
i
) = b
i
T
i
+ a
i
T
i
+ a
i
b
i
Schema logic a sumatorului elementar este prezentat n figura
5.32.
194
Bazele logice ale calculatoarelor
Figura 5.32 Sumator elementar:
a) schema logic b) simbol
nsumarea celor n cifre binare ale numerelor A i B se poate realiza
serial (figura 5.33) sau paralel (figura 5.34). Dac pentru nsumarea serial
se utilizeaz un singur element de nsumare i dou registre de deplasare
(RD1, RD2), pentru nsumarea paralel se vor utiliza n elemente de
nsumare.
Figura 5.33 nsumarea serial
195
Sisteme de calcul i operare
Figura 5.34 nsumarea paralel
5.8.4 Matrice de comutaie
O matrice de comutaie este un circuit logic cu ieiri multiple, care
realizeaz o funcie matricial boolean. La o matrice de comutaie ieirile
sunt dependente de intrri printr-o relaie matricial. Se poate face o
clasificare a matricilor de comutaie dup:
= structura logic:
matrice rectangular;
matrice piramidal;
matrice dual piramidal.
= utilizare:
C matrice pentru codificare;
C matrice pentru decodificare;
C matrice pentru selecie;
C matrice pentru distribuie.
Matricea pentru codificare are rolul de codifica informaia care se
prelucreaz prin sistemul de calcul. Exemplu: codificarea cifrelor sistemului
octal.
196
Bazele logice ale calculatoarelor
Tabel de adevr
Tabelul 5.5
Ieirile codificatorului Intrarea
Cifra octal
A B C
C0 0 0 0
C1 0 0 1
C2 0 1 0
C3 0 1 1
C4 1 0 0
C5 1 0 1
C6 1 1 0
C7 1 1 1
Figura 5.35 Matricea pentru codificare
Matricea pentru decodificare realizeaz operaia invers codificrii.
Figura 5.36 Matricea pentru decodificare
Decodificatorul se utilizeaz pentru scrierea selectiv a datelor n
memoria adresabil RAM. n figura 5.37 este prezentat schema unui
decodificator pentru cifrele sistemului octal.
197
Sisteme de calcul i operare
Figura 5.37 Decodificator
Circuitul de multiplexare (multiplexorul) este unul din cele mai
importante circuite logice MSI. El se poate utiliza:
n cadrul unitii de calcul, cnd codul de selecie reprezint
codul operaiei care se va executa;
Citirea selectiv a unei locaii dintr-o zon de memorie;
Generator de funcii logice, dac sursele de date sunt constante;
Partajarea unei linii de transmisie prin multiplexarea n timp.
198
Bazele logice ale calculatoarelor
Figura 5.38 Multiplexorul
Demultiplexorul realizeaz funcia invers multiplexorului. El are
rolul de selecta o ieire, din cele 2
n
, spre care se transfer informaia de pe
intrare. Adresa pentru selecie o reprezint cele n intrri de selecie.
Figura 5.39 Demultiplexorul
199
Sisteme de calcul i operare
5.8.5 Bloc de memorie
Memoria are la baz un ansamblu de registre de aceeai dimensiune,
accesibile printr-o magistral unic. Memoria, n cazul general, reprezint un
sistem secvenial a crui funcionalitate este independent de natura
informaiei manipulate.
Caracteristicile de baz ale unui bloc de memorie sunt:
mrimea cuvintelor de memorie;
numrul de cuvinte sau mrimea spaiului adresabil.
Memoria RAM (Random Access Memory) poate fi:
+ cu magistrale pentru date i adrese (varianta standard figura 5.40);
+ cu magistral de adrese multiplexat;
+ cu multiplexarea magistralei pentru adrese/date.
Figura. 5.40 Schema bloc pentru memoria RAM
200
Bazele logice ale calculatoarelor
Operaia de scriere necesit:
transferul adresei ntr-un registru de adrese i al datelor ntr-un
registru de date;
transferul coninutului registru de date n locaia de memorie
identificat prin informaia din registrul de adrese.
Operaia de citire necesit:
O transferul adresei ntr-un registru de adrese;
O transferul coninutului din locaia de memorie, identificat prin
informaia din registrul de adrese, ntr-un registru de date.
Dup cum se tie, circuitul basculant bistabil constituie elementul de
baz pentru memorare. Dac aceste elemente sunt grupate n reele, se va
obine o matrice de memorie. Deoarece circuitele basculante bistabile pot
pstra informaia, pe durata alimentrii, spunem c sunt memorii statice.
Memoriile dinamice memoreaz informaia prin prezena sau absena
unei sarcini electrice pe un condensator. Deoarece condensatorul se poate
descrca n timp, pentru a pstra neschimbat informaia scris, este necesar
ca periodic memoria dinamic s fie remprosptat prin citirea i
renscrierea fiecrei cifre binare.
n figura 5.41 este prezentat structura unui circuit integrat ce
conine 64 K x 1 bii memorie dinamic.
Logica extern trebuie s asigure ca fiecare linie de pe cip s fie
adresat odat la un interval de timp (de obicei, < 2ms). Deoarece memoriile
dinamice sunt optimizate pentru construirea memoriilor de mare capacitate,
ele au, n general, intrri de adrese multiplexate n timp pentru a reduce
numrul conexiunilor. Astfel, n timpul unui ciclu normal de scriere sau
citire, jumtatea cea mai puin semnificativ a adresei de rnd este stocat
prin impulsul RAS (Row Address Strobe). Pe aceeai pini se aduc biii, cei
mai semnificativi fiind eantionai prin ceasul CAS (Column Address
Strobe).
Memoria de tip ROM (Read Only Memory) nu este un sistem
secvenial, deine caracteristicile de implementare a funciilor logice
combinaionale.
201
Sisteme de calcul i operare
Memoriile fixe - ROM, realizate cu circuite integrate pe scar larg,
reprezint un anumit nivel al standardizrii pentru utilizator. Aceast
posibilitate de adaptare la cerinele utilizatorilor s-a obinut prin folosirea
calculatorului n generarea automat a mtilor ntr-o anumit faz a
procesului tehnologic de realizare a circuitelor integrate.
Considernd o memorie ROM de 16384 bii, aceasta poate fi
organizat ca o matrice X x Y de 128 x 128 puncte care sunt sau nu
conductoare (vezi figura 5.42). Un astfel de circuit are opt ieiri (0
0
0
7
) i
11 intrri de adres fiind organizat n 2048 cuvinte a cte opt bii (2 Koctei).
Pentru o anumit combinaie de pe intrare este generat o combinaie la ieire.
Figura 5.41 Memorie 64 K x 1 bii RAM dinamic
202
Bazele logice ale calculatoarelor
Figura 5.42 Memorie ROM
Memoriile fixe programabile (PROM - Programmable ROM) sunt
programate de productorul de echipamente de calcul prin mijloace
electronice, folosindu-se programatorul PROM prin intermediul cruia se
reine configuraia dorit de bii.
Exist tipuri de memorii PROM ce pot fi reprogramabile (EPROM -
Erasable PROM), n sensul c pot fi terse electric sau prin expunere la
lumin ultraviolet i reprogramate de mai multe ori.
Densitatea funcional ce se obine prin folosirea memoriilor ROM
sau PROM este incomparabil mai mare dect cea obinut prin utilizarea
porilor i bistabilelor.
203
Sisteme de calcul i operare
Matricile logice programabile (PLA - Programmable Logic Array)
necesit specificarea att a configuraiei biilor fiecrui cuvnt de ieire ct
i adresa acestuia.
Aplicaiile matricilor logice programabile pot fi legate de funcia de
memorare, de conversia de cod, sau de generarea de funcii logice. PLA-ul
ca un generator de funcii logice poate fi asimilat cu o structur I/SAU n
care cele m adrese sunt decodificate cu m circuite I cu n intrri, iar fiecare
ieire este a unui circuit SAU ce are, ca intrare ieirea oricreia din cele m
pori I. Orice ieire poate fi definit ca o sum de produse.
5.8.6 Circuite integrate
Circuitul integrat (CI) a fost elementul ce a permis miniaturizarea
componentelor fizice ale unui sistem de calcul. Circuitul integrat reprezint
un circuit electronic ale crui componente (rezistoare, diode, condensatoare,
tranzistoare etc.) sunt realizate pe o pastil de material semiconductor n
scopul obinerii unor funcii specifice. n tabelul urmtor sunt prezentate
circuite tipice fiecrui nivel de integrare, din categoria circuitelor discutate.
204
Bazele logice ale calculatoarelor
Familii de circuite integrate
Tabelul. 5.6
Familia de CI Circuite combinaionale Circuite secveniale
Pori: NU, I, SAU, NAND,
NOR
Circuite basculante
bistabile
Integrare pe scar medie
(MSI)
(100-1000 componente/cip)
Decodificatoare,
sumatoare,
multiplexoare
Registre,
numrtoare
Integrarea pe scar larg
(LSI)
(1000-10000 comp./cip)
Memorii fixe (ROM,
PROM)
Matrici logice
programabile (PLA)
Memorii cu acces
aleator (RAM)
Integrarea pe scar foarte
larg (VLSI)
(>10000 comp./cip)
Circuite specializate
205
6
REELE
DE CALCULATOARE
6.1 Introducere
Dezvoltarea extraordinar n ultimii ani a industriei calculatoarelor i
a comunicaiilor a fcut ca n zilele noastre majoritatea calculatoarelor s fie
conectate la o reea. Practic nu mai este suficient s analizm funcionarea
unui calculator de sine-stttor ci se impune s considerm o abordare din
prisma reelei de calculatoare la care acesta este conectat. Din aceast cauz
vom prezenta n acest capitol cteva concepte, definiii i elemente de baz
utilizate n studiul reelelor de calculatoare.
Definiia unanim acceptat de toate lumea (chiar dac exist mai
multe definiii pentru termenul reea de calculatoare) este aceea c o reea
de calculatoare (i vom spune pe scurt, reea) este o colecie de dou sau mai
multe calculatoare intreconectate ntre ele. Avantajul imediat al conectrii la
o reea este evident: utilizatorii pot partaja fiiere i dispozitive periferice
(imprimante, modemuri, uniti de backup, uniti CD-ROM, etc.). n cazul
n care reele din mai multe locaii sunt interconectate prin serviciile oferite
de furnizorii de servicii Internet (linii telefonice, cablu, antene), utilizatorii
pot folosi aplicaii extrem de rspndite astzi, precum cele de e-mail, chat,
video-chat, video-conferina cu ali utilizatori conectai la reea i situai
oriunde pe glob.
206
Sisteme de calcul i operare
6.2 Topologii
Una dintre primele noiuni prezentate atunci cnd se vorbete despre
o reea de calculatoare este noiunea de topologie, care nseamn, de fapt,
structura reelei. Topologia poate fi att fizic, ct i logic. O topologie
fizic reprezint modalitatea de aezare n spaiu a componentelor reelei, pe
cnd topologia logic se refer la modalitatea de acces la mediu a
dispozitivelor conectate la reea.
6.2.1 Topologii fizice
Cele mai rspndite topologii fizice sunt urmtoarele:
Topologia de magistral (bus)
Aceast topologie folosete un singur cablu de conexiune principal
iar dispozitivele din reea sunt conectate toate la aceast conexiune
(magistral) (figura 6.1).
Figura 6.1 Topologiile de magistral i inel
Topologia de inel (ring)
n aceast topologie fiecare dispozitiv este conectat de urmtorul, de
la primul pn la ultimul, ca ntr-un lan de interconectare (precum zalele
unei brele) (figura 6.1).
207
Reele de calculatoare
Figura 6.2 Topologiile de stea i stea extins
Topologia de stea (star)
n aceast topologie toate cablurile de conexiune ale dispozitivelor
sunt legate la un dispozitiv central (denumit concentrator). De regul, acest
concentrator este un hub sau un switch. (figura 6.2).
Topologia de stea extins (extended star)
Topologia de stea extins unete topologiile stea intermediare la un
concentrator central (hub sau switch) (figura 6.2).
208
Sisteme de calcul i operare
Figura 6.3 Topologia ierarhic i cea complet interconectat
Topologia ierarhic (hierarchical)
Aceast topologie este asemntoare cu cea de stea extins, n care
reelele locale sub form de stea sunt conectate la un computer ce
controleaz traficul n reea (figura 6.3).
Topologia complet interconectat (mesh)
n aceast variant topologic fiecare dispozitiv din reea este
interconectat cu toate celelalte (figura 6.3). n cazul n care numrul de
gazde din reea este n, numrul conexiunilor necesare este n*(n-1).
6.2.2 Topologii logice
n general exist dou tipuri de topologii logice (modaliti de
comunicaie n reea): topologia de tip broadcast i cea de tip token passing.
Topologia broadcast
Cea mai cunoscut tehnologie broadcast este tehnologia Ethernet
(aprut nc de la sfritul anilor 1970), larg utilizat n toate reelele locale
LAN (Local Area Network) din lume. Modalitatea de funcionare a reelelor
Ethernet se bazeaz pe CSMA/CD (Carrier Sense Multiple Access with
Collision Detection), un protocol de comunicaie n reea. Ideea de baz este
simpl: o staie din reeaua Ethernet poate trimite pachete de date n reea
atunci cnd nu exist alte pachete de date care circul n reea (reeaua este
209
Reele de calculatoare
liber). n caz contrar, staia care dorete s transmit pachete de date n
reea ateapt pn cnd reeaua devine liber, exact ca o persoan care
dorete s intre ntr-o conversaie i ateapt politicoas ca alt persoan s
termine de vorbit. Dac mai multe staii din reea ncep s transmit date n
acelai timp, apare fenomenul de coliziune. Dup apariia unei coliziuni,
fiecare staie ateapt un timp (de durat aleatoare) dup care ncearc din
nou s trimit pachetele de date. Dac se ntmpl s se contorizeze 16 astfel
de ncercri nereuite de trimitere a pachetelor de date n reea, aplicaia care
a generat operaia de trimitere de date trebuie s reia cererea de transmitere
de pachete de date n reea.
ntr-o reea Ethernet, cu ct numrul utilizatorilor (staiilor de lucru)
crete, cu att va crete i numrul coliziunilor, al erorilor i al cererilor de
retransmisie, cu efect de multiplicare asemntor cu acela al bulgrului de
zpad. Fenomenul de apariie al coliziunilor este normal s se ntmple
ntr-o reea Ethernet, dar prea multe coliziuni vor duce la ncetinirea
funcionrii reelei. n cazul n care este utilizat mai mult de 50% din
limea de band a reelei, coliziunile ncep s gtuiasc, s ncetineasc
reeaua, producnd fenomenul de congestie. ntr-un astfel de moment, toate
activitile din reea sunt ncetinite: aplicaiile se deschid mai greu,
transferul fiierelor dureaz mai mult, tiprirea la imprimanta de reea se
face mai greu i utilizatorii sunt obligai s atepte. Dac traficul de reea
depete 60% din limea de band, deja reeaua este suprancrcat i
exist posibilitatea chiar ca reeaua s cad. Standardul clasic Ethernet are
asigur o lime de band de 10 Mbps, n timp ce mai noile standarde Fast
Ethernet (denumit i 100BaseT) i Gigabit Ethernet (sau 1000BaseT)
funcioneaz n acelai mod cu Ethernet-ul clasic, dar la viteze de 100 Mbps,
respectiv 1000 MBps. Ultimul standard Ethernet asigur o lime de band
de 10 Gbps.
Topologia token passing
Cea mai cunoscut tehnologie token passing este tehnologia
Token Ring, construit ca alternativ la metoda Ethernet de detecie a
coliziunilor. Ideea reelei Token Ring este urmtoarea: n reea circul de la
o staie la alta un token (jeton de acces) care ntreab staia respectiv
dac dorete sau nu s transmit pachete de date n reea. Reeaua Token
Ring are o topologie fizic de tip inel (dup cum ne spune, de altfel, i
numele).
210
Sisteme de calcul i operare
Figura 6.4 Adaptor (plac) de reea
n momentul n care o staie din reea dorete s transmit date, preia
token-ul i l convertete ntr-un cadru de date pe care l transmite n reea.
Acest cadru de date circul n reea, fiecare staie retransmite aceste date n
jurul inelului iar staia destinaie copiaz acest cadru de date n memorie. n
momentul n care cadrul trimis se ntoarce napoi la staia care l-a trimis,
staia respectiv elibereaz un nou token de acces n reea.
Reelele Token Ring opereaz la viteze de 4 sau 16 Mbps, dar
costurile sczute i uurina n exploatare a reelelor Ethernet au fcut ca
standardul Token Ring s fie din ce n ce mai puin utilizat n noile
implementri de reea din zilele noastre.
6.3 Echipamente de reea
Dispozitivele care sunt interconectate ntr-o reea se numesc gazde
de reea sau, pe scurt, gazde (hosts). Exist o serie ntreag de dispozitive ce
pot exista ntr-o reea, dar elementele de baz ntr-o reea simpl sunt
urmtoarele: cel puin dou calculatoare, o interfa de reea (plac de reea)
instalat pe fiecare calculator n parte, un mediu de conexiune (tipic un
cablu, dar exist i conexiuni fr fir wireless) i un sistem de operare de
reea (Unix, Linux, Windows 95, 98, 2000, XP, NT sau Novell Netware).
211
Reele de calculatoare
De asemenea, majoritatea reelelor posed i un hub sau un switch pentru
interconectarea gazdelor din reea. Prezentm n continuare pe scurt
echipamentele de baz dintr-o reea.
Figura 6.5 Plac de reea PCMCIA pentru laptop
Placa de reea
Placa de reea (figura 6.4), denumit i interfa de reea sau adaptor
de reea sau NIC (Network Interface Card), reprezint un element de baz
ntr-o reea de calculatoare, avnd n vedere c orice calculator conectat la
reea trebuie s posede un astfel de adaptor. Placa de reea este o plac cu
circuite electronice sau o plac PCMCIA (pentru laptop figura 6.5) i are
rolul de a asigura conexiunea la reea a unui echipament (calculator,
imprimant, etc.). Fiecare plac de reea are o adres unic, numit i adres
fizic sau adres MAC (Media Access Control). Atunci cnd se alege o plac
de reea pentru un calculator sau pentru alt dispozitiv pe care vrem s l
conectm la o reea trebuie s lum n considerare urmtoarele:
Tipul reelei (Ethernet, Token Ring, etc.);
Tipul mediului de conexiune (cablu coaxial, fibr optic, cablu
UTP sau legtur wireless);
Tipul magistralei de sistem (PCI, ISA etc.).
212
Sisteme de calcul i operare
Figura 6.6 Echipamente gazd ntr-o reea
Echipamente gazd ntr-o reea
Toate calculatoarele, indiferent de tipul lor, imprimantele sau
serverele conectate la o reea se numesc gazde (figura 6.6).
Repetorul (repeater)
Un echipament foarte simplu ntlnit n reele este repetorul
(repeater-ul), dispozitiv care nu face altceva dect s amplifice i s
regenereze semnale la nivel de bii de-a lungul reelei. Aceste echipamente
se ntlnesc atunci cnd se dorete extinderea dimensiunii maxime pentru
tipul de cablu respectiv i prezint din punct de vedere constructiv un port
de intrare i un port de ieire.
213
Reele de calculatoare
Hub-ul
Hub-ul acioneaz tot la nivel de bit i de regenerare a semnalelor,
fiind denumit, de fapt, repetor multi-port, deoarece prezint un port de
intrare, dar mai multe porturi de ieire. Introducerea unui hub n reea
creeaz un punct de conexiune central (la care sunt legate toate gazdele) i
mrete fiabilitatea. Hub-urile pot fi de mai multe tipuri, unele fiind hub-uri
active, ce folosesc energie electric pentru a regenera semnalele, n timp alte
hub-uri sunt hub-uri pasive care doar mpart semnalele la mai muli
utilizatori. Hub-urile pasive nu regenereaz biii, nu extind lungimea cablrii
i nu permit ca dou sau mai multe gazde s fie conectate pe acelai segment
de cablu. Exist, de asemenea, i hub-uri inteligente, care pot fi programate
pentru a se administra traficul n reea.
Bridge-ul
Bridge-ul acioneaz la un nivel superior (nivelul 2 din modelul OSI,
model pe care l vom prezenta n seciunea 6.2.3), conectnd dou segmente
de reea. De asemenea, un bridge filtreaz traficul n reea pe baza adreselor
MAC, regula general fiind urmtoarea: traficul local (ce provine din acelai
segment de reea) este meninut local iar traficul din afara segmentului de
reea este direcionat n afara segmentului de reea. Un bridge creeaz i
administreaz nite tabele de adrese MAC pe baza crora poate face filtrarea
traficului dup regula de mai sus.
Switch-ul
Switch-ul este tot un echipament de reea ce acioneaz la nivelul 2
din modelul OSI, fiind denumit i bridge multi-port. Deciziile de
direcionare a traficului din reea se fac tot pe baza adreselor MAC,
comutarea semnalelor transmise fcndu-se ctre portul unde este conectat
calculatorul destinaie (cel cruia i se adreseaz pachetul de date).
Switch-urile arat oarecm asemntor cu un hub dar administreaz
transmisiunile de pachete de date mult mai eficient, combinnd capacitatea
de conectivitate a hub-ului cu reglarea traficului din reea (pe care o face un
bridge) la nivelul fiecrui port de conexiune.
Router-ul
Router-ul este un echipament de reea mai complex (i mai scump, de
asemenea) ce acioneaz la nivelul 3 din modelul OSI. Acest dispozitiv
poate lua decizii de direcionare a pachetelor de date din reea pe baz de
clase de adrese logice (adrese IP), putnd conecta diferite tehnologii de nivel
214
Sisteme de calcul i operare
2 OSI, cum ar fi Ethernet, FDDI, Token Ring etc. Routerele reprezint
elementele centrale ale Internetului, ele examineaz pachetele de date de
intrare i le direcioneaz ctre interfeele respective de ieire. Un router este
asemntor cu un calculator, avnd procesor, memorie, interfee de
intrare/ieire, avnd deci putere de procesare i de luare a unei decizii de
direcionare a unui pachet de date ctre o anumit interfa pe baza unor aa
numite protocoale de rutare.
Figura 6.7 Simbolurile grafice utilizate pentru repetor,
hub, bridge, switch, ruter
Simbolurile grafice utilizate pentru realizarea diagramelor de reea
sunt prezentate n figura 6.7.
215
Reele de calculatoare
6.4 Modele utilizate n dezvoltarea i studiul reelelor
de calculatoare
6.4.1 Introducere
Primele reele de calculatoare din lume erau formate, de regul, din
calculatoare ce proveneau de la acelai productor, neexistnd posibilitatea
de a face s coopereze computere i echipamente de reea produse de firme
diferite. Pe msur ce numrul de calculatoare a crescut i complexitatea
reelelor s-a mrit, a aprut necesitatea de a putea fi integrate mpreun
soluii provenite de la mai muli fabricani de computere i tehnologii de
reea. La sfritul anilor 1970, Organizaia Internaional pentru
Standardizare (ISO International Organization for Standardization) a
nceput dezvoltarea primului model arhitectural denumit OSI (Open
Systems Interconnection) pe baza cruia s se rezolve aceast necesitate.
Acest model s-a impus ca un standard bine cunoscut n lumea
reelelor de calculatoare, iar pentru c organizaia ISO a conceput acest
model, numele complet al su este modelul ISO-OSI. Acest model dorete
s fie un ajutor pentru ca productorii de calculatoare i de echipamente de
reea s aib produse interoperabile cu cele similare ale altor productori.
Modelul ISO-OSI este modelul arhitectural de baz al reelelor de
calculatoare, descriind modul n care aplicaiile de pe un computer
comunic prin intermediul mediilor de reea cu aplicaiilor de pe un alt
computer aflat n reea.
Alte dou modele arhitecturale de reea pe care le vom prezenta n
continuare sunt modelul TCP/IP i modelul ierarhic Cisco. Toate aceste
modele au o caracteristic principal comun, n sensul c abordarea
problematicii reelistice se face pe nivele.
6.4.2 Necesitatea unui model ierarhic
Pentru a nelege mai bine de ce a aprut necesitatea existenei unui
model dup care s fie proiectate, dezvoltate, analizate i depanate reelele
de calculatoare trebuie s definim noiunea de flux informaional.
Considernd exemplul a dou calculatoare aflate ntr-o reea (Figura 6.8),
comunicarea dintre acestea se face pe baza unui schimb de date; aceast
deplasare a datelor de la calculatorul surs la cel destinaie poart numele de
flux de date sau, pe scurt, flux.
216
Sisteme de calcul i operare
Fig. 6.8. Fluxul de date ntre surs i destinaie
Putem face analogii ale scurgerii fluxului de date cu numeroase
exemple din viaa de zi cu zi: traficul mainilor pe strad, scurgerea apei
ntr-o conduct sau drumul parcurs de o scrisoare de la expeditor la
destinatar. n toate aceste exemple este vorba de o micare a unor obiecte
(fie c este vorba de maini, ap sau scrisori) dintr-un loc n altul, iar aceast
micare reprezint un flux. n legtur cu fluxul de date dintr-o reea de
calculatoare, apar o serie de ntrebri care trebuie lmurite:
Care este fluxul?
Care sunt diferitele forme de flux?
Ce reguli guverneaz acest flux?
Unde apare acest flux?
Pentru a clarifica rspunsurile la aceste ntrebri ce apar cnd este
forma de fluxul de date dintr-o reea de calculatoare s-a recurs la divizarea
problemei de comunicaie pe mai multe nivele, lucru pe care l fac i
modelele arhitecturale de reea. Divizarea chestiunii comunicaiei pe mai
multe nivele are urmtoarele avantaje:
se mparte problema comunicaiei din reea n piese mai mici i
mai simple, deci mai uor de analizat;
se dorete standardizarea componentele de reea pentru a putea
permite dezvoltare i suport multiproductor;
permite diferitor tipuri de hardware i software din reea s
comunice ntre ele;
este o modalitate de prevenire a faptului c o modificare ce apare
la un nivel s afecteze celelalte nivele, astfel nct s se dezvolte
mai rapid.
217
Reele de calculatoare
6.4.3 Modelul ISO-OSI
Lansat oficial n 1984, modelul ISO-OSI reprezint modelul
arhitectural principal pe baza cruia reelele de calculatoare sunt proiectate,
analizate, dezvoltate, implementate sau depanate. Acest model este conceput
s trateze reelele de calculatoare pe mai multe nivele, fcnd astfel ca
problemele comunicaiei (fluxurile din reea) s fie divizate n probleme mai
simple i mai uor de analizat, corespunztoare unui nivel din reea. Cu
ajutorul modelului OSI se mbuntete transferul datelor dintre nodurile
unei reele, avnd n vedere c una dintre caracteristicile sale principale este
aceea de a asista modalitatea de transfer a datelor ntre dou sisteme
terminale din reea.
APLICAIE Interfaa cu utilizatorul
PREZENTARE Modalitatea de prezentare a datelor
SESIUNE Separ datele diferitelor aplicaii
TRANSPORT
Asigur livrarea datelor la destinaie
Asigur corecia datelor naintea transmiterii
REEA
Se ocup cu adresarea logic pe care ruterele
o utilizeaz pentru determinarea rutei pn la destinaie
LEGTUR DE DATE
Pachetele de date sunt transformate n octei
i octeii n cadre
Ofer acces la mediu prin utilizarea adreselor MAC
Asigur detecia erorilor
FIZIC
Mut iruri de bii ntre echipamente
Specific tipul de cablare, viteza de transmisie,
voltaje, tipuri de conectori, etc.
Figura 6.9 Nivelele modelului OSI
Modelul OSI este practic un set de principii de baz pe care
dezvoltatorii de aplicaii de reea l pot folosi pentru a crea i implementa
aceste aplicaii. De asemenea, modelul ofer cadrul specific pentru crearea
i implementarea standardelor de reea, a echipamentelor i a schemelor de
interconectare n reea. Modelul OSI descrie modalitatea n care datele i
informaiile din reea sunt transmise de la o aplicaie de pe un computer
ctre o alt aplicaie de pe alt computer; acest lucru se face folosind o
abordare pe 7 nivele. Cele 7 nivele ale modelului OSI sunt mprite n dou
218
Sisteme de calcul i operare
grupuri. Primul grup, format din cele trei nivele superioare definete modul
de comunicare ntre aplicaiile de pe staiile terminale din reea i modul de
comunicare cu utilizatorii. Cel de-al doilea grup, format din cele 4 nivele
inferioare definete modul de transmitere a datelor de la o surs la o
destinaie. n figura 6.9 sunt prezentate cele 7 nivele ale modelului OSI
mpreun cu cteva caracteristici principale ale fiecrui nivel.
Modalitatea de funcionare a nivelelor din modelul OSI este
urmtoarea: fiecare nivel ofer servicii nivelului imediat superior (nivelul
fizic ofer servicii nivelului legtur de date, nivelul legtur de date ofer
servicii nivelului reea .a.m.d.), excepie fcnd nivelul aplicaie care nu are
un alt nivel superior. Comunicarea ntre dou sisteme terminale din reea se
face, de asemenea, pe baza unor protocoale corespunztoare nivelelor din
modelul OSI la care acestea activeaz. Astfel, nivelul aplicaie al uni sistem
terminal comunic cu nivelul aplicaie al celuilalt sistem, nivelul reea cu
nivelul reea, etc.
Vom face n continuare o analiz mai detaliat pentru fiecare nivel
din modelul OSI n parte, pe baza modelului top-down, plecnd de la nivelul
aplicaie (de vrf) i ajungnd la nivelul fizic (de baz).
Nivelul aplicaie
Nivelul aplicaie din modelul OSI este folosit de ctre utilizatori
pentru asigurarea interfeei cu calculatorul. Acest nivel se ocup cu
identificarea i stabilirea partenerului de comunicaie i determin dac
exist suficiente resurse pentru stabilirea comunicaiei dorite. n timp ce
unele aplicaii necesit numai resurse locale, alte aplicaii pot necesita
componente ce provin de la mai multe aplicaii de reea exemple pot fi:
transferuri de fiiere, localizarea de informaii, pota electronic (e-mail),
acces la distan, management de reea etc.
Dac n trecut comunicaia dintre aplicaii se fcea de regul la
nivelul unei organizaii sau firme, exist o tendin general n ultimii ani de
a mri spectrul acestor comunicaii la nivel interorganizaional,
dezvoltndu-se aplicaii inter-reea precum:
WWW (World Wide Web) sau prescurtat Web, asigur
conexiunea dintre servere din ntreaga lume folosind diverse
formate. Majoritatea formatelor sunt multimedia i includ text,
grafic, sunet sau video. Programele de navigare Web (denumite
browsere) precum Netscape Navigator, Internet Explorer, Opera
i altele ne ajut s accesm i s vizualizm site-urile Web.
219
Reele de calculatoare
EDI (Electronic Data Interchange) reprezint o colecie de
standarde i procese ce faciliteaz fluxul de operaii ce includ
contabilizarea, transportul/recepia, inventarierea datelor
interschimbate ntre diferite companii.
Utilitare pentru navigare Internet acestea includ aplicaii
precum Gopher, WAIS sau motoare de cutare ca Yahoo!,
Lycos, Alta Vista, Google, Excite care ajut utilizatorii s
localizeze informaiile dorite.
Servicii pentru tranzacii financiare acestea colecteaz i ofer
informaii referitoare la investiii, piee financiare, active
financiare, rate de schimb valutar etc. pentru clienii permaneni
sau ocazionali.
Sisteme BBS (Bulletin Board System) acestea sunt baze de
date de produse software unde putem gsi o mulime extrem de
mare de programe din diverse domenii. Software-ul existent aici
este, de regul, gratis sau promoional, adic programele nu
funcioneaz cu toate facilitile pn cnd nu sunt cumprate (de
tip shareware).
Nivelul prezentare
Dup cum spune i numele su, acest nivel ofer o modalitate de
prezentare a datelor nivelului superior, nivelului aplicaie. Nivelul
prezentare acioneaz ca un translator oferind funcii de codificare i
conversie. Modalitatea de a asigura o transmisie cu succes a datelor este
aceea de a codifica datele ntr-un format cunoscut naintea nceperii
transmisiunii. Acest lucru se face deoarece computerele sunt astfel
construite pentru a recepiona date formatate generic i a le converti ntr-un
format nativ pentru citire (de exemplu folosind codul ASCII, EBCDIC sau
Unicode). Prin oferirea de servicii de translatare, nivelul prezentare asigur
faptul c datele transmise de nivelul aplicaie al unui sistem terminal sunt
nelese de nivelul aplicaie al altui sistem terminal.
Modelul OSI ofer o serie de protocoale standard pentru acest nivel,
protocoale ce definesc modaliti de formatare a datelor. Operaii precum
criptarea, decriptarea, compresia sau decompresia datelor sunt n strns
legtur cu acest nivel. Majoritatea standardelor acestui nivel se refer la
operaii multimedia. Exemple de astfel de standarde sunt:
GIF (Graphic Interchange Format) este un format pentru
fiiere de tip grafic;
PICT (PICTure) acest format grafic este folosit de programe
Macintosh sau PowerPC pentru transferul de grafice QuickDraw;
220
Sisteme de calcul i operare
TIFF (Tagged Image File Format) este un format standard
grafic pentru imagini de nalt rezoluie;
JPEG (Joint Photographic Expert Group) este un alt format
grafic;
MIDI (Musical Instrument Digital Interface) este folosit pentru
crearea de fiiere ce conin muzic n format digital;
AVI (Audio Video Interleave) este un format pentru fiiere de
sunet i video dezvoltat de Microsoft. El reprezint formatul
standard pentru PC-uri, fcnd parte integrant din distribuia
Video for Windows (VfW) a sistemului de operare Windows;
MPEG (Moving Picture Experts Group) este un standard
pentru compresia i codificarea fiierelor ce conin imagini n
micare ofer rate de transfer de pn la 1,5 Mbps;
QuickTime este un alt format popular pentru fiiere ce conin
date audio/video dezvoltat iniial pe platforme Macintosh i
PowerPC.
Nivelul sesiune
Acest nivel este responsabil cu iniierea, administrarea i ncheierea
sesiunilor de comunicaie ntre entitile nivelului prezentare. De asemenea,
nivelul sesiune ofer un control al dialogului ntre nodurile terminale i
coordoneaz comunicaia ntre sisteme. Exist 3 moduri de comunicaie
ntre sistemele terminale: simplex, half-duplex i full-duplex. Exemple de
protocoale ale nivelului sesiune:
NFS (Network File System) este un sistem de fiiere de reea
dezvoltat de Sun Microsystems i folosit mpreun cu Unix i
TCP/IP pentru a permite accesul transparent la resurse din reea;
X Window este o interfa grafic extrem de folosit de ctre
terminalele inteligente pentru comunicarea cu computere Unix
din reea, permind operarea ca i cum ar fi monitoare locale
ataate;
SQL (Structured Query Language) dezvoltat de compania IBM
pentru a oferi utilizatorilor o modalitate simpl i standardizat
Modul simplex implic faptul c transmisia de date se face ntr-un singur sens ntre staia
surs i cea destinaie. Modul half-duplex ofer posibilitatea transmisiei n ambele sensuri
ntre dou sisteme terminale, dar ntr-un singur sens la un moment dat, n timp ce modul
full-duplex semnific faptul c transmisia se poate efectua n ambele sensuri la acelai
moment dat.
221
Reele de calculatoare
de a i specifica necesitile pentru informaii aflate pe staia de
lucru local sau n alt parte n reea;
RPC (Remote Procedure Call) reprezint un instrument
client/server folosit n medii de reea. Procedurile sunt create pe
clieni i opereaz pe servere;
AppleTalk Session Protocol (ASP) este un alt mecanism
client/server care stabilete i administreaz sesiuni de
comunicaie ntre un client AppleTalk i un server.
Nivelul transport
Nivelul transport ofer servicii care segmenteaz i reasambleaz
datele provenite de la aplicaii de nivel superior, unificndu-le ntr-un flux
de date. De asemenea, acest nivel din modelul OSI asigur servicii de
transport ntre surs i destinaie, putnd stabili o conexiune logic ntre
sistemul transmitor i sistemul destinaie dintr-o reea. Exemple de
protocoale folosite la acest nivel sunt TCP (Transmission Control Protocol)
i UDP (User Datagram Protocol).
Nivelul transport este responsabil cu asigurarea mecanismelor pentru
multiplexarea datelor provenite de la nivelele superioare, stabilirea
sesiunilor de comunicaie i stoparea circuitelor virtuale. Noiunile
fundamentale ce trebuie luate n considerare la acest nivel sunt: controlul
fluxului, comunicaii orientate pe conexiune, windowing sau transmisia de
confirmri.
Controlul fluxului
Una dintre sarcinile de baz ale nivelului transport o constituie
asigurarea integritii datelor. Acest lucru este realizat prin controlul
fluxului de date i prin asigurarea unui mecanism fiabil de transport de date
ntre un sistem surs i un sistem destinaie. Controlul fluxului mpiedic
faptul ca un sistem transmitor s transmit mai multe date dect sistemul
receptor poate primi, deoarece un astfel de eveniment poate duce la pierderi
de date. Transportul fiabil al datelor ntre surs i destinaie implic o
sesiune de comunicaie orientat pe conexiune iar protocoalele implicate n
acest fenomen vor asigura urmtoarele:
transmitorul va primi o confirmare din partea receptorului
pentru segmentele de date transmise i recepionate;
toate segmentele care nu primesc aceast confirmare vor fi
retransmise;
222
Sisteme de calcul i operare
segmentele ajunse la destinatar vor fi aranjate n ordinea
corespunztoare transmisiei, indiferent de ordinea la care au
ajuns la destinaie;
se va asigura un control al fluxului de date pentru a evita
congestiile, suprancrcarea sau pierderea de date.
Comunicaii orientate pe conexiune
Modalitatea de lucru a unei comunicaii orientate pe conexiune este
urmtoarea: pentru a se asigura un transport fiabil de date de la surs la
destinaie, sistemul care trimite date stabilete ntr-o prim etap o sesiune
orientat pe conexiune cu sistemul su pereche cu care comunic. n acest
caz, programele aplicaie de pe cele dou sisteme terminale ncep prin a
trimite un semnal sistemelor de operare care anun faptul c se va iniia o
conexiune. Cele dou sisteme de operare comunic ntre ele prin trimiterea
de mesaje de-a lungul reelei confirmnd c se aprob transferul de date i
c acesta poate ncepe. Din momentul realizrii sincronizrii ntre sisteme,
se poate spune c a fost creat o conexiune i transferul de date se poate
iniia. Un astfel de procedeu se mai numete three-way-handshake, adic
stabilirea conexiunii n trei etape (figura 6.10).
Detaliat, conexiunea de tip three-way-handshake presupune
urmtoarele etape: la nceput, staia transmitoare iniiaz (trimite un apel
SYN) conexiunea prin trimiterea unui pachet de date ce are un numr de
secven n i care conine un bit n header care indic faptul c secvena
reprezint o cerere de conexiune. n faza a doua, staia receptoare primete
pachetul, nregistreaz secvena n i rspunde cu o confirmare
(ACKnowledgement) n+1 i include secvena iniial proprie ce are numrul
m. Confirmarea cu numrul n+1 semnific faptul c staia receptoare a
primit toi octeii de date pn la n i ateapt secvena urmtoare n+1.
223
Reele de calculatoare
Transmitor Receptor
Se trimite SYN
Secvena n
Se recepioneaz SYN
Secvena n
Se trimite SYN
Secvena m
ACK=n+1
Se recepioneaz SYN
Secvena m
ACK=m+1
Se trimite ACK
ACK=m+1
Se recepioneaz ACK
ACK=m+1
Figura 6.10 Comunicaia de tip three-way-handshake
Din momentul iniierii comunicaiei, cele dou sisteme terminale
comunic prin intermediul unui protocol anume pentru a asigura transferul
corect al datelor pe toat durata transmisiunii.
O alt tehnic obinuit de transmitere fiabil a datelor este PAR
(Positive Acknowledgement and Retransmission) n care staia surs trimite
un pachet de date, pornete un contor de timp i ateapt o confirmare
nainte de a trimite urmtorul pachet. Dac timpul scurs pn la primirea
confirmrii depete valoarea specificat, staia surs retransmite acel
pachet de date i pornete din nou contorul de timp.
n timpul unui transfer de date poate aprea la un moment dat o
congestie. Acest lucru se ntmpl atunci cnd un computer transmite date
cu o mare vitez genernd un trafic prea rapid pentru reea sau atunci cnd
mai multe computere transmit simultan date prin intermediul unei singure
224
Sisteme de calcul i operare
pori (gateway) ctre destinaie. n acest din urm caz, fie poarta de
transmitere fie destinaia pot deveni aglomerate iar cauza problemei nu
provine de la un singur sistem terminal. Congestia n reea este similar cu
traficul de maini de pe o autostrad: un numr prea mare de maini ce
utilizeaz autostrada conduce la un trafic aglomerat i la apariia de gtuiri
ale traficului (aa numitele ambuteiaje). n momentul n care o staie din
reea recepioneaz datagrame (structuri de date) prea rapid pentru a le
putea procesa, acestea sunt stocate ntr-o zon de memorie tampon numit
buffer. Aceast modalitate de a copia datagramele n memoria tampon
rezolv problema doar dac acest trafic supraaglomerat este de scurt
durat. Dac suprancrcarea persist, memoria tampon va deveni
insuficient pentru stocarea tuturor datagramelor primite i datagramele
ulterioare primite se vor pierde. Tocmai pentru a se evita astfel de pierderi
de date a fost creat funcia de transport ce controleaz fluiditatea traficului
de date din reea.
Un alt procedeu utilizat pentru transmiterea datelor de la o surs la o
destinaie se numete windowing. Deoarece viteza efectiv de transfer a
datelor ar fi prea nceat dac staia care transmite ar atepta o confirmare
pentru fiecare segment de date trimis, dup iniierea comunicaiei se pot
transmite mai multe pachete de date nainte de a primi o confirmare din
partea destinatarului. Numrul de segmente transmise pn la primirea unei
confirmri poart numele de window (i vom spune fereastr de date).
Exist mai multe tipuri de folosire a acestei tehnici: n timp ce unele
protocoale cuantific informaia trimis ntr-o fereastr de date ca multiplu
de pachete, alte protocoale (ntre care i TCP/IP) folosesc multiplii de octei
pentru ferestrele de date. Figura 6.11 ilustreaz acest procedeu folosind dou
dimensiuni window: 1 i 3. n cazul unui window de mrime 1,
transmitorul ateapt o confirmare pentru fiecare segment de date transmis
nainte de a trimite alt segment de date. n cazul unui window de
dimensiune 3, se vor transmite 3 pachete de date fr a se atepta
confirmarea.
225
Reele de calculatoare
Transmitor Receptor
Se trimit 3 pachete
Se recepioneaz 3
pachete i se trimite
confirmarea
Se recepioneaz 3
pachete i se trimite o
nou confirmare
ACK=m+1
Figura 6.11 Ilustrarea procedeului windowing cu o fereastr de dimensiune 3
Se recepioneaz
confirmarea i se trimit
alte 3 pachete
Se recepioneaz
confirmarea i se
continu procedeul
Protocolul TCP utilizeaz o astfel de tehnic de windowing denumit
sliding-window (fereastr glisant). Denumirea semnific faptul c
dimensiunea ferestrei de date gliseaz, adic este negociat dinamic n
timpul transmisiunii.
Nivelul reea
Nivelul reea din modelul OSI este responsabil cu direcionarea
(rutarea) datelor ntre reele i cu adresarea inter-reea. Acest lucru nseamn
c nivelul reea are grij de datele transmise ntre echipamente care nu sunt
n aceeai reea local. Dispozitive speciale numite rutere funcioneaz la
acest nivel OSI oferind servicii de rutare ntr-o inter-reea. n funcie de
nivelul OSI la care activeaz, spunem c echipamentul respectiv este
226
Sisteme de calcul i operare
un echipament de nivel corespunztor; astfel, ruterele se mai numesc i
echipamente de nivel 3.
Vom prezenta n continuare cum funcioneaz mecanismul de
rutare, adic modalitatea prin care ruterele direcioneaz pachetele de date
spre destinaie. Porturile de comunicaie n reea ale unui ruter se numesc
interfee. Primul lucru care se face atunci cnd un pachet de date ajunge la o
interfa a unui ruter este s se verifice adresa destinaie (adresa IP -Internet
Protocol). Dac acest pachet nu are ca adres de destinaie chiar ruterul,
atunci ruterul consult un tabel de adrese de reea ce se numete tabel de
rutare (routing table). n continuare pachetul se trimite la o interfa de
ieire a ruterului pentru a fi descompus n cadre i trimis n reeaua local. n
situaia n care adresa destinaie nu se regsete n tabela de rutare atunci
pachetul este aruncat.
La nivelul reea OSI se utilizeaz dou tipuri de pachete: pachete ce
conin date efective i pachete ce conin informaii de remprosptare a
rutelor de reea.
Pachetele de date sunt folosite pentru a transporta datele
utilizatorilor n cadrul inter-reelei iar protocoalele folosite
pentru acest tip de trafic se numesc protocoale rutate (routed
protocols), categorie din care fac parte i protocoalele IP i IPX.
Pachetele ce conin informaii de remprosptare a rutelor sunt
utilizate pentru a aduce la zi rutele vecine provenite de la ruterele
conectate n inter-reea. Protocoalele utilizate n acest sens se
numesc protocoale de rutare (routing protocols) i ca exemple
pot fi date RIP (Routing Information Protocol cel mai utilizat
protocol de rutare din Internet), EIGRP (Enhanced Interior
Gateway Routing Protocol) sau OSPF (Open Shortest Paths
First).
Tabelele de rutare memorate i folosite de ctre rutere conin
urmtoarele informaii: adrese de reea, denumiri de interfee i metrica.
Adresele de reea sunt specifice protocoalelor folosite; un ruter trebuie s
administreze o tabel de rutare pentru fiecare protocol n parte deoarece
acestea gestioneaz reelele folosind scheme de adresare diferite. Putem
compara aceast situaie cu aceea a inscripionrii denumirii unei strzi n
mai multe limbi care sunt vorbite de ctre locuitorii de pe acea strad.
Denumirile de interfa specific interfaa de ieire pe care pachetul o va
urma atunci cnd este adresat unei anumite reele.
Metrica reprezint distana ctre reeaua destinaie, distan care se
calculeaz n funcie protocolul de rutare utilizat. n cazul protocoalelor
bazate pe vectorul-distan metrica (hop-count) este de numrul de rutere
227
Reele de calculatoare
intermediare existente pn la acea reea. Alte tipuri de metrice includ
calculul limii de band, ntrzierile sau un contor de timp (tick-count, cu o
valoare de 1/18 dintr-o secund).
Cel mai utilizat protocol pentru transferul informaiilor de rutare
ntre rutere direct conectate este RIP. Acest protocol interior de rutare
(IGP Interior Gateway Protocol) calculeaz distanele pn la destinaie,
permind ruterelor s-i remprospteze tabelele de rutare la intervale
programabile, de regul la fiecare 30 de secunde. Dezavantajul acestui
procedeu este acela c se genereaz trafic suplimentar n reea. Protocolul
RIP ofer posibilitatea ruterului de a alege drumul (ruta) din reea pe care se
vor transmite datele pe baza vectorului distan (distance-vector). Ori de
cte ori sunt transmise date n reea ce trec printr-un nou ruter se consider
c s-a trecut un hop. Spre exemplu, dac pn la destinaie un pachet trece
prin 3 rutere intermediare (hopuri) atunci avem de-a face cu o metric n
valoare de 3.
n cazul n care avem mai multe rute pn la destinaie, protocolul
RIP selecteaz ruta cu numrul minim de hopuri, care ns nu este neaprat
cea mai rapid rut. Cu toate acestea, RIP rmne foarte popular i rspndit
printre protocoalele de rutare folosite. O alt problem a protocolului RIP
este aceea c acesta nu poate alege rute ce au numrul de hopuri pn la
destinaie mai mare de 15. Din aceast cauz pot aprea cazuri n care
destinaia se afl prea departe i atunci se va considera c nu poate fi atins.
Ruterele sunt dispozitive ce nu iau n considerare domeniile de tip
broadcast. O transmisie de tip broadcast n reea semnific faptul c are ca
destinaie toate dispozitivele din acea reea; din aceast cauz, dac
transmisiunile de tip broadcast sunt prea frecvente va rezulta o
suprancrcare a traficului reelei. Ruterele delimiteaz att domenii de
broadcast ct i domenii de coliziuni, lucru pe care l fac ns i dispozitivele
nivelui 2 din modelul OSI, nivelul legtur de date. Fiecare interfa a
ruterului reprezint o reea separat i trebuie s i se atribuie un numr de
identificare unic. n acest caz fiecare sistem terminal conectat la ruter
trebuie s utilizeze acelai numr de reea. Caracteristicile cele mai
importante ale ruterelor sunt urmtoarele:
ruterele folosesc adrese logice n header-ul nivelului reea pentru
a determina ruta pe care s direcioneze pachetul de date spre
destinaie;
ruterele nu direcioneaz pachete de tip broadcast sau multicast
(pachete ce au mai multe destinaii);
ruterele pot folosi liste de acces setate de administratorul reelei
pentru a asigura securitatea reelei i a controla pachetele de date
care intr sau ies din ruter;
228
Sisteme de calcul i operare
ruterele pot asigura simultan att servicii de nivel 2 de tip
bridging ct i servicii de rutare de nivel 3;
echipamentele de nivel 3 (n acest caz ruterele, dar pot exista i
switch-uri cu funcii de nivel 3) pot oferi conexiuni ntre reele
virtuale LAN (Virtual LAN).
Nivelul legturii de date
Nivelul legturii de date (data link) din modelul OSI are dou
funciuni principale: asigur faptul c mesajele sunt transmise dispozitivului
corespunztor i translateaz aceste mesaje provenite de la nivelul superior
(nivelul reea) n bii pe care i transmite mai departe nivelului fizic.
Mesajele sunt formatate n cadre de date (data frames) i li se adaug un
header ce conine adresele hardware pentru destinaie i pentru surs. Aceste
informaii adiionale formeaz un fel de nveli (capsul) ce nconjoar
mesajul original, de aceea acest procedeu se mai numete i procedeul de
ncapsulare a datelor.
Dispozitivele ce activeaz la nivelul 2 OSI se numesc switch-uri
(comutatoare) i bridge-uri (puni). Dac ruterele ce activeaz la nivelul
reea iau decizii privind direcionarea pachetelor de date inter-reele,
switch-urile i bridge-urile se ocup cu identificarea destinaiei pachetelor n
cadrul reelei locale. Atunci cnd un sistem terminal surs dorete s
transmit date ctre un sistem terminal destinaie, nivelul legtur de date
folosete adresarea hardware (spre deosebire de nivelul reea care folosete
adresarea software). Atunci cnd un pachet de date este schimbat ntre dou
rutere, este transformat ntr-un cadru prin adugarea informaiei de control
la nivelul legtur de date, dar aceast informaie este nlturat de ctre
ruterul destinaie i este considerat doar pachetul original de date. Acest
procedeu de ncapsulare n cadre a pachetului continu pn ce pachetul
ajunge la destinaie. Este important s nelegem c pachetul de date rmne
intact pe toat durata transportului, ncapsularea cu diverse tipuri de
informaie de control (n funcie de mediul de transmisie) neafectnd
coninutul su.
Nivelul legtur de date are dou subnivele:
Subnivelul MAC (Media Access Control) 802.3 care definete
modalitatea n care pachetele sunt trimise spre mediul de transmisie.
Accesul la mediul de transmisie (pe scurt, mediu) se face pe baza regulii
primul venit, primul servit, atunci cnd este partajat ntreaga lime de
band. Tot aici se definete i adresarea fizic precum i topologia local.
229
Reele de calculatoare
De asemenea, la acest subnivel pot aprea funcii legate de
notificarea erorilor, transmiterea n ordine a cadrelor sau controlul
fluxului.
Nivelul LLC (Logical Link Control) 802.2 se ocup cu identificarea
protocoalelor de nivel superior pe care le ncapsuleaz. Un header LLC
specific nivelului legtur de date cum s acioneze cu un pachet de date
atunci cnd se primete un cadru. De exemplu, un sistem terminal ce
recepioneaz un cadru examineaz header-ul LLC pentru a vedea dac
pachetul este destinat protocolului IP de la nivelul reea. Subnivelul LLC
poate oferi, de asemenea, controlul fluxului i controlul secvenelor de bii.
Nivelul fizic
Nivelul fizic din modelul OSI se ocup cu recepia i transmiterea
irurilor de bii, comunicnd direct cu diversele tipuri de medii de
transmisiune. Fiecare mediu de transmisie reprezint valorile biilor
(o sau 1) n mod diferit. Astfel, unele dintre acestea folosesc pentru
reprezentare tonuri audio, altele tranziii de stare (schimbri de voltaj) etc.
Pentru fiecare mediu de transmisiune n parte este necesar s se specifice un
protocol pentru specificarea modelelor de bii folosite, modalitatea de
codificare a biilor n semnale media precum i diverse caracteristici fizice
ale interfeelor i conectorilor corespunztoare mediilor de transmisiune.
Specificaiile nivelului fizic includ caracteristicile electrice,
mecanice, procedurale i funcionale necesare pentru activarea,
administrarea i dezactivarea legturilor fizice ntre sistemele terminale din
reea. La nivelul fizic sunt identificate, spre exemplu, interfeele ntre
echipamentele terminale DTE (Data Terminal Equipment) i echipamentele
DCE (Data Circuit-Terminating Equipment). Echipamentele DCE sunt de
regul localizate la furnizorul de servicii de reea n timp ce echipamentele
DTE sunt echipamentele ataate. Serviciile disponibile unui DTE sunt cel
mai des accesate prin intermediul unui modem sau a unui echipament
CSU/DSU (Channel Service Unit / Data Service Unit). Conectorii existeni
la nivelul fizic precum i diferitele topologii fizice sunt definite de ctre OSI
ca i standarde, permind comunicaia dintre sisteme terminale diferite.
Dispozitivele de reea ce acioneaz la nivelul fizic sunt repetoarele
i hub-urile. Un repetor (repeater) recepioneaz un semnal digital pe care l
amplific i l trimite mai departe sau l regenereaz, direcionndu-l ctre
toate porturile active de ieire fr a examina coninutul datelor. Hub-ul
acioneaz n acelai mod, fiind de fapt un repetor multi-port. Fiecare
semnal digital recepionat la un port de intrare al hub-ului este regenerat sau
230
Sisteme de calcul i operare
amplificat i trimis apoi ctre toate porturile hub-ului. n acest caz, toate
dispozitivele ataate hub-ului spunem c se afl n acelai domeniu de
coliziuni i n acelai domeniu broadcast. Un domeniu broadcast este un
domeniu n care echipamentele din segmentul de reea respectiv ascult
toate semnalele de tip broadcast de pe acel segment. La fel ca i repetoarele,
hub-urile nu analizeaz traficul de date pe timpul retransmiterii lor.
Hub-urile genereaz o reea fizic de tip stea (star) n care hub-ul este
nodul central la care sunt conectate dispozitivele n form de stea.
Standardul Ethernet pentru reele LAN folosete o topologie logic de tip
magistral (bus), n care semnalele sunt transmise de la un capt la altul al
reelei i fiecare echipament conectat la hub ascult dac un alt
echipament transmite date.
6.4.4 Modelul TCP/IP
Introducere
Modelul de referin TCP/IP este modelul utilizat de strmoul
tuturor reelelor de calculatoare, care este ARPANET-ul i de ctre
succesorul acestuia, Internetul. Conceput iniial ca o reea extrem de fiabil
i care s ofere posibilitatea interconectrii diferitor tipuri de echipamente,
reeaua ARPANET a Departamentului de Aprare a SUA a condus n cele
din urm la realizarea arhitecturii TCP/IP sau, altfel spus, modelul de
referin TCP/IP. Arhitectura TCP/IP a fost definit pentru prima dat n
1974 de ctre autorii Cerf i Kahn. Ulterior ea este dezvoltat de ctre
Leiner n 1985 iar filozofia din spatele modelului este analizat de ctre
Clark (1988). Modelul TCP/IP conine 4 nivele:
nivelul gazd-la-reea (host-to-network);
nivelul Internet;
nivelul transport;
nivelul aplicaie.
Figura 6.12 ne prezint comparativ modelul TCP/IP i modelul OSI.
231
Reele de calculatoare
Figura 6.12 Comparaie ntre modelul TCP/IP i modelul OSI
Aplicaie
Transport
Internet
Gazd-la-reea
Aplicaie
Prezentare
Sesiune
Transport
Reea
Legtur de
date
Fizic
OSI
TCP/IP
Nivele legate de
aplicaii
Nivele legate de
fluxul de date
Protocoale
Reea
Nivelul aplicaie
Spre deosebire de modelul OSI, modelul TCP/IP nu conine
nivelurile sesiune i prezentare, ele nefiind incluse deoarece nu s-a simit
nevoia lor. Experiena oferit de modelul OSI a dovedit c aceast viziune a
fost corect deoarece n majoritatea aplicaiilor cele dou nivele nu aduc un
real folos. Practic, funciunile nivelelor sesiune i prezentare din modelul
OSI au fost n cazul modelului TCP/IP ncorporate n nivelul aplicaie.
Nivelul aplicaie se situeaz deasupra nivelului transport i are n
componen toate protocoalele de nivel nalt. Printre aceste protocoale se
afl TELNET (pentru conexiuni pe calculatoare la distan), FTP (File
Transfer Protocol - transfer de fiiere), SMTP (Simple Mail Transmission
Protocol pentru pota electronic), DNS (Domain Name Service pentru
stabilirea corespondenei ntre numele gazdelor i adresa de reea) i HTTP
(HyperText Transfer Protocol pentru aducerea paginilor web).
232
Sisteme de calcul i operare
Nivelul transport
Este urmtorul nivel de sus n jos dup nivelul aplicaie i este astfel
conceput nct s permit conversaii ntre entitile pereche din sistemul
terminal surs i cel destinaie, ntr-un mod asemntor cu nivelul transport
din modelul OSI. La acest nivel se afl implementate dou protocoale: TCP
(Transmission Control Protocol) i UDP (User Datagram Protocol). TCP
este protocolul sigur i fiabil orientat pe conexiune care permite ca un flux
de octei trimii de la o surs s ajung la destinaie fr erori, n timp ce
UDP este un protocol nesigur, fr conexiune, destinat aplicaiilor care
doresc s utilizeze propria lor secveniere i control al fluxului i nu cele
oferite de TCP.
Nivelul Internet
Nivelul Internet reprezint coloana vertebral a ntregii arhitecturi
TCP/IP. Rolul acestui nivel este acela de a permite sistemelor gazd s
trimit pachete n orice reea i de a face ca pachetele s circule independent
pn la destinaie. Pachetele de date pot sosi ntr-o ordine diferit de aceea
n care au fost transmise, caz n care rearanjarea lor n ordinea corect trece
n sarcina nivelelor superioare. La nivelul Internet se definete un format
standard de pachet de date (pachet IP) i un protocol denumit IP (Internet
Protocol), sarcina nivelului fiind aceea de a livra pachetele IP ctre
destinaie. Probleme apar la dirijarea pachetelor n reea i la evitarea
congestiei; de aceea putem spune c nivelul Internet din modelul TCP/IP
acioneaz ca i nivelul reea din modelul OSI.
Se poate face o analogie a funcionalitii acestui nivel cu aceea a
sistemului potal internaional. Atunci cnd trimitem o scrisoare la
destinaie sistemul potal tie s direcioneze scrisoarea ctre destinatar, dar
noi nu cunoatem mecanismele prin care se face acest lucru; singurul lucru
care ne intereseaz este ca scrisoarea s ajung n bune condiii i n timp
util la destinaie.
Nivelul gazd-la-reea
Nivelul gazd-la-reea (denumit i nivelul de acces la reea) este cel
mai puin specificat dintre toate nivelele modelului TCP/IP. Numele su este
oarecum prea general i confuz; acest nivel se ocup cu toate chestiunile
legate de conexiunile fizice pe care trebuie s le strbat pachetele IP pentru
a ajunge n bune condiii la destinaie. El include specificaii tehnologice
233
Reele de calculatoare
legate de reele LAN i WAN, precum i toate detaliile corespunztoare
nivelelor fizic i legtur de date prezente n modelul OSI.
6.5 Internetul i reelele de calculatoare
6.5.1 Introducere i concepte de baz
Internetul este un termen nou, intrat de curnd n vocabularul nostru
de zi cu zi. Unii chiar abordeaz subiecte legate de sindromul Internet sau
dependena de Internet. Vom ncerca n cele ce urmeaz s clarificm
definiia acestuia, avnd n vedere c pn i muli utilizatori mptimii ai
Internetului nu tiu s fac deosebirea ntre Internet i Web sau ntre
serviciul de pot electronic i cel de transfer de fiiere.
Trebuie s lmurim de la nceput c nu se poate da o definiie
complex a termenului de Internet n cteva rnduri. Avnd ns cteva
noiuni de baz i o serie de caracteristici lmurite, ne putem face o privire
de ansamblu asupra concepiei de Internet.
n primul rnd, Internetul este o reea de calculatoare (este, de fapt, o
reea de reele) la nivel mondial prin intermediul crora sunt interconectate
milioane de echipamente de calcul (aici sunt incluse i calculatoarele
personale) din ntreaga lume. O reea de calculatoare reprezint o colecie de
calculatoare interconectate ntre ele, adic sunt capabile s schimbe
informaie ntre ele. Pe de alt parte, Internetul este denumirea celei mai
vaste grupri de surse de informaie din lume. Reeaua de care vorbeam mai
nainte are o dimensiune extins la mrimea planetei noastre i cuprinde o
cantitate inimaginabil de resurse fizice, logice, informaionale.
Printre echipamentele interconectate se gsesc: calculatoare
personale, staii de lucru Unix, servere de Web sau de e-mail, laptop-uri,
pagere, telefoane mobile, etc. De curnd au fost conectate la Internet i
dispozitive electrocasnice, cum ar fi frigiderul sau cuptorul cu microunde.
Se prevede c n viitor multe dintre echipamentele electrocasnice vor
dispune de conexiune Internet. Toate aceste echipamente sunt denumite
sisteme gazd (hosts sau end systems). Aplicaiile Internet care ne sunt
tuturor foarte familiare (pota electronic sau web-ul) sunt de fapt, aplicaii
de reea ce ruleaz pe aceste sisteme gazd.
Pentru a comunica ntre ele, sistemele gazd folosesc aa numitele
protocoale pentru controlul transmiterii, recepiei i coreciei informaiilor
care circul prin Internet. Mai multe despre protocoale n continuarea
capitolului. Dintre aceste protocoale, TCP (Transmission Control Protocol)
234
Sisteme de calcul i operare
i IP (Internet Protocol) sunt cele mai importante protocoale folosite n
Internet. De asemenea, pentru asigurarea conexiunii ntre ele, sistemele
gazd folosesc legturi de comunicaie ce constau din diverse tipuri de
cabluri, printre care cablu coaxial, torsadat, fibr optic sau pot fi conexiuni
fr fir, prin unde radio, de exemplu. Una dintre caracteristicile importante
ale acestor legturi este viteza teoretic de transfer a datelor care este
denumit lime de band (bandwidth) i care se exprim n bii sau multipli
ai acestora pe secund (1 Mb/s = 1000 bii/s).
Sistemele gazd nu sunt interconectate direct ntre ele, ci prin
intermediul unor dispozitive intermediare denumite rutere. Pe scurt, un ruter
este un dispozitiv care preia informaia ce ajunge la el prin intermediul uneia
dintre legturile (de intrare) de comunicaie i o trimite mai departe pe o alt
legtur (de ieire) de comunicaie. Formatul informaiilor care sunt
recepionate i transmise mai departe ntre rutere i sistemele gazd sunt
precizate de protocolul IP. Acest protocol reprezint limbajul universal al
Internetului i de aceea se mai numete i Internet dial tone. Drumul pe
care l parcurg informaiile de la transmitor la receptor poart numele de
rut (route sau path) n reea.
Modalitatea de stabilire a unei conexiuni n Internet (pentru a putea
transmite informaii de la un transmitor la un receptor) se bazeaz pe o
tehnic denumit comutare de pachete, care permite mai multor sisteme s
comunice pe o rut (sau o poriune dintr-o rut) Internet, n acelai timp.
Topologia Internetului (structura sistemelor conectate la Internet) este
ierarhizat n modul urmtor: la baz sunt sistemele gazd conectate la un
ISP (Internet Service Provider - Furnizor de Servicii Internet) local prin
intermediul unor reele de acces, furnizorii locali sunt conectai la nite
furnizori naionali sau internaionali, iar acetia din urm sunt conectai
mpreun la cel mai nalt nivel din aceast ierarhie.
Este interesant de remarcat faptul c pot fi adugate noi componente
sau nivele (noi reele sau noi reele de reele) n aceast topologie ierarhic
ntr-o manier foarte simpl, aa cum ai aduga noi piese ntr-un joc de
Lego. Internetul a crescut n ultimii ani i continu s creasc ntr-un ritm
exponenial: dac n prima jumtate a lui 1996 au fost adugate aproximativ
3.000.000 de host-uri (sisteme gazd) [Network 1996], n prima jumtate a
lui 2001 au aprut 16.000.000 de noi host-uri conectate la Internet [Network
2001].
Aceast reea uria care este Internetul nu ar fi s-ar fi putut crea
dac nu ar fi fost create, testate i implementate o serie de standarde. Dac
n faza incipient a reelelor de calculatoare (anii 1970) era imposibil s
interconectezi computere provenite de la diveri productori (un computer
IBM cu un server Gateway, spre exemplu) datorit incompatibilitii
235
Reele de calculatoare
protocoalelor folosite, treptat s-a ajuns la concluzia c trebuie folosite
standarde generalizate de comunicaie pentru a putea interconecta diverse
echipamente provenite de la diveri productori. Astfel au luat fiin aa
numitele standarde deschise (open-standards) i necesitatea conectivitii
indiferent de platform (cross-platform). Aceste standarde sunt dezvoltate
de organisme internaionale specializate, precum IETF (Internet Engineering
Task Force) ale cror documente poart denumirea de documente RFC
(Request For Comments). Dup cum reiese i din denumirea original
(cereri pentru observaii, comentarii), RFC-urile s-au nscut pentru a rezolva
problemele arhitecturale ale predecesorilor Internetului.
Documentele RFC au evoluat astfel nct acum sunt adevrate
standarde, documente tehnice i detaliate, care cuprind definiii de
protocoale cum ar fi TCP (Transmission Control Protocol), IP (Internet
Protocol), SMTP (Simple Mail Transfer Protocol) sau HTTP (Hyper Text
Transfer Protocol). La ora actual exist peste 2000 de documente RFC.
Copii ale documentelor RFC sunt gzduite de numeroase site-uri Web. Una
dintre aceste locaii este la Institutul de tiine ale Informaiei (ISI
Information Sciences Institute - http://www.rfc-editor.org). Alte locaii sunt:
http://www.faqs.org/rfcs, http://www.pasteur.fr/other/ computer/RFC i
http://www.csl.sony.co.jp/rfc/.
Internetul este un domeniu public, care cuprinde, dup cum am mai
spus, o varietate de reele publice ale unor companii private, instituii
educaionale sau guvernamentale. Exist ns i reele asemntoare private,
ale cror calculatoare gazd nu sunt accesibile din afara reelei respective. O
astfel de reea se numete intranet i de regul folosete aceleai tehnologii
ca cele folosite n Internet.
6.5.2 Internet scurt istoric
Funcionarea Internetului se bazeaz pe protocolul TCP/IP, care este
de fapt o colecie de protocoale dintre care cele mai importante sunt TCP i
IP, de unde provine i denumirea de TCP/IP. De multe ori ntlnim
denumirea de stiv de protocoale TCP/IP (TCP/IP Protocol Stack). Pentru a
nelege funcionarea unei reele TCP/IP (bazat pe TCP/IP) trebuie s
cunoatem o serie de considerente care au stat la baza naterii reelei
Internet i a stivei de protocoale TCP/IP. Dac la nceputurile dezvoltrii
sistemelor de calcul comerciale (sfritul anilor 1960, nceputul anilor 1970)
companiile foloseau arhitecturi i protocoale proprietare (ce aparineau unui
anumit productor), treptat s-a ajuns la nevoia de a achiziiona echipamente
provenite de la mai muli productori. Aceste echipamente trebuiau
236
Sisteme de calcul i operare
interconectate i fcute s lucreze mpreun pe baza acelorai standarde i
protocoale.
Utilizarea computerelor n programul ageniei americane de stat
ARPA (Advanced Research Projects Agency) din cadrul Departamentului de
Aprare (DOD Department Of Defense) a condus la elaborarea
coordonrii dezvoltrii unei reele independente de productor pentru a
conecta marile centre de cercetare. Necesitatea unei astfel de reele a fost
prima prioritate a acestui program, avnd n vedere c, iniial, fiecare centru
de cercetare folosea tehnologii proprietare. Anul 1968 a marcat nceputul
elaborrii unei reele bazate pe comutare de pachete, care mai trziu a
devenit reeaua ARPAnet.
Reeaua ARPAnet a fost prima reea de calculatoare de arie larg
(WAN Wide Area Network) din lume, conceput s permit unor pachete
de date s fie rutate n reea ca entiti de sine stttoare. Acest lucru a
reprezentat o revoluie n domeniu, deoarece reelele anterioare se bazau pe
comutarea de circuite, ce nsemna stabilirea de conexiuni dedicate ntre
dou locaii pentru ca acestea s poat schimba date. Mai mult, ARPAnet
oferea pentru prima dat posibilitatea interconectrii mai multor locaii ntr-
o topologie neregulat, permind datelor s circule ntre oricarea dintre
aceste locaii pe diverse rute. Conceptul de baz era urmtorul: dac una din
locaii era distrus (eventual bombardat ntr-un rzboi s nu uitm c era
vorba despre un proiect militar), acest lucru nu afecta comunicaiile dintre
celelalte locaii care fceau parte din reea.
n aceeai perioad de timp i ali furnizori de servicii de reea au
nceput s dezvolte conexiuni cu locaii din reeaua ARPAnet, ceea ce a dus
treptat la apariia termenului de Internet. n anii urmtori tot mai multe
organizaii au fost adugate n ARPAnet, n paralel cu dezvoltarea altor
reele i tehnologii de reea, precum Ethernet.
Toate aceste dezvoltri ulterioare au condus la concluzia c este
nevoie de o serie de protocoale de reea care s opereze la un nivel superior
celui fizic, astfel nct s se permit schimbul de informaii ntre diverse
reele fizice. Aceste protocoale trebuiau implementate n software deasupra
oricrei topologii de reea, indiferent c era vorba despre o reea de arie
larg WAN cu comutare de pachete (ARPAnet) sau o reea local LAN
(Local Area Network) Ethernet sau Token Ring.
237
Reele de calculatoare
6.5.3 Definiia unui protocol de reea
Unul din termenele cele mai folosite atunci cnd este vorba de o
reea de calculatoare sau de Internet este termenul de protocol. Vom
prezenta n continuare o definiie i cteva exemple pentru a putea identifica
un protocol. Probabil c cea mai bun modalitate de a nelege noiunea de
protocol este aceea de a considera pentru nceput o serie de analogii cu
intercomunicarea din lumea uman. S considerm exemplul n care
ntrebm pe cineva unde se afl o anume strad (Figura 6.13).
Bunele maniere (protocolul uman) ne fac s spunem nti Bun
ziua! pentru a ncepe comunicarea cu o alt persoan. Rspunsul ar trebui
s fie, desigur, tot Bun ziua!, ca o confirmare a faptului c este acceptat
comunicarea. Interpretarea rspunsului ca un accept al comunicrii ne
permite acum s formulm ntrebarea care ne intereseaz. Dac rspunsul
iniial al persoanei creia i adresm Bun ziua! ar fi fost Las-m n
pace, sunt ocupat! sau ceva asemntor, atunci ar fi nsemnat c nu exist
posibilitatea comunicrii. n acest caz, nu mai are rost s formulm
ntrebarea al crei rspuns dorim s-l aflm. Uneori este posibil s nu
primim nici un rspuns la o ntrebare, caz n care de regul renunm a mai
repeta ntrebarea.
Regulile intercomunicrii umane (protocolul uman) sunt astfel
reprezentate de mesajele pe care le trimitem i de aciunile specifice pe care
le ntreprindem corespunztoare rspunsului primit de la interlocutor sau
producerii altor evenimente. Mesajele transmise i cele recepionate joac
un rol fundamental n cazul protocoalelor umane; dac o persoan are
obiceiuri diferite sau folosete un limbaj strin altei persoane, atunci
protocoalele diferite nu vor permite intercomunicarea ntre respectivele
persoane. Acelai lucru este valabil i n cazul comunicrii ntre entitile
dintr-o reea de calculatoare. Pentru a putea comunica, respectivele entiti
trebuie s foloseasc (s ruleze) acelai protocol de reea.
Un protocol de reea este asemntor unui protocol uman, excepie
fcnd obiectele comunicrii: n loc s avem de-a face cu oameni, avem de-
a face cu componente hardware sau software ale reelei. Toate activitile
dintr-o reea de calculatoare (deci i din Internet) sunt bazate pe
funcionarea unui anumit set de protocoale. De exemplu, comunicarea dintre
dou calculatoare n reea se face prin protocoale implementate n hardware
la nivelul plcii de reea pentru controlul fluxurilor de bii transmii prin
intermediul suportului fizic; protocoalele de control al congestiilor au grij
s controleze viteza de transmitere a datelor ntre un transmitor i un
receptor iar protocoalele de pot electronic guverneaz modalitatea de
transmitere i de recepie a mesajelor de tip e-mail.
238
Sisteme de calcul i operare
Figura 6.13 Analogie ntre un protocol uman i un protocol de reea
n figura 6.13 este prezentat cazul n care un calculator face o cerere
unui server Web (asta se ntmpl n momentul n care scriem adresa web n
fereastra browserului), se primete un rspuns afirmativ de conexiune din
partea serverului i apoi calculatorul folosete un mesaj de tip GET pentru
a recepiona pagina respectiv. n cele din urm, serverul returneaz
coninutul fiierului calculatorului care a fcut cererea.
Ca urmare a analogiei cu comportamentul uman, putem da
urmtoarea definiie a protocolului: un protocol definete formatul i
ordinea mesajelor schimbate ntre dou sau mai multe entiti ce comunic
ntre ele, precum i aciunile ce sunt ntreprinse odat cu transmiterea sau
recepia unui mesaj sau a unui alt eveniment.
6.5.4 Naterea stivei de protocoale TCP/IP
Naterea Internetului a dus n 1973 la nceputul dezvoltrii stivei de
protocoale TCP/IP, care se dorea a fi o colecie de protocoale de reea bazate
pe software care s permit oricrui sistem s se conecteze cu orice alt
sistem, folosind orice topologie de reea. Cinci ani mai trziu, n 1978, era
gata versiunea 4 IP, adic aceeai versiune pe care o folosim i astzi.
Imediat dup aceea au nceput s apar o serie de semnale pozitive n
legtur cu recunoaterea TCP/IP: Universitatea Berkeley din California
239
Reele de calculatoare
a ncorporat stiva de protocoale TCP/IP n versiunea proprie de
UNIX-FreeBSD (distribuit gratis) ce avea s devin cel mai folosit sistem
de operare n comunitile academice i de cercetare.
Introducerea la scar larg a suitei de protocoale TCP/IP a produs o
serie de schimbri majore n lumea reelelor de calculatoare. n primul rnd,
topologia de baz a unei reele era concentrat pe un nod central, n care
fiecare sistem ataat trimitea datele unui nod central (pe post de dispecer)
pentru a fi procesate. Cu alte cuvinte, utilizatorii din reea nu aveau
independen n lucru, orice procesare, tiprire la imprimant etc. trebuind
s treac pe la nodul central.
O dat cu introducerea TCP/IP, lucrurile s-au schimbat: s-a introdus
descentralizarea, astfel nct fiecare echipament din reea era tratat
independent i complet funcional, fr a mai depinde de un nod central.
Comunicarea cu alt echipament din reea se putea face acum direct, fr s
se comunice mai nti cu nodul central. Reelele bazate pe protocolul IP sunt
oarecum anarhice, fiecare echipament acionnd pe cont propriu ca o unitate
autonom, responsabil pentru serviciile de reea proprii [Hall 2000].
Aceast concepie arhitectural a permis partajarea aplicaiilor i a
resurselor la scar larg, avnd n vedere c un model centralizat top-down
nu era viabil n cazul existenei a milioane de echipamente larg rspndite.
n plus, acest model oferea siguran n exploatare n cazul cderii unei
componente din reea, n contrast cu modelul centralizat n care toat
funcionarea se oprea n cazul cderii nodului central.
6.5.5 Arhitectura Internetului
De-a lungul timpului, ARPAnet a evoluat ntr-o reea de reele,
folosind TCP/IP i conectnd ntre ele diverse organizaii comerciale,
educaionale, politice etc. A rezultat astfel o structur general destul de
neregulat a Internetului (figura 6.14).
240
Sisteme de calcul i operare
Figura 6.14 Arhitectura general a Internetului
n reeaua Internet exist:
Furnizorii de servicii Internet care asigur clienilor acces la
Internet - ISP (Internet Service Provider);
Furnizorii de servicii de reea, care asigur conexiunile ntre
furnizorii de acces la Internet din ntreaga lume - NSP (Network
Service Provider sau Backbone Provider).
n figur se mai pot observa aa numitele NAP (Network Access
Points) care reprezint punctele de acces la reea.
n zilele noastre se tinde spre o arhitectur mai structurat,
organizat ierarhic ca un arbore (Figura 6.15). La primul nivel din arbore se
afl civa furnizori de servicii care ofer majoritatea serviciilor de
interconectare la nivel unei ri sau la nivel mondial, care se numesc
furnizori naionali. Majoritatea acestor firme sunt mari companii de
telecomunicaii specializate n reele de scar larg.
241
Reele de calculatoare
Figura 6.15 Structura ierarhic a Internetului
Pe urmtorul nivel n arbore gsim furnizorii de acces Internet sau de
servicii Internet (ntlnii uneori i sub denumirea de IAPs Internet Access
Providers) pe care i denumim furnizori regionali. Acetia ofer acces la
nivel unei localiti sau regiuni geografice restrnse, avnd servicii de
conexiune la viteze mai reduse dect furnizorii naionali.
Urmtorul nivel l constituie clienii reelei (fie ei clieni PC sau
servere) ce sunt conectai prin intermediul unui furnizor de servicii Internet
la un punct de acces la reea, de unde se face legtura spre ntreaga reea
Internet. Punctele de acces la reea sunt, de regul, bazate pe tehnologie
ATM i FDDI.
6.5.6 Componente Internet
Calculatoare gazd, clieni i servere
Computerele folosite n jargonul reelelor de calculatoare sunt
denumite, de regul, calculatoare gazd (hosts) sau sisteme terminale
(end-systems). Denumirea de calculator gazd provine de la faptul c acesta
gzduiete programe de nivel aplicaie (program de e-mail, navigator web
sau program de chat). Denumirea de sisteme terminale provine de la faptul
c ele se afl la marginea Internetului (vezi figura 6.16).
242
Sisteme de calcul i operare
Figura 6.16 Componente ale Internetului
Calculatoarele gazd se mpart n dou categorii: clieni i servere.
Clienii sunt reprezentai de calculatoare PC sau staii de lucru, n timp ce
serverele sunt calculatoare mai puternice care au de obicei funcionaliti
specifice: pot fi servere de baze de date, servere de mail sau servere de Web
etc. Sintagma client/server este ns cu mult mai important n cadrul
reelelor de calculatoare, avnd n vedere faptul c majoritatea acestora
folosesc modelul client/server. Conform acestui model, un program client ce
ruleaz pe un sistem terminal cere i primete informaii de la un program
server ce ruleaz pe alt sistem terminal. Cele mai multe aplicaii Internet
(Web, e-mail, ftp, telnet) folosesc acest model; datorit faptului c un
program client ruleaz pe un calculator i programul server ruleaz alt
calculator, aceste aplicaii se mai numesc i aplicaii distribuite.
Dac cele mai multe sisteme terminale sunt formate din calculatoare
personale, staii de lucru i servere, n ultimul timp au aprut din ce n ce
mai multe echipamente conectate la Internet ca sisteme terminale (camere
digitale, sisteme WebTV etc.) [Dertouzous 1999].
243
Reele de calculatoare
Servicii orientate pe conexiune
Sisteme terminale aflate n reea comunic ntre ele i fac schimb
de informaii conform unui protocol de comunicaie. Serverele,
ruterele, legturile fizice i alte componente ale Internetului ofer mijloacele
transportrii acestor mesaje ntre aplicaiile sistemelor terminale.
Serviciile de conexiune oferite se mpart n dou tipuri: servicii neorientate
pe conexiune (connectionless) i servicii orientate pe conexiune
(connection-oriented).
n cazul serviciilor bazate (orientate) pe conexiune, programele
client i server trimit pachete de control unul altuia nainte de a trimite
pachetele cu date. Acest procedeu se numete handshaking (strngere de
mn) i are rolul de a ateniona att clientul, ct i serverul, c urmeaz s
aib loc schimbul de date.
Odat ncheiat procedura de handshaking, se spune c se stabilete
o conexiune ntre cele dou sisteme terminale. Sistemele terminale sunt
informate despre aceast conexiune dar modalitatea prin care pachetele care
sunt trimise de la surs la destinaie prin Internet nu permite stocarea unor
informaii legate de starea conexiunii. Serviciul orientat pe conexiune din
Internet ofer i alte servicii ce in de transferul sigur al datelor, de controlul
fluxului sau de controlul congestiilor.
Transferul sigur al datelor (reliable data transfer) nseamn faptul c
o aplicaie se poate baza pe conexiune pentru a transmite datele fr erori i
n ordinea corect. Sigurana transmisiei datelor n Internet se face prin
utilizarea confirmrilor i a retransmisiilor. Pentru a ne face o idee general
asupra modului n care funcioneaz acest lucru, s presupunem c a fost
stabilit o conexiune ntre dou sisteme terminale X i Y. Atunci cnd X
primete un pachet de la Y, i trimite o confirmare; atunci cnd Y primete
confirmarea, atunci el tie c respectivul pachet a ajuns la destinaie. Dac
sistemul Y nu primete confirmarea, atunci presupune c pachetul respectiv
nu a fost primit de ctre X i n acest caz retransmite pachetul.
Controlul fluxului este folosit pentru a ne asigura de faptul c nici
una dintre prile implicate n conexiune nu-i aglomereaz interlocutorul
trimind mai multe date dect acesta este capabil s recepioneze n unitatea
de timp. ntr-adevr, o aplicaie de la unul dintre capetele conexiunii poate
s nu fie n stare s proceseze informaia la fel de repede aa cum ea sosete,
existnd riscul suprancrcrii. Serviciul de control al fluxului foreaz
sistemul ce transmite datele s reduc viteza de transmitere ori de cte ori
apare riscul suprancrcrii.
244
Sisteme de calcul i operare
Serviciul de control al congestiilor previne intrarea ntr-o situaie de
blocaj. Cnd un ruter devine congestionat, dimensiunea memoriilor sale
tampon poate fi depit i s se produc pierderi de pachete. n astfel de
situaii, dac fiecare dintre sistemele pereche ce comunic continu s
trimit pachete n reea, are loc un blocaj i astfel puine dintre aceste
pachete vor mai ajunge la destinaie. Internetul evit aceast problem
fornd sistemele terminale s-i reduc ratele de transfer la cer trimit
pachete n reea n astfel de perioade de congestie. Sistemele terminale sunt
atenionate de existena congestiilor atunci cnd nu mai primesc confirmri
pentru pachetele pe care le-au trimis la destinaie.
Transferul sigur de date, controlul fluxului i controlul congestiilor
nu reprezint caracteristicile generale ale unui serviciu orientat pe
conexiune; orice serviciu sau protocol orientat pe conexiune are la baz doar
procedura de handshaking pentru iniierea transferului de date ntre cele
dou sisteme terminale. Serviciul orientat pe conexiune al Internetul este
TCP (Transmission Control Protocol), definit iniial n documentul
RFC 793. Caracteristicile TCP includ transferul sigur de date, controlul
fluxului i controlul congestiilor.
Servicii ne-orientate pe conexiune
Dup cum ne putem atepta, ntr-un astfel de serviciu de conexiune
nu exist procedura de handshaking. n momentul n care una dintre
aplicaiile ce comunic trimite pachete celeilalte aplicaii, transmitoarea
trimite pur i simplu pachetele de date. Avnd n vedere c nu mai exist
procedura iniial de stabilire a conexiunii, nseamn c datele pot fi
transmise mai rapid. Cum nu exist nici confirmri de primire a pachetelor,
nseamn c cel care trimite datele nu este niciodat sigur c acestea au
ajuns la destinaie. Acest tip de serviciu nu se ocup nici cu controlul
fluxului, nici cu controlul congestiilor. Serviciul neorientat pe conexiune din
Internet poart numele de UDP (User Datagram Protocol), definit n
documentul RFC 768.
Printre aplicaiile Internet ce folosesc serviciul TCP se numr:
TELNET conectare la distan, SMTP pot electronic, FTP transfer
de fiiere, HTTP World Wide Web. Exemple de aplicaii Internet care
folosesc protocolul UDP sunt: Internet phone, audio-la-cerere
(audio-on-demand) i video conferina.
245
BIBLIOGRAFIE
1 Brescu, C. L.,
Duda, L.
Internet pentru nceptori, Bucureti,
Editura TIMS, 1995
2 Dodescu, Gh.,
Vasilescu, A.
Sisteme de operare MS-DOS i UNIX,
Bucureti, Editura Viaa Romneasc,
1994
3 Dodescu Gh.,
Nstase, F.
Sisteme de calcul i operare, Bucureti,
1995-1
4 Dodescu, Gh.,
Nstase, F.
Sisteme de calcul i operare, Bucureti,
Editura Aldo, 1995-2
5 Dodescu, Gh.,
Nstase, F.
Sisteme de calcul i operare, Bucureti,
Editura Economic, 2002
6 Kurose, J.,
Keith, R.,
Addison, W.
Computer Networking, A Top-Down
Approach Featuring the Internet, 2001
7 Nstase, F. Arhitectura reelelor de calculatoare,
Bucureti, Editura Economic, 1999
8 Stallings, W. Operating Systems, fourth edition,
New York, Prentice Hall PTR, 2001
9 Vasilescu, A. Reele de calculatoare, Bucureti,
Editura Inforec, ASE, 1999
10 Zota, R. D. Sisteme de operare pentru reele de
calculatoare, Bucureti Editura
Economic, 2002
11 Zota, R. D. Reele de calculatoare n era Internet,
Bucureti, Editura Economic, 2002
12 Zota, R. D. Elemente de arhitectur a sistemelor de
calcul i operare, Bucureti, Editura
ASE, 2004
246