Sunteți pe pagina 1din 36

Principii si metodologii de testare pentru procesoare (L1A)

1. Definiti diferentele dintre procesoarele CISC (x86) si RISC.


Procesoarele RISC au inaugurat un nou set de principii arhitecturale: setul de
instructiuni sa fie simplu, instructiunile trebuie sa ruleze la cea mai mare viteza posibila,
notiunea de pipeline este mai importanta decat dimensiunea stului de instructiuni,
tehnologia compilatorului este un element critic intr-un procesor RISC. Punctele relevante
ale arhitecturii RISC reprezinta si diferentele dintre procesoarele CISC, insa azi
majoritatea procesoarelor au numar de intructiuni ca si cele CISC (numar mare de
instructiuni) .

2. Explicati cum s-a transat rivalitatea dintre arhitecturile RISC si CISC.


Rezultatele cercetarilor privind punctele relevante ale filosofiei RISC au dat
nastere unei arhitecturi mai simple caracterizate de instructiuni mai putine ,mai multe
registre ,acces simplificat pentru incarcarea si depozitarea datelelor in memoria principala
si posibilitatea executiei intr-o singura perioada de ceas. Odata cu evolutia
microprocesoarelor RISC, s-a descoperit ca avantajul acestora nu consta numai in
micsorarea setului de instructiuni, ci si in simplitatea acestora. Azi majoritatea
microporcesoarelor RISC au cam acelasi numar de instructiuni ca si cele CISC , de aceea
vechea rivalitate CISC-RISC si a pierdut semnificatia.

3. Definiti conceptele de benchmark si benchmarking.


Termenul de benchmark reprezinta rezultatul rularii unui set de programe sau de
alte aplicatii atunci cand se doreste evaluarea performantei unui obiect cu ajutorul
aplicarii mai multor teste standard sau incercari. Termenul mai este folosit si pentru a
denumi programe special construite in acest scop.
Benchmarking este de obicei asociat cu evaluarea performantelor carcateristice
componentelor hard ale unui PC ca de exemplu performanta unui procesor de a calcula in
virgula mobila dar de asemenea exista circumstante cand aceasta operatie se poate
aplica si componentelor soft. Benchmark-ul de sotware realizeaza evaluarea
performantelor compilatoarelor si ale managementului bazelor de date integrate in
software ul evaluat.

4. Care este diferenta dintre un benchmark „sintetic” si unul „aplicat”?


Sistemele de benchmark sunt create astfel incat sa poata sa reproduca un anumit
tip de incarcare pentru o anumita componenta sau pt un anume sistem.
Benchmark-urile sintetice realizeaza aceasta prin programe speciale care le impun
incarcarea pe componente.
Benchmark-urile aplicate insa ruleaza programe in timp real.In timp ce sistemele
benchmark aplicate ofera de obicei o buna masurare a performantelor in aplicatii reale
pentrut un sistem dat ,cele sintetice se folosesc inca pentru testarea componentelor
individuale cum ar fi hardiskul sau placa de retea.

5. Ce reprezinta un sistem de benchmark de tip SPEC si cum este utilizat acesta?


Inainte de anul 2000 arhitectii de PC uri si microprocesoare foloseau pentru
imbunatatirea performantei indicii SPEC (Stadndard Performance Evaluation Corporation)
. Pt a folosi un sistem benchmark SPEC trebuie cumparata licenta de la aceasta
companie. Sistemul benchmark extrage algoritmul ciclic al unei aplicatii; el va contine
aspectele senzitive ale performantei acesteia. Ruland acest fragment mult mai mic pe un
simulator ciclic el va oferi indicii in ceea ce priveste imbunatatirea performantei.

6. Care sunt considerentele pentru care se limiteaza dimensiunea sistemului de


ecuatii in cazul algoritmului Linpack?
Sistemul de benchmark Linpack masoara puterea de calcul in virgula mobila a
unui sistem de calcul prin rezolvarea unui sistem de ecuatii luneare de dimensiune n x

Pagina 1 din 36
n,un tip de sistem des intalnit in inginerie.Scopul sau principal era de a fi rulat pe
supercalculatoarele dezvlotate in anii 1970 si1980. In functie de carcateristicile
sistemului si a performantelor lui, precum si a scopului aplicatiei, se alege o
dimensiune a sistemului linear de ecuatii.
7. Cum se explica usurinta in implementare a algoritmului de integrare Monte Carlo?
Dar rezultatele slabe returnate de acesta?
Algoritmul de integrare Monte Carlo are ca scop determinarea numarului pi, prin
intermediului cercului unitar, prin masurarea raportului intre numarul de puncte din
interiorul cercului, respectiv numarul total de puncte. Este deosebit de usor de
implementat, deoarece se poate identifica foarte usor numarul de instructiuni in virgula
mobila efectuate de procesor pentru fiecare numar aleator, generat.Astfel procesorul
consuma trei operatii pentru generarea expresiei
8. Cum se obtine valoarea MIPS in cazul algoritmului de generare a matricelor?
Inainte de procedura de masurare a matricelor se extrage data sistemului la nivel
de milisecunda ,iar dupa terminarea procedurii se extrage data actuala a sistemului si se
compara cu prima valoare.
Odata obtinut numarul de milisecunde necesar pentru generarea aleatoare a
numarului de matrice predefinit se calculeaza numarul de instructiuni total efectuate si se
raporteaza la durata determinata anterior.

9. Explicati diferentele dintre cei trei algoritmi de benchmark implementati.


Algoritmul Linpack este unul din altgoritmii standard de testare pentru clasificarea
unui calculator in cadrul TOP 500. Altgoritmul Monte Carlo, desi este usor de
implementat, dezavantajul sau provine din ineficacitatea sa, deoarece implementarea
Monte Carlo returneaza cele mai slabe valori de performanta. Altgoritmul de generare de
matrici este cel mai simplu tip de altgoritm implementat, insa si cel mai slab din punct
de vedere calitativ. Marele lui dezavantaj este ca nu poate faca o comparatie lineara
exacta intre calculatoare diferite.

10. Cum se realizeaza comparatia intre performantele calculatorului curent si cele ale
unui calculator predefinit?
Comparatia se poate realiza utilizand indicii SPEC. Se ruleaza un altgoritm SPEC pe
calculatorul predefinit rezultand un set de indici SPEC, SPEC_1. Acelasi altgoritm se
ruleaza pe calculatorul curent rezultand un alt set de indici SPEC, SPEC_2. Pentru
evaloarea performantelor se vor compara indicii SPEC, SPEC_1 cu SPEC_2.

11. Cum se modifica rezultatele produse prin rularea unui test de performanta pentru
procesoare daca se dubleaza memoria instalata a sistemului de calcul?
Marirea spatiului de memorie se realizeaza, bineinteles, in limita numarului maxim
de adrese pe care il poate accesa procesorul. Voi considera altgoritmul Linpack, pentru o
valoare n data, astfel incat dimensiunea memoriei sa fie suficienta pentru stocarea
datelor necesare. Prin dublarea capacitatii memoriei, se poate marii dimensiunea n a
sistemului liniar, si se pot testa performantele pentru diferite valori ale lui n suficient de
mari .

12. Ce influenta are arhitectura interna a unui procesor asupra rezultatelor unui test
de tip benchmark?
Cu cat numarul de instructiuni pe secunda in cazul unui procesor este mai mare,
cu atat testul de benchmark se va incheia mai rapid (durata testului va fi mai mica).
Cu cat dimensiunea memoriei interne este mai mare, cu atat putem creste
dimensiunea sistemului liniar (altgoritm Limpack) mai mult, si putem testa rezultatele
performantei pentru diferite valori ale lui suficient de mari (in limita capacitatii memoriei
interne).

Pagina 2 din 36
14. Specificati diferentele de functionare dintre procesorul Pentium 4 si procesorul
Intel Core.
In cazul arhitecturii IntelCore, pe acelasi cip se integreaza mai multe nuclee de
prelucrare. Asadar are loc o miniaturizare semnificativa a arhitecturii multi-nucleu.
Complexitatea creste , prin urmare densitatea de componente active va creste ducand in
cele din urma la o crestere a vitezei de prelucrare a instructiunilor.

Pagina 3 din 36
Principii si metodologii de testare pentru magistrale (L1B)

1. Enumerati criteriile de clasificare ale magistralelor si categoriile in care se impart


aceste magistrale in functie de criterii.
In decursul timpului au fost dezvoltate diferite standarde de magistrala ,care au
urmarit evolutia procesoarelor si a necesitatilor de comutatie ale acestora( viteza
mare de tansfer, necesitati de sincronizare si control etc.) S-au dezvoltat de asemenea
magistrale specializate pentru anumite tipuri de echipamente periferice (SCSI si EIDE
pentru unitati de disc, console grafice ,interfete de masura si control). Din acest punct de
vedere in momentul actual se pot distinge 2 clase de magistrale:
- magistrale de sistem: dezvoltate mai ales pentru conectarea unitatii centrale la celelalte
componente de baza ale sistemului (ISA ,MultiBus, EISA, PCI);
-magistrale specializate : care incearca sa optimizeze transferul de date cu un anumit tip
de echipamente periferice (VESA, AGP, SCSI, GPIB).
Magistralele pot fi clasisficate in functie de mai multe criterii:
-modul de lucru:sincrone sau asincrone
-numarul de modul master: unimaster sau multimaster
-modul de realizare a transferului de date: transfer pe cicluri(secventiale), magistrale
tranzactionale
-numarul semnalelor utilizate in transferul de date: magistrale seriale, magistrale
paralele

2. Cum s-au dezvoltat in ultimii ani magistralele specializate? Dati exemple.


Caracteristicile constructive ale unei magistrale sunt infleuntate de cerintele si
particularitatile functionale ala procesorului pentru care a fost conceputa ( in cadrul unui
sistem de calcul pentru a coexista mai multe tipuri de standarde specializate pe transferul
de data intre anumite tipuri de componente de sistem) .Pentru a satisface o gama larga
de cerinte s-au dezvoltate familii de magistrale care cuprind mai multe variante ale unei
magistrale de baza si sunt compatibile intre ele intr-o oarecere masura.
In prezent exista mai multe astfel de familii de magistrale:
-magistrale dezvoltate pentru calculatoare DEC-Unibus,QBUS si VAXBI;
-magistrale dezvoltate pentru procesoarele Intel –MultiBus,Intel-Multibus2 si extensii ale
acestora;
-magistrale inspirate de structura seriei de procesoare Motorola-magistalele VME;
-magistrale de instrumentatie –familia GPIB,IEE488 si Camac.
-magistrale de instrumentatie- familia GPIB,IEEE488 si Camac.
In domeniul Pc-urilor s-au dezvoltat mai multe magistrale care au devenit
standarde inainte ca acestea sa fie propuse: ISA, EISA, VESA, PCI, SCSI, AGP, USB, Pci
Express.

3. Cum poate fi pusa in legatura evolutia magistralelor cu cea a procesoarelor?


Aparitia si evolutia ulterioara a microprocesoarelor a consacrat modelul calculelor
bazat pe magistrala .Configuratia semnelor unui microprocesor este astfel conceputa
incat sa permita conectarea usoara la o magistrala de sistem.

4. Care sunt parametrii care masoara performanta unei magistrale?


Parametrii ce masoara performanta unei magistrale sunt: rata maxima de transfer
(debitul binar) , numarul liniilor de adresa, numarul liniilor de date, frecventa de lucru,
numarul ciclurilor de data transformate per perioada de ceas.

5. Comparati magistralele secventiale cu cele tranzactionale. Dati exemple.


In cazul magistralelor secventiale regula de baza este: ciclurile de transfer se
desfasoara secvential, la un moment dat, cel mult un ciclu de transfer fiind in curs de
desfasurare; in timp ce la magistralele tranzactionale transferul de date se efectueaza

Pagina 4 din 36
prin tranzactii. O tranzactie este divizata in mai multe faze. Mai mule tranzactii se pot
desfasura simltan cu conditia ca tranzactiile sa fie in faze diferite; aceasta restrictie
provine din faptul ca fiecare faza a unei tranzactii foloseste un subset din multimea
semnalelor magistralei. Teoretic la aceste magistrale factorul de crestere a vitezei este
egal cu numarul de faze in care se divide o tranzactie ( de ex: magistrale procesorului
Pentium).

6. Enumerati criteriile de clasificare ale magistralelor prezentate in aplicatie.


Criteriile de clasificare ale magistralelor prezentate in aplicatie sunt:
a) Clasificare dupa modul de lucru – magistrale sincrone ,asincrone
b) Clasificare dupa tipul semnalelor utilizate in transferul de date:seriale si paralele
c) Clasificare dupa modul de realizare a transferului de date: secventiale si tranzactionale
d) Clasificare dupa numarul de module master:magistrale unimaster si multimaster.

7. Clasificati magistralele prezentate in aplicatie in functie de rata de transfer.


In functie de rata de transfer in ordine crescatoare se prezinta urmatoarele
magistrale: ISA- 16 bit, EISA, FireWire, USB, PCI, SCSI, AGP.

8. Gasiti un tip de magistrala care nu face parte din aplicatie si realizati o


comparatie.
Magistrala VME ( versa module eurocard) este un exemplu de magistrala
asincrona, de inalta performanta, proiectata pentru utilizarea intensiva in mediul
industrial; ea contine 32 de linii de adresa si 32 de linii de date. Pe langa aplicatiile
industriale, este utilizata si in minicalculatoare. Magistrala VME a fost dezvoltata din
magistrala Versa Bus a firmei Motorola, iar specificatiile pentru magistrala VME sunt
continute in norma IEEE P1014. Spre deosebire de magistrala IBM PC, magistrala VME a
fost proiectata urmarind trei scopuri: interoperabilitatea, performanta si fiabilitatea.

Pagina 5 din 36
Benchmark pentru arhitecturi multiprocesor si multinucleu
(L1-tema pentru acasa)

1. Prezentati caracteristicile procesoarelor RISC.

Procesoarele RISC au inaugurat un nou set de principii arhitecturale. Din aceasta


cauza notiunea de RISC a fost considerata mai degraba o filosofie decat o retea
arhitecturala diferita.Punctele relevante ale filosofie RISC sunt :
- setul de instructiuni trebuie sa fie simplu
- instructiunile trebuie sa ruleze la cea mai mare viteza posibila
- notiunea de pipeline este mai importanta decat dimensiunea steului de instructiuni
- tehnologia compilatorului este un element critic intr-un procesor RISC
optimizarea compilatoarelor trebuie sa translateze cat mai mult posibil din
complexitatea hardware-ului catre faza de complilare.

2. Care sunt principalele diferenţe conceptuale între arhitecturile de tip CISC şi


RISC?
Rezultatele cercetarilor privind punctele relevante ale filosofiei RISC au dat
nastere unei arhitecturi mai simple caracterizate de instructiuni mai putine ,mai multe
registre ,acces simplificat pentru incarcarea si depozitarea datelelor in memoria principala
si posibilitatea executiei intr-o singura perioada de ceas. Odata cu evolutia
microprocesoarelor RISC, s-a descoperit ca avantajul acestora nu consta numai in
micsorarea setului de instructiuni, ci si in simplitatea acestora. Azi majoritatea
microporcesoarelor RISC au cam acelasi numar de instructiuni ca si cele CISC , de aceea
vechea rivalitate CISC-RISC si a pierdut semnificatia.

3. Definiti termenul de microprocesor nucleu.


Termenul de microprocesor nucleu se refere la integrarea mai multor nuclee de
executie pe aceeasi pastila de siliciu pentru a imbunatati performantele
microprocesorului.

4. Prezentati cateva dintre avantajele majore ale filosofiei calculului paralel


Prelucarea paralela la nivel de concept hardware aduce cateva imbunatatiri
majore a sistemelor de calcul printr-o crestere a capacitatii de calcul cu pastrarea
dimensiunilor exterioare.Se elimina de asemenea o intreaga gama de inconveniente care
ar exista daca ar exista mai multe procesoare discrete in acelasi sistem de calcul: raciri
separate , consum de curent crescut , costuri mai mari ale sistemului ,aparitia
problemelor in plus performantele testat mai slabe comparativ cu un sistem care ar avea
2 unitati de calcul foarte apropiate(viteza de comutatie intre cele doua creste ,timpu de
raspuns scade).

5. Definiti comparativ conceptele de benchmark si benchmarking.


Conceptul de benchmark reprezinta rezultatul rularii unui set de programe sau de
alte operatii atunci cand se doreste evaluarea performantei unui obiect cu ajutorul
aplicarii mai multor teste standard si incercari . Prin conceptul de benchmarking se
intelege evaluare performantelor si compararea acestora pe baza unei scari de masura
prestabilite. Cel mai adesea insa benchmarking-ul este ascociat evaluarii performantelor
carcateristice ale componentelor hard ale unui calculator.

6. Care sunt considerentele pentru care se limiteaza dimensiunea sistemului de


ecuatii in cazul algoritmului Linpak?
Dimensiunea sistemului de ecuatii in cazul algoritmului Linpack este limitat de
performantele calculatoarelor si locul caruia programul ii este destinat.

Pagina 6 din 36
7. Ce reprezinta algoritmul de integrare Monte Carlo?
Algoritmul de integrare Monte Carlo reprezinta o clasa de algoritmi aleatori care
au scop determinarea solutiei unei probleme data prin intermediul scanarii spatiului de
cautare in diferite puncte alese aleator.In cazul de fata se foloseste metoda Monte Carlo
de determinare a numarului pi. Mai exact metoda de determinare se bazeaza pe
aproximarea unui sfert de disc, prin calculul raportului dintre numarul de puncte ce se
afla in interiorul cercului unitate, si numarul total de puncte generate aleator. Rezultatul
se va imparti la 4 ( existenta celor patru cadrane).

8. Cum se explica usurinta in implementare a algoritmului de integrare Monte Carlo?


Acest algoritm de integrare este usor de implementat pentru ca se poate identifica
foarte usor cu numarul de instructiuni in virgula mobila efectuate de procesor pentru
fiecare numar generat aleator. Pe de alta parte procesorul consuma 7 operatii pentru
generarea expresiei x*x+ y*y si o operatie pentru generarea setului (x,y) de numere
aleatoare si inca 0.7 operatii pe ciclu pentru incrementarea counterului.

9. Care este numărul de sondări ales pentru rularea algoritmului de integrare Monte
Carlo? Explicaţi această alegere.
Pentru algoritmul implementat in aplicatia prezentata in aceasta lucrare ,numarul
de sondari este 100 de miloane. S-a ales aceasta dimensiune pentru ca mai putine
sondari duc la rezultate pentru pi eronate. S-a testat experimental si doar pentru un
numar foarte mare de sondari precum cel considerat ,aproximarea lui pi cu 4 zecimale
devine reala ( 3,1415…).

10. Care este dimensiunea de pornire a problemei în cazul algoritmului de generare


de matrice?
Experimental s-a constatat ca dimensiunea problemei ajunge de regula la 2048
pentru 2 secunde de rulare (pe un procesor uzual) ,motiv pentru care s-a setat pornirea
de la o dimensiune egala cu 1025. Daca programul ar incepe de la o dimensiune egala
cu 1 chiar in conditiile in care incrementarea ar fi executata foarte rapid aceste calcule
devin practic inutile, pronirea de la 1024 fiind o decizie logica.

11. Cum se realizeaza comparatia intre performantele calculatorului curent si cele ale
unui calculator predefinit?
Comparatia se poate realiza utilizand indicii SPEC. Se ruleaza un altgoritm SPEC
pe calculatorul predefinit rezultand un set de indici SPEC, SPEC_1. Acelasi altgoritm se
ruleaza pe calculatorul curent rezultand un alt set de indici SPEC, SPEC_2. Pentru
evaloarea performantelor se vor compara indicii SPEC, SPEC_1 cu SPEC_2.

12. Câte moduri de paralelizare ale unui program secvenţial pot exista?
Principalele moduri de paralelizare ale unui program sunt : paralelismul temporal (
pipeline), paralelism spatial sincron ( ALU- specializate), paralelism spatial asincron
(multiprocesarea).

13. Care este creşterea procentuală a performanţei pentru un procesor dual-core


obţinută prin paralelizarea algoritmului Monte Carlo? Dar pentru un procesor quad-core?
Paralelizand altgoritmul Monte-Carlo, secventa de instructiuni a altgoritmului va fi
executata mult mai rapid ( viteza de executie se dubleaza in cazul unui procesor dual-
core, ambele nucleeu de prelucrare procesand instructiunile simultan). In cazul unui
procesor quad-core, viteza de prelucrare creste de patru ori, durata de executie a testului
de Benchmark reducandu-se semnificativ, fata de cazul uniprocesarii.

14. Cum se poate modifica repartizarea pe procesoare a task-urilor?


In cazul programului din laborator, in cazul neselectarii atribuirii unui task unui
procesor, task-ul va fi lasat in seama planificatorului de procese pentru a fi distribuit

Pagina 7 din 36
catre un anume nucleu. In cazul in care se va bifa repartizarea, respectivul task deschis,
corespondent unui anumit procesor/nucleu, va rula cu siguranta pe procesorul caruia ii
este destinat.

15. Cum se comportă planificatorul de procese (scheduler) în cazul repartizării pe


procesoare a task-urilor?
In cazul in care taskuri-le au fost atribuite anumitor nuclee (procesoare virtuale),
planificatorul de procese asociaza task-ul nucleului corespunzator setat de utilizator.

16. Punctaţi diferenţele majore între aplicaţia de faţă şi aplicaţia de benchmarking


destinată arhitecturilor monoprocesor şi mononucleu.
O diferanta majora este ca, in cazul benchmarkingului arhitecturii cu mai multe
nuclee, altgoritmii Limpack, Monte Carlo, respectiv altgoritmul generarii de matrice sunt
paralelizati.

Pagina 8 din 36
Solutii hardware si software de prelucrare paralela pentru CPU (L2A)

1. Care este conditia de eficienta in cazul multiplicarii si specializarii ALU?


Sistemul este eficient daca timpul de executie de catre ALU a unei operatii este
mult mai mare decat timpul de incarcare si de decodificare a unei instructiuni .Aceasta
conditie este in general indeplinita.Exprimarea algebrica a conditiei de eficienta este :
tEX (ALU) >> tIF + tID.

2. In ce consta tehnica de citire in rafale (burst)?


Structura superscalara cu tehnica de burst sau citire in rafale este folosita
incepand cu microprocesorul 80486 si este corelata cu momentul introducerii in capsula
procesorului a memoriei cache de nivel 1 .
Tehnica burst foloseste aceasta memorie pentru a citi blocuri de instructiuni din
memoria cache ,instructiuni care au fost incarcate acolo din memoria principala in mod
secvential.In aceste mod se citesc dintr-o data fie doua fie patru cuvine in functie de
dimensiunea instructiunii( 32 sau 16 biti). S-a folosit initial o magistrala de 64 biti
ajungandu-se in prezent la 256,412 sau chiar 1024 biti.

3. Care este dezavantajul prelucrarii pe loturi?


Prelucrarea pe loturi se mai numeste si batch processing si prespune formarea
unui fisier cu extensia .bat si lansarea acestuia. Dezavantajul este ca procesele au loc
succesiv iar CPU (care executa operatiile de calcul) nu este folosit eficient . Pentru a
executa un proces trebuie sa se astepte finalizarea celui anterior

4. Cum se poate defini multiprogramarea?


Multiprogramarea se poate defini ca intercalarea operatiilor CPU cu operatii I/O
pentru mai multe programe.Intercalarea programelor permite utilizarea mai eficienta a
resurselor calculatorului prin suprapunerea aplicatiilor I/O cu operatiile CPU.Acest mod de
organizare este gestionat de sistemul de operare.

5. In ce consta diviziunea in timp?


Diviziunea in timp reprezinta impartierea timpului de executie al CPU intre toate
procesele active ( task-urile active) din sitemul de calcul. Cuantele de timp alocate
fiecarui proces pot fi egale sau inegale de la un proces la altul ,viteza de prelucrare poate
creste astfel, mai mult decat in cazul multiprogramarii. Diviziunea in timp constituie o
atributie a sistmului de operare care are ca sarcina alocarea cuantelor de timp fiecarui
proces pe care il gestioneaza.

6. Cum se poate calcula diferenta de timp (Δ) intre durata totala a unor procese
prelucrate pe loturi si prin multiprogramare? Dar intre multiprogramare si diviziune in
timp?
In cazul diferentei de timp intre durata toatala a unor procese prelucrate pe loturi
si microprogramare, aceasta este data de durata intrarilor si iesirilor fiecarui proces mai
putin o intrare si o iesire.
In cazul multiprogramarii si diviziunii in timp diferenta de timp este data de
numarul proceselor cu prioritate mare si a cuantei de timp alese.

7. Calculati diferenta dintre prelucrarea pe loturi si multiprogramare pe un exemplu


cu trei procesoare, pentru un set de parametri la alegere.
3 procese
Proces 1: Intrare – 2 unitati de timp
Calcul- 4 unitati de timp
Iesire -2 unitati de timp
Procest 2: Intrare- 1 unitate de timp
Calcul – 2 unitati de timp

Pagina 9 din 36
Iesire- 1 unitate de timp
Proces 3 : Intrare – 1 unitate de timp
Calcul- 2 unitati de timp
Iesire- 1 unitate de timp
Durata totala : 16 unitati de timp - prelucare pe loturi ;
11 unitati de timp – Multiprogramare

8. Explicati in ce situatii este avantajos ca procesele paralele sa se termine


(aproximativ) in acelasi timp si in ce situatii se prefera existenta unui proces dominant.
In situatiile in care procesele au acelasi grad de prioritate ( acelasi grad de
egalitate) este de prefearat ca acestea sa se termine simultan. In situatia in care un
proces are un grad de prioritate superior fata de celelalte procese este de preferat ca
sistemul de operare sa aloce procesului o cuanta mai mare de timp, astfel incat procesul
prioritar sa se termine primul ( inaintea proceselor mai putin prioritare).

9. Care este diferenta intre cele doua variante de afisare in cadrul diviziunii in timp?
Ilustrati printr-un exemplu.
Intr-o prima afisare, observam ca procesele se termina in acelasi interval de timp
(inexistenta procesului dominant). In cazul celei de-a doua afisari, procesele nu se
termina simultan ( se remarca existenta unui proces dominant caruia sistemul de operare
ii aloca o cuanta mai mare de timp).

10. Aratati care sunt resursele unei unitati centrale de calcul (CPU) implicate in fiecare
dintre etapele unui proces (intrare, calcul si iesire). Exista procese la poate lipsi etapa de
calcul?
Resursele unei unitati centrale de calcul ( CPU ) implicate in etapa de calcul sunt :
unitatile aritmetico-logice . In cazul operatiilor de intrare respectiv de iesire resursele pot
fi integrate in CPU, sau pot integrate in capsule diferite de cea CPU-ului. Componentele
ce se ocupa cu operatiile intrare/ iesire sunt controlere specializate in gestionarea
operatiilor de intrare/iesire.

11. Care sunt operatiile posibile in cadrul multiplicarii si specializarii ALU?


Operatiile posibile in cadrul multiplicarii si specializarii ALU sunt: adunarea ,
scaderea, inmultirea, impartirea, respectiv operatiile logice la nivel de bit SI, SAU, NU.

12. Dati trei exemple de procesoare cu arhitectura superscalara, mentionand si


numarul lor de pipeline-uri.
Intel Pentium -5 pipeline uri
AMD k6 - 24 pipeline uri
Intel Pentiun 3 - 40 pipeline uri

13. Dati exemple de procesoare vectoriale cu opt componente ale vectorilor de


intrare.
Alliant FX/8, Nec SX-6

14. Dati cel putin doua exemple de controlere I/O. Exista si altele in afara de cele
prezentate in lucrare? Care sunt acestea?
I/O Controller Hub (ICH) – Intel 82801

15. Care sunt considerentele pentru care s-au limitat valorile numarului unitatilor
fizice componente in cazul solutiilor hardware si al duratelor etapelor in cazul solutiilor
software?
Marind numarul de unitati fizice componente in cazul solutiilor hardware,
dimensiunea cipului ar creste. Prin urmare apare o limitare hardware. Marind durata unei

Pagina 10 din 36
cuante foarte mult, in cazul solutiilor software, tehnica time- sharing se apropie de
tehnica de prelucrare pe loturi.

Pagina 11 din 36
Notiunea de multithreading si performantele sale (L2B)

1. Care este conditia de aplicare a tehnicii pipe-line? In ce situatii se obtin rezultate


eficiente?
Tehnica pipeline reprezinta imaginea executiei unei instructiuni ca fiind alcatuita
din mai multe faze care se succed una dupa alta si care pot fi tratate de unitati
specializate.
Conditita de aplicare a tehnicii pipe-line este ca procesele la care se aplica sa se
afle intr-o faza diferita.Rezultatele eficiente se obtin atunci cand se evita fenomenul de
strangulare(mai multe instructiuni utile cu acces la memorie)

2. De ce multiprogramarea este mai eficienta decat prelucrarea pe loturi?


Interpolarea programelor permite utilizarea mai eficienta a resurselor
calculatorului prin suprapunerea operatiile I/O cu operatiile CPU si se va salva timp fata
de prelucrarea pe loturi.

3. Care este avantajul folosirii diviziunii in timp fata de celelalte metode?


Diviziunea in timp reprezinta impartirea timpului de executie al CPU intre toate
procesele active din sistemul de calcul.In functie de impartirea in intervale de timp se
poate face ca procesele de impartirea in intervale de timp se poate face ca procesele se
se termine aproximativ in acelasi interval de timp (nu exista proces dominant) .

4. Cum se poate adapta tehnica diviziunii in timp pentru a face ca toate procesele
implicate in executie sa se incheie (aproximativ) in acelasi timp?
Alegerea unei cuante diferite de timp proceselor dominante fata de cuanta de timp a
celorlalte procese

5. Explicati care este diferenta intre notiunile de thread si cea de multithread.


Fiecare aplicatie sau program care ruleaza pe sistemul de oprerare este un
proces .
Fiecare proces este alcatuit din unul sau mai multe thread-uri. Un thread este un
set de instructiuni sau o parte anume a aplicatiei care se va executa independent in
cadrul programului sau sistemului.Thread-urile sunt entitati responsabile cu multitasking
ul in cadrul unei singure aplicatii.
Multithreading ul presupune executia in paralel a mai multor procese ,pentru a
imbunatatii eficienta sistemului.

6. Care sunt avantajele procedeului de threading?


Avantajele threading ului sunt urmatoarele :
-sarcinile care necesita mai mult timp de executie pt a fi rulate in background
-interfata aplicatiei poate fi realizata mai atragator si mai simplu de utilizat
-viteza aplicatiei poate creste
-thread-urile pot fi folositoare in situatiile in care exista decalaj intre anumite
evenimente, putandu-se astfel elibera anumite resurse care nu sunt necesare la un
moment dat.

7. Care sunt modelele de threading suportate de sistemele win32? Realizati o analiza


comparativa a acestora.
Modelele de threading suportate de sistemele win32 sunt :
a) Modelul thread ului unic (Single thread model)-presupune rularea unui singur
thread la un mom dat.
b) Modelul Apartament Thread(Single Thread Apartament Model-STA) .In acest
model pot exista mai multe thread uri care se executa in cadrul aplicatiei.Avantajul
acestui model fata de modelul thread ului unic este ca se pot procesa simultan mai multe
cereri ale utilizatorului.

Pagina 12 din 36
c) Modelul Multithread Apartament( Free Thread Apartament Model –
FTA).Presupune existenta unui singur apartament.Nu este nevoie de ordonare deoarece
toate thread urile apartin aceluias apartament si pot partaja resursele.Aceste aplicatii se
executa mai repede decat cele care implementeaza modelul unic sau STA , deoarece
sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti.

8. Cum se explica faptul ca utilizand de n ori mai multe resurse in paralel, un


algoritm nu va rula de n ori mai repede?
Utilizand de n ori mai multe resurse in paralel un algoritm nu va rula de n ori mai
repede datorita fenomenului de timp suplimentar(overload) indus prin aplicarea
paralelismului. Acest timp suplimentar apare din urmatoarele cauze:
-interactiunea intre procese (transmiterea rezultatelor sau partiale) si sincronizarea
proceselor;
-inactivitatea temporala (idle) care inseamna ca exista procese inactive pe anumite
pertioade de timp datorita incarcarii inegale si a asteptarii sincronizarii;
-calculele suplimentare care nu apar in formularea seriala a algoritmului

9. Cum influenteaza durata etapelor de intrare si iesire asupra diferentei () intre
timpii totali obtinuti prin prelucrarea pe loturi si multiprogramare?
Cu cat duratele etapelor de intrare si iesire sunt mai mici cu atat
multiprogramarea se apropie de prelucrarea pe loturi. Cu cat durata operatiilor de intrare
este mai mare cu atat se simpt mai mult avantajele multiprogramarii ( prelucrarea
simultana a unei operatii de calcul si o operatie de I/O).

10. Dati exemple de instructiuni pipe-line care nu parcurg toate cele 5 etape ale
executiei unei instructiuni.
Etapele de fetch, respectiv decodare au loc pentru fiecare instructiune. Pot exista
instructiuni care nu solicita unitatea aritmetico- logica ( instructiunile de declarare a unei
variabile, instructiuni de afisare la consola, instructiuni de citire). Nu toate instructiunile
necesita accesul procesorului la memoria interna ( operanzii se pot afla in registrele
interne ale procesorului ).

11. In cazul simularii pipe-line, identificati dupa schema arhitecturii von Neumann ce
resurse sunt implicate in fiecare din etapele de executie ale unei instructiuni.
Fetch- blocul de comanda si control ce furnizeaza semnal de citire catre memoria
interna pentru aducerea codului programului curent.
Decodarea instructiunii- unitatea de decodare a CPU
Extragerea operanzilor- blocul de comanda si control ce furnizeaza semnale de
comanda memoriei interne
Prelucrarea operanzilor – unitatea ALU
Afisarea rezultatelor- procesoare specializate I/O

12. Care este parametrul esential in aprecierea eficientei unui sistem paralel?
Eficienta utilizarii calculatorului paralel este daca de formula E=S/P, unde S
reprezinta raportul dintre timpul necesar rezolvarii unei probleme pe un procesor si
timpul necesar rezolvarii aceleiasi probleme in paralel pe „p” procesoare identice si p
este nr de procesoare

13. Cum se manifesta avantajele multithreading in lucrul cu o baza de date?


Multithreading-ul in cazul de lucru cu o baza de date prezinta performante mai
bune decat in cazul unui sitem fara multithreading. In cazul unui single thread datele
sunt proocesate pe acelasi fir de executie, pe cand in cazul multithreadingului datele sunt
procesate „simultan” pe mai multe fire de executie.

Pagina 13 din 36
14. Cum poate fi pusa in evidenta prezenta unui proces dominant in aplicatia
referitoare la prioritatile multithreading?
Prezenta unui proces dominant se poate pune in evidenta prin setarea prioritatilor
threadurile in diverse trepte ( minima, subnormala, normala, peste normal si maxima).

Pagina 14 din 36
Analiza tipurilor de memorie SRAM şi DRAM (L3A)

1. Definiţi şi caracterizaţi memoria SRAM.


SRAM = Static Random Access Memory
Memoria SRAM este o memorie în care informaţia se memorează într-un mod
stabil, pe ambele niveluri logice, atât timp cât memoria este alimentată. Este realizată în
tehnologii rapide (bipolare sau CHMOS = Complementary High-density MOS), cu timpi de
acces foarte mici (câteva ns). Fiind o memorie care poate fi şi citită şi scrisă, SRAM va
avea magistrala bidirecţională de date şi două cicluri diferite de memorie: ciclul de citire
şi ciclul de scriere, identificate de semnalul #WE, activ pe 0. Atunci cand semnalul #WE
este activ pe 0 are loc o operatie de scriere.

2. Discutaţi, comparativ, cele două tipuri de memorii SRAM. Care sunt domeniile lor
de aplicabilitate?
Memoria SRAM asincronă nu necesită semnal de ceas pentru sincronizarea cu
unitatea master. Memoria SRAM sincronă necesită un semnal de ceas pentru validarea
semnalelor de control. Ceasul primit din exterior permite operarea memoriei, sincron cu
unitatea master. Memoriile asincrone sunt mai lente decât cele sincrone, dar sunt mai
ieftine şi au un consum de energie mic. Memoriile sincrone sunt foarte rapide, cu timp de
acces sub 10 ns, pot funcţiona la tensiuni de alimentare mici, dar sunt scumpe.Memoriile
SRAM asincrone sunt realizate într-o gamă foarte diversă de performanţe, cu timpi de
acces ce variază de la 50–70 ns, până la 10–15 ns.
Memoriile SRAM asincrone sunt utilizate in sistemele de calcul simple, care
necesita memorie RAM de lucru cu capacităţi mici, de zeci-sute de KB, şi care memorează
cuvinte de 8 biţi.
Memoriile SRAM sincrone sunt utilizate in sistemele de calcul performante , care necesită
viteze şi capacităţi de memorare mari. Memoriile SRAM sincrone sunt utilizate in
sistemele performante pentru implementarea conceptului de memorie cache.

3. Explicaţi semnificaţia semnalelor de comandă ale memoriei SRAM.


Semnale de comanda ale memoriei SRAM sunt urmatoarele: #CE, #OE respectiv
#WE.Toate cele trei semnale de comanda prezentate sunt active pe 0L( zero logic).
Semnificatia semnalelor de comanda este urmatoarea:
#OE- semnalul de validare a iesirilor memorie
#CE- semnalul de comanda pentru validarea circuitului
#WE- semnalul de comanda in ciclul de scriere

4. Utilizând schema bloc a memoriei SRAM, să se descrie modul de selectare a unei


celule de memorie.
Selectarea celulei de memorie se realizeaza pe baza adresei reprezentate de cei n
biti (A0, A1,...,An) plasati pe magistrala de adrese a sistemului. Primii n/2 biti mai
semnificativi sunt aplicati la intrarea unui decodor. In urma operatiei de decodare, va fi
activata intreaga linie de celule de memorie corespunzatoare configuratiei binare
A0A1.....An/2 . Cei n/2 biti mai putin semnificativi vor constitui biti de selectie intr-un
multiplexor. In functie de configuratia binara a acestora, multiplexorul va selecta din
linia activata de decodor, celula de memorie corespunzatoare. In acest mod are loc
selectarea unei celule de memorie.

5. Descrieţi funcţionarea logicii de comandă a circuitului I/O al memoriei SRAM.


Conform schemei bloc a memoriei SRAM, Circuitul I/O se comporta atat ca intrare
de date( atunci cand dorim sa stocam o data in memorie) cat si ca iesire de date atunci
cand citim o data din memorie. In functie de starea semnalelor CE, WE, OE ce se aplica
blocului logic de control, acesta (blocul logic de control ) seteaza Circuitul I/O fie ca
intrare de date fie ca iesire de date. Spre exemplu daca adresa de pe magistrala de
adrese este validata ( CE activ pe 0 ), semnalul de comanda WE este inactiv (WE=1), iar

Pagina 15 din 36
OE este activ (OE=0), atunci are loc o citire din memorie, deci Circuitul I/O se va
comparta ca un circuit de iesire ( acesta va furniza pe magistrala de date, data
corespunzatoare adresei de pe magistrala de adrese). Daca adresa de pe magistrala de
adrese este validata ( CE activ pe 0 ), semnalul de comanda WE este activ (WE=0), iar
pe magistrala de date este plasata o data, atunci are loc o scriere in memorie, deci
circuitul I/O se va comporta ca un circuit de intrare ( acesta va furniza o data care se
doreste a fi stocata in memorie la adresa existenta pe magistrala de adrese ) .

6. Cum se modifică logica de comandă la memoriile fără semnalul OE?


In cazul in care semnalul OE lipseste, raman valabile semnalele WE si CE. In cazul
unei operatii de citire, semnalul WE este inactiv ( WE=1) adresa de pe magistrala de
adrese fiind validata de semnalul CE (CE=0).In acest caz circuitul I/O se comporta ca un
circuit de iesire, ce va furniza pe magistrala de date, data corespunzatoare adresei de pe
magistrala de adrese. In cazul unei operatii de scriere, dupa ce adresa de pe magistrala
de adrese este validata (CE=0), iar data ce se doreste a fi stocata in memorie la adresa
respectiva este pe magistrala de date, semnalul WE devine activ (WE=0). In acest caz
circuitul I/O se comporta ca un circuit de intrare, ce va furniza data ce se doreste a fi
stocata in memorie la adresa corespunzatoare.

7. Explicaţi modul de execuţie al ciclului de citire din memoria SRAM.


Dispozitivul master care are acces la magistralele sistemului, furnizeaza adresa
datei solicitate pe magistrala de adrese. Dupa furnizarea adresei, semnalul de comanda
pentru validarea circuitului, CE, devine activ (CE = 0L). Deoarece, are loc o operatie de
citire (si nu de scriere), semnalul WE este inactiv (WE=0) pe toata durata ciclului de
citire. Semnalul OE devine activ ( OE=0) dupa un interval de timp dupa ce (CE=0L). O
data cu activarea semnalui OE, pe magistrala de date a sistemului va fi plasata data de la
adresa corespunzatoare (existenta pe magistrala de adrese). Astfel se incheie ciclul de
citire din memoria SRAM.

8. Discutaţi, comparativ, cele două diagrame ale ciclului de scriere, corespunzătoare


memoriilor SRAM, cu şi fără semnalul OE.
In ambele cazuri, primii doi pasi ai ciclului de scriere sunt comuni: furnizarea
adresei la care se doreste a fi stocata data, pe magistrala de adrese, respectiv activarea
semnalului CE (CE=OL) dupa furnizarea adresei. In cazul memoriei SRAM cu semnal OE,
acesta este inactiv pe toata durata ciclului de scriere (OE=1). In cazul memoriei SRAM
fara semnal OE, data care se doreste a fi stocata in memorie, este plasata pe magistrala
de date inainte de activarea semnalului WE (WE = 0L). In cazul memoriei SRAM cu
semnal OE, data pare a fi plasata pe magistrala de date, dupa validarea semnalului WE.
In ambele cazuri dupa activarea semnalului WE, data care se doreste a fi stocata in
memorie, este mentinuta pe magistrala de date pe toata durata activarii semnalului WE
(WE=0L).

9. Explicaţi care sunt modurile de realizare a împrospătării conţinutului memoriilor


DRAM.
In funcţie de tipul memoriei DRAM, ciclurile de împrospătare pot fi realizate în trei
moduri:
a) ROR (RAS Only Refresh) este o metodă de împrospătare din exterior, prin care se
transmit memoriei adresa de rând (AR) şi semnalul #RAS, fără a se activa semnalul
#CAS. Unitatea master externă este anunţată periodic să facă refresh de către un ceas
de timp real, care este programat software de către sistemul de operare.
b) CBR (CAS Before RAS) este tot o metodă de împrospătare din exterior, prin care se
transmit semnalele #CAS şi #RAS, activate în această ordine. În acest caz, memoria
dispune de un numărător de adrese intern, pentru indicarea liniei care trebuie
împrospătată, fără a fi nevoie de transmiterea adresei din exterior. De asemenea,

Pagina 16 din 36
perioada de repetiţie a ciclurilor de refresh este determinată de un ceas de timp real
extern.
c) Auto-împrospătare cu ajutorul circuitelor interne memoriei DRAM. În interior,memoria
conţine un numărător de adrese de rând, un ceas de timp real şi o logică de control
pentru generarea semnalelor #CAS şi #RAS conform metodei CBR.

10. Analizaţi comparativ memoriile DRAM sincrone şi asincrone.


Memoria DRAM asincronă nu necesită semnal de ceas pentru sincronizarea cu
unitatea master apelantă. Memoria DRAM sincronă necesită un semnal de ceas pentru
validarea semnalelor de control. Ceasul primit din exterior permite operarea memoriei,
sincron cu unitatea master. Memoriile DRAM asincrone sunt mai lente decât cele
sincrone, dar sunt mai ieftine şi au un consum de energie mai mic. Prin
implementarea unei interfeţe sincrone, s-au eliminat perioadele de aşteptare de către
procesor, obţinându-se de asemenea unele avantaje suplimentare. În cazul funcţionării
sincrone, se memorează anumite informaţii de la procesor în circuitele latch ale memoriei
DRAM sub controlul ceasului sistem. Aceste circuite păstrează adresele, datele şi
semnalele de control, ceea ce permite procesorului să execute alte operaţii. După un
număr specific de cicluri de ceas, datele devin disponibile şi procesorul le poate citi de pe
liniile de ieşire. Un alt avantaj al unei interfeţe sincrone este că ceasul sistemului este
singurul semnal de sincronizare care trebuie furnizat memoriei DRAM. Aceasta elimină
necesitatea propagării semnalelor multiple de sincronizare. Intrările sunt de asemenea
simplificate, deoarece semnalele de control, adresele şi datele pot fi memorate fără
temporizările de setare şi menţinere monitorizate de procesor. Avantaje similare se
obţin şi pentru operaţiile de ieşire. Accesul aleator in cazul memoriilor DRAM sincrone
este de asemenea lent, fiind puţin mai rapid decât la memoriile asincrone, datorită
tehnologiei (memoriile sincrone au apărut ulterior). În acces aleator, tRAC este de 40–60
ns, iar tC este de 80–110 ns, fata de memoriile asincrone unde (tRAC) este de 50–70 ns,
iar timpul de ciclu (tC) este de 90–120 ns. Accesul în mod pagină la memoriile DRAM
sincrone este mult mai rapid decât la memoriile asincrone şi depinde de frecvenţa
semnalului de ceas de sincronizare.

11. Cum acţionează semnalele RAS şi CAS pentru împrospătarea memoriei?


Modul de actionare al semnalelor RAS si CAS difera in functie de tipul de
improspatare utilizat. In cazul ROR (RAS only refresh), adresa de linie este furnizata din
exterior de catre dispozitivul master. O data ce adresa liniei este stabila pe magistrala de
adrese, semnalul RAS devine activ (RAS=0), avand astfel loc improspatarea liniei
corespunzatoare. In cazul CBR( CAS before RAR), adresa celulei de memorie care se
doreste a fi improspatata este furnizata de un numarator intern al memoriei. O data ce
adresa este stabila, va fi validata mai intai coloana din care face parte celula de memorie
(semnalul CAS activ), dupa care linia ( semnalul RAS activ), de unde si numele (CAS
before RAS). Astfel celula de memorie este improspatata.

12. Să de definească parametrii de timp de care trebuie să se ţină seama la


proiectarea unei memorii şi să se explice relaţiile de condiţionare între aceste valori.
Principalii parametrii de timp ce caracterizeaza o memorie sunt:
a) Timpul de acces la o unitate de memorie (tA) este timpul necesar localizării unei celule
de memorie, pentru transferul de informaţii la/de la locaţia de memorie respectivă.
Acesta reprezintă intervalul de timp calculat din momentul în care o unitate master
lansează o comandă către o unitate de memorie şi până în momentul în care informaţia
este transferată în sensul dorit.
b) Rata de acces (rA) este inversa timpului de acces, fiind exprimată în cuvinte pe
secundă: rA =1/tA[cuv/s].
c) Timpul de ciclu la o unitate de memorie (tC) este timpul minim între două accese
succesive şi reprezintă timpul din momentul în care o unitate master lansează o comandă

Pagina 17 din 36
(COM 1) spre unitatea de memorie şi până când poate lansa o nouă comandă (COM 2) la
aceeaşi unitate de memorie.
d) Rata de transfer (rT) este inversa timpului de ciclu şi reprezintă cantitatea maximă de
informaţie (exprimată în cuvinte pe secundă), care poate fi transferată la/de la memorie
într-o secundă: rT=1/tC [cuv/s].
Intotdeauna este valabila relatia tC > tA, diferenţa lor numindu-se timp de
revenire (tR = tC – tA). Acesta reprezintă timpul minim necesar pentru inactivarea primei
comenzi, până la activarea celei de a doua. Asadar cu cat timpul de acces este mai mare,
conform inegalitatii tC > tA , timpul de ciclu va fi si el mai mare.

13. Comparaţi metodologiile de proiectare pentru memoriile statice şi dinamice.


Proiectarea unui modul de memorie se face pe baza unor parametrilor de
proiectare impuşi:
 capacitatea memoriei;
 modul de organizare (unitatea elementară de acces la memorie: octet, cuvânt, cuvânt
dublu);
 tipul de magistrală pe care se conectează (numărul semnalelor de date şi de adrese,
tipurile semnalelor de comandă, parametrii de timp pentru ciclurile de transfer);
 amplasarea modulului de memorie în spaţiul de adresare al procesorului, exprimată
prin adresa sa de început (trebuie să fie un multiplu al capacităţii modulului);
 tipul de circuit de memorie disponibil (poate fi un parametru impus sau unul ales de
proiectant);
 alte cerinţe speciale (de exemplu: accesul dual de pe două magistrale,
reîmprospătarea controlată centralizat, implementarea unor mecanisme de detecţie a
erorilor etc.)
Proiectarea memoriilor dinamice este în principiu similară proiectării memoriilor statice,
cu următoarele amendamente:
 trebuie să se adauge un mecanism de reîmprospătare periodică a memoriei (refresh);
 adresele trebuie multiplexate (generarea secvenţială pe aceleaşi semnale a adresei de
linie şi a adresei de coloană);
 trebuie să se genereze semnalul de validare a adresei de linie (RAS – Row Address
Select) şi semnalul de validare a adresei de coloană (CAS – Column Address Select);
 selecţia circuitelor se face cu semnalele RAS şi CAS (excepţie fac circuitele de tip EDO-
DRAM, care au semnal separat pentru selecţia circuitului).

15. Caracterizaţi memoria DRAM şi explicaţi diferenţele faţă de memoria SRAM care
apar la conectarea cu exteriorul.
Memoria DRAM (Dynamic RAM) este o memorie volatilă cu acces aleator, care
memorează informaţia în mod dinamic. Este realizată în tehnologie CMOS
(Complementary MOS), cu consum de energie foarte mic. Datorită particularităţilor
constructive ale celulelor de memorie, informaţia 0L este memorată stabil, dar informaţia
1L se pierde în timp şi necesită împrospătarea periodică a memoriei, de unde şi
denumirea acesteia.
Indiferent de modul de realizare, memoria DRAM este mult mai lentă decât
memoria SRAM, din cauza mecanismului specific de memorare a informaţiilor. Timpul de
acces la DRAM este de 2–10 ori mai mare decât la SRAM, şi variază în funcţie de tipul
accesului la memorie.
Astfel, în acces aleator, timpul de acces este mare (zeci de ns), însă scade foarte
mult (în funcţie de tipul memoriei DRAM), dacă se restricţionează accesul în mod pagină,
putând ajunge doar de două ori mai mare decât al memoriei SRAM.
Celula de memorie este mult mai mică decât la memoria SRAM, ceea ce permite
realizarea unor densităţi mari de integrare. Circuitele de memorie DRAM au, prin urmare,
capacităţi de memorare mari, şi implicit un număr mare de linii de adresă.
Memorarea informaţiilor se bazează pe stocarea şi transferul de sarcini electrice,
şi nu pe mecanisme de comutare, ca în cazul memoriilor SRAM. Fiecare bit de informaţie

Pagina 18 din 36
este memorat prin încărcarea sau descărcarea unui condensator. Când condensatorul
este încărcat, se spune că se memorează valoarea 1L, iar când acesta este descărcat,
valoarea memorată este 0L. Faţă de celula SRAM, mecanismul de memorare nu
presupune consum de curent de la sursa de alimentare.

16. Cum intervine semnalul de comandă WE în modul de transfer al memoriilor


dinamice, comparativ cu cele statice?
In cazul memoriilor dinamice, conform diagramei din cadrul laboratorului,
semnalul WE devine activ dupa ce are loc validarea semnalului RAS (RAS= OL).Se
observa ca, data care se doreste a fi stocata in memorie, trebuie sa fie stabila pe
magistrala de date, inaintea validarea semnalului de CAS (CAS=0L).
In cazul memoriilor statice, semnalul WE devine activ dupa validarea semnalului
CE (CE=0L), iar semnalul CE devine activ dupa ce adresa la care se doreste a fi stocata
data respectiva, este stabila pe magistrala de adrese. De asemenea pentru evitarea unei
scrieri eronate, data care se doreste a fi stocata in memorie trebuie sa fie stabile pe
magistrala de date.

17. Ordonaţi tipurile de memorii descrise în lucrare după criteriul vitezei de lucru.
In cazul memoriilor dinamice asincrone, in functie de viteza de lucru, cele mai
rapide sunt memoriile tip BEDO DRAM, apoi EDO DRAM, dupa care memoriile tip FPM.
In cazul memoriilor dinamice sincrone, memoriile tip DDR SDRAM sunt mai rapide
din punct de vedere al vitezei de lucru fata de memoriile tip RDRAM.
In cazul memoriilor dinamice sincrone, in functie de viteza de lucru, cele mai
rapide memorii de tip DRDRAM sunt memoriile PC 800, apoi memoriile PC700, dupa care
memoriile PC600.

Pagina 19 din 36
Studiul memoriei cache (L3B)

1. Care sunt caracteristicile memoriei cache?


Memoria cache este realizata din celule SRAM rapide. Aceasta este interpusa intre
microprocesor si memoria RAM, jucand rolul de memorie tampon. Memoria cache trebuie
sa fie suficient de rapida ( timpul de acces sa devina comparabil cu timpul de lucru al
microprocesorului), astfel incat, numarul de stari de asteptare pe care procesorul le
introducea pentru sincronizarea cu memoria RAM, sa scada. Memoriile rapide sunt
realizabile din punct de vedere tehnologic, dar costul lor este ridicat. Sunt cunoscute însă
tehnici pentru combinarea unei memorii rapide de dimensiuni mici cu o memorie mai
lentă de dimensiuni mai mari, pentru a se obţine aproximativ viteza memoriei rapide şi
capacitatea memoriei lente, la un preţ moderat.

2. Explicaţi principiul de funcţionare al memoriei cache.


In figura 1 a platformei de laborator se pune in evidenta existenta a doua
interfete: o interfata este utilizata pentru comunicarea dintre procesor si memoria cache,
iar cealalta interfata este folosita pentru comunicarea dintre memoria cache si memoria
RAM (lenta). Asadar operatiile de citire/scriere initiate de procesor au ca prima destinatie
memoria cache, dupa care, in urma unor analize realizate aici , se vor emite sau nu
comenzi catre memoria principala. Transferul de date intre memoria cache si memoria
principala se realizeaza pe blocuri de date ( un bloc de date, spre exemplu, poate avea o
dimensiune de 8B).

3. Cum se alege dimensiunea (mărimea) memoriei cache? Cum variază


performanţele unui sistem odată cu creşterea dimensiunii memoriei cache?
Dimensiunea memoriei cache trebuie să fie suficient de mică, astfel încât costul
mediu pe bit al întregului sistem de memorie să fie apropiat de cel al memoriei
principale, şi suficient de mare, astfel încât timpul mediu de acces al întregului sistem de
memorie să fie apropiat de cel al memoriei cache.
Cu cat dimensiunea memoriei cache este mai mare, cu atat probabilitatea de a
localiza o data in aceasta memorie va fi mai mare. Prin urmare numarul de interactiuni
cu memoria RAM ( memorie lenta ) va fi mai mic, deci viteza de executie a programelor
va creste. Pe de alta parte, crescand foarte mult dimensiunea memoriei cache, deci a
numarului de celule SRAM, costul mediu pe bit al intregului sistem de memorie va creste
semnificativ si va depasi costul mediu pe bit al memoriei principale.

4. Cum se realizează operaţia de citire a memoriei cache?


Procesorul furnizeaza memoriei cache adresa A a datei solicitate. Controlerul care se
ocupa cu gestionarea memoria cache, cerceteaza daca blocul care contine adresa A se
afla in memoria cache. In caz afirmativ, se citeste cuvantul cu adresa A, din memoria
cache, si se transmite microprocesorului, iar operatia de citire ia sfarsit. In cazul in care
blocul corespunzator nu se gaseste in memoria cache, se acceseaza memoria principala
pentru blocul care contine A. Se aloca o linie in memoria cache pentru blocul din memoria
principala ( se pregateste transferul blocului ce contine data, din memoria principala in
memoria cache). Urmatorul pas il constituie transmiterea cuvantului cu adresa A catre
microprocesor. In final, se incarca blocul din memoria principala in linia memoriei cache,
dupa care operatia de citire se incheie.

5. Definiţi biţii tag, index şi offset, care ajută la formarea adresei de memorie în
cazul mapării directe.
Cei 3 biţi mai puţin semnificativi (offset) identifică un cuvânt (octet) unic în cadrul
unui bloc al memoriei principale ( se presepune ca un bloc de memorie contine 8 octeti).

Pagina 20 din 36
Câmpul de 7 biţi, numit linie (index), indică numărul blocului, modulo128. Astfel,
blocurile 0, 128, 256, …, 8064 vor fi amplasate în linia 0; blocurile 1, 129, …, 8065 vor fi
amplasate în linia 1, şi aşa mai departe, până la blocurile 127, 255, …, 8191, care vor fi
amplasate în linia 127.
Câmpul de 6 biţi, numit marcaj sau etichetă (tag), are rolul de a identifica în mod
unic blocul din linie. Astfel, blocurile 0, 128, 256, …, 8064 au numerele de marcaje 0, 1,
2, …, respectiv 63.

6. Cum se interpretează parametrii I, J, K şi L, în cazul memoriei cache cu mapare


asociativă pe seturi?
I- reprezinta numarul de seturi din memoria cache
J- reprezinta numarul de linii corespunzatoare unui set
L- numarul total de linii intr-o memorie cache ( L=I*J)
K= A mod I , unde A este o adresa pe magistrala de adrese. K reprezinta numarul
setului.

7. Care sunt cazurile particulare în care maparea asociativă pe seturi se reduce la


maparea directă, respectiv, la maparea asociativă?
Maparea asociativa pe seturi se reduce la maparea directa in cazul in care J=1,
deci I=L. Maparea asociativa pe seturi se reduce la maparea asociativa in cazul in care
I=1, deci L=J.

8. Care dintre metodele de mapare (directă, asociativă, asociativă pe seturi) este


mai eficientă? Argumentaţi.
Maparea directă este o tehnică care se poate implementa simplu. Principalul
dezavantaj al acesteia este că există o locaţie fixă în memoria cache pentru oricare bloc
dat. Deci, dacă un program face referire în mod repetat la cuvinte din două blocuri
diferite care se mapează în aceeaşi linie, blocurile vor fi interschimbate în mod continuu
în memoria cache şi rata de succes va fi redusă.
Maparea asociativa elimina dezavantajul precizat mai sus. Un bloc din memoria
principală se poate încărca în oricare linie, iar marcajul său de 13 biţi se memorează
împreună cu blocul. Pentru a determina dacă un bloc se află în memoria cache, sunt
necesare circuite pentru a compara simultan marcajul său cu marcajele fiecărei linii. În
cazul mapării asociative, există o flexibilitate în privinţa înlocuirii unui bloc atunci când un
nou bloc este încărcat în memoria cache.Principalul dezavantaj al acestei metode îl
reprezintă circuitele complexe necesare pentru a examina marcajele tuturor liniilor din
memoria cache.
Maparea asociativa pe seturi reprezintă un compromis care reţine avantajele
mapării directe şi a celei asociative. Utilizarea a două linii pe set este cea mai utilizată
organizare asociativă pe seturi, care îmbunătăţeşte semnificativ rata de succes faţă de
maparea directă.

9. Cum se calculează numărul de seturi aflat în memoria cache?


Pentru determinarea numarului de seturi dintr-o memorie cache se realizeaza
raportul dintre numarul total de linii existente in memoria cache si numarul de linii
asociate unui singur set.

10. Care sunt componentele principiului localizării şi în ce situaţii se aplică?


Componentele pricipiului localizarii sunt:
- localizare spaţială: dacă este nevoie de unele date, în curând va fi nevoie probabil de
date aflate în apropierea lor în memorie.
- localizare temporală: când s-au găsit anumite date, foarte adesea acestea vor fi folosite
de mai multe ori.

Pagina 21 din 36
11. De ce este important să existe o rată mare de succese (hit rate)?
Daca rata de succes (H-hit rate) este mare atunci procentajul de ratari (M-miss
rate) este mic. Atunci cand, H=1 ( cazul limita), M=0. Prin urmare, data este localizata in
memoria cache, iar durata timpului de acces la memorie coincide cu TH. In cazul in care
H=0, data este localizata in memoria lenta. Prin urmare, durata timpului de citire va
coincide cu suma dintre TM ( timpul de cautare a datei in memoria cache) si TI (timpul
de acces la memoria lenta). Bine inteles, in cazul al doilea timpul de citire este mult mai
mare fata de cazul 1. Asadar cu cat H este mai mare cu atat durata timpului de citire a
unei date va fi mai mic.

12. Cum se defineşte noţiunea de dirty data şi în ce context se foloseşte?


Bitul ( dirty data ) este pus pe 0 la incarcarea initiala a blocului in cache. La prima
scriere a acestui bloc, bitul se pune pe 1. Evacuarea propriu-zisa a blocului se face doar
daca bitul de dirty este 1.Practic, prin acest bit se minimizeaza evacuarile de blocuri in
memorie principala, pe baza principiului ca un bloc trebuie evacuat numai daca a fost
scris in cache.

13. Care dintre metodele de înlocuire a blocurilor în memoria cache este mai
eficientă? Argumentaţi.
Pentru ştergerea datelor curente şi aducerea altora noi se aplică o politică de
înlocuire (replacement policy) a blocurilor din memoria cache, care are numeroase
variante: politica aleatoare (random), politica circulară (round robin), politica celui mai
rar folosit (least frequently used), politica primul intrat – primul ieşit (first in, first out),
politica celui mai demult folosit (least recently used), politica setului de lucru (working
set), politica optimă (optimal), politica ceasului, politica celei de-a doua şanse (second
chance) etc. În practică, sunt aplicate cu preponderenţă patru metode:
 metoda RW (Random Write) sau de rescriere aleatorie: datele conţinute sunt rescrise
aleator, fără a folosi un anumit criteriu sau algoritm care să determine care bloc de date
va fi rescris;
 metoda FIFO (First In – First Out): primul intrat – primul ieşit, adică primele blocuri de
date scrise în memorie sunt rescrise primele;
 metoda LRU (Least Recently Used): datele folosite cel mai puţin recent; blocurile de
date care, static, au fost folosite cel mai rar sunt rescrise primele, cele folosite recent
fiind păstrate;
 metoda LFU (Least Frequently Used): se înlocuieşte blocul care a fost utilizat cel mai
puţin , adică cel mai rar din punct de vedere statistic.
Metoda cea mai folosită este LRU. Cipul de memorie cache numit TAG RAM va juca rol de
contor static al frecvenţei de apelare a datelor din memoria cache, determinându-se
datele care vor fi rescrise.

14. Care metodă de scriere (depunere în memorie a rezultatelor) modifică informaţiile


din ambele memorii (cache şi RAM)?
Metoda Write Through care utilizeaza traseul invers al citirii datelor, blocurile fiind
depuse mai intai in memoria cache interna, apoi in cache-ul extern si in final in memoria
RAM.

15. Prezentaţi avantajele şi dezavantajele fiecărei metode de depunere în memorie a


rezultatelor.
In cazul metodei Write –Thorough toate cele trei memorii vor fi accesate, in cazul
unei operatii de scriere. In cazul metodei Write Back, in cazul in care blocul in care se
realizeaza scrierea se afla in cache, scrierea se face in cache, si nu va mai fii accesata si
memoria RAM. Metoda Post Write utilizeaza un buffer din memoria cache in care se vor

Pagina 22 din 36
depune blocurile care se doresc a fi scrise , atata timp cat magistrala memoriei nu este
disponibila.

16. Cum se foloseşte tabela asociativă, TA, în cazul metodei Write Through?
Există o tabelă asociativă TA (bazată pe o memorie cu căutare asociativă, după
conţinut), asociată memoriei cache, care păstrează pentru fiecare bloc de memorie cache
o etichetă reprezentând adresa blocului din memoria principală (ABLP) stocat în blocul de
memorie cache.
Astfel, la fiecare acces la memorie, se va căuta în TA adresa cerută şi, dacă există
o etichetă cu valoarea ABLP, se va furniza adresa blocului de memorie cache care rezultă
din poziţia etichetei respective în TA. Dacă nu există, atunci se va înlocui un bloc din
memoria cache, conform unui algoritm de înlocuire. În cazul de faţă este vorba de
algoritmul LRU (Least Recently Used).
Căutarea unui bloc în TA se poate face eficient în hardware, având în vedere că se pot
realiza în paralel comparările care sunt independente.

18. Cum se calculează timpul mediu de acces la memoria cache?


T = TH  H + TM  M. H = 1 – M.
- TH (hit time)
- TM (miss time)
- H (hit rate)
- M(miss rate)

Pagina 23 din 36
Gestionarea tranzactiilor in sisteme I/O (L4A)

1. Care sunt etapele unui transfer DMA?


Un transfer DMA consta din urmatoarele faze:
 initializarea transferului;
 transferul efectiv de date;
 verificarea terminarii si a corectitudinii transferului.

2. Care sunt componentele unui controler DMA?


Un controler DMA trebuie sa contina urmatoarele componente:
 registre pentru generarea adreselor de memorie;
 numaratoare pentru evidenta cuvintelor de date transferate pe fiecare canal;
 un registru de stare pentru marcarea configuratiei curente;
 registre de comanda pentru programarea modului de transfer;
 un circuit de arbitrare pentru solutionarea cererilor multiple de acces;
 circuite de control al magistralei (amplificatoare de adrese, date si comenzi);
 un dispozitiv de comanda secvential pentru derularea ciclurilor DMA si pentru
preluarea/cedarea magistralei.

3. Care sunt utilizarile tipice ale unui transfer DMA?


In cazul PC-urilor, transferul DMA se utilizeaza pentru interfata de floppy disk si
pentru transferul serial pe bloc. Un canal DMA (canalul 0) este utilizat pentru operatia de
refresh a memoriei dinamice.
In functie de numarul de ordine al DMA-ului, un transfer DMA este utilizat pentru
interfete precum : DMA-1 (Placa de sunet, low DMA), DMA-2 ( floppy disk), DMA-3
( liber), DMA-5 (placa de sunet, high DMA), etc.

4. Descrieti functionarea IRQ.


Functionarea este urmatoarea:
I. placa periferica instalata lanseaza catre procesor un semnal de tipul Interrupt Request
(o cerere de intrerupere, desemnata de un anumit numar-cod);
II. procesorul asteapta terminarea instructiunii in curs de executie, inregistreaza
intreruperea si transmite la periferic un mesaj de receptie, numit Interrupt Acknowledge,
in cazul in care nivelul de prioritate al procesului cerut este superior celui in curs de
desfasurare;
III. dupa terminarea executiei instructiunii curente, sistemul de operare va executa o
rutina speciala, care are ca sarcina salvarea starii procesorului (salvarea registrelor
curente);
IV. urmeaza citirea din tabela vectorilor de intrerupere (TVI) a unei adrese la care se afla
numarul canalului de intrerupere cerut;
V. in continuare, prin citirea adresei din TVI, se poate da controlul rutinei-driver aflate la
adresa citita, rutina care raspunde de activitatea dispozitivului care a emis semnalul IRQ;
VI. rolul final al rutinei sistemului de operare este sa refaca starea procesorului,
incarcand registrele salvate anterior, moment din care sistemul revine la starea si la
procesul care aveau loc inainte de lansarea semnalului IRQ.

5. Care nivele IRQ nu pot fi definite de utilizator?


Urmatoarele nivele IRQ nu pot fi definite de utilizator: IRQ-0 ( ceas de sistem),
IRQ-6 (floppy-disk) si IRQ-8 (ceasul de timp real).

Pagina 24 din 36
6. Care nivel IRQ are prioritatea cea mai mica?
Nivelele IRQ cu prioriatatea cea mai mica sunt :IRQ3–IRQ8 ( porturi seriale,
porturi paralele, floppy, ceas de timp real ).

7. Care nivel IRQ are prioritatea mai mare: IRQ3 sau IRQ10? Dar IRQ2 fata de
IRQ9?
IRQ10 este prioritar IRQ3. IRQ2 respectiv IRQ9 apartin aceluiasi nivel de
prioritate, insa cel cu IRQ mai mic este prioritar.

8. La ce folosesc nivelele IRQ? Dati exemple de dispozitive I/O si indicati ce nivel IRQ
poate folosi fiecare.
O posibila utilizare a niveleor IRQ este urmatoarea situatie: in cazul in care doua
dispozitive periferice solicita simultan accesul la microprocesor, microprocesorul va servi
dispozitivul care are un nivel IRQ mai prioritar.
Exemple de periferice : IRQ1 – Tastatura; IRQ4- conectarea seriala a unui mouse;
IRQ-14 controler IDE1 pentru HDD si CDROM.

9. Care este modalitatea de utilizare a tabelei vectorilor de intreruperi (TVI)?


Tabele vectorilor de intrerupere, furnizeaza adresa la care se afla numarul
canalului de intrerupere cerut. In continuare, prin citirea adresei din TVI, se poate da
controlul rutinei-driver aflate la adresa citita, rutina care raspunde de activitatea
dispozitivului care a emis semnalul IRQ;

10. Cum se realizeaza configurarea adreselor de intrare-iesire la calculatoarele


moderne?
O solutie deosebit de avantajoasa si rapida o constituie folosirea arhitecturii PCI,
care, prin intermediul setului de cipuri inteligente, permite sistemului sa se
autoconfigureze, instalarea noii placi decurgand fara probleme (standardul Plug'N'Play –
PNP).
Practic, dupa cuplarea fizica in slotul PCI liber, urmeaza instalarea driver-ului
placii respective (o actiune software), cu aceasta incheindu-se dotarea sistemului.
Sistemul va recunoaste automat la pornire placa nou instalata, configurand totodata si
canalele DMA, IRQ si adresele I/O necesare.

11. Care sunt cerintele de baza de la care se porneste in proiectarea unui sistem I/O?
Arta proiectarii unui sistem I/O este de a gasi proiectul care sa indeplineasca
obiectivele de cost, dependente si varietate a dispozitivelor, si, in acelasi timp, sa se
evite scaderea performantei I/O. Pentru a evita scaderea performantei, componentele
trebuie sa fie echilibrate intre memoria principala si dispozitivele I/O.
Arhitectul trebuie sa planuiasca o extindere, atat in ceea ce priveste numarul, cat
si tipurile dispozitivelor I/O, astfel incat clientii sa poata proiecta reteaua I/O conform
necesitatilor aplicatiilor lor. De exemplu, discurile de stocare trebuie sa fie dependente de
limitarile care se pot impune proiectului.

12. Care sunt etapele care trebuie parcurse in proiectarea unui sistem I/O? Cum pot
varia acestea in functie de aplicatia specifica?
Principalele etape sunt urmatoarele:
I. enumerarea diferitelor tipuri de dispozitive I/O care se vor conecta la sistem sau
enumerarea magistralelor standard pe care le suporta sistemul;
II. enumerarea cerintelor fizice pentru fiecare dispozitiv I/O, cerintele incluzand
dimensiunea, puterea, conectorii, sloturile disponibile pe magistrala etc.;
III. luarea in calcul a costului fiecarui dispozitiv I/O, incluzand costul controlerului
necesar pentru acest dispozitiv;
IV. luarea in calcul a fiabilitatii fiecarui dispozitiv I/O si luarea in calcul a cerintelor de
memorie si de ocupare a magistralei I/O de catre fiecare dispozitiv I/O in parte. Atentie!

Pagina 25 din 36
Si atunci cand CPU nu foloseste memoria, dimensiunea memoriei principale si a
magistralei I/O este limitata;
V. estimarea performantei si disponibilitatii diferitelor modalitati de organizare a
dispozitivelor I/O, pentru ca in final sa se aleaga cea mai buna organizare;
VI. inregistrarea cererii fiecarui dispozitiv I/O de acces la resursele CPU:
 numarul necesar de cicluri de ceas pentru instructiunile de initializare a
dispozitivului I/O;
 suportarea operatiilor unui dispozitiv I/O, cum sunt intreruperile;
 evitarea blocarii CPU cauzata de asteptarea eliberarii memoriei, magistralei
sau memoriei cache, care sunt folosite de dispozitivele I/O.

13. Care sunt limitarile uzuale in utilizarea resurselor unui calculator?


Limitarile uzuale sunt:
 niciun disc nu trebuie folosit mai mult de 80% din timp;
 niciun brat al discului nu trebuie sa caute mai mult de 60% din timp;
 nicio magistrala SCSI nu trebuie utilizata mai mult de 40%;
 nicio magistrala I/O nu trebuie utilizata mai mult de 75%.

14. Cum influenteaza numarul de mips asupra performantelor sistemului? Ce


inseamna mips?
Performanta CPU pentru I/O este determinata de viteza procesorului (mips =
millions of instructions per second) si de numarul de instructiuni pentru o operatie I/O
(cpuiops = CPU io per second):
cpuiops = mips / cpuinstr.

15. Cum influenteaza rata de transfer a discului sau a magistralei I/O asupra
performantelor sistemului?
Cu cat rata de transfer ( debitul binar) a discului sau a magistralei I/O este mai
mare cu atat starea de asteptare a procesorului ( care functioneaza cu o viteza mult
superioara dispozitivelor periferice) va avea o durata mai mica. Prin urmare
performantele sisitemului vor creste.

Pagina 26 din 36
Studiul tehnicilor de transmisiune seriala (L4B)

1. Care este diferenta dintre transmisiunea sincrona cu caracter de sincronizare si


cea cu semnal de sincronizare?
In cazul transmisiunii sincrone cu caractere de sincronizare se transmit coduri
speciale la inceput (de la dispozitivul care transmite catre cel care receptioneaza) pentru
a stabili sincronizarea, dupa care informatia este transmisa intr-un flux continuu.
Blocurile de date sunt grupate si separate dupa intervale fixe. Acestea sunt in plus
precedate de caractere speciale denumite syn sau synchronous idle characters.
Dupa ce caracterele syn sunt receptionate de dispozitivul catre care se face
transmisiunea, ele sunt decodate si folosite pentru sincronizarea transmisiunii. Abia dupa
ce dispozitivele sunt corect sincronizate transmisiunea de date poate incepe.
Transmisiunea sincrona cu semnal de sincronizare (vezi figura 2) presupune ca
atat expeditorul cat si destinatarul mesajelor impart acelasi ceas de sincronizare sau ca
expeditorul pune la dispozitie un semnal de sincronizare pentru ca destinatarul sa stie
cand sa „citeasca” urmatorul bit de date. Sincronizarea perfecta intre dispozitivul
transmitator si cel receptor (si faptul ca receptorul stie intotdeauna ce primeste,
caractere de sincronizare sau informatie) face ca ratele de transfer sa fie foarte mari. De
asemenea, receptorul poate sesiza orice abatere pe care ar putea sa o sufere
transmitatorul in ceea ce priveste semnalul de sincronizare, cauzata de exemplu de
variatia temperaturii.

2. Explicati modul de formare al cadrului de biti la transmisiunea asincrona.


In transmisiunea asincrona seriala, bitii individuali care compun octetul sunt
transmisi unul dupa altul pe o singura linie. In acest context, asincron inseamna ca
informatia de sincronizare nu este inclusa in transmisiune, asa ca sunt necesare
resincronizari frecvente folosind biti de start si stop. Un format de date pe 8 biti, fara bit
de paritate si un bit de stop, necesita de exemplu 20% din timpul transmisiunii pentru
resincronizare. In cazul transmisiunii sincrone, relatia dintre timpul in care se transmite
informatia si timpul necesar pentru resincronizare este mult mai favorabila, dat fiind
faptul ca aici informatia de sincronizare se trimite pe propria ei linie sau impreuna cu
informatia utila.
Transmisiunea unui octet incepe intotdeauna cu un bit de start, care este transmis
ca 0 logic (0L). Urmatorii biti (de la 2 pana la 9) sunt transmisi in secventa unul dupa
altul, incepandu-se de la LSB (Least Significant Bit). Un bit de paritate poate urma dupa
ultimul bit de date si foloseste la detectarea erorilor de transmisiune. Bitul de paritate
este par pentru un numar de biti 1 par si impar pentru un numar de biti 1 impar.
Sfarsitul caracterului poate fi compus din unul sau maximum doi biti de stop.

3. Definiti parametrii unei transmisiuni seriale si unitatile lor de masura.


Parametrii folositi pe durata unei comunicatii seriale (RS-232) includ urmatoarele
valori: bits-per-character (bpc, biti per caracter), bits-per-second (bps, biti per secunda),
baud rate (rata de baud), informatie de paritate, biti de start, stop si Mark.
Bitii pe secunda reprezinta numarul de biti de informatie (0 sau 1) care sunt
transmisi intr-o secunda pe linia de comunicatie.
Viteza maxima de transmisiune. Cunoscand structura unui cadru si semnificatia
ratei de baud asa cum rezulta ea din comunicatia seriala, se poate calcula rata maxima
de transfer, in caractere pe secunda, pentru o conexiune data. Aceasta rata nu este
altceva decat rata de baud impartita la numarul de biti pe cadru.
Un bit de start semnaleaza inceputul fiecarui cadru al unui caracter. Bitul de start
are mereu valoarea 0 (Space), facand de fapt o tranzitie de la semnalul negativ (Mark) la
cel pozitiv (Space) la inceputul fiecarui octet. Durata sa in secunde este reciproca ratei de
baud.

Pagina 27 din 36
Bitii per caracter (bpc) indica numarul de biti utilizati pentru a reprezenta un
singur caracter. Acest numar nu contine si informatia de sincronizare si paritate.
Un bit de paritate optional urmeaza bitii de date in cadru. Bitul de paritate, daca
este prezent, urmeaza de asemenea logica inversa: 1 pentru voltaje negative si 0 pentru
voltaje pozitive. Acest bit a fost inclus ca o metoda de detectie a erorilor.

4. Explicati semnificatia starilor Space si Mark folosite in standardul RS-232.


Mark este voltajul negativ, iar Space este voltajul pozitiv. Semnalele mai mari de
3 V semnifica transmiterea unui bit de 0, in timp ce semnalele mai mici de –3 V semnifica
transmiterea unui bit de 1. Semnalul „baleiaza” intre +12 V si –12 V, „zona moarta”
dintre +3 V si –3 V avand rolul de a absorbi zgomotul liniei.
Bitii sunt transmisi in logica inversata: adica 1 pentru voltaj negativ si 0 pentru
voltaj pozitiv, si in ordine inversa. Ordinea de transmisiune este de la LSB (Least
Significant Bit) catre MSB (Most Significant Bit). Pentru a interpreta bitii de date dintr-un
cadru, acestia trebuie cititi de la dreapta la stanga si trebuie considerat 1 pentru voltaj
negativ si 0 pentru voltaj pozitiv.

5. Explicati modul de alocare dinamica al frecventelor de aparitie pentru caracterele


ASCII in compresia MNP5.
La initierea compresiei, frecventele de aparitie pentru toate cele 256 de caractere
ale setului ASCII sunt zero. Totusi, caracterul cu valoare zecimala 0 se considera cel mai
frecvent, beneficiind de cea mai scurta marca. Caracterele cu valori zecimale crescatoare
sunt reprezentate prin marci succesive, astfel incat caracterul 11111111 (valoare
zecimala 255) se presupune a fi cel mai putin frecvent.
La parcurgerea textului pentru compresie, fiecare caracter va fi inlocuit mai intai prin
marca aferenta, dupa care frecventa lui de aparitie va fi incrementata cu o unitate. Daca
in felul acesta caracterul respectiv depaseste in frecventa de aparitie caracterul cu cea
mai scurta marca, atunci cele doua caractere vor face schimb de marci. Procedura
decurge similar pentru caracterele urmatoare, care in functie de o aparitie mai frecventa
vor primi marci mai scurte. Procesul se repeta pana cand nu mai este necesara nicio
schimbare de marci. In acest moment, corespondenta dintre caractere si marci este
corect adaptata frecventelor relative de aparitie ale caracterelor.

6. Comparati tipurile de codare NRZ, RZ si NRZI dupa criteriul sincronizarii.


Non Return to Zero (NRZ) reprezinta un tip de codare in care biti de 0 si de 1 sunt
codati fiecare cu niveluri diferite de tensiune (vezi figura 5). Durata de transmitere a unui
bit este mereu aceeasi. Nivelul ridicat de tensiune reprezinta un 1, in timp ce nivelul
scazut reprezinta un 0. Exista posibilitatea pierderii sincronizarii pentru siruri lungi de 0
sau de 1.
Codarea Return to Zero (RZ) foloseste doar jumatate din durata transmiterii unui
bit pentru a marca bitii de 1 (vezi figura 6). Dupa aceasta perioada egala cu jumatatea
transmiterii unui bit, semnalul „se intoarce” la nivelul de 0. Pierderi ale sincronizarii pot
aparea atunci cand se transmit siruri lungi de 0.
Codarea Non Return to Zero Invert (NRZI) aloca o tranzitie de un anumit sens bitilor de 1
si lipsa tranzitiei in cazul bitilor de 0. Pentru secvente lungi de biti de 0, exista riscul
pierderii sincronizarii.

7. Care sunt avantajele tipurilor de modulatie numerica fata de cele analogice?


Informatia poate fi analogica (situatie in care semnalul are o forma continua,
adica poate lua orice valoare intre un minim si un maxim al semnalului) sau digitala (in
care un semnal numeric moduleaza o purtatoare continua). In cazul unei modulatii
digitale semnalul informational este digital (numeric), iar semnalul purtator este un
semnal armonic. Modulatia semnalului purtator se realizeaza in functie de amplitudinile
valorilor discrete ale semnalului informational numeric.In cazul modulatiei analogice,
semnalul informational este analogic (contine o gama continua de elongatii intre o

Pagina 28 din 36
valoare minima si una maxima), acesta moduland un purtator armonic. Modulatia digitala
sau numerica poate fi considerata ca o conversie analog-digitala a unui semnal.

Pagina 29 din 36
Studiul tipurilor de magistrale (L5A)

1. Cum este influentata durata procesului de transfer al datelor pe magistrala de


catre viteza de raspuns a memoriei, in cazul magistralei sincrone? Dar in cazul
magistralei asincrone?
Rata de transfer este limitata de frecventa tactului. Datorita vitezei de propagare
a semnalului, cresterea ratei ar duce la diferente de faza la capetele magistralei.

2. Cum reactioneaza procesorul in cazul in care datele nu sunt furnizate de memorie in


timp util?
Daca memoria nu este capabila sa furnizeze datele in timp util procesorului,
aceasta va emite un semnal “wait” cerand prelungirea timpului de citire, iar procesorul va
astepta datele solicitate. Per total aceasta circumstanta incetineste viteza sistemului de
calcul.

4. In ce raport se afla durata frontului semnalului de ceas fata de perioada acestuia ?


TC (perioada ceasului) = 1 / FC (frecventa ceasului)
Tf (timpul de front) = 4 % din TC

6. La care dintre cele doua tipuri de magistrale efectul progresului tehnologic se


resimte mai puternic in imbunatatirea prformantelor?
Imbunatatirea performantelor se resimte cel mai puternic in cazul magistralelor
specializate.

8. Prezentati comparativ avantajele si dezavantajele celor doua tipuri de magistrala.


Principalul avantaj al magistralei sincrone fata de magistrala asincrona este
functionarea relativ simpla (si datorita lipsei semnalelor MSYN si SSYN). Ca dezavantaje
putem enumera operatiile care corespund unui numar intreg de perioade de ceas , fapt
care conduce la o functionare suboptima din punct de vedere al vitezei de lucru precum si
evolutia dificila odata cu procesul tehnologic.In cazul magistralei asincrone nu este
necesara existenta unui semnal de ceas ceea ce duce la o durata a operatiunii variabila.

9. In ce situatii este preferat un anume tip de magistrala dintre cele doua studiate si
de ce ?
Pentru a conecta in mod optim un ansamblu de circuite la magistrala , este
preferata arhitectura asincrona iar pentru o configuratie simpla se utilizeaza magistrala
sincrona (memoria sau circuitele I/O nu fac decat sa raspunda la solicitarile UC).

10. Care credeti ca este tipul de magistrala cel mai raspandit in cazul procesoarelor
actuale ? Justificati .
Cel mai raspandit tip in cazul procesoarelor actuale este magistrala asincrona
deoarece aceasta este independenta de timp iar dispozitivele conectate la o astfel de
magistrala pot fi usor inlocuite cu alte dispozitive mai performante pe masura ce
tehnologia avanseaza.

Pagina 30 din 36
Scheme de arbitrare a magistralei (L5B)

1. Care este dezavantajul major al algoritmului FCFS?


Este greu de implementat, deoarece mecanismele necesare pentru inregistrarea
ordinii cererilor pot da gres daca cererile vin indeajuns de apropiate in timp.

2. De ce nu sunt introduse mai multe valori la un moment dat pentru algoritmul


FCFS?
Nu pot fi introduse mai multe valori la un moment dat deoarece algoritmul FCFS
nu prefera nici o cerere anume, prima solicitare sosita este acceptata si servita.

3. De ce prioritatile sunt fixe pentru algoritmul daisy chain?


Linia de cerere a accesului la magistrala a fiecarui dispozitiv este cablata printr-un
acelasi SAU, in orice moment in care se fac cereri catre accesul la magistrala arbitrul nu
sesizeaza decat una dintre aceste cereri si acorda magistrala dispozitivului emitent.

4. De ce prioritatile sunt fixe pentru algoritmul cu comparare in-out?


Logica folosita este cablata, ordinea prioritatilor tine de ordinea in care sunt
conectate dipozitivele la magistrala.

5. Descrieti evolutia in timp a prioritatilor perifericelor pentru Exemplul 1.


Momentul 0: • Perifericul 3 – 0 • Perifericul 2 – 3
• Perifericul 0 – 1 Momentul 7: • Perifericul 3 – 2
• Perifericul 1 – 0 • Perifericul 0 – 0 Momentul 24:
• Perifericul 2 – 3 • Perifericul 1 – 3 • Perifericul 0 – 2
• Perifericul 3 – 2 • Perifericul 2 – 2 • Perifericul 1 – 1
Momentul 3: • Perifericul 3 – 1 • Perifericul 2 – 0
• Perifericul 0 – 2 Momentul 10: • Perifericul 3 – 3
• Perifericul 1 – 1 • Perifericul 0 – 1 Momentul 25:
• Perifericul 2 – 0 • Perifericul 1 – 0 • Perifericul 0 – 3
• Perifericul 3 – 3 • Perifericul 2 – 3 • Perifericul 1 – 2
Momentul 5: • Perifericul 3 – 2 • Perifericul 2 – 1
• Perifericul 0 – 3 Momentul 21: • Perifericul 3 – 0
• Perifericul 1 – 2 • Perifericul 0 – 1
• Perifericul 2 – 1 • Perifericul 1 – 0

6. In cazul Exemplului 1, de ce butonul radio corespunzator perifericului 0, care a


formulat o cerere la momentul 0 cu durata 2, este inactiv la momentul 5?
Deoarece magistrala inca nu este libera, dupa ce aceasta a fost ocupata 3 unitati
de timp de catre perifericul 2 (care a solicitat magistrala in acelasi moment cu perifericul
0 si a avut prioritate mai mare), a urmat randul perifericului 3 care a facut solicitarea sa
inainte ca perifericul 2 sa isi termine cele 3 unitati de timp, si avand prioritate mai mare
fata de perifericul 0 i-a fost alocata acestuia magistrala.

7. De ce se considera ca algoritmul cu comparare in-out este mai rapid decat


variantele cu arbitru?
Arbitrul implica un dispozitiv separat de monitorizare si decizie care parcurge un
set de etape decizionale dupa primirea cererii din partea unui dispozitiv.
Eliminarea arbitrului implica faptul ca verificarile se fac in momentul in care
dispozitivul decide ca are nevoie de magistrala, iar verificarile sunt mai simple deoarece
nu implica interogarile altor dispozitive.

8. Care sunt conditiile care trebuie verificate de algoritmul cu comparare in-out?


Conditiile care trebuie verificate de algoritmul cu comparare in-out sunt:
• Daca magistrala este libera;

Pagina 31 din 36
• Daca semnalul BUS BUSY este dezactivat;
• Daca linia de arbitrare prezenta la iesirea sa este libera.

9. Cum se pune in evidenta unui periferic faptul ca momentan are acces la


magistrala?
In cazul structurilor centralizate, dispozitivul de arbitrare trimite semnale de ACK
ca raspuns unui BUS REQUEST.
In cazul structurilor descentralizate fiecare periferic verifica daca poate avea acces
si decide singur.

10. Cum se calculeaza timpul mediu de asteptare pentru un dispozitiv I/O pana la
obtinerea accesului la magistrala?
Se considera o durata de timp in care se desfasoara cereri de acces la magistrala
din partea tuturor perifericelor. Se elimina timpii in care nu s-au facut cereri si nici
transmisii.
Se imparte durata obtinuta la nr de cereri satisfacute.

Pagina 32 din 36
Studiul nivelului microprogramat (L6A)

1. Care este locul nivelului microprogramat in structura stratificata a nivelurilor unui


calculator?
Nivelul imediat superior nivelului fizic (exceptie facand daca exista nivelul
nanoprogramat) este locul nivelului microprogramat in structura stratificata a nivelurilor
unui calculator.

2. Enumerati blocurile functionale ale masinii microprogramate in format orizontal.


Blocurile functionale ale masinii microprogramate in format orizontal
sunt:registrele generale de tip latch (16 a cate 16 biti), ALU(unitatea aritmetico-logica),
registrul shift, registrele tampon de tip latch RTA si RTB (prin care sunt legate la ALU
magistralele A si B), registrele RDA si RAD.

3. Care este rolul registrelor RTA si RTB din schema masinii microprogramate in
format orizontal? Dar al perechii de registre RDA si RAD?
Aceasta pereche de registre contine operanzii necesari pentru efectuarea unei
operatii in ALU, si isi primesc valoarea din registrele R1-R16.
Perechea RDA si RAD, reprezinta registrul de date (citite din memorie sau ce
urmeaza a fi scrise in memorie) respectiv registrul de adrese.

4. Care este semnificatia campurilor COND si ADDR din structura unei


microinstructiuni?
COND executa salturile conditionate sau neconditionate;
ADDR indica adresa microinstructiunii;

6. Care sunt subciclurile din componenta executiei unei microinstructiuni?


• Incarcarea microinstructiunii care trebuie executata intr-un registru particular
denumit registru microinstructiune RMI;
• Transferul continutului registrelor selectionate pe magistralele A, B si incarcarea
datelor in RTA si RTB;
• Realizarea operatiunilor ALU si ale registrului shift; daca este necesar RAD este
incarcat cu valoarea RTB;
• Incarcarea datelor de la iesirea registrului shift in registrul selectionat si/sau in
RDA;

7. Care sunt diferentele dinre memoria de program si memoria de microprogram?


Memoria de microprogram este de obicei o memorie read-only foarte rapida care
contine instructiunile microprogramate.

8. Care este rolul secventiatorului din structura masinii microprogramate in format


mixt?
Acesta are rolul de a adresa urmatoarea microinstructiune in functie de starea caii
de date si de bitii de control ai adresei urmatoare.

9. Care sunt blocurile specifice din structura masinii microprogramate in format


vertical? Ce rol au acestea?
Blocul SI: contine 16 porti SI, care permit campului R1 dupa traversarea
decodorului R1 sa comande golirea unui registru pe magistrala A si incarcarea sa pe
magistrala C.
Blocul NZ: registru de 2 biti care inregistreaza semnalele N si Z la iesirea ALU,
cand aceasta inregistrare este ordonata de decodor.
Decodorul COP: decodorul codului operatiei, pentru fiecare dintre cele 16 coduri
de operatie acesta determina care dintre cele 13 microcomenzi sunt active si care sunt in
repaos.

Pagina 33 din 36
10. Care sunt criteriile dupa care se decide daca pentru un sistem anume se aplica
formatul orizontal sau formatul vertical al microprogramarii?
Micromasinile verticale au viteza redusa datorita numarului mare de instructiuni
ce trebuiesc rulate, insca costul de productie este mai mic si implicit mai convenabil
pentru masinile mai modeste.
Micromasinile orizontale sunt folosite in calculatoarele mari si rapide.

11. In ce conditii este eficienta nanoprogramarea? Care e dezavantajul acesteia?


Eficienta este data atunci cand un numar mic de microinstructiuni sunt mai
frecvent utilizate decat celelalte.
Dezavantajul acesteia este ca implica o citire aditionala in memorie, ceea ce
incetineste viteza fata de masinile microprogramate.

12. Care sunt mesajele afisate de microsecventiator in linia referitoare la semnificatia


campului COND, daca pentru N si Z sunt alese urmatoarele perechi de valori: N=0, Z=0;
N=0, Z=1; N=1, Z=0; N=1, Z=1 ?
Pentru N=0 , Z=0 microsecventiatorul va afisa in linia referitoare la semnificatia
campului COND “se executa urmatoarea microinstructiune”, pentru N=0, Z=1 si N=1,
Z=0 se va afisa “salt la adresa specificată de ADDR”, iar pentru N=1, Z=1 se va afisa
“salt necondiţionat la ADDR”.

13. In ce registru se scrie rezultatul adunarii , in cazul microprogramului de adunare


folosind micromasina verticala ?
In cazul microprogramului de adunare folosind micromasina verticala rezultatul
adunarii se scrie in registrul shift

16. In ce relatie se afla datele de intrare, in situatia in care este mai avantajos sa se
foloseasca nanoprogramarea in detrimentul microprogramarii ? Dar in situatia in care
nanoprogramarea este mai dezavantajoasa ?
Este mai avantajos sa se foloseasca nanoprogramarea in detrimentul
microprogramarii atunci cand avem un numar mic de instructiuni frecvent folosite dar un
numar mare de microinstructiuni si de biti al microinstructiunii. Un numar mare de
microinstructiuni frecvent folosite va duce la un castig de memorie in cazul
nanoprogramarii fata de microprogramare negativ.

17. Sa se precizeze care este castigul de memorie obtinut prin folosirea


nanoprogramarii, pentru parametrii de intrare n=32.768, w=130 si m=32.
Castigul de memorie obtinut prin folosirea nanoprogramarii, pentru parametrii de
intrare n=32.768, w=130 si m=32 este de 4091840 biti.

Pagina 34 din 36
Gestiunea memoriei virtuale (L6B)

1. Specificati diferenta dintre memoria fizica si memoria virtuala.


Memoria fizica:
• Linii fizice de adresare pe care le are procesorul in exterior;
• Spatiu de memorie fizica instalata (existenta) in sistemul de calcul;
Memoria virtuala:
• Linii fizice de adresare pe care le are procesorul in exterior;
• Spatiu de memorie pe care il creeaza sistemul de operare si care contne un model
al memoriei si al adreselor de memorie pe care le are programul la dispozitie;
• Suportul fizic (de obicei HDD), pe care sistemul de operare salveaza zone din
memoria totala disponibila programului pentru a asigura spatii libere in zona de memorie
fizica, destinate zonelor de cod sau de date cu care programul lucreaza in momentul
respectiv;

2. Ce operatii efetueaza sistemul de gestiune al memoriei virtuale atunci cand


programul trebuie sa execute o instructiune din pagina urmatoare?
• Salveaza continutul memoriei periferice in memoria secundara;
• Localizeaza pagina respectiva in memoria secundara;
• Incarca aceasta pagina in memoria princiala;
• Asociaza adreselor absolute adresa de memorie fizica de la 0 la 4095;
• Continua executia programului;

3. Care sunt avantajele folosirii sistemului de paginare?


• Marimea fixa a paginilor intra corect intr-un sector al unui disc;
• Un obiect in memorie nu trebuie sa fie continuu: pagina poate constituii o noua
cuanta de informatie;
• Mecanismul paginarii si tehnica de a schimba continuu blocuri fixe de informatii
intre memoria interna si cea externa nu sunt vizibile utilizatorului;

4. Care este conditionarea impusa in aplicatia de paginare intre dimensiunea


memoriei fizice si dimensiunea memoriei virtuale?
Dimensiunile memoriei virtuale trebuie sa fie de cel putin doua ori mai mari decat
memoria fizica.

5. In ce mod depinde alegerea dimensiunii paginii fata de alegerea dimensiunii


memoriei fizice?
Alegerea dimensiunii paginii fata de alegerea dimensiunii memoriei fizice depinde
de dimensiunile blocurilor de memorie cu care se lucreaza.

6. Precizati tipurile de operatii care pot fi efectuate asupra paginilor la


implementarea algoritmilor de inlocuire a paginilor.
• Eliminare din setul de lucru;
• Incarcare in setul de lucru;
• Incrementarea contoarelor (pentru FIFO contorul de ordine, pentru LRU, contorul
de utilizari);

8. Definiti fenomenul de fragmentare externa.


Fenomenul se manifesta la inlocuirea unor segmente initiale cu segmente mai mici
decat cele initiale, fapt care produce gauri in memoria principala, gauri care delimiteaza
portiuni cu segmente

9. Specificati nivelurile de protectie ale segmentelor precum si localizarea folosirii


acestei informatii.
Nivelurile de protectie se gasesc in registrul selector.

Pagina 35 din 36
10. Care sunt nivelurile de prioritate in executie ale programelor care opereaza cu
segmente? Unde se regaseste aceasta informatie in cadrul aplicatiei?
• Nucleu SO
• Apeluri ale SO
• Biblioteci dinamice
• Program utilizator

11. Care este diferenta dintre algoritmii LRU si FIFO de inlocuire a paginilor?
LRU contorizeaza numarul de utilizare ale fiecarei pagini eliminand la nevoie cea
mai putin utilizata pagina.
FIFO contorizeaza ordinea in care paginile au fost incarcate si la nevoie elimina
prima pagina incarcata.

12. Considerati ca algoritmul LFU (Least Frequently Used)far putea fi olosit cu succes
in politica de inlocuire a paginilor?
Atat ca si implementare cat si ca si efect LFU ar fi compatibil cu necesitatile unei
politici de paginare. Posibil ca beneficiul adus fata de LRU sa fie totusi nesemnificativ prin
comparatie cu costurile aduse.

13. Enumerati variantele de algoritmi de inlocuire a segmentelor precum si diferentele


dintre acestea. Care considerati ca este mai eficient din punctul de vedere al timpului de
lucru? Dar din punctul de vedere al eficientei spatiului de memorie?
Best fit: Un algoritm care verifica marimile tuturor gaurilor si foloseste gaura cea
mai potrivita pentru marimea segmentului curent. Acest algoritm este mai lent dar
combate in buna parte fragmentarea. – cel mai eficient din punctul de vedere al spatiului
de memorie.
First fit: Un algoritm rapid dar mai putin eficient in privinta fragmentarii. Principiul sau
este de a cauta prima gaura indeajuns de mare pentru a incapea segmentul curent. – cel
mai eficient din punctul de vedere al timpului de lucru.

16. In ce conditii este eficienta aplicarea compactarii la segmentare?


Cand timpul necesar compactarii este mai mic decat pierderile din cauza
fragmentarii.

Pagina 36 din 36

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