Sunteți pe pagina 1din 217

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

1. STRUCTURI
I
ARHITECTURI
CALCULATOARE NUMERICE

DE

1.1. Evoluia calculatoarelor


1.1.1. Introducere
1.1.2. Generaii de calculatoare
1.1.3. Fore tehnologice i economice
1.2. Modaliti de reprezentare a calculatoarelor
1.2.1. Maina von Neumann
1.2.2. Reprezentarea funcional
1.2.3. Reprezentarea structural
1.3. Clasificri arhitecturale
1.3.1. Clasificarea dup controlul execuiei
1.3.1.1. Calculatoare SISD
1.3.1.2. Calculatoare MISD
1.3.1.3. Calculatoare SIMD
1.3.1.4. Calculatoare MIMD
1.3.2. Clasificarea dup organizarea spaiului de adres
1.3.2.1. Arhitecturi cu spaiul de adres al memoriei
partajat
1.3.2.2. Arhitecturi cu transfer de mesaje

30.08.2012

1 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

1.

STRUCTURI I ARHITECTURI DE
CALCULATOARE NUMERICE

Calculatoarele au determinat o a treia revoluie a civilizaiei i


anume revoluia informaiei primele dou fiind revoluia agriculturii i cea
industrial. Calculatorul reprezint un unicat ntre uneltele inventate de om
n care creterea performanelor a fost nsoit n permanen de o reducere
a preurilor. Se apreciaz c dac un asemenea progres ar fi avut loc n
industria automobilelor, astzi s-ar putea ajunge de la New York la San
Francisco n 5 secunde cu un pre de 50 de ceni.
Revoluia calculatoarelor continu i se pare c nu exist limite
care s nu poat fi depite. Progresele n echipamente (hardware) au
permis programatorilor dezvoltarea de aplicaii (software) performante
capabile s confere calculatorului valene i implicri de neimaginat n
urm cu circa 25 de ani (Internet, e-comerce, pota electronic etc.).
Obiectul prezentului capitol const n prezentarea unor elemente
definitorii care privesc structura i arhitectura calculatoarelor numerice
(CN).
1.1. Evoluia calculatoarelor
Prezentarea propriuzis a problematicii CN va fi precedat de o
incursiune n istoria mijloacelor de calcul insistndu-se asupra celor bazate
pe tehnologiile electronice.
1.1.1. Introducere
Calculatorul numeric reprezint un sistem fizic capabil s rezolve
probleme prin execuia unor instruciuni primite sub forma unui program.
La nivelul unui CN pot fi derulate mai multe tipuri de prelucrri i anume:
1. prelucrri de date;
2. prelucrri de informaii;
3. prelucrri de cunotine;
4. prelucrri inteligente (inteligen artificial),

30.08.2012

2 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

ilustrate n structura piramidal din figura 1.1.


IA
Prelucrri de
cunotine
Crete
complexitate de
prelucrare

Prelucrri de
informaii
Prelucrri
de date

Crete volum
de prelucrare

Fig. 1.1. Structura piramidal a tipurilor de prelucrri la nivelul unui CN.

1. Spaiul datelor. Materialul prelucrat la baza piramidei poate fi


considerat ca un spaiu de date mutual independente. Acest spaiu care este
cel mai mare spaiu al obiectelor prelucrate n CN include caractere,
simboluri i/sau reprezentri multidimensionale ale acestora, numere n
diverse formate.
2. Spaiul informaiilor. Termenul de informaie se asociaz n
acest context unei colecii de date conectate printr-o anumit relaie sau
structur sintactic (sintaxa reprezint un set de reguli care guverneaz
alctuirea propoziiilor ntr-un limbaj). Spaiul informaiilor se constituie
ntr-un subspaiu al datelor.
3. Spaiul cunotinelor. n cadrul acestui spaiu, care

formeaz un subspaiu al spaiului informaiilor, informaiile sunt


legate ntre ele printr-o structur semantic (semantica reprezint un
set de reguli care permit atribuirea de nelesuri propoziiilor ntr-un
limbaj)
4. Spaiul prelucrrilor de tip inteligen artificial. n cadrul
acestui spaiu (subspaiu al spaiului cunotinelor) se lucreaz cu
baze de cunotine, reguli de inferen (raionament) sau cu alte
mijloace specifice domeniului inteligenei artificiale.
Dup cum se va vedea mai departe toate calculatoarele realizate
pn n prezent evolueaz pe baza unui program anterior memorat,
program realizat sub forma unei secvene de instruciuni aferente unui
limbaj artificial.

30.08.2012

3 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

n ceea ce privete limbajele de programare acestea pot fi mai


apropiate de maina care le execut sau de utilizatorul uman. Gradul de
apropiere se cuantific n nivelul de percepie al respectivului limbaj i n
capacitatea de manevrare a instruciunilor aferente.
Componentele fizice ale unui CN (circuitele electronice) nu pot
recunoate i executa dect un numr limitat de instruciuni. Instruciunile
care pot fi nelese i executate direct (fr a necesita translatare sau
interpretare) sunt instruciuni main iar limbajul corespunztor este
limbajul main pe care l vom nota L1. Limbajul L1 cu toate c permite
comunicarea utilizatorului cu maina este greu de folosit, iar n aplicaiile
de dimensiuni mari chiar imposibil. n aceste condiii este necesar crearea
unui nou limbaj, pe care l vom nota cu L2, mult mai apropiat de modul
natural de gndire i de operare al omului.
Din cele prezentate rezult c utilizatorul poate scrie programe
att n L1 ct i n L2, dar calculatorul va executa ntotdeauna instruciuni
aferente limbajului L1 pentru care a fost proiectat fizic. Pentru execuia
unui program scris n limbajul L2 exist dou tehnici i anume:
1.
translatarea (traducerea) care presupune nlocuirea
fiecrei instruciuni din L2 cu instruciuni L1, rezultnd un program n L1
care va putea fi executat direct de main;
2.
interpretarea care presupune analizarea fiecrei
instruciuni din programul scris n L2 i execuia ei printr-o secven
echivalent de instruciuni din L1.
Avnd n vedere c utilizatorul lucreaz cu o main creia i se
adreseaz n L2 dar care execut n L1, s o numim main virtual
pentru a o deosebi de maina real creia utilizatorul i se adreseaz n L1,
iar execuia se face tot n L1. n general o main virtual este o main
capabil s execute programe scrise n limbaje de nivel superior celui
accesibil nivelului fizic. Raiunea de a fi a mainii virtuale rezult pe de o
parte din dificultatea realizrii fizice a unei maini capabile s execute
direct programe scrise n L2, iar pe de alt parte, din dificultatea utilizrii
directe a limbajului L1.
Dac i programarea n L2 este dificil se poate crea un alt limbaj L3,
execuia unui program scris n L3 putndu-se realiza prin aceleai dou
tehnici, respectiv:
1. traducerea programului ntr-un program echivalent scris n L2;

30.08.2012

4 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

2. interpretarea fiecrei instruciuni din L3 prin instruciuni din L2.


Se poate spune c maina virtual avnd limbajul L3 are la baz
maina virtual cu limbajul L2. Metoda se poate extinde pentru diferite
limbaje i maini din ce n ce mai performante, numite n literatura de
specialitate simplu niveluri.
Un calculator alctuit din n niveluri conceptuale poate fi vzut ca n maini
virtuale distincte fiecare main avnd propriul su limbaj. Programele
scrise n L2, L3, ,Ln trebuie s fie interpretate de un interpretor avnd un
nivel mai mic sau s fie translatate (traduse) ntr-un limbaj inferior.
Programatorul care are programele scrise pentru o main virtual de
nivelul n nu este interesat de translatoarele sau interpretoarele aflate la un
nivel inferior.
n concluzie se poate spune c un calculator poate fi vzut ca o
suit de niveluri, fiecare nivel nglobndu-le pe cele precedente. n acest
sens un nivel prezint un anumit grad de abstractizare i conine diverse
obiecte i operaii cu aceste obiecte. n sens ascendent crete complexitatea
prelucrrii iar n sens descendent crete volumul materialului prelucrat.
Pentru fiecare nivel main se definete arhitectura
calculatorului ca fiind totalitatea tipurilor de date, operaiilor i
facilitilor vizibile i accesibile programatorilor.
Structura calculatorului stabilete i definete componentele
necesare realizrii funciilor specificate. n principiu se poate vorbi de o
abordare structural i n cadrul fiecrui nivel dar n general aceasta are n
vedere maina n ansamblul su. Dup cum se va vedea cvasitotalitatea
calculatoarelor realizate pn n prezent respect structura definit de von
Neumann n 1945 (se va reveni).
n afara noiunilor de arhitectur i structur CN mai sunt
caracterizate i prin noiunile de hardware, software, firmware.
Noiunea hardware ncadreaz totalitatea componentelor
fizice (electronice, electrice, mecanice etc.) aferente unui sistem de calcul.
Practic caracteristicile hardware definesc maina de nivel 0 care execut
programul mainii de nivel 1.
Noiunea software ncadreaz totalitatea programelor i
procedurilor care confer unui calculator capacitatea de a executa sarcini
specifice.

30.08.2012

5 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

Noiunea firmware ncadreaz


componente software
nemodificabile ncorporate de ctre fabricani n anumite dispozitive
electronice.
Calculatorul reprezint obiectul de studiu al tiinei
Calculatoarelor (Computer Science).
Acest studiu are n vedere
proiectarea, modul de lucru i utilizarea acestora n cursul prelucrrii
datelor. Domeniul acoperit de tiina Calculatoarelor ncepe cu
programarea i arhitectura calculatoarelor i ajunge la Inteligen artificial
i Robotic.
Legat nemijlocit de tiina calculatoarelor este Ingineria
calculatoarelor care se ocup cu studiul conceptelor care stau la baza
proiectrii componentelor hardware destinate calculatoarelor.
1.1.2. Generaii de calculatoare
Un calculator modern reprezint un sistem complex care
nglobeaz componente electronice, magnetice, electromecanice, electronooptice, etc. Urmrirea evoluiei CN poate fi analizat din perspectiva
asigurrii resurselor, ilustrate n figura 1.2 pentru realizarea funciilor
importante pentru acesta, i anume:
- resurse de calcul i comand (RCC);
- resurse de memorare (RM);
- resurse de introducere i extragere a datelor (RI/E);
- resurse de comunicaie (RT);
- resurse de programare (RP).

U
RCC
RP

RP
RT
RI/E

RM
RP

U
Fig. 1.2. Structura general a unui sistem de calcul.

30.08.2012

6 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

n evoluia instrumentelor destinate realizrii de operaii aritmetice (n


care sunt incluse i CN) pot fi identificate 4 etape concretizate n 4 tipuri de
maini i anume:
I.
maini manuale;
II.
maini mecanice;
III.
maini electromecanice;
IV.
maini electronice.
Evoluia calculatoarelor a fost determinat de evoluii n
tehnologiile furnizoare de echipamente. Istoricii domeniului au delimitat
mai multe generaii marcate de salturi importante n tehnologiile majoritare
utilizate. Pornind de la influena deosebit a electronicii n ceea ce privete
performanele calculatoarelor, toi precursorii calculatoarelor electronice au
fost grupai n aa numita Generaie 0, urmnd ca Generaiile 1,2,3,4. s
fie asociate numai calculatoarelor electronice. n continuare vor fi punctate
aspecte remarcabile aferente evoluiei calculatoarelor.
G0 - generaia zero (antichitate 1945)
n aceast generaie sunt ncadrate dispozitivele manuale, mecanice,
electromecanice.
Maini manuale . n rndul acestora pot fi incluse dispozitive de tip
rigl sau abac (abacul este cunoscut n China de circa 2500 de ani).
Maini mecanice. Meritul de a fi realizat prima main de calcul i
revine savantului francez Blaise Pascal cnd avea 19 ani. Aceast main
realizat n 1642, era antrenat manual, coninea angrenaje mecanice cu roi
dinate i putea efectua numai adunri i scderi. Unul dintre limbajele de
nivel nalt importante a primit numele PASCAL, care n acelai timp este i
acronim pentru Programme Applique a la Slection et la Compilation
Automatique de la Littrature ) . Treizeci de ani mai trziu, n 1671,
maina lui Pascal a fost mbuntit de ctre marele matematician german
Baron Gotfried Wilhelm von Leibnitz prin adugarea operaiilor da
nmulire i mprire.
n 1830 Charles Babbage profesor de matematic la Universitatea
Cambridge a construit maina analitic. Aceasta coninea patru pri:
memoria (magazia), unitatea de calcul, intrarea (cititorul de cartele
perforate) i ieirea (perforatorul de cartele), toate n ntregime mecanice.
Marea noutate a acestei maini era posibilitatea de prelua datele de intrare
de pe cartele perforate i de a ntoarce rezultatele tot pe un asemenea

30.08.2012

7 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

suport. Memoria putea stoca 1000 de cuvinte de 50 de cifre pentru variabile


i rezultate. Unitatea de calcul prelua operanzii din memorie, efectua
diverse operaii asupra lor (+, -, *, / ) i ntorcea rezultatul tot n memorie.
Acest mod de secveniere a operaiilor confer mainii lui Babbage
calitatea de prim precursor al calculatoarelor numerice de mai trziu. Un
aspect interesant de relevat este acela c prima programatoare a acestei
maini a fost Ada Lovelace, fiica poetului englez Lord Byron .

Maini electromecanice. Un pionier n domeniu este studentul


german Konrad Zuse, care la sfritul anilor 1930 a construi mai
multe maini cu relee electromagnetice, care din pcate au fost
distruse n timpul rzboiului.
Puin mai trziu John Atanasoff de la Colegiul Statului IOWA i
George Stibbitz au proiectat de asemenea maini de calcul cu
componente electromecanice. Maina lui Atanasoff folosea
aritmetica binar i avea memoria format din capaciti care
trebuiau periodic rencrcate. Din pcate aceast main nu a devenit
operaionaql niciodat. Calculatorul lui Stibbitz dei mai primitiv
dect al Atanasoff a funcionat, demonstraia avnd loc n 1940 la
Colegiul Darmouth.
ntre acestea important este maina Mark 1 (Automatic
Sequence Controlled Calculator) construit n 1944 de prof. Howard
Aiken (Universitatea Harward) mpreun cu specialiti de la IBM i
Bell Telephone, dup un plan echivalent mainii lui Babbage.
Maina coninea relee, selectoare mecanice, cablaje). Memoria era de
72 de numere a cte 23 de cifre, efectua o adunare n 0,4 secunde i o
nmulire n 6 secunde. Ca suporturi pentru introducerea/extragerea
datelor utiliza cartele i band perforat.
G1 - generaia a ntia de CN tuburile cu vid (1945 1955)
Circuitele logice aferente CN din G1 erau realizate cu tuburi
electronice caracterizat de un consum energetic ridicat. Conineau o
unic memorie realizat cu tambur magnetic. Periferia era extrem de
redus i se reducea la un cititor/perforator de hrtie. Reperoriul de
instruciuni se reducea la 10-20 de instruciuni simple care de regul
defineau limbajul L1 (cel mult L2), iar raportul timpilor n care se
realiza o nmulire respectiv o adunare era 20/1. Dup cum se observ
30.08.2012

8 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

erau schimbri minore fa de mainile realizate de Aiken sau chiar


Babbage, dar saltul semnificativ l marca ptrunderea n era
electronicii.
Cel de-al doilea rzboi momdial a grbit apariia calculatoarelor,
constituind din acest punct de vedere un factor favorizant. n
consecin primele calculatoare de G1 aui avut o destinaie militar i
au fost reprezentate de mainile ENIGMA realizat de Germania
pentru codificarea mesajelor ce urmau a fi transmise respectiv
COLLOSUS realizat de armata britanic pentru deecodificarea
mesajelor germane interceptate. La proiectarea sa a participat i
matematicianul englez Alan Turing.
n 1946 a devenit operaional calculatorul ENIAC Electronic
Numerical Integrator And Computer realizat la University of
Pensylvania de John Mauchley i J. Presper Eckert i destinat tot
aplicaiilor militare (calcularea caracteristicilor traiectoriilor balistice). Aflat
n funciune pn n anul 1955 ENIAC avea 18000 tuburi, 1500 de relee
consuma 140 kW i cntrea 30 de tone, fiind structurat n 30 de uniti
separate, care procesau n paralel datele. Din punct de vedere al arhitecturii
coninea 20 de registre a cte 10 cifre zecimale destinate rezultatelor
pariale sau finale. Performanele sale erau uluitoare pentru acea vreme,
putnd efectua 5000 de operaii/secund, rezolvnd n 20 de secunde
probleme a cror soluionare manual necesita dou zile.
Urmaul lui ENIAC a fost calculatorul EDVAC - Electronic Discrete
Variable Automatic Computer (realizat tot de ctre Mauchley i Eckert)
care elimina unitile paralele de procesare i coninea numai 4000 de
tuburi.
n timp ce Mauchley i Eckert lucrau la EDVAC, unul dintre cei care
fuseser implicai n proiectul ENIAC i anume matematicianul ungaroamerican John von Neumann s-a mutat la Institutul Princeton pentru Studii
Avansate n scopul de a construi propria versiune de EDVAC i anume
maina IAS. El a descoperit c programarea calculatoarelor care conin un
numr mare de comutatoare i cabluri era dificil, lipsit de flexibilitate i
ca urmare ineficient. El a neles c aceste neajunsuri pot fi eliminate prin
memorarea programului n form digital mpreun cu datele. De asemenea

30.08.2012

9 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

a nlocuit aritmetica zecimal serial de la ENIAC 1 cu aritmetica binar


paralel. Proiectarea de baz pe care a descris-o prima dat ntr-un articol
publicat n anul 1947 este cunoscut ca maina von Neumann. Aceasta a
fost folosit pentru prima dat la EDSAC care a reprezentat primul
calculator cu program memorat.
Primul calculator destinat aplicaiilor civile a fost UNIVAC 1 lansat
n 1951 de Eckert and Mauchly. Una din primele aplicaii n care a fost
implicat a fost predicia, pe baza unui eantion rezultatelor alegerilor
prezideniale din SUA ctigate de Dwight Eisenhower.
Alte realizri care se pot meniona n cadrul G1:
- Whirlwind I realizat la MIT (Massachusetts Institute of
Technology) i destinat aplicaiilor de conducere n timp real;
- IBM 701 cu memorie de 2 kcuvinte a 36 de bii i dou
instruciuni pe cuvnt;
- IBM 704 cu memorie de 4 kcuvinte a cte 36 bii, instrucciuni pe
cte un cuvnt, procesare n virgul mobil (IBM International Business
Machine).

G2 - generaia a doua de CN componente discrete


(1955 1965)

n 1948 John Bardeen, Walter Brattain i William Shokley de la Bell


Telephone Laboratories au inventat tranzistorul, invenie pentru care n
1956 au primit premiul Nobel pentru fizic. Apariia componentelor
electronice fr purttori mobili de sarcin electric au condus la apariia
unei noi generaii de CN creia i se pot evidenia urmtoarele caracteristici:
- utilizarea dispozitivelor semiconductoare (diode i tranzistoare cu
Ge i apoi cu Si) ce ofereau un gabarit redus, putere disipat mai mic,
siguran n funcionare mai ridicat, eliminarea fenomenelor de radiaie;
- memorii pe inele de ferit (din 1959) cu timpi de acces de ordinul a
2-12 s (de 1000 de ori mai rapid dect memoria pe tambur magnetic);
- interconectarea componentelor era realizat pe cablaj imprimat,
aspect ce a permis modularizarea i implicit uurarea activitii de
ntreinere i depanare;
- perfecionri n domeniul echipamentelor periferice prin apariia
unitilor de discurilor i band magnetic, primele imprimante etc.;
1

Fiecare rang zecimal era reprezentat de ctre 10 tuburi dintre care unul era activ i
9 inactive.

30.08.2012

10 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

- performanele cresc n condiiile reducerii costurilor (trimp


nmulire / timp adunare = 10/1 ;
- apar primele versiuni ale limbajelor de nivel nalt
FORTRAN (FORmula TRANslation) dezvoltat ntre anii
1954-1958 de Jim Backus i destinat aplicaiilor tiinifice;
COBOL (COmmon Business-Oriented Language) dezvoltat
ntre anii 1959-1961 la solicitarea Departamentului Aprrii a SUA i
destinat aplicaiilor n care se prelucreaz volume mari de date;
ALGOL (ALGOrithmic Language) lansat n 1959, a fost
primul limbaj structurat, utilizat pe scar larg n Europa.
Primul CN cu tranzistoare a fost TX-0 (Tranzistorised
eXperimental computer 0), realizat la MIT ca o continuare a calculatorului
Whirlwind.
n 1961 firma DEC (Digital Equipment Corporation ) a lansat
calculatorul PDP-1 (Programmable Data Processor) cu o memorie intern
de 4 Kcuvinte a 18 bii i ciclul instruciune de 5 s. O premier absolut a
lui PDP 1 o constituie otilizarea ecranului cu tub catodic (CRT Cathode
Ray Tube) cu posibilitatea de control a fiecrui punct de pe ecranul cu
rezoluie de 512x512.
Dup civa ani tot DEC a introdus calculatorul PDP-8 caracterizat
de o magistral unic la care erau conectate urmtoarele module (figura
1.3) : UCP, memoria, consola, unitile de itrare/ieire pe band de
hrtie, alte dispozitive de I/E. A fost primul CN realizat n mare serie, fiind
vndute n jur de 50000 de sisteme.
UCP

Memorie

Consol

I/E band de
hrtie

Alte I/E

omnibus
Fig. 1.3. Structura modular a calculatorului PDP 8.

n 1964 DEC a lansat calculatorul CDC 6600 (proiectant Seymour


Cray - cel care mai trziu avea s realizeze seria de calculatoare CRAY).
IBM s-a impus prin calculatoarele IBM 7094 (32 kcuvinte de 36
bii, ciclu instruciune de 2 s ) i n special prin calculatorul comercial
IBM 1401.

30.08.2012

11 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

n Romnia au existat preocupri de dezvoltare a unor CN unicat


din primele dou generaii cum ar fi DACICC, MECIPT, ANCA, CETA
la Institutul de Fizic Atomic, Institutele Politehnice din Timioara, Cluj,
Bucureti etc.

G3 - generaia a treia de CN circuite integrate (1965


1980)
Apariia acestei generaii a fost determinat de inventarea circuitelor
integrate2 (CI), care grupau pe o pastil de siliciu mai multe componente.
Integrarea a fcut posibil construirea unor calculatoare mai mici, mai
rapide i mai ieftine dect predecesoarele lor cu tranzistoare.
Principalele caracteristici ale CN din aceast generaie sunt:
- utilizarea CI pe scar redus (SSI - Small Scale Integration) cu
pn la 100 tranzistoare / chip;
- utilizarea memoriilor semiconductoare cu timpi de acces dre
ordinul a 0,5 1,75 s;
- memorii externe de mare capacitate: discuri de mas capabile s
stocheze pn la 1 MB de informaie.
Sistemele care s-au impus ateniei din aceast generaie au fost IBM
360 i PDP 11.
Principalele caracteristici ale lui IBM 360 au fost: ciclul instruciune
de 250 nsec, memoria de pn la 512 kcuvinte a cte un octet,spaiul de
aresare 216 octei (16 Moctei), registre de lucru interne pe 32 de bii,
portabilitatea programelor n limbaj de asamblare pentru diferite versiuni.
Este primul calculator pe vcare s-a aplicat multiprogramarea, care permite
existena n memorie i execuia simultan (sau cvasisimultan) a mai
multor programe. Maina 360 a fost, de asemenea, prima care putea emula
(simula) alte calculatoare.
Calculatorul PDP 11 realizat de DEC avea multe trsturi apropiate de
IBM 360 (cu deosebirea c procesa cuvinte pe 16 bii) ns avea un raport
performan/cost mult mai bun. A fost considerat cel mai performant
calculator al acestei generaii, avnd un succes enorm n special n
universiti.

Robert Noice n anul 1958.

30.08.2012

12 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

n Romnia s-au produs calculatoarele FELIX C la ICE Bucureti.


Primul calculator de proces a fost FELIX C32P. ncepnd cu 1977 s+au
produs calculatoarele INDEPENDENT i CORAL compatibile cu PDP
11.

G4 - generaia a patra de CN circuite VLSI (dup 1980)


Apariia acestei generaii a fost posibil datorit perfecionrii
n primul rnd a tehnologiilor din industria electronic i se
caracterizeaz prin urmtoarele aspecte importante:
- utilizarea masiv a circuitelor integrate pe scar foarte larg
(VLSI Verry Large Scale Integration) i n primul rnd a
microprocesoarelor care integreaz milioane de tranzistoare pe un
cip i care prezint timpi de comutaie de ordinul ns.;
- dezvoltarea de noi tipuri de memorii (MOS, magnetice,
holografice) i echipamente periferice orientate pe sesizarea primar
a datelor;
- interconectarea calculatoarelor n reele nsoit de
ntreptrunderea industriilor de calculatoare i de telecomunicaii;
- apariia i dezvoltarea mediilor de programare complexe cu
puternice faciliti grafice.
Odat cu generaia a IV-a calculatorul devine un instrument
individual de lucru, accesibil ca pre i cu performane care erau de
neimaginat pentru vechile generaii.
Primele calculatoare personale se vindeau sub form de kituri
(realizate n jurul microprocesorului 8080), fr nici un fel de
software. Mai trziu sistemul de operare CP/M3, orientat pe operarea
diskului flexibil care permitea comenzi de la tastatur a devenit
destul de rspndi pe sisteme cu 8080. Un alt calculator timpuriu a
fost Apple, i mai trziu Apple II, proiectate i realizate de Steve
Jobs i Steve Wozniak n celebrul lor garaj.
ntruct microprocesorul (P) a avut un cuvnt greu de spus n ceea
ce privete performanele generaiei a IV-a n continuare vor fi prezentate

Realizator Gary Kidall.

30.08.2012

13 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

cteva elemente referitoare la evoluia P produse de dou dintre cele mai


importante firme i anume Intel i Motorola.
n continuare, din considerente istorice, sunt menionate cteva repere
semnificative ale evoluiei microprocesoarelor din nfamilia Intel. Primul P
au fost 4004 pe 4 bii n 1971 i 8008 pe 8 bii n 1972. Acestea au fost
practic primele CPU (Central Processing Unit) realizate ntr-un singur
circuit integrat. Datorit succesului nregistrat au fost realizate noi tipuri de
P, referite n Tabelul 1.1.
Tabelul 1.1
Cip
4004
8008
8080
8086
8088
80286
80386
80486
Pentium
Pent. Pro
Pent. II

Data
4/1971
4/1972
4/1974
6/1978
6/1979
2/1982
10/1985
4/1989
3/1993
3/1995
5/1997

Mhz
0,108
0,108
2
5-10
5-8
8-12
16-33
25-100
60-233
150-200
233-400

Tranz.
2300
3500
6000
29000
29000
134000
275000
1200000
3100000
5500000
7500000

Mem.
640
16 KB
64 KB
1 MB
1 MB
16 MB
4 GB
4 GB
4 GB
4 GB
4 GB

Observaii
Primul P pe 4 bii
Primul P pe 8 bii
Prima UCP 8 bii pe un cip
Prima UCP 16 bii pe un cip
Folosit n IBM PC XT
Folosit n IBM PC AT
Prima UCP 32 bii pe un cip
Cache de 8KB ncorporat
Dou benzi de asamblare
Dou niveluri de cache
Pent. Pro + MMX

Firma IBM a utilizat P 8088 n primul calculator personal IBMPC/XT (eXtended Technology) iar 80286 n calculatoarele IBM-PC/AT
(Advanced Technology), care a devenit standard n industria
calculatoarelor personale. Setul de instruciuni cuprindea instruciunile
procesoarelor precedente la care au fost adugate altele mai performante,
asigurndu-se astfel compatibilitatea n jos.
Procesorul 80386 are att magistrala de date ct i registrele pe 32 bii
i un spaiu de adresare mult mai mare, pstrndu-se n continuare regula
compatibilitii n jos.
Procesorul 80486 este o mbuntire a lui 80386 n ce privete viteza,
datorit ncorporrii coprocesorului de virgul mobil, a controlorului de
memorie i a unei memorii cache de 8kB.
Pentium realizeaz trecerea la arhitectura superpipeline n condiiile
lungimii magistralei de date de 64 kB i a posibilitii de conectare a mai
multor P (maximum 4) ntr-un sistem.
Versiunea iniial a IBM PC era echipat cu sistemul de operare MSDOS produs de Microsoft Corporation, o companie mic pe vremea aceea.
30.08.2012

14 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

Pentru a rspunde versiunilor din ce n ce mai puternice de microprocesoare


realizate de Intel, Microsoft a lansat sistemul de operare OS/2 care avea o
interfa grafic similar cu cea de la Apple Macintosh. ntruct OS/2 nu sa impus, Miocrosoft a dezvoltat Windows care, n versiuni succesive, a
acaparat piaa. Astfel dou companii mici Intel i Microsoft au detronat
firma IBM, cu o ndelungat tradiie i mult mai multe resurse.
i n ceea ce privete calculatoarele de G4 sunt de notat realizri din
Romnia cum ar fi: M18, M18B, M118 (8080), Felix PC (8086), PRAE,
aMIC, HC85 (Z80).
Urmrind evoluia calculatoarelor realizate pn n prezent se desprind
dou trsturi comune importante:
- toate evolueaz n baza unui program memorat;

limbajul de programare este artificial.


Spre sfritul anilor 80 s-a ncercat o formulare a cerinelor pentru
generaia a V-a. Potrivit acestor cerine arhitectura de baz a unei maini de
G5 urma s cuprind urmtoarele elemente importante:
- o interfa inteligent care s permit dialogul pe baz de limbaj
natural (voce, sunete, imagini, informaie grafic);

maina pentru rezolvarea de probleme ( realizeaz raionamente


care s permit rezolvarea problemei fr cunoaterea prealabil a
algoritmului;

baza de cunotine cu un volum imens, n care cutarea s se fac


foarte rapid.
n Tabelul 1.2 se prezint sintetic un scurt istoric al dezvoltrii din
domeniul calculatoarelor, pn n anul 2000.
Tabelul 1.2
AN
0
1642
1834

NUME
1
B. Pascal
C. Babbage

1904
1906
1936

J. A. Flemming
Lee De Forest
K. Zuse

30.08.2012

SUBIECT
2
Prima main de calculat mecanic
Maina analitic de la Cambridge cu
instruciuni pe cartel perforat
Dioda
Trioda
Primul calculator cu relee - Berlin

15 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

1943
1944

Guv.
Britanic
cu
concursul lui A. Turing
H. Aiken

1946

J. Mauchly i J.P. Eckert

1948

J. Bardeen, W Shockley,
W. Brittain
N. Wiener

1948

Primul calculator electronic cu tuburi cu


vid COLOSSUS
Primul calculator AMERICAN MARK
1 (72 cuvinte a 23 cifre, ciclu main de 6
sec.) nceputul erei electronicii
Debutul generaiei I de calculatoare
ENIAC, Univ. Pennsylvenia (18.000
tuburi electronice, 1.500 relee., 600
comutatoare, 30 tone, 150 KW)
Tranzistorul
Cibernetica
Primul calculator cu program nregistrat,
EDSAC

1951

M. Wilkes, cu arhitectur
propus de J. Von
Neumann
MIT

1951

J. Mauchly i J.P. Eckert

Primul
calculator
UNIVAC

0
1952

1
John von Neumann

1955

Laboratoarele Lincoln

19561960
19601961

Firma IBM

2
Calculatorul IAS, Princeton, va rspndi
arhitectura de bat von Neumann
Primul calculator echipat cu tranzistoare
TX - 0
Calculatorul IBM 704 Circuite integrate

1961
1962

Firma IBM
Firma IBM

1963

Firma BORROUGHS

1964

Firma IBM

1949

Firma DEC

30.08.2012

Primul calculator
WHIRLWIND

timp

comercializat

real,

Primul minicalculator. PDP-1, practic


nceputul generaiei a doua de calculatoare
(tranzistorizate) i a miniinfomaticii
Maina de gestiune 140 I
Primul calculator
tiinific puternic (pe
36 de bii) IBM 7094
Calculatorul B 5000 primul calculator
dedicat unui limbaj de programare
ALGOL 60
Prima familie de calculatoare IBM 360;

16 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

1964
1965

Firma CDC
Firma DEC

1970

Firma DEC

firma IBM prima supremaie n


informatic; multiprogramare; nceputul
generaiei a treia (cu circuite integrate)
Primul calculator paralel - 6600
Primul calculator cu producie de mas
(pe 12 bii). PDP -8
Minicalculatorul PDP-11, firma DEC
preia supremaia n miniinformatic.
Circuite integrate pe scar larg

Firma INTEL

Primul microprocesor de 4 bii - 4004

Firma INTEL
Firma CRAY
Firma INTEL

Primul microprocesor de 8 bii 8008


Primul supercalculator CRAY-1
Microprocesorul 8080 prima unitate
central pe un cip

1978

Firma DEC

1979

Firma MOTOROLA

Primul superminicalculator de 32 biiVACS


Primul procesor al familiei 680x0 68000

1980

Firma IBM

1982
1983

Firma INTEL
SUA

nceputul generaiei a patra de


calculatoare (cu circuite VLS1); era
calculatoarelor personale, PC
Microprocesorul de 16 bii 80286
Tehnologia LAN )Local Area
Network) este folosit pe scar larg

1984
1985
1987

Firma MOTOROLA
Firma INTEL
Firma MOTOROLA

1989

Firma INTEL

1970
1971
1972
1974
1978

1990
1991
1992

Thinking Machines Co.


CM2 i CM5
Laboratorul
CERN
Geneva

30.08.2012

Primul microprocesor de 32 bii 68020


Microprocesorul de 32 bii 80386
Microprocesorul de 32 bii cu unitate de
gestiune a memoriei 68030
Microprocesorul de l32 bii cu coprocesor
i memorie cache - 80486
nceputul generaiei a cincea de
calculatoare (preluare masiv paralel)
Serviciul de informaii www (World Wide
Web) oferit pe Internet

17 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

1993

Firma INTEL

1995
1996

Firma Sun
Microsystems
Firma CYRIX

1997
1998
1998
1999
0
1999
2000

Firma AMD
Firma AMD
Firma INTEL
Firma INTEL
1
Firma AMD
Firma AMD

30.08.2012

Microprocesorul cu structur superscalar


Pentium
Tehnologia JAVA asigur interactivitatea
serviciului www
Microprocesorul n arhitectur superpipe
/line/ 6x86 P200+
Microprocesoarele RISC K5, K6
Microprocesorul K6-2 3D
Microprocesorul Mendocino 333/MHz
Microprocesorul Pentium III/600MHz
2
Microprocesorul Athlon/K7
Microprocesorul Sharptooth/K6-3

18 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

1.1.3. Fore tehnologice i economice


Dup cum s-a mai artat evoluia nici unei alte ramuri industriale
nu este att de rapid ca cea din industria calculatoarelor. Rata progresului
tehnologic n domeniu poate fi modelat cu ajutorul unei observaii numit
legea lui Moore (Moores Law) descoperit n 1965 de ctre Gordon
Moore co-fondator i preedinte al firmei Intel. Referindu-se la memorii
Moore a observat c fiecare nou generaie aprea la 3 ani distan de
precedenta. Cum fiecare nou generaie avea o capacitate de patru ori mai
mare dect predecesoarea, el a realizat c numrul ce tranzistoare pe cip
cretea n ritm constant i a prezis c aceast cretere va continua i n
deceniile urmtoare4. Uzual legea lui Moore este cunoscut ca dublarea
numrului de tranzistoare pe chip la fiecare 18 luni. Pentru exemplificare
n figura 1.4 se prezint un grafic (scar semilogaritmic) asociat legii lui
Moore pentru perioada 1965-1995.
100000000

16 M

64 M

10000000
1M

4M

1000000
64 K

256 K

100000
4K
Tranzistoare

10000
1000

16 K

1K

100
10

1
1965
1970
1975
1980
1985
1990
1995
Fig. 1.4. Legea lui Moore pentru memorii (cretere anual cu 60 % a numrului de
tranzistoare pe cip.
4

Se apreciaz c legea va fi valabil pn ctre anul 2020 cnd tranzistoarele n


accepiunea curent vor fi alctuite din prea puini atomi pentru ca s prezinte
siguran n funcionare.

30.08.2012

19 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

Chiar dac legea lui Moore a fost asociat mult timp cu numrul
de bii dintr-un cip de memorie, aceasta poate fi aplicat la fel de bine i
pentru numrul de tranzistoare integrat pe un microprocesor. Pentru
edificare n figura 1.5 se prezint evoluia acestui numr pentru o parte din
microprocesoarele familiei Intel.
Pentium II
10000000

Pentium
Pentium Pro

1000000
80386
80486

100000

8088
8080

10000
Tranzistoare

4004
1000

80286
8086

8008

100
10
1
1970 72 74 76 78 80 82 84 86 88

90 92 94 96 98 2000

Fig. 1.5. Legea lui Moore pentru cipurile UCP (microprocesoare).

Legea lui Moore a creat ceea ce unii economiti numesc cerc


virtuos (virtous circle), care succint se prezint astfel:
- progresele tehnologice (nr. tr. / cip) conduc la produse mai bune i
mai ieftine;
- preurile mici determin noi aplicaii (nimeni nu i-a pus problema
s dezvolte jocuri pentru calculatoare care costau milioane de
USD);
- noile aplicaii duc la noi piee i apar noi companii care s profite
de ele;
- aceste companii se concureaz (determin o competiie);
- aceast competiie determin o cerere de tehnologii performante
astfel nct s-i elimine pe ceilali (cerc complet)

30.08.2012

20 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

Tot n sfera acestor consideraii de natur tehnologic i


economic este cazul s amintim prima lege a software-lui a lui Nathan5.
Conform acestei legi software-ul se comport ca un gaz, n sensul c i
crete volumul pentru a ocupa tot spaiul care i se pune la dispoziie.
Software-ul continund n permanen s acumuleze opiuni, creeaz o
nevoie constant de procesoare mai rapide, memorii mai mari i capaciti
de I/E sporite.
Legat de evoluia calculatoarelor o meniune special trebuie
fcut n ceea ce privete telecomunicaiile, creterea exponenial a
Internet-ului fiind o consecin imediat.
1.2. Modaliti de reprezentare a calculatoarelor
1.2.1. Maina von Neumann
Un important volum al calculatoarelor calculatoarelor realizate
pn n prezent se bazeaz pe arhitectura propus de von Neumann, care
dup cum s-a menionat a fcut parte din echipele de realizare a primelor
calculatoare.
ntr-un articol publicat n 1947 von Neumann, e expus principiile
de realizare a unui calculator numeric. Conform acestor principii un CN
trebuie s posede urmtoarele elemente:
- un mediu de intrare prin intermediul cruia s poat fi introdus
un numr practic nelimitat de date i de instruciuni;
- o memorie unde s fie depui operanzii i instruciunile (n
aceiai form) i de unde rezultatele s poat fi preluate n ordinea
dorit;
- o seciune de calcul care s fie capabil s execute operaii
aritmetice i logice asupra datelor din memorie;
- un mediu de ieire prin intermediul cruia s poat fi comunicat
utilizatorului un numr practic nelimitat de rezultate;
- unitate de comand capabil s interpreteze instruciunile citite
din memorie i pe baza informaiilor furnizate de ctre seciunea de
calcul s fie capabil s decid ntre mai multe variante de
desfurare a operaiilor.
5

Nathan Myhrvold director la Microsoft.

30.08.2012

21 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

Pe baza acestor cerine poate fi realizat modelul funcional al unui


CN , model ilustrat n figura 1.6.
Unitatea de
control

Memoria
Unitate logic
i aritmetic

Dispozitiv
de intrare

Acumulator

Dispozitiv
de ieire

Fig. 1.6. Modelul funcional al mainii lui John von Neumann.

La nivelul unui CN sunt evideniate dou fluxuri care


interacioneaz i anume: fluxul de instruciuni i fluxul de date.
Calculatoarele realizate conform principiilor von Neumann se numesc
convenionale i sunt controlate de fluxul de instruciuni6.
n general un calculator poate fi investigat din punct de vedere
funcional sau structural. n cele ce urmeaz se vor face referiri la cele
dou modaliti de reprezentare.
1.2.2. Reprezentarea funcional
Din punct de vedere funcional un calculator se poate prezenta n
forma general prin tripletul
(1.1)

I , E, C

n care I este mulimea intrrilor;


E mulimea ieirilor;
C - o submulime a produselor carteziene ntre elementele
mulimii I i cele ale mulimii E respectiv C I x E 7.

n prezent se studiaz realizarea a noi tipuri de calculatoare neconvenionale


controlate fluxul de date sau fluxul de cereri. n primul caz sunt amorsate, la un
moment dat toate operaiile din program pentru care sunt disponibile datele
implicate. n al doilea caz necesitatea unui rezultat activeaz toate operaiile de
calcul asociate.
7
Practic C realizeaz aplicaii din mulimea intrrilor I n mulimea ieirilor E.

30.08.2012

22 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

n contextul, reprezentrii funcionale se definete arhitectura unui


calculator numeric prin cuadruplul
A PI , PE , RG , I

(1.2)

unde PI PI 0,..., PIi este mulimea porturilor de intrare;

PE PE 0,..., PEj - mulimea porturilor de ieire;


RG RG0,..., RGk - mulimea registrelor generale din
unitatea de execuie;
I I 0,..., Il

- setul instruciunilorcalculatorului.

Porturile de intrare i de ieire sunt utilizate pentru schimbul de


date cu lumea nconjurtoare, prin inermediul echipamentelor periferice. n
ceea ce privete registrele acestea sunt utilizate pentru stocarea diferitelor
variabile de stare.
Un prim exemplu de arhitectur ilustrat n figura 1.7, se refer la
microprocesorul pe 8 bii 8080,
7

0
PI0
.
PI255
PE0
.
PE255

0
F
A
B
D
H

0
C
E
L

SP
PC

15
0
Fig. 1.7. Registrele microprocesorului Intel 8080.

n ceea ce privete porturile, microprocesorul are 256 porturi


de intrare pe 8 bii (PI0PI255) i tot attea de ieire (PE0PE255).
Registrele sunt reprezentate de registre
specializate dup cum urmeaz:

generale i

A este registrul acumulator principal utilizat de majoritatea


instruciunilor aritmetice i logice;

30.08.2012

23 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

B, C, D, E, H, L sunt registre de uz general, care pot fi


utilizate ca registre de 8 bii sau alipite (concaternate) dou cte
dou ca registre de 16 bii;
F este registrul indicatorilor de condiii furnizai de unitatea
de execuie dup fiecare operaie;
SP este indicatorul de stiv, care permite accesul la structura
LIFO de tip stiv organizat n memoria calculatorului;
PC este contorul de program care conine adresa instruciunii
care urmeaz s se execute, permind astfel adresarea
instruciunilor n memorie.

Repertoriul de instruciuni
al microprocesorului 8080
cuprinde 78 instruciuni de baz pe 1, 2 sau 3 octei.

n ncheierea acestei scurte prezenri arhitecturale cteva precizri


care privesc structura registrului indicatorilor de copndiii F. Aceste are
dimensiunea de 7 bii i conine urmtorii indicatori a cror dipunere este
ilustrat n figura 1.8:
- S indicator pentru semnul rezultatului;
- Z indicator pentru rezultat zero;
- AC indicator pentru transportul ntre tetradele octetului
rezultat;
- P indicator privind paritatea numrului der bii 1 din rezultat;
- CY indicator de transport n afara bitului de semn al
rezultatului.
7

- AC -

- CY

Fig. 1.8. Structura registrului indicatorilor de condiii la microprocesorul 8080.

Al doilea exemplu are n vedere arhitectura microprocesorului


8086, care a fost primul microprocesor cu lungimea cuvntului de date de
16 bii i care putea adresa 1 MB de memorie (cuvnt de adres de 20 de
bii).

Microprocesorul 8086 poate adresa 2x65536 porturi pe un


octet sau 2x32768 porturi pe cte 16 bii potrivit reprezentrii din figura
1.9.

30.08.2012

24 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

15

PI0
.
.
PI65535

PI0
.
.
PI32767

PE0
.
.
PE65535
7
0

PE0
.
.
PE32767
15

Fig. 1.9. Spaiul porturilor microprocesorului 8086: PI porturi de


intrare; PE porturi de ieire.
8 7

Grupul
Registrelor de
Segment

Grupul Registrelor
Generale

15
AX:
BX:
CX:
DX:

AH
BH
CH
DH

0
Registru Acumulator
Registru Baz
Registru Contor
Registru Date

AL
BL
CL
DL

15

0
Registru Indicator de Stiv
Registru Indicator al Bazei
Registru Indicator al Sursei
Registru Indicator al Destinaiei

SP
BP
SI
DI
15

0
CS
SS
DS
ES

15

Registrul Segmentului de Cod


Registrul Segmentului de Stiv
Registrul Segmentului de Date
Registrul Segmentului Suplimentar
0

IP
15

Registru Indicator de Instruciune

0
FR

Registrul Fanioanelor

Fig. 1.10. Registrele microprocesorului 8086.

30.08.2012

25 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

Mulimea registrelor conine patru grupuri i anume:


grupul registrelor generale;
grupul registrelor de segment;
registrul indicator de instruciune;
registrul fanioanelor,
a cror componen este ilustrat n figura 1.10.

n ceea ce privete registrul fanioanelor acesta are structura


prezentat n figura 1.11.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- - - - O D I T S Z - A - P - C
Fig. 1.11. Structura registrului fanioanelor microprocesorului 8086: O depire
aritmetic; D direcia de explorare a irurilor; I activare/dezactivare ntreruperi;
T capcana pentru lucrul pas cu pas; S semn; Z zero; A transport auxiliar;
P paritate; C transport.

1.2.3. Reprezentarea structural


Ideea de baz a reprezentrii structurate are n vedere faptul c un
calculator reprezint un sistem realizat din componente (primitive)
funcionale. Interconectarea componentelor este astfel realizat nct
permite calculatorului executarea operaiilor specifice de prelucrare a
informaiei.
Din punct de vedere structural sistemul de calcul poate fi divizat
n:
unitatea de intrare (UI);
unitatea central (UCe);
unitatea de ieire (UE),
interconectate ca n figura 1.12.
I

E
UI

UCe

UE

Fig. 1.12. Unitile structurale principale ale unui calculator numeric.

30.08.2012

26 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

UI i UE permit conectarea sistemului la echipamentele


periferice primare, care ndeplinesc roluri de traductoare i elemente de
execuie. Aceast asociere este dictat de faptul c pe intrri se preia
informaie din mediul extern, iar pe ieiri se intervine asupra mediului
extern.
UCe asigur execuia programului i stocarea codului
(programului) .
nelegerea funcionrii unui sistem complex cum este calculatorul
implic o cretere a nivelului de detaliere ilustrat n figura 1.12. Se observ
c pe lng evideniera prilor componente ale celor trei uniti structurale
de baz sunt prezente i liniile de semnal ntre module.
Astfel la nivelul unitilor UI i UE pot fi ntlnite urmtoarele
entiti:
- subsistemul de intrare SI;
- subsistemul de ieire SE;
- echipamentele periferce de intrare EPI;
- echipamentele periferce de ieire EPE.
UCe
EPI
Date/
Instr

SI

SE

UM

UI

EPE
UE

Rez

Instruciuni

Date

UE

UC

Rezultate

Comenzi

Condiii
Comenzi

Fig. 1.12. Detalierea unitilor structurale principale ale unui calculator numeric.

EPI au rolul de a prelua datele de intrare (eventual stocate pe


anumite suporturi) i de a le aduce la forma acceptat de SI (ca natur
fizic, format de reprezentare etc.). EPE preiau datele prelucrate (sub forma
rezultatelor) i le aduc la o form accesibil utilizatorilor sau le transpun pe
un anumit suport fizic.
La nivelul UCe se disting urmtoarele elemente funcionale:

30.08.2012

27 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

- unitatea de memorie UM;


- unitatea de execuie UE;
- unitatea de comand UC.
Unitatea de memorie stocheaz datele iniiale, codul
(programul), rezultatele iniiale i finale. UM are o organizare liniar, care
const const n locaii (celule) al cror coninut poate fi referit prin
specificarea unei adrese, potrivit reprezentrii din figura 1.13.
Bii cuvnt memorie
(n-1)

Fig. 1.13. Organizarea liniar a


memoriei unui CN.

Locaia 0
Locaia 1

Bii adres
(m-1)

Adresa i
Registrul de adrese

Locaia i
Locaia 2m-1

Din figura 1.13 rezult c prin intermediul unui cuvnt de adres de m bii
pot fi accesate 2m locaii de memorie, numerotate ntre 0 i 2m-1.

Unitatea de execuie realizeaz sub controlul UC o succesiune


de operaii aritmetice i logice asupra datelor preluate din UM sau memoria
local proprie. UE este implementat sub forma unor registre generale RG..
Dup fiecare operaie UE actualizeaz valorile unor indicatori de
condiie, care reflect caracteristicile rezultatului curent (<0, >0, =0,
paritate, transport, depirea, etc.).

Unitatea de comand proceseaz fluxul de instruciuni care


constituie programul. Aceasta furnizeaz semnale de coordonare pentru
celelalte uniti n conformitate cu cerinele programului. UC se poate
implementa sub form convenional (ca automat secvenial) sau n form
microprogramat (cu stocarea semnalelor de comand n manier static
ntr-o memorie rapid).
Sintetiznd se poate observa c:
ansamblul UE+UC=P (Procesor sau Unitate Central de
Prelucrare UCP sau CPU);

- ansamblul P+M=UCe (Unitate Central);


30.08.2012

28 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

- ansamblul UCe+SI+SE+Software=Sistem de calcul.


n ceea ce privete instruciunile care opereaz asupra datelor,
acestea se mpart n dou categorii:
- instruciuni operaionale de transfer, inclusiv instruciunile
de I/E;
- instruciuni cu caracter de decizie, care modific secvena
de execuie a programului condiionat sau nu.
Instruciunile operaionale conin mai multe cmpuri, dintre care
primul este codul operaiei COP aa cum rezult i din figura 1.14.
COP

ADRESA

COP ADRESA1 ADRESA2

COP ADRESA1 ADRESA2 ADRESA3

Fig. 1.14. Structuri de instruciuni: a- cu o adrese; b-cu dou adrese;


c-cu trei adrese.

n primul caz instruciunea conine adresa unui singur operand, cel


de-al doilea (n cazul operaiilor care implic doi operanzi) fiind deja adus
n UE, unde rmne n mod obinuit i rezultatul.
n cazul al doilea sunt prezente adresele celor doi operanzi (surs i
destinaie) rezultatul fiind de regul transmis la adresa operandului
destinaie.
Cmpul Adresa 3 n al treilea caz poate conine adresa la care se
depune rezultatul.
1.3. Clasificri arhitecturale
n cele ce urmeaz vor fi abordate dou criterii de clasificare i
anume:
- dup mecanismul de control al execuiei;
- dup organizarea spaiului de adresare a memoriei.

30.08.2012

29 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

1.3.1. Clasificarea dup controlul execuiei


Funcionarea oricrui calculator presupune existena a dou fluxuri
care interacioneaz i anume : fluxul de instruciuni i fluxul de date.
Fluxul de instruciuni expresia programat a unui algoritm indic ce
anume trebuie s execute calculatorul la fiecare pas. Fluxul datelor
(reprezentnd datele de intrare n algoritm) este procesat de instruciuni n
vederea obinerii rezultatelor.
Dup natura acestor fluxuri (unice sau multiple) pot fi identificate
patru clase de calculatoare i anume:
Calculatoare cu fluxuri unice de date i de instruciuni ( Single
Instruction Stream, Single Data Stream SISD);
Calculatoare cu fluxuri multiple de instruciuni i flux unic de
date ( Multiple Instruction Stream, Single Data Stream
MISD);
Calculatoare cu flux unic instruciuni i fluxuri multiple de date
( Single Instruction Stream, Multiple Data Stream SIMD);
Calculatoare cu fluxuri multiple de instruciuni i fluxuri
multiple de date (Multiple Instruction Stream, Multiple Data
Stream MIMD);
Clasificarea de mai sus, introdus de Michael Flinn n anul 1972 i
are n vedere mecanismul de control al execuiei. n arhitecturile cu un unic
flux de instruciuni, o singur unitate de control lanseaz instruciuni ctre
toate unitile procesare (execuie). n cazul arhitecturilor cu mai multe
fluxuri de instruciuni, unitile de procesare lucreaz independent sub
controlul unui flux de instruciuni propriu.
1.3.1.1.

Calculatoare SISD

Un calculator din aceast clas este caracterizat de un singur flux


de instruciuni FI pe care unitatea de procesare (execuie) l primete de la
unitatea de control (comand), dup cum se poate vedea n figura 1.15.
FD

FI

UC

UP

UM

Fig. 1.15. Calculator SISD: UC Unitate de Comand (Control);


UP Unitate de Procesare (Execuie); UM Unitate de Memorie;
FI Flux de Instruciuni; FD Flux de Date.

30.08.2012

30 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

La fiecare pas UC lanseaz o instruciune care opereaz asupra unei


date din fluxul de date FD obinut din unitatea de memorie UM. Un astfel
de calculator este un calculator pur secvenial care respect modelul von
Neumann. De exemplu pentru calculul sumei a n numere UC acceseaz UM
de n ori consecutiv i de fiecare dat primete un numr, efectundu-se n-1
adunri
Principalul neajuns al acestei arhitecturi const n viteza de
procesare care la rndul ei este determinat de frecvena ceasului. Este
evident c nici o realizare tehnologic nu va putea face perioada ceasului
nul. n consecin modul strict secvenial de tratare a operaiilor impus de
arhitectura von Neumann plafoneaz la un moment dat viteza de procesare.
Aceast situaie este cunoscut sub numele gtul sticlei lui Neumann
(Neumann Bottleneck). Spargerea acestei limitri se realizeaz prin
introducerea arhitecturilor de tip neserial (respectiv arhitecturile paralele).
1.3.1.2. Calculatoare MISD
La aceste tipuri de calculatoare, pentru care n figura 1.16 se
prezint o structur de principiu, mai multe uniti de procesare , fiecare cu
propria unitate de comand UC, primesc un unic flux de date de la unitatea
de memorie UM. La fiecare pas, asupra unei date primite din memorie sunt
executate operaii diferite de ctre toate procesoarele simultan, n funcie de
instruciunea primit de la propria unitate de control.
Paralelismul structurii MISD este dictat de faptul c fiecare UP
execut operaii diferite la acelai moment de timp, aspect evideniat i de
exemplele de mai jos.
Exemplul 1.1.
Se cere s se determine dac un numr natural z are i ali divizori
n afara celor improprii, respectiv unu i numrul nsui.
Soluia secvenial const n testarea repetat a divizibilitii cu
toi divizorii posibili. Problema poate fi rezolvat ntr-un singur pas cu o
arhitectur MISD care conine un numr de procesoare egal cu numrul de
divizori poteniali ai numrului z. Toate UP primesc z ca dat de intrare,
ncearc divizibilitatea cu divizorul asignat i memoreaz rezultatul obinut.
Se poate determina astfel ntr-un singur pas dac z este numr prim. Avnd
n vedere este greu de realizat cte un calculator pentru fiecare numr, o

30.08.2012

31 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

abordare mai realist presupune un numr fix de procesoare, care poate fi


mai mic dect numrul de divizori poteniali. n aceste condiii unei UP i
revine misiunea de a trata (n manier secvenial) o submulime de
divizori. Cu toate c nu este o procesare pur paralel, timpul de obinere a
rezultatului este inferior timpului n care problema s-ar rezolva pe o
arhitectur SISD.
FI0

UP0

UC0
FI1

FD

UM

UP1

UC1

.
.
.

.
.
.
FIN-1

UPN-1

UCN-1

Fig. 1.16. Calculator MISD: UC0 UCN-1 Uniti de Comand (Control);


UP0 UPN-1 Uniti de Procesare (Execuie); UM Unitate de Memorie;
FI0 FIN-1 Fluxuri de Instruciuni; FD Flux de Date.

Exemplul 1.2.
Se presupune existena mai multor clase de obiecte Ci cu
proprieti comune. S se clasifice un obiect z, respectiv s se determine
clasa de apartenen a acestuia.
Ca i n exemplul precedent, soluia secvenial const n testarea
repetat a ncadrrii obiectului n toate clasele posibile. Rezolvarea
eficient a problemei se poate pe o arhitectur MISD care conine un
numr de procesoare egal cu numrul de clase posibile. Toate UP primesc
obiectul z ca intrare, i testeaz simultan apartenena acesteia la clasa
specific fiecrei UP. Se poate determina astfel ntr-un singur pas clasa Ci
n care poate fi ncadrat obiectul z. Dac numrul de procesoare este
inferior celui al claselor Ci atunci se asociaz fiecruia o submulime de
clase pentru care se efectueaz secvenial testule de apartenen. Cu toate
c nu este o procesare pur paralel, timpul de obinere a rezultatului este
inferior timpului n care problema s-ar rezolva pe o arhitectur SISD.

30.08.2012

32 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

1.3.1.3.

Calculatoare SIMD

Dup cum se observ din figura 1.17 un calculator din aceast


clas const dintr-un numr N de UP care proceseaz un flux unic de

instruciuni FI lansat de o unic UC.


FD0

UP0
FD1

UP1
FI

UC

.
.
.

.
.
.

Memorie
partajat
i /sau
Reea de
interconec
tare

FDN-1

UPN-1
Fig. 1.17. Calculator SIMD: UC Unitate de Comand (Control);
UP0 UPN-1 Uniti de Procesare (Execuie);
FD

FDN-1 Fluxuri de Date; FI Flux de Instruciuni.


0
Fiecare

Fiecare UP care posed cte o UAL, UC i UM locale lucreaz


sincron n sensul c la fiecare pas execut aceiai instruciune asupra unei
date diferite din fluxuri de date multiple8. Rezolvarea problemelor pe un
astfel de calculator presupune transferul de date i rezultate intermediare
ntre procesoarele componente. Aceste comunicaii se realizeaz prin
intermediul unei reele de interconectare sau printr-o memorie partajat i
reea de interconectare.
O caracteristic important a calculatoarelor SIMD este aceea c
presupun o sincronizare automat ntre procesoare la fiecare ciclu
instruciune. Din acest motiv aceste calculatoare sunt utile pentru execuia
programelor paralele care necesit sincronizri frecvente i mai puin
recomandate pentru programele care necesit decizii frecvente, dup cum
rezult din exemplul 1.3.
8

Pe baza acestor considerente calculatoarele SIMD mai sunt cunoscute i sub


denumirea de tablouri de procesoare (processor arrays).

30.08.2012

33 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

Exemplul 1.3.
Instruciunea de decizie
if (b==0)
c=a;
else
c=a/b;
este executat n doi pai. n primul pas toate procesoarele care au
b==0 execut instruciunea c=a iar toate celelalte sunt inactive. n al
doilea pas, partea else a instruciunii este executat de toate procesoarele
care au b0, iar toate procesoarele care au fost inactive la primul pas devin
acum inactive.
Avnd n vedere aceast observaie, inclusiv exemplul de mai sus,
se poate concluziona c sistemele SIMD sunt eficiente pentru execuia
programelor care implic operaii asupra unor masive de date, respectiv a
programelor data-paralele.
1.3.1.4. Calculatoare MIMD
Calculatoarele MIMD sunt calculatoare paralele la care un
procesor poate executa un program diferit de programele executate de
celelalte procesoare. Dup cum reiese din figura 1.18, un asemenea
calculator const din mai multe procesoare (UP) fiecare cu propria unitate
de control (UC) i partiie de memorie.
UC0

UC1

FI0

FI0

.
.
.
UCN-1

FD0

UP0
FD0

UP1

.
.
.
FI0

.
.
.

Memorie
partajat
i /sau
Reea de
interconec
tare

FD0

UPN-1

Fig. 1.18. Calculator MIMD: UC0 UCN-1 Uniti de Comand (Control);


UP0 UPN-1 Uniti de Procesare (Execuie); FD0 FDN-1 Fluxuri de
Date; FI0 FIN-1 Fluxuri de Instruciuni.

30.08.2012

34 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

Dup cum se observ din figura 1.18 fiecare procesor opereaz


sub controlul unui flux de instruciuni lansat de propria unitate de control
asupra unui propriu flux de date. Ca i n cazul unui calculator SIMD,
comunicaia se poate realiza printr-o reea de interconectare sau printr-o
memorie partajat i reea de interconectare.
UP individuale aferente unui calculator MIMD sunt de o
complexitate superioar celor aferente unui calculator SIMD deoarece
posed cte o unitate de control proprie. n condiiile acestei complexiti
costul lor este mai sczut deoarece sunt procesoare de uz general spre
deosebire de cele aferente calculatoarelor SIMD care sunt proiectate
special.
n continuare se prezint un exemplu edificator pentru marea
flexibilitate n execuie a calculatoarelor MIMD.
Exemplul 1.4.
Fie programul unui joc de strategie (exemplu ahul) care
genereaz un arbore de decizie (game tree). Rdcina arborelui este
configuraia curent a jocului (respectiv poziia pe tabl), de la care
programul trebuie s execute o mutare. Poziiile obinute prin fiecare
mutare posibil constituie fiii rdcinii i n acelai timp nodurile
urmtorului nivel. Aceast ierarhie continu pn la un numr predefinit de
nivele.
Fiecrui nod frunz al acestui arbore i se asociaz o valoare de
optimalitate, programul trebuind s determine calea care conduce ctre cea
mai bun poziie, considernd c partenerul joac perfect.
Avnd n vedere c din fiecare poziie sunt posibile mai multe
micri, arborii de decizie tind s devin foarte mari i de aceea sunt
generai pe msur ce se caut soluia pentru o poziie dat. Explorarea
acestor arbori se face printr-un algoritm de cutare n adncime (depth-first
search), cu excluderea (cut-off) acelor ci despre care se cunoate c nu pot
conduce ctre o soluie mai bun dect cele deja explorate.
Modalitatea de implementare a unui astfel de program pe un
calculator MIMD, const n distribuirea subarborilor rdcinii procesoarelor
componente, care le exploreaz n paralel. n cursul cutrii procesoarele
pot interschimba ntre ele subarbori de cutare , astfel nct un procesor
care a terminat propriul sbarbore s nu rmn inactiv, ci s primeasc de la

30.08.2012

35 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

un altul o parte a subarborelui acestuia. Problema nu poate fi rezolvat pe


un calculator SIMD deoarece la fiecare pas de execuie instruciunile pot
diferi de la un procesor la altul 9.
1.3.2. Clasificarea dup organizarea spaiului de adres
Rezolvarea unei probleme pe un sistem cu mai multe procesoare
presupune comunicaia ntre acestea. Dup modul n care se realizeaz
comunicarea exist urmtoarele categorii de arhitecturi paralele:
arhitecturi cu spaiul de adres al memoriei partajat;
arhitecturi cu transfer de mesaje.

1.3.2.1. Arhitecturi cu spaiul de adres al memoriei partajat


Aceste arhitecturi cunoscute ca Shared Address Space
Architectures - SASA asigur suport hardware de citire i scriere al tuturor
procesoarelor la o singur memorie partajat. Calculatoarele MIMD care se
ncadreaz n aceast categorie ca multiprocesoare (multiprocessors).
Avnd n vedere gradul avansat de partajare a resurselor acestea sunt
considerate sisteme puternic cuplate (tightly coupled systems). Exist mai
multe modele de SASA i anume:
-

UMA Uniform Memory Access;

NUMA Nonuniform Memory Access;

COMA Cache Only Memory Access,

asupra crora se vor face n continuare referiri succinte.

Modelul cu acces uniform la memorie (UMA)

n cadrul modelului UMA memoria fizic este mprit uniform


de toate procesoarele, care au timp de acces egal la toate cuvintele din
memoria partajat figura 1.19.

De exemplu n timp ce un procesor evalueaz un nod frunz, un al doilea poate s


execute excludere a unei ci, al treilea poate efectua revenirea la un arbore pentru
cutarea unei noi ci, etc.

30.08.2012

36 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

UP0

UP1

....

UPN-1

Reea de interconectare

MP0

MP1

....

MPN-1

Fig. 1.19. Modelul UMA de SASA : UP0 UPN-1 Procesoare;


MP0 MPN-1 Memorie partajat.

Un neajuns important al modelului UMA este acela c banda de


comunicaie a reelei de interconectare trebuie s fie foarte mare deoarece
n fiecare ciclu instruciune, fiecare procesor poate solicita accesul la o
locaie din memoria partajat prin intermediul acestei reele.
Aceast complexitate poate determina o cretere a timpului de
acces l memorie, ntruct se pot ivi situaii n care datele s traverseze mai
multe nivele ale reelei de interconectare.

Modelul cu acces neuniform la memorie (NUMA)

La un asemenea model timpul de acces variaz n funcie de


localizarea cuvntului n memorie.
O prim variant a modelului NUMA, reprezentat n figura 1.20,
este cea n care fiecare procesor UPi are o memorie local MLi n care sunt
memorate programele i datele locale ale fiecrui procesor. n afara
nivelului memoriilor locale mai exist cel memoriei globale format din
modulele MGPi. n aceste memorii sunt memorate datele partajate
accesibile tuturor procesoarelor prin intermediul unei reele de
interconectare.

30.08.2012

37 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

UP0

ML0

UP1

ML1

UPN-1

MLN-1

...
Reea de interconectare

...

MGP1

MGP0

MGPN-1

Fig. 1.20. Modelul NUMA de SASA : UP0 UPN-1 Procesoare;


MGP0 MGPN-1 Memorie global partajat; ML0 MLN-1 Memorie local
nepartajat;

O a doua variant de model NUMA , ilustrat n figura 1.21, este


cea n care memoria este distribuit fizic sub forma modulelor de memorie
partajat (MPDi). Din punct de vedere logic ns mulimea tuturor acestor
procesoare formeaz un spaiu de adrese unic accesat de toate procesoarele.
Timpul de acces la memorie este neuniform deoarece timpul de acces la
propria memorie este inferior timpului de acces la memoriile aferente altor
noduri datorit timpilor suplimentari necesari traversrii reelei de
interconectare.
UP0

MPD0

UP1

MPD1

UPN-1

MPDN-1

...
Reea de interconectare
Fig. 1.21. Modelul NUMA de SASA : UP0 UPN-1 Procesoare;
MPD0 MPDN-1 Memorie partajat distribuit.

30.08.2012

38 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

Modelul cu acces partajat prin memoria cache (COMA)

La acest model, memoria ataat fiecrui procesor este un modul


de memorie cache, dispus ca n figura 1.22. Toate aceste module formeaz
mpreun un spaiu global adresabil de ctre toate procesoarele.
Accesul la un modul de memorie cache (MCi) nelocal (respectiv
care este conectat nemijlocit la un alt procesor) necesit un bloc director
BDi care menine consistena datelor din memoria cache. Noiunea de
director este utilizat aici n sens de catalog al datelor socate n cache.

Reea de interconectare

BD0

BD1

MC0

MC1

UP0

UP1

BDN-1

...

MCN-1

UPN-1

Fig. 1.22. Modelul COMA de SASA : UP0 UPN-1 Procesoare; MC0 MCN-1
Memorii cache locale; BD0 BDN-1 Blocuri Director.

1.3.2.2. Arhitecturi cu transfer de mesaje


n arhitecturile cu transfer de mesaje Messages Passing
Architecture MPA procesoarele sunt cuplate printr-o reea de
interconectare. Dup cum se observ din figura 1.23 fiecare procesor Upi
are o memorie local MLi , la care ns are acces numai respectivul
procesor.

30.08.2012

39 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

Reea de interconectare

UP0

UP1
ML0

....
ML1

UPN-1
MLN-1

Fig. 1.23. Arhitectura cu transfer de mesaje: UP0 UPN-1 Procesoare;


ML0 MLN-1 Memorii locale.

Procesoarele pot interaciona numai prin intermediul mesajelor


transferate prin reeaua de interconectare. Datorit acestei organizri
aceast arhitectur este cunoscut ca o arhitectur cu memorie distribuit i
spaii multiple de adres. Un calculator MIMD orientat pe comunicare prin
transfer de mesaje este denumit multicalculator (multicomputer). Datorit
existenei memoriilor locale multicalculatoarele sunt considerate sisteme
slab cuplate (loosely coupled systems) deoarece resursele sunt partajate
ntr-o msur redus.
Abordrile anterioare permit o clasificare a calculatoarelor MIMD
ca fiind cele mai expresive sisteme cu procesare paralel, clasificare
ilustrat n figura 1.24.
Pot fi identificate patru subclase arhitecturale dac se au n vedere:
-

modul de organizare a spaiului de adres al memoriei (spaiu de


adres unic, partajat al memoriei sau spaii multiple de adres);

modul de amplasare fizic a memoriei (centralizat sau distribuit).

Dintre cele patru subclase, cea a multicalculatoarelor cu cu


memorie centralizat, nu poate fi acoperit deocamdat cu un sistem
realizat fizic.

30.08.2012

40 / 41

CALCULATOARE NUMERICE: Capitolul 1 - Structuri i arhitecturi de calculatoare numerice

Calculatoare MIMD

Multiprocesoare
Spaiu unic de
adres a memoriei

Multiprocesoare
cu memorie
partajat
centralizat
(UMA)

Multiprocesoare
cu memorie
partajat
distribuit
(NUMA)

Multicalculatoare
Spaii multiple de adres a
memoriei i transfer de mesaje

Multicalculatoare
cu memorie
centralizat
(?)

Multicalculatoare
cu memorie
distribuit

Fig. 1.24. Clasificarea calculatoarelor MIMD.

Referitor la calculatoarele paralele se ntlnesc mai multe


clasificri, termeni i definiii destul de diferite funcie de autori sau de
momentul cnd au fost propuse.
S. Akl atribuie denumirea de sistem distribuit (distributed system)
unui calculator paralel MIMD cu memorie distribuit n care exist i o
distribuie fizic a unitilor acestuia.
Dup Tanenbaum un sistem distribuit reprezint o colecie de
calculatoare independente, care apar utilizatorului ca un singur calculator.
Conform aceluiai autor, n categoria multicalculatoarelor cu memorie
distribuit sunt incluse i reelele locale (LAN Local Area Network.
Din cele expuse rezult c este dificil de fcut o separaie ntre
sistem distribuit i sistem paralel. Totui se poate spune c un calculator
paralel este utilizat pentru rezolvarea unei singure aplicaii ntr-un timp
mai scurt (datorit multiplicrii resurselor) iar un sistem distribuit poate fi
accesat i folosit de ctre mai muli utilizatori simultan.

30.08.2012

41 / 41

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

2.

BAZELE ARITMETICE ALE CALCULATOARELOR


NUMERICE

2.1. Introducere
2.2. Sisteme de numeraie, conversii i operaii
2.2.1. Sisteme de numeraie
2.2.2. Conversia unui numr dintr-o baz n alta
2.2.2.1. Metoda substituiei
2.2.2.2. Metoda mpririi la / nmulirii cu noua
baz
2.2.3. Operaii aritmetice n binar octal i hexazecimal
2.2.3.1. Operaii aritmetice n SN binar
2.2.3.2. Operaii aritmetice n SN octal
2.2.3.3. Operaii aritmetice n SN hexazecimal
2.3. Reprezentarea numerelor n calculator
2.3.1. Reprezentarea numerelor n virgul fix
2.3.1.1. Reprezentarea unui numr prin mrime i
semn
2.3.1.2. Reprezentarea unui numr n complement
fa de 1 (cod invers)
2.3.1.3. Reprezentarea unui numr n complement
fa de 2 (cod complementar)
2.3.1.4. Reprezentarea n exces
2.3.2. Reprezentarea numerelor n virgul mobil
2.3.3. Coduri numerice i alfanumerice
2.3.3.1. Coduri numerice
2.3.3.2. Coduri alfanumerice
2.3.3.3. Coduri detectoare i corectoare de erori

30.08.2012

1 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

2.4. Operaii aritmetice n virgul fix


2.4.1. Adunarea i scderea binar
2.4.2. nmulirea binar
2.4.2.1. nmulirea n cod direct
2.4.2.2. nmulirea cu puteri ale lui 2
2.4.2.4. nmulirea cu mai multe cifre
2.4.3 mprirea binar
2.5. Operaii aritmetice n virgul mobil
2.5.1. Adunarea i scderea numerelor reprezentate n
virgul mobil
2.5.2. nmulirea numerelor reprezentate n virgul mobil
2.5.3. mprirea numerelor reprezentate n virgul mobil
2.6. Operaii aritmetice cu numere zecimale codificate binar
2.6.1. Codificarea binar a numerelor zecimale
2.6.2. Adunarea i scderea n cod binar-zecimal
2.6.3. nmulirea n cod binar-zecimal
k
2.6.3.1. nmulirea cu 10
2.6.3.2. Metoda adunrii repetate
2.6.4. mprirea n cod binar-zecimal

30.08.2012

2 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

2. BAZELE ARITMETICE ALE CALCULATOARELOR


NUMERICE
Pentru nelegerea aspectelor legate de structura i funcionalitatea
sistemelor numerice de calcul se impune deinerea unor cunotine ce
privesc att prelucrarea informaiei numerice ct i mijloacele de
implementare.
n acest capitol se prezint unele aspecte legate de reprezentarea
numerelor i operaii aritmetice specifice calculatoarelor numerice.
2.1. Introducere
Dup cum s-a artat resursele importante ale unui calculator
numeric sunt reprezentate de cele de calcul i comand, memorare , intrare
ieire i comunicaii. n ceea ce privete memoria intern aceasta este
realizat din dispozitive cu dou stri stabile iar elementele de procesare a
informaiei sunt bazate pe circuite logice care opereaz pe baza logicii
bivalente.
Aceste motive recomand reprezentarea datelor n binar sub forma
unor succesiuni de uniti i zerouri. Exist numeroase posibiliti pentru
reprezentarea datelor, care difer prin expresibilitate, cost de implementare,
efortul de conversie de la un format la altul, etc.
Calculatoarele conin elemente de stocare a datelor de tipul
registrelor, cu un numr finit de elemente (ranguri) care afecteaz precizia
calculului. Uzual se spune c reprezentarea este cu precizie finit aspect
care presupune prezena erorilor de procesare.
Tipurile uzuale de date care se folosesc la nivelul hardware al unui
calculator numeric sunt:
- Bit: 0, 1;
-

ir de bii: secvene de bii cu urmtoarele lungimi uzuale:


tetrada: 4 bii;

30.08.2012

3 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

octet / byte: 8 bii;


semicuvnt: 16 bii;
cuvnt: 32 bii;
dublu cuvnt: 64 de bii,

Caracter:
ASCII: cod de 7 bii,

Zecimal:
-

cifrele zecimale 0 9 codificate binar 00002 10012


(dou cifre zecimale pot reprezentate n doi octei
sau pot fi mpachetate ntr-un singur octet);

ntreg (Virgul Fix):


fr semn;
cu semn, reprezentare n:
cod direct (semn i modul);
cod invers (complement fa de unu );
cod complementar (complement fa de doi);

Real (Virgul Mobil):


precizie simpl;
precizie dubl;
precizie extins.

2.2. Sisteme de numeraie, conversii i operaii


2.2.1. Sisteme de numeraie
Un sistem de numeraie (SN) este format din totalitatea regulilor de
reprezentare a numerelor cu ajutorul unor simboluri numite cifre.
SN sunt de dou tipuri: poziionale i nepoziionale. SN poziionale
mai sunt cunoscute i sub denumirea de SN ponderate ntruct valoarea
unei cifre depinde att de semnificaia sa intrinsec ct i de poziia
acesteia n respectivul numr. De exemplu, pentru numrul 1111
reprezentat n SN zecimal fiecare cifr 1 are o alt pondere (mii, sute, zeci,
uniti). Un exemplu de sistem nepoziional, n care ponderea nu este
influenat de poziia cifrei este sistemul roman.
Datorit simplitii de reprezentare i efectuare a calculelor, n
sistemele numerice se folosesc n exclusivitate sistemele poziionale, un

30.08.2012

4 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

asemenea sistem fiind caracterizat prin baz care reprezint numrul total
de simboluri (cifre).
Exemplu de baze uzuale:
Sistemul zecimal, b=10, simboluri: 0,1,2,3,4,5,6,7,8,9;
Sistemul binar, b=2, simboluri: 0,1;
Sistemul octal, b=8, simboluri: 0,1,2,3,4,5,6,7;
Sistemul hexazecimal, simboluri: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
Pentru un numr ntreg N0, reprezentarea n baza b este un n
tuplu
N = xn-1 xn-2. x2 x1 x0 care verific urmtoarele dou condiii:
a : 0 xi b, i = n-1,,0; xn-10 ;
b : N = xn-1bn-1 ++ x1b+ x0.
Exemplul 2.1.
b = 10, N = 4 52310
b = 8, N = 5738
b = 2, N = 1010012

=
=
=

4x103+5x102+2x10+3
5x82+7x8+3
1x25+0x24+1x23+0x22+0x21+1.

Numerele reale au o reprezentare asemntoare, ns conin punctul


fracionar (sau virgula) care separ partea ntreag de cea fracionar.
Pentru un numr real r0, reprezentarea n baza b este secvena de
simboluri (m tuplul)
r = xn-1 xn-2 x1 x0 . x-1 x-2 x-m care verific urmtoarele
relaii:
a: 0 xi b, i = n-1,,0,-1,-2,,-m; xn-10;
c> r = xm-1bm -1++ x1b+ x0+ x-1b-1+ x-2b-2++ x-nb-n
Exemplul 2.2.
b=10, N=154.6430=1x102+5x10+4+3x10-1+2x10-2
b=8, N=623.458=6x82+2x8+3+4x8-1+5x8-2
b=2, N=101.0112=1x22+0x2+1+0x22+1x21+1.
Pornind de la faptul c la baza realizrii unui sistem numeric de
calcul stau dispozitivele cu dou stri stabile, rezult c SN binar (care
necesit numai dou cifre, 0 i 1) este cel mai potrivit pentru prelucrarea,
codificarea i transmiterea informaiei n aceste echipamente. SN ale cror

30.08.2012

5 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

baze reprezint puteri ale lui 2 prezint de asemenea proprietile


sistemului binar, motiv pentru care sunt frecvent utilizate n tehnica de
prelucrare automat a datelor (n special SN octal i SN hexazecimal). n
ceea ce privete SN zecimal acesta este cu precdere utilizat n anumite
faze ale operaiilor de intrare- ieire.
2.2.2. Conversia unui numr dintr-o baz n alta
ntr-un sistem de calcul datele sunt de regul reprezentate n mai
multe sisteme de numeraie. Astfel datele de intrare i cele de ieire
(rezultatele) sunt de regul reprezentate n baza 10 n timp ce n memorie i
n unitatea de procesare baza de reprezentare este 2.
Sunt situaii n care datele care se prelucreaz se reprezint n baza
10, cifrele zecimale fiind reprezentate prin tetrade binare. Pentru reducerea
efortului de procesare datele se reprezint n memorie n bazele 8 sau 16.
Existena i utilizarea mai multor SN ridic problema conversiei dintr-un
sistem n altul. n continuare vor fi prezentate dou metode frecvent
utilizate i anume:
a - metoda substituiei;
b metoda mpririi la / nmulirii cu baza.
2.2.2.1. Metoda substituiei
Fie numrul N reprezentat n baza
N = an-1n-1 + an-2n-2 ++ a00+ a-1-1++ a-m-m,

(2.1)

pentru care se dorete conversia n baza .


Metoda substituiei presupune scrierea numrului N n forma
N an 1 10n 1 an 2 10n 2
a0 100 a1 101 a m 10m

(2.2)

i conversia n baza pentru fiecare cifr (ai) i (10).


Exemplul 2.3.
a. S se realizeze conversia n baza 2 a numrului N = (17)16.
Aplicnd relaia (2.2) se obine

30.08.2012

6 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

0
N 17 16 116 10 116 7 16 1016

dar

116 12 , 7 16 1112 , 1016 1610 10 0002


n aceste condiii numrul N se va scrie
N 17 16 12 100002 1112 100002 1112
101112 0001 01112

b. S se realizeze conversia n baza 2 a numrului N = (54)8.


Aplicnd relaia (2.2) se obine
N 52 8 58 1018 2 8 1080

dar

58 1012 , 28 102 , 108 810 10002


n aceste condiii numrul N se va scrie
N 528 1012 10002 102 1010002 102
1010102 101 0102

c. S se realizeze conversia n baza 10 a numrului N = (25)8.


Aplicnd relaia (2.2) se obine
N 258 28 1018 58 10 80

dar

28 2 10 , 58 510 , 108 810


n aceste condiii numrul N se va scrie
N 258 210 810 510 2 8 5 2110

d. S se realizeze conversia n baza 10 a numrului N = (10100)2.


Aplicnd relaia (2.2) se obine

30.08.2012

7 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

N 101002 12 1042 0 2 1032 12 1022


02 1012 02 1002 1 2 4 1 2 2 2010

dar

28 2 10 , 58 510 , 108 810


n aceste condiii numrul N se va scrie
N 258 210 810 510 2 8 5 2110

e. S se realizeze conversia n baza 10 a numrului N =


(BF4.15)16.
Aplicnd relaia (2.2) se obine
2
0
N BF 4.1516 B 16 1016
F 16 10116 4 16 1016

1
2
116 10 16
516 1016

dar

B 16 1110 , F 8 1510 , 416 4 10 ,


116 110 , 516 510 , 1016 1610
n aceste condiii numrul N se va scrie
2
N BF 4.1516 1110 1610
1510 16110
0
1
2
410 1610
110 1610
510 1610

11 256 15 16 4 1 0.0625 5 0.00390625


2816 240 4 0.0625 0.01953125 (3060.08203125)10

Din analiza exemplelor 2.a i 2.b se desprinde concluzia c din


bazele care sunt puteri ale lui 2 conversia se poate realiza mecanic
nlocuind cifrele numrului cu combinaiile binare corespunztoare. n
Tabelul 2.1 se prezint combinaiile binare pentru cifrele sistemului octal
(triade) respectiv hexazecimal (tetrade).

30.08.2012

8 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Tabelul 2.1
Octal
0
1
2
3
4
5
6
7

Binar
000
001
010
011
100
101
110
111

Hexazecimal
0
1
2
3
4
5
6
7

Binar
0000
0001
0010
0011
0100
0101
0110
0111

Hexazecimal
8
9
A
B
C
D
E
F

Binar
1000
1001
1010
1011
1100
1101
1110
1111

n ceea ce privete conversia din binar ntr-o baz putere a lui 2


aceasta se poate realiza tot mecanic. n continuare se va exemplifica
procedeul pentru conversiile binar octal i binar hexazecimal.
Conversia binar - octal
Fie
r = xn-1x1x0 . x-1 x-2 x-m
reprezentarea binar a unui numr real r oarecare.
Acelai numr scris ca o combinaie liniar a puterilor lui 2 este:
r = xn-1 2n-1+xm-2 2 m-2+x121+x020+x-12-1+x-2 2-2+.. x-m 2-m .
Deoarece o cifr octal se reprezint printr-o grupare de trei bii,
grupm expresia n triade:
r = (x3k+223k+2 + x3k+123k+1 + x3k23k)+.
+ (x222 + x121 + x020) + (x-12-1 + x-22-2 + x-32-3)+.
sau
r = 23k(x3k+222 + x3k+12 + x3k2)+.
+ (x222 + x12 + x0) + 2-3(x-122 + x-22 + x-3)+.
respectiv
r = 8kyk ++ 80y0 + 8-1y-1+ cu
0 yi=x3i+222 + x3i+12 + x3i < 8.
Rezultatul demonstraiei de mai sus permite formularea urmtoarei
reguli de conversie: fiind dat un numr real n form binar , reprezentarea
sa n octal se obine grupnd cte trei cifrele binare ncepnd de la marca
fracionar (punct, virgul), spre stnga respectiv dreapta. Dup ce grupele

30.08.2012

9 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

extreme se completeaz (dac este cazul cu zerouri nesemnificative),


fiecare triad se nlocuiete cu echivalentul su octal.
Conversia binar - hexazecimal
Fie
r = xn-1x1x0 . x-1 x-2 x-m
reprezentarea binar a unui numr real r oarecare.
Acelai numr scris ca o combinaie liniar a puterilor lui 2 este:
r = xn-1 2n-1+xn-2 2 m-2+x121+x020+x-12-1+x-2 2-2+.. x-m2-m .
Deoarece o cifr hexazecimal se reprezint printr-o grupare de
patru bii, grupm expresia n tetrade:
r = (x4k+324k+3 + x4k+224k+2 + x4k+124k+1 + x4k24k)+.
+ (x424 + x323 + x222 + x12 + x0) +
+ (x-12-1 + x-22-2 + x-32-3+ x-42-4)+.
sau
r = 24k(x4k+323 + x4k+222 + x4k+12 + x4k2)+.
+ (x323 + x222 + x12 + x0) + 2-4(x-123 + x-222 + x-32 + x-4)+.
respectiv
r = 16kyk ++ 160y0 + 16-1y-1+ cu
0 yi = x4i+323 + x4i+222 +x4i+12 + x4i < 16.
Ca i n cazul precedent, rezultatul demonstraiei de mai sus
permite formularea urmtoarei reguli de conversie: fiind dat un numr real
n form binar , reprezentarea sa hexazecimal se obine grupnd cte
patru cifre binare ncepnd de la marca fracionar (punct, virgul), spre
stnga respectiv dreapta. Dup ce grupele extreme se completeaz (dac
este cazul cu zerouri nesemnificative), fiecare tetrad se nlocuiete cu
echivalentul su hexazecimal.
Dup cum s-a mai spus, conversiile inverse octal / hexazecimal
binar se realizeaz prin nlocuirea fiecrei cifre octale / hexazecimale cu
triada / tetrada corespunztoare.
Exemplul 2.4.
a. S se converteasc n binar numerele A=(135.72)8 i
B=(5A23.B5D)16.
(A)2 = 001 | 011 | 101.111 | 010

30.08.2012

10 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

(B)2 = 0101 | 1010 | 0010 | 0011.1011 | 0101 | 1101


b. S se converteasc n octal i n hexazecimal numrul binar
(C)2 =1011010.11011.
b1. (C)2 = 001 011 010 . 110 110
Pe baza corespondenei din tabelul 2.1 rezult (C)8=132.66.
b2. (C)2=0101 1010 . 1101 1000
dup care se face corespondena n conformitate cu Tabelul 2.1 i
rezult (C)16=5A.D8.
2.2.2.2. Metoda mpririi la / nmulirii cu noua baz
Fie numrul real N reprezentat n baza
N = an-1n-1 + an-2n-2 ++ a00+ a-1-1++ a-m-m,

(2.3)

pentru care se dorete conversia n baza .


Pornind de la reprezentarea numerelor prin intermediul
coeficienilor dezvoltrii polinomiale, n raport cu baza, conversia se poate
realiza prin operaii repetate de mprire / nmulire la / cu noua baz,
dup cum se convertete partea ntreag respectiv cea fracionar.
Deoarece se vor trata separat conversiile prilor ntreag respectiv
fracionar, numrul se va considera descompus sub forma
N = NI + NF

(2.4)

n care NI i NF sunt prile ntreag respectiv fracionar ale


numrului real N .
Conversia numerelor ntregi
Fie partea ntreag NI , exprimat n baza , a unui numr real N:
NI

= an-1n-1 + an-2n-2 ++ a1+ a00,

care n baza poate fi exprimat astfel


NI = xn-1n-1 + xn-2n-2 ++ x1+ x00 ,
n care coeficienii xi urmeaz a se determina.

30.08.2012

11 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Determinarea acestor coeficieni prin metoda mpririlor succesive


presupune mprirea repetat a numrului la noua baz i reinerea
resturilor conform procedeului de mai jos.
NI / = xn-1n-2+ xn-2n-3 ++ x10 + x0/
Ctul = (N1)I

x0 ,

Restul

(N1)I / = xn-1n-3+ xn-2n-4 ++ x20 + x1/

x1 ,

Ctul = (N2)I
Restul
..
(Nk)I / = xn-1n-k-2 +.+ xn-k-10 + xk/
xk

Ctul = (Nk+1)I
Restul
.
Dup cum se observ n urma primei mpriri rezult x0, (cifra cea
mai puin semnificativ a rezultatului - CCMPS), apoi x1 .a.m.d. Procedeul
continu pn cnd ctul devine mai mic dect noua baz , ultimul rest
fiind coeficientul xn-1 , (cifra cea mai semnificativ a rezultatului -CCMS).
Din cele prezentate rezult c procesul de determinare a
reprezentrii n noua baz este un proces iterativ cu un numr necunoscut
de pai la nceputul conversiei, ntruct se utilizeaz drept criteriu de stop
obinerea unui ct mai mic dect noua baz.
Dac baza de plecare este 10, iar conversia se face n baza , atunci
numrul de iteraii, respectiv numrul de cifre n noua reprezentare poate fi
determinat nainte de nceperea conversiei potrivit relaiei
log N 1 daca N = k , k N

n
k
[log N ] 1 daca N , k N

(2.5)

Conversia numerelor fracionare


Fie partea fracionar NF , exprimat n baza , a unui numr real
N:

30.08.2012

12 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

NF

= a-1-1 + a-2-2 ++ a-m-m,

care n baza poate fi exprimat astfel


NF = x-1-1 + x-2-2 ++ x-m-m ,
n care coeficienii x-i urmeaz a se determina.
Determinarea acestor coeficieni prin metoda nmulirilor succesive
presupune nmulirea repetat a numrului fracionar cu noua baz i
reinerea prilor ntregi ale produselor conform procedeului de mai jos.
= x-1+ x-2-1 +.+ x-m-m+1

NF x

x-1 ,

(N1)F
-1

= x-2+ x-3 +.+ x-m-m+2


x-2
(N2)F
..
(N1)F x

(Nk-1)F x = x-k+ x-k-1-1 +.+ x-m-m+k

x-k ,

(Nk)F
.
Cifra x-1 reprezint CCMS iar x-k CCMPS a rezultatului. Procedura
se oprete n momentul partea fracionar (Nk)F a rezultatului unei
nmuliri devine zero, sau dac s-a atins precizia de conversie specificat.
Exemplul 2.5.
a.
S se converteasc n binar numrul N10 = 98.03125
(numrul de iteraii admis pentru comversia prii fracionare: 8).
1. Se determin numrul de poziii binare nI necesare pentru
conversia prii ntregi:
Deoarece 98 nu este o putere ntreag a lui 2
n1 = [log298]+1=[6.6147]+1=7 bii
2. Se convertete partea ntreag: NI =98
98 = 2 x 49 + 0
a0 = 0

30.08.2012

13 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

49 = 2 x 24 + 1
24 = 2 x 12 + 0
12 = 2 x 6 + 0
6=2x 3+0
3=2x 1+1
1=2x 0+1

a1 = 1
a2 = 0
a3 = 0
a4 = 0
a5 = 1
a6 = 1

Rezult pentru partea ntreag (NI)2 =1100010.


3. Se convertete partea fracionar (NF)10 =0.03125.
0.03125 x 2 = 0.0625
a-1 = 0
0.06250 x 2 = 0.1250
a-2 = 0
0.12500 x 2 = 0.2500
a-3 = 0
0.25000 x 2 = 0.5000
a-4 = 0
0.50000 x 2 = 1.0000
a-5 = 1
Rezult pentru partea fracionar (NF)2=0.00001
Pentru numrul N rezult (N)2=1100010.0001.
4. Verificarea se realizeaz procedndu-se la conversia invers, cu
metodei substituiei:
(N)10 =
1x26+1x25+0x24+0x23+0x22+1x21+0x20+0x2-1+0x2-2+
-3
-4
+0x2 +0x2 +1x2-5=64+32+2+0.03125 = 98.0315
b.
S se converteasc n octal numrul N10 = 234.046875
(numrul de iteraii admis pentru comversia prii fracionare: 6).
1. Se determin numrul de poziii octale nI necesare pentru
conversia prii ntregi:
Deoarece 234 nu este o putere ntreag a lui 8
n1 = [log8234]+1=[2.623]+1=3 cifre
2. Se convertete partea ntreag: NI =234
234 = 8 x 29 + 2
a0 = 2
29 = 8 x 3 + 5
a1 = 5
3=8x 0+3
a2 = 3
Rezult pentru partea ntreag (NI)8 =352
3. Se convertete partea fracionar (NF)10 = 0.046875:
0.046875 x 8 = 0.375
a-1 = 0

30.08.2012

14 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

0.375000 x 8 = 3.000

a-2 = 3

Rezult pentru partea fracionar (NF)8=0.03


Pentru numrul N rezult (N)2=352.03
2.2.3. Operaii aritmetice n binar octal i hexazecimal
Operaiile aritmetice elementare ntr-un SN cu baza o putere a lui 2
urmeaz aceleai reguli ca n zecimal, cu luarea n consideraie a
principiului de numrare specific fiecrui SN.
Este de menionat c numrtoarea n sistemul zecimal este
realizat prin utilizarea consecutiv a celor zece simboluri (0, 1, 2, , 9);
epuizarea acestora conduce la introducerea simbolului 1 pe o poziie mai la
stnga i reluarea pe poziia iniial a secvenei de simboluri (10, 11, 12, ,
19). Procesul continu n mod similar prin adugarea cifrelor 2, 3 , , 9.
Cnd se ajunge la 9 n poziia secund se continu cu adugarea unei noi
poziii la stnga .a.m.d.
2.2.3.1. Operaii aritmetice n SN binar
Dup cum s-a artat pentru reprezentarea unui numr n SN binar se
folosesc simbolurile 0 i 1. Respectnd regula de numrare zecimal, n
condiiile operrii n exclusivitate cu cele dou simboluri se obine
urmtoarea secven:
0, 1,
10, 11,
100, 101, 110, 111
1000, 1001, 1010,
n Tabelul 2.2 sunt prezentate regulile pentru adunare i nmulire
n binar.
Tabelul 2.2
nmulire

Adunare

30.08.2012

10

15 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

n continuare se prezint cte un exemplu pentru fiecare dintre


operaiile elementare (adunare, scdere, nmulire i mprire).
Adunare
1 0 11 0 1 1 . 1 0 1 1 0 +
1 1 01 1 1 1 . 0 1 1 0 1
1 1 0 01 0 1 1 . 0 0 0 1 1

nmulire
1011 . 11x
111 . 01
101111

000000
101111
101111
101111
10011100011

Scdere
1101110 . 10111 0001011 . 01110
1100011 . 01001

mprire
11101110 . 111 1101
10010 . 011
1101
0 001111
1101
0010011
1101
001101
1101
0000

1001110 . 0011

2.2.3.2. Operaii aritmetice n SN octal


Dup cum s-a artat pentru reprezentarea unui numr n SN octal se
utilizeaz simbolurile 0, 1, 2, ,7. Aplicnd regula de numrare zecimal,
n condiiile operrii n exclusivitate cu cele opt simboluri se obine
urmtoarea secven:
0, 1,2,3,4,5,6,7
10, 11,12,13,,17
20,21,23,23,,27
..
n Tabelul 2.3 sunt prezentate regulile pentru adunare i nmulire
n octal.

30.08.2012

16 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

+
0
1
2
3
4
5
6
7

0 1 2 3
0 1 2 3
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
5 6 7 10
6 7 10 11
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

x
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

Tabelul 2.3
4 5 6
0 0 0
4 5 6
10 12 14
14 17 22
20 24 30
24 31 36
30 36 44
34 43 52

Ca i n cazul precedent, n cele ce urmeaz se prezint cte un


exemplu pentru fiecare dintre operaiile elementare (adunare, scdere,
nmulire i mprire).
Scdere
4123 . 516 567 . 307
3334 . 207

Adunare
2 57 . 4 3 2 +
144 . 613
424 . 245

nmulire
17 53 . 216 x
4.3
57 01652

76 55070
1 0 4 4 5 2 5 52
1 0 4 4 5 . 25 5 2

30.08.2012

mprire
76321 . 542 : 23 . 11
7632154 . 2 2311
7133
3205 . 32
=4771
4622
=1 4 75 4
13755
==77 72
7133
=6 37 0
4622
1546

17 / 66

7
0
7
16
25
34
43
52
61

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

2.2.3.3. Operaii aritmetice n SN hexazecimal


Reprezentarea unui numr n SN cu baza 16 (hexazecimal) implic
utilizarea simbolurilor 0, 1, 2, ,7, 8, 9, A, B, C, D, E, F. Prin aplicarea
regulii de numrare zecimal, n condiiile operrii cu cele 16 simboluri
specifice rezult urmtoarea secven:
0, 1, 2, 3, 4, 5, 6 ,7, 8, 9, A, B, C, D, E, F
10, 11,12,13,,1D, 1E, 1F
20,21,23,23,,2f
..
n Tabelele 2.4 i 2.5 sunt prezentate regulile pentru adunare i
nmulire n hexazecimal.
Tabelul 2.4
+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
6
7 8 9 A B C D
E
F
0 0 1 2 3 4 5
7
8 9 A B C D E
F 10
1 1 2 3 4 5 6
8
9 A B C D
E
F 10 11
2 2 3 4 5 6 7
9
A B C D E
F 10 11 12
3 3 4 5 6 7 8
4 4 5 6 7 8 9 A B C D E F 10 11 12 13
5 5 6 7 8 9 A B C D E F 10 11 12 13 14
6 6 7 8 9 A B C D E F 10 11 12 13 14 15
7 7 8 9 A B C D E F 10 11 12 13 14 15 16
8 8 9 A B C D E F 10 11 12 13 14 15 16 17
9 9 A B C D E F 10 11 12 13 14 15 16 17 18
A A B C D E F 10 11 12 13 14 15 16 17 18 19
B B C D E F 10 11 12 13 14 15 16 17 18 19 1A
C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B
D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C
E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D
F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E

x
0
1
2
3

Tabelul 2.5
D E F

0
0
0
0

0
1
2
3

0
2
4
6

0
3
6
9

0
4
8
C

0
5
A
F

0
6
C
12

0 0 0 0
7 8 9 A
E 10 12 14
15 18 1B 1E

0
B
16
21

0
C
18
24

0
0
0
D
E
F
1A 1C 1E
27 2A 2D

30.08.2012

8 9

18 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

4
5
6
7
8
9
A
B
C
D
E
F

0
0
0
0
0
0
0
0
0
0
0
0

4
5
6
7
8
9
A
B
C
D
E
F

8
A
C
E
10
12
14
16
18
1A
1C
1E

C 10 14 18 1C 20 24 28 2C
F 14 19 1E 23 28 2D 32 37
12 18 1E 24 2A 30 36 3C 42
15 1C 23 2A 31 38 3F 46 4D
18 20 28 30 38 40 48 50 58
1B 24 2D 36 3F 48 51 5A 63
1E 28 32 3C 46 50 5A 64 6E
21 2C 37 42 4D 58 63 6E 79
24 30 3C 48 54 60 6C 78 84
27 34 41 4E 5B 68 75 82 8F
2A 38 46 54 62 70 7E 8C 9A
2D 3C 4B 5A 69 78 87 96 A5

30
3C
48
54
60
6C
78
84
90
9C
A8
B4

34
41
4E
5B
68
75
82
8F
9C
A9
B6
C3

38
46
54
62
70
7E
8C
9A
A8
B6
C4
D2

3C
4B
5A
69
78
87
96
A5
B4
C3
D2
E1

n continuare se prezint cte un exemplu pentru fiecare dintre


operaiile elementare (adunare, scdere, nmulire i mprire) efectuate n
SN hexazecimal.
Scdere
C41 2 AFB 5
1 4 5D

Adunare
7 FA 4 +
521D
D1C 1

nmulire
1 4A . 2 F x
B. 1
1 4 A2 F

E30 05
E 4 4 A7 F
E 4 4 . A7 F

30.08.2012

mprire
A5 7 B F
3A
74
2 DA6 . 9 A
317
2F2
= 2 5B
244
=17F
1 5C
230
2 0A
260
244
1C

19 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

2.3. Reprezentarea numerelor n calculator


Uzual un echipament de calcul numeric preia datele i ofer
rezultatele ntr-o form accesibil utilizatorului. n ceea ce privete
prelucrarea, aceasta presupune exprimarea datelor ntr-o form specific
procesorului. n consecin exist dou formate de reprezentare a numerelor
n calculator i anume formatul intern i formatul extern.
Pentru reprezentarea intern se utilizeaz SN binar n mai multe
forme difereniate de soluia aleas pentru indicarea poziiei virgulei i
semnului numrului. n acest sens poziia fix sau variabil a
delimitatorului fracionar (punct sau virgul) determin reprezentarea n
virgul fix sau respectiv n virgul mobil.
2.3.1. Reprezentarea numerelor n format virgul fix
n calculator se opereaz cu numere de lungime fix, numrul de
poziii binare fiind determinat de lungimea registrelor de memorare.
n formatul virgul fix, virgula (punctul zecimal) nu este
reprezentat fizic n calculator, poziia sa fiind stabilit prin proiectare i
neputnd fi schimbat. Uzual virgula se consider plasat n faa celei mai
semnificative cifre a numrului, n aceste condiii numerele cu care se
opereaz fiind subunitare.
Observaie important
Numrul de bii pe care se reprezint un numr este finit i fix,
stabilindu-se n faza de proiectare a calculatorului. Din acest motiv n
calculator nu se poate reprezenta dect un numr finit de valori, care pot fi
interpretate diferit n cele dou formate (intern sau extern). Numerele care
se pot reprezenta n calculator se numesc numere cu precizie finit (NPF)
i au proprieti diferite fa de numerele din matematic.
n cazul acestora poate aprea depirea capacitii de memorare
deoarece NPF au un domeniu finit de valori, n sensul c nu pot exista
numere orict de mari sau orict de mici. Depirile pot fi detectate
hardware sau software. Urmtorul exemplu demonstreaz c n cadrul NPF
nu este valabil proprietatea de asociativitate.
s
Fie o main cu urmtorul format admisibil:
n care se pot reprezenta numere ntregi cuprinse ntre 999 i +999.

30.08.2012

20 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Fie a = 600, b=500, c=400


n aritmetica clasic a+(b-c) = (a+b)-c respectiv 600+(500-400)
=700 i (600+500)-400=700 asociativitatea fiind respectat.
n cazul NPF (calculatoare) a+(b-c) = 600+(500-400) = 700, iar
(a+b)-c = (600+500) - 400 = eroare.
1100 - depire
Numerele ntregi fr semn se reprezint prin corespondentul lor
binar (codul direct) numrul de bii pentru reprezentarea unui numr N
fiind 2 n-1 N < 2 n.
n general domeniul finit de valori pentru numerele ntregi,
reprezentate n formatul cu virgul fix este:

D Vmin ,Vmax Z ,

(2.6)

unde Vmin i Vmax sunt cea mai mic respectiv cea mai mare valoare care se
pot reprezenta pe n bii. Cele 2n valori distincte pot constitui reprezentri
ale unor numere ntregi pozitive sau negative.
Pentru numerele cu semn exist trei reprezentri mai des utilizate i
anume:
1. semn mrime;
2. complement fa de 2;
3. complement fa de 1.
2.3.1.1. Reprezentarea unui numr prin mrime i semn
Scrierea unui numr prin mrime i semn (sau n cod direct) este
dat de relaia
n 1
n

N an 2

a 2
i

(2.7)

i m

unde an este bitul de semn, iar ai sunt biii numrului N.


n privina semnului an care ocup bitul cel mai semnificativ
(MSb Most Significant bit) convenia este urmtoarea:
an = 0, dac N 0 ;
an = 1, dac N < 0 .

30.08.2012

21 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Considernd reprezentarea pe m+n bii, conform relaiei (2.7) primul bit


din stnga este asociat semnului, iar restul de n+m-1 bii conin mrimea
numrului egal cu reprezentarea binar a valorii N- figura 2.1.
s
1

M mrime
n+m-1 bii

Fig. 2.1. Reprezentarea semn mrime pe n+m bii.

Exemplul 2.6.
a)

+ 9 = 0 1001
valoarea numrului
bitul de semn

b)

- 6 = 1 0110
valoarea numrului
bitul de semn

c) -0.6875 = 1 1011
valoarea numrului
bitul de semn
Reprezentarea semn mrime prezint avantajul apropierii de scrierea
natural, ns din punctul de vedere al realizrii calculelor prezint unele
dezavantaje. Acestea se refer n primul rnd la necesitatea examinrii nainte de
realizarea unei operaii (adunare sau scdere) a bitului de semn. Pe de alt parte,
unitatea aritmetic se poate mult simplifica dac este orientat numai ctre operaia
de adunare. Acest deziderat se poate realiza prin alegerea convenabil a
reprezentrii numerelor, recomandabil fiind reprezentarea n C2 (complement fa
de 2).
Un alt dezavantaj important este legat de reprezentarea numrului zero
care este afectat de semn respectiv

[+0]d = 0 000 000 ;


[- 0]d = 1 000 000 .
Aceast dubl reprezentare face ca un numr N ntreg reprezentat n
cod direct pe n ranguri s poat lua valori n gama
2n1 1 N 2n 1 1 ,

(2.8)

ceea ce, de exemplu, face ca pentru


- n=8 domeniul de reprezentare s fie D 127,127 Z ;

30.08.2012

22 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

n=16 domeniul de reprezentare s fie D 32767,32767 Z .

2.3.1.2. Reprezentarea unui numr n complement fa de 1


(cod invers)
Pentru numere pozitive N 0 reprezentarea n complement fa de
1 este identic cu reprezentarea semn mrime.
Dac N < 0, atunci bitul de semn s = 1 i
C1 N 2n1 1 N ,

(2.9)

unde n-1 este numrul de bii utilizai pentru reprezentarea mrimii


(fr semn).
Calculul C(1) se poate face prin dou metode i anume:
a. utiliznd definiia, respectiv
s 1
C1 N 2n1 1 N ;
b. prin inversarea biilor reprezentrii cu semn a valorii absolute
|N| a numrului N.

Exemplul 2.6.
Fie n-1 = 7 i N = -123; s se calculeze prin cele dou metode
C1(N)
a.

|N| = 123; C1(|N|) = 27 1 123 = 128 1 123 = 4 =0000 100


C1(N) = 1 0000100 = (1x27 + 1x22)10 = (132)10

b. (|N|) d = 0 1111011
C1(N) = 1 0000100 (s-a inversat fiecare bit).
n ceea ce privete reprezentarea numrului zero i n acest caz aceasta este
afectat de semn respectiv

[+0]i = 0 000 000 ;


[- 0]d = 1 111 111 .
Aceast dubl reprezentare face ca un numr N ntreg reprezentat n
cod direct pe n ranguri s poat lua valori n aceiai gam ca n cazul
codului direct.

30.08.2012

23 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

2.3.1.3. Reprezentarea unui numr n complement fa de 2


(cod complementar)
Pentru numere pozitive N > 0 reprezentarea n complement fa de
2 este identic cu reprezentrile semn mrime i n cod complementar
fa de 1.
Dac N < 0, atunci s = 1
C 2 N 2 n 1 N ,

(2.10)

unde n-1 este numrul de bii utilizai pentru reprezentarea mrimii


(fr semn).
Calculul C2 se poate face prin trei metode i anume:
a. utiliznd definiia, respectiv
s 1
C 2 N 2 n1 N ;
b. prin inversarea biilor reprezentrii cu semn a valorii absolute
|N| a numrului N la care se adaug 1, n poziia cea mai puin
semnificativ;

c. prin analiza de la dreapta la stnga a reprezentrii cu semn a


valorii absolute |N| a numrului N. Primii bii de 0 i primul bit
de 1 se las neinversai, apoi se inverseaz toi biii, inclusiv
bitul de semn (dac primul bit ntlnit este 1 se las neschimbat
numai acesta).
Exemplul 2.7.
1. Fie n-1 = 7 i N = -123; s se calculeze prin cele trei metode
C2(N)
a. |N| = 123; M = 27 123 = 128 123 = 5
C2(N) = 1 0000101
b. (|N|) d = 0 1111011
C1(N)
=
1 0000100 + (s-a inversat fiecare bit).
1
C2(N)
=
1 0000101
c. 1. (|N|) d = 0 1111011
2. se analizeaz biii de la dreapta spre stnga i se inverseaz

30.08.2012

24 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

C2(N)

1 000010 1 bit neschimbat

bii inversai
2. Fie n-1 = 7 i N = -96; s se calculeze prin cele trei metode
C2(N)
a. |N| = 96; M = 27 96 = 128 96 = 32
C2(N) = 1 0100000
b. (|N|) d
C1(N)

=
=

C2(N)

c. 1. (|N|)

0 1100000
1 0011111 + (s-a inversat fiecare bit).
1
1 0100000

= 0 1 100000

2. se analizeaz biii de la dreapta spre stnga i se inverseaz


C2(N)

1 0 100000 bii neschimbai


bii inversai

Reprezentarea n complement fa de 2 este cea mai utilizat pentru


numerele algebrice datorit n primul rnd faptului c elimin ambiguitile
legate de reprezentarea numrului zero.
n C2 numrul zero are o reprezentare unic i anume
[0]c = 0 000 000 .
Aceast unic reprezentare face ca un numr N ntreg reprezentat n
cod complementar pe n ranguri s poat lua valori n gama
2 n1 N 2 n1 1

(2.11)

ceea ce va implica, de exemplu, pentru


- n=8 domeniul de reprezentare s fie D 128, 127 Z ;
-

n=16 domeniul de reprezentare s fie D 32768,32767 Z .


2.3.1.4. Reprezentarea n exces

Necesitatea acestui tip de reprezentare este impus de anumite


avantaje pe care le ofer tratarea numerelor fr semn. Ideea care st la
baza acestei reprezentri cunoscut i sub denumirea de reprezentare
deplasat const n adunarea la fiecare numr a unui exces reprezentat de

30.08.2012

25 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

regul de cel mai mic numr ntreg negativ care se poate reprezenta n
calculator.
De exemplu n reprezentarea C2 pe un octet domeniul
D 128, 127 Z
se transform prin adunarea excesului 128 n
Dexces128 0, 255 Z .

n aceste condiii celui mai mic numr negativ (-128)10 i va


corespunde (00000000)2 iar celui mai mare numr pozitiv (+127)10 i va
corespunde (11111111)2. Aceast reprezentare simplific efectuarea
operaiei de comparare a numerelor, ceea ce este esenial pentru realizarea
hardware-ului implicat n operarea exponenilor la reprezentarea n virgul
mobil.
*
*
*
Dup cum s-a vzut prin reprezentarea n format virgul fix se
precizeaz un numr de ranguri la stnga virgulei pentru partea ntreag,
respectiv la dreapta acesteia pentru partea fracionar. n aceste condiii
gama i precizia de reprezentare sunt determinate de numrul de ranguri.
De exemplu pe 40 de ranguri pot fi manevrate numere de ordinul
trilioanelor (1012) precizia fiind de o trilionime.
Solicitri suplimentare ar putea fi rezolvate prin creterea
numrului de ranguri, aspect care nu este posibil ntruct acest numr este
fixat pentru un anumit tip de calculator.
2.3.2.

Reprezentarea numerelor n virgul mobil

Necesitatea reprezentrii n calculator a numerelor foarte mari sau


foarte mici, cu o precizie ridicat a condus la reprezentarea n virgul
mobil (VM) .
Reprezentarea n format VM utilizeaz reprezentarea tiinific
r m bE

(2.12)

creia i sunt asociate trei componente:

30.08.2012

b baza n care se reprezint numrul;


E exponentul; care indic ordinul de mrime al numrului;

26 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

m mantisa asociat mrimii exacte a numrului ntr-un


anumit domeniu.

Exemplul 2.8
6.342 = 0.6342 x 101 = 6.342 x 100;
0.0057 = 0.57 x 10-2 = 5.7 x 10-3;
5760 = 0.576 x 104 = 5.76 x 103.
Considerm c pentru reprezentarea unui numr n virgul mobil
se utilizeaz n bii din care e pentru exponent (care determin intervalul de
valori) i m bii pentru mantis (care determin precizia reprezentrii).
Dup cum se tie cu n bii se pot reprezenta 2n numere reale.
ntre numere reale din matematic i numerele reale reprezentate n
formatul cu virgul mobil exist diferene legate de domeniul finit i
mulimea discret de valori. Domeniul finit de valori este determinat de
capacitatea fizic limitat a memoriei calculatorului.
Pentru a vedea cum se poate determina acest domeniu vom
considera o main ipotetic zecimal (baza de numeraie este 10) n care:
-

mantisa m este subunitara si pozitiva respectiv, 0 m < 1;


mantisa se reprezint ca un numr cu semn i trei cifre, n
domeniul 0.1 m < 1 sau zero;
exponentul se reprezint ca un numr cu semn i dou cifre.

Structura unui numr cu caracteristicile expuse precum i valorile


pozitive minim i maxim sunt:
mantisa exponent
Structura:

-Vmax = - 9 9 9 + 9 9 = - 0.999 x 10+99


- Vmin = - 1 0 0 - 9 9 = - 0.100 x 10-99
+Vmin = + 1 0 0 - 9 9 = + 0.100 x 10-99 ;
+Vmax = + 9 9 9 + 99 = + 0.999 x 10+99.
Numrul de mantise pozitive distincte este Nm = 1800 {900 pentru
m[999 , -100] Z si 900 m[+100 , +999] } Z, iar numrul de
exponeni este Ne = 199 (toate valorile ntregi intre 99 si +99 inclusiv 0 ),
deci rezult c n acest format se pot reprezenta n total N numere (pozitive
i negative)
N=Nm x Ne + 1 = 1800x199 + 1 = 358201 numere.

30.08.2012

27 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

O reprezentare a valorilor limite pe axa real permite evidenierea


situaiilor in care se produce depire. Determinarea valorilor Vmin i Vmax
permite identificarea pe axa real, figura 2.2, a domeniilor de valori
reprezentabile.

(1)

(3) (4)

(2)

-Vmin

-Vmax
- 0.999 10+99
- 10+99

-99

(6)

(5)

+Vmax

+Vmin
-99

- 0.100 x 10

+ 0.100 10

-10-100

+10-100

(7)

+ 0.999 10+99
+ 10+99

Fig. 2.2. Domeniile valorilor reale reprezentabile n VM.

Zonele marcate cu cifre in figura 2.2 reprezint urmtoarele


categorii de numere:
1. numere negative mai mici dect - 0.999 x 10+99 ( - 10+99 ) ,
dar foarte mari in valoare absolut;
2. numere negative intre - 0.999 x 10+99 i - 0.100 x 10-99
(- 10+99, -10-100);
3. numere negative foarte mici cu valoare absolut mai mic dect
0.100 x 10-99 (10-100);
4. zero;
5. numere pozitive foarte mici cu valoare absolut mai mic dect
0.100 x 10-99(10-100);
6. numere pozitive intre + 0.100 x 10-99 si + 0.999 x 10+99
(+ 10-100, -10+99);
7. numere foarte mari in valoare absolut, pozitive mai mari
dect + 0.999 x 10+99 (+10+99);
Domeniul de reprezentare va fi format din zonele (2 numere
negative) i (6 - numere pozitive) la care se adaug zona 4 reprezentat de
numrul zero. Dac n urma unei operaii aritmetice rezult o valoare n
zonele (1) sau (7) apare depirea flotant (inferioar dac rezultat < -Vmin
sau superioar dac rezultat > +Vmax). Dac rezultatul se situeaz n zonele
(3) sau (5) se semnalizeaz imposibilitatea reprezentrii pentru ca numerele
sunt prea mici (negative zona 3, pozitive zona 5).

30.08.2012

28 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Caracterul discret al reprezentrii n virgul mobil este dat de


faptul c mulimile din zonele (2) i (6) ale schemei din figura 2.2 sunt
mulimi finite. Avnd n vedere c mulimea numerelor reale este o
mulime continu (ntre orice dou numere reale se gsete o infinitate de
asemenea numere) rezult c nu exist o coresponden biunivoc ntre
aceast mulime i mulimea numerelor reprezentabile n virgul mobil.
Numrul de cifre al mantisei determin precizia de reprezentare n
domeniile 2 si 6 in timp ce numrul de cifre al exponentului afecteaz
mrimea acelorai domenii.
Mantisa se reprezint uzual in forma normalizat (prima cifr din
stnga diferit de zero) si intr-una din bazele 2, 8, 16.
Pentru a nu folosi exponeni negativi se introduce noiunea de
caracteristic. Aceasta este egal cu exponentul cu semn deplasat, astfel
nct s ia valori intr-o mulime de numere pozitive. De exemplu pentru un
exponent in domeniul [-64, +63]Z, o deplasare cu +64 va conduce la o
caracteristica in domeniul [0, +127]Z.
Stabilirea formatului de reprezentare a numerelor reale n virgul
mobil a constituit obiectul a numeroase studii care s-au concretizat n
elaborarea n anul 1985 a standardului IEEE1 754, cnd au fost alese dou
forme standard:
- formatul scurt sau de baz ( figura 2.3) , pe un cuvnt de 32 de
bii care asigur o vitez mai mare de operare;
00

31

08 09

01

8 bii

1 bit

23 bii

Fig. 2.3. Formatul scurt n VM al Standardului IEEE 754.

formatul lung sau dublu de baz (figura 2.4), pe un cuvnt de


64 de bii care asigur o precizie mai mare de lucru.

00

63

11 12

01

1 bit

11 bii

m
52 bii

Fig. 2.4. Formatul lung n VM al Standardului IEEE 754.


1

IEEE - Institute of Electrical and Electronics Engineers www.ieee.org

30.08.2012

29 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

n formatul scurt (simplu de lucru) semnificaiile sunt urmtoarele:


- bitul 00: s = Semnul mantisei (s = 1 mantis negativ );
- biii 01- 08: c = Caracteristic (exponent deplasat cu 27 1 =
127);
- biii 09 - 31: f = Mantisa normalizat ( fracia) 2.
Valoarea unui numr r reprezentat ntr-un asemenea format poate
fi:
-

dac c = 255 i m 0 atunci r = NAN (nu este un numr Not


A Number);

dac c = 255 i m = 0 atunci r 1s ;

7
s
dac 0 < c < = 255 atunci; r 1 2 e 2 1 1. m ;(2.13)

dac c= 0 i m 0 atunci ; r 1 2 126 0.m

dac c= 0 i m = 0 atunci r 1s 0 ( zero) .

n particular se obin urmtoarele reprezentri n format scurt


0 00000000 00000000000000000000000 = +0
1 00000000 00000000000000000000000 = -0
0 11111111 00000000000000000000000 = +
1 11111111 00000000000000000000000 = -
0 11111111 00000100000000000000000 = NaN
1 11111111 00100010001001010101010 = NaN
0 10000000 00000000000000000000000 = +1 * 2**(128-127) * 1.0 = 2
0 00000001 00000000000000000000000 = +1 * 2**(1-127) * 1.0
= 2**(-126)
0 00000000 10000000000000000000000 = +1 * 2**(-126) * 0.1
= 2**(-127)
0 00000000 00000000000000000000001 = +1 * 2**(-126) *
0.00000000000000000000001 = 2**(-149) (Cea mai mic valoare
pozitiv)
2

cnd e0, se presupune un bit egal cu 1 la stnga lui f; virgula se consider


plasat ntre acest bit i primul bit explicit al mantisei.

30.08.2012

30 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Conform relaiei (2.13) mrimea numerelor reprezentate este n


gama

. 2126 (1.0) r 2127 2 223

n formatul lung (dublu de baz) semnificaiile sunt urmtoarele:


- bitul 00: s = semnul mantisei (c = 1 mantis negativ );
- biii 01 - 11: e = Caracteristic (exponent deplasat cu 210 1 =
1023);
- biii 12 - 63: fm= mantisa normalizat/ fracia 3.
Exemplul 2.9.
S se reprezinte n formatul scurt (baza 2) numrul r = -348.562510
a. se convertete r in baza 2
348 = 174 x 2 + 0
174 = 87 x 2 + 0
87 = 43 x 2 + 1
43 = 21 x 2 + 1
21 = 10 x 2 + 1 rI = 101011100
10 = 5 x 2 + 0
5= 2x2+1
2= 2x1+0
1= 0x2+1
0.5625 x 2 = 1.125
0.1250 x 2 = 0.250
0.2500 x 2 = 0.500 rF = 0.1001
0.5000 x 2 = 1.000
r =1010 11100.1001
b.

se trece rezultatul in forma normalizat


r =1.0101 1100 1001 0000 0000 000 x 28 (pentru a se obine
mantisa pe 23 de bii s-a completat dou grupe de cte 4 i o grup cu 3 de
zero;
c.
se reprezint n VM
s = 1 (negativ)
3

idem 2.

30.08.2012

31 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

c = 127 + 8 = 13510 = 8716 = 1000 01112


m= 0101 1100 1001 0000 0000 000
Rezult reprezentarea in virgul mobil
r = 1 1000 0111 0101 1100 1001 0000 0000 000
d. Verificare
r = (-1)1 x 2135-127 x 1. 0101 1100 1001 0000 0000 000
1. 1101 1100 1001 0000 0000 000 = 1+2-1+2-2+2-4+2-5+2-6+2-9+2-12
= 1+0.25+0.0625+0.03125+0.015625+0.001953125+
+0.000244140625=1.361572265625
r = (-1)1 x 28 x 1.361572265625=-256x1.361572265625=348.5625
La analiza reprezentrii n VM intereseaz urmtoarele aspecte:
numrul numerelor reprezentabile;
numrul care are valoarea/mrimea cea mai mare;
numrul diferit de zero care are valoarea/mrimea cea mai
mic;
- determinarea celei mai mari distane dintre dou numere
succesive;
determinarea celei mai mici distane dintre dou numere
succesive.
-

2.3.3. Coduri numerice i alfanumerice


Dup cum s-a artat calculatorul prelucreaz numere reprezentate
n SN binar n timp ce utilizatorul uman opereaz curent cu numere
exprimate n SN zecimal, cu cuvinte specifice unei anumite limbi, cu
anumite semne grafice, etc. Pentru translatarea ntre celor dou maniere de
reprezentare, evident fr alterarea coninutului informaional se utilizeaz
codificarea.
A codifica elementele unei mulimi A prin elementele unei alte
mulimi B nseamn a realiza o coresponden ntre fiecare element a A o
secven de elemente b B .
Un cod este o funcie f : A I unde I este mulimea secvenelor
care se pot forma cu elemente din B. n ceea ce privete mulimea A acesta
se numete alfabet iar elementele acesteia (cifre, litere, semne de
punctuaie etc.) sunt caractere. Codurile n care sunt reprezentate numai

30.08.2012

32 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

numere se numesc coduri numerice iar cele n care pe lng numere conin
i litere, caractere speciale etc. se numesc coduri alfanumerice.
Avnd n vedere reprezentarea intern n cod binar, respectiv
B {0,1} , n continuare vor fi tratate coduri care codific litere i cifre prin
combinaii de elemente ale mulimii B.
Dac mulimea A are un numr de N caractere, un caracter poate fi
codificat printr-o secven de n elemente din B dac
(2.13)
N 2n
Exemplul 2.10
S se determine numrul minim de bii care pot codifica cele zece
cifre ale SN zecimal.
relaia
(2.13)
rezult
n log 2 N
respectiv
1
n log 2 10
3.322 . n aceste condiii rezult c numrul minim de
log 2
bii utilizai pentru codificarea unei cifre zecimale este n=4.
Din

2.3.3.1. Coduri numerice


Codurile binar-zecimale care asigur codificarea binar a cifrelor
zecimale pot fi ponderate sau neponderate.
Codurile ponderate asociaz fiecrei cifre zecimale o tetrad
binar, n care fiecare rang are o anumit pondere. Pentru exemplificare n
Tabelul 2.6 se prezint o serie de coduri numerice ponderate cu o frecven
mai ridicat de utilizare.
Tabelul 2.6
Zecimal

8421

2421

4221

5421

7421

0
1
2
3
4
5
6
7
8
9

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

0000
0001
0010
0011
0100
1011
1100
1101
1110
1111

0000
0001
0010
0011
0110
1001
1100
1101
1110
1111

0000
0001
0010
0011
0100
1000
1001
1010
1011
1100

0000
0001
0010
0011
0100
0101
0110
0111
1001
1010

30.08.2012

33 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Codul 8421 este un cod n care cifrele binare de la stnga


la dreapta au respectiv ponderile 23, 22,21, 20.

Codurile 2421 i 4221 se caracterizeaz prin utilizarea


ponderii 2 n dou poziii distincte ale tetradei, iar tetradele
care reprezint cifre zecimale a cror sum este egal cu 9
sunt complementare. O alt particularitate const n faptul
c primele cinci tetrade au n prima poziie 0 iar ultimele
cinci au n aceiai poziie cifra 1.

Codul 5421este caracterizat de faptul c cifrele 5-9 se


deosebesc de cifrele 0-4 numai prin valoarea primului bit.

Codul 7421 utilizeaz ponderile 7, 4, 2, 1. Aceste ponderi


introduc o ambiguitate n ceea ce privete reprezentarea
cifrei 7 (0111 sau 1000). Pentru nlturarea acesteia se
introduce o restricie i anume considerarea combinaiei cu
cei mai muli bii 1 respectiv 0111.

Codurile neponderate nu presupun existena cte unei ponderi care


s fie asociat fiecrei tetrade binare. n Tabelul 2.7 sunt prezentate cteva
coduri neponderate create pornind de la considerente impuse de utilizarea
lor.
Tabelul 2.7
Zecimal

30.08.2012

Exces 3

Gray

2 din 5

0
0011
0000
00011
1
0100
0001
00101
2
0101
0011
00110
3
0110
0010
01001
4
0111
0110
01010
5
1000
0111
01100
6
1001
0101
10001
7
1010
0100
10010
8
1011
1100
10100
9
1100
1101
11000
Codul Exces 3 se obine din codul 8421 pri adunarea la
fiecare tetrad a cifrei 3 (0011) n binar. Rezult un cod cu

34 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

proprietatea de autocomplementare4 din care s-a eliminat


combinaia 00005 .
Codul Gray se caracterizeaz prin aceea c trecerea de la
echivalentul binar al unei cifre zecimale la urmtorul se
face prin modificarea unui singur rang binar.
Codul 2 din 5 utilizeaz pentru codificarea cifrelor
zecimale cinci poziii binare, n condiiile n care fiecare
combinaie trebuie s conin cte doi bii unitari. Aceast
restricie asigur unicitatea reprezentrii i creeaz
posibilitatea controlului asupra transmisiei informaiilor
codificate n acest mod.

2.3.3.2. Coduri alfanumerice


Numrul limitat al caracterelor alfanumerice (spre deosebire de
numerele reale la care gama este infinit) permite ca un ntreg set de
caractere s fie reprezentat pe un numr limitat de bii. n practic s-au
impus dou sisteme de codificare a caracterelor alfanumerice ASCII i
EBCDIC.
Codul ASCII (American Standard Code for Information
Interchange) utilizeaz pentru reprezentarea caracterelor alfanumerice cte
7 bii pe caracter.
Tabelul 2.8
HEX DEC CHR CTRL HEX DEC CHR HEX DEC CHR HEX DEC CHR
00
01
02
03
04
05
06
07
08
09
0A
0B
0C

0
1
2
3
4
5
6
7
8
9
10
11
12

NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF

^@
^A
^B
^C
^D
^E
^F
^G
^H
^I
^J
^K
^L

20
21
22
23
24
25
26
27
28
29
2A
2B
2C

32
33
34
35
36
37
38
39
40
41
42
43
44

SP
!
"
#
$
%
&
'
(
)
*
+
,

40
41
42
43
44
45
46
47
48
49
4A
4B
4C

64
65
66
67
68
69
70
71
72
73
74
75
76

@
A
B
C
D
E
F
G
H
I
J
K
L

60
61
62
63
64
65
66
67
68
69
6A
6B
6C

96
97
98
99
100
101
102
103
104
105
106
107
108

`
a
b
c
d
e
f
g
h
i
j
k
l

Dou tetrade ale cror echivalente zecimale nsumate dau 9 sunt complementare.
Pentru a face distincie ntre valoarea 0 i absena unui semnal se exclude
combinaia 0000.
5

30.08.2012

35 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice


0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US

^M
^N
^O
^P
^Q
^R
^S
^T
^U
^V
^W
^X
^Y
^Z

2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F

45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?

4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F

77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95

M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_

6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F

109
100
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL

Exist posibilitatea reprezentrii a 27 coduri, asignarea acestora la caractere valide fiind


evideniat n Tabelul 2.8.
Codurile 00h 1Fh i 7Fh nu sunt afiabile fiind caractere de control utilizate
pentru transmisie, controlul afirii/tipririi, ct i pentru alte scopuri, semnificaiile acestora
fiind cuprinse n Tabelul 2.9.

Tabelul 2.9
CHR
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF

Semnificaie
NULl
Start Of Heading
Start of TeXt
End of TeXt
End Of
Transmission
ENQuiry
ACKnowledge
BELl
BackSpace
Horizontal
Tabulation
Line Feed

30.08.2012

CHR
FF
CR
SO
SI
DLE

Form Feed
Carriage Return
Shift Out
Shift In
Data Link Escape

CHR
CAN
EM
SUB
ESC
FS

DC1
DC2

Device Control 1
Device Control 2

GS
RS

DC3
DC4
NAK

Device Control 3
Device Control 4
Negative
AcKnowledge
SYNchronous idle

US
SP
DEL

SYN

Semnificaie

36 / 66

Semnificaie
CANcel
End of Medium
SUBstitution
ESCape
File Separator
Group separator
Record
separator
Unit separator
SPace
DELete

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

VT

Vertical Tabulation

ETB

End of Transmission
Block

Toate celelalte caractere litere, cifre, semne de punctuaie, spaiul sunt


reprezentabile. Tratarea cifrelor 0 9 este similar cu a literelor mici i mari ceea ce
simplific manipularea caracterelor6.

Codul EBCDIC (Extended Binary Coded Decimal InterChange)


lansat de IBM, utilizeaz pentru reprezentarea caracterelor alfanumerice
cte 8 bii pe caracter, permind codificarea a 256 caractere.
2.3.3.3. Coduri detectoare i corectoare de erori
n timpul transmisiei i prelucrrii datelor pot apare erori datorate,
n primul rnd, zgomotelor care afecteaz nivelurile fizice de tensiune
specifice semnalelor digitale. Pentru detectarea i eventual corectarea
acestor erori se utilizeaz coduri cu proprieti speciale. Aceste coduri
conin pe lng biii utili o serie de bii de redundani (de control) cu
ajutorul crora se identific i se corecteaz eventualele erori de transmisie.
Codurile detectoare de erori au urmtoarea proprietate: apariia
unei singure erori transform un cuvnt valid intr-un cuvnt invalid. O
metod pentru detecia erorilor este metoda bitului de paritate a crui idee
de baza const n adugarea unei cifre binare in plus la fiecare cuvnt al
unui cod dat, pentru a face ca numrul de bii de 1 din fiecare cuvnt s fie
impar sau par.
Este util sa definim distanta7 dintre 2 coduri cuvnt ca numrul de
cifre care trebuie sa fie schimbate intr-un cuvnt pentru a rezulta alt cuvnt.
(de exemplu distana Hamming a codului ASCII este 1).
Un cod este cod detector de erori daca distanta sa minim este mai
mare sau egala cu 2. De exemplu adugarea unui bit de paritate plasat la
stnga codului normal ASCII al unui caracter va determina pentru acest cod
o distan Hamming egal cu 2. Acest bit se calculeaz ca sum modulo 28
6

Pentru a transforma reprezentarea alfanumeric a unei cifre n valoarea sa


numeric se scade 30h iar pentru a transforma codul unei majuscule n codul
corespunztor al minusculei se adun 20h.
7
Aceast distan este cunoscut ca distana Hamming.
8

0 0 0 0 1 1 1 0 11 1 0

30.08.2012

37 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

n cazul paritii pare i cu valoarea negat a acesteia n cadrul paritii


impare procedeu ilustrat n figura 2.5.
PI

PP

26

25

24

23

22

21

20

Caracter

0
1

1
0

1
1

1
1

0
0

0
0

1
1

0
0

0
1

d
e

Bii de paritate
Codul ASCII
Fig. 2.5. Adugarea bitului de paritate la codul ASCII: PI
paritate impar; PP paritate par.

Prin acest procedeu se va obine o tabel a codurilor ASCII cu 256 de


caractere dintre care jumtate sunt invalide. La recepie se recalculeaz
bitul de paritate iar la neconcordan se va solicita retransmisia, care nu este
ntotdeauna o soluie convenabil.
n practic este larg utilizat i metoda codului polinomial
cunoscut i sub denumirea de cod cu redundan ciclic sau cod CRC (
Cyclic Redundancy Code). CRC sunt bazate pe tratarea irurilor de bii ca
polinoame cu coeficieni 0 i 1. De exemplu biii cuvntului cu 6 bii
110001 se reprezint prin polinomul
P(x) =1x5+1x4+0x3+0x2+0x1+1x0 = x5+ x4+1
Aritmetica polinomial n acest caz este aritmetica modulo 2,
potrivit regulilor teoriei algebrice. Nu exist transport la adunare sau
mprumut la scdere, adunrile i scderile fiind identice, operndu-se cu
funcia SAU-EXCLUSIV.
De exemplu
1001+
10010101
0101
1100
1100
n cele ce urmeaz se va sunelege c fiecare polinom este ataat unui
cadru de bii , iar fiecare cadru de bii are ataat un polinom. Din acest
motiv cnd se vorbete de operaii aplicate se subnelege operaii aplicate
coeficienilor acestora, respectiv diverselor cadre de bii.
La utilizarea acestei metode, pentru a transmite un cadru (formaie)
de bii Q cruia i se ataeaz un polinom Q(x) emitorul i receptorul

30.08.2012

38 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

convin asupra unui polinom generator P(x) a crui lungime trebuie s fie
mai mic dect a lui Q(x).
La transmisie se procedeaz astfel:
1. se adaug la Q r bii (r este gradP) obinndu-se cadrul
mbuntit QI;
2. se mparte polinomul CI(x), ataat cacadrul mbuntit C, la
P(x);
3. restul rezultat R (care are ntotdeauna r sau mai puini bii) se
scade modulo 2 din cadrul mbuntit.
4. cadrul T corespunztor polinomului diferena T(x) (divizibil
modulo2 cu P(x)) este cel care se transmite.
La recepie se efectueaz mprirea T(x):P(x), i dac rezult rest
nul, rezult c transmisia s-a efectuat corect. Refacerea lui Q(x) n caz c
nu sunt erori presupune separarea n T(x) a r cifre
din zona
nesemnificativ.
Exemplul 2.11
Fie cadrul de bii C=1101101 sau Q(x)=1*x6+1* x5+ 1*x3+ 1*x2+1
Polinomul generator este P(x) = x3+ x+1cu cadrul P = 1011
S se determine cadrul transmis T (cu polinomul asociatT(x)), din
care s se refac apoi Q(x) respectiv cadrul de bii iniial C.
1. Se adaug 3 bii (gradul lui P(x) este 3) la cadrul iniial
obinndu-se cadrul mbuntit
CI = 1101101000
2. Se mparte cadrul mbuntit la P(x) (CI:P)
1101101000101
1011
111
- 1101
1011
- 1100
ct =
1011
- 1111 r es t =
1011
- 1000
1011

30.08.2012

39 / 66

1
1101
1111101
0111

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

- - 1100
1011
0111
3. Se scade restul R din cadrul mbuntit CI i rezult polinomul
care se transmite, respectiv T(x).
11011010000000000111
1101101111
T = 11011011111
4. Verificarea la recepie, presupune efectuarea mpririi
respectiv T(x):P(x)

T:P,

11011011111011
1011
1111101
- 1101
1011
- 1100
ct =1111101
1011
- 1111 r es t =0000
1011
- 1001
1011
- - 1011
1011
0000
5. Restul fiind 0000 rezult c transmisia s-a efectuat corect, iar
refacerea cadrului iniial eliminnd ultimele 3 cifre din T(x), respectiv
C = 1101101 sau Q(x)=1*x6+1* x5+ 1*x3+ 1*x2+1
La transmiterea datelor se folosesc, printre altele, urmtoarele trei
polinoame generatoare (Standard IEEE 802-3):
CRC - 8:
P(x) = x8 + x7 + x6 + x4 + x2 + 1
CRC-16 IBM: P(x) = x16 + x15 + x2 + 1

30.08.2012

40 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

P(x) = x32 + x26 + x23 + x22 + x16 + x12 +


+x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1

CRC - 32:

Dup cum s-a menionat, la recepia unui mesaj eronat se cere


retransmisia acestuia. Pentru a evita retransmisia se apeleaz la codurile
corectoare de erori .
Un cod este cod corector de erori (CCE) atunci cnd cuvntul de
cod corect poate fi ntotdeauna dedus din cuvntul eronat. ntre CCE un loc
aparte revine codului Hamming, care n cazul unei corecii singulare are
distana 3. Numrul minim de bii de control necesari pentru a asigura
aceast distan se determin cu relaia
2k m k 1 ,
(2.14)
unde m este numrul de bii de informaie, iar k - numrul de biti de
control.
Vom explica n continuare construcia unui cod Hamming cu m = 7
(mesaj original in ASCII). Din relatia lui Hamming (2.14) rezulta k = 4,
astfel nct 4 bii de control trebuie adugai celor 7 bii de informaie,
rezultnd un cod ASCII pe 11 bii cu 4 bii redundani.

Asignarea celor 4 bii redundani la cuvintele originale se va face


astfel nct s poat fi identificat o eroare la un singur bit. Fiecrui bit din
cuvntul codificat, incluznd i biii redundani de verificare i este asignat
combinaia de bii C8C4C2C1 , corespunztor Tabelului 2.10. n acest tabel
echivalentul zecimal al combinaiilor binare reprezint poziia biilor care
sunt verificai ncepnd cu poziia 1. n cuvntul de 11 bii care se transmite
C1 ocup poziia 1, C2 poziia 2 a doua .a.m.d. , conform reprezentrii din
figura 2.6.
Tabelul 2.10

30.08.2012

C8

C4

C2

C1

D0
0
0
0
0
0
0

0
0
0
1
1
1
1

0
1
1
0
0
1
1

1
0
1
0
1
0
1

Poziie bit
verificat
1
2
3
4
5
6
7

41 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

11
B7

1
1
1
1

0
0
0
0

0
0
1
1

0
1
0
1

10
B6

9
B5

8
C8

7
B4

8
9
10
11
6
B3

5
B2

4
C4

3
B1

2
C2

1
C1

Fig. 2.6. Structura unui cuvnt ASCII cu patru bii de verificare:


Bi bii utili; Cj - bii de verificare.

Modul de amplasare a biilor de verificare n poziii corespunznd


puterilor lui 2, se numete Cod de Corectare a unei Erori Singulare
(CCES) sau Single Error Correcting (SEC), i faciliteaz procesul de
localizare a erorii.
Valorile celor 4 bii de verificare sunt determinai funcie de
paritatea (par sau impar avut n vedere) prin evaluarea sumelor modulo
2 S1, S1, S4, S8, conform relaiilor de mai jos:

S1 C1 B1 B2 B4 B5 B7
S 2 C2 B1 B3 B4 B6 B7
S 4 C4 B2 B3 B4
S8 C8 B5 B6 B7

(2.15)
(2.16)
(2.17)
(2.18)

Sumele Si trebuie s realizeze paritatea par pentru poziiile care au


1 n coloanele aferente biilor de verificare Ci dup cum urmeaz:
S1 = 0 pentru grupul de bii {1,3,5,7,9,11} ;
S2 = 0 pentru grupul de bii {2,3,6,7,10,11} ;
S4 = 0 pentru grupul de bii {4,5,6,7} ;
S8 = 0 pentru grupul de bii {8,9,10,11} .
Din relaiile (2.15)(2.18) rezult (impunnd tipul paritatii)
valorile care se vor transmite pentru biii de control C1, C2, C4, C8. La
recepie se evalueaz sumele, iar cnd acestea corespund tipului paritii
transmise, transmisia se consider corect. n cazul cnd una sau mai multe

30.08.2012

42 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

sume nu corespund tipului de paritate, exist un bit eronat a crui poziie se


determin prin adunarea indicilor sumelor eronate9.
n cele ce urmeaz se va considera un exemplu pentru care se va
presupune paritate par (suma 0 la un numr par de bii 1).
1.
S se determine biii reduntani de verificare la transmisia
codului ASCII al caracterului a (9710 = 11000012 sau 6116 =
11000012)
11
B7
1

10
B6
1

9
B5
0

8
C8
?

7
B4
0

6
B3
0

5
B2
0

4
C4
?

3
B1
1

2
C2
?

1
C1
?

S1 C1 B1 B2 B4 B5 B7 0 C1 1 0 0 0 1 0 C1 0
S 2 C2 B1 B3 B4 B6 B7 0 C2 1 0 0 1 1 0 C2 1
S 4 C4 B2 B3 B4 0 C4 0 0 0 0 C4 0
S8 C8 B5 B6 B7 0 C8 0 1 1 0 C8 0
astfel nct se transmite urmtoarea formaie de 11 bii
11
B7
1

10
B6
1

9
B5
0

8
C8
0

7
B4
0

6
B3
0

5
B2
0

4
C4
0

3
B1
1

2
C2
1

1
C1
0

2. S se determine ce caracter a fost transmis dac a fost


recepionat urmtoarea formaie de 11 bii 10010111001 (7 bii ai
codului ASCII i 4 bii de verificare
11
B7
1

10
B6
0

9
B5
0

8
C8
1

7
B4
0

6
B3
1

5
B2
1

4
C4
1

3
B1
0

2
C2
0

1
C1
1

Se are n vedere faptul c un bit n este verificat de ctre biii ale cror poziii
nsumate dau n (de exemplu bitul 7 este verificat de ctre biii din poziiile 1, 2, 4
deoarece 1+2+4=7.

30.08.2012

43 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Se evalueaz sumele Si

S1 C1 B1 B2 B4 B5 B7 1 0 1 0 0 1 1 impar
S 2 C2 B1 B3 B4 B6 B7 0 0 1 0 1 0 0 par
S 4 C4 B2 B3 B4 1 1 1 0 1 C4 impar
S8 C8 B5 B6 B7 1 0 0 1 0 par
de unde rezult c S1 i S4 sunt impare, un bit a fost transmis eronat
a crui poziie este 1+4=5 deci bitul numrul 5 trebuie corectat astfel nct
formaia de 11 bii devine
11
B7
1

10
B6
0

9
B5
0

8
C8
1

7
B4
0

6
B3
1

5
B2
0

4
C4
1

3
B1
0

2
C2
0

1
C1
1

Se extrag biii de control din poziiile 1, 2, 4, 8 astfel nct rezult


11
B7
1

10
B6
0

9
B5
0

8
C8
-

7
B4
0

6
B3
1

5
B2
0

5
B5
0

4
B4
0

3
B3
1

2
B2
0

1
B1
0

4
C4
-

3
B1
0

2
C2
-

1
C1
-

Respectiv
7
B7
1

6
B6
0

Vectorul binar este (1000100)2 = (44)16 = (68)10 care este codul


ASCII al caracterului D.
Observaie
n cazul apariiei a dou erori acestea pot fi detectate, ns numai
una poate fi corectat. Pentru a corecta 2 erori distana Hamming minim
trebuie s fie 5. n general pentru a detecta p erori distana Hamming
trebuie s fie p+1 , iar pentru corectarea a p erori aceast distan trebuie
s fie 2p+1.

30.08.2012

44 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

2.4. Operaii aritmetice n virgul fix


2.4.1. Adunarea i scderea binar
Cele dou operaii vor fi tratate pentru reprezentarea n codul
direct, n mod similar putnd fi tratate i operaiile n codurile invers i
complementar.
Cele dou operaii vor fi tratate unitar conform relaiei:

op _ ef s x s y sop

(2.19)

unde :
op_ef reprezint operaia efectiv ce se va efectua ntre cei doi
operanzi;
sx, sy - semnele celor doi operanzi (1 pentru -, 0 pentru +);
sOP
- operaia ce se dorete a fi efectuat (1 pentru -, 0 pentru +).
n ceea ce privete operaia (sau exclusiv) dup cum s-a mai
artat aceasta este definit astfel:
0 0 = 0;
0 1 = 1;
1 0 = 1;
1 1 = 0.
Pe baza celor prezentate, valoarea operatorului op_ef se determin
cu ajutorul Tabelului 2.11.
Tabelul 2.11
xs
ys
Sop
Op
xs
ys
Sop
Op
0
0
0
0
+
+
+
+
0
0
1
1
+
+
0
1
0
1
+
+
0
1
1
0
+
+
1
0
0
1
+
+
1
0
1
0
+
+
1
1
0
0
+
+
1
1
1
1
n cazul n care prin evaluarea semnelor rezult scdere, scztorul
va putea fi nlocuit prin complementul su fa de 2 (C2), operaia fiind

30.08.2012

45 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

practic nlocuit cu o operaie de adunare10, n Tabelul 2.12 fiind prezentate


cele 4 situaii posibile.
Tabelul 2.12
Situaii
posibile
Operaia de
executat

( A) ( B )

( A) ( B )

( A) ( B )

( A) ( B )

A B

A B

AB

A B

Adunarea numerelor se execut asupra cifrelor numerelor A i B n


conformitate cu regulile adunrii binare. Semnul sumei C precum
corectitudinea rezultatului obinut se stabilesc n funcie de absena
(Tabelul 2.13) sau nu a (Tabelul 2.14) transportului de la CCMS11 la bitul
de semn.
Tabelul 2.13
Semnul
rezultatului
Cs
Semnificaia
sumei

( A) ( B )

( A) ( B )

( A) ( B )

( A) ( B )

+(0)

-(1)

-(1)

-(1)

Adevrata
mrime C

(rezultat
corect)

Compleme
ntul C2
Recomple
mentare
(rC2)

Adevrata
mrime C

Corecie

Compleme
ntul C2
Recomple
mentare
(rC212)

Nu

Nu (rezultat
corect)
Tabelul 2.14

Semnul
rezultatului
Cs
Semnificaia
sumei
Corecie

( A) ( B )

( A) ( B )

( A) ( B )

( A) ( B )

+(0)

+(0)

+(0)

-(1)

Adevrata
mrime C

Adevrata
mrime C

Adevrata
mrime C

Adevrata
mrime C

Eroare de
depire

Nu
(rezultat
corect)

Nu
(rezultat
corect)

Eroare de
depire

10

Acest lucru este posibil deoarece A B A (0 B) A B


CCMS Cifra Cea Mai Semnificativ
12
rC2 recomplementare, operaiile se fac invers celor de la obinerea C2 (se
scade 1, dup care complementeaz).
11

30.08.2012

46 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

START
Citete operanzii A, B
i semnele As i Bs
<

>
As : Bs
=

A*= A

A*= C2(A)

A=A
B*= C2(B)

B*= B

B*= B

C* = A*+ B*

Da

Nu
Da

Transport ?
Da

Nu

As = Bs

As = Bs

Nu
Cs = 1 (-)

Cs=As

Cs = 0 (+)
C= C*

C = rC2(C*)
C= C*

Scrie suma C si
semnul Cs

Semnaleaz eroare
depaire

STOP
Fig. 2.7. Schema logic a adunrii n cod direct.

30.08.2012

47 / 66

Cs=As

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Algoritmul descris n Tabelele 2.13 i 2.14 poate fi transpus n


schema logic simplificat din figura 2.7.
Exemplul 2.12.
Fie A=(10/16)10= (0.625)10 i B=(7/16)10= (0.4375)10 reprezentate n
binar pe cinci bii (patru pentru valoare, unul pentru semn) prin
A=(01010)2 i B=(00111)2
S se calculeze C1=A+B, C2=A-B, C3=-A+B, C4=-A-B
C1 * = A + B

1
0
0

0
0
0

0
1
0

1
1
0

0
1
1

1
S-a generat transport de la CCMS la bitul de semn numerele A i B fiind
de acelai semn rezultatul este incorect deoarece se depete capacitatea
de reprezentare pe 4 bii - ntr-adevr (0.625)10+ (0.4375)10= (1.0625)10
obinndu-se un numr supraunitar.
C2 * = A - B =
= A + C2(B)

0
1

C2 = C2 *

1
0

1
1
0

0
0
0

1
0
1

0
1
1

S-a generat transport de la CCMS la bitul de semn numerele A i B fiind


de semne contrare rezultatul este corect ncadrndu-se n capacitatea de
reprezentare pe 4 bii - ntr-adevr (0.625)10 - (0.4375)10= (0.1675)10
obinndu-se un numr subunitar respectiv 1/8 + 1/16 = 3/16

30.08.2012

C3 * = -A + B =
= C2(A) + B

1
0
1

0
0
1

1
1
1

1
1
0

0
1
1

C3 = rC2(C2 *)

48 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Nu s-a generat transport de la CCMS la bitul de semn rezultatul pe 4 bii


obinndu-se prin recomplementare -(1/8+1/16)=-3/16.
C4* = -A - B

1
1

1
0
0

0
1
0

1
1
0

0
1
1

S-a generat transport de la CCMS la bitul de semn numerele A i B fiind


de acelai semn rezultatul este incorect deoarece se depete capacitatea
de reprezentare pe 4 bii - ntr-adevr -(0.625)10- (0.4375)10= -(1.0625)10
obinndu-se un numr supraunitar n valoare absolut.
2.4.1. nmulirea binar
Operaia de nmulire a numerelor const n generarea i adunarea
produselor pariale obinute prin nmulirea rangului curent al
nmulitorului cu denmulitul.
n cazul numerelor binare produsul parial poate fi:
- chiar denmulitul deplasat spre stnga conform poziiei
rangului mpritorului, dac bitul asociat acestui rang este 1;
- 0 dac bitul asociat rangului curent al mpritorului este 0.
Dac produsul parial este diferit de zero, acesta se va aduna la
suma produselor pariale anterioare.
n continuare vor fi tratat nmulirea numerelor exprimate n cod
direct, nmulirea cu puteri ale lui 2 i nmulirea cu mai multe cifre..
2.4.1.1. nmulirea n cod direct
Fie operanzii exprimai n cod direct:
X xn 1 xn 2 .............x 2 x1 x0
Y y n 1 y n 2 ............. y 2 y1 y 0

prin cror nmulire se va obine produsul


Z z 2n 2 z 2n3 .............z 2 z1 z 0

Semnul produsului se determin


reprezentrilor pentru semnele operanzilor

30.08.2012

49 / 66

ca

sum

modulo 2 a

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

(2.20)

z 2n 2 xn1 y n1

unde z2n-2 , xn-1 i yn-1 , sunt semnele produsului i ale celor doi
factori. Prin aplicarea relaiei (2.20) se obin cazurile particulare evideniate
mai jos.
0 0 0 ; () ()
0 1 1
1 0 1
11 0 ;

; () ()
; () ()

(2.21)

( ) ( )

Produsele pariale P0, P1, .,Pn-3,Pn-2 se determin dup cum


urmeaz:
P0 x y 0 2 0
P1 x y1 21
......................

(2.22)

Pn 2 x y n 2 2 n 2

iar suma lor va conduce la produsul modulelor respectiv


Z z 2n3 .............z 2 z1 z 0

Dac este necesar aducerea numrului la lungime simpl, aceasta


se poate realiza prin trunchiere i rotunjire .
Exemplul 2.13.
1. Se dau numerele X = -27, Y = 23 i se cere s se reprezinte n
codul semn-mrime, iar apoi s se efectueze produsul Z = X Y, utiliznd
metoda adunrilor repetate.
(X)2 = 1 11011
(Y)2 = 0 10111
Semnele celor dou numere sunt x5 = 1, y5 = 0 de unde rezult
z10 x5 y5 1 0 1 (negativ)
Avnd n vedere c n = 6 poziii binare, inclusiv bitul de semn
rezult c modulul va avea 10 poziii)

30.08.2012

50 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Se nmulesc cele dou module:


11011 x
10111
0000011011
0000110110
0001101100
0000000000
0110110000
1001101101

denmulit
nmulitor
0
x 2
(xstnga 0 poziii)
1
x 2
(xstnga 1 poziie)
x 22
(x stnga 2 poziii)
0 pentru c y3 = 0
x 24
(xstnga 4 poziii)
produs

Produsul reprezint suma calculat simultan pentru toate cele cinci


produse pariale. Avnd n vedere c n calculator se execut la un moment
dat numai suma a dou numere, nmulirea se poate efectua conform
etapizrii prezentate mai jos.
11011x
denmulit
10111
nmulitor
0000000000
suma iniial
11011
primul produs parial
0000011011
prima sum
11011
al doilea produs parial
0001010001
a doua sum
11011
al treilea produs parial
0010111101
a treia sum
00000
al patrulea produs parial
0010111101
11011
1001101101

a patra sum
al cincilea produs parial
produs

Prin ambele metode rezult |Z| = 1001101101 respectiv


Verificare:

30.08.2012

Z = 1 1001101101.
xy = -621.
p = - (129 + 126 + 125 + 123 +122+1) =
= - (512 + 64 + 32 + 8 + 4 +1) = - 621.

51 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

2. Se dau numerele X = 0.8125, Y = -0.6875 i se cere s se


reprezinte n semn-mrime, iar apoi s se efectueze produsul Z = X Y,
utiliznd metoda adunrilor repetate.
(X)2 = 0 0.1101
(Y)2 = 1 0.1011
Semnele celor dou numere sunt x4 = 0, y4 = 1 de unde rezult
z8 x4 y 4 0 1 1 (negativ)
Se nmulesc apoi cele dou module.
.1101 x
denmulit
.1011
nmulitor
0
00001101
x 2
(xstnga 0 poziii)
00011010
x 21
(xstnga 1 poziie)
00000000
0 pentru c y2 = 0
01101000
x 23
(xstnga 3 poziii)
0.10001111
produs
Alt mod (clasic)
1101 x
1011
1101
1101
1101
0.10001111
Verificare: 0.8125 (-0.6875) = -0.5585937
1 0.10001111 = -(12-1+12-5+12-6+12-7+12-8)=
= - (0.5+0.03125+0.015625+7.812510-3+3.9062510-3)= - 0.5585937
n acest caz se poate face trunchiere i rotunjire. Pentru exprimarea
pe 5 bii (din care unul pentru semn) se ndeprteaz ultimii 4 bii. Dac cel
mai semnificativ bit ndeprtat este 1 rezultatul se rotunjete (se adaug 1).
p = 1.1000 1111

p 1.1000 +
1

MSb

1.1001
-1

-4

Verificare Z = - (12 +12 ) = - (0.5 + 0.0625) = - 0.5625.

30.08.2012

52 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Eroarea relativ de rotunjire va fi

er

0.5585937 0.5625
100 0.7%
0.5585937

2.4.2.2. nmulirea cu puteri ale lui 2


O categorie special de nmulire o reprezint nmulirea cu puteri
ale bazei 2 respectiv cu 2k, care presupune deplasri dup cum urmeaz:
k > 0 deplasare stnga cu k poziii (se adaug zerouri n poziiile
nesemnificative din dreapta rmase libere);
k < 0 deplasare dreapta cu k poziii (se adaug zerouri n poziiile
semnificative rmase libere).
Exemplul 2.14
1. 28 22 = 112
7 6 5 4 3 2 1 0 Stnga 2 poziii
7 6 5 4 3 2 1 0
0 0 0 1 1 1 0 0 0 0
0 0 0 1 1 1 0 0
Zerouri adugate

Verificare 126 + 125 +124 = 64 + 32 + 16 = 112


2. 28 / 22 = 28 2-2 = 7
7 6 5 4 3 2 1 0 Dreapta 2 poziii 7 6 5 4 3 2 1 0
0 0 0 1 1 1 0 0
0 0 0 1 1 1 0 0 0 0
Zerouri adugate

Verificare 122 + 121 +120 = 4 + 2 + 1 = 7


2.4.2.3. nmulirea cu mai multe cifre
Timpul afectat realizrii unei operaii de nmulire poate fi redus
prin micorarea numrului de pai. Una din metodele utilizate n acest sens
este efectuarea nmulirii cu mai multe cifre simultan.
Presupunem c avem de efectuat produsul P = A B i considerm
grupe de cte k cifre binare consecutive ale nmulitorului B. Aceste cifre se
pot gsi n 2k combinaii evideniate n Tabelul 2.15. Funcie de valorile
combinaiilor i de poziia grupei, nmulirea cu k cifre presupune adunarea

30.08.2012

53 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

denmulitului A sau a unui multiplu al su aa cum rezult din Tabelul


2.15.
Tabelul 2.15
Nr.
comb.

Combin
aie

Operaie executat

00000

00001

Se adun A

00010
..
.

Se adun 2A

..
.

2k

..
.
k
Se adun (2 -1)A

11111
k

Valorile A, 2A, (2 -1)A se adun deplasate spre stnga ncepnd cu


CCMPS13 a grupei. Este evident c prin aceast procedur numrul de pai
n care se efectueaz nmulirea se reduce de k ori, timpul reducndu-se
corespunztor.
Exempluul 2.15
Fie numerele A=00001011 i B=00001101. S se efectueze
produsul P = A B aplicnd nmulirea cu dou cifre simultan.
Pentru dou cifre Tabelul 2.15 devine.
Tabelul 2.16

A = 00001011

Comb.

00

01

Se adun A

10

Se adun 2A

11

Se adun 3A

2A = 00010110

A
B

13

Operaie executat
-

Nr.

1
1

0
0

0
0

0
0

1
1
1
0
1

0
1
0
1
1

3A = 00100001
1
0
1

1
1
1

CCMPS Cifra Cea Mai Puin Semnificativ

30.08.2012

54 / 66

x
Prima grup 01
A doua grup 11

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Verificare

A =123 + 121 +120 = 8 + 2 + 1 = 11


B =123 + 122 +120 = 8 + 4 + 1 = 13
P =127 + 123 +122 +121 +120 =
=128 + 8 + 4 + 2 + 1 + = 143= 1113

2.4.3

mprirea binar

Dac operaia de nmulire consta practic ntr-o adunare repetat,


cea de mprire se poate realiza prin scderea repetat a mpritorului.
Sunt ns i metode speciale din care n continuare va fi prezentat cea cu
comparare, alte metode importante fiind cele cu restaurare i fr
restaurare.
mprirea binar prin metoda comparrii. Dac se consider
dou numere A (demprit) i B (mpritor), pentru ca mprirea s se
poat efectua trebuie respectate urmtoarele dou condiii:
a- mpritorul B s fie diferit de 0 (zero);
b- B>A (ctul va rezulta n acest fel subunitar)14.
Efectuarea mpririi A:B presupune determinarea a dou numere
Q (ctul) i Rn (al n-lea rest) astfel nct s fie satisfcut relaia
A B Q Rn

(2.23)

Conform acestei metode cifrele ctului se determin prin


comparri succesive ale mpritorului B cu resturile pariale Ri, n urma
comparrii putnd aprea urmtoarele situaii:
a- B < Ri cifra corespunztoare a ctului este 1 i se execut o
scdere a mpritorului din restul parial (Ri - B);
b- B > Ri cifra corespunztoare a ctului este 0 i nu se
execut scderea mpritorului din restul parial;
Considernd lungimile dempritului A i mpritorului B ca fiind
de fiind de 2n respectiv n bii, ctul Q va rezulta cu lungimea de n bii care

14

Dac aceasta condiie nu este ndeplinit se va transforma mpritorul, iar dup


efectuarea mpririi se va ajusta corespunztor ctul.

30.08.2012

55 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

se vor determina n n pai conform procedurii prezentate n cele ce


urmeaz.
Cifra de rang i se va calcula cu relaia de recuren de mai jos, care
se va aplica de n ori, conform schemei logice din figura 2.9.
15
Ri 2 Ri 1 qi B .
(2.24)

START
Da

AB
Nu

Ri o poz. la stnga (Ri2)


Da

2Ri B
mprire
invalid

qi =1

qi =0

Ri =2 Ri-1 -B
Nu

S-a obinut qn
Da

STOP
Fig. 2.8. Algoritmul de mprire
prin comparare.

Procesul iterativ se oprete atunci cnd o nou deplasare spre


stnga a restului ar determina valoarea zero, sau dup un numr fixat de
pai
15

Primul rest parial R0 = A se compar cu B. Dac B < R0 se scade B din R0 iar


cifra ctului este 1; n caz contrar scderea nu se execut iar cifra ctului este 0. n
ambele situaii rezultatul obinut se deplaseaz cu o poziie la stnga devenind
restul parial R1.

30.08.2012

56 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Exemplul 2.16
S se efectueze mprirea A:B unde A = 0.01100010 i B = 0.1001.
0. 0
0
1
B
1
R1 = R0 2 - B
0
R2 = R1 2
0
R2 2
1
B
1
R3 = R2 2 - B
0
R4 = R3 2
1
R0
R0 2

Q= 0 . 10 10

1 10001 0 : 0 . 1 001=0 . 10 1 0
110001 0
0 1 00<1001
100010 2 R3 < B
Nu scdere q4=0
001
1 101>1001
011010
2 R2 > B scdere q3=1
11010
0 110<1001
1010 2 R1 < B - nu scdere q2=0
001
1 100>1001
1000
2 R0 > B scdere q1=1
000
0 110<1001
R0 < B - nu scdere q0=0
R4 = 0 . 0 0 0 0 1 0 0 0

Verificare
1
0.0 1
0.0 0
0.0 1

0 . 1010x
0 . 1001
1010
001
010010+
001000
011010

Q
B
A = B Q + R4
R4

mprirea s-a oprit dup 5 pai deoarece prin deplasarea lui R4 la


stnga s-ar obine 0000B.
2.5. Operaii aritmetice n virgul mobil
2.5.1. Adunarea i scderea numerelor reprezentate n
virgul mobil
Aceste operaii se execut n mai multe etape i anume:
a) se compar caracteristicile celor dou numere i la necoinciden
se aduc numerele la aceiai caracteristic - cea mai mare (n acest scop
numrul cu caracteristica mai mic va fi deplasat cu D = Cmax - Cmin poziii
la dreapta);
b) se adun (scad) mantisele n codul n care sunt reprezentate;
c) se normalizeaz mantisa obinut n urma adunrii.

30.08.2012

57 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Fie dou numere A i B reprezentaten VM (baza b)


A ( M 1 ) b bC1 , B ( M 2 )b bC2

unde M1 i M2 sunt mantisele iar C1 i C2 (unde C1>C2) sunt


caracteristicile celor dou numere.
Suma, respectiv diferena celor dou numere se calculeaz astfel:
A B (( M 1 ) b ( M 2 ) b b D ) b C1

(2.25)

potrivit schemei logice din figura 2.12.


START
D=C1-C2
Nu

Da

D=0
Da

Nu

C=C1

D>0
Nu

C=C1

C=C2

M2= M216-D

M1= M116D

M=M1 M2
Fig. 2.12. Algoritmul de
adunare/scdere a numerelor
reprezentate n virgul mobil.

Da

Da

M 0.1

M<1
Nu
-1

M= M16
C=C+1

Nu

M= M16 1
C=C-1

STOP

Se observ c dac M>1 sau M <0.1 se impune normalizarea


mantisei.

30.08.2012

58 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Exemplul 2.17.
Fie A = 0.1F7163 i B = 0.B5416-1 (baza b=16). S se calculeze
F1=A+B i F2=A-B.
Pentru datele din exemplu C1 = 3, C2 = -1 i D = C1 - C2 = 4 i
A = 0.1F8 163 i B = 0.0000B54 163
Rezult:
F1 = A + B = (0.1F7+0.B5416-4) 163 =
= (0.1F7 + 0.0000B54) 163 = 0.1F70B54163
i
F2 = A - B = (0.1F7 - 0.0000B52) 163 =
= (0.1F7 + 0.0000B54) 163 = 0.1F6F4AC163

2.5.2. nmulirea numerelor reprezentate n virgul mobil


nmulirea a dou numere reprezentate n virgul mobil, presupune
adunarea caracteristicilor i nmulirea mantiselor.
Pentru dou numere A i B reprezentate n VM (baza b)
A ( M 1 ) b bC1 , B ( M 2 )b bC2

unde M1 i M2 sunt mantisele iar C1 i C2 sunt caracteristicile celor


dou numere, produsul celor dou numere se calculeaz astfel:
P A B (( M 1 ) b ( M 2 )b ) b C1 C2

(2.26)
nmulirea mantiselor i adunarea caracteristicilor se poate realiza
potrivit procedurilor prezentate anterior. n ceea ce privete normalizarea
rezultatului, aceasta se realizeaz n acelai mod cu normalizarea
rezultatului adunrii/scderii numerelor reprezentate n virgul mobil.
Mantisa rezultat va avea un numr dublu de cifre, din care se vor reine
numai jumtate dac se dorete respectarea formatului.
Observaie. Din suma caracteristicilor trebuie sczut excesul, altfel
rezultatul este viciat. Regula numai cu adunarea caracteristicilor este
valabil numai pentru exponeni (exces =0).

30.08.2012

59 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Exemplu
Fie A = 0.1F7163 i B = 0.B5416-1 (baza b=16). S se
calculeze P=AB .
M=0.1F70.B54=0.16420C
C = C1+C2 = 3 1= 2
M1
M2

0 . 1F 7 x
0 . B5 4
7DC
9D3
1 5 9D
0 . 1 6 4 2 0C

P = 0. 1 6 4 2 0 C

16

2.5.3. mprirea numerelor reprezentate n virgul mobil


mprirea a dou numere reprezentate n virgul mobil,
presupune scderea caracteristicilor i mprirea mantiselor.
Pentru dou numere A i B reprezentate n VM (baza b)
A ( M 1 ) b bC1 , B ( M 2 )b bC2

unde M1 i M2 sunt mantisele iar C1 i C2 sunt caracteristicile celor


dou numere, produsul celor dou numere se calculeaz astfel:
Q A : B (( M 1 )b : ( M 2 ) b ) bC1 C2

(2.27)
mprirea mantiselor i scderea caracteristicilor se poate realiza
potrivit procedurilor prezentate anterior. n ceea ce privete normalizarea
rezultatului, aceasta se realizeaz n acelai mod cu normalizarea
rezultatului adunrii/scderii numerelor reprezentate n virgul mobil.
Observaie. La diferena caracteristicilor trebuie adunat excesul,
altfel rezultatul este viciat. Regula numai cu scderea caracteristicilor este
valabil numai pentru exponeni (exces =0).

30.08.2012

60 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Exemplul 2.18.
Fie A = 0.1F7163 i B = 0.B5416-1 (baza b=16). S se calculeze
Q = A:B = .
M=0.1F7:0.B54=0.2C67 rest 0.000D4
C = C1-C2 = 3 + 1= 4
1 F7 0
1 6A 8
= 8C 8
87 F
=4 9
4 3
= 5
4
=

B
0.
0
0
0
F
0
F
=

5 4
2 C 6 7

0
8
8 0
A C
D 4

Q= 0. 2 C 6 7 164

2.6. Operaii aritmetice cu numere zecimale codificate binar


Procesarea numerelor zecimale la nivelul calculatoarelor numerice
se realizeaz uzual utiliznd codificarea binar a acestora utiliznd coduri
ponderate sau neponderate.
2.6.1. Codificarea binar a numerelor zecimale
Reprezentarea cu semn presupune plasarea bitului corespunztor n
poziia cea mai semnificativ16. Dup bitul de semn se consider punctul
zecimal, astfel c se vor considera reprezentate numai numere subunitare.
Se utilizeaz trei moduri de reprezentare i anume:
- mrime i semn;
- complement fa de 9;
- complement fa de 10.
Ca i n cazul aritmeticii binare pentru numerele pozitive cele trei
reprezentri coincid. Pentru numerele negative, se determin
16

Este valabil convenia 1pentru numere negative, 0 pentru numere pozitive.

30.08.2012

61 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

complementele fa de 9 respectiv fa de 10, n cazul reprezentrilor n


cod complementar.
2.6.2. Adunarea i scderea n cod binar-zecimal
Algoritmii prezentai la adunarea numerelor binare prezentai
anterior rmn valabili i pentru numerele zecimale i se aplic anumite
corecii.
Necesitatea coreciilor rezult din faptul c din cele 16 combinaii
posibile ale codului cu patru bii codul BCD nu utilizeaz dect 10 i c n
urma adunrii sau scderii se pot genera combinaii invalide care trebuie
eliminate.
n cazul codului 8421 toate combinaiile cuprinse ntre 1010 i
1111 sunt invalide i pot fi eliminate dac oricrei tetrade mai mare dect
1001 (cifra 9) i se adaug tetrada 0110 (cifra 6). Aceiai tetrad se adaug
i dac n urma adunrii rezult tetradele 0000, 0001, 0010 i transport la
rangul superiore. Necesitatea acestor corecii rezult din tabla adunrii
BCD prezentat mai jos.
+
0
1
2
3
4
5
6
7
8
9

0
0
1
2
3
4
5
6
7
8
9

1
1
2
3
4
5
6
7
8
9
A

2 3
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 A
AB
BC

4
4
5
6
7
8
9
A
B
C
D

5
5
6
7
8
9
A
B
C
D
E

6 7 8 9
6 7 8 9
7 8 9 A
8 9 A B
9 A B C
AB C D
BC D E
CD E F
D E F 10
E F 10 11
F 10 11 12

Aceast corecie face ca operaia de


adunare s se efectueze n baza 10 i nu 16.

n cazul scderii se parcurge urmtoarea secven:


1 fiecare cifr zecimal se exprim printr-o tedrad binar n cod
8421;
2 se efectueaz scderea poziie cu poziie; dac pentru o poziie
nu este necesar mprumut de la tedrada urmtoare, atunci
rezultatul este corect;
3 dac se impune un mprumut se execut urmtoarea secven:

30.08.2012

62 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

3.1 se scade 1 de la poziia urmtoare;


3.2 se adun 1610=100002 la desczutul scderii curente;
3.3 se scade 610 = 01102 din rezultat pentru a se efectua corecia
ntruct mprumutul a fost 1610 i nu 1010 .
Exemplul 2.19
1. Fie A10 = 789 i B10 = 165.
S se determine utiliznd reprezentarea semn mrime a
codului BCD operaia CBCD=ABCD + BBCD .
C10 = A10 + B10 = 789 + 165 = 954
ABCD-MS =
BBCD-MS =

C1BCD-MS
C10

0111
0001
1000

1 000 1 001 +
0 110 0 101
1 1 1 0+ 1 1 1 0+
0 110 0 110
0 100 0 100
1
1
=0 10 01 0 101 0 1 00
=

Corecii necesare, deoarece tetradele


corespunztoare rangurilor 10-2 i 10-3
sunt mai mari dect 1001
Se adun transportul generat

9 54

Fie X10 = 532 i Y10 = 178.


S se determine utiliznd reprezentarea semn mrime a
codului BCD operaia ZBCD=XBCD - YBCD .

2.

Z10 = X10 - Y10 = 532- 178 = 354


XBCD-MS =
BBCD-MS =

C1BCD-MS =
Z10

0101 0 011 0 010 0001 0 111 1 000


0 1 0 0 10 0 1 0 10 0 1 0 - Scdere 0011 0001 = 0010 Corecii
mprumut 10000 + 0010 = 10010
0 111
10 0 0
0 1 0 0 - 1 0 1 1 - 1 0 1 0 - Se efectueaz scderile 1
0001
Se efectueaz coreciile
01 1 0
01 1 0
Efectueaz
0011 0 101
01 0 0

30.08.2012

3 54

63 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

2.6.3. nmulirea n cod binar-zecimal


n toate cazurile semnul produsului se stabilete ca sum modulo 2
a celor doi bii de semn ai factorilor.
n continuare va fi prezentat o metod de nmulire a numerelor
reprezentate n mrime-semn precum i nmulirea cu puteri ntregi ale
bazei 10.
2.6.3.1. nmulirea cu 10

O categorie special de nmulire a numerelor zecimale codificate


binar o reprezint nmulirea cu puteri ale bazei 10 respectiv cu 10k, care
presupune deplasri dup cum urmeaz:
k>0 deplasare stnga cu k tetrade; (se adaug zerouri n tetradele
nesemnificative din dreapta rmase libere);
k<0 deplasare dreapta cu k poziii. (se adaug zerouri n tetradele
semnificative rmase libere).
n urma deplasrilor valoarea bitului de semn rmne neschimbat
i lungimea numrului constant. n aceste condiii unele tetrade se pierd iar
altele se completeaz cu zero.
Exemplul 2.20.
S se converteasc n BCD mrime-semn numrul A10 = 0.385i s
se determine C1 = A102 i C2 = A10-2
ABCD-MS = 0 0 0 1 1 1 0 0 0
C1BCD-MS = 0 0 1 0 1 0 0 0 0
C110 =
0.50 0

0 101
0 000

C2BCD-MS = 0 0 0 0 0 0 0 0 0
C210 =
0 .0 0 3

0 011

30.08.2012

C 1 =A 1 0 0
Rezultatul real C1=38.5
Se pierd tetradele 1 i 2 iar tetradele 2 i 3
se completeaz cu zero
C 2 =A 0 . 01
Rezultatul real C2=0.00385
Se pierd tetradele 2 i 3 iar tetradele 1 i 2
se completeaz cu zero

64 / 66

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

Din exemplul de mai sus se observ c apar trunchieri, iar pentru ca


rezultatul final s nu fie afectat se impune salvarea tetradelor care sunt
eliminate.
2.6.3.2. Metoda adunrii repetate
Aceast metod este asemntoare cu cea utilizat la nmulirea
binar. Denmulitul va fi adunat cu el nsui de un numr de ori egal cu
cifra corespunztoare a nmulitorului (09) pentru a forma produsul
parial. Acesta se deplaseaz cu o poziie (tetrad) spre stnga i ncepe
ciclul de adunri corespunztor urmtoarei cifre a nmulitorului. Procesul
se ncheie cu ciclul de adunri corespunztoare celei mai semnificative cifre
a nmulitorului.
Exemplul 2.21.
Fie A10 = 0.431(demulit) , i B10 = 0.232 (nmulitor).
S se determine P=AB folosind metoda adunrii repetate n cadrul
reprezentrii BCD.
P=0.4310232=0.099992
0 000 000 0

0 000 000 0
0 000 000 0
0 000 000 0

0 000 000 0
000
010
010
010
0 000 100

1
0
1
0
1

0100
A
0010
B
0000 0000
0100
0100
0000 1000
0100 0011
0100 1011
0110
0101 0001
0100 0011
1001 0100
0100 0011
1101 0111
0110
0011 0111
0011 0001
0110 1000
0011 0001
1001 1001

0011
0011
0000
0011
0011
0110
0001
0111
0111
0001
1000
0001
1001

corectie

1001 0010
=A
1001 0010
=A
1001 0010

P= 0 . 0 9 9 9 9 2

30.08.2012

0001 x
0010
0 0 0 0 = prod. partial initial
0001 =A
0001 =A
0 0 1 0 =P1-primul prod. part.
=A
0010
corectie
0010
=A
0010
=A
0 0 1 0 =P2-al doilea prod. part.

65 / 66

Rezultat final

CLCULATOARE NUMERICE: Capitolul 2 - Bazele aritmetice ale calculatoarelor numerice

2.6.4. mprirea n cod binar-zecimal


Metodele sunt similare cu cele utilizate la mprirea binar cu toate
c mprirea zecimal este mai complicat dect cea binar. Aceast
complexitate este dictat n primul rnd de faptul c pentru cifrele ctului
exist zece posibiliti (tetrade) n timp ce n cazul binar sunt numai dou
asemenea posibiliti (cifrele binare 0 i 1).
n continuare se prezint ideile care stau la baza metodei
comparrii, care presupune comparaii succesive cu multipli ai
mpritorului. Procesul de comparaie se oprete la cel mai mare multiplu
care este mai mic dect dempritul. Acesta se scade din demprit, iar
ordinul multiplului devine cifr a ctului. O variant a acestei metode,
exemplificat mai jos, presupune scderea repetat a mpritorului din
demprit, procesul oprindu-se atunci cnd mpritorul a devenit mai mare
dect restul parial. n aceste condiii numrul de scderi devine cifr a
ctului.
Exemplul 2.22.
D e mp r it
mp r i t o r

A = 0.17 6
B = 0.73 1

0 .1 7 6 : 0 . 7 3 1 = 1 7 6 : 7 3 1
1 7 6 - Prima scdere
731
- 555
17
7
10
7
2

6
3
2
3
9
7
22
7
15
7
7
7
=

- 555 < 731

q0=0

0 - Prima scdere 1029>731


1
9 - A doua scdere 298<731 q1=2
1
8 0 - Prima scdere 2249>731
31
4 9 - A doua scdere 1518>731
31
1 8 - A treia scdere 1518>731
31
8 7 - A patra scdere 298<731 q1=4
31
5 6 0 - Prima scdere 560 < 731 q1=0

0 . 1 7 6 = 0 .7 3 1 x 0.2 4 + 0 . 0 0 0 5 6
Q= 0 . 24
R = 0 . 00 056

30.08.2012

66 / 66

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

3. BAZELE LOGICE ALE CALCULATOARELOR


NUMERICE
3.1. Funcii i operaii logice
3.1.1.
Algebra boolean
3.1.2.
Funcii i variabile logice
3.1.3.
Minimizarea funciilor logice
3.2. Proiectarea structurilor combinaionale
3.2.1. Convertoare de cod
3.2.2. Codificatoare i decodificatoare
3.2.3. Multiplexoare i demultiplexoare
3.2.4. Circuite de complementare
3.2.5. Comparatoare numerice
3.2.6. Detectoare de paritate
3.2.7. Sumatoare
3.3. Proiectarea structurilor secveniale
3.3.1. Circuite basculante bistabile
3.3.2. Registre
3.3.3. Numrtoare
3.3.4. Maini cu algoritm de stare

30.08.2012

1 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

3.

BAZELE LOGICE ALE CALCULATOARELOR


NUMERICE

3.1. Funcii i operaii logice


Caracteristica esenial a tuturor generaiilor de calculatoare
numerice realizate pn n prezent o constituie natura discret a operaiilor
pe care acestea le efectueaz.
Considerente de ordin tehnologic impun utilizarea n construcia
calculatorului a dispozitivelor cu dou stri care condiioneaz codificarea
informaiei i efectuarea calculelor n sistem binar.
Analiza i sinteza circuitelor de comutaie aferente calculatoarelor
numerice utilizeaz ca principal instrument matematic algebra logic
(boolean).
n continuare se prezint unele elemente att ale algebrei logice ct
i ale unor circuite logice fundamentale.
3.1.1. Algebra boolean
Ca structur algebra boolean se definete prin urmtoarele
entiti:
- o mulime suport;
- o mulime de operatori;
- un grup de axiome.
Mulimea suport este mulimea binar, respectiv M 2 0 ,1 ;
Mulimea de operatori O conine doi operatori binari i unul unar.
Operatorii binari sunt + i care se mai numesc operatori de disjuncie
(sau) respectiv de conjuncie (i). n ceea cea ce privete operatorul unar
acesta este operatorul de negaie (nu).
Grupul de axiome include pentru M 2 0 ,1 un grup de apte
axiome care vor fi detaliate n continuare.
1. Axioma de nchidere, conform creia mulimea M2 este parte
stabil, n raport cu cele dou operaii respectiv

30.08.2012

2 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

x y M 2 si x y M 2 x , y M 2 .
2. Axioma de asociativitate
x ( y z ) ( x y ) z x , y , z M 2
x ( y z ) ( x y ) z

x , y , z M 2 .

3. Axioma de comutativitate
x y y x x , y M 2

x , y M 2 .

x y yx

4. Axioma de absorbie
x x y x
x ( x y ) x

x, y M 2
x , y M 2 .

5. Axioma de distributivitate
x ( y z ) ( x y ) ( x z ) x , y , z M 2

x , y , z M 2 .

x ( y z ) x y x z

6. Axioma elementelor neutre


x 0 0 x x x M 2 0 element neutru pentru operatia
x 1 1 x x

x M 2 .

1 element neutru pentru operatia

7. Axioma elementului invers (complementului)

x M 2 , x M 2 unic cu
x x 1,

( principiul tertului exclus );

x x 0.

( principiul contradictiei ).

La definirea axiomatic a algebrei s-au folosit notaiile +, , x


pentru cele dou legi de compoziie, respectiv pentru elementul invers. n
logic i tehnic exist denumiri i semnificaii specifice, evideniate n
Tabelul 3.1.

30.08.2012

3 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Tabelul 3.1.
Matematic
Denumire
Simbol

Logic
Denumire Simbol

Tehnic
Denumire Simbol

Prima operaie

Disjuncie

SAU

A doua operaie

Conjuncie

Element invers

Negaie

NU

Pornind de la axiome se pot deduce teoremele prezentate n Tabelul


3.2 care se constituie n reguli de calcul n cadrul algebrei booleene.
Tabelul 3.2.
Nr.

Denumire

T1

Dubl negaie
(involuia)

T2 Elemente neutre

Forma produs

Forma sum

x x x M 2

x x x M 2

x 0 0 x M 2

x 1 1 x M 2

T3

Idempotena
(tautologia)

x x x x x M 2 x x x x x M 2

T4

De Morgan

x y x y x , y M 2 x y x y x , y M 2

Oricare dintre cele 4 teoreme poate fi demonstrat utiliznd


axiomele cu ajutorul crora s-a definit structura algebrei.
3.1.2. Variabile i funcii logice
O funcie y f ( x1 , x2 ,..., x2 ) reprezint o funcie logic dac
domeniul de definiie este reprezentat de produsul cartezian {0,1}n, cu alte
cuvinte f : { 0,1 }n { 0,1 } .
O funcie logic (boolean) pune n coresponden o combinaie
binar asociat produsului cartezian cu una din valorile 0 sau 1. Acest
aspect este evideniat n figura 3.1 unde combinaia binar este reprezentat

30.08.2012

4 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

de starea a n comutatoare interconectate iar valoarea funciei de starea de


conducie sau nu a gruprii.
K

K0
K1

Kn

N
sau

Fig. 3.1. Ilustrarea definirii unei funcii logice.

n reprezentarea din figura 3.1 se consider c unui comutator


deschis i se asociaz valoarea logic 0, iar unuia nchis valoarea logic 1.
Existena unei ci de curent ntre bornele M i N depinde de modul de
interconectare al celor n comutatoare precum i de starea fiecruia. Aceast
dependen este exprimat matematic prin intermediul funciei logice
y f ( x1 , x2 ,..., x2 ) .
Deoarece o funcie logic (boolean) pune n coresponden o
combinaie binar asociat produsului cartezian cu una din valorile 0 sau 1,
rezult c ntr-un SN binar , cu n variabile se pot forma m 2 n

combinaii1. Acestea

la rndul lor se pot combina n N 2m 2 2

moduri, rezultnd posibilitatea definirii a N 2 2 funcii cu n variabile.


Exemplul 3.1.
Cu variabila binar x { 0 ,1 } se pot forma
logice i anume:
f 0 ( x ) 0;
f1( x ) 1;
f 2 ( x ) x;
f3( x ) x .

n general, ntr-un SN cu baza b se pot forma b n combinaii.

30.08.2012

5 / 58

N 2 2 4 funcii

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Conform precizrilor de mai sus cu dou variabile se pot forma


22

N 2 16 16 funcii logice ale cror valori sunt sistematizate n


Tabelul 3.3. Un asemenea tabel se numete tabel de adevr n care prin
convenie valoarea 0 corespunde unei afirmaii de tip FALS, iar valoarea 1
unei afirmaii de tip ADEVRAT.

Tabelul 3.3
f
x y

f0 f1

f2

f3

f4 f5

f6

f7

f8 f9 f10 f11 f12 f13 f14 f15

Din analiza Tabelului 3.3 se observ c perechile de funcii


f k f15k sunt complementare pentru k 0 ,1, ,15 . n continuare vor fi
prezentate funciile frecvent utilizate.

1. Funciile
f15 x , y 1 si f 0 x , y 0
constante 1 i 0.

sunt

funciile

2. Funciile
f14 x , y si f1 x , y sunt funciile logice SAU
respectiv SAU-NU.
3. Funciile f 6 x , y y si f 9 x , y y sunt funciile direct i
invers referitoare la variabila y.
4. Funciile f12 x , y x si f 3 x , y x sunt funciile direct i
invers referitoare la variabila x.
5. Funciile
f 4 x , y si f11 x , y sunt funciile logice I
respectiv I-NU.
6. Funciile
f10 x , y si f 5 x , y sunt funciile logice SAU
EXCLUSIV respectiv SAU EXCLUSIV-NU.

Observaii
30.08.2012

6 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

1.

Pentru o parte din funciile de mai sus este larg utilizat


terminologia normal i/sau abreviat din limba englez,
conform corespondenei din Tabelele 3.4 i 3.5.

Tabelul 3.4
Denumire
Func
ie
f1
f4

f5
f10

Limba englez

Limba romn

Normal

Abreviat

SAU NU

NOT - OR

AND

NOR
AND
NXOR
XOR
NAND
OR

SAU-EXCLUSIV-NU NOT EXCLUSIVE-OR


SAU-EXCLUSIV

EXCLUSIVE - OR

f11

I NU

NOT - AND

f14

SAU

OR

2.

Funciile I (END), SAU (OR), NU (NOT) corespunznd


operatorilor din definirea algebrei boolene ca structur, se
numesc funcii logice de baz ntruct cu ajutorul lor se poate
exprima orice alt funcie logic.

3.

n tabelul 3.4 nu au fost incluse funciile NOT referitoare la


cele dou variabile.
Tabelul 3.5

Denumire
funcie

Ecuaie logic

AND

f4 x y x y

x
y

f4

OR

x
y

f14

f14 x y x y

XOR

f10 x y x y x y

x
y

NAND

x
y

f11

f11 x y x y

NOR

f1 x y x y

f1

NXOR

f5 x y x y x y

x
y
x
y

30.08.2012

7 / 58

Simbol

f10

f5

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Ilustrarea semnificaiei operatorilor logici se poate realiza prin


diagrame Venn, tabele de adevr, diagrame Karnaugh, scheme cu
comutatoare etc.
Reprezentarea cea mai comod i pretabil formalizrii este cea
realizat cu ajutorul tabelelor de adevr, o astfel de reprezentare fiind cea
din Tabelul 3.3.
Reprezentarea cu ajutorul diagramei Karnaugh const n marcarea
punctelor domeniului de definiie ntr-o diagram plan i precizarea
valorilor funciei n fiecare din aceste puncte. De exemplu n figura 3.2 este
reprezentat diagrama Karnaugh pentru o funcie de trei variabile cu
marcarea vecintilor punctului 010.

Dup cum se observ, trecerea de la o combinaie la alta pe laturile


diagramei Karnaugh se face prin modificarea unui singur bit.
Exemplul 3.2.
a) S se demonstreze axiomele absorbiei.
x ( x y ) x ; x x y x .
a.1) x ( x y ) x x x y x x y x ( 1 y ) x 1 x ;
a.2) x x y x ( 1 y ) x 1 x
b) S se implementeze cu pori NAND funciile logice NOT,
AND, OR.
b.1) a a a a a ;
b.2) a b a b a b (a b) (a b) ;
b.3) a b a b a b (a a) (b b) .

Rezult implementarea prezentat n schemele de mai jos.

30.08.2012

8 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

NOT

AND

a b

a
b
a
b

ab

OR

a
b

a b

ab

c) S se implementeze cu pori NAND funcia EXCLUSIVE OR.


a b a b a b
a b a b a b

; a b a b a b

innd cont de rezultatele anterioare se obine echivalena


a b [(a a) b)] [a (b b)]

evideniat n reprezentarea de mai jos


a

a b
a b

a b

O funcie logic se poate reprezenta dezvoltat n dou forme i


anume:
- forma disjunctiv canonic (FDC), cu utilizarea constituenilor
unitii;
- forma conjunctiv canonic (FCC), cu utilizarea constituenilor
lui zero.

30.08.2012

9 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

FDC presupune exprimarea funciei ca o disjuncie de conjuncii


(reuniune de intersecii) n care variabilele care au valoarea 0 se consider
negate.
FCC presupune exprimarea funciei ca o conjuncie de disjuncii
(intersecie de reuniuni) n care variabilele care au valoarea 1 se consider
negate.
Exemplul 3.3.
S se determine FDC i FCC pentru funcia
y ( x1 x3 ) ( x1 x3 ) .
Din motive de simplificare a scrierii semnul va fi nlocuit cu +
iar semnul cu .
1. Determinarea FDC
a) prin utilizarea proprietilor operaiilor logice.
Dac x este o variabil logic se tie c x x 1 si x 1 x , astfel
nct rezult
FDC: y ( x2 x2 ) x1 x3 ( x2 x2 ) x1 x3
y x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3
b) prin utilizarea diagramelor Karnaugh.
Pentru fiecare termen se completeaz cu 1 n-k+1 poziii n diagram, unde
n este numrul de variabile iar k este numrul de variabile asociat
termenului. Dac funcia conine de exemplu x1x2 atunci se pune 1 n
csuele corespunztoare combinaiilor x1x2x3 i x1x2 x 3 . Pentru funcia y
din exemplu diagrama Karnaugh este prezentat n figura 3.4.

x1x2
00
x3
0
1

01

11

10

Fig. 3.3. Diagrama Karnaugh pentru


determinarea FCD

30.08.2012

10 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Prin interpretarea datelor din figura 3.4 rezult:


FDC:

y x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 .

Se observ c rezultatele obinute prin cele dou metode coincid.


2. Determinarea FCC
a) prin utilizarea proprietilor operaiilor logice.
Dac x este o variabil logic se tie c x x 0 si x 0 x .
FCC: y x1 x1 x1 x3 x3 x3 x1 x3 ;

y x1 ( x1 x3 ) x3 ( x1 x3 ) ;
y ( x1 x3 ) ( x1 x3 ) .
Dac u i v sunt dou variabile logice atunci

( u v ) ( u v ) u u u v v u v v u u ( v v ) u u u
n aceste condiii
x1 x3 ( x1 x2 x3 ) ( x1 x2 x3 );
x1 x3 ( x1 x2 x3 ) ( x1 x2 x3 );
y ( x1 x2 x3 ) ( x1 x2 x3 ) ( x1 x2 x3 ) ( x1 x2 x3 ).

b) prin utilizarea diagramelor Karnaugh. Respectnd regula


de la determinarea FDC (numai c n loc de unu se trece zero), FCC
rezult din figura 3.3.
FCC:
y ( x1 x2 x3 ) ( x1 x2 x3 ) ( x1 x2 x3 ) ( x1 x2 x3 ).
Se observ c cele dou obinute pentru FCC coincid.
3.1.3. Minimizarea funciilor logice
Minimizarea unei funcii booleene implic reducerea la minimum a
numrului de variabile i a simbolurilor de funcii implicate n
reprezentarea acesteia.
Metodele de minimizare pot fi ncadrate n dou categorii: analitice
i grafice.

30.08.2012

11 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Metodele analitice constau n principal din calcule efectuate n


funcia dat pe baza axiomelor i teoremelor algebrei binare. Principiul
metodei va fi ilustrat pe funcia de trei variabile din exemplul precedent.
Pentru nceput se va considera pentru funcia FDC
y x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3
Aplicnd distributivitatea pentru primii i respectiv pentru ultimii
doi termeni rezult:
y x1 x3 ( x2 x2 ) x1 x3 ( x2 x2 ) ;
respectiv

y x1 x3 x1 x3.
Minimizarea se poate realiza pornind i de la FCC

y ( x1 x2 x3 ) ( x1 x2 x3 ) ( x1 x2 x3 ) ( x1 x2 x3 ).
Asociind primii doi i respectiv ultimii doi factori i efectund
produsele rezult:
( x1 x2 x3 ) ( x1 x2 x3 ) ( x1 x3 ) ( x1 x3 )
( x1 x3 ) x2 ( x1 x3 ) x2 x2 x2
( x1 x3 ) ( x2 x2 ) x1 x3
( x1 x2 x3 ) ( x1 x2 x3 ) ( x1 x3 ) ( x1 x3 )
( x1 x3 ) x2 ( x1 x3 ) x2 x2 x2
( x1 x3 ) ( x2 x2 ) x1 x3

y ( x1 x3 ) ( x1 x3 ) , respectiv
y x1 x3 x1 x3. .
Metodele grafice presupun constituirea unor tabele sau matrie de
combinaii, din care prin grupri i asocieri corespunztoare rezult
reduceri. Din categoria acestor metode, n continuare se vor face referiri la
cea care utilizeaz diagrama Karnaugh.
Dup cum s-a vzut, dou celule adiacente ntr-o diagram
Karnaugh difer prin valoarea unei singure variabile. Dac termenilor din
dou asemenea celule li se aplic proprietatea de distributivitate i
principiul terului exclus se elimin variabila care i schimb valoarea.

30.08.2012

12 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Referitor la acest procedeu de reducere i implicit de minimizare


pot fi formulate urmtoarele observaii:
a) un grup de 2m celule vecine ocupate cu uniti permite eliminarea
a m variabile;
b) pentru reducere, fiecare celul trebuie s fac parte dintr-o
grupare, dar poate fi inclus n mai multe;
c) cel mai avansat grad de simplificare se obine dac unitile
dintr-o diagram Karnaugh sunt grupate ntr-un numr minim de grupri
fiecare grup coninnd un numr minim de uniti;
d) pentru a putea aplica n mod succesiv proprietatea de
distributivitate i teorema terului exclus, numrul unitilor din gruprile
formate trebuie s fie o putere ntreag a lui 2.
Reguli similare pot fi deduse i pentru deducerea formei
conjunctive minime. n acest caz, n diagrama Karnaugh se vor grupa
zerourile. Se va scrie apoi disjuncia grupurilor de zerouri vecine, iar forma
minim va fi conjuncia grupurilor de coordonate. Metoda grafic de
minimizare cu ajutorul diagramelor Karnaugh va fi ilustrat prin urmtorul
exemplu.
Exemplul 3.4.
Fie funcia logic de trei variabile y f ( x1 , x2 , x3 ) cunoscut prin
intermediul tabelei de adevr.
x1
x2
x3
y

0
0
0
0

0
0
1
1

0
1
0
0

0
1
1
1

1
0
0
1

1
0
1
0

1
1
0
1

1
1
1
0

S se determine formele minime disjunctiv i conjunctiv cu


ajutorul diagramelor Karnaugh.
a) determinarea formei minime disjunctive.
Se construiete diagrama Karnaugh, unde se reprezint constituenii
x1x2
unitii:
00
01
10
11
x3

0
1

30.08.2012

1
13 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Din grupele ncercuite se elimin variabila x2 att pentru grupa din


linia superioar ct i pentru cea din linia inferioar astfel nct rezult
pentru forma minim disjunctiv (disjuncie de conjuncii) expresia:

y D x1 x3 x1 x3.
b) determinarea formei minime conjunctive.
Se construiete diagrama Karnaugh, unde se reprezint constituenii
lui zero:
x1x2
00
x3
0

01

11

10

Ca i n situaia precedent din grupele ncercuite se elimin


variabila x2 astfel nct rezult pentru forma minim (conjuncii de
disjuncii) expresia:

yC ( x1 x3 ) ( x1 x3 ) .
Din tabela de adevr prezentat mai jos rezult echivalena celor
dou forme minime obinute.
x1

x3

x1

x3

x1 x 3

x1 x 3

0
0
1
1

0
1
0
1

1
1
0
0

1
0
1
0

0
1
0
0

0
0
1
0

x1 x 3 x1 x 3
1
1
1
0

0
1
1
1

yD

yC

0
1
1
0

0
1
1
0

Etapa care succede minimizrii este aceea a implementrii funciei


logice. Aceast implementare se realizeaz cu elemente de comutaie de
diverse tipuri cum ar fi: contacte i relee, pori logice etc.
O manier de implementare o reprezint utilizarea porilor ANDOR-NOT, figura 3.4.a i NAND figura 3.4.b.

30.08.2012

14 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

x1
x3

x1

yC

yD
x3
a

Fig. 3.4. Implementarea funciilor logice minimizate cu pori AND_OR_NOT :


a - forma minim disjunctiv; b - forma minim conjunctiv.

Utiliznd rezultatele obinute


reprezentrile din figurile 3.5.a i 3.5.b.

x1

x3

x1

x1 x3

exemplul

3.2.b,

rezult

yD

x3

a)

x1 x3
x1

x3

x1

x1 x 3
yC
b)

x3

x1 x 3
Fig. 3.5. Implementarea funciilor logice minimale: a - minim disjunctive cu
pori NAND; b - minim conjunctive cu pori NOR.

30.08.2012

15 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

3.2.

Proiectarea structurilor combinaionale

Caracteristica principal a circuitelor logice combinaionale (CLC)


o reprezint dependena mrimilor de ieire ale acestora numai de
combinaiile aplicate la intrare, nu i de timp.
Schema bloc a unui CLC este prezentat n figura 3.6. Acesta
dispune de intrrile x0, x1, xm-1 i genereaz n exterior ieirile y0, y1, ,
yn-1. Funcionarea CLC poate fi descris cu ajutorul unei funcii logice (de
comutaie).
x0
x1

CLC

xm-1

y0
y1
yn-1

Fig. 3.6. Circuit logic combinaional.

Pe baza reprezentrii din figura 3.6 se pot defini funciile de


tranziie a ieirilor pentru un CLC dup cum urmeaz:

y0 g 0 ( x0 , x1 , x2 ,...,xm 1 ) ;
y1 g1( x0 , x1 , x2 ,..., xm 1 ) ;

(3.1)

y n1 g n 1( x0 , x1 , x2 ,..., xm 1 ) .
Modelul matematic al unui CLS este reprezentat de tripletul
(3.2)
CC ( X ,Y , g ) ,
unde - X x0 , x1 , x2 ,..., xm1 este mulimea variabilelor binare de intrare;
- Y y0 , y1 , y 2 ,..., y n1 este mulimea variabilelor binare de ieire;
- g : X Y

este funcia de tranziie a ieirilor relaia (3.1).

n mod uzual tratarea CLC implic soluionarea a dou tipuri de


probleme reprezentate de analiza i sinteza acestor circuite.
Analiza CLC pleac de la cunoaterea schemei acestuia i
urmrete stabilirea funcionrii, concretizat prin tabela de adevr sau prin

30.08.2012

16 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

scrierea expresiilor variabilelor de ieire funcie de cele de intrare respectiv


a funciilor de tranziie a ieirilor din relaia (3.1) .
Sinteza CLC presupune parcurgerea urmtoarelor etape pentru
stabilirea structurii circuitului:
- definirea funciilor logice;
- minimizarea acestora;
- obinerea schemei circuitului.
Operaia de sintez se reprezint practic proiectarea CLC.
n structura unui calculator numeric se ntlnesc numeroase tipuri
de CLC ntre care reprezentative sunt: convertoarele de cod,
codificatoarele i decodificatoarele, multiplexoarele i demultiplexoarele,
comparatoarele, detectoarele i generatoarele de paritate, ariile logice
programabile, memoriile i circuitele aritmetice.
n continuare vor fi prezentate elemente privind sinteza
(proiectarea) unor CLC uzuale din structura unui calculator numeric.

30.08.2012

17 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

3.2.1. Convertoare de cod

B1B0

00

B3B2

01

11

10

00
B3

B2

B1

B0

G3

G2

G1

G0

0
0

0
0

0
0

0
1

0
0

0
0

0
0

0
1

11 1

10 1

0
0

1
1

0
0

0
1

0
0

1
1

1
1

0
1

01

11

10

1
1

0
0

0
0

0
1

1
1

1
1

0
0

0
1

1
1

1
1

0
0

0
1

1
1

0
0

1
1

0
1

3.3.

01

G3

B1B0

00

B3B2

00
01 1

G2

11

10 1

01

11

10

B1B0

00

B3B2

00
01 1

11
10

G1
1

11

10

a
B1B0
B3B2

Fig. 3.7. Elemente aferente proiectrii


unui convertor de cod binar natural
Gray: a tabela de adevr; b
diagramele Karnaugh.

30.08.2012

18 / 58

00

01

00

01

11

10

G0

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Convertoarele de cod sunt CLC care permit trecerea dintr-un cod


binar n altul. Sinteza unui asemenea CLC se va exemplifica pentru un
convertor din cod binar n cod Gray. n figura 3.7 se prezint elementele
aferente sintezei acestui tip de convertor, n care B3 B2 B1 B0 reprezint
cuvntul binar aplicat la intrare, iar G3 G2 G1 G0 cuvntul binar obinut la
ieire.
Efectund reducerile n diagramele Karnaugh rezult relaiile de
implementare:
G3 B3 ;
(3.3)

G2 B3 B2 B3 B2 B3 B2
G1 B2 B1 B2 B1 B2 B1
G0 B1 B0 B1 B0 B1 B0 .

n figura 3.8 se prezint dou variante de implementare ale relaiilor (3.3).


B3 B2 B1 B0

a
G3

B3

G2

b
G3

B2

G2

G1 B1

G1

B0

G0

G0

Fig. 3.8. Schema convertorului din cod binar natural n cod Gray:
a - realizarea cu pori NAND; b - realizarea cu circuite EXCLUSIVE OR.

30.08.2012

19 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

3.2.2. Codificatoare i decodificatoare


Codificatoarele sunt CLC la care activarea unei intrri, dintr-un
grup de m, conduce la apariia unui cuvnt de cod la ieire format din n bii
(m2n). n figura 3.9 se prezint elemente aferente unui codificator cu m=3
i n=2.
X
Y

CODIF

X
0
1
0
0

Y
0
0
1
0

Z
0
0
0
1

A
0
0
1
1

B
0
1
0
1

A X (Y Z )
B Y ( X Z )

Fig. 3.9. Codificator cu m=3 i n=2 (schema bloc, tabela de


adevr, funcii logice.

Decodificatoarele sunt CLC la care se activeaz una sau mai multe


ieiri funcie de cuvntul de cod aplicat la intrare. Decodificarea este
necesar n aplicaii care se refer la adresarea memoriilor, afiarea
numeric, multiplexarea datelor etc. n continuare se vor prezenta elemente
aferente decodificatorului BCD zecimal.

Y0

Y1
C
B
A

Decodifi
cator
BCD - Z
Y9

Fig. 3.9.a. Decodificator


BCD-Z :schema bloc,
tabela de adevr.

30.08.2012

D C B A 0 1
- 0
0 0 0 0 1
0 0 0 1 0 1
0 0 1 0 0 0
0 0 1 1 0 0
0 1 0 0 0 0
0 1 0 1 0 0
0 1 1 0 0 0
0 0 0
0 1 1 1
1 0 0 0 0 0
1 0 0 1 0 0
1 0 1 0
1 0 1 1 C O
1 1 0 0
1 1 0 1
1 1 1 0 I N
1 1 1 1

20 / 58

0
0
1
0
0
0
0
0
0
0

0
0
0
1
0
0
0
0
0
0

0
0
0
0
1
0
0
0
0
0

0
0
0
0
0
1
0
0
0
0

0
0
0
0
0
0
1
0
0
0

0
0
0
0
0
0
0
1
0
0

0
0
0
0
0
0
0
0
1
0

0
0
0
0
0
0
0
0
0
1

N A |

M B I

T E R Z I

S E

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Decodificatorul BCD-Z are ca intrri cele patru ranguri ale


reprezentrii n binar a cifrelor zecimale iar ca ieiri 10 variabile care
corespund celor 10 cifre zecimale. Fiecare din ieiri va trebui s aib
valoarea 1 atunci cnd combinaia valorilor logice de intrare corespunde
reprezentrii binare a cifrei zecimale asociate ieirii respective. n figura
3.9 se prezint elementele aferente sintezei decodificatorului.
Dup cum se observ combinaiile interzise sunt rejectate, apariia oricreia
dintre ele duce la stabilirea tuturor ieirilor n 1.

y0 D C B A

y3 D C BA

y6 D CBA

y1 D C B A

y4 D CB A

y7 D CBA

y5 D CB A

y8 DC B A y9 DC B A

y2 D C BA
C

y0
y1

y9

Fig. 3.9.b. Decodificatorul BCD-Z: funcii logice i implementare

3.2.3. Multiplexoare i demultiplexoare


Multiplexoarele sunt CLC care permit transferul datelor de la una
din intrri ctre o ieire unic. Selecia se face pe baza unui cuvnt de
selecie (adres). Din punct de vedere funcional MUX pot fi privite ca o

30.08.2012

21 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

reea de comutatoare comandate. MUX pot fi analogice sau numerice,


ultimele fiind specifice calculatoarelor numerice.
Numrul de bii n ai cuvntului de selecie pentru un multiplexor cu
N intrri i intrare de activare (ENABLE) este dat de relaia

n log 2 N 1 ,

(3.4)

care n cazul n care N este putere a lui 2, respectiv N 2 k

n log 2 2k 1 k 1 .

devine
(3.5)

n continuare se va face sinteza unui MUX 4:1 numeric realizat cu


pori logice, pentru care aplicnd relaia (3.5) rezult n=2.
EN
D3
D2
D1
D0

B A

D3

MUX

EN
1
1
1
1
0

B
0
0
1
1
*

A
0
1
0
1
*

f = Canal
D3
D2
D1
D0
-

f EN (B A D3 B A D2 B A D1 B A D0)

D3
D2
D1
D0

D2

f
f

D1

D0

Fig. 3.10. Multiplexor 4:1.

EN

30.08.2012

22 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Demultiplexoarele sunt CLC care realizeaz transmiterea datelor de


la o unic intrare ctre o ieire selectabil cu ajutorul unui cuvnt de
selecie (adres), a crei mrime se determin tot cu ajutorul relaiilor (3.4)
i (3.5) n care N reprezint numrul canalelor de ieire. Ca i MUX
demultiplexoarele reprezint practic o reea de comutatoare comandate,
putnd fi numerice sau analogice. n figura 3.11 se prezint elemente
specifice sintezei unui DMUX numeric 1:4.
EN
D

O0
O1
O2
O3

DMUX

B A

B
0
0
1
1
*

A
0
1
0
1
*

O0
D

O1

O2

O3

D
D
-

D
-

O0 EN B A D O2 E B A D
O0
O1
O2
O3

EN
1
1
1
1
0

O1 EN B A D O3 E B A D

O0

O1
O2

O3

Fig. 3.11. Demultiplexor 1:4.

EN

30.08.2012

23 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

3.2.4. Circuite de complementare


Circuitul de complementare este un CLC care funcie de comenzile
aplicate poate realiza una dintre urmtoarele funcii:
- complementarea fa de unu a biilor cuvntului de la intrare;
- lsarea neschimbat cuvntul de la intrare;
- forarea n unu a biilor cuvntului de la ieire;
- foreaz n zero a biilor cuvntului de la ieire.
n figura 3.12 se prezint elementele aferente unui circuit de
complementare pe 4 bii, pentru care din tabela de adevr s-au obinut
urmtoarele funcii logice ale ieirilor:
y1 x1 A B x1 A B A B A ( x1 B x1 B ) A B A ( x1 B ) A B
y 2 x2 A B x 2 A B A B A ( x2 B x 2 B ) A B A ( x2 B ) A B
y3 x3 A B x3 A B A B A ( x3 B x3 B ) A B A ( x3 B ) A B
y 4 x4 A B x 4 A B A B A ( x4 B x 4 B ) A B A ( x4 B ) A B

Comenzi

Ieiri

y1 y2

y3

y4

x1

x2

x3

x4

x1

x2

x3

x4

x1

y1

x2

y2

x3

y3

x4

y4

Fig. 3.12. Circuit de complementare B


pe 4 bii.
A

3.2.5. Comparatoare
Comparatoarele numerice sunt CLC care permit determinarea
relaiei existente ntre dou numere. Ieirile unui comparator sunt

30.08.2012

24 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

reprezentate de trei funcii care corespund tipului de relaie existent ntre


numerele aplicate la intrare (<,=,>).
n figura 3.13 sunt prezentate elemente aferente sintezei unui
comparator pe un bit.

y1 (A<B)

A
COMP

y2 (A=B)

y3 (A>B)

y1
y2

y1

y2

y3

y3

y1 A B
y2 A B A B A B
y3 A B

Fig. 3.13. Comparator pe un bit.

Prin interconectarea mai multor comparatoare pe un bit se pot obine


comparatoare pentru cuvinte binare formate din mai muli bii.
3.2.6. Detectoare de paritate
Detectoarele de paritate sunt CLC cu n intrri i dou ieiri PAR i
IMPAR care sunt complementare. Ieirea PAR are valoarea 1 atunci cnd
numrul de valori logice 1 n combinaia de la intrare este par i 0 atunci
cnd acest numr este impar.
n figura 3.14 se prezint elementele aferente sintezei unui detector
de paritate cu n=4 intrri.
Dup cum se observ n tabela de adevr funciile PAR i IMPAR
sunt complementare, respectiv IMPAR= PAR . Din aceast cauz n figura
3.14 a fost reprezentat diagrama Karnaugh pentru funcia PAR. Aa cum

30.08.2012

25 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

reiese din diagram, nu se poate opera nici o reducere asupra funciei care
va fi:

PAR D C B A D C BA D CB A D CBA DC B A DC BA DCB A DCBA


n relaia de mai sus prin aplicarea proprietilor operaiilor logice
rezult:

PAR

D
C
B

DETPAR

IMPAR
a
BA

00

01

11

10

00

01

11

10

DC

D
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

C
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

A
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

PAR
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1

IMP
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0

Fig. 3.14. Detector de paritate: a schema bloc; b - tabela de adevr; c diagrama Karnaugh a funciei PAR.

PAR D C (B A BA) D C(B A BA ) DC (B A BA ) DC(B A BA)


PAR (D C DC)(B A BA) (D C DC )(B A BA )

30.08.2012

26 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Dar
D C DC D C DC ( D C ) ( DC ) ( D C ) ( D C ) (D C) (D C )
DC D C D C
B A BA B A
Notm

D C C D Y
B A A B X
Rezult:
PAR Y X YX Y X (D C) (B A)
IMPAR PAR (D C) (B A)

relaii a cror implementare se prezint n figura 3.15.


Y

D
C

PAR
B
A

IMPAR
X
Fig. 3.15. Logigrama pentru detectorul de paritate.

3.2.7. Sumatoare
Semisumatorul elementar, pentru care schema logic i tabela de
adevr sunt prezentate n figura 3.16, adun dou numere a cte un bit xi i
yi i genereaz la ieire 2 bii: suma Si i transportul ci ctre rangul urmtor.
xi
0
0
1
1

yi
0
1
0
1

Si
0
1
1
0

ci+1
0
0
0
1

xi
yi

ci+1

Fig. 3.16. Semisumatorul elementar.

30.08.2012

Si

27 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Schema din figura 3.16 a rezultat pe baza relaiilor:

S i xi yi xi yi xi yi
ci 1 xi yi
.
Sumatorul elementar este un CLC care adun dou numere binare
xi, yi cu un transport de intrare ci, genernd la ieire doi bii: suma Si i
transportul ci+1 ctre rangul superior, conform tabelului 3.6.
Tabelul 3.6
xi

yi

ci

Si

ci+1

Si xi ( yi ci )

ci 1 xi yi ci ( xi ci ).

ci

xi

yi

Din tabelul 3.6 rezult:


Si xi yi ci xi yi ci xi yi ci xi yi ci

ci 1 xi yi ci xi yi ci xi yi ci xi yi ci

sau dup efectuarea unor calcule:

Relaiile de mai sugereaz obinerea


sumatorului
elementar
din
dou
semisumatoare conform figura 3.17.
Pentru adunarea a dou cuvinte de n bii
este necesar s se nserieze n astfel de
sumatoare ca n figura 3.18.

xi
yi

Si

Si

ci+1

ci
ci+1
Fig. 3.18. Sumatorul elementar
pe .

30.08.2012

28 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Cele dou numere care urmeaz a se aduna se gsesc n registrele X


i Y, iar rezultatul n registrul S. Transportul este depus ntr-un bistabil
exterior care pentru un microprocesor este indicatorul de transport CY
(Carry).

xn-1

x1

x0

Registrul X

yn-1

y1

y0

Registrul B

cn-2

CY

c2

s1

sn-1

c1

s0

Fig. 3.18. Sumator pentru cuvinte de n bii.

30.08.2012

29 / 58

c0

Registrul S

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

3.3.

Proiectarea structurilor secveniale

Circuitele logice secveniale (CLS) sunt circuite ale cror mrimi


de ieire, la un moment dat, depind att de combinaia mrimilor de intrare,
ct i de starea sa, respectiv de succesiunea strilor prin care respectivul
circuit a trecut. Pornind de la aceast definiie rezult c la un CLS (spre
deosebire de un CLC) exist legturi de reacie de la intrri ctre ieiri i n
plus nu se mai neglijeaz timpul de transfer al semnalelor (ntrzierile), nici
pe calea direct nici pe cea de reacie. Aa cum reiese din figura 3.19 un
CLS conine n structura sa un CLC i un grup de elemente de ntrziere 0,
1 p-1 situate pe calea de reacie.
x0
x1
xm-1

..
.

..
.
CLC

z'0 (t)

z1(t)

z'1(t)

zp-1(t)

z'p -1(t)

z0(t)

y0
y1
yn-1

...

p-1

..

z p-1(t) z'p -1(t p -1 ).


z1(t) z'1(t 1 )
z0 (t) z0' (t 0 )
Starea actual q(t)

Starea urmtoare q(t)


q(t+)=q(t)

Fig. 3.19. Structura unui CLS asincron.

30.08.2012

30 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

La un moment oarecare de timp t, circuitului CLS i se asociaz


starea sa intern care poate fi exprimat de valorile variabilelor secundare
de intrare n CLC respectiv z0(t) , z1(t) ,, zp-1 (t). Cuvntul format din cele
p variabile secundare de intrare la un moment dat (din mulimea de
2pcuvinte) reprezint cuvntul de stare q(t) al CLS sau starea curent
(actual) a acestuia.
Intrrile secundare z0(t) , z1(t)

z'p 1,

secundare

,, zp-1(t) reprezint ieirile

....,z1' ,z'0 ntrziate

cu timpii p1, ....,1,0 . Considernd


ntrzierile i egale, se poate spune c starea intern curent va deveni
stare urmtoare dup un timp respectiv q(t ) q(t ) .
Pe baza reprezentrii din figura 3.19 se pot defini seciunile
modelului matematic pentru un moment t, aferent unui CLS dup cum
urmeaz:
- funcii asociate tranziiei ieirilor, care reflect transferul
semnalelor de la intrare la ieire n funcie de starea curent respectiv:
y0 g 0 ( x0 , x1 , x2 ,..., xm 1 , z0 , z1 , z2 ,..., z p 1 ) ;
y1 g1( x0 , x1 , x2 ,..., xm1 , z0 , z1 , z 2 ,..., z p 1 ) ;

yn 1 g1( x0 , x1 , x2 ,..., xm1 , z0 , z1 , z 2 ,..., z p1 ) ,

(3.6)

- funcii asociate tranziiei strilor, care reflect transferul strii


actuale q(t) pentru un anumit cuvnt de intrare respectiv:
z0 f 0 ( x0 , x1 , x2 ,..., xm 1 , z0 , z1 , z2 ,..., z p 1 ) ;
z1 f1( x0 , x1 , x2 ,..., xm 1 , z0 , z1 , z2 ,..., z p 1 ) ;

(3.7)

zp 1 f1( x0 , x1 , x2 ,..., xm1 , z0 , z1 , z 2 ,..., z p1 ) .

Sintetic modelul matematic al unui CLS este reprezentat de


cvintuplul
(3.8)
C s ( X , Y , Q, f , g ) ,

30.08.2012

31 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

unde - X x0 , x1 , x2 ,..., xm1 este mulimea variabilelor binare de intrare;


- Y y0 , y1 , y 2 ,..., y n1 este mulimea variabilelor binare de ieire;

- Q q0 , q1 ,q2 ,...,q p
este mulimea strilor CLS;
2 1
- f : X Q Q

este funcia de tranziie a strilor relaia (3.7);

- g : X Q Y

este funcia de tranziie a ieirilor relaia (3.6).

Un CLS de tipul celui prezentat la care starea urmtoare devine


stare curent numai dup un timp determinat de ntrzierile inerente ale
CLC se numete CLS asincron (CLSA). Deoarece mulimea funciilor
(respectiv a cuvintelor) care se pot forma pe cele trei mulimi este finit,
CLS se numete cu stri finite. Un neajuns al CLSA este reprezentat de
faptul c acestea pot fi uneori instabile.
Acest neajuns este ntotdeauna eliminat dac pe linia de reacie
ntrzierea este nlocuit cu un circuit de memorie, potrivit reprezentrii
din figura 3.20. Aceast memorie va fi citit la intervale de timp , adic va
introduce o ntrziere, care poate fi controlat cu T perioada
generatorului de tact. Un CLS la care starea urmtoare q(t) devine stare
prezent numai dup aplicarea impulsului de ceas, respectiv

q(t T ) q ' (t ) se numete CLS sincron (CLSS).


Y=g(X, Q(t))
X

CLC

Q(t+1)=f(X, Q(t))

Q(t)

t+1

Fig. 3.20. Structura unui CLS sincron.

Dup cum se observ din figura 3.20, pentru mulimea cuvintelor


strii urmtoare se utilizeaz notaia Q(t+1), care semnific faptul c un

30.08.2012

32 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

cuvnt din mulimea strilor actuale Q(t) devine cuvntul strii urmtoare
numai dup trecerea unei uniti de timp respectiv a unei perioade de ceas2
Tranziia strii viitoare n curent se poate realiza fie pe frontul cresctor,
fie pe cel descresctor al impulsului de tact, fronturi notate n figura 3.20 cu
sgei orientate n sus respectiv n jos.
Eliminarea hazardului combinaional 3
specific structurii din
figura 3.20 se realizeaz prin introducerea unei memorii i pentru ieiri,
astfel nct generarea lui Y s se fac tot numai dup momentele de tact kT
(k=1, 2, 3,). Structura obinut, ilustrat n figura 3.21, este cunoscut
sub denumirea de automat secvenial de tip Mealy.
Y
X
Q(t)

CLC

Q(t+1)

T
t

t+1

Fig. 3.21. Structura unui automat secvenial de tip Mealy.

n situaia n care ieirile sunt funcii numai de strile actuale


respectiv,
(3.9)
Y g( Q ) ,
se obine CLSS cu structura ilustrat n figura 3.22 cunoscut ca ca automat
secvenial de tip Moore. Este de menionat faptul c c exist algoritmi care
permit transformarea n ambele sensuri a celor dou tipuri de automate ns
prezentarea lor nu face obiectul prezentei lucrri.
2

Se obinuiete ca aceast notaie s se utilizeze i pentru celelalte mulimi X


respectiv Y.
3
Acest hazard se datoreaz faptului c propagarea prin CLC nu este instantanee i
prin urmare, cuvntul corect Y la ieire apare numai dup trecerea celui mai lung
timp de propagare prin reeaua combinaional. Cuvintele care apar anterior acestui
moment sunt considerate eronate.

30.08.2012

33 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

X
Q(t+1)
Q(t)

Q(t)

CLC
1

CLC
2

T
t

t+1

Fig. 3.22. Structura unui automat secvenial de tip Moore.

Exist mai multe modaliti de descriere a evoluiei unui CLS cu


modelul (3.8), dar o importan aparte prezint tabelele de tranziii,
grafurile de tranziii i organigramele 4.

Un tabel de tranziii exprim toate transformrile strii


urmtoare i ale ieirii, relaiile (3.7) i (3.6) sub form tabelar. n figura
3.23 sunt ilustrate asemenea reprezentri pentru un automat Mealy
respectiv Moore.
X
Q
q0

x0

...

xm-1

f(x0,q0);
g(x0,q0)

...

f(xm-1,q0);
g(xm-1,q0)

q0

q1

f(x0,q1);
g(x0,q1)

...

(xm-1,q1);
g(xm-1,q1)

q1

...

...

...

...

...

f(xm-1,q2p-1);
g(xm-1,q2p-1)

q2P-1

q2P-1

f(x0,q2p-1);
...
g(x0,q2p-1)

a)

x0

...

xm-1

f(x0,q0);
f(xm-1,q0)
...
g(x0,q0)
g(xm-1,q0)
f(x0,q1);
(xm-1,q1)
...
g(x0,q1)
g(xm-1,q1)
...

...

...

Y
g(q0)

g(q1)
...

f(x0,q2p-1)
f(xm-1,q2p-1)
g(q2p-1)
...
p
g(x0,q2 -1)
g(xm-1,q2p-1)

b)

Fig. 3.23. Reprezentarea cu ajutorul tabelelor de tranziii a automatelor sincrone:


a de tip Mealy, b de tip Moore.

La automatul Mealy figura 3.23 a pe prima linie se nscriu toate


mrimile de intrare (respectiv xi) , iar pe prima coloan toate strile
4

Acestora li se mai pot aduga i diagramele de timp ale semnalelor aferente CLS.

30.08.2012

34 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

circuitului (respectiv qj ). La intersecia unei coloane corespunztoare unei


intrri xi cu o linie corespunztoare unei stri qj se nscrie starea

urmtoare dat de funcia f respectiv ieirea dat de funcia g. Dac


CCLSS este de tip Moore atunci ieirea este dependent numai de
stare i tabelul de tranziii arat ca n figura 3.23 b.

Un graf de tranziii constituie o reprezentare grafic a


modelului matematic al unui CLS. Strile circuitului sunt trecute n
cerculee care sunt nodurile grafului. ntre dou stri qj i qk exist un arc
orientat, de la qj la qk dac i numai dac exist o mrime de intrare xi
astfel nct f ( xi , q j ) qk i se obine o mrime de ieire yi g ( xi , q j ) ..
Dac se ndeplinete condiia pe arc se nscrie perechea xi, yi i graful
obinut corespunde unui automat Mealy. La automatele Moore ntruct
ieirile depind numai de stri acestea nu se mai nscriu pe arce ci n
interiorul cerculeelor aferente nodurilor. Pentru exemplificare, n figura
3.24 se prezint dou exemple de grafuri pentru cele dou tipuri de
automate.
x
x1, y1

q1
x2, y2

x3, y3

q2, y2

q2

x1

x3

x2

x2, y2

q1, y1

x2

x1, y1
q3, y3

q3
a)

b)

Fig. 3.24. Reprezentarea cu ajutorul grafurilor de tranziii a automatelor


sincrone: a de tip Mealy, b de tip Moore.

Utilizarea organigramelor permite o reprezentare eficient


e evoluiei unui automat secvenial. Este posibil evidenierea tranziiei
ntre stri cu materializarea intrrilor i ieirilor funcie de realizarea unor
condiii. Pentru exemplificare n figura 3.25 se prezint fragmente de
scheme logice pentru cte un automat Mealy respectiv Moore.

30.08.2012

35 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Starea 5

3
Nu

X=x1
Starea 3

Se realizeaz ntr-un
singur tact

Da

X=x2

Nu

a)

Da

X=x3

Nu

X=xn

Da

Nu

Starea
urmtoare

Da

Y = y1

Y = yn

Y = y7

Y = y15

12

2p-1

Starea 9
Y = y7

Starea 11

X=x1

Se realizeaz ntr-un
singur tact

Nu

Da

X=x2

Nu

b)

Da

X=x3

Nu

X=xn

Starea
urmtoare

Da

30.08.2012

10

Nu

Da

2p-1

Fig. 3.25. Reprezentarea cu ajutorul organigramelor a automatelor


sincrone: a de tip Mealy, b de tip Moore.

36 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

De exemplu pentru automatul Mealy (figura 3.25 a) la aplicarea


unui impuls de tact se trece din starea 5 n starea 3. n aceast stare se
testeaz cuvntul de intrare X , iar n funcie de configuraia biilor acestuia
rezult un anumit cuvnt de ieire i o anumit stare urmtoare. Astfel
pentru un cuvnt de intrare X=x3 rezult ieirea Y = yn i starea urmtoare
12 la care se trece ns la urmtorul impuls de ceas.
La automatul Moore figura 3.25 b, cnd se aplic un impuls de
tact se trece din starea 9 n starea 11, stare n care se genereaz
independent de cuvntul de intrare ieirea Y = y7. n funcie de structura
cuvntului de intrare X la urmtorul impuls de tact se trece la starea
urmtoare.
Din cele expuse se desprinde concluzia c CLC este un caz
particular de CLS la care mulimea strilor din relaia (3.8) este mulimea
vid respectiv Q . n aceste condiii funcia de tranziie a strilor
dispare, iar cea de tranziie a ieirilor devine
(3.10)
g : X Y ,
relaie care arat c domeniul de definiie al funciei g se reduce la spaiul
intrrilor.
Cu aceste precizri se poate spune c modelul matematic al unui
CLC este reprezentat de tripletul
(3.11)
CC ( X ,Y , g ) ,
care exprim faptul c un CLS cu mulimea strilor vid se reduce la un
CLC. n continuare vor fi prezentate elemente care privesc CLS cu o
prezen semnificativ n structura oricrui CN.
3.3.1. Circuite basculante bistabile
Circuitele basculante bistabile5 (CBB) au dou stri stabile la ieire,
iar prin aplicarea unor semnale de comand trec dintr-o anume stare n
starea complementar. CBB sunt CLS realizate pe baza unor structuri
fundamentale de tipul celor prezentate n figura 3.26, completate cu alte
elemente n vederea obinerii unei comportri specifice. Circuitul este
format din dou pori NOR sau NAND (partea de CLC) ntre care exist
ncruciate prin intermediul ntrzierilor 1 i 2 asociate propagrilor prin
pori. Aceste reacii realizeaz practic legtura ntre starea urmtoare i cea
5

Trigger n limba englez

30.08.2012

37 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

curent. Biii cuvntului de ieire y1, y2 se noteaz cu Q respectiv Q i


corespund biilor strii curente z1 i z2 . Deoarece y1= z1= Q i y2= z2= Q
rezult c CBB este un automat de tip Moore.
S
1

Intrri
R

CLC
2

z'1

z1= y1= Q
1

Ieiri
z'2

CBB

z2= y2= Q

a)

R
1

Intrri
S

z'1

CLC
2

z'2

z1= y1= Q
1

CBB

Ieiri
z2= y2= Q

b)
Fig. 3.26. CBB ca structuri fundamentale de CLS: a - cu pori NOR,
b cu pori NAND.

Explicarea funcionrii CBB cu structurile din figura 3.26 se va


face inndu-se cont de tabelele de adevr ale funciilor NOR i NAND 6. S
presupunem c la intrarea principal de scriere S a porii 1 din varianta a se
aplic 1 iar la intrarea principal de tergere R a porii 2 se aplic 0. Dup
un timp 1 ieirea Q va deveni 0 i se va aplica la intrarea secundar a
porii 2. Dac ieirea Q a acesteia nu este 1, atunci dup un timp 2 va
deveni 1 (deoarece la ambele intrri se aplic 0). Ieirea porii 2 se va aplica
pe intrarea secundar a porii 1, ntrind comanda S=1. Din acest moment

Singurele combinaii care vor genera 1 respectiv 0 la ieirile unor pori NOR
respectiv NAND vor fi 00 respectiv 11.

30.08.2012

38 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

(deci dup t> 1+ 27 de la aplicarea S=1 ) intrarea se poate anula respectiv


se poate face S=0, ieirile rmnnd neschimbate. Se observ c
parcurgnd un contur de forma cifrei opt se obine un semnal de reacie
care ntrete sau poate substitui comanda dat, starea circuitului fiind Q=1
( Q =0). Aceast reacie pozitiv (un defazaj de 360 ntre cele dou intrri
principal i secundar- ale unei pori se obine datorit negaiilor i
fiecreia dintre pori i a legturilor ncruciate..
n mod similar se poate explica i funcionarea CBB realizat cu
pori NAND din figura 3.26 b cu observaia c fixarea ieirii Q=1 se va
face prin S=0 (deoarece o poart NAND va avea ieirea n 1 cnd una dintre
intrri este n 0. Deoarece la acest CBB ieirile sunt active n 0 i nu n 1 (ca
la cel cu pori NOR ) cele dou intrri se mai noteaz S i R .
Din prezentarea modului de funcionare, se poate spune c practic
un CBB implementeaz un element de memorie care pstreaz un bit de
informaie. Cele dou structuri analizate sunt reprezentate n mod curent ca
n figura 3.27, n care ntrzierile se presupun fr a fi evideniate.
S

a)

b)
Q

R
R
0
0
0
0
1
1
1
1

S
0
0
1
1
0
0
1
1

Qt Qt+1
0
0
1
1
0
1
1
1
0
0
1
0
0
*
1
*

Qt 1

S Qt Qt+1

1
0
0
0
1
1
*
*

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

*
*
0
0
1
1
0
1

Qt 1
*
*
1
1
0
0
1
0

Fig. 3.27. Structuri fundamentale de CBB i tabele de excitaie: a - cu


pori NOR, b cu pori NAND.
7

n mod obiunit ntrzierile de propagare sunt egale astfel nct condiia se va


scrie t > 2.

30.08.2012

39 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

innd cont de tabelul de adevr din figura 3.27a rezult


urmtoarele caracteristici pentru CBB realizat cu pori NOR:
a) aplicarea semnalului zero la ambele intrri nu modific starea
bistabilului;
b) aplicarea semnalului S=1 simultan cu R=0 determin Qt+1=1
indiferent de starea anterioar Qt (aceast trecere a CBB n
starea Q=1 se numete poziionare Set n limba englez);
c) aplicarea semnalului R=1 simultan cu S=0 determin Qt+1=0
indiferent de starea anterioar Qt (aceast trecere a CBB n
starea Q=0 se numete tergere Reset n limba englez);
d) aplicarea simultan a semnalelor R=S=1 genereaz o stare
nedeterminat i de aceea aceast combinaie este interzis prin
impunerea condiiei R S 0 astfel nct cel puin o intrare s
fie zero.
Similar poate fi analizat CBB realizat cu pori NAND a crui
schem i tabel de adevr sunt reprezentate n figura 3.79 b, pe baza cruia
pot fi formulate urmtoarele caracteristici:
e)

aplicarea semnalului unu la ambele intrri nu modific starea


bistabilului;

f) aplicarea semnalului R 1 simultan cu S 0 determin


Qt+1=1 indiferent de starea anterioar Qt (aceast trecere a
CBB n starea Q=1 se numete poziionare Set n limba
englez);
g) aplicarea semnalului R 0 simultan cu S 1 determin
Qt+1=0 indiferent de starea anterioar Qt (aceast trecere a
CBB n starea Q=0 se numete tergere Reset n limba
englez);
h) aplicarea simultan a semnalelor R S 0 genereaz o stare
nedeterminat i de aceea aceast combinaie este interzis prin
impunerea condiiei R S 1 astfel nct cel puin o intrare s
fie unu.

30.08.2012

40 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

CBB analizat este cunoscut sub numele bistabil RS asincron


denumit i RS latch8 , n figura 3.28 prezentndu-se unele elemente
definitorii pentru varianta realizat cu pori NOR.
S

t
S

R Q

R
0
0
1
1

S
0
1
0
1

Nemod.

1
0
Ned.

t
Q
t
Q

Fig. 3.28. Circuit bistabil RS asincron: a simbol; b tabel de adevr


simplificat; c diagram de semnale.

O alt variant de bistabil RS este cea sincron la care pe lng


intrrile de date R i S este prezent i o intrare de sincronizare (tact, clock)
notat cu CLK. La un CBB RS sincron starea Q(t) se consider anterioar
aplicrii impulsului de sincronizare iar Q(t+1)posterioar acestuia. Este de
menionat c la CBB asincron starea urmtoare poate fi considerat cea
obinut dup un timp t2 de la aplicarea unui semnal pe intrrile de date.
La un CBB sincron datele se pot transfera de la intrare la ieire pe
frontul sau pe palierul impulsului de sincronizare. La comutarea pe front
datele se pot transfera pe frontul cresctor (simbol
la borna CLK ) sau
pe front descresctor (simbol
la borna CLK) . naintea frontului pozitiv
al impulsului de tact i dup frontul negativ al acestuia sunt specificaii
timpii de prestabilire 9i de meninere 10 n care nu trebuie s se schimbe
datele pe intrri. La CBB cu comutare pe palier datele sunt transferate
intervalul de timp n care impulsul de tact are valoarea unu.
O structur eficient de CBB este reprezentat de structura Master
Slave, ilustrat n figura 3.29 a. Un circuit RS master slave este format
din dou bistabile RS dintre QM cu rol de Master (stpn) i QS cu rol de
8

Latch zvor (engl)


Set-up time (engl) > 20 ns
10
Hold time (engl) > 5 ns
9

30.08.2012

41 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Slave (sclav). Bistabilul QM este validat pe frontul pozitiv al impulsului de


sincronizare, iar QS pe frontul negativ al acestuia. Cu alte cuvinte, pe
frontul pozitiv datele sunt transferate la ieirea QM , iar pe frontul negativ la
ieirea QS, aa cum reiese i din figura 329 b, n care se prezint o diagram
de timp pentru un bistabil RS sincron de tip MS.
CLK

t
S
S QM
CLK

S QS
CLK

R QM

R QS

t
R
t
QS

t
QS

t
a)

b)

Fig. 3.29. Circuit bistabil RS sincron MS: a structur;


b diagram de semnale.

Bistabilele sincrone, indiferent de tip, sunt prevzute n general cu


intrri prioritare de scriere (PRESET) respectiv de tergere (CLEAR).
Aceste intrri sunt asincrone i modific ieirile, neutraliznd intrrile de
date i de tact. De regul aceste intrri sunt active n starea zero , aspect
evideniat i de simbolizarea din figura 3.30.
S

PRESET

0
0
1
1

Q
CLK

CLEAR

a)

R Q(t+1)
0 Q(t)

1
0
1

Q(t) S

R Q(t+1)

0
0 0 x
0
0 1 0
1
1
1 0 1
0
Ned.
1 x 1
1
x indiferent 0 sau 1

b)

c)

PRESET

0
0
1
1

CLEAR

Q Q

0
1
0
1

Interzis

1
0

0
1

Nemod.

d)

Fig. 3.30. Circuit bistabil RS sincron cu basculare pe front cresctor: a simbol;


b tabel de adevr simplificat; c-tabel de excitaie; d tabel de
adevr pentru intrri prioritare.

30.08.2012

42 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

n figurile 3.27 i 3.30 apar tabele de excitaie care indic valorile


semnalelor ce trebuie aplicate la intrrile de date 11 pentru a se realiza o
trecere dorit de la starea Q(t) la o stare Q(t+1).
n afara bistabilelor RS o larg utilizare cunosc CBB de tip JK, D i T,
care vor fi tratate n cele ce urmeaz
Bistabilul JK provine dintr-un circuit RS la care se adaug dou
bucle de reacie total prin intermediul unor pori AND. n figura 3.83, se
prezint structura logic a unui CBB de tip JK bazat pe pori NOR n
variant asincron i sincron.
J

CLK
Q

K
a)
b)
Fig. 3.31. Structura logic a bistabilului JK: a varianta asincron;
b varianta sincron .

Principalul avantaj al acestui CBB const


nedeterminrii la combinaia de intrare 11.

n eliminarea

Intrrile de date sunt J (pentru scriere) i K (pentru tergere) crora


li se pot aduga intrrile asincrone prioritare PRESET i CLEAR active n
zero. Tabelul de adevr pentru intrrile prioritare, figura 3.32b, ale
bistabilului JK coincide cu cel al bistabilului RS (figura 3.30d).

11

Cu validarea prin impulsul de tact la CBB sincrone i fr impuls de tact la CBB


asincrone.

30.08.2012

43 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

PRESET

0
0
1
1

Q
CLK

K Q(t+1)
0 Q(t)

1
0
1

0
1
Q (t)

CLEAR

0
0
0
0
1
1
1
1

K Q(t) Q(t+1)
0 0
0

0
1
1
0
0
1
1

1
0
1
0
1
0
1

1
0
0
1
1
1
0

Q(t) J

K Q(t+1)

0 0 x
0
0 1 0
1
1 0 1
0
1 x 1
1
x indiferent 0 sau 1

Fig. 3.32. Circuit bistabil JK sincron: a simbol; b tabel de adevr; c-tabel


de excitaie dezvoltat; d tabel de excitaie redus.

Se observ c primele trei linii ale tabelei de adevr coincid cu


primele trei linii ale tabelei de adevr pentru bistabilul RS (figura 3.30 b).
Pentru combinaia 11, la aplicarea impulsului de tact bistabilul JK
basculeaz n starea opus Q (t) . Explicarea funcionrii bistabilului JK se
poate face i cu ajutorul diagramelor de timp prezentate n figura 3.33.
CLK
t
J
t
K
t
Q(t)
t
Q(t)

a
b

Fig. 3.33. Diagrame de timp pentru un CBB de tip JK:


a - cu basculare pe front pozitiv; b - cu basculare pe front negativ.

30.08.2012

44 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Bistabilul D are o asemenea structur (figura 3.34) nct permite


de asemenea eliminarea strii de nedeterminare specifice CBB RS sincron,
respectiv a acelei stri pentru care S=R=1.
PRESET

PRESET

CLK

Q
CLK

a)

b)

CLEAR
CLEAR

D Q(t+1)
0
0

Q(t) D Q(t+1)
0 0
0

c)

0
1
1

1
0
1

1
0
1

d)

Fig. 3.34. Bistabilul D : a - structura logic; b simbol; c tabel de adevr;


d tabel de excitaie.

Acest bistabil are o intrare de date D i una de sincronizare CLK la


care se pot aduga cele dou intrri prioritare PRESET i CLEAR. Valoarea
aplicat pe intrarea de date se transfer la ieire numai la aplicarea
impulsului de sincronizare (deci cu o ntrziere de un tact 12 ).
Din figura 3.86 se observ c tabela de adevr corespunde liniilor
doi i trei din tabelele de adevr ale bistabilelor RS i JK . Aceast
observaie creeaz posibilitatea transformrii acestor tipuri de CBB n
bistabile de tip D prin conectarea ntre cele dou intrri de date a unui
inversor.
Funcionarea bistabilului D se reflect i n diagrama de timp din
figura 3.35, n care s-a considerat varianta Master Slave la care comutarea
se face pe frontul negativ al impulsului de sincronizare.
12

Numele bistabilului D Delay are n vedere tocmai aceast ntrziere.

30.08.2012

45 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

PRESET

t
CLEAR

t
CLK

t
D

t
Q

t
Q

t
Fig. 3.35. Diagrame de timp pentru un CBB de tip D Master Slave.

Bistabilul T reprezint un bistabil JK cu o singur intrare de date T


obinut prin unirea intrrilor J i K, aa cum rezult din figura 3.36. Dup
cum se observ din tabelele de adevr i de excitaie la fiecare impuls de
ceas ieirea este basculat13 n starea complementar
PRESET

T
T

CLK
Q

Q
CLK

a)

b)

CLEAR

Q(t) T
T Q(t+1)
0 Q(t)

Q(t)

c)

0
0
1
1

0
1
1
0

Q(t+1)
0

1
0
1

d)

Fig. 3.36. Bistabilul T : a - structura logic; b simbol; c tabel de adevr;


d tabel de excitaie.
13

Numele bistabilului T Toogle (basculare) are n vedere tocmai aceast


funcionare.

30.08.2012

46 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Se observ c bistabilul comut n starea complementar numai n


urma aplicrii unui impuls de tact, revenind n starea iniial dup dou
impulsuri (cnd T=1). Aceast proprietate face ca CBB de tip T s fie
utilizai pe larg la realizarea numrtoarelor sau a altor circuite care
necesit o divizare cu 2 a numrului de impulsuri aplicate la intrare.
Pentru exemplificarea funcionrii acestui tip de bistabil n figura
3.37 se prezint o diagram de timp a semnalelor la care bascularea se
produce pe frontul pozitiv.
CLK

t
T

t
Q

t
Q

t
Fig. 3.37. Diagrame de timp pentru un CBB de tip T.

Referitor la utilizarea practic a CBB sunt utile urmtoarele


precizri:
- terminalele de intrare neutilizate se vor conecta la 1 logic;
- conectarea la mas a intrrilor PRESET sau CLEAR va fora
ieirea direct n starea 1 respectiv 0;
- la bistabilul RS realizat cu pori NOR cel puin una dintre
intrrile R i S trebuie s fie conectate la mas pentru a se
realiza condiia R S 0 ;
- la bistabilul RS realizat cu pori NAND cel puin o intrare, R
sau S , trebuie s fie lsat n aer pentru a se realiza condiia
R S 1;
- conectarea intrrilor J, K la 1 logic vor determina comutarea
la fiecare impuls de tact;
- comutarea se produce n general pe frontul pozitiv, iar n
implementare MS pe cel negativ al impulsului de sincronizare;
- exist posibilitatea de a realiza toate tipurile de CBB cu
ajutorul unui singur tip (exemplu JK).

30.08.2012

47 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

3.3.2. Registre
Registrele sunt CLS destinate memorrii cuvintelor binare i
transferrii acestora la cerere. Numrul de bii, egal cu numrul elementelor
de memorie, reprezint capacitatea registrului sau lungimea cuvntului
registru. Dup modul n care informaia poate fi introdus i extras
registrele se mpart n patru categorii i anume:
- registre serie;
- registre paralel;
- registre serie-paralel;
- registre paralel-serie,
cu structurile prezentate n figura 3.38.
Intrare/Scriere
Intrare/Scriere

Ieire/Citire

Dn-1 Dn-2 .

Dn-1 Dn-2 .

D0

D0

b)

a)
Ieire/Citire
Intrare/Scriere

Intrare/Scriere
Dn-1 Dn-2 .

D0

c)

Dn-1 Dn-2 .

Ieire/Citire

D0

d)

Ieire/Citire
Fig. 3.38. Tipuri de registre: a serie; b paralel;
c serie/paralel; d paralel/serie.

Registrele serie permit introducerea i extragerea succesiv, bit cu


bit, a datelor. Comanda se realizeaz cu ajutorul impulsurilor de
sincronizare, fiind necesar cte un impuls pentru fiecare cifr binar.
Registrele paralel permit introducerea i extragerea simultan a
biilor pentru toate rangurile. Din punctul de vedere al comenzii ambele
operaii se desfoar pe durata unui impuls de sincronizare.
Registrele serie-paralel denumite i convertoare serie-paralel
permit introducerea bit cu bit a datelor i extragerea simultan a biilor
ntregului cuvnt memorat.

30.08.2012

48 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Registrele paralel - serie denumite i convertoare paralel- serie


permit introducerea simultan a biilor cuvntului care se memoreaz,
urmnd ca extragerea s se efectueze succesiv, bit cu bit.
Pentru ilustrarea organizrii unui registru n figura 3.39 se prezint
elemente aferente unui registru paralel pe 4 bii realizat cu bistabili de tip
D.
Qi
D0
D

Q0

CLK

CLK

D0
D1
D2
D3

D1
D

Q1

CLK
P1

D2
D

P2

Q0
Q1
Q2
Q3
CLK

Q2

CLEAR

Di

CLK

ENABLE

Ali bii

D3
D

Clock

Q3

CLK

ENABLE
a)

b)

c)

Fig. 3.39. Registru paralel pe 4 ranguri: a structur; b organizarea unei


celule cu posibilitate de activare; c simbol de reprezentare.

Cuvntul de intrare de 4 bii D3 D2 D1 D0 va fi nscris n bistabile la


aplicarea impulsului de sincronizare (CLK). ntr-un sistem un registru este
identificat printr-o adres i ca urmare fiecare celul trebuie s prezinte o
logic de autorizare la activarea comenzii ENABLE, aa cum este indicat n
figura 3.39 b. Cnd registrul este adresat (ENABLE = 1) pe frontul pozitiv
al impulsului de tact se va nscrie bitul Di prezent la intrarea porii P1.
Cnd registrul nu este adresat (ENABLE=0) pe frontul pozitiv se va nscrie
bitul Qi prezent la intrarea porii P2. Se observ n acest caz c informaia
nu se modific la aplicarea impulsului de tact. Din simbolul prezentat n
figura 3.39 c se desprinde ideea c pe lng intrarea de activare un registru
poate prezenta i intrare de tergere.

30.08.2012

49 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Deoarece la nivelul unui microprocesor informaia este procesat la


nivel de cuvnt, n structura acestuia trebuie s existe un numr de registre
cu funcii bine precizate. n cele ce urmeaz vor fi punctate unele aspecte
cu caracter general referitoare la funcionalitatea registrelor.
Dup cum s-a artat n capitolul precedent prin deplasarea stnga
dreapta a unui cuvnt binar se pot realiza nmuliri respectiv mpriri cu
puteri ale lui 2. Registrele care permit efectuarea acestor operaii se numesc
registre de deplasare14, n figura 3.40 fiind prezentat un asemenea registru
pe 4 bii implementat cu bistabile JK.
Ieire paralel
Intrare paralel
Q3

PRESET

Q2

Ieire serie CLK


Q3

CLEAR

PRESET

Q1

PRESET

CLK

Q2

CLEAR

Q0

CLK

Q1

CLEAR

PRESET

CLK

Q0

X(t)
Intrare
serie

CLEAR

K
Tact
tergere

Fig. 3.40. Registru de deplasare pe patru bii.

Bistabilul Q0, datorit complementrii intrrilor se transform


practic ntr-un bistabil D, astfel nct dup aplicarea fiecrui impuls de ceas
n aceast celul va fi memorat bitul de pe intrarea serie X(t). ntruct, dup
cum se observ din figura 3.40 circuitele bistabile sunt conectate n
cascad, dup aplicarea fiecrui impuls de tact starea unei celule va
coincide cu starea celulei care o precede anterioare aplicrii impulsului.
Aceast propagare poate fi descris prin urmtoarele relaii
(3.12)
Qi 1( t 1 ) Qi ( t ) CLK ;
Q0 ( t 1 ) X ( t ) CLK

n care CLK este variabila asociat impulsului de ceas


reflect numrul celulei.
14
15

Shift Register n limba englez


CLK=1 la prezena impulsului.

30.08.2012

50 / 58

(3.13)
15

, iar indicele i

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Funcionarea registrului poate fi neleas urmrind tabela de


adevr din figura 3.93 construit n pentru cuvntul 1011 [X(T)=1,
X(2T)=0, X(3T)=1, X(4T)=1]. Se observ c ncepnd cu al 5-lea impuls i
pn la al 8-lea la ieirea Q3 se pot citi succesiv biii introdui la intrarea
X(t).
Nr.
tact

Q3

Q2

Q1

Q0

0
1
2
3
4
5
6
7
8

0
0
0
0
1
0
1
1
0

0
0
0
1
0
1
1
0
0

0
0
1
0
1
1
0
0
0

0
1
0
1
1
0
0
0
0

Fig. 3.41. Exemplu de secven pentru un registru de deplasare pe


patru bii.

Registrul ofer i posibilitatea ncrcrii paralele pe intrrile


prioritare PRESET urmnd ca apoi s se efectueze deplasarea bit cu bit. Se
creeaz posibilitatea utilizrii registrului n calitate de convertor paralelserie sau invers, ilustrat prin reprezentarea simbolic din figura 3.42 a.
Ieire paralel
Intrare serie

Ieire serie
Q3

Q2

Q1

Q0
CLK

Q3

Q2

Q1

Q0
CLK

Intrare paralel

a)

b)

Fig. 3.42. Reprezentri simbolice: a registru de deplasare; b registru inel.

Un registru de deplasare poate fi transformat n registru inel dac


ieirea se conecteaz la intrare potrivit reprezentrii din figura 3.42 b. ntrun asemenea registru informaia poate fi reciclat, un cuvnt nscris
ajungnd n aceiai poziie dup un numr de impulsuri de tact egal cu
dimensiunea registrului.

30.08.2012

51 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Registrele aferente microprocesorului, n calitate de unitate


central de procesare concentreaz nivelul celei mai rapide memorii
aferente unui calculator. ntre registrele microprocesorului au loc curent
transferuri condiionate sau nu de date.
De exemplu un transfer condiionat de forma
;

( RA RB )cond ( x , y ) RC

(3.14)

presupune transferul coninutului registrului RC dup cum urmeaz:

RA RC dac x 1 ;

RB RC dac y 1 ;

RA RC i RB RC dac x y 1 ;

RA RC i RB RC dac x y 0 .

nu

nu

Implementarea relaiei (3.14) se poate face cu ajutorul unei reele


combinaionale de tipul celei ilustrate n figura 3.43.
RA

RB
CLK

CLK

Q3

Q2

Q1

Q0

Q3

Q3
CLK

y
x

Q2

Q2

Q1

Q1

Q0

Q0

RC
( RA RB)cond ( x, y) RC

Fig. 3.43. Transferul condiionat de la o surs la dou destinaii.

n situaia unui mare numr de registre transferurile directe sau prin


intermediul unei reele combinaionale sunt dificil de realizat, o soluie
alternativ fiind conectarea la o magistral, soluie indicat n figura 3.44.
Transferul trebuie astfel organizat nct la un moment dat s transmit un
singur emitor, numrul receptorilor nefiind limitat.

30.08.2012

52 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

RD1

..

RD2

RS1

RDn

..

RS2

RSm

Fig. 3.44. Conectarea registrelor prin intermediul unei magistrale:


RD registre destinaie; RS - registre surs.

Avnd n vedere existena celor dou tipuri de registre, pentru


transferul
datelor
se
execut
instruciuni
de
tipul
respectiv
RD

magistral
magistral RS
.

MAGISTRAL DE DATE

R7

D7

D7

S
R6
R

R0
R

R7

R
R

D6

D6

R6
R

D0

D0

R0
R

Selectare
port intrare

tergere

Selectare
port ieire

a)

30.08.2012

tergere

b)

53 / 58

MAGISTRAL DE DATE

O alt utilizare important a registrelor este n cadrul porturilor


de intrare-ieire. Accepiunea de port este asociat unui punct prin care
UCP (microprocesorul) realizeaz schimbul de date cu exteriorul. n mod
obinuit un echipament periferic este comandat de un controler care implic
necesitatea unuia sau mai multor registre de interfaare cunoscute sub
denumirea de registre port. n figura 3.45 sunt prezentate soluii de utilizare
a registrelor pe 8 bii ca porturi de intrare i ieire.

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Fig. 3.45. Utilizarea registrelor ca porturi: a conectarea ca port de


intrare; b conectarea ca port de ieire.

3.3.3. Numrtoare
Numrtoarele sunt CLS care numr (contorizeaz) impulsurile
aplicate la intrare i memoreaz rezultatul. Uzual numrtoarele se clasific
n funcie de urmtoarele caracteristici:
- modul de codificare a informaiei: binar, binar-zecimal,
hexazecimal, exces 3, etc;
- modul de comutare a elementelor de memorie: sincrone,
asincrone;
- sensul de numrare: directe, inverse, reversibile, ciclice.
Practic un numrtor realizeaz, pentru un numr natural N,
operaia de identificare a claselor de resturi modulo C ( 0 , 1 , c 1 ). n
acest sens modulul de numrare este reprezentat de numrul de stri
distincte ale numrtorului. De exemplu, un numrtor modulo 10 (cu 10
stri distincte va avea aceeai stare, de exemplu 5, pentru oricare din
urmtoarele numere aplicate la intrare. N=5, 15, 25, 35, , 105, 115, ,
205, 315, etc. Numrul maxim nscris ntr-un numrtor modulo c este c-1,
deoarece pentru N=c, acesta va indica zero (n cazul numrtorului modulo
10, acest numr este 9 ).
Numrtoarele asincrone sunt cele la care informaia de la intrare
se propag spre ieire pas cu pas.
Numrtoarele sincrone sunt
caracterizate prin aceea c toi bistabilii care le compun basculeaz
simultan funcie de informaiile aplicate la intrare i de semnalul de tact.
Numrtoarele n bucl sunt practic registre de deplasare a cror
ieire este conectat la intrare.
n continuare, ca exemplu, se prezint un numrtor asincron
modulo 10 cu aducere la zero. Tehnica aducerii la zero, n cadrul realizrii
unui numrtor modulo c, const n urmtoarele:
- se las numrtorul s evolueze normal pn la starea c-1;
- la atingerea strii c se aplic un impuls de tergere tuturor
celulelor numrtorului.

30.08.2012

54 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Determinarea numrului de bistabili necesari pentru realizarea unui


numrtor se face din relaia 2n c, astfel nct pentru c = 10 rezult n=4
bistabili.
Pentru numrtorul modulo 10, n figurile 3.46 i 3.47 evoluia
respectiv diagramele de semnal asociate ieirilor celor 4 bistabile.
Nr.
Imp.

10

11

12

13

14

15

Q3
Q2
Q1
Q0
Y

0
0
0
0
0

0
0
0
1
0

0
0
1
0
0

0
0
1
1
0

0
1
0
0
0

0
1
0
1
0

0
1
1
0
0

0
1
1
1
0

1
0
0
0
0

1
0
0
1
0

0
0
0
0
1

0
0
0
1
0

0
0
1
0
0

0
0
1
1
0

0
1
0
0
0

0
1
0
1
0

Fig. 3.46. Evoluia numrtorului decadic cu aducere la zero: Q3, Q2,


Q1, Q0- ieirile bistabilelor, Y ieirea de activare a tergerii.
Intrare
CLK

10

11

12

Ieire
Q0

Ieire
Q1

Ieire
Q2

Ieire
Q3

1
0
1

0
1

Fig. 3.47. Diagrame de timp pentru numrtorul decadic


cu aducere la zero.

Din structura cuvntului binar asociat strii 10 rezult Y Q1 Q3 ,


astfel nct pentru numrtor rezult schema de realizare cu bistabile JK din
figura 3.48.

30.08.2012

55 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

VCC

Intrare
numrare

PR
J
CK Q0
K
CL

Q0

PR
J
CK Q1
K
CL

Q1

PR
J
CK Q2
K
CL

Q2

PR
J
CK Q3
K
CL

Q3

Fig. 3.48. Numrtor modulo 10 cu aducere la zero realizat cu CBB de tip JK.

n mod similar se pot obine i alte numrtoare asincrone utiliznd


tabelul de evoluie a strilor numrtorului i sintetiznd n mod
corespunztor circuitul de aducere la zero.
Numrtoarele asincrone prezint dezavantajul ntrzierilor
cumulate ale bistabilelor, care vor limita frecvena de lucru. Acest neajuns
este eliminat prin utilizarea numrtoarelor sincrone la care bascularea
tuturor CBB se produce concomitent. Cu titlu de exemplu n figura 3.49 se
prezint schema unui numrtor decadic sincron realizat cu CBB de tip JK.
Intrare
numrare

Q0

Q1

Q2

Q3

VCC
PR
J
CK Q0
K
CL

PR
J
CK Q1
K
CL

PR
J
CK Q2
K
CL

PR
J
CK Q3
K
CL

Q3

Clear

Fig. 3.49. Numrtor sincron modulo 10 realizat cu CBB de tip JK.

3.3.4. Maini cu algoritm de stare


O main cu algoritm de stare (Algorithmic State Machine ASM)
reprezint un automat secvenial de tip Mealy sau Moore la care algoritmul
de tranziie a strilor este implementat de o structur combinaional de tip

30.08.2012

56 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

ROM sau PLA. n figura 3.50 este prezentat o structur principial de ASM
realizat cu o memorie ROM de 32 de octei.
Starea actual memorat ntr-un registru format din 4 bistabile 16de
tip D ale cror ieiri se aplic intrrilor A2 A5 ale memoriei ROM.
Cuvntul de ieire D0 D7 este divizat n D0 D3 cuvntul de
comand i D4 D7 cuvntul pentru starea urmtoare q(t). n fiecare
dintre cele 16 stri exist posibilitatea testrii celor dou intrri x1 i x2.
La proiectarea unei ASM se are n vedere faptul c aceasta este
destinat comenzii unui proces. Implementarea ASM presupune nscrierea
programului de comand format din cuvinte binare17, n seciunea ROM sau
PLA. Un exemplu de proces este cel aferent unei RALU (Registers +
Arithmetic Unit).
Ieiri de comand
CLOCK

x1
x2
D Q
CLK
D Q
CLK

z0
z1
z2

D Q
CLK
D Q
CLK

z3

D0
D1
D2
A2 R
D3

y1
y2
y3

A0
A1

A3 O D
4
M

A4
A5

Starea actual q(t)

D5
D6
D7

y4

z'0
z'1
z'2
z'3

Starea urmtoare q(t)

Fig. 3.50. Structura principial a unei maini cu algoritm de stare.

Ansamblul RALU+ASM poate defini structura principial a unui


microprocesor ilustrat n figura 3.51. Sarcinile procesorului decurg din
instruciunile care sunt nscrise sub forma unui program ntr-o memorie
exterioar procesorului.
16

Pot fi realizate 16 stri distincte.


Succesiunea de instruciuni binare se numete microprogram iar operaiunea de
nscriere microprogramare .
17

30.08.2012

57 / 58

CALCULATOARE NUMERICE: Capitolul 3 - Bazele logice ale calculatoarelor numerice

Instruciune din memorie


Operand 2

Cod OP

Adresa din
Clock
ASM
Comenzi pentru
funcionarea
sistemului

ASM
RALU
Cuvnt
rezultat
din
procesare

Comenzi
Pentru
RALU

Starea urmtoare

Fig. 3.51. Structura de principiu a unui procesor.

Se consider c o instruciune conine Codul Operaiei OP care


este introdus n ASM i un al doilea operand care este introdus n RALU18.
Pe baza cuvntului asociat strii urmtoare, a condiiilor primite de la
RALU i a OP se genereaz adresa din ASM. La aceast adres se gsete o
microinstruciune a crei execuie presupune generarea semnalelor de
comand ctre uniti subordonate.

18

Se consider c primul operand a fost adus anterior ntr-un registru special al


RALU i anume acumulatorul.

30.08.2012

58 / 58

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

4. SUBSISTEMELE UNUI CALCULATOR


4.1. Magistrale de comunicaie
4.1.1. Elemente definitorii ale unei magistrale
4.1.2. Magistrale sincrone
4.1.3. Magistrale asincrone
4.2. Unitatea central de procesare (UCP)
4.2.1. Structura i funciile UCP
4.2.2. Elemente de arhitectura a microprocesoarelor pe 8 bii
4.2.2.1. Conceptul de microprocesor
4.2.2.2. Nivelul 1 de caracterizare
4.2.2.3. Nivelul 2 de caracterizare
4.2.2.4. Nivelul 3 de caracterizare
4.2.2.5. Nivelul 4 de caracterizare
4.2.2.6. Nivelul 5 de caracterizare
4.2.3. Elemente de arhitectura a microprocesoarelor pe 16 bii
4.3. Memoria calculatoarelor
4.3.1 Structura ierarhic a memoriei
4.3.2 Memoria principal
4.3.3 Memoria cache
4.3.4 Memoria secundar
4.4. Subsistemul intrare - ieire
4.4.1. Structura unui sistem de intrare ieire
4.4.2. Transferul datelor n sistemul intrare ieire
4.4.3. Echipamente periferice de intrare - ieire

15.10.2014

1 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

4. SUBSISTEMELE UNUI CALCULATOR


4.1. Magistrale de comunicaie
4.1.1. Elementele definitorii ale unei magistrale
Din punct de vedere conceptual magistrala (M) reprezint un mediu
comun de comunicaie ntre componentele unui sistem de calcul. Fizic
magistrala este alctuit dintr-un set de linii de semnal care faciliteaz
transferul de date i sincronizarea ntre componentele sistemului.
n prezent pot fi identificate dou clase mari de M i anume:
magistrale de sistem dezvoltate pentru conectarea UCP la
celelalte componente ale sistemului (exemplu: MULTIBUS, ISA, EISA,
PCI);
magistrale specializate destinate optimizrii transferului de
date cu un anumit tip de echipamente periferice (exemplu: VESA, SCSI,
GPIB).
O magistral se compune dintr-un set de semnale i un set de reguli
care guverneaz transferul de informaii i accesul la mediul de
comunicaie.
Informaiile pot fi: date, adrese, informaii de control i
sincronizare,magistralele corespunztoare putnd fi denumite magistrale
de date, adrese sau comenzi.
Regulile se refer la:
caracteristicile fizice i electrice ale componentelor conectate
pe magistrale (exemplu: niveluri de tensiune, cureni, ncrcare, tip
conectori etc.);
secvena de generare a semnalelor necesare pentru efectuarea
unui transfer;
timpi limit pentru diferitele faze ale unui transfer i timpi de
meninere a unui anumit semnal;
intercondiionrile funcionale i temporale ntre diferite tipuri
de semnale.
n funcie de numrul semnalelor utilizate pentru transferul de date
magistralele pot fi de dou tipuri:

15.10.2014

2 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

magistrale seriale (MS);


magistrale paralele (MP).
MS se utilizeaz rar ca mijloc de comunicaie ntre componentele
de baz ale unui calculator (unitate central, memorie, interfee de I/E),
datorit vitezei de transfer relativ sczute.
ntruct magistralele interne aferente unui calculator sunt practic n
exclusivitate MP se vor face referiri la aceste tipuri de M. n accepiunea
clasic o asemenea M conine urmtoarele tipuri de semnale:
semnale de date cu urmtoarele caracteristici:
- semnale bidirecionale utilizate pentru transferul de date i
de instruciuni;
- la un moment dat o singur unitate poate s emit pe liniile
de date;
- numrul liniilor de date (8, 16, 32, 64) determin
dimensiunea maxim a cuvntului de date care poate fi
transferat la un moment dat i implicit viteza medie de transfer
a magistralei;

semnale de adres cu urmtoarele caracteristici:


- semnale unidirecionale utilizate pentru specificarea adresei
modulului destinaie sau surs;
- numrul de linii de adres determin spaiul maxim de
adresare permis de magistral (de exemplu o magistral cu 24 linii
de adres permite adresarea ntr-un spaiu cu 224=16 Mlocaii);

semnale de comand utilizate pentru specificarea direciei de


transfer (exemplu dinspre sau spre procesor) i a tipului de modul
adresat (exemplu: modul de memorie, modul de I/E, etc.);

semnale de control utilizate pentru reglarea condiiilor de


transferare a datelor (exemplu: temporizarea deschiderii/nchiderii
amplificatoarelor de magistral);

semnale de ntrerupere permit semnalizarea unor


evenimente interne sau externe i implicit determin ntreruperea
execuiei programului curent;

semnale de tact utilizate pentru sincronizare i pentru


generarea unor semnale de frecven prestabilit;

15.10.2014

3 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

semnale de control a accesului folosite pentru arbitrarea i


controlul accesului pe magistral (n cazul magistralelor
multimaster);

semnale de alimentare folosite pentru alimentarea


modulelor sistemului.
Magistralele pot fi clasificate dup mai multe criterii i anume:
a. dup modul de lucru (n raport cu semnalul de tact):
- magistrale sincrone la care ciclurile de transfer sunt direct
corelate cu semnalul de tact.
- magistrale asincrone la care nu exist o legtur direct ntre
evoluia n timp a unui ciclu de transfer i tactul sistemului
(majoritatea magistralelor actuale - ISA, EISA, MULTIBUS etc.
lucreaz pe acest principiu);
b. dup numrul de uniti master conectate la magistral:
- magistrale unimaster exist un singur modul master pe
magistral i n consecin nu este necesar un mecanism de
arbitrare (modul master poate iniia un transfer cu magistrala,
modul slave modul care poate fi comandat n timpul unui ciclu de
transfer, neavnd elemente pentru controlul magistralei);
- magistrale multimaster permit conectarea mai multor uniti
master pe acelai tronson de magistral; n acest sens magistrala va
trebui s conin semnale de arbitrare i un protocol de transfer al
controlului pe magistral (exemplu MULTIBUS);
c. dup modul de realizare a transferului de date:
- magistrale cu transfer prin cicluri (secveniale) ciclurile de
transfer se desfoar secvenial, la un moment dat cel mult un
ciclu este n desfurare (majoritatea magistralelor folosesc acest
principiu de transfer);
- magistrale tranzacionale transferul de date se desfoar prin
tranzacii (o tranzacie este divizat n mai multe faze, iar mai
multe tranzacii se pot desfura simultan cu condiia s se afle n
faze diferite).

15.10.2014

4 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

4.1.2. Magistrale sincrone


Dup cum s-a menionat la aceste tipuri de magistrale ciclurile de
transfer sunt direct corelate cu semnalul de tact. Pentru a explica modul n
care se realizeaz transferul vom considera o magistral la care citirea unui
cuvnt din memorie necesit trei cicluri magistral T1, T2, T3 cu o durat
3T, T fiind perioada ceasului (figura 4.1).
n ciclul T1 Unitatea Central de Procesare (UCP) depune adresa
cuvntului pe liniile de adrese. Dup stabilizarea adresei la noua valoare, se
activeaz semnalele MREQ (Memory REQuest cerere acces la memorie)
i RD (ReaD operaie de citire). Memoria decodific adresa n ciclul T2 i
depune data pe magistral n ciclul T3. Pe frontul descresctor al ceasului
din ciclul T3, UCP strobeaz (citete) liniile de date, memornd valoarea
ntr-un registru intern. Dup citire UCP dezactiveaz semnalele MREQ i
RD , dup care, de la frontul cresctor al ceasului poate ncepe un nou

ciclu.
Ciclu de citire

T3

T2

T1

TAD
Adresa

ADR

TDS
Data

DATA
TML

TMH

MREQ
TM

TRH

RD

TDH
TRL

Fig. 4.1. Ciclul de citire la o magistral sincron.

15.10.2014

5 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Semnificaiile timpilor marcai n figura 4.1 sunt urmtoarele:


- TAD este intervalul de timp de la nceputul ciclului T1 pn la
depunerea adresei (este limitat superior);
- TDS (Data Setup) intervalul de la depunerea datei pn la frontul
descresctor al ceasului din ciclul T3 (este limitat inferior);
- TM - intervalul de la depunerea adresei pn la activarea
semnalului MREQ (este limitat inferior) ; cest timp este important dac
semnalul MREQ se utilizeaz la selecia circuitului de memorie, deoarece
anumite memorii necesit un timp de stabilizare a adresei pn la selecie;
- TML, TRL intervalele de la frontul descresctor al ceasului din
ciclul T1 pn la activarea semnalelor MREQ respectiv RD (cei doi timpi
sunt limitai superior pentru ca cele dou semnale s fie activate ntr-un
anumit timp de la mijlocul ciclului T1;
- TMH, TRH timpul dup care trebuie dezactivate semnalele
MREQ i RD dup citirea datei (limitai superior);
- TDH timpul ct trebuie meninut data pe magistral dup
dezactivarea semnalului RD .
Pe lng ciclurile de citire i scriere, unele magistrale permit i
transferuri pe blocuri. Dac se lanseaz o cerere de citire a unui bloc,
dispozitivul master indic celui slave numrul de octei care urmeaz a fi
transferai (de exemplu n ciclul T1). Dispozitivul slave transmite un octet
n timpul fiecrei ciclu, pn cnd contorul asociat transferului ajunge la
zero.
Magistralele sincrone prezint unele dezavantaje cum ar fi:
- posibile ntrzieri n situaia n care un transfer nu se termin dup
un numr ntreg de cicluri (trebuie s se atepte sfritul de ciclu);
- existena unei unice viteze (dac la o magistral se conecteaz
dispozitive cu viteze diferite viteza trebuie aleas dup dispozitivul cel mai
lent, cele rapide n raport cu acesta fiind ntrziate);
- dup alegerea duratei unui ciclu de magistral este dificil s se
utilizeze dispozitive cu mbuntirile tehnologice (de exemplu dac n
timp vor fi disponibile memorii mai rapide, cu toate c vor putea fi utilizate
ele vor funciona la aceiai vitez ca cele vechi deoarece protocolul M cere
memoria s depun datele cu TDS naintea frontului cztor al ceasului din
ciclul T3.

15.10.2014

6 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

4.1.3.Magistrale asincrone
Magistralele asincrone elimin neajunsurile magistralelor sincrone
deoarece n locul semnalului de ceas se utilizeaz un protocol logic ntre
emitor i receptor (handshake). n figura 4.2 este ilustrat diagrama de
semnale aferent unui protocol de citire din memorie.
ADR

Adresa

MREQ
RD

MSYN

Data

DATA
SSYN

Fig. 4.2. Operaie de citire la o magistral asincron.

Pentru operaia de citire, dup depunerea adresei i activarea


semnalelor MREQ i RD dispozitivul master activeaz semnalul MSYN
(Master SYNchronization). Dup detectarea acestui semnal dispozitivul
slave depune data i activeaz apoi semnalul SSYN (Slave SYNchronization)
semnalnd disponibilitatea datei.
Dispozitivul
master
detecteaz
activarea
semnalului
SSYN memoreaz data i apoi dezactiveaz liniile de adrese, mpreun cu
semnalele MREQ , RD i MSYN , dezactivarea acestuia din urm marcnd
terminarea ciclului.
Dispozitivul slave detecteaz dezactivarea lui MSYN i la rndul
dezactiveaz i invalideaz datele, ajungndu-se n starea iniial cu toate
semnalele dezactivate n ateptarea unui nou ciclu.

15.10.2014

7 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Sintetic aciunile aferente protocolului sunt:


1. se activeaz MSYN ;
2. se activeaz SSYN ca rspuns la activarea lui MSYN ;
3. MSYN este dezactivat ca rspuns la activarea lui SSYN ;
4. SSYN este dezactivat ca rspuns la activarea lui MSYN .
Cu toate c magistralele asincrone rezolv o parte din neajunsurile
celor sincrone, totui cele mai rspndite sunt acestea din urm. Motivul
este c necesite mai puine linii, realizarea este mai simpl i n consecin
sunt mai ieftine.
4.2. Unitatea central de procesare (UCP)
Unitatea central de prelucrare reprezint cel mai important
subsistem al unui sistem de calcul numeric care efectueaz operaiile
eseniale de prelucrare a datelor i coordoneaz activitatea celorlalte
subsisteme.
4.2.1. Structura i funciile UCP
Sintetic spus UCP asigur disponibilitile de calcul i de comand
a echipamentului numeric. Pornind de funciile menionate, UCP este
structurat n trei diviziuni i anume memorare, calcul, comand.
Diviziunea de memorare este reprezentat de registrele generale
(RG) care au rolul unor locaii rapide de memorie n care se pstreaz date
utilizate de ctre program, rezultate intermediare, operanzi etc.
De asemenea RG pot fi implicate n operaii elementare cum ar fi:
rotaie, deplasare, incrementare, decrementare, ncrcare paralel sau
serial, tergere.
n principiu RG pot fi organizate n dou moduri i anume:
- registre conectate direct;
- registre conectate prin magistrala intern a UCP (figura 4.3).
Primul mod de organizare permite transferul simultan al datelor
ntre mai multe registre, n timp ce al doilea tip permite efectuarea la un
moment dat a unui singur transfer ceea ce atrage dup sine ocuparea
magistralei interne a procesorului. n rndul RG poate fi ncadrat i registrul
Acumulator utilizat n operaiile aritmetico-logice i care pstreaz un

15.10.2014

8 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

operand i rezultatul operaiei. Dup cum se va vedea, din punct de vedere


funcional Acumulatorul poate fi mai bine ncadrat n Unitatea aritmetic
de procesare.
R1

R2

R3

R4

R5

R6

Fig. 4.3. Organizarea registrelor generala la o UCP.

Diviziunea de calcul (Unitatea Aritmetic i Logic UAL)


UAL reprezint un subsistem al UCP care efectueaz operaiile
aritmetice i logice elementare. Operaiile pot fi efectuate paralel, cnd se
prelucreaz simultan toi biii unui cuvnt, sau paralel - serie cnd se
prelucreaz simultan biii unei zone a cuvntului transmis serial. Durata
unei operaii (cu excepia nmulirii i mpririi) este egal cu durata unui
ciclu al procesorului.
UAL preia operanzii pe care i prelucreaz, din memorie sau din
registre, rezultatele fiind transmise napoi n memorie sau n mediul extern
prin intermediul subsistemului de intrare-ieire. n general o UAL primete
doi operanzi i un cod al operaiei i furnizeaz un rezultat i eventuale
informaii despre acesta (condiii / indicatori), conform reprezentrii din
figura 4.4.
Op1
Cod Op

Op2

UAL

Rezultat
Condiii

Fig. 4.2. Caracterizarea informaional a unei UAL.

15.10.2014

9 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Elementul de baz al unei UAL este un sumator ale crui


caracteristici determin performanele ntregii uniti. n figura 4.5 se
prezint o schem principial de structur a unei UAL n virgul fix.
X

Y
R2

R1

OP
MUX

tout

tin
SUMATOR

IND
Intrri n paralel

R3
T

Fig. 4.5. Structura principial a unei UAL.


Cei doi operanzi X i Y sunt furnizai paralel i ncrcai n
registrele R1 i R2. Funcie de valoarea bitului OP se poate realiza operaia
X+Y sau X-Y astfel:
dac OP = 0 se face adunarea X+Y+0, caz n care intrarea de
transport n sumator este nul (tin = OP = 0);
dac OP = 1 se face adunarea X+Y+1 (tin = OP = 1), deci
innd cont c numerele sunt reprezentate n complement fa de 2, se face
scderea X-Y.

15.10.2014

10 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Furnizarea lui Y sau Y se face prin intermediul multiplexorului


MUX. n schem mai exist o logic de tip combinaional IND care permite
poziionarea bistabililor T, D, Z, P, S numii indicatori de condiie.
T (Transport) T=1 dac a aprut un transport la o operaie
de adunare sau un mprumut la o operaie de scdere (la rangul cel mai
semnificativ).
D (Depire) D=1 dac rezultatul este prea mare n modul
pentru a putea fi reprezentat; dac rezultatul este corect D=0.
Z (Zero) Z=1 dac rezultatul este nul, altfel Z=0.
P (Paritate) P=1 dac rezultatul conine un numr par de
bii 1, altfel P=0.
S (Semn) S=1 dac rezultatul este negativ, altfel S=0.
n ceea ce privete operaia de nmulire, pentru un numr redus se
poate realiza cu o logic de tip combinaional, urmtorul exemplu fiind
edificator pentru X = x2 x1 x0 i Y= y2 y1 y0.
x2 x1 x0
y2 y1 y0
x2y0 x1y0 x0y0
x2 y1 x1y1 x0y1
x2y2 x1y2 x0y2
Obinerea produselor de mai sus se poate face ntr-o structur
combinaional de tipul celei din figura 4.6.
x2

x1

x0

x2 y0

x1 y0

x0 y0

x2 y1

x1 y1

x0 y1

x2 y2

x1 y2

x0 y2

y0

y1

y2

15.10.2014

Fig. 4.6. Structur pentru calculul


produselor pariale.

11 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Produsele pariale xi yj (i=13, j=13) se aplic unei reele de


sumatoare de tipul celei reprezentate n figura 4.7, rezultnd n final
produsul pe 6 bii.
x 2y 2

x2y1 x1y2

x2y0 x1y1

1/2

x1y0

x0y1 x0y0

1/2

x0y2

z5

1/2

z4

z3

z2

z1

z0

Fig. 4.7. Reea de sumatoare pentru obinerea produsului pe 6 bii.


Diviziunea de comand (Unitatea de Comand UC)
UC realizeaz supervizarea resurselor sistemului de calcul,
supervizare care presupune:
- obinerea de informaii n legtur cu starea acestor resurse;
- generarea semnalelor de comand n vederea execuiei
instruciunilor.
Exercitarea funciilor, determin prezena principial n UC a
urmtoarelor elemente:
RI (Registrul de Instruciuni);
RS (Registrul de Stare);
NP (Numrtorul de Program);
GF (Generatorul de Faze);
DI (Decodificatorul de Instruciuni);
GT (Generatorul de Tact);
BCC (Blocul Circuitelor de Comand).
Toate operaiile elementare (microoperaii) care se execut pe
parcursul unei instruciuni sunt comandate de ctre semnalele generate de

15.10.2014

12 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

ctre BCC (microcomenzi). Microcomenzile sunt trimise elementelor de


execuie din structura calculatorului respectiv: registre, UAL, memorie,
porturi, etc. care realizeaz operaii elementare cum ar fi: nscriere,
validare ieire, tergere, deplasri, etc. Execuia unei instruciuni,
presupune o succesiune de microoperaii, iar toate microoperaiile care se
execut la un moment dat se constituie ntr-o faz a instruciunii.
Celelalte entiti evideniate n structura UC particip la execuia
unei instruciuni dup cum urmeaz:
NP conine adresa instruciunii aflate n execuie;
RI conine codul (parial sau total) instruciunii care
urmeaz a se executa;
GF construiete succesiunea de faze necesar pentru
execuia instruciunii al crui cod se gsete n RI;
generarea fazei urmtoare n cadrul unei succesiuni este
determinat de trei elemente i anume:
a - faza curent;
b - tipul instruciunii;
a) coninutul registrului de stare RS;
RS pstreaz informaii despre modul de efectuare a
operaiilor comandate de ctre BCC;
GT genereaz caden schimbrilor de stare pentru toate
circuitele secveniale din structura calculatorului.
Execuia unei instruciuni se face n cadrul urmtoarei secvene de
pai care se constituie n ciclul de extragere decodificare - execuie:
1 extrage codul instruciunii curente din memorie (de la adresa
coninut n NP) i l depune n RI;
2 - modific coninutul NP, n sensul nscrierii n acesta a adresei
urmtoarei instruciuni ce urmeaz a se executa;
3 determin tipul instruciunii al crui cod a fost extras n RI;
4 dac instruciunea necesit date din memorie, se determin
adresele acestora;
5 n situaia n care sunt necesare date acestea sunt extrase n
registrele generale ale UC;
6 execut instruciunea;
7
nscrie rezultatele instruciunii n locul specificat de
instruciune;
8
se reia pasul unu pentru urmtoarea instruciune.

15.10.2014

13 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Formatul instruciunilor i moduri de adresare


Instruciunile se gsesc n memorie i pot ocupa una sau mai multe
locaii de memorie, din care prima conine ntotdeauna codul operaiei CO
(figura 4.8). n comentariile care vor urma se vor avea n vedere
instruciunile specifice limbajului de asamblare.
n general codul instruciunii conine urmtoarele informaii
necesare interpretrii i execuiei sale de ctre UC:
a.
codul operaiei specific tipul operaiei efectuate de ctre
instruciune: transfer, deplasare, operaie aritmetic sau logic etc.;
b.
operanzii asupra crora opereaz instruciunea (n
instruciune se specific datele, adresa lor, sau modul n care se determin
adresa);
c.
modul n care se efectueaz instruciunea (de exemplu se
specific modul de interpretare a informaiei referitoare la operanzi).
a

CO

CO

Adr

CO

Adr

Adr

CO

Adr

Adr

Adr

Fig. 4.8. Formate de instruciuni: a fr adres, b,c,d cu una dou


sau trei adrese.

Instruciunile fr adres opereaz cu date din registre


implicite (exemplu registrul acumulator).

Instruciunile cu o adres opereaz cu date din acumulator


ca registru implicit i un registru sau o dat din memorie.

Instruciunile cu dou adrese sunt de tipul registru-registru,


registru-memorie, sau memorie-memorie (opereaz cu date din dou
registre, un registru i memorie sau din memorie).

Instruciunile cu trei adrese specific pe lng adresele


celor doi operanzi i pe cea a rezultatului, care poate fi plasat de asemenea
n registre sau memorie.

15.10.2014

14 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Modurile de adresare indic practic maniera de specificare a


operanzilor sau a adresei rezultatului. n continuare vor fi prezentate cteva
moduri de adresare.

Adresarea imediat
Codul instruciunii conine valoarea operandului numit n acest
caz operand imediat. Operandul este adus din memorie imediat mpreun
cu codul instruciunii, n care este inclus imediat.

Adresarea direct
Codul instruciunii conine adresa efectiv (sau offsetul n cadrul
existenei segmentelor) la care se afl operandul n memorie.

Adresarea registru
Acest mod de adresare reprezint o variant a adresrii directe, n
care operandul (operanzii) sunt coninui n registrele de uz general ale
microprocesorului n loc de memorie. Deoarece numrul de registre de uz
general este relativ redus, adresa unui registru se poate codifica pe un cmp
de 3-4 bii funcie de numrul de registre. n acest fel adresele pot fi incluse
n chiar codul instruciunii, ceea ce face ca instruciunea s fie scurt (un
singur cuvnt) aspect cu consecine benefice n ceea ce privete vitezele de
execuie.

Adresarea indirect
n cazul adresrii indirecte cmpul adres din instruciune
specific adresa locaiei de memorie sau registrului care conine nu
operandul ci adresa operandului.

Adresarea indexat
La adresarea indexat adresa datei care se va utiliza de ctre
instruciune se obine prin adunarea coninutului registrului index specificat
cu o valoare numeric (constant) de asemenea specificat.
Adresarea indexat este utilizat la prelucrarea unor structuri de
date plasate succesiv n memorie. Constanta reprezint adresa de nceput a
structurii de date, iar coninutul registrului index este adresa relativ n
structur a fiecrui octet sau cuvnt.
Adresarea bazat
n cadrul adresrii bazate adresa operandului se obine ca sum
dintre o constant i coninutul unui registru special numit registru baz,
adresa coninut de acesta fiind numit adres de baz. Spre deosebire de

15.10.2014

15 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

adresarea indexat nu are loc autoincrementarea sau autodecrementarea


registrului de baz, coninutul acestuia (adresa de baz) putndu-se face
numai explicit prin program.

Adresarea stiv
Stiva reprezint o zon de memorie n care se nscriu date potrivit
strategiei LIFO (Last Input First Output). O stiv este caracterizat de dou
adrese importante i anume Baza i Vrful stivei. Aceast ultim adres este
nscris ntr-un registru dedicat al microprocesorului numit Stack Pointer.
Instruciunile de lucru cu stiva Push (pentru depunere) i Pop (pentru
extragere) nu necesit un cmp de adres i ca urmare execuia acestora
este rapid.
Adresarea combinat
n programe se utilizeaz combinaii ale modurilor de adresare
prezentate cum ar fi: bazat indexat, indirect indexat, etc.
4.2.2. Elemente de arhitectura a microprocesoarelor pe 8 bii
4.2.2.1. Conceptul de microprocesor
Microprocesorul (P) reprezint o unitate central de procesare
realizat pe un singur circuit logic (chip). Practic P este un sistem de o
maxim complexitate, reprezentat din punct de vedere funcional printr-o
structur format din elemente secveniale i combinaionale. Caracteristica
specific a unui P, n raport cu o configuraie clasic, este reprezentat de
flexibilitatea sa la nivel software. Aceasta face ca implementarea unei
structuri logice pentru o aplicaie dat s nu reprezinte o intervenie la nivel
hardware ci s se reduc la implementarea unui program specific.
Termenul de microprocesor a fost introdus de firma Intel n anul
1972 i este legat de realizarea de ctre aceast firm a primelor P.
Pentru a putea caracteriza un P se reamintesc funciile de baz ale
unui calculator numeric i anume:
- funcia de INTRARE care permite conectarea lumii exterioare la
sistem;
- funcia de IEIRE care permite conectarea sistemului la lumea
exterioar;

15.10.2014

16 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

- funcia de MEMORARE care asigur pstrarea datelor i a


instruciunilor programului;
- funcia ARITMETICO - LOGIC ce permite efectuarea
operaiilor de calcul (aritmetice i logice) n sistem;
- funcia de CONTROL care grupeaz totalitatea operaiilor de
secvenializare i coordonare n cadrul sistemului.
Celor cinci funcii le corespund tot attea seciuni care nu sunt ns
integral acoperite de ctre UCP (P). n general seciunile de intrare-ieire
i memoria sunt n mare msur exterioare P. Dup cum se observ din
figura 4.9 seciunile aritmetico-logic i control sunt integrate n P.
Intrare

Ieire

Memorie

Semnale de control
UAL
Informaie (date adrese)
Comand
Microprocesor
Fig. 4.9. Structura funcional i fluxul de informaie ntr-un sistem cu microprocesor

Uzual, informaia este adus prin intermediul funciei de INTRARE


n memoria sistemului. Din memorie, informaia (instruciuni i date) este
citit i decodificat, executndu-se secvenial instruciunile programului.
Rezultatele sunt apoi transferate, prin intermediul funciei IEIRE n afara
sistemului. Toate operaiile, a cror nlnuire temporal este redat
simplificat n figura 4.10, sunt coordonate prin atribute ale funciei
CONTROL.
n intervalul T1 informaia (instruciuni i date) se memoreaz
activndu-se seciunile intrare i memorie. n T2 codul este preluat din
memorie i executat iar n T3 cu ajutorul funciei ieire rezultatele sunt
transferate n memorie.

15.10.2014

17 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Dup cum s-a artat, totalitatea informaiei (instruciuni, date,


rezultate) se memoreaz i se prelucreaz n form binar. Ele trebuie s fie
interpretabile n mod unic de ctre P, prezentndu-se din acest motiv
ntr-un format specific. Acest format conine o combinaie de lungime fix
de simboluri binare care constituie cuvinte de instruciuni respectiv cuvinte
de date.
Funcii

Unitate
Citire
Intrare

Prelucrare

Ieire

activare

Memorie
activare

UAL

activare

Ieire

activare
T2

T1

T3

Fig. 4.10. Secvenierea operaiilor ntr-un sistem numeric cu microprocesor

n continuare se va descrie schema bloc funcional a unui P


standard al crui cuvnt de date are lungimea 8 bii (P8). Noiunea
standard se refer la faptul c P ndeplinete rolul UCP ntr-o main de
tip von Neumann. Dup cum s-a artat asemenea main este structurat n
trei uniti (UAL, memorie, dispozitive de intrare / ieire) care comunic
ntre ele printr-o unic magistral cu seciuni de date, adrese i comenzi.
Presupunnd existena unui program stocat n memorie al crui
sfrit este marcat de o variabil logic SFP iniializat cu 1, structura P8
rezult din necesitatea execuiei programului conform urmtorului
algoritm:
Repet
adresare i aducere din memorie a codului;
decodificare instruciune;
execuie instruciune;

15.10.2014

18 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

pn cnd SFP=0.
Pornind de la aceast secveniere structura unui P8 va fi descris
pe 5 niveluri de detaliere.
4.2.2.2. Nivelul 1 de caracterizare
Acest nivel corespunde registrelor tampon de date (RTD) i adrese
(RTA). Acestea apar la interfaa P cu magistrala de date (MD) i respectiv
de adrese (MA), figura 4.11.
MD
RTD

date

P
Memorie
MA
RTA

adrese

I/E
Fig. 4.11. Nivelul 1 de detaliere al unui P8.

RTD este bidirecional ca i MD i are lungimea egal cu a acesteia


(8 bii). O informaie provenit din P este disponibil unitilor conectate
la MD numai dup nscrierea acesteia n RTD. Invers, o informaie destinat
P este accesibil acestuia tot numai dup nscrierea n RTD.
RTA este unidirecional i are lungimea impus de caracteristicile
unitii de control a adresrii memoriei. RTA are rolul de a menine ferm pe
MA adresa furnizat de UCP pn la localizarea corect a informaiei n
memorie sau n porturile intrare-ieire. n acest context portul reprezint o
adres de memorie care identific circuitul fizic utilizat la transferul
informaiei ntre P i periferic.
Att RTD ct i RTA sunt transparente pentru utilizator, acestea
nefiind atribute de arhitectur.

15.10.2014

19 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

4.2.2.3. Nivelul 2 de caracterizare


Acestui nivel i sunt asociate registrele generale (RG). Acestea
reprezint practic memoria intern a P i constituie nivelul de memorie
cel mai rapid adresabil ntr-un sistem. Funcia lor este de stocare
temporar a datelor (operanzi i rezultate). Dup cum se observ din figura
4.12, accesul fizic pentru citire din i pentru scriere n RG se face prin
intermediul unui multiplexor (MUX) i a unui demultiplexor (DMUX) cu
ajutorul crora se selecteaz registrul dorit.
MD
RTD

MID
D
M
U
X

RG

M
U
X

Memorie
MA

Sel_Reg
Scriere

Sel_Reg
Citire

RTA

Fig. 4.12. Nivelul 2 de detaliere al unui P8.

Dup cum se observ din figura 4.12, legtura intern dintre RTD
i RG este realizat prin magistrala intern de date (MID) care constituie o
prelungire a magistralei de date (MD) a sistemului n interiorul P. La
MID se vor conecta toate blocurile interne care au acces la informaia
vehiculat prin MD.
Numrul de RG i limea MID constituie criterii de performan
pentru orice P. n ceea ce privete limea MID, nu este obligatoriu ca
aceasta s fie egal cu a MD externe. RG sunt n totalitate la dispoziia
utilizatorului ele constituind elemente de arhitectur.
De exemplu P 80801, are un numr de 6 RG pe cte 8 bii,
B,C,D,E,H,L care pot fi utilizate ca atare dar i n perechi, pentru a forma 3
registre de 16 bii (B-C denumit registrul B, D-E denumit registrul E i H-L
care constituie registrul H.

Microprocesor de referin pe 8 bii realizat de firma Intel.

15.10.2014

20 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

4.2.2.4. Nivelul 3 de caracterizare


Acest nivel corespunde unitii aritmetice de procesare (UAP).
Acest bloc funcional, a crui structur este prezentat n fig. 4.13,
reprezint suportul activitii de prelucrare a datelor.
MID

UAP

UAL

D
M
U
X

R
F
C

RG

R
T
D

M
U
X

RD
UCAM

MD

R
T
A

MA

Fig. 4.13. Nivelul 3 de caracterizare a unui P8:


UAL - unitate aritmetico - logic; A - registru acumulator; RF - registru al
fanioanelor; C - fanion (indicator) de transport; RD - registru de deplasare;
UCAM - unitate de control a adresrii memoriei.

Dup cum s-a artat, UAL reprezint un circuit combinaional care


asigur realizarea unor funcii aritmetice (adunare, scdere, complementare
fa de 2, incrementare, decrementare, ajustare zecimal etc.) i logice (SI,
SAU, NICI, NUMAI, SAU EXCLUSIV, complementare fa de 1, etc).
Tipul i numrul funciilor realizate de UAL constituie un criteriu
de performan al P care se reflect ntr-un atribut de arhitectur i
anume subsetul de instruciuni de prelucrare a datelor. n afara intrrilor
i ieirilor de date, UAL mai are i intrri de selecie a funciilor, care ns
nu sunt reprezentate n figura 4.13.
Acumulatorul (A) este un registru asemntor cu cele din setul de
registre generale. Prin definiie A conine un operand al UAL i n urma
efecturii prelucrrii, rezultatul. Avnd n vedere aceast dubl

15.10.2014

21 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

funcionalitate a A, precum i caracterul combinaional al UAL, structura


din figura 4.13 este nefuncional datorit faptului c UAL se alimenteaz
la infinit cu rezultatul propriei prelucrri. Eliminarea acestei situaii critice
se face prin includerea n structur a unui acumulator i a unui registru,
ambele temporare, evideniate n figura 4.14. Cei doi operanzi sunt
meninui n registrele temporare pn cnd rezultatul prelucrrii se nscrie
n acumulator. Cele dou registre temporare sunt complet transparente
pentru utilizator, ele neconstituind elemente de arhitectur.

MID
A

AT

RT

Fig. 4.14. Registre temporare aferente UAP:


AT - acumulator temporar;
RT - registru temporar.

UAL

Fanioanele (indicatorii de condiie) reprezint bistabili pentru


memorarea unor condiii speciale apruta n funcionarea P i n special a
UAL. Ele pot fi grupate ntr-un registru al fanioanelor, accesibil
utilizatorului.
n figura 4.15 se prezint coninutul acestui registru pentru P
INTEL 8080, reprezentativ pentru clasa P8, n care semnificaiile
fanioanelor sunt urmtoarele:
- S (SIGN) - are valoarea 1 dac rezultatul prelucrrii din A este
pozitiv (bitul cel mai semnificativ este 1), altfel S are valoarea 0;
- Z (ZERO) - este pus n 1 dac n urma prelucrrii, A conine
valoarea 0, altfel Z este 0;
- P (PARITY) - are valoarea 1 dac n urma execuiei unei
instruciuni, A conine un numr par de 1, altfel P este 0;

15.10.2014

22 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

- C (CARRY) - este 1, dac din A s-a efectuat un transport, altfel C


este 0.
- AC (AUXILIARY CARRY)2 - este 1 n condiiile existenei unui
transport dinspre bitul 3 spre bitul 4 al A, altfel AC este 0.
7

AC

1
-

0
C

Fig. 4.15. Structura registrului fanioanelor pentru P 8080.

Fanioanele joac un rol important n structurarea programelor,


ntruct instruciunile de salt condiionat testeaz starea acestora. RF
constituie element de arhitectur, iar numrul de fanioane un criteriu de
performan pentru P. Uzual A i RF se asambleaz ntr-un unic registru
de 16 bii cunoscut sub denumirea de registru PSW (Programm Status
Word).
Registrul de deplasare (RD) permite realizarea rapid a operaiilor
de nmulire (deplasare dreapta) i mprire (deplasare stnga) cu puteri ale
lui 2. Deplasrile presupun de regul salvarea bitului extrem (0 sau 7) n
fanionul C. O variant interesant o reprezint rotaia n care coninutul
fanionului C este nscris n cellalt bit extrem al RD. n figura 4.16 sunt
evideniate cele dou maniere de realizare a deplasrii.
RD nu este un atribut de arhitectur, el este implicit utilizat de
instruciunile specifice ale P, dar nu are acces nemijlocit la acest registru
special.
O secven de utilizare implicit a RD ar putea fi urmtoarea:
1 - se selecteaz registrul care conine operandul;
2 - coninutul acestuia este adus pe MID;
3 - se nscrie operandul n RD;
4 - se comand acestuia funcia de deplasare dorit;
5 - coninutul RD (deplasat) este transferat pe MID;
6 - se selecteaz din nou registrul de la pasul 1;
7 - se nscrie n acesta rezultatul operaiei de deplasare care ia
locul operandului iniial.
2

Indicatorul AC este utilizat pentru corecia zecimal la adunarea a dou numere n


cod BCD n sensul celor prezentate n Capitolul 2.

15.10.2014

23 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

a)
C
7

b)
C
Fig. 4.16. Modaliti de realizare a deplasrii spre stnga:
a - simpl; b- rotaie.

Funcionarea RD este posibil, dac acesta este conectat la fanionul C,


aspect evideniat i de fig. 4.13.
4.2.2.5. Nivelul 4 de caracterizare
Acest nivel este dedicat unitii de control a adresrii memoriei
(UCAM). Aceast unitate realizeaz ncrcarea unei adrese n RTA n
vederea localizrii unei informaii n memoria sau porturile calculatorului.
Formarea adresei este n strns concordan cu modul de parcurgere a
programului i cu localizarea codului i operanzilor, aa cum reiese din
reprezentarea de mai jos.
secvenial
instruciuni
aleatoriu, ca urmare a unor salturi
ADRESARE
date
(operanzi, rezultate)

15.10.2014

24 / 52

izolat n memorie
n structuri statice (tablouri)
n structuri temporale (stiv)

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Realizarea acestor funcii, implic existena n structura UCAM, n


totalitate sau nu, a urmtoarelor elemente principale:
- numrtor de program;
- indicator de stiv;
- registru index,
pentru care n figura 4.17 se prezint o posibilitate de interconectare.

MID
15
D
M
U
X
1
D
M
U
X
2

0
IX1
IX2

SP
PC

R
T
D

16
M
U
X
1
M
U
X
2

16

MUX3

ID
MIA

MUX4
16

R
T
A

Fig. 4.17. Structura posibil a unei uniti de control a adresrii memoriei:


PC registru numrtor de program; SP - registru indicator de stiv; IX registre
index; S - sumator; ID - circuit de incrementare/decrementare; MUX, DMUX
multiplexoare, demultiplexare; MIA - magistral intern de adrese.

Numrtorul de program (PC-Programm Counter) conine


adresa fizic (AF) a instruciunii care va fi executat. AF reprezint forma
sub care se furnizeaz o adres pe magistrala de adrese pentru a se face
identificarea fizic a locaiei de memorie vizate.

15.10.2014

25 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Lungimea PC impune capacitatea maxim a memoriei ce poate fi


adresat n sistem. Uzual pentru un P8, PC are 16 bii de unde rezult o
hart a memoriei direct adresabile de 216=65536 octei = 64KB (1 Koctet =
1 Kbyte = 1024 octei).
Adresarea secvenial a memoriei presupune transmiterea
coninutului registrului PC (respectiv a adresei locaiei adresate) pe calea
MUX2 MUX4 la RTA, urmat de incrementarea PC de ctre circuitul ID.
Pentru efectuarea unui salt RTA se ncarc prin MUX4 cu noua
adres (care nsoete codul instruciunii ce urmeaz a se executa).
Concomitent PC se va ncrca prin DMUX2 cu aceeai adres, de unde i
va continua funcionarea secvenial.
PC nu este un atribut de arhitectur, programatorul neputnd
modifica direct coninutul acestuia.

Indicatorul de stiv (SP - Stack Pointer). Dup cum s-a


artat stiva (Stack) reprezint o structur de date utilizat pentru pstrarea
temporar a datelor, organizat pe principiul LIFO (Last Input - First
Output ultimul intrat - primul ieit). Poziia ocupat n stiv de ultimul
element introdus constituie vrful stivei, ncrcarea i descrcarea acesteia
putndu-se efectua numai prin acest punct.
vrf
vrf
ncrcare
PSW,B,D

D
ncrcare
B
H
PSW
baz

H
D
B
PSW

descrcare

baz

H,D

vrf

B
PSW

descrcare
B,PSW

baz

Fig. 4.18. ncrcarea i descrcarea unei stive:


PSW - registrul stare program; B,C,D - registre duble.

ncrcarea i descrcarea stivei se realizeaz prin instruciuni


specifice (PUSH pentru scriere n stiv, POP pentru extragere din stiv).
De exemplu pentru situaia din figura 4.18 succesiunea de instruciuni este
urmtoarea:

15.10.2014

26 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

PUSH PSW; nscrie n stiv coninutul PSW


PUSH B;
idem B
PUSH D;
idem D
PUSH H;
idem H
.
.
POP H;
extrage din stiv coninutul H
POP D;
idem D
POP B;
idem B
POP PSW;
idem PSW
(reamintim c PSW, B, D, H sunt registre duble pe cte 16 bii).
SP conine adresa curent a vrfului stivei (prima locaie liber) .
Configurarea unei zone de memorie ca stiv se face prin nscrierea n SP a
adresei bazei, respectiv a adresei de la care ncepe stiva. Stiva se
organizeaz astfel nct creterea ei s se fac n jos adic n sensul
descreterii adreselor3. La fiecare nscriere n stiv, SP este decrementat iar
la fiecare extragere, acesta este incrementat, astfel nct n orice moment va
conine adresa primei locaii disponibile din memoria stiv. Incrementarea/
decrementarea SP este realizat cu ajutorul circuitului ID iar ncrcarea lui
RTA cu adresa din SP se face pe calea MUX2 MUX4. Figura 4.19
constituie o ilustrare a operaiunilor aferente lucrului cu stiva.
baz

15

UCAM

SP

stiv
R
T
A

vrf

0
PUSH

R
T
D

POP

Memorie

Fig. 4.19. Lucrul cu stiva.


3

Aceast tehnic este utilizat pentru a nu se putea depi spaiul declarat pentru
stiv.

15.10.2014

27 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

n afara stocrii temporare a datelor, stiva mai este utilizat n


mecanismele de apelare a subprogramelor i de rspuns la cererile de
ntrerupere. Registrul SP constituie un element de arhitectur, utilizatorul
avnd posibilitatea s defineasc iniial baza stivei. Exist P la care stiva
este implementat hardware cu ajutorul unor registre speciale. Acest tip de
stiv prezint avantajul accesului rapid i dezavantajul limitrii severe a
mrimii. n cazul stivei hardware SP devine transparent pentru utilizator
ntruct nu mai este necesar o definire a bazei stivei.

Registrele index sunt opionale n structura unui P8


standard i permit localizarea rapid a informaiei ntr-un bloc pe baza
adresei fizice, care se poate obine prin efectuarea unei operaii de adunare:
AFelement = AFbaz + deplasament,
unde AF reprezint adresa fizic. Aceast operaie este realizat n
sumatorul S iar cei doi termeni sunt furnizai de un registru index (adresa de
baz pe calea MUX2 - MUX4) i de MID. Deplasamentul reprezint adresa
relativ a unui element n cadrul tabloului i nsoete codul instruciunilor
care folosesc date astfel structurate. Mrimea deplasamentului indic
dimensiunea maxim a tabloului ce poate fi construit n memorie. Uzual
pentru P8 deplasamentul are 8 bii, astfel nct se pot construi maxim 28
256 elemente. Adresarea indexat permite localizarea rapid printr-o
singur instruciune a unui element de tablou i creeaz premisele
dezvoltrii de noi metode pentru obinerea adresei fizice prin calcul.
Sintetic UCAM realizeaz:
- adresarea secvenial care se realizeaz prin ncrcarea RTA cu
adresa din PC;
- salturi, prin ncrcarea RA cu o adres furnizat pe MID (adres
cu care se ncarc evident i PC);
- adresarea datelor elementare prin ncrcarea RTA cu adresa ce
nsoete codul instruciunii (aceast adres nu se nscrie n
PC);
- adresarea datelor elementare n structuri de tip tablou (adresa
are dou componente: baz i deplasament);
- accesul n stiv (RTA se ncarc cu adresa din SP).

15.10.2014

28 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

4.2.2.6. Nivelul 5 de caracterizare


Acest nivel este asociat unitii de control a P (UCP8). Dup
cum s-a artat execuia unui program comport pentru fiecare instruciune
parcurgerea urmtoarelor etape: localizare, decodificare, execuie propriuzis.

P
MID

R
T
D

MD

RI
Semnale
de control din
interiorul P

DECOD

Magistral
extern de
control

BCS

Memorie

Semnale de comand pentru


elementele P

PC

MIA
R
T
A

ID

MA

Fig. 4.20. Elemente implicate n extragerea unei instruciuni:


RI - registru de instruciuni; PC - numrtor de program; DECOD
decodificator instruciuni. BCS bloc de control i sincronizare ;
ID circuit de incrementare/decrementare.
ID - circuit
de incrementare/decrementare.
1. Localizarea
i aducerea
n memorie a unei instruciuni, ( la care

particip elementele ilustrate n figura 4.20), implic parcurgerea


urmtoarelor faze:
- ncrcarea RTA cu adresa din PC (n cazul uzual al parcurgerii
secveniale a programului), n urma creia adresa devine disponibil pe
MA;
- incrementarea PC pentru a se crea posibilitatea accesrii
urmtoarei locaii de memorie;

15.10.2014

29 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

- generarea pe magistrala de control a unui semnal de citire din


memorie (READ);
- transferul pe MD i de aici n RTD a coninutului locaiei
identificate;
- transferul codului instruciunii, din RTD prin intermediul MID,
ntr-un registru denumit registru de instruciuni (RI).
2. Decodificarea presupune recunoaterea i interpretarea
coninutului RI urmat de iniierea aciunilor aferente execuiei.
3. Execuia propriu-zis implic activarea diverselor blocuri ale P
ntr-o ordine prestabilit i/sau schimburi de informaie cu memoria i/sau
porturile de intrare - ieire.
Secvena de aciuni elementare este dependent de semantica
fiecrei instruciuni. Coordonarea derulrii n timp a fiecrei etape i faze
este asigurat de ctre UCP8. O prim sarcin a acesteia o reprezint
stabilirea formatului instruciunii n funcie de codul primit. Se are n
vedere desfurarea n locaii de memorie succesive a ntregii informaii
necesare execuiei instruciunii. De exemplu, pentru P 8080 al crui
repertoriu conine 256 instruciuni, formatul unei instruciuni poate conine:
- obligatoriu pe primul octet codul instruciunii;
- opional un operand pe 8 bii, jumtatea inferioar a unui
operand sau adrese pe 16 bii;
- opional jumtatea superioar a operandului sau a adresei pe 16
bii.
Cu alte cuvinte, o instruciune a acestui P poate ocupa 1, 2 sau 3
octei n memorie. UCP8 decide dac este cazul s mai aduc din
memorie 1 sau 2 octei sau s declaneze imediat dup primirea codului
execuia instruciunii.
Avnd n vedere caracterul de automat sincron al P, desfurarea
n timp a etapelor i fazelor unei instruciuni este nemijlocit legat de
frecvena impulsurilor de sincronizare. Legat de execuia n timp a
instruciunilor se definesc urmtoarele noiuni:
- starea ca timp maxim de efectuare a unei aciuni elementare,
reprezint o durat egal cu perioada impulsurilor de sincronizare;
- ciclul main grupeaz mai multe aciuni elementare n vederea
conturrii unei etape din execuia unei instruciuni. Un ciclu main are mai
multe stri i are o semnificaie strict funcional fiind impus de necesiti
de sistematizare a activitii a P.

15.10.2014

30 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Atribuiile legate de supervizarea funcionrii corecte a ansamblului


de elemente reunite n structura unui P impun prezena n cadrul UCP8 a
elementelor evideniate n figura 4.20. RI este conectat la MID, de unde
preia codul instruciunii curente pe care l transmite decodificatorului.
Acesta identific instruciunea din setul de instruciuni potenial executabile
de ctre P. Informaia rezultat la ieirea decodificatorului este transmis
blocului de control i sincronizare (BCS). Acesta este un automat finit
microprogramat, care genereaz semnale de comand pentru elementele
implicate n execuia instruciunii curente.
Microprogramul BCS va trebui s in cont, printre altele de:
- setul de instruciuni al P;
- semantica fiecrei instruciuni;
- sistematizarea desfurrii n timp a fiecrei instruciuni pe stri
i cicluri main;
- formatul fiecrei instruciuni;
- structura fizic concret a blocurilor P;
- semnalele de control necesare sau impuse P (in interiorul sau
din exteriorul su pe magistrala extern de comenzi).
BCS nu constituie un element de arhitectur i prin urmare
utilizatorul nu are acces la microprogramul acestuia. Datorit acestui fapt
P standard nu pot fi adaptate exact cerinelor unei sarcini concrete prin
optimizarea la nivel de microprogram a instruciunilor sale.
4.2.3. Elemente de arhitectura a microprocesoarelor pe 16 bii
Din analiza efectuat pentru P8 a reieit c pe lng neajunsul
unei lungimi de numai 8 bii a MD, acestea sunt caracterizate de absena
oricrui paralelism n realizarea celor trei faze aferente execuiei unei
instruciuni. Aceasta nseamn c practic extragerea codului pentru o nou
instruciune nu se poate face dect dup ncheierea execuiei instruciunii
curente.
Lipsa paralelismului face ca P8 s prezinte urmtoarele
particulariti importante:
a) seciunea resurselor de prelucrare nu este utilizat dect n faza
de execuie;
b) magistrala de adrese a este utilizat doar n faza de extragere.

15.10.2014

31 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

La generaia a III-a de P caracterizate n primul rnd de o lime a


MD de 16 bii (P16) apar primele elemente de paralelism ntre fazele de
extragere i execuie, ilustrat n figura 4.21.
UIM

FETCH0

FETCH1

FETCH2

FETCH3

FETCH4

UE

WAIT

EXEC0

EXEC1

EXEC2

EXEC3

t1

t0

UE

t2

CI

t3

t4

UIM

Magistral sistem

Fig. 4.21. Ilustrarea paralelismului la P16.

Deosebirea esenial fa de P8 o constituie existena a dou


procesoare specializate care lucreaz n paralel, pe care firma Intel, care a
lansat primul P16, le-a denumit unitate de execuie (UE) i unitate de
interfa cu magistrale (UIM).
Dup cum se observ din figura 4.21 la momentul ti UIM realizeaz
operaia FETCHi iar UE operaia EXECi-1 (execut codul extras la tactul
anterior).
Pentru structura principial a unui P16, reprezentat n figura
4.22, rmn valabile o parte din consideraiile fcute pentru P8, astfel
nct n cele ce urmeaz vor fi prezentate numai aspecte specifice.
UE are ca principal sarcin execuia instruciunilor, pe care
mpreun cu operanzii le primete prin intermediul UIM i nu direct din
memorie. Rezultatele prelucrrii sunt trimise n memorie sau la porturi tot
prin intermediul UIM.

15.10.2014

32 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

RTD/RTA

M
X
+
D
M
X

RSLM
PC

UIM

M
X
+
D
M
X

U
C
A
F

CIA

RI

UAL

UE

MX+DMX

RGII

RD
RF

MD
XM
+X

U
C
P

Fig. 4.22. Schema funcional de structur a unui P16 general:


UIM - unitate de interfa cu magistrala; UE - unitate de execuie; RSLM - registre
pentru structurarea logic a memoriei; RTD/RTA registru tampon de date i de
adrese; PC - numrtor de program; UCAF - unitate de calcul a adresei fizice; CIA coad de instruciuni n ateptare; MUI - magistrala unitii de interfaare a
magistralei; MUE - magistrala unitii de execuie; MX+DMX- multiplexoare i
demultiplexoare; RGII - registre generale indicator i index; RI - registru al
instruciunilor; RD - registru de deplasare; RF - registru al fanioanelor; UAL - unitate
aritmetico-logic; UCP - unitatea de control a P.

15.10.2014

33 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

UIM are drept scop mrirea cantitii de informaie vehiculat pe


magistralele externe n unitatea de timp. Printre altele, aceast funcie
presupune: furnizarea adreselor pentru instruciuni i pentru date, calculul
adreselor, realizarea structurrii logice a memoriei, ncrcarea cozii cu
instruciuni, de unde vor fi preluate i executate de ctre UE.
Setul de registre generale este completat cu registre de tip
indicator i index. Pentru fiecare din aceste registre exist att o utilizare
implicit sugerat de fabricant, ct i una alternativ. n contextul
versatilitii registrelor generale, UAL nu mai are asociat un registru
acumulator dedicat, oricare din RG putnd ndeplini acest rol.
UCAM nu mai apare ca un bloc unitar, funciile fiind
descentralizate astfel:
- registrele indicator i index se gsesc n UE;
- numrtorul de program este asociat unui bloc de registre destinat
structurrii logice a memoriei;
- n UE apare un bloc special pentru calculul adreselor (UCAF) care
dezvolt sumatorul destinat acestui scop n structura unui P8.
Paralelismul n funcionare al UE i UIM este asigurat de un bloc
de registre asociat cozii de instruciuni . Aceasta (organizat pe principiul
FIFO) se alimenteaz de ctre UIM i se descarc n UE.
Existena unei magistrale externe unice multiplexate conduce la
existena unui unic registru tampon de date i de adrese.
Sintetic, saltul calitativ care va conferi P16 i noi atribute de
arhitectur are n vedere urmtoarele aspecte:
- existena a dou procesoare care lucreaz n paralel;
- versatilitatea funciilor registrelor;
- existena blocului pentru calculul adreselor;
- existena cozii de instruciuni;
- posibilitatea de structurare logic a memoriei.

15.10.2014

34 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

4.3.

Memoria calculatoarelor

Dup cum s-a artat, funcionarea oricrui sistem de calcul este


condiionat de existena memoriei, destinat pstrrii datelor ce urmeaz a
fi prelucrate, a programelor i a rezultatelor. Pe lng funcia intrinsec
menionat, memoria este implicat n toate fazele aferente execuiei unei
aplicaii codificate sub forma unui program. Informaia transmis
calculatorului prin intermediul unitilor de intrare este pstrat n memorie.
De aici informaia se transfer altor module funcionale n vederea
prelucrrii. Rezultatele pariale sau finale au destinatar memoria de unde
pot deveni disponibile utilizatorului prin intermediul echipamentelor
periferice de ieire.
Spaiul de memorie al unui calculator poate fi vzut ca un ir de
locaii consecutive, fiecare locaie fiind identificabil prin intermediul unei
adrese. Din punct de vedere fizic memoria este format din elemente care
prezint dou stri crora li se asociaz simbolurile 0 i 1 numite cifre
binare. n cele ce urmeaz vor fi prezentate principalele trsturi
funcionale ale tipurilor de memorie aferente fiecrui nivel al subsistemului
memorie.
4.3.1. Structura ierarhic a memoriei
Organizarea ierarhic a memoriei implic o structurare piramidal a
acesteia pe patru niveluri, ilustrate n figura 4.23. Din analiza acestei figuri
reiese c de la vrf spre baz crete dimensiunea memoriei concretizat n
capacitatea de memorare4. Acelai mod de variaie este specific i timpului
de acces 5 n timp ce costurile de memorare pe bit cresc de la baza spre
vrful piramidei.

Capacitatea reprezint numrul total de locaii aferent unui nivel ierarhic al


subsistemului memorie. n mod obinuit mrimea unei locaii de memorie este de
un octet.
5
Timpul de acces reprezint intervalul dintre momentul lansrii adresei i cel n
care informaia referit devine disponibil.

15.10.2014

35 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

v,Co

Ta,Ca
MR
MC

MP

MS

Fig. 4.23. Structura ierarhic piramidal a memoriei n cadrul unui sistem de calcul:
MR memorie n registre; MC - cache; MP - principal; MS - secundar;
Ta - timp de acces; Ca - capacitate; v - vitez; Co - cost.

Registrele interne ale UCP (MR) reprezint cea mai rapid


i cea mai mic memorie din sistem. Registrele sunt conectate direct la
unitile funcionale de prelucrare cum ar fi UAL, unitatea de calcul a
adresei etc. Registrele generale constituie nivelul 0 al memoriei de date, iar
registrul de instruciuni reprezint acelai nivel pentru memoria de cod.

Memoria cache (MC) mbuntete viteza de procesare,


deoarece conine perechi adres-dat. Din punctul de vedere al capacitii i
timpului de acces memoria cache se situeaz ntre registre i memoria
primar.

Memoria principal (primar, intern) (MP) este memoria


n care se afl programele sau secvene din programele active i datele
necesare lor, precum i o parte a sistemului de operare. Seciunile inactive
ale programului, datele aferente i restul sistemului de operare se afl n
nivelul urmtor, cel secundar al memoriei.

Memoria secundar (MS) conine copii ale tuturor


programelor i datelor necesare sistemului. Dispozitivul fizic ce
implementeaz acest nivel al memoriei este discul magnetic, sau un alt
dispozitiv orientat pe transfer de date la nivel de bloc.
Pentru pstrarea programelor i datelor un timp ndelungat poate
fi identificat un subnivel al memoriei secundare denumit memorie

15.10.2014

36 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

suplimentar. Acestui nivel i sunt specifice de asemenea medii magnetice


i optice cum ar fi:, casete cu band magnetic, CD-ROM, DVD-ROM, etc.
4.3.2. Memoria principal
Memoria principal (MP)conine informaia aferent programului
n execuie i date cu care opereaz acesta. Pentru a se realiza o vitez
ridicat de transfer MP este conectat direct la magistralele sistemului,
dup cum reiese din figura 4.24. Adresa locaiei referite este pstrat n
Registrul Intern de Adrese al Memoriei (RIAM), iar datele citite/scrise
din/n memorie se pstreaz n Registrul Intern de Date (RIDM). Prezena
acestor registre este absolut necesar deoarece magistralele nu trebuie
reinute pe toat durata transferului n/din memorie. Circuitele de control
ale memoriei (CCM) genereaz semnalele de selecie i comand a
modulelor de memorie (reprezentate n figura 4.24 cu linie ntrerupt).

n
RIAM

Circuite de
memorie

k
CCM

RIDM

Magistrala de date
Magistrala de adrese
Magistrala de comenzi

Fig. 4.24. Schema bloc a unei uniti de memorie.

MP este realizat n diverse tehnologii cum ar fi: circuite


semiconductoare, (RAM, ROM, EPROM), inele de ferit, bule magnetice,
etc. Din punctul de vedere al accesului, memoria principal conine
seciuni care pot fi att citite ct i nscrise i seciuni care pot fi numai
citite. n continuare se vor prezenta trsturile importante ale celor dou
tipuri de memorie.

15.10.2014

37 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Memoria cu acces aleator RAM (Random Access Memory)


poate fi accesat att pentru citire, ct i pentru scriere. ntruct informaia
memorat se pierde la deconectarea tensiunii de alimentare acest tip de
memorie se numete volatil. Memoria RAM stocheaz informaii
variabile, n sensul posibilitii de modificare de ctre UCP, sub controlul
programului, a coninutului oricrei locaii. Memoria RAM poate fi de dou
feluri: static i dinamic.
Memoria RAM static utilizeaz drept celule elementare de un bit
circuite basculante de tip bistabil i se caracterizeaz prin persistena
informaiei nscrise, n sensul c nu este necesar o remprosptare
periodic a acesteia. Din punctul de vedere al consumului energetic, acesta
este ridicat ns timpul de acces este scurt comparativ cu memoriile RAM
dinamice. Un modul de memorie RAM (chip) static prezint structura
principial evideniat n figura 4.25.
MA
MD

DIA
R/ W

MM

CT

BC

CS
Fig. 4.25. Structura unui modul RAM static:
DIA - decodificator intern de adrese; BC - bloc de control; MM - matrice de
memorie; CT - circuit tampon; MA - magistral de adrese; MD - magistral de
date; R/ W - semnal de citire / scriere; CS - semnal de selecie.

DIA permite pe baza adresei furnizate de UCP selecia unic a


celulei de memorie referite, pentru care semnalul R/ W va indica sensul
transferului de informaie. Corespunztor sensului de transfer, se va
comanda circuitului tampon CT preluarea datelor de pe MD sau plasarea
acestora pe MD. Semnalul CS (Chip Select) permite activarea modulului n
cazul n care acesta este integrat ntr-o structur complex.
Memoria RAM dinamic reine informaia prin ncrcarea cu
sarcin electric a capacitii porii unui tranzistor MOS. Datorit
descrcrii n timp a capacitii, informaia trebuie supus periodic unei
operaii de remprosptare (refresh). Remprosptarea, a crei frecven
depinde de constanta de timp a circuitului (uzual 1-2 ms) const n

15.10.2014

38 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

efectuarea unei operaii de citire. n raport cu memoria RAM static,


memoria RAM dinamic prezint avantajul unui consum energetic redus i
al unei densiti ridicate pe chip (datorit numrului redus de tranzistori pe
celul).
Structura de principiu a memoriei RAM dinamice este
asemntoare cu a memoriilor RAM statice n ceea ce privete organizarea
i conectarea celulelor. n principiu se menine structura de tip matriceal, o
celul fiind identificat prin linie (row) i coloan (column). Pentru a scurta
timpul destinat remprosptrii, acesta se realizeaz ori de cte ori se
selecteaz o linie.
Memoria ROM Aceste memorii, care pe parcursul execuiei
programului nu pot fi nscrise, se mpart n trei categorii i anume:
- memorii ROM care nu pot fi nscrise de utilizator;
- memorii ROM programabile o singur dat de ctre utilizator
(PROM-Programmable ROM);
- memorii ROM care pot fi scrise n mod repetat de ctre utilizator
(EPROM - Erasable PROM).
Memoriile ROM propriuzise sunt programate de ctre productor
conform funciei indicate de utilizator. Acest tip de memorie este rentabil n
condiiile unei producii de mare serie. Cel mai cunoscut exemplu de
utilizare a memoriei ROM este n calitate de suport al seciunii BIOS 6 a
sistemului de operare.
Memoriile PROM pot fi programate de ctre utilizator prin
distrugerea selectiv, conform informaiei ce se memoreaz a unor
microfuzibile situate n nodurile matricei de memorie Avnd n vedere
ireversibilitatea nscrierii, acest procedeu a fost denumit ardere a
programului iar dispozitivul aferent arztor de memorii PROM.
Memoriile EPROM ofer posibilitatea programrii repetate.
Acestea rein informaia ca o sarcin electric ntr-o celul MOSFET,
putnd fi terse prin expunerea la o surs de radiaii ultraviolete sau prin
metode electrice. Memoriile Flash ROM care sunt utilizate din ce n ce mai
mult ca suporturi amovibile sunt memorii EEPROM care permit tergerea
selectiv.
6

BIOS (Basic Input Output System). furnizeaz servicii eseniale pentru funciile
de intrare ieire ale sistemului de calcul.

15.10.2014

39 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

4.3.3. Memoria cache


Memoria cache (MC) mbuntete viteza de procesare, deoarece
conine perechi adres-dat. Din punctul de vedere al capacitii i timpului
de acces memoria cache se situeaz ntre registre i memoria primar.
n momentul n care UCP dorete s acceseze memoria lanseaz
adresa pe magistrala de adrese. Aceast adres este interceptat de circuitul
de control al MC care n cazul n care o gsete ntre perechile memorate
transmite data direct ctre microprocesor, situaia fiind apreciat ca
nimerire de cache (cache hit).
Dac adresa cerut nu este identificat n MC (ratare de cache cache miss), atunci aceast adres este transferat memoriei principale. La
apariia datei pe magistrala de date, aceasta este nscris alturi de adresa sa
i n MC, astfel nct la o nou referire s poat fi gsit rapid. Un
parametru important al MC este rata de nimerire (hit rate), adic procentul
de ncercri de citire reuite din totalul ncercrilor.
4.3.4. Memoria secundar
Memoria secundar (MS) este constituit din suporturile aferente
unor dispozitive periferice care asigur o vitez de transfer ridicat, dar
mult mai mic dect viteza de lucru a memoriei principale. Aceast vitez
redus este compensat de o capacitate de memorare peste cea a MP.
Dintr-un anumit punct de vedere se poate considera c MS are practic o
capacitate nelimitat (de exemplu capacitatea memoriei realizate pe discuri
optice depinde de dimensiunea arhivei de discuri, respectiv de numrul
discurilor utilizate ca suport de memorare.
n continuare se vor face scurte consideraii referitoare la unele
tipuri de suporturi specifice MS.

Banda magnetic (Magnetic Tape - MT), care a fost


printre primele suporturi utilizate ca MS, reprezint practic o panglic
confecionat dintr-un material plastic numit mylar care este acoperit cu un
material magnetic. Informaia este organizat pe 9 piste longitudinale dintre
care 8 pentru date i una pentru bitul de paritate transversal, citirea i
scrierea datelor fiind realizate de ctre nou capete magnetice.
n cazul benzii magnetice accesul este secvenial iar cantitatea
minim de informaie ce se poate transfera printr-o operaie de citire/scriere
este cea coninut ntr-o nregistrare fizic. Accesul secvenial presupune
citirea tuturor nregistrrilor situate ntre cea curent i cea referit, cu

15.10.2014

40 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

consecine directe asupra timpului de acces care nu este constant ci poate


varia ntre fraciuni de secund i sute de secunde. Cu toat aceast vitez
redus, banda magnetic este utilizat pentru pstrarea unor arhive de date
(de exemplu salvrile de date care se fac periodic n sistemele informatice
backup).

Discul magnetic rigid ( Hard Disk - HD) este format dintrun disc din metal acoperit cu material magnetic pe una sau ambele fee.
Mai multe discuri fixate pe un ax formeaz o pil de discuri (figura 4.26).
Pe fiecare disc informaia este organizat pe un numr de cercuri
concentrice numite piste. Pistele cu acelai diametru de pe toate discurile,
formeaz un cilindru.
Pila de discuri

Crucior cu capete de citire - scriere

Sectoare pe o pist
Pista 0

Pista n-1

Cilindru

Fante (perforaii )
de sincronizare
Fig. 4.26. Structura principial a unui disc rigid
i organizarea informaiei pe disc.

Pistele sunt mprite n sectoare, care reprezint blocurile fizice n


care se codific datele. Un sector are un identificator, respectiv un numr
unic prin care sectorul este referit. Un disc conine ntre 40 i cteva sute de
piste, o pist conine ntre 10 i 100 de sectoare, iar un sector ntre 128 i
1024 de octei (tipic 512).O unitate de HD cu n discuri conine un crucior
cu 2n capete de citire/scriere (CCS) care se deplaseaz radial de la o pist
la alta.

15.10.2014

41 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Prin rotaia discurilor se formeaz o pern de aer ntre capete i


suprafaa magnetic, astfel nct citirea/scrierea se efectueaz fr contact
direct ntre cele dou elemente. Pilele de disc formeaz un aa numit harddisk, disk dur sau disk rigid. Cel mai utilizat model este discul Winchester,
format dint-o pil de disc ncapsulat, cu capaciti uzuale de sute de GB.
4.4. Subsistemul intrare - ieire
Alturi de sistemele unitate central de prelucrare i memorie un
alt sistem important al unui calculator numeric este sistemul de intrare ieire
(SIE), care faciliteaz conectarea acestuia la mediul extern reprezentat de
utilizatori. n continuare vor fi prezentate unele aspecte care privesc structura
SIE i modalitile de transfer a datelor n cadrul acestora.
4.4.1. Structura unui sistem de intrare ieire
Pentru realizarea funciilor specifice un SIE are o structur
modular de tipul celei din figura 4.27.
UCP

MEM

ITF I/E

CNT I/E

EP I/E
EP I/E

Magistrale sistem

EP I/E
ITF I/E

CNT I/E

EP I/E

Fig. 4.27. Structura unui sistem de intrare ieire: ITF I/E interfa de
intrare ieire; CNT controler intrare - ieire; EP I/E echipament periferic
de intrare ieire.

Dup cum se observ n structura unui SIE sunt incluse


urmtoarele elemente:
interfee de I/E;
controlere de I/E;
echipamentele periferice de I/E;
magistralele de comunicaie;
- interfeele dintre aceste componente.

15.10.2014

42 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Conectarea indirect echipamentelor periferice de I/E la


magistralele sistemului este justificat de urmtoarele argumente:
- marea varietate de periferice bazate pe diferite principii de
funcionare;
- diferene semnificative ntre ratele de transfer a echipamentelor
periferice i cea a memoriei;
- forme diferite de reprezentare a datelor n memorie i n
echipamentele periferice.
O interfa de I/E are rolul de a aciona prin intermediul
controlerelor asupra echipamentelor periferice. ndeplinirea acestui rol
induce pentru o interfa de I/E urmtoarele funcii:
- control i sincronizare;
- comunicaia cu UCP;
- comunicaia cu dispozitivele externe;
- memorarea temporar a datelor;
- detecia erorilor.
n orice moment de timp, UCP poate comunica cu unul sau mai multe
dispozitive externe. Resursele interne, ca memoria intern i magistrala
sistem, trebuie partajate ntre mai multe activiti, inclusiv operaiile de I/E
ale datelor. Funcia de I/E necesit deci o operaie de control i sincronizare,
pentru coordonarea fluxului de date ntre resursele interne i dispozitivele
externe. De exemplu, controlul transferului de date de la un dispozitiv extern
la UCP poate cuprinde urmtoarele etape:
UCP interogheaz interfaa de I/E pentru a testa starea
dispozitivului solicitat;
- interfaa de I/E returneaz starea dispozitivului;
dac dispozitivul este operaional i este pregtit pentru
transmisia datelor, UCP solicit transferul datelor, printr-o
comand adresat interfeei de I/E;
interfaa de I/E preia un octet sau cuvnt de date de la
dispozitivul de I/E;
datele sunt transferate de la interfaa de I/E la UCP.
Din enumerarea de mai sus rezult c interfaa de I/E trebuie sa
permit comunicaia att cu UCP i cu dispozitivul extern reprezentat de
controlerul de I/E.

15.10.2014

43 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

4.4.2. Transferul datelor n sistemul intrare ieire


n cadrul sistemelor de I/E transferurile de date se pot realiza printruna din urmtoarele metode:
transfer programat;
transfer prin ntreruperi;
transfer prin acces direct la memorie ;

transfer prin canale de I/E,

metode care vor fi pe scurt prezentate n continuare.


Transferul programat. Prin transfer programat, UCP controleaz n
totalitate operaia de intrare ieire asigurnd urmtoarea secven:
- detectarea strii perifericului;
- transmiterea unei comenzi de citire (intrare) sau scriere (ieire);
- transferul datelor.
Pentru execuia unei instruciuni de I/E, UCP transmite o adres,
(aferent interfeei de I/E i dispozitivului extern) i o comand de I/E care
poate fi: de control, de test, de citire sau de scriere. Comenzile de control
sunt utilizate pentru activarea perifericelor i pentru specificarea operaiilor
care urmeaz a se executa.
Prin comenzile de test se realizeaz verificarea diferitelor condiii
de stare asociate unei interfeei de I/E i perifericului specificat. n acest
sens UCP va trebui, de exemplu, s determine dac:
- perifericul este operaional i disponibil;
- ultima operaie lansat este terminat;
- operaia s-a executat cu sau fr erori.
Comanda de citire determin obinerea unui octet sau cuvnt de
date la periferic si depunerea acestuia ntr-o memorie tampon (registrul de
date al interfeei modulului de I/E). O comand de scriere asigur preluarea
de ctre interfaa modulul de I/E a unui octet sau cuvnt de pe magistrala
de date i transferul acestuia ctre periferic.
Transferul programat se mai numete i transfer n bucl de ateptare
deoarece dup iniierea transferului UCP execut o bucl de ateptare pn la
finalizarea acestuia. Aceast ateptare constituie un dezavantaj al transferului
programat, datorit unei utilizri ineficiente procesorului. Aceste caracteristici

15.10.2014

44 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

recomand utilizarea acestei metode pentru transferul unui singur octet (cum
ar fi un caracter de la tastatur).
Transferul prin ntreruperi. ntreruperea reprezint suspendarea
temporar a execuiei unui program, ca urmare a producerii la un moment
de timp impredictibil a unui eveniment exterior acestei execuii.
Evenimentului produs i corespunde un semnal de cerere de ntrerupere,
care este tratat de ctre sistemul de ntreruperi al calculatorului. Dac
sistemul de ntreruperi este activat, se apeleaz o rutin de tratare a
ntreruperii, asociat evenimentului care a generat ntreruperea.
Dup execuia rutinei de tratare, programul ntrerupt este reluat n
contextul anterior ntreruperii, context care cuprinde:
- adresa de revenire;
- indicatorii de condiii i de stare ai UCP;
- registrele interne utilizate de rutina de tratare.
n cazul transferului prin ntreruperi, UCP iniiaz transferul
(transmite o comand interfeei de I/E), dup care continu execuia
programului. Interfaa va emite o cerere de ntrerupere ctre UCP atunci
cnd este pregtit pentru transferul datelor. Ca rspuns la ntrerupere UCP
va executa transferul, dup care va continua programul ntrerupt.
Interfaa specific transferului prin ntreruperi este mai complex, iar viteza
este mai mic dect n cazul celui programat. Viteza redus este cauzat de faptul c
tratarea ntreruperii presupune execuia unor instruciuni suplimentare n raport cu
transferul programat
Transferul prin acces direct la memorie (DMA7). Dup cum s-a
vzut, transferul programat, chiar dac se efectueaz prin ntreruperi, necesit
intervenia UCP pentru transferul datelor ntre memorie i o interfa de
I/E, pentru fiecare octet sau cuvnt i prezint urmtoarele dou
dezavantaje:
- viteza de transfer este limitat de timpul n care UCP poate
testa i deservi un dispozitiv de I/E;
- ncrcarea UCP cu gestionarea transferului , ntruct este
necesar execuia unui anumit numr de instruciuni pentru
fiecare transfer.

DMA Direct Memory Access

15.10.2014

45 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Prin DMA transferul se realizeaz direct ntre un dispozitiv de I/E


i memorie, implicarea UCP fiind mult diminuat. Procesorul iniiaz
transferul stabilind printr-o secven de instruciuni urmtoarele
elemente:
- adresa de nceput a zonei de memorie unde/de unde se
efectueaz transferul;
- lungimea blocului care se transfer;
- sensul transferului.
Transferul prin DMA necesit o interfa adecvat (controler
DMA) care s poat prelua controlul magistralelor sistemului de calcul n
urmtoarele situaii:
- efectuarea unui transfer de date cu memoria, atunci cnd acestea
nu sunt utilizate de UCP;
- suspendarea temporar de ctre UCP a programului n execuie.
Avnd n vedere aceste posibiliti de rechiziionare a magistralei sau impus dou metode de efectuare a transferului DMA:
prin furt de ciclu (cycle stealing), respectiv prin utilizarea
intervalelor de timp n care UCP nu face acces la memorie (metoda se
numete astfel deoarece interfaa DMA fur un ciclu de memorie de la
UCP, activitatea sa nefiind influenat de operaiile DMA);
in rafal (data break), care presupune suspendarea
programului executat de UCP n timpul transferului i trecerea magistralei
n starea de nalt impedan.
Transferul prin canale de I/E. Aceste canale sunt procesoare
specializate care reprezint forme dezvoltate ale interfeelor de I/E 8 .
Procesoarele de I/E degreveaz i mai mult dect DMA procesorul de
sarcinile specifice operaiilor de I/E. Necesitatea acestor procesoare se
impune mai ales n cadrul perifericelor rapide cnd furturile de ciclu pot
ajunge s satureze magistrala. De asemenea chiar dac se va genera o
singur ntrerupere la fiecare bloc transferat, timpul consumat de UCP
pentru execuia rutinei de tratare va diminua performanele calculatorului n
ansamblu.
Dup cum se observ din figura 4.28, n care se prezint structura
unui calculator cu canal de I/E, canalul asigur o cale pentru transferul
8

Un procesor de I/E cu o larg de rspndire a fost INTEL 8089.

15.10.2014

46 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

datelor dispozitivele de I/E i memorie. n ceea ce privete comunicaia


canalului cu memoria aceasta se poate realiza prin mecanism DMA. n
situaia n care procesoarele de I/E au o memorie locala proprie, acestea
devin calculatoare specializate care pot controla o palet larg de
echipamente de I/E, cu intervenii minime din partea UCP.
EP I/E

UCP

EP I/E
.

Controler
de I/E

Memorie

Controler
de I/E

Canal de I/E
Magistral de I/E
Fig. 4.28. Conectarea unui canal de I/E la memorie i UCP:
EP I/E echipamente periferice de intrare ieire.

Iniierea unui transfer aparine UCP care transmite o comand


procesorului de I/E pentru a executa un program specific din memorie.
Secvena de operaii de I/E va fi executat de procesorul specializat fr
intervenia UCP. Aceasta va fi ntiinat printr-un semnal de ntrerupere
asupra ncheierii ntregii secvene.
4.4.3. Echipamente periferice de intrare ieire
Echipamentele periferice de intrare ieire (EP I/E) au rolul de a
asigura comunicarea ntre unitatea central i mediul exterior, prin
intermediul unor uniti de interfa. EP I/E permit realizarea urmtoarelor
funcii semnificative:
- introducerea datelor, a programelor i a comenzilor n memoria
calculatorului;
- afiarea, tiprirea sau redarea rezultatelor prelucrrii ntr-o form
specificat de utilizator;
- nregistrarea, stocarea i pstrarea volumelor mari de informaii
pe suporturi de memorie extern, n vederea unor prelucrri i
utilizri ulterioare;
- supravegherea i posibilitatea interveniei utilizatorului pentru
restabilirea funcionrii corecte a sistemului de calcul.

15.10.2014

47 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Potrivit acestor funcii, echipamentele periferice se pot grupa astfel:


echipamente periferice de intrare prin intermediul crora se
asigur introducerea datelor, a programelor, transmiterea unor comenzi
manuale, citirea unor imagini etc. (n aceast categorie sunt incluse:
tastatura, mouse-ul, creionul optic, tableta digital, scanner-ul, cititorul de
coduri de bare, cititorul de cartele magnetice, captatorul de sunete i/sau
imagini etc.);
echipamente periferice de ieire, care servesc la redarea
rezultatelor prelucrrilor, a mesajelor, a programelor i a altor informaii (n
aceast categorie sunt incluse monitoarele, imprimantele, echipamentele
audio/video, etc.);
echipamente periferice de memorare, care au rolul de a stoca o
mare cantitate de informaie, pentru un timp nedeterminat, n vederea
utilizrii ulterioare (n aceast categorie sunt incluse: unitile de:
disc/band magnetic, disc optic, digital video disc, memorie flash, etc.);
echipamente de transport la distan, care au rolul de a oferi o
form adecvat semnalului care se emite/recepioneaz prin suportul fizic
reprezentat de cablu electric, unde electromagnetice, fibr optic (n aceast
categorie este inclus modemul).
ntruct echipamentele periferice de memorare au fost prezentate n
cadrul sistemului memorie, n cele ce urmeaz vor fi prezentate cteva
echipamente periferice din celelalte categorii.
Tastatura. Component a configuraiei minimale a oricrui
calculator, tastatura servete pentru introducerea caracterelor alfanumerice
i a comenzilor. Dup modul de dispunere a tastelor alfabetice, tastaturile
sunt de dou tipuri i anume:
- tastatura de tip anglo-saxon la care primele taste alfabetice sunt
cele care corespund literelor Q W E R T Y;
- tastatura de tip francez la care la care primele taste alfabetice
sunt cele care corespund literelor A Z E R T Y .
Tastatura se comport, n timpul lucrului, ca un mic calculator, n
sensul c are capacitatea de a memora temporar o linie de date, o linie de
comand sau de instruciuni de program i permite efectuarea corecturilor
necesare, nainte de transmiterea acestora n memoria intern a
calculatorului (nainte de acionarea tastei ENTER). Acest lucru este posibil
pentru c tastatura are un microprocesor propriu i o memorie RAM .

15.10.2014

48 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Fiecare tast are asociat un cod numeric, care este un cod ASCII.
Procesorul tastaturii poate sesiza momentul apsrii unei taste i momentul
eliberrii sale, putnd genera n mod repetat codul tastei meninute n
poziia apsat. Este de menionat faptul c exist posibilitatea schimbrii
codului intern propriu al tastaturii prin comenzi de configurare, n funcie
de particularitile rii n care se utilizeaz respectiva tastatur (regional
settings).
Mouse-ul. Acesta reprezint un dispozitiv de intrare care determin
la micarea sa pe o suprafa plan deplasarea unui cursor pe ecran. Pentru
a transmite comenzi mouse-ul este prevzut cu dou sau trei butoane9, iar
pentru deplasarea ferestrei active pe vertical cu o roat de scroll. Rezult
c mouse-ul este util numai n msura n care pe ecran exist afiate
anumite opiuni din care se pot selecta i activa cele necesare pe parcursul
unei sesiuni de lucru.
La apariia sa acest periferic era de tip mecanic, n care micarea
unei bile de cauciuc (situat n partea inferioar a mouse-ului) era
convertit n semnale a cror finalitate era reprezentat de o deplasare a
cursorului pe ecran. n prezent o larg rspndire o are mouse-ul optic care
permite detectarea micrii cu ajutorul unei perechi de diode
electroluminiscente i a unui suport reflectorizant.
Scanner-ul. n categoria echipamentelor pentru captarea
imaginilor, n vederea unor prelucrri pe calculator, cel mai rspndit este
scanner-ul. Acesta preia cu ajutorul unor senzori10 imagini, desene i texte
de pe hrtie pe care le digitizeaz i le transmite calculatorului, care le
memoreaz sub forma unor fiiere. Prelucrarea ulterioar poate consta n
finisarea contururilor, redimensionare, mutare, rotire, colorare, umbrire,
suprapunere etc.
Monitorul. Cunoscut i ca display acesta reprezint componenta
care mpreun cu tastatura realizeaz consola face parte din configuraia de
baz a oricrui calculator personal. Monitorul este destinat afirii, pe
ecran, a informaiilor de natur alfanumeric i/sau grafic.
9

O apsare scurt a unui buton este cunoscut sub denumirea de click, iar
micarea mouse-ului cu un buton apsat (avnd ca efect marcarea unui text,
mutarea unor obiecte sau ferestre, copierea, etc.) se numete drag (glisare)
10
Senzorii scanner-ului se numesc celule CCD (Charge Coupled Device), care sunt
de fapt condensatori ncrcai electric i sensibili la lumin.

15.10.2014

49 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Dup tehnologia de construcie i principiul de afiare monitoarele


sunt de dou tipuri i anume:
monitoare cu cristale lichide (LCD11);
monitoare cu tub catodic. (CRT12).
Indiferent crui tip aparin, monitoarele sunt difereniate de
urmtoarele caracteristici mai importante:
calitatea grafic a afirii;
dimensiunea ecranului (diagonala) i dimensiunile imaginii
afiate;
numrul de culori;
viteza de lucru;
gradul de nocivitate al radiaiilor pe care le emite.
n mod obinuit monitoarele suport dou tipuri de afiri a
informaiei i anume:
afiarea n modul text;
afiarea n modul grafic.
Afiarea n modul text (alfanumeric) se realizeaz la nivel de
caracter, ecranul fiind considerat o matrice cu 2000 de zone-caracter (80 de
coloane i 25 de linii. n fiecare zon se poate afia un singur caracter din
256 posibile, conform codificrii ASCII extinse. Aadar n modul text
entitatea minim care poate fi afiat este caracterul.
n modul grafic, ecranul este vzut ca o matrice de elemente de
imagini (pixeli) fiecare pixel putnd fi caracterizat la monitoarele color
prin trei elemente de culoare: rou, verde, i albastru. Obinerea nuanelor
de culoare se realizeaz prin variaia intensitii de iluminare a pixelilor. n
acest mod calitatea grafic este asigurat de doi factori i anume definiia
i calitatea.
Definiia monitorului este dat de dimensiunea punctelor ce
formeaz imaginea. Cu ct dimensiunea unui punct este mai mic 13, cu att
densitatea este mai ridicat i n consecin definiia este mai bun.
Rezoluia desemneaz numrul maxim de puncte ce pot fi afiate pe
suprafaa unui ecran (deci dimensiunile matricei asociate ecranului).
11

LCD Liquid Crystal Display


CRT Cathode Ray Tube
13
La actualele monitoare o valoare standard a diametrului unui pixel este de 0,28
mm. .
12

15.10.2014

50 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

Dimensiunea ecranului unui monitor este reprezentat de mrimea


diagonalei exprimat n inches14. Dimensiunile mai frecvent ntlnite sunt
de 17; 19 inches, tendina actual fiind spre cele de 19 inches n tehnologie
LCD care se ncadreaz mai bine n normele ergonomice i de consum
redus de energie.
Creionul optic (light pen) este un dispozitiv utilizat pentru
activarea (punctarea) unei poziii pe ecran. n condiiile existenei unui soft
adecvat cu ajutorul acestui dispozitiv poate fi scris un text pe ecran.
Tableta grafic i digitizorul servesc la introducerea n memoria
calculatorului a coordonatelor unor puncte de pe un desen deja realizat,
raportate la un sistem de referin ataat suprafeei de lucru. La tableta de
lucru suprafaa util se ncadreaz n formatele A3 sau A4, n timp ce
digitizoarele pot opera pe suprafee mult mai mari. Pentru preluarea
coordonatelor aceste echipamente sunt prevzute cu dispozitive de tip
creion sau lup care se pot deplasa pe suprafaa care trebuie digitizat.
Pentru transmiterea la calculator a poziiei i a unor comenzi acestor
dispozitive li se adaug un numr de butoane.
Imprimanta. Imprimantele fac parte din categoria echipamentelor
periferice noninteractive i asigur obinerea rezultatelor sub form de
document tiprit.
Principalele elemente care permit caracterizarea unui anumit tip
de imprimant sunt urmtoarele:
principiul de funcionare;
viteza de tiprire;
dimensiunea liniei tiprite;
rezoluia tipririi ;
dimensiunea memoriei proprii;
existena unui limbaj propriu (POSTSCRIPT);
fiabilitatea i costul.
n mod obinuit imprimantele sunt clasificate dup principiul de
funcionare, respectiv dup mecanismul de tiprire. Conform acestui
criteriu, cele mai rspndite tipuri de imprimante sunt:

14

1 inch = 25,4 mm

15.10.2014

51 / 52

CALCULATOARE NUMERICE: Capitolul 4 - Subsistemele unui calculator

imprimantele matriceale;
imprimantele cu jet de cerneal;
imprimantele laser.

Imprimantele matriceale utilizeaz un mecanism de tiprire format


dintr-un set de ace montate n capul de imprimare, care n momentul
primirii impulsurilor lovesc o band tuat, numit ribbon. Rezoluia unei
asemenea imprimante este dat de numrul de ace, cele mai rspndite fiind
cu 9, 18 sau 24 de ace. Viteza de tiprire specific acestor imprimante este
de 150-400 caractere pe secund.
Imprimantele cu jet de cerneal utilizeaz dispozitive electronice i
electromecanice care permit preluarea cernelei dintr-un rezervor special
(cartu) i pulverizarea sa printr-un sistem de duze. Cerneala are o mare
capacitate de a se usca rapid (are proprieti sicative ridicate).
Imprimantele laser asigur cel mai bun raport performan cost.
Principiul de funcionare al acestora se bazeaz pe polarizarea electrostatic
cu ajutorul unui fascicul laser a unui cilindru special. Acesta la rndul lui
atrage i se ncarc pe suprafaa sa cu o pulbere de grafit fin numit toner,
pulbere care este depus apoi pe hrtie. n continuare hrtia este supus
unui tratament termic pentru fixare.
Viteza de tiprire difer de la un tip de imprimant la altul,
depinznd n primul rnd de principiul de tiprire. O imprimant laser
asigur o vitez de tiprire ntre 5 i 20 pagini pe minut sau chiar mai mult,
n funcie de gradul de umplere a documentului care se tiprete i de
calitatea imprimantei, n timp ce o imprimant matriceal obinuit
imprim cu o vitez medie sub 5 pagini pe minut. Calitatea grafic a
tipririi depinde, de rezoluia imprimantei care se exprim la fel prin
numrul de puncte (dots) pe inches. Cea mai bun rezoluie este asigurat
de imprimantele laser (n medie 600 dpi), urmat de imprimanta cu jet de
cerneal.
n mod obinuit imprimantele dispun de o memorie intern
proprie care servete pentru stocarea informaiilor aflate n ateptarea
tipririi. Cnd se genereaz o comand de tiprire, programul de aplicaie
transmite i informaiile ctre imprimant iar aceasta le stocheaz n propria
memorie dup care ncepe tiprirea. Dac volumul informaiilor de tiprit
depete capacitatea memoriei proprii atunci transferul acestora ctre
imprimant se face treptat, astfel c programul de aplicaii va ine sistemul
ocupat pn la terminarea tipririi.

15.10.2014

52 / 52