Sunteți pe pagina 1din 246

Cuprins

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;

Procesarea cuantic reprezint un termen introdus nc din anii 70 i se bazeaz pe fizica


cuantic, folosindu-se anumite proprieti ale atomilor i nucleelor ce le permite s
lucreze mpreun drept bii cuantici (denumii qubits) pentru a fi utilizai de procesor i
memorie. Prin interaciunea dintre ei, izolai de mediul exterior, qubiii pot realiza
anumite calcule matematice mult mai rapid dect calculatoarele convenionale.
Qubiii nu se bazeaz pe natura binar tradiional a procesrii. Spre deosebire de
codificarea tradiional a numerelor ce folosete doar 0 i 1, calculatoarele cuantice
codific informaia ca o serie de stri mecanico-cuantice precum micarea de rotaie a
electronilor sau orientarea polarizrii ce pot reprezenta un 0 sau un 1, o combinaie a
celor dou sau pot reprezenta un numr ce semnific faptul c starea unui qubit este
undeva ntre 0 i 1. Este important faptul c, utiliznd aceast idee, un calculator cuantic
monoprocesor poate executa o sumedenie de operaii n paralel. Prelucrarea cuantic nu
este cea mai bun soluie pentru activiti de procesare de texte sau pot electronic, dar
este ideal pentru aplicaii criptografice sau de modelare i indexare a bazelor de date de
dimensiuni foarte mari.
14
Introducere
^ capacitatea de stocare a memoriei auxiliare sistemele de
calcul tind s fie echipate cu dispozitive periferice de memorare
de mare capacitate;
^ viteza perifericelor de ieire este o alt caracteristic cele mai
mari calculatoare sunt dotate cu dispozitive de ieire rapide, a
cror vitez se msoar, de exemplu, n sute de mii de linii care
pot fi tiprite pe minut;
^ viteza de prelucrare exprimat n milioane de instruciuni pe
secund (MIPS - Millions of Instructions Per Second) variaz de
la 3 - 4 MIPS la cele mai mici calculatoare, pn la mai mult de
200 MIPS pentru supercalculatoare;
^ numrul utilizatorilor care pot avea acces la calculator n acelai
timp calculatoarele personale admit numai un singur utilizator,
alte tipuri accept mai mult de doi sau trei utilizatori n acelai
timp, iar cele mai mari calculatoare suport sute de utilizatori
simultan;
^ costul sistemului poate varia foarte mult.

Avnd n vedere totalitatea criteriilor enumerate mai sus,
calculatoarele sunt, n general, grupate n patru categorii de baz:
microcalculatoare, minicalculatoare, calculatoare mainframe i
supercalculatoare. Este dificil s se asocieze o definiie fiecrei categorii,
innd seama de progresele tehnologice i de rapiditatea cu care se pot
schimba parametrii de mai sus. Totui urmtoarele definiii ar putea fi
suficiente.
Microcalculatorul, numit adesea calculator personal (PC - Personal
Computer - vezi figura 1.7), reprezint tipul de calculator care utilizeaz un
microprocesor ca unitate central de prelucrare (UCP) i care poate fi folosit
numai de o singur persoan la un moment dat. Exist un mare numr de
variante, n ceea ce privete dimensiunea, de la calculatoare personale
portabile (laptop - figura 1.5) la puternice staii de lucru (desktop
workstations) care sunt utilizate pentru calcule inginereti i tiinifice.
Staiile de lucru utilizeaz sistemele de operare UNIX sau Windows
NT/2000/XP i sunt echipate cu procesoare RISC puternice (cum ar fi
Digital Alpha, PowerPC sau MIPS) sau cu procesoare Intel Pentium (i
compatibile). Calculatoarele personale lucreaz folosind sistemul de operare
Windows sau un alt sistem de operare similar, fiind folosite pentru aplicaii
standard. Microcalculatoarele pot fi folosite cu uurin de neprogramatori
datorit numrului mare de pachete de programe de aplicaii disponibile.

15
Sisteme de calcul i operare
Figura 1.7 Calculator personal

n ultimii ani PC-urile au devenit un lucru comun n instituii, coli,
universiti i locuine. PC-urile au schimbat modul n care se gndete, se
nva i se lucreaz. Astzi PC-ul este un ajutor de nepreuit pentru cei care
vor s-i mbunteasc performanele i calitatea muncii. Piaa exploziv a
PC-urilor a condus la creterea numrului utilizatorilor, la accelerarea
dezvoltrii domeniilor de aplicaii, de la programele de prelucrare de texte
pn la tehnologii care au permis oamenilor s lucreze acas, s se joace, s
nvee sau s fac cercetri avansate.
Minicalculatorul este cunoscut ca un calculator de mrime medie, ce
nu este portabil. El suport pn la 50 de utilizatori simultan i are o
memorie principal de capacitate mare. n mod normal minicalculatorul
deservete o reea de terminale simple. IBM AS/400 sau DEC Vax/750 sunt
exemple de minicalculatoare.
Calculatorul mainframe reprezint un calculator de mari dimensiuni
i foarte puternic care este amplasat ntr-un cadru care poate fi controlat. Un
astfel de calculator suport prelucrri cerute de sute, chiar mii de utilizatori
precum i calcule specializate. Este solicitat de companiile care vehiculeaz
i prelucreaz un volum mare de informaie. Ca exemplu este modelul 390
al IBM.
Supercalculatorul posed resurse hardware i software deosebite. Se
utilizeaz n industria de aprare, n lumea cercetrii tiinifice, n cteva
universiti, n industria aeronautic i spaial. Un supercalculator poate
executa peste 1,8 miliarde de operaii pe secund.




16
Introducere
1.3 Arhitectura sistemelor de calcul

1.3.1 Introducere

Sistemele de calcul existente cunosc un mare numr de variante
arhitecturale. Principiul de baz al proiectrii calculatoarelor clasice a fost
ordonarea secvenial a operaiilor elementare. Acesta se rezum prin dou
aspecte majore: execuia unui ansamblu de funcii de ctre un procesor unic
i descrierea prelucrrilor n conformitate cu algoritmii secveniali (modelul
lui Von Neumann).
Modelul topologic de baz (figura 1.8) scoate n eviden elementele
structurale fundamentale, att cele fizice: resurse de calcul (C), resurse de
memorare (M), ansamblul echipamentelor de intrare/ieire (I/E), circuitele
ce asigur transmisia informaiei ntre componentele precedente (T) ct i
cele logice: sistem de operare, programe utilitare.

Figura 1.8 Modelul unui sistem de calcul

Pe baza disponibilitilor structurale ale elementelor enumerate i a
combinaiilor arhitecturale dintre ele se obine mulimea tuturor modelelor
de sisteme de calcul.
Putem afirma c, un sistem de calcul reprezint o colecie de resurse
hardware (unitatea central de prelucrare - UCP, memoria, dispozitivele
periferice de intrare/ieire) i software (sistem de operare, programe
utilitare) care interacioneaz ntre ele n vederea satisfacerii cerinelor
utilizatorilor. innd cont de acest model, componenta hardware a unui PC
va arta ca n figura 1.9.

17
Sisteme de calcul i operare
Calculatoarele personale moderne i au rdcinile n SUA ncepnd
cu anul 1940, dei pe pia au aprut n 1981. Dintre oamenii de tiin ce
i-au adus contribuia n acest domeniu, trebuie amintit John von Neumann
(1903-1957), matematician nscut n Ungaria. El a fost primul care a
proiectat un calculator cu memorie de lucru (memoria RAM de astzi).
Modelul unui calculator personal al lui Von Neumann include: UCP,
intrarea, ieirea, memoria de lucru i memoria permanent.



Figura 1.9 Componentele hardware ale unui PC

Dintre elementele care au determinat ca PC-urile s se impun pe
piaa sistemelor de calcul enumerm:
au reprezentat un nceput pentru standardizare, avnd o
arhitectur deschis;
fiind bine documentate au oferit posibiliti de extindere;
au fost ieftine, simple i robuste.

Primele calculatoare personale, realizate de ctre firma IBM, aveau
la baz microprocesorul Intel 8088 iar ca sistem de operare MS-DOS de la
Microsoft. Numele original de calculator personal sau PC (Personal
Computer) provine deci de la IBM iar toate calculatoarele construite dup
aceea, avnd aceeai arhitectur de baz, poart denumirea de calculator
compatibil IBM-PC, tocmai datorit faptului c pstreaz arhitectura
18
Introducere
funcional de baz a primului calculator personal scos pe pia de ctre
firma IBM. PC-urile existente astzi sunt la fel de puternice ca
minicalculatoarele i calculatoarele mainframe de acum civa ani.


1.3.2 Procesorul

Componenta cea mai important a unui sistem de calcul, n
particular a unui calculator personal, este procesorul (figura 1.10) sau
unitatea central de prelucrare (UCP). Denumirea de unitate central de
prelucrare provine din urmtoarele consideraii:
+ procesor, deoarece prelucreaz datele;
+ central, deoarece este centrul de prelucrare a datelor din sistem;
+ unitate, deoarece, de cele mai multe ori, este un circuit integrat
care conine zeci sau sute de milioane de tranzistoare un
microprocesor.



Figura 1.10 Exemple de microprocesoare

19
Sisteme de calcul i operare

Figura 1.11 Procesorul
Microprocesorul conine (figura 1.11):
unitatea aritmetico-logic (UAL);
unitatea de control;
un ansamblu de registre.

Unitatea aritmetico-logic execut operaii aritmetice i funcii
logice. Unitatea central de procesare coordoneaz activitatea din calculator
n vederea prelucrrii datelor. Pentru aceasta, ea primete i transmite date
n mod continuu. Datele pentru prelucrare vin de la memorie i diversele
dispozitive periferice din calculator (tastatur, hard-disc etc.) iar dup
procesare vor fi trimise ctre memorie sau alte uniti. Transmisia se face
prin intermediul magistralelor (figura 1.12).

20
Introducere
Figura 1.12 Organizarea unui sistem de calcul

Unitatea central de procesare primete instruciunile care vor fi
executate. Fiecare instruciune reprezint o comand pentru prelucrarea
datelor (figurile 1.13 i 1.14). Activitatea procesorului const din calcule i
transportul datelor.


Figura 1.13 Modalitatea de operare a UCP
21
Sisteme de calcul i operare

Figura 1.14 Prelucrarea datelor ntr-un procesor von Neumann

La ora actual, unitatea central de prelucrare poate utiliza una din
tehnologiile:
Tehnologia CISC (Complex Instruction Set Computer) care a
fost adoptat nc de la primele arhitecturi de calculatoare.
Procesoarele sunt capabile s interpreteze mai mult de
400 instruciuni i execuia se realizeaz n mai multe cicluri
main. Numrul de cicluri main necesare n execuia unei
instruciuni variaz de la o instruciune la alta.
Tehnologia RISC (Reduced Instruction Set Computer) prin care
se implementeaz numai instruciunile de baz (cele mai
folosite). Fiecare instruciune se execut ntr-un singur ciclu
main, avnd consecine pozitive asupra performanelor.
Aceast tehnologie permite construcia unor maini foarte
puternice, capabile s asigure prelucrarea paralel a mai multor
aplicaii.
22
Introducere
Tehnologia VLIW (Very Long Instruction Word) prin care
procesorul utilizeaz instruciunea ntr-un format lung. Ideea este
de a reuni mai multe instruciuni n una singur. Astfel
procesorul poate pregti mai multe instruciuni printr-o singur
operaie i va fi mult mai eficient. n mod normal procesoarele
care nu sunt de tip VLIW recepioneaz o instruciune pe cuvnt.
Un cuvnt este o cantitate de date transmis la procesor, iar
procesoarele VLIW recepioneaz mai multe instruciuni n
fiecare cuvnt. Pentru reordonarea instruciunilor se utilizeaz un
compilator. n acest caz unitatea central de prelucrare proiectat
n tehnologie VLIW devine foarte complex. Procesorul Itanium
pe 64 de bii al firmei Intel a fost proiectat n tehnologie VLIW.
O alt companie care utilizeaz VLIW este TransMeta cu
procesorul Crusoe.

Firma Sun Microsystems a definitivat ntre anii 1984 i 1987
arhitectura SPARC (Scalable Processor ARChitecture) ce se bazeaz pe
tehnologia RISC.
ncepnd din 1990, IBM a lansat pe pia sistemul RISC/6000, prin
staii de lucru i servere, avnd la baz arhitectura POWER (Performance
Optimization With Enhanced RISC). Acest sistem reprezint rezultatul
muncii susinute de IBM, n vederea obinerii unor performane sporite la un
pre de cost ct mai redus.


1.3.3 Procesoare RISC

Procesoarele RISC, aprute pentru prima oar n anii 80, preau la
nceput predestinate s domine industria computerelor n anii 90 i s fac
uitate vechile arhitecturi de calculatoare. Practic toi productorii importani
din industria calculatoarelor ofereau (i ofer n continuare) sisteme gen
RISC; giganii IBM i Hewlett Packard i-au dezvoltat propriile procesoare
RISC, n timp ce ali productori, ca DEC sau Siemens, au preferat s
cumpere licene ale unor arhitecturi deja existente pentru a ine pasul cu
concurena acerb din domeniu.
Conceptul de arhitectur RISC este deseori greit utilizat sau
definit, de aceea, pentru a fi definit i neles mai bine, trebuie s facem o
ntoarcere n timp i s vedem, de asemenea, diferenele eseniale ntre cele
dou noiuni: CISC i RISC. Era recunoscut de prin anii 50 faptul c se
putea sacrifica din eficiena memoriei la codificarea unui set de instruciuni
pentru a ctiga n performan. Instruciunile simple, de lungime fix, erau
23
Sisteme de calcul i operare
uor de implementat i se executau mai rapid. Aceast tehnic era folosit
pentru implementarea setului de instruciuni al calculatorului IBM 360 de
tip mainframe din anii 50-60. Acest set de instruciuni se baza pe o
arhitectur clasic CISC, dar mecanismul de microcod ce executa de fapt
instruciunile era un procesor RISC mai simplu.
Microcodul este de fapt, software-ul de nivel jos care conduce
execuia setului de instruciuni, iar procesoarele RISC se numeau controlere
orizontale de microcod. Cu toate c erau cunoscute avantajele arhitecturilor
RISC, costurile ridicate ale memoriei determinau folosirea n continuare a
arhitecturilor CISC, mai eficiente din punct de vedere al capacitii de
stocare i care preau c reprezint cea mai bun soluie n acel moment (se
utilizau instruciuni capabile s fac mai multe lucruri).
Primele inovaii fa de vechile arhitecturi de microprocesor au
aprut n cadrul firmei IBM, n cadrul unui proiect nceput n 1975 i care
acum se consider a fi pionieratul n domeniul arhitecturii RISC.
John Cocke, un inginer de la IBM, a observat c doar o mic parte
(aproximativ 10%) a mulimii de instruciuni a calculatorului IBM 360 era
folosit n majoritatea timpului, iar aceast submulime concentra cel mai
mare procent din timpul de execuie (90%). Membrii echipei IBM i-au
propus astfel s simplifice mulimea de instruciuni pentru a obine o medie
de o execuie pe ciclu de ceas. Acest obiectiv era realizabil doar dac
mulimea de instruciuni era structurat n conduct, salvndu-se n acest
mod timpul pierdut pentru aducerea i decodarea instruciunilor din
memorie.
Dou noi proiecte ce au pornit civa ani mai trziu au adus
conceptele RISC n centrul ateniei arhitecturilor de computere. Primul
dintre acestea a fost condus de David Patterson de la Universitatea din
Berkeley i a culminat cu definiia procesoarelor RISC I i RISC II la
nceputul anilor 80. Patterson a conturat, de asemenea, conceptul RISC.
Potrivit acestuia, procesoarele RISC au inaugurat o nou mulime de
principii arhitecturale. Din aceast cauz, noiunea de RISC a fost
considerat mai degrab o filozofie dect o reet arhitectural diferit.
Punctele relevante ale filozofiei proiect menionate de Patterson sunt:
mulimea de instruciuni trebuie s fie simpl;
instruciunile trebuie s ruleze la cea mai mare rat posibil;
noiunea de pipelining este mai important dect mrimea
programului;
tehnologia compilatorului este un element critic ntr-un proiect
RISC: optimizarea compilatoarelor trebuie s translateze ct mai
mult posibil din complexitatea hardware-ului ctre faza de
compilare.
24
Introducere
Rezultatele acestor cercetri au dat natere unei arhitecturi mai
simple, caracterizat de instruciuni mai puine, multe registre, acces
simplificat pentru ncrcarea i depozitarea datelor n memoria principal i
posibilitatea execuiei instruciunilor ntr-o singur perioad de ceas.
Procesorul respectiv era mai mic, cu performane mai mari, dar se
folosea cu 20-25% mai mult memorie i erau necesare memorii cache
scumpe pentru a ine ocupat microprocesorul RISC. Din aceast cauz,
costurile ridicate ale arhitecturilor RISC au mpiedicat rspndirea acestora
pe piaa consumatorilor medii i a aplicaiilor comerciale. Procesoarele
RISC erau ns folosite uzual n staiile de lucru foarte puternice pentru
aplicaii tiinifice, tehnice i militare, unde se justificau preurile mari
pentru performane nalte.
O dat cu evoluia microprocesoarelor RISC, s-a descoperit c
avantajul acestora nu cost n micorarea setului de instruciuni, ci n
simplitatea acestora. n zilele de astzi majoritatea microprocesoarelor RISC
au cam acelai numr de instruciuni ca i cele CISC. Datorit modurilor
mai simple de adresare ale instruciunilor RISC, avnd nevoie de un singur
acces la memoria principal i putnd fi executate ntr-un singur ciclu de
ceas, execuia lor a putut fi foarte uor implementat n structuri de tip
pipeline i structuri superscalare ce permit execuia simultan a mai multor
instruciuni.
Tot evideniind avantajele tehnologiei RISC, se pune n mod evident
ntrebarea: De ce s mai folosim procesoare CISC, cnd cele RISC sunt n
mod clar mai performante?
Pentru a rspunde la aceast ntrebare, s evideniem cteva aspecte
ale problemei. n primul rnd, diferenele dintre microprocesoarele CISC i
cele RISC nu mai sunt aa de mari odat cu implementrile RISC fcute n
ultimii ani de ctre microprocesoarele compatibile Intel. Avantajul major
care apare prin folosirea procesoarelor CISC este acela al compatibilitii
soft; astfel, cantitatea de software ce ruleaz n prezent pe microprocesoare
CISC este imens i deocamdat nu se poate renuna la ea.
Succesul mai vechi al variantelor de Microsoft Windows (ce ruleaz
pe procesoare CISC) i faptul c noile versiuni de Windows, ruleaz tot pe
platforme cu procesoare CISC (Intel i compatibile cu Intel), face s se
menin nc utilizarea cu precdere a acestor tipuri de microprocesoare.
Dac cineva dorete s achiziioneze un calculator bazat pe un
microprocesor RISC, nu va putea beneficia de programele scrise pentru
calculatoarele PC, deoarece majoritatea acestui soft este special proiectat
pentru calculatoare PC.

25
Sisteme de calcul i operare
Dac softul pentru PC va dori s ruleze pe un procesor RISC, vor
aprea numeroase probleme, printre care:
C aplicaiile au fost compilate pentru a lucra doar cu setul de
instruciuni x86;
C software-ul se ateapt s sesizeze un mediu de operare
Microsoft sub care s lucreze;
C multe aplicaii i jocuri DOS mai vechi trebuie s gseasc
mediul hard al calculatorului PC, lucrnd de multe ori direct cu
resursele hard ale calculatorului.

Pentru prima problem ar putea exista soluia recompilrii aplicaiei
astfel nct s poat opera cu setul de instruciuni al microprocesorului
RISC. La ora actual, multe aplicaii sunt disponibile n mai multe versiuni,
fiind compilate pentru platforme RISC, dar numrul acestora este totui
destul de redus i exist reineri n privina firmelor de a elabora mai multe
versiuni (din acest punct de vedere) ale aceleiai aplicaii. Reinerile acestor
firme sunt ntemeiate, deoarece piaa este prea mic pentru ca ele s-i
permite o asemenea dezvoltare i, n al doilea rnd, este greu de meninut un
nivel apropiat pentru dou sau mai multe versiuni de program.
n concluzie, apare o problem cu dublu sens: nu exist multe
calculatoare RISC pentru c nu exist soft pentru ele i nu exist soft pentru
c nu exist calculatoare RISC!
Pentru a doua problem, se prea c firma Microsoft a rezolvat
problema o dat cu apariia sistemului de operare NT care ofer portabilitate
pentru procesoarele MIPS i ALPHA de tip RISC. Inexistena unui sistem
de operare de la Microsoft este o piedic esenial n calea ptrunderii
procesoarelor RISC pe piaa calculatoarelor personale.
Dac pentru primele dou probleme prezentate mai sus exist soluii
de rezolvare, pentru cea de-a treia nu exist o soluie tehnic general, din
moment ce aplicaiile scrise pentru un mediu hardware specific unui PC nu
vor putea rula pe procesoare RISC. n acest sens, singura soluie viabil este
practic rescrierea aplicaiei pentru noua platform, soluie care nu se impune
din aceleai considerente prezentate mai nainte: numrul de staii de lucru
ce folosesc microprocesoare RISC este nc redus.

Tipuri de procesoare RISC
Cele mai importante arhitecturi ce conin procesoare RISC sunt:
MIPS, folosite n staii de lucru Silicon Graphics;
SPARC, folosite n staii de lucru Sun;
PA-RISC, folosite n staii de lucru Hewlett-Packard;
PowerPC, folosite n calculatoare IBM PC i Apple Macintosh;
26
Introducere
Alpha, folosite n staii de lucru DEC (Digital Equipment
Corporation).

Competiia pe piaa microprocesoarelor RISC este foarte mare; n
mod continuu apar pe pia noi versiuni de procesoare. Toate aceste
arhitecturi evolueaz ns n aceleai direcii:
implementare pe 64 de bii;
uniti performante de execuie;
noi instruciuni pentru aplicaii multimedia i DSP (Digital
Signal Processing);
frecvene de ceas intern foarte mari, superioare procesoarelor
CISC;
implementri superscalare, putnd s execute mai multe
instruciuni simultan;
uniti de operare n virgul mobil foarte puternice;
memoria cache integrat de dimensiuni mari.

Procesoarele din seria MIPS (Silicon Graphics)
La originea acestor microprocesoare se afl nite proiecte
experimentale iniiate la Universitatea din Stanford la nceputul anilor 80.
Traducerea termenului MIPS ne ofer o imagine relevant asupra
filozofiei proiectului respectiv: MIPS provine de la Microprocessor without
Interlocking Pipeline Stages (Microprocesor fr stadii n conduct
blocate).
Obiectivul proiectanilor MIPS a fost acela de a produce un procesor
RISC cu funcionare n conduct i inter-blocare pipeline controlate
software. Dac o instruciune necesit dou cicluri de ceas pentru a fi
executat, este de datoria compilatorului s programeze o instruciune de
tipul NOP (No OPeration) urmtoare. n acest mod singura modalitate prin
care se ntrerupe funcionarea normal n timpul execuiei sunt aceste
instruciuni NOP controlate software (de compilator), n timp ce partea
hardware nu va bloca de fiecare dat execuia pipeline. Aceast
caracteristic reduce cantitatea de componente hardware necesare pentru
manufacturarea procesorului.
Un produs MIPS din anul 1995 a fost MIPS T5 (redenumit apoi
R1000), cu o arhitectur superscalar pe 64 de bii nou, compatibil cu
cipurile mai vechi Rxxx. Arhitectura scalar dispunea de 5 canale,
64 de registre interne i o memorie cache intern de 32 KB, utilizndu-se o
tehnologie de fabricaie de 0,35 de microni.
27
Sisteme de calcul i operare
Unele concepte deosebit de interesante cu privire la acest aspect au
fost studiate la Universitatea Stanford cu MIPS-X, un produs derivat al
arhitecturii MIPS ce avea o serie de caracteristici n plus. Multe dintre
acestea au fost mai trziu introduse n procesorul comercial MIPS.
Microprocesorul MIPS R2000 este un procesor pe 32 de bii cu o memorie
cache de nivel 2, difereniat pentru instruciuni i date. O memorie tampon
de scriere ajut la manipularea tuturor datelor stocate n memorie. Produsul
R2000 folosete o magistral comun pentru memoria cache extern o
arhitectur non Harvard (arhitectura Harvard presupune utilizarea de
magistrale diferite pentru instruciuni i pentru date).
Construcia acestui procesor nglobeaz o arhitectur radical de
coprocesor. Unitatea de control a ntregilor din UCP este separat de aa
numitul Coprocesor de control al sistemului (System Control
Coprocessor), care este, de fapt, un controlor de memorie cache integrat
direct pe cip UCP i unitatea de calcul n virgul mobil comunic prin
intermediul memoriei. Microprocesorul nglobeaz 32 de regitri generali i
16 regitri (pe 64 de bii) separai pentru calcule n virgul mobil.
Coprocesorul pentru calculul n virgul mobil conine o unitate pentru
adunare, una pentru mprire i una pentru nmulire. Nu exist bii de
testare a condiiilor (indicatori de stare, sau flags, cum sunt denumii la
Intel). Programarea regitrilor este controlat software.

Procesoarele din seria SPARC (Sun Microsystems)
Procesorul SPARC (Scalable Processor ARChitecture) se poate
luda ca fiind descendentul unei familii ilustre de microprocesoare, aceea
a procesoarelor RISC-I i RISC-II dezvoltate la Universitatea din Berkeley
n anii 80. Aceast arhitectur a fost definit de firma Sun Microsystems i
actualizat n permanen. Firma Texas Instruments a fost unul dintre
principalii furnizori de cipuri ca urmare a unui contract cu firma Sun, unul
dintre produsele anului 1995 fiind UltraSparc, cu o arhitectur pe 64 de bii
i o implementare superscalar cu 4 canale.
O caracteristic important a arhitecturii este adugarea de noi
instruciuni pentru accelerarea graficii i a prelucrrilor video; astfel pot fi
prelucrai pn la 8 pixeli ntr-o singur instruciune sau ciclu de ceas. Dac,
n general, arhitectura acestui procesor este o arhitectur de tip RISC, exist
dou curioziti ale acesteia, care l disting n familia procesoarelor RISC.
n primul rnd, SPARC utilizeaz conceptul de ferestre de registre
(register windows) n scopul eliminrii operaiilor de ncrcare i stocare n
stiv ce apar la apelurile de proceduri. Acest lucru putea fi ns obinut i
prin programarea regitrilor n momentul compilrii. Echipa de la Berkeley
a utilizat ns aceste ferestre de registre deoarece nu avea la momentul
28
Introducere
respectiv expertiza (pentru crearea compilatorului) necesar pentru a
implementa alocarea interprocedural a regitrilor cu ajutorul software-ului
(compilatorului).
n al doilea rnd, o alt curiozitate a arhitecturii SPARC o reprezint
existena instruciunilor etichetate (tagged instructions). Se tie c limbaje
de programare declarative de genul Lisp sau Prolog folosesc tipuri de date
etichetate. Arhitectura SPARC utilizeaz instruciuni ce pot manipula cu
uurin o etichet (n englez tag) pe 2 bii n fiecare cuvnt de memorie.
Aceast caracteristic putea mri viteza de execuie a unui program Lisp cu
cteva procente.
Procesoarele UltraSPARC IV sunt procesoare ce suport dou fire
de execuie (chip multithreading) pe procesor, bazate pe dou stadii pipeline
UltraSPARC III. Alte caracteristici:
^ 66 milioane de tranzistori pe cip;
^ pipeline cu 14 stadii;
^ frecvena de ceas ntre 1.05-1.2 GHz;
^ L1 cache de 64KB pentru date i 32 KB pentru instruciuni,
2KB Write, 2KB Pre-fetch;
^ L2 cache de 16 MB;
^ scalabilitate multiprocesor cu suport arhitectural pn la 1000 de
procesoare pe un singur sistem;
^ controller-ul de memorie este capabil s adreseze pn la 16 GB
de memorie principal la o vitez de 2,4 GB/s.

Sun Microsystems Inc. este cel mai titrat productor de procesoare
ce utilizeaz mulimea de instruciuni Sparc, dar nu este singurul productor.
Alt productor important este Fujitsu, ale crui noi procesoare Sparc64 VI
cu nume de cod Olympus vor veni pe pia n 2005, la viteze de peste
2,4 GHz, manufacturai n tehnologie de 90 de nm (nanometri). Performana
estimat a acestui procesor este de 4 ori mai mare dect a generaiei actuale
de la Fujitsu, Sparc64 V, ce ruleaz la 1,35 GHz.

Procesorul PA-RISC (Hewlett Packard)
Arhitectura PA-RISC (Precision Architecture) a firmei
Hewlett-Packard este destinat staiilor de lucru performante, adoptnd o
linie nou i modern. Performanele de operare n virgul mobil ale
acesteia sunt excelente fa de majoritatea competitorilor. S-au inclus noi
instruciuni pentru funcii de accelerare a graficii i a procesrilor video,
similare celor de la SPARC. Numrul de formate de instruciuni este mai
mare dect la orice alt procesor RISC: sunt prezente nu mai puin de
12 combinaii diferite de opcode (coduri de operaie) i regitri sau cmpuri
29
Sisteme de calcul i operare
pentru constante ntr-un singur cuvnt (spre comparaie, procesoarele
SPARC i MIPS pot utiliza doar 4 combinaii diferite).
Exist n mod normal dou moduri diferite de adresare, precum i
nc dou moduri adiionale ce ofer suport pentru operaiile ce au loc
nainte sau dup modificarea unui registru index. Acest lucru ofer
posibilitatea utilizrii n total a patru modaliti de adresare.
Arhitectura PA (Precision Architecture) posed coduri de operaii
(opcode) pe 6 bii. Acest lucru reduce numrul de instruciuni posibile la
mai puin de 64 (2
6
), dei anumite instruciuni au mai multe variante,
folosind bii speciali n cadrul formatului instruciunii. Numrul de regitri
generali este de 32, completai cu nc 32 de regitri cu caracter special,
utilizai pentru administrarea ntreruperilor, a nivelurilor de protecie, etc.
Caracteristica atipic a acestui procesor este aceea c implementarea
execuiei n pipeline se face pe doar 3 nivele, iar funcionarea optim a
conductei necesit programare software.

Procesoarele PowerPC (IBM i Motorola)
Susinut de firme puternice, ca IBM, Apple i Motorola, PowerPC
este concurentul principal al microprocesoarelor bazate pe arhitectura x86.
Principalul avantaj const n posibilitatea rulrii software-ului Apple, PC i
Unix. Folosind tehnicile de recompilare binar, integrnd i un emulator
rapid pentru x86, procesorul PowerPC este capabil s utilizeze majoritatea
sistemelor de operare i a software-ului ntr-un singur sistem.

Procesoarele Alpha DEC (Digital)
Aceste procesoare se deosebesc de celelalte procesoare RISC prin
frecvenele foarte mari ale ceasului intern, arhitectura modern pe 64 de bii
a acestora fiind una dintre cele mai performante de pe pia.

Concluzii i viitorul procesoarelor RISC
Fr ndoial, de la apariie i pn n prezent, microprocesoarele
RISC au avut performane superioare celor bazate pe arhitectura CISC. n
ultimii ani ns, prin apariia microprocesoarelor Intel (i a produselor clon)
ce au preluat multe dintre conceptele tehnologiei clasice RISC, diferena
dintre performanele celor dou tipuri arhitecturale s-a micorat vizibil,
ajungndu-se ca cele mai noi procesoare Pentium III i Pentium 4 s
concureze cu succes procesoarele RISC.
Se presupune c nu se va renuna foarte uor n viitor la vechea
arhitectur CISC (care are ns are i va prelua n continuare dintre
beneficiile RISC), ajungndu-se poate la situaia n care vom putea cu greu
s spunem care sunt deosebirile dintre cele dou tipuri arhitecturale ce erau
30
Introducere
att de diferite n trecut. Urmtoarele microprocesoare x86, precum cele
bazate pe nucleele Mustang i Sledgehammer de la AMD sau Pentium 4,
Foster i Itanium (ultimul pe 64 de bii) de la Intel vor reduce din ce n ce
mai mult gaura ce desparte cele dou variante tehnologice.


1.3.4 Memoria principal

Memoria principal are funcia de a stoca instruciunile programelor
i datele asupra crora acioneaz aceste instruciuni. De remarcat, un
program pentru a se executa trebuie s se gseasc n memoria principal.
Fazele execuiei unui program sunt:
se selecteaz o instruciune din memoria principal;
se ncarc instruciunea n microprocesor, are loc decodificarea ei
pentru stabilirea operaiei care se va executa i identificarea
operanzilor;
se execut instruciunea;
se repet aceste etape n mod secvenial, pentru fiecare
instruciune a programului.

Memoria are la baz un ansamblu de registre de aceeai mrime (o
matrice de regitri). Succesiunea de poziii binare ce este recunoscut i
adresat individual se numete locaie de memorie sau cuvnt de memorie.
Lungimea unui cuvnt de memorie este, n general, un multiplu de 8 bii
(1 byte), putnd avea: 8 bii, 16 bii, 32 bii, 64 bii, n funcie de modelul
calculatorului.
Fiecare locaie de memorie este identificat prin adresa sa.
Procesorul selecteaz o anumit locaie din memorie prin plasarea adresei
sale pe magistrala de adrese.
Numrul total al locaiilor adresabile care pot fi accesate de procesor
reprezint capacitatea memoriei sau spaiul de adresare fizic.


1.3.5 Echipamentele periferice
Echipamentele periferice sunt dispozitivele cuplate sau avnd
posibilitatea de a fi cuplate la un calculator. Dup funcia de baz, acestea se
pot clasifica n:
; Echipamente de intrare - avnd rolul de a capta i colecta
informaiile, n forma lor uzual, pentru a fi prelucrate n
calculator. Din aceast categorie amintim: tastatura, mouse-ul,
creionul optic, tableta digital, scanner-ul, cititorul de coduri
31
Sisteme de calcul i operare
de bare (un scanner foarte simplu), cititorul de cartele
magnetice/perforate, captatorul de sunete (microfonul),
terminalul inteligent (terminalul pentru tranzacii financiare) etc.
; Echipamentele de ieire - au rolul de a genera informaia
prelucrat n calculator ntr-o form direct utilizabil. Redarea n
exterior a informaiei se poate obine n mod vizual, prin
echipamentele periferice: ecran (de tip CRT - Cathode Ray Tube
sau LCD - Liquid Crystal Display, monitoare monocrom sau
color; CGA - Color Graphic Adapters, EGA - Enhanced Graphics
Adapters; VGA - Video Graphic Adapter; XGA, XGA/HDA;
VESA etc.), imprimant (matricial, cu jet de cerneal, termic,
laser), trasor sau sonor.
; Echipamente de memorare sau echipamente de intrare/ieire -
au rolul de a stoca o mare cantitate de informaie, pentru un timp
nedeterminat, n vederea utilizrii ulterioare. Din aceast grup
de periferice fac parte unitile de: discuri/benzi magnetice i
discuri optice (Compact Disk-Read Only Memory, CD-ROM;
Write Once, Read Many, WORM).
; Echipamente de transport la distan au rolul de a oferi o
form adecvat informaiei ce se emite/recepioneaz prin
suportul fizic (cablu electric, unde electro-magnetice, fibr
optic). n aceast categorie este inclus modemul.


1.3.6 Magistralele

Una dintre componentele eseniale din structura unui sistem de
calcul, alturi de unitatea central de prelucrare, este magistrala (bus n
englez). O magistral sau un set de magistrale are rolul de a conecta
procesorul la memoria principal i la echipamentele periferice. Este bine
tiut c magistrala are o importan major n obinerea unor performane
optime, ea asigurnd viteza de lucru a sistemului de calcul. O magistral
bine aleas permite calculatorului s lucreze la parametrii procesorului.
Primele PC-uri aveau numai o magistral (figura 1.15), care era
comun pentru unitatea central de prelucrare (UCP), memoria RAM
(Random Access Memory) i componentele de I/E (Intrare/Ieire).

32
Introducere

Figura 1.15 Magistral unic

n anul 1987, firma Compaq a demonstrat pentru prima dat cum se
poate separa magistrala de sistem de magistrala de I/E, astfel nct acestea
s poat fi utilizate la parametri diferii. Aceast arhitectur multi-magistral
a devenit standard industrial.

Magistralele unui sistem se pot diviza n (figura 1.16):
magistrala de sistem sau magistrala local care conecteaz
unitatea central de prelucrare (UCP) cu memoria RAM;
magistralele de I/E care conecteaz UCP cu celelalte
componente.


Figura 1.16 Magistralele unui PC

Fizic, o magistral este reprezentat printr-un ansamblu de trasee de pe
placa de circuit imprimat. Aceste trasee sunt utilizate pentru transmisia datelor,
adreselor de memorie sau a unor semnale de control. Din aceste considerente,
n literatura de specialitate se regsesc denumirile de magistrala de date,
magistrala de adrese i magistrala de control (figura 1.17).
Magistrala de adrese este utilizat de procesor pentru a selecta o
locaie de memorie sau un anumit periferic.
33
Sisteme de calcul i operare


Figura 1.17 Magistralele de date, adrese i control

Magistrala de date este utilizat pentru transferul datelor ntre
procesor i unitatea de memorie sau un dispozitiv periferic.
Magistrala de control ofer semnalele pentru sincronizarea fluxului
de date ntre procesor i unitatea de memorie sau un dispozitiv periferic.

O arhitectur de magistral reprezint modul n care componentele
unui sistem de calcul, n particular ale unui PC, sunt interconectate.
Principalele caracteristici care trebuie luate n calcul la alegerea unei
arhitecturi de magistral sunt:
^ s asigure performane maxime microprocesorului;
^ s fie operaional pe ntreaga durat de via a sistemului;
^ s permit eventuala modernizare a microprocesorului;
^ s permit includerea pe sistem a celor mai noi aplicaii:
multimedia, transfer de informaie etc.

Magistrala local asigur comunicarea ntre UCP i memoria RAM,
eventual printr-o memorie de tip cache. Ea se afl pe placa de baz i este
proiectat n aa fel nct s corespund specificaiilor microprocesorului.
Tehnologia microprocesorului determin caracteristicile magistralei de
sistem. n modelul iniial de PC, magistrala de sistem funciona pe 8 bii i
putea transfera aproximativ 10
6
octei/secund. Acum, pentru a putea face
fa unui procesor Pentium, este necesar o magistral pe 64 bii, cu o vitez
34
Introducere
de transfer a datelor de 5*10
8
octei/secund. n tabelele 1.1 i 1.2 sunt
prezentate diferite microprocesoare i magistralele lor de sistem.

Caracteristici ale magistralei de sistem
Tabelul 1.1
UCP mai vechi
Limea magistralei
de sistem
Viteza pe magistrala
de sistem
8088 8 bii 4.77 MHz
8086 16 bii 8 MHz
80286-12 16 bii 12 MHz
80386SX-16 16 bii 16 MHz
80486SX-25 32 bii 25 MHz
80486DX-33 32 bii 33 MHz
80486DX2-50 32 bii 25 MHz
80486DX-50 32 bii 50 MHz
80486DX2-66 32 bii 33 MHz
80486DX4-120 32 bii 40 MHz
5X86-133 32 bii 33 MHz
Intel P60 64 bii 60 MHz
Intel P100 64 bii 66 MHz
Cyrix 6X86 P133+ 64 bii 55 MHz
AMD K5-133 64 bii 66 MHz
Intel P150 64 bii 60 MHz
Intel P166 64 bii 66 MHz
Cyrix 6X86 P166+ 64 bii 66 MHz
Pentium Pro 200 64 bii 66 MHz
Cyrix 6X86 P200+ 64 bii 75 MHz
Pentium II 64 bii 66 MHz





35
Sisteme de calcul i operare
Caracteristici ale magistralei de sistem i ale UCP
Tabelul 1.2
Microprocesor Tip chipset
Viteza pe magistrala
sistem
Viteza UCP
Intel Pentium II 82440BX82440GX 100 MHz 350, 400, 450 MHz
AMD K6-2 Via MVP3ALi
Aladdin V
100 MHz
250, 300, 400 MHz
Intel Pentium
Xeon
82450NX 100 MHz 450, 500 MHz
Intel Pentium III 82440JX 133 MHz 533, 665 MHz
AMD K7 200 MHz 600, 800 MHz

Magistralele de I/E conecteaz UCP la toate celelalte componente
ale sistemului i reprezint extensii ale magistralei locale. Principalele tipuri
de magistrale de I/E sunt: PC AT, ISA, EISA, IBM Micro Channel, VESA
Local Bus, PCI, SCSI, USB.
Primul PC produs de firma IBM (proiect demarat n 1980) folosea
un procesor Intel 8088. Arhitectura magistralei de sistem, ct i cea de
extensie reprezentau o continuitate a magistralei locale a procesorului.
Pentru realizarea transferurilor de acces direct la memorie (DMA - Direct
Memory Access), ntreruperilor i funciilor de ceas/numrtor, erau
prevzute cipuri speciale. Arhitectura era simpl i prezenta o mare
disponibilitate de extensie. Drept urmare, plcile adaptoare proiectate pentru
primul PC pot fi utilizate pe calculatoarele actuale, dotate cu procesor
Pentium i magistral PCI. Sistemul suporta 1 sau 2 uniti de dischete de
160 K i posibilitatea de a conecta nc dou uniti de dischete externe.
Magistrala lucra pe 8 bii.
n 1984 IBM lanseaz pe pia sistemul PC-AT, avnd
caracteristicile:
procesor Intel 80286 (pe 16 bii);
adresarea pe 24 bii;
16 MB memorie RAM;
posibilitatea de lucru n mod protejat;
frecvena ceasului de 6 MHz, cu posibilitatea de cretere la 8 MHz.

Noua magistral pe 16 bii, cu adresare pe 24 bii, permitea utilizarea
vechilor adaptoare fr modificri hardware sau software, datorit pstrrii
magistralei pe 8 bii i a conectorilor de extensie. Varianta PC-AT oferea
trei canale DMA suplimentare i nc 7 nivele de ntrerupere. n modelul
36
Introducere
original PC-AT, magistrala utiliza aceeai frecven de ceas ca a
microprocesorului. Ulterior, n multe sisteme care au aprut pe pia,
magistralele de extensie lucrau la 10 sau 12 MHz. Pentru a rezolva
problemele determinate de diferena de vitez ntre procesor i magistral au
fost create circuite logice ce asigur o funcionare asincron (prin care se
accept ca viteza procesorului s fie independent de cea a magistralei).
Arhitectura ISA (Industry Standard Architecture) reprezint un
standard de facto, publicat de Intel, cu specificaiile magistralei PC-AT.
Standardizarea nu a fost facilitat, deoarece IBM nu a fcut cunoscute
caracteristicile magistralei sale. Arhitectura standard a microcalculatoarelor
(figura 1.18) realizate pn la sfritul anului 1992 cuprindea o magistral
local capabil s asigure o rat a transferului de pn la 132 Moctei/s
(MBps). Magistrala local conecta unitatea central de componentele care
aveau rolul de control i nu se substituia magistralelor existente.


Figura 1.18 Arhitectura standard a unui microcalculator

Concurenii firmei IBM, grupul celor nou: AST, Compaq, Epson,
HP, Olivetti, NEC, Tandy, Zenith i Wyse, i-au unit forele pentru a
prezenta o arhitectur diferit: EISA (Extended Industry Standard
Architecture) ce are avantajul de a rmne compatibil cu arhitectura ISA pe
16 bii. Magistrala EISA are un format pe 32 bii, att pentru adrese ct i
pentru date, permite accesul la 4 GB de memorie intern, iar rata
transferului este de 33 MB/sec.
37
Sisteme de calcul i operare
n anul 1987 IBM ncearc s recucereasc controlul asupra
arhitecturii sistemelor PC, pierdut odat cu publicarea detaliilor tehnice ISA
i lanseaz pe pia produsele sale din familia PS/2 (Personal System/2) ce
au la baz arhitectura MCA (Micro Channel Architecture).
Arhitectura MCA este complex, deoarece exploateaz puterea
microprocesoarelor pe 32 bii (80386, 80486 Intel). Magistrala de adrese
este de asemenea pe 32 bii. Arhitectura este optimizat prin prezena a
8 canale DMA i posibilitatea de a conecta pn la 16 echipamente
periferice simultan. Magistrala MCA este asincron i conine un program
de identificare a plcilor de extensie. Rata transferului de date 160 MB/sec.
Exist o magistral MCA n format pe 16 bii pentru calculatoarele dotate cu
microprocesoare 80286 Intel i se mai gsesc plci video pe 24 bii adaptate
la aceast arhitectur.
O dat cu crearea de ctre Microsoft a interfeei grafice Windows,
este necesar o suprafa mai mare a ecranului precum i o rezoluie mai
bun. Adaptoarele VGA ataate magistralei ISA erau depite. Soluia a
constat n conectarea adaptorului video i a memoriei asociate pe magistrala
local a sistemului. VESA a ncercat s standardizeze monitoarele PC
(diagonala ecranului, rata de mprosptare a imaginilor sau timpul de afiare
pentru o imagine) magistrala i conectorii prin care se ataeaz
echipamentele la magistrala local a procesorului. Standardul VESA a ales
ca etalon magistrala local a microprocesorului Intel 80486.
Magistrala VESA (Video Electronics Standard Association) accept
echipamente pe 32 i 64 bii, putnd lucra la frecvene mai mari 33 MHz n
cazul formatului pe 32 bii.
Magistrala PCI (Peripheral Component Interconect) a fost
dezvoltat de Intel n 1993, la concuren cu standardul VESA. Versiunea
1.0 accept 32 bii la 33 Mhz, ceea ce permite s se ating o rat de transfer
de 132 MB/s, ca i n cazul magistralei VESA.
Magistrala PCI (figura 1.19) prezint marele avantaj de a fi total
independent de procesor i dispune de propria memorie tampon.
Arhitectura PCI poate fi combinat cu o alt arhitectur de magistral, cum
ar fi ISA sau EISA. PCI este autoconfigurabil, plcile conectate fiind
automat detectate i utilizate n mod optim (Plug and Play). n specificaia
2.0 PCI permite accesul pe 64 de bii, pentru a se putea utiliza cu
microprocesorul Intel Pentium.
Magistrala SCSI (Small Computer System Interface) suport diverse
periferice. Viteza de transfer variaz de la 4 Moctei/s la 80 Moctei/s.
USB (Universal Serial Bus) este o magistral serie aprut n 1996 i
care a devenit succesoarea magistralelor tradiionale. Ea permite utilizarea
38
Introducere
a 127 de periferice conectate la un singur canal. n plus, permite
recunoaterea automat a perifericelor conectate pe canal i determinarea
driver-ului necesar n funcionare. Pe o astfel de magistral, informaiile
codificate n NRZI (Non Return to Zero Inverted) pot circula la un debit
adaptat perifericului (variaz de la 1.5 la 12 Moctei/s pe un cablu torsadat).
USB utilizeaz principiile de funcionare similare celor din reelele locale.
n tabelul 1.3 sunt ilustrate caracteristicile diferitelor tipuri de magistrale
de I/E.
Magistrale de I/E
Tabelul 1.3
Magistrala de I/E
An
apariie
Lime
magistral
Viteza magistral
Debit
maxim
(teoretic)
PC i XT 1980-82 8 bii
Sincron cu UCP:
4.77 i 6 MHz
4-6 MBps
ISA (AT)
Magistral simpl
1984 16 bii Asincron: 8 MHz 8 MBps
MCA
Magistral inteligent
realizat de IBM
1987 32 bii Asincron: 10 MHz 40 MBps
EISA
Magistral inteligent
pentru servere.
1988 32 bii Asincron: 8 MHz 32 MBps
VL
Magistral de mare
vitez, utilizat n 486s
1993 32 bii Sincron cu UCP:
33, 40, 50 MHz
100-160
MBps
PCI
Magistral inteligent de
mare vitez
1993 32 bii Asincron: 33 MHz 132 MBps
USB
Magistral inteligent,
simpl i modern
1997 Serial 1.2 MBps
FireWire (IEEE1394)
Magistral inteligent de
mare vitez pentru video,
memorare etc.
1999 Serial 80 MBps
39
Sisteme de calcul i operare

Figura 1.19 Arhitectura tipic PCI a unui sistem
cu microprocesor Pentium II


1.4 Arhitecturi paralele

Viitorul arhitecturilor de calculator este n strns concordan cu
noiunea de paralelism. Acest principiu arhitectural permite tratarea n
paralel a informaiei ce presupune execuia evenimentelor concurente.
Aceste evenimente se pot regsi la nivel de program, de procedur,
instruciune sau n interiorul unei instruciuni. Ca o definiie foarte simpl,
un calculator paralel reprezint o colecie de procesoare interconectate ntre
ele pentru a permite coordonarea activitilor acestora i schimbul de date.
Calculatoarele paralele necesit algoritmi paraleli, adic algoritmi ce pot fi
implementai pe calculatoare paralele.
La nivelul cel mai nalt, tratarea paralel permite execuia simultan
a mai multor programe independente. Se utilizeaz n sistemele mari de tip
mainframe i se trateaz la nivelul sistemului de operare (multiprograme,
timp partajat, multiprelucrare).
40
Introducere
Tratarea paralel a instruciunilor independente utilizeaz tehnica de
vectorizare. Se trateaz la nivel de sistem (vectorial), de limbaj de
programare (Fortran vectorial) sau la nivel de algoritm.
Tehnica denumit pipeline permite introducerea paralelismului la
nivel de instruciune. n acest sens, o instruciune este mprit n mai multe
etape succesive i se execut n acelai timp etape diferite ale mai multor
instruciuni.
Arhitecturile monoprocesor au, n general, o structur de baz
comun: o memorie principal, procesorul central i un ansamblu de
echipamente periferice. Multe calculatoare monoprocesor fac apel la tehnica
tratrii paralele, dar exist limitri. Paralelismul se poate realiza:
ntre mai multe uniti funcioanale;
ntre UAL paralele;
prin multiprogramare i timp partajat.


Figura 1.20 Arhitectura SISD

Condiiile paralelismului trebuie s in seama de restriciile inerente
n tratarea informaiei (algoritmare) i de posibilitile oferite de
componentele fizice (multiplicarea structurilor de execuie). Creterea
numrului de procesoare n acelai calculator, modific structura de baz a
acestuia. Problemele de acces la memorie devin foarte importante, pentru a
putea transmite datele n ritmul de tratare al procesoarelor. De asemenea,
problemele de comunicare ntre procesoare sunt eseniale.
Deoarece procesul principal ntr-un calculator const din execuia
unei succesiuni de instruciuni asupra unui ansamblu de date, arhitecturile
paralele pot fi clasificate dup fluxurile de instruciuni i date (dup Flynn)
astfel:
SISD - Single Instruction (Stream), Single Data (Stream);
SIMD - Single Instruction (Stream), Multiple Data (Stream);
MISD - Multiple Instruction (Stream), Single Data (Stream);
MIMD - Multiple Instruction (Stream), Multiple Data (Stream).

Input/Output UC

Memorie
UP
I
D
41
Sisteme de calcul i operare
SISD (fluxuri unice pentru instruciuni i date figura 1.20)
reprezint structura de baz a unei maini secveniale (numit main
Von Neumann). Exemple: IBM 370, DEC VAX, SUN, IBM PC, Macintosh.

SIMD (flux unic de instruciuni, flux multiplu de date) (fig. 1.21)
conine mai multe uniti de prelucrare ce sunt supravegheate de o singur
unitate de control. Toate unitile de tratare primesc acceai instruciune
(sau acelai program n cazul arhitecturii SPMD (Single Program, Multiple
Data) transmis prin unitatea de control, dar opereaz pe ansambluri de date
distincte.
Fiecare unitate de prelucrare Pi, execut aceeai instruciune n
acelai moment, obinndu-se o funcionare sincron a procesoarelor.
Memoria poate fi mprit n mai multe module, Mj. n aceast situaie,
accesul unitilor de prelucrare la diferitele module de memorie se face
printr-o reea de interconexiune. Aceast arhitectur include i procesoarele
vectoriale i reelele sistolice. Exemple: CRAY-1, DAP CM-1, WARP,
CM-2, ILLIAC IV.

Figura 1.21 Arhitectura SIMD
MIMD (fluxuri multiple de instruciuni, fluxuri multiple de date),
permite realizarea unui paralelism explicit. Exemple de astfel de
calculatoare sunt: transputerele, Supernode, DADO, N-cube, Ultracomputer,
Butterfly, Alliant, Sequent Balance, CRAY X-MP.
Dup cum memoria central este comun pentru mai multe procesoare
sau mai multe uniti centrale (procesor + memorie central proprie) ce
comunic ntre ele prin mesaje, se poate spune c structura este puternic
cuplat, MIMD cu memorie partajat (figura 1.22) sau slab cuplat, MIMD
cu memorie distribuit (figura 1.23).
42
Introducere

Figura 1.22 Arhitectura MIMD cu memorie partajat

n primul model, procesoarele execut sarcinile prin partajarea
datelor din memoria comun, ce este divizat n module (M
i
). n al doilea
model, procesoarele execut sarcinile schimbnd mesaje. n ambele modele
fiecare procesor (P
i
) posed propria unitate de control (UC
i
).

Figura 1.23 Arhitectura MIMD cu memorie distribuit

n viitor se prevede o revenire a constructorilor la arhitecturi mai puin
complexe, avnd la baz procesoare care integreaz o mai mare putere de
calcul i faciliti de comunicaie. Alternativa distribuit constituie
varianta cea mai potrivit din punct de vedere economic.
43




2
SISTEME DE OPERARE














2.1 Noiuni introductive

Nici un sistem de calcul, fie c acesta este centralizat sau distribuit,
nu poate fi utilizat fr un software adecvat. Prin intermediul software-ului
se poate memora, prelucra, regsi i distribui informaia.
Dup rolul pe care l deine n utilizare, software-ul se divide n dou mari
categorii:
software de sistem (programele de sistem);
software de aplicaie (programele de aplicaie).

Software-ul de sistem asigur funcionarea sistemului de calcul.
Acesta include:
Sistemul de operare;
Translatoarele;
Interpretoarele de comenzi;
Editoare de texte i legturi;
Programele de comunicaie.

Software-ul de aplicaie rezolv problemele utilizatorilor. Exemple
de programe de aplicaii sunt urmtoarele:
Procesoare de texte;
Programe pentru bazele de date;
Navigatoare web;
44
Sisteme de calcul i operare

Instrumente pentru dezvoltare aplicaii;
Produsele pentru editarea de imagini;
Sisteme bancare i financiar-contabile;
Aplicaii pentru evidena bibliotecilor.

n timp, ntre evoluia componentei hardware i software a existat un
paralelism. Astfel, dup 1980, odat cu apariia primelor reele de
calculatoare, au nceput s se foloseasc sistemele de operare n reea sau
sistemele de operare distribuite, ca o completare a sistemelor de operare
centralizate (care mai sunt cunoscute ca sisteme de operare monoprocesor).
n mod tradiional, sistemul de operare este constituit din trei
componente: kernel (denumit i nucleu), shell (interpretor de comenzi) i
sistemul de fiiere.
Kernel-ul include funciile de nivel jos care vor fi ncrcate n
memorie dup execuia procesului de iniializare a calculatorului.
Un exemplu ar fi modulul care realizeaz controlul fluxului de
date ntre memorie i unitile de I/E. Pentru sistemul de operare
MS-DOS, nucleul este fiierul ascuns msdos.sys (ibmdos.com).
Shell-ul sau interpretorul de comenzi asigur interfaa ntre
utilizator i calculator (spre exemplu, shell-ul sistemului de
operare MS-DOS este fiierul command.com).
Sistemul de fiiere - reprezint, pe scurt, modalitatea de
organizare a fiierelor pe disc. Exist o diversitate de sisteme de
fiiere, de la FAT16, FAT32 i NTFS pentru sistemul de operare
Windows pn la NFS (Network File System), RFS (Remote File
Sharing) i AFS (Andrew File System) pentru sisteme de operare
din familia UNIX.

Sistemul de operare este componenta software cea mai important a
unui calculator i este constituit dintr-un ansamblu de programe. Sistemul de
operare, dup iniializarea ncrcrii sale n memoria principal (RAM -
Random Access Memory) prin programul denumit bootstrap, are rolul de a
administra resursele sistemului i ofer baza pentru realizarea programelor
de aplicaie.
Programele de aplicaii pot utiliza sistemul de operare prin lansarea
cererilor de serviciu unei interfee de programare a aplicaiilor (API -
Application Program Interface). API reprezint setul de funcii ce poate fi
folosit de programatori n vederea dezvoltrii propriilor aplicaii pentru un
anumit sistem de operare (de exemplu: Windows API). n plus, utilizatorii
pot interaciona direct cu sistemul de operare printr-o interfa, reprezentat
printr-un limbaj de comenzi.
45
Sisteme de operare
Sistemele de operare pot fi clasificate, la modul foarte general,
astfel:
Sisteme GUI (Graphical User Interface) sunt sistemele de
operare care au capacitatea de a utiliza mouse-ul prin intermediul
unei interfee grafice. Urmtoarele sisteme de operare fac parte
din aceast categorie: MacOS, MacOSX, UNIX, Linux, Windows
95/98/Me, Windows NT/2000/XP.
Sisteme multi-utilizator aceste sisteme de operare permit mai
multor utilizatori s foloseasc sistemul n acelai timp i s
execute programele n mod simultan. n aceast categorie putem
include sistemele de operare din familiile UNIX, Linux i
Windows.
Sisteme multi-procesoare sunt sistemele de operare care permit
utilizarea mai multor procesoare. Sistemele de operare incluse n
aceast categorie sunt: UNIX, Linux, Windows NT/2000/XP.
Sisteme multitasking

sunt sistemele de operare care permit ca


procesele software multiple s fie ncrcate i rulate n acelai
timp. Sistemele de operare incluse n aceast categorie sunt:
UNIX, Linux, Windows 95/98/Me/NT/2000/XP.
Sisteme multi-threading sunt sistemele de operare care permit
diferitelor pri ale programelor s fie executate concurenial.
Sistemele de operare incluse n aceast categorie sunt: UNIX,
Linux, Windows 95/98/Me/NT/2000/XP.

Pe calculatoarele compatibile IBM-PC sistemele de operare care pot
fi folosite sunt: MS-DOS, Windows 3.1, Windows 95/98/Me, Windows
NT/2000/XP, OS2, variante de UNIX sau Linux.
Calculatoarele Macintosh utilizeaz sistemul de operare denumit
MacOS (sistemul MacOSX mai nou, bazat pe nucleu UNIX). Exist i o
versiune free a sistemului de operare Linux pentru calculatoarele Macintosh.
Sistemul de operare pentru staiile HP, staiile Silicon Graphics i Sun este
UNIX.



Prin multitasking se nelege capacitatea unui sistem de operare de a executa mai multe
procese (task-uri) simultan. Acest lucru se realizeaz prin fenomenul time slicing ce
presupune c fiecare proces aflat n execuie utilizeaz calculatorul pentru o perioad
determinat de timp. Comportamentul multitasking este n opoziie cu task switching,
caz n care fiecare proces aflat n execuie trebuie s se termine pentru a se ncepe
execuia unui nou proces.

46
Sisteme de calcul i operare

Exemple de sisteme de operare

Tabelul 2.1
Sistemul
de operare
Data lansrii Platforma Realizat de
LINUX 1991 Diverse Linus Torvald
MAC OS 8.x Apple
Macintosh
Apple

MS-DOS IBM/PC Microsoft
System 7.x Apple
Macintosh
Apple

UNIX Iniial a fost lansat n 1969. Diverse Laboratoarele Bell
Windows 2000 Februarie 2000 IBM/PC Microsoft
Windows 3.x Windows 3.0 - 1990;
Windows 3.1 - 1992;
Windows 3.11 - 1994.
IBM/PC Microsoft
Windows 95 August 1995 IBM/PC Microsoft
Windows 98 25 iunie 1998 IBM/PC Microsoft
Windows CE Windows CE 1.x - 1996;
Windows CE 2.x - 1997;
Windows CE 3.0 -1999;
PDA


Microsoft
Windows ME Windows ME - 2000 IBM/PC Microsoft
Windows NT Windows NT 3.1 - 1993 IBM/PC Microsoft
Windows XP Windows XP - 2001 IBM/PC Microsoft

Dac se ine seama de modul de execuie a programelor
utilizatorilor, sistemele de operare pot fi grupate n:
sisteme de operare cu prelucrarea pe loturi (batch processing);
sisteme de operare time-sharing;
sisteme de operare n timp real.



47
Sisteme de operare
n cazul sistemelor de operare cu prelucrarea pe loturi (batch
processing), programele utilizatorilor sunt reunite ntr-un punct central de
calcul, unde sunt grupate pe loturi pentru a fi plasate ntr-un fir de ateptare
pe unul din sistemele pe care se vor executa.
Pe durata execuiei programelor, utilizatorii nu au posibilitatea s
interacioneze cu sistemul de calcul.
Sistemele de operare time-sharing ofer posibilitatea utilizatorilor
concureni s-i partajeze n timp resursele fizice i logice ale sistemului de
calcul (procesor, memorie, imprimant, fiiere etc.) n vederea execuiei
sarcinilor. Timpul de rspuns se poate reduce la cteva secunde.
Sistemele de operare n timp real au capacitatea s execute
programe/aplicaii ntr-un timp stabilit anterior. Prelucrarea n timp real
implic meninerea unei comunicaii directe ntre utilizator i sistemul de
calcul. Sistemele de operare n timp real sunt proiectate pentru aplicaii
complexe, cum ar fi conducerea automat a unor procese de producie,
sisteme bancare, sistemele de rezervare a locurilor pentru liniile aeriene etc.
Sistemele de operare care se utilizeaz n mod frecvent reprezint
combinaii ale tipurilor enumerate anterior.
Un sistem de operare realizeaz urmtoarele servicii pentru aplicaii:
n cazul sistemelor de operare multitasking, cnd programe
multiple pot fi ncrcate n acelai timp, sistemul de operare
stabilete ce aplicaii se vor executa, n ce ordine i ct timp se
aloc fiecrei aplicaii nainte de a se da controlul alteia;
Administrarea memoriei centrale, care este alocat diverselor
aplicaii;
Administrarea intrrilor i ieirilor de la/spre dispozitivele
conectate (hard disc, imprimant, scanner);
Emiterea de mesaje ctre aplicaii sau utilizatorul interactiv (sau
operatorul de sistem) despre starea operaional i orice eroare
care poate apare;
Pe calculatoarele care realizeaz prelucrri paralele, sistemul de
operare poate decide modul n care este divizat programul, astfel
nct s fie executat pe mai multe procesoare n acelai timp.
n general, exist dou modaliti prin care programatorii pot accesa
facilitile unui sistem de operare: linia de comand i apelurile de sistem.
Spre exemplu, n cazul sistemului de operare UNIX, o funcie a sistemului
de operare poate fi accesat n dou variante:
Prin intermediul interpretorului de comenzi, program de tip
shell-script sau prin selecia de pe desktop n cazul unui mediu
grafic;
48
Sisteme de calcul i operare

Prin apeluri de funcii chemate din programe utilizator (folosind
interfaa API - Application Programming Interface).
Una dintre proprietile de baz ale unui sistem de operare este aceea
de a asigura accesul utilizatorilor la resursele hardware i software ale
calculatorului. De regul, sistemul de operare presupune existena mai
multor nivele software dispuse logic sub forma unor cercuri concentrice, n
centru fiind partea hardware, urmnd apoi driverele i kernelul, interpretorul
de comenzi i aplicaiile utilizator. Partea central (nucleul sau kernelul)
care este n strns legtur cu componenta hardware este reprezentat de
driverele de echipamente, administratorul memoriei i dispecerul de
procese. Utilizatorul are acces la sistem prin intermediul liniei de comand
sau a mediului grafic cu ferestre.
O alt posibilitate de a da comenzi sistemului de operare este aceea a
utilizrii unor fiiere de comenzi, denumite shell-script-uri n cazul
sistemului de operare UNIX i fiiere batch n cazul sistemului de operare
DOS/Windows. Apariia interfeelor grafice a fcut ca activitatea de
introducere a comenzilor s devin mai prietenoas, astfel nct introducerea
de la tastatur a comenzilor a fost completat de posibilitatea utilizrii unui
mediu grafic cu ferestre, meniuri cu diferite variante de selecie etc.
Selectarea unui simbol grafic (icon) cu ajutorul unui pointer de mouse este o
operaie mai uoar i mai simpl dect aceea de a reine o comand de
genul ls sau dir, cp sau copy.
Totodat, pentru utilizatorii profesioniti i pentru administratorii de
sisteme abilitatea de a scrie programe la linia de comand i de a crea
utilitare de tip shell-script sau batch este deosebit de important pentru
automatizarea unor sarcini uzuale i pentru administrarea cu succes a
sistemului. Sistemul de operare UNIX ofer o serie ntreag de interpretoare
(Bourne Shell, C Shell, Korn Shell, Bourne Again Shell, TC Shell etc.) din
care utilizatorii i pot alege programul preferat.
n concluzie, sarcina principal a unui sistem de operare este aceea
de a face ca resursele hardware i software ale calculatorului s fie ct mai
disponibile utilizatorului. Atunci cnd un calculator este partajat de mai
muli utilizatori sau de mai multe sarcini, rolul sistemului de operare este
acela de a aranja i arbitra utilizarea resurselor calculatorului precum i de a
oferi soluii software prin intermediul programelor de aplicaii. De multe ori
eficiena de lucru a unui calculator depinde mai mult de ndemnarea
sistemului de operare de a administra sarcinile dect de puterea brut de
calcul a procesorului sau a unor dispozitive periferice.
49
Sisteme de operare
2.2 Modelul client-server
Modul de utilizare a calculatoarelor s-a schimbat dramatic odat cu
apariia reelelor de calculatoare ce ofer posibilitatea partajrii i a
schimbului de informaii ntre mai multe calculatoare interconectate ntre
ele. Aproape toate calculatoarele personale actuale sunt interconectate
ntr-un fel sau altul la o reea local de calculatoare. Accesul la reeaua de
calculatoare este oferit de ctre sistemul de operare.
Sistemul de operare care ofer un astfel de acces se numete sistem
de operare de reea (NOS - Netwrork Operating System). Prima dezvoltare n
acest sens aparine firmei Novell care a produs pentru prima dat sistemul
de acces la distan pentru PC-uri, n timp ce firma Sun Microsystems a
introdus pentru prima oar sistemul de fiiere NFS (Network File System)
pentru staiile sale UNIX. Ambele permit utilizatorului accesul la fiiere
local sau la distan.
Iniial, arhitectura de reea dorea s ofere posibilitatea partajrii unor
fiiere i a unei imprimante de reea, apoi s-a dorit redistribuirea procesrii
pe mai multe calculatoare din acelai grup de lucru. n zilele noastre este un
lucru obinuit ca programele s ruleze pe calculatoare separate i s
coopereze strns la procesarea i afiarea informaiei.
n spatele acestui concept st modelul client-server, n care cel care
iniiaz cererea de procesare se numete client iar cel care onoreaz
aceast cerere se numete server. Spre exemplu, calculatorul local poate
avea rolul de a gestiona afiarea informaiei pe ecranul local, n timp ce
serverul central (de regul un calculator cu o putere mult mai mare de
procesare) ofer faciliti de lucru cu baze de date, distribuie de mesaje de
tip e-mail sau servicii Web.
Modelul client-server are o larg rspndire astzi, pionier n
domeniu fiind sistemul X Window de la MIT (Massachussets Institute of
Technology). Acelai model funcional se ntlnete i n cazul proceselor
(un proces este o instan a unui program aflat n execuie) sistemului de
operare: procesele client ncep dialogul prin trimiterea unei cereri unui
server corespunztor. Mesajul rspuns trimis de procesul server poate
conine datele cerute sau pur i simplu o ntiinare a faptului c s-a pornit
activitatea cerut. n continuare o serie de alte cereri vor pleca de la procesul
client ctre procesul server. Sesiunea de comunicare este ilustrat n
figura 2.1.




50
Sisteme de calcul i operare



Cerere
Mesaj
cerere
CLIENT

Figura 2.1 Comunicaia de tip client-server ntre procese
SERVER


Rspuns

Cerere

Rspunsuri


2.3 Sistemul de operare MS-DOS
MS-DOS (MicroSoft Disk Operating System) este un sistem de
operare monoutilizator, monotasking, monoprocesor, ce funcioneaz pe
microcalculatoarele dotate cu procesoare Intel 8088 i succesoarele acestuia
(80286, 80386, 80486, Pentium etc.). Acest sistem de operare a fost inclus
n alte sisteme de operare, cum ar fi: Windows 95/98/Me/NT/2000/XP i
Novell NetWare.

2.3.1 Structura sistemului de operare MS-DOS

Sistemul de operare MS-DOS este structurat pe trei nivele:
BIOS (Basic Input Output System);
Nucleul;
Shell-ul (COMMAND.COM).

Ultimele dou componente reprezint sistemul de operare propriu-zis i
sunt realizate de firma Microsoft.




51
Sisteme de operare
n principal, componenta BIOS (sau componenta fizic) conine un
set de programe care asigur:
autotestarea la punerea sub tensiune, operaie denumit POST
(Power-On Self Test). n acest test procesorul se autoverific
i apoi verific timer-ul sistemului i memoria RAM. n acest
moment, dac gsete vreo eroare, se trimite un mesaj ctre
monitor. Dac se ntlnesc erori ce nu pot fi afiate pe monitor,
ele sunt semnalizate sub form de sunete. Dup POST se
transmite un sunet i pe acran apar mesaje de ncrcare a
sistemului de operare odat ce bootstrap a nregistrat terminarea
activitilor POST;
suportul software pentru dispozitivele periferice standard - n
felul acesta izoleaz sistemul de operare de ceea ce este specific
hardware-ului (de exemplu, componenta BIOS conine codurile
apelurilor de sistem pentru citirea i scrierea de la adresele
absolute de pe disc, pentru citirea unui caracter de la tastatur sau
pentru afiarea unui caracter pe ecran);
rutina pentru iniializarea sistemului;
programul de ncrcare a primului sector logic de pe discul
flexibil sau hard disc.
La pornirea calculatorului se pornete ncrctorul bootstrap care
este localizat n cipul BIOS. Acesta asigur testarea componentelor
hardware ale calculatorului i ncrcarea sistemului de operare n memoria
RAM.
Exist dou modaliti de pornire a calculatorului:
Pornirea la rece (cold-boot);
Pornirea la cald (warm-boot), care se realizeaz prin apsarea
tastelor Ctrl+Alt+Delete.

Pornirea la rece implic urmtorii pai:
1) Sursa de curent se iniializeaz; chipset-ul plcii de baz
ateapt pentru semnalul Power Good din partea sursei;
2) BIOS ROM procesorul localizeaz programul de boot
(iniializare) al BIOS-ului;
3) POST BIOS-ul ruleaz secvena POST. Dac apare vreo eroare
major, procesul de boot se oprete;
4) Video BIOS-ul caut programul BIOS pentru placa video i l
execut pentru iniializarea plcii video;
5) Alte dispozitive BIOS BIOS-ul caut programe BIOS pentru
alte echipamente BIOS (hard disk) i le execut;
52
Sisteme de calcul i operare

6) Ecranul de pornire BIOS-ul afieaz ecranul de pornire;
7) Memoria BIOS-ul testeaz alte componente ale calculatorului
i efectueaz un test de memorie;
8) Hardware BIOS-ul testeaz sistemul pentru a gsi
componentele hardware (de exemplu hard-discuri);
9) Plug and Play Configurarea dispozitivelor Plug and Play;
10) Ecranul de configurare BIOS-ul afieaz un sumar al
configuraiei hardware a sistemului;
11) Discul de boot BIOS-ul caut un disc de boot pe baza
secvenei de iniializare;
12) Boot record BIOS-ul caut primul dispozitiv de boot din
secven pentru MBR (Master Boot Record) de pe un disc hard
sau VBS (Volume Boot Sector) de pe o dischet floppy;
13) SO BIOS-ul ncepe s iniializeze sistemul de operare, moment
n care acesta preia controlul de la BIOS;
14) Eroare dac BIOS-ul nu gsete un dispozitiv de iniializare n
cadrul secvenei de boot, va afia un mesaj de eroare i va bloca
sistemul.

Componenta BIOS este furnizat de constructor i nu de firma
Microsoft, fiind localizat n memoria ROM (Read Only Memory) n blocul
de 64 KB, chiar sub limita de 1 MB a spaiului de adresare. Cei mai
cunoscui productori de cip-uri BIOS sunt:
AMIBIOS (Americam Megatrends, Inc.)
PhoenixBIOS (Phoenix Technologies Ltd.)
AwardBIOS (Award Software, Inc.)

Figura 2.2 Cipuri BIOS de tip PLCC











BIOS-ul este situat pe un cip de pe placa de baz a calculatorului.
Acest cip este fie sub form dreptunghiular - DIP (Dual In-line Package)
sau sub form ptrat - PLCC (Plastic Leaded Chip Carrier - figura 2.2).
53
Sisteme de operare
Capacitatea cipului BIOS este msurat n Megabii. Majoritatea cipurilor
BIOS de astzi au dimensiunea de 2Mb (256KB).
Aceast capacitate mai mare ofer productorilor posibilitatea de a
include mai multe faciliti dect n cazul cipurilor mai vechi de dimensiune
mai redus, de 1Mb. Totodat, trebuie tiut c dimensiunea cipului BIOS nu
are legtur cu performanele sale. Tipul i dimensiunea cipului BIOS se
stabilesc n funcie de funcionalitile oferite i de costuri i nu n funcie de
performane.
Procedurile BIOS sunt apelate prin intermediul vectorilor de
ntreruperi i nu prin apeluri directe, ceea ce permite constructorilor
schimbarea mrimii i a amplasrii procedurilor BIOS.
Fiierul IO.SYS (IBMBIO.COM n versiunile IBM) este un fiier
ascuns, care exist n toate sistemele MS-DOS. Se utilizeaz la iniializarea
calculatorului i ofer o interfa cu BIOS-ul pentru apelurile de proceduri.
Nucleul sistemului de operare poate accesa serviciile BIOS-ului prin
intermediul procedurilor din IO.SYS. Existena acestui fiier permite o
izolare mai bun a nucleului de componenta hardware. De exemplu, nucleul
nu trebuie s cunoasc ce vector de ntrerupere corespunde unui serviciu
BIOS dat, aceast informaie fiind regsit prin fiierul IO.SYS.
Nucleul conine partea sistemului de operare independent de
calculator i se gsete ntr-un alt fiier ascuns, MSDOS.SYS
(IBMDOS.COM). Are rolul de a gestiona procesele, memoria i sistemul de
fiiere, ca i interpretarea tuturor apelurilor de sistem.
Dup nucleu, cea de-a treia parte a sistemului de operare este shell-ul
reprezentat prin fiierul COMMAND.COM. Totui acesta poate fi nlocuit de
ctre utilizator. Fiierul COMMAND.COM realizeaz interfaa dintre
utilizator i nucleul sistemului de operare, coninnd:
o parte rezident care este totdeauna n memorie;
o parte nerezident, ce se ncarc n partea superioar a
memoriei, la limita celor 640 KB i poate fi nlocuit.


2.3.2 Sistemul de gestiune a fiierelor MS-DOS

Sistemul de fiiere MS-DOS se ocup de administrarea fiierelor
avnd la baz structura fizic a dischetelor sau a hard discurilor. Structura
fizic, la discurile magnetice, se refer la organizarea suportului disc la nivel
de sector, fa (cap), cilindru (pist). mprirea n sectoare a discurilor i a
dischetelor se realizeaz prin operaia de formatare (comanda FORMAT).
54
Sisteme de calcul i operare

Prin comanda de formatare, sistemul de operare realizeaz n principal:
mprirea pistelor n sectoare (formatarea fizic);
crearea structurii logice de date (formatarea logic).

Structurarea informaiei pe discurile flexibile este aceeai cu a unei
partiii de pe hard disc. Partiia este unitatea logic, fizic reprezentat prin
totalitatea sectoarelor dintre dou adrese. Hard discul poate conine partiii
MS-DOS sau partiii care nu sunt MS-DOS. Dup generarea partiiilor este
necesar formatarea acestora, crearea structurii logice de date.
Structura logic a unei partiii sau a unei dischete este (figura 2.3):
sectorul de BOOT (primul sector logic);
sectorul FAT (tabela de alocare a fiierelor);
copii FAT;
directorul principal sau rdcin (ROOT);
zona de date.

n sectorul de BOOT sunt coninute date care descriu formatul
discului i prin intermediul crora sistemul de operare MS-DOS poate
utiliza discul. Acest sector include:
comanda de salt la procedura BOOT;
numele productorului i numrul de versiune;
numrul de octei/sector;
numrul de sectoare/cluster (cluster unitate de alocare, avnd
un numr de sectoare);
numrul de sectoare rezervate (naintea primului FAT);
numrul de de FAT-uri;
numrul de intrri n primul director;
numrul de sectoare/disc;
tipul discului;
numrul de sectoare din FAT;
numrul de sectoare/pist;
numrul de capetelor de scriere/citire;
numrul de sectoarelor ascunse;
procedura BOOT (ncrcarea fiierelor de sistem);
tabela de partiionare (la hard disc);
extensie a procedurii BOOT.

55
Sisteme de operare


Figura 2.3 Funcionarea sistemului de fiiere FAT16

Prin utilizarea sectorului de BOOT, sistemul de operare poate
identifica primul fiier de tip director (directorul rdcin - ROOT) care
conine baza structurii arborescente a directoarelor de pe disc.



56
Sisteme de calcul i operare

O intrare ntr-un director conine (32 octei):
numele fiierului (8 octei);
extensia (3 octei);
atributul de director sau fiier obinuit (1 octet +10 octei
neutilizai);
data i ora (2 octei +2 octei);
primul cluster (2 octei);
dimensiunea n octei (4 octei).

Sistemul FAT conine cte o intrare (16 bii) pentru fiecare cluster.
Numrul cluster-ului este utilizat ca index.


2.3.3 Comenzi MS-DOS

Sintaxa general al unei comenzi este:

comanda [parametru_1] [parametru_2] [/opiune]


comanda specific numele comenzii;
parantezele drepte [ ] indic elementele opionale;
parametru poate include urmtoarele elemente:
unitatea logic de disc folosit (litera_disc:), care poate fi:
unitatea de disc flexibil reprezentat prin A: sau B:;
unitatea de hard disc reprezentat prin C:, D: sau E:.

Dac elementul unitatea de disc se omite se va considera unitatea
implicit, aceasta fiind unitatea de disc curent al crui nume apare ca
prim liter n prompterul comenzii. Pentru a schimba discul curent se
tasteaz numele discului urmat de caracterul dou puncte (:). De exemplu,
pentru a schimba discul curent A: n D:, dup ce se tasteaz:

A:\>D: <ENTER>

Iar ca rezultat va aprea urmtorul prompter:

D:\>

dac directorul curent pe discul D: este directorul rdcin (\).
57
Sisteme de operare

calea specific ruta prin care se identific locul unui fiier sau
director din structura arborescent.

[\][nume
1
_director]\[nume
2
_director]....


Primul caracter (backslash \) impune ca identificarea s nceap cu
directorul rdcin (ROOT). Dac acesta se omite, cutarea ncepe din
directorul curent. Aa cum este memorat unitatea de disc implicit, se
poate memora i directorul implicit pentru fiecare unitate de disc. MS-DOS
afieaz calea directorului curent de pe discul curent, ca parte a
prompterului.
nume_fisier.ext specific numele unui fiier care poate avea
pn la opt caractere i poate fi urmat de punct ( . ) i o extensie
de pn la trei caractere.
specificator de fiier conine elementele descrise anterior:

[disc:][cale] [\]nume_fisier[.ext]


opiuni sunt specifice anumitor comenzi i determin un anumit
mod de execuie (exemplu: DIR/P).

Observaie. n numele fiierului ct i n extensie se pot regsi caracterele:
semnul ntrebrii (?) specificnd c orice caracter poate ocupa
aceast poziie.

Exemplu: DIR A?CD.DAT

Dac n directorul curent exist fiierele ABCD.DAT, ACCD.DAT i
AHCD.DAT acestea vor fi listate n urma execuiei comenzii anterioare DIR.

asterisc (*) specificnd c orice caracter poate ocupa aceast
poziie ct i restul poziiilor.

Exemplu: DIR *.DAT

Vor fi listate toate fiierele care au extensia .DAT din directorul
curent.
58
Sisteme de calcul i operare

Comenzi pentru lucrul cu directoare
MKDIR (MD) MKDIR (Make Directory) este comand intern
utilizat pentru crearea unui director. Sintaxa general a acestei comenzi este:

mkdir [disc:] cale

sau

md [disc:] cale



Exemplu
Pentru a se genera directorul CONT n:
a) directorul rdcin al discului curent (directorul curent este altul
dect directorul rdcin) vom folosi comanda: md \cont
b) directorul curent, vom folosi comanda: md cont

CHDIR (CD) CHDIR (Change Directory) este o comand
intern utilizat pentru a vizualiza numele directorului curent sau pentru a
schimba directorul curent. Sintaxa acestei comenzi este:

chdir [disc:] cale

sau

cd [disc:] cale



Exemplu
1. Pentru a schimba directorul curent \STUD\STUD5 de pe discul
implicit n:
a) directorul printe ( \STUD)
b) directorul rdcin ( \)
linia de comand va conine:
a) CD .. [sau CD \STUD];
b) CD \

59
Sisteme de operare
2. Pentru a schimba directorul curent \STUD\STUD7 de pe discul A
astfel nct acesta s fie STUD3 - subdirector al directorului STUD, n linia
de comand se va tasta (discul curent este C:):

CD A:\STUD\STUD3

RMDIR (RD) RMDIR (Remove Directory) este o comand
intern utilizat pentru tergerea unui director. Sintaxa general este:

rmdir [disc:] cale

sau

rd [disc:] cale



Nu se poate utiliza comanda RD pentru a terge directorul curent,
directorul rdcin sau un director care conine fiiere sau subdirectoare.
Pentru a fi ters, un director trebuie s fie golit de coninut.

Exemplu
Prin comanda: RD A:\STUD\STUD3 se va terge subdirectorul
STUD3 din directorul STUD de pe discul A: dac este gol.

TREE TREE este o comand extern prin care se afieaz
structura arborescent a directoarelor de pe discul specificat. Sintaxa general
este:


tree [disc:] cale [/f][/a]



unde:
/f listeaz i numele fiierelor din fiecare director
/a la afiare se utilizeaz caracterele ASCII text n loc de caracterele
grafice pentru a reprezenta legturile cu subdirectoarele.



60
Sisteme de calcul i operare

Exemplu
Prin comanda: TREE A: /F > PRN listarea se face la imprimant.
Aici a fost utilizat caracterul special > prin care se face redirectarea
rezultatului comenzii ctre un dispozitiv special, imprimanta n cazul nostru
(identificat de numele generic special, PRN).

XCOPY XCOPY este o comand extern pentru copierea
fiierelor i directoarelor, incluznd subdirectoarele. Sintaxa general a
acestei comenzi este:


xcopy sursa [dest][/a][/m][/d:data][/p][/s][/e][/v][/w]



unde:
sursa/destinaia poate fi o unitate de disc sau o cale;
/A copierea numai a fiierelor surs care au atributul de arhivare
setat fr a-l modifica;
/M copierea numai a fiierelor surs care au atributul de arhivare
setat, atributul de arhivare va fi modificat;
/D:date copiaz fiierele surs modificate la sau dup data
specificat;
/P cere confirmarea naintea copierii fiecrui fiier;
/S copiaz directoarele i subdirectoarele, n afar de situaia n
care sunt goale;
/E copiaz toate subdirectoarele, chiar dac sunt goale;
/V verificarea identitii fiecrui fiier destinaie (deja copiat) cu
fiierul surs;
/W genereaz o pauz naintea operaiei de copiere a fiierelor.

Observaie. Prin comanda XCOPY nu se copiaz fiierele ascunse i de
sistem. Dac destinaia este omis, prin comanda XCOPY se copiaz fiierele
specificate n directorul curent.

Exemplu
Comanda XCOPY A: C: /S/E copiaz toate fiierele i subdirectoarele
(inclusiv cele goale) de pe discul A: (dischet) pe discul C: (hard disc).

61
Sisteme de operare
PATH PATH este o comand intern prin care se stabilete calea
de cutare pentru fiierele executabile (.EXE, .BAT, .COM). Odat stabilit
aceast cale, fiierele executabile vor fi cutate n directoarele specificate de
PATH. Sintaxa general a comenzii este:

path [[disc:] cale [; [disc:] cale][;]]



Pentru afiarea cilor curente de cutare se utilizeaz comanda
pelat fr nici un parametru: PATH. a

Exemplu
S presupunem c programul PROGRAM.COM se gsete numai n
directorul STUD3 de pe discul A:, iar unitatea de disc implicit este C:.
Comanda:

path \stud;\stud1\stud2;a:\stud3



instruiete sistemul de operare s identifice comenzile (orice fiier executabil
este echivalent unei comenzi) lansate nti n directorul curent, apoi n
C:\STUD; dup aceea n C:\STUD1\STUD2 i n final n A:\STUD3.

Comenzi pentru lucrul cu fiiere
DIR Comanda DIR este o comand intern cu ajutorul creia se
listeaz fiierele i subdirectoarele unui director. Sintaxa general a acestei
comenzi este:
dir [disc:][cale][nume_fisier][/p][/w][/a][[:][atribute]]
[/o[[:]ordine]][/s][/b][/l]



unde:
/P permite listarea informaiei n pagini;
/W realizeaz afiarea condensat a listei;
/A[[:]atribute] se vor lista numai numele acelor fiiere i directoare
care dein atributele specificate;
atribute: h/- h fiiere ascunse/nu sunt ascunse;
s/- s fiiere sistem/altele dect sistem;
d/- d directoare/nu directoare;
a/- a fiiere de arhivare/nu de arhivare;
r/- r fiiere ce se pot numai citi/citi i scrie.
62
Sisteme de calcul i operare

/O[[:]ordine] controleaz ordinea n care se listeaz numele
fiierelor i directoarelor.
ordine: n/- n ordine alfabetic dup nume A-Z/Z-A;
e/- e ordine alfabetic dup extensie A-Z/Z-A;
d/- d dup dat;
s/- s dup mrime;
g/- g directoarele naintea/dup fiiere.
/S listeaz orice apariie n directorul specificat i n toate
subdirectoarele acestuia a numelui de fiier specificat;
/B listeaz numele unui director sau fiier pe o linie;
/L listarea neordonat a numelor fiierelor i directoarelor cu litere
mici.

Exemple

1. Comanda: DIR /S /O /P

Dac directorul curent este directorul rdcin se va obine o listare a
tuturor directoarelor de pe discul implicit. Lista fiecrui director este
ordonat alfabetic, iar ntre afiarea a dou ecrane succesive se execut o
pauz.

2. Prin comanda: DIR /S /O /P /A:-D
rezultatul este asemntor cu cel din cazul precedent numai c se vor omite
numele directoarelor.

TYPE Comanda TYPE este o comand intern prin care se
vizualizeaz coninutul unui fiier text. Sintaxa general este:


type [disc:][cale]nume_fisier.ext



Exemplu
Prin comanda: TYPE MANUAL.TXT se va afia coninutul
fiierului MANUAL.TXT din directorul curent. Pentru a se executa o pauz
cnd ecranul este plin se va include i comanda MORE, astfel linia de
comand devine:
TYPE MANUAL.TXT | MORE

63
Sisteme de operare
n acest ultim caz a fost utilizat simbolul special pipe ( | ) prin care
rezultatul comenzii TYPE este redirectat ctre comanda MORE care
realizeaz afiarea ecran cu ecran.

COPY COPY este o comand intern prin care se copiaz unul
sau mai multe fiiere. Sintaxa general a acestei comenzi este:

copy [/a][/b]sursa[/a/b][+sursa[/a/b][+]][dest[/a/b]][/v]



unde:
/A se folosete pentru fiiere text de tip ASCII;
/B se folosete pentru fiiere binare;
/V verific dac noile fiiere sunt corecte.

Exemple

1. Copierea unui fiier cu acelai nume.

Presupunem c unitatea implicit de disc este A:.
Comanda: COPY D:\PROG.DAT copiaz fiierul PROG.DAT din
directorul rdcin al unitii de disc D n directorul curent al discului
implicit A, fr a schimba numele fiierului.

Prin comanda: COPY D:\PROG.DAT D:\STUD se copiaz fiierul
PROG.DAT din directorul rdcin al discului D: n directorul STUD de pe
aceeai unitate. Fiierul copiat are acelai nume cu fiierul original.

2. Copierea cu nume diferite

Prin comanda: COPY D:PROG1.DAT A:PROG2.TXT se copiaz
fiierul PROG1.DAT din directorul curent al unitii de disc D: n directorul
curent al unitii A:, sub numele PROG2.TXT.

3. Crearea unui fiier prin introducerea datelor de la tastatur

Cu ajutorul comenzii: COPY CON TEST.TXT tastatura are rolul de
fiier surs, iar fiierul destinaie este TEST.TXT din directorul curent al
unitii de disc implicite. Tot ce se introduce de la tastatur va fi transferat
n fiierul destinaie, astfel:
Prima linie <ENTER>
A doua linie <ENTER>

64
Sisteme de calcul i operare

Sfritul introducerii se face prin tastarea combinaiei CTRL+Z i
apoi <ENTER>; n acest moment operaia de copiere se termin i
informaiile sunt salvate n fiierul TEST.TXT.

RENAME Comanda RENAME (sau REN) este o comand
intern pentru redenumirea unui fiier sau a unor fiiere.

Sintaxa general a acestei comenzi este:

rename [disc:][cale] nume_vechi nume_nou

sau

ren [disc:][cale] nume_vechi nume_nou



unde nume_vechi reprezint vechiul nume al fiierului iar nume_nou
reprezint noul nume ce va fi atribuit.

Exemple

1. Comanda: REN A:\STUD\TABEL.DAT TABEL1.DAT
redenumete fiierul TABEL.DAT din directorul \STUD de pe unitatea A: n
TABEL1.DAT.

2. Comanda: REN *.EXE *.COM asigur schimbarea extensiilor
tuturor fiierelor de tip .EXE din directorul curent n extensii .COM.

Observaie: n Windows Explorer nu este permis redenumirea mai multor
fiiere simultan, deci pentru a redenumi mai multe fiiere o singur dat
trebuie s folosim comanda ren la linia de comand DOS.

DEL (ERASE) Comanda DEL (ERASE) este o comand
intern care realizeaz tergerea fiierelor.
Sintaxa general este:

del [disc:][cale] nume_fisier [/p]

sau

erase [disc:][cale] nume_fisier [/p]



/p cere confirmarea (Y/N?) nainte de a terge fiierul specificat.

65
Sisteme de operare
Exemplu:
Comanda: DEL C:\STUD\STUD3\*.* terge toate fiierelor din
directorul \STUD\STUD3. Dac s-a utilizat *.* n zona numelui de fiier,
MS-DOS afieaz un mesaj pentru a verifica dac se dorete tergerea
tuturor fiierelor: "Are you sure (Y/N) ?" Tastnd Y i apoi <ENTER> se
execut operaia de tergere.

Redirecionarea intrrii/ieirii comenzilor

Pentru a redireciona intrarea sau ieirea unei comenzi, se pot utiliza
caracterele:

> ieirea unei comenzi se va transmite ntr-un fiier sau ctre un
dispozitiv periferic;
< intrarea necesar unei comenzi va fi preluat dintr-un fiier;
>> ieirea unei comenzi este adugat la sfritul unui fiier, fr a
terge informaia deja existent.

Exemple:
1. Comanda: DIR > LISTA.TXT asigur redirecionarea listei ce se
obine prin comanda DIR ctre fiierul LISTA.TXT. Dac fiierul nu exist,
el va fi creat n directorul curent de pe unitatea implicit; dac exist, se va
nlocui informaia care o conine cu aceea ce se va obine.

2. Prin comanda: DIR > PRN se va trimite lista cu numele fiierelor
din directorul curent ctre imprimant.

Comenzi pipe
Dac se dorete ca ieirea unei comenzi s fie intrare pentru alta se
vor tasta comenzile pe o singur linie de comand, fiind separate prin
simbolul pipe, linie vertical ( | ).

Exemple:

1. Fie linia de comand: DIR | SORT
Lista obinut prin comanda DIR va fi folosit ca intrare pentru comanda
SORT, astfel nct pe ecran va apare o list ordonat alfabetic.

2. Linia de comand: DIR | SORT | MORE afieaz aceeai list ca
n exemplul precedent, afiarea fcndu-se de data aceasta ecran cu ecran.

66

















3.1 Entropia informaional

Informaia este un mesaj ce aduce o precizare ntr-o problem ce
comport un anumit grad de incertitudine. Dei exist o mare diversitate de
informaie, att din punctul de vedere a formei de prezentare, a coninutului, a
sursei care o genereaz ct i a modului de recepionare, oamenii de tiin
i-au pus problema msurrii ei cantitative. S-a constatat c informaia i
nedeterminarea sunt mrimi direct proporionale.
Se consider un experiment X n cadrul cruia se pot realiza un numr
finit de n evenimente elementare: x
1
, x
2
, x
3
, ..,x
n
. Probabilitile de apariie ale
acestor evenimente le vom nota cu p
1
, p
2
, p
3
, .., p
n
(p
i
= numrul cazurilor
favorabile evenimentului x
i
/ numrul cazurilor egal posibile ale
experimentului).
Se presupune c sistemul de evenimente este un sistem complet:
p 0 i = 1, n
p = 1

i
i = 1
n
i


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

impar paritatea realizeaz 1


a
par paritatea realizeaz
a
=
c
kj
m
1 = k
kj
m
1 = k
j

) n 1, = (j


i se numete simbol de paritate longitudinal.

Controlul erorilor pe principiul paritii ncruciate poate conduce la:
depistarea erorilor att prin paritate transversal ct i prin
paritate longitudinal;
depistarea numai prin paritate transversal sau longitudinal;
erorile s nu fie depistate.







93
Sisteme de calcul i operare

Blocul de informaie ce se recepioneaz va fi:

Simboluri informaionale Controlul liniei
a'
11
a'
12
..a'
1n
l'
1
a'
21
a'
22
..a'
2n
l'
2
.
. .

a'
m1
a'
m2
..a'
mn
l'
m
Control coloan c'
1
c'
2
c'
n
l'
m+1
(c'
n+1
)

La recepie se vor calcula:

m 1, = i , 1] [
a
=
l ik
n
=1 k
ic


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

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