ASC Radescu Raspunsuri Intrebari

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

description

Politehnica, facultate

Transcript of ASC Radescu Raspunsuri Intrebari

Page 1: ASC Radescu Raspunsuri Intrebari

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

Page 2: ASC Radescu Raspunsuri Intrebari

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

Page 3: ASC Radescu Raspunsuri Intrebari

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

Page 4: ASC Radescu Raspunsuri Intrebari

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

Page 5: ASC Radescu Raspunsuri Intrebari

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 ,asincroneb) Clasificare dupa tipul semnalelor utilizate in transferul de date:seriale si paralelec) Clasificare dupa modul de realizare a transferului de date: secventiale si tranzactionaled) 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

Page 6: ASC Radescu Raspunsuri Intrebari

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 paralelPrelucarea 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

Page 7: ASC Radescu Raspunsuri Intrebari

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

Page 8: ASC Radescu Raspunsuri Intrebari

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

Page 9: ASC Radescu Raspunsuri Intrebari

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 proceseProces 1: Intrare – 2 unitati de timp Calcul- 4 unitati de timp Iesire -2 unitati de timpProcest 2: Intrare- 1 unitate de timp Calcul – 2 unitati de timp

Pagina 9 din 36

Page 10: ASC Radescu Raspunsuri Intrebari

Iesire- 1 unitate de timpProces 3 : Intrare – 1 unitate de timp Calcul- 2 unitati de timp Iesire- 1 unitate de timpDurata 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 uriIntel 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

Page 11: ASC Radescu Raspunsuri Intrebari

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

Pagina 11 din 36

Page 12: ASC Radescu Raspunsuri Intrebari

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

Page 13: ASC Radescu Raspunsuri Intrebari

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 CPUExtragerea operanzilor- blocul de comanda si control ce furnizeaza semnale de

comanda memoriei internePrelucrarea 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

Page 14: ASC Radescu Raspunsuri Intrebari

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

Page 15: ASC Radescu Raspunsuri Intrebari

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

Page 16: ASC Radescu Raspunsuri Intrebari

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

Page 17: ASC Radescu Raspunsuri Intrebari

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

Page 18: ASC Radescu Raspunsuri Intrebari

(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

Page 19: ASC Radescu Raspunsuri Intrebari

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

Page 20: ASC Radescu Raspunsuri Intrebari

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

Page 21: ASC Radescu Raspunsuri Intrebari

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 cacheJ- reprezinta numarul de linii corespunzatoare unui setL- 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

Page 22: ASC Radescu Raspunsuri Intrebari

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

Page 23: ASC Radescu Raspunsuri Intrebari

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

Page 24: ASC Radescu Raspunsuri Intrebari

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

Page 25: ASC Radescu Raspunsuri Intrebari

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

Page 26: ASC Radescu Raspunsuri Intrebari

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

Page 27: ASC Radescu Raspunsuri Intrebari

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

Page 28: ASC Radescu Raspunsuri Intrebari

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

Page 29: ASC Radescu Raspunsuri Intrebari

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

Page 30: ASC Radescu Raspunsuri Intrebari

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

Page 31: ASC Radescu Raspunsuri Intrebari

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 0 – 1• Perifericul 1 – 0• Perifericul 2 – 3• Perifericul 3 – 2Momentul 3:• Perifericul 0 – 2 • Perifericul 1 – 1• Perifericul 2 – 0• Perifericul 3 – 3Momentul 5:• Perifericul 0 – 3• Perifericul 1 – 2• Perifericul 2 – 1

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

• Perifericul 2 – 3• Perifericul 3 – 2Momentul 24:• Perifericul 0 – 2• Perifericul 1 – 1• Perifericul 2 – 0• Perifericul 3 – 3Momentul 25:• Perifericul 0 – 3• Perifericul 1 – 2• Perifericul 2 – 1• Perifericul 3 – 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

Page 32: ASC Radescu Raspunsuri Intrebari

• 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

Page 33: ASC Radescu Raspunsuri Intrebari

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

Page 34: ASC Radescu Raspunsuri Intrebari

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

Page 35: ASC Radescu Raspunsuri Intrebari

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

Page 36: ASC Radescu Raspunsuri Intrebari

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