Sunteți pe pagina 1din 2

ASC exemple de probleme 2

1. Fie instrucţiunea R=(A+B)>>S, în care + este o operaţie în virgulă mobilă (2 tacte) şi >>
este o operaţie de deplasare (1 tact). Instructiunea se execută într-o structură pipe-line cu 3
stagii( încarcare operanzi, calcul, scriere rezultate). Blocul de calcul execută operaţiile +
şi >>. Să indice o soluţie de modificarea structurii pipe-line astfel încât latenţa dintre
instructiuni să fie minimă. (Instructiunea dată se repetă într-un ciclu infinit).

2. Fie o structură pipe-line cu stagiile: IF, Dec1, Dec2, OA1, OA2, Ex şi R (încărcare,
decodificare l, decodificare 2 , Operand Address, Operand Access, Executie şi Rezultat).
Stagiul Dec2 realizează o predicţie a salturilor conditionale. Încărcarea instrucţiunilor se
face dintr-o memorie folosindu-se schema de acces simultan. Să se evalueze performanţa
structurii pipe-line dacă 10% dintre instrucţiuni sunt instrucţiuni de salt conditionat şi 50%
sunt instrucţiuni care utilizează operanzi din memorie. Rata de eroare a blocului de
predicţie a salturilor este de p%. Să se dimensioneze sistemul de memorie dacă tactul pipe-
line este τ iar timpul de acces al memoriilor este T.

3. Se da structura pipe-line cu task-uri multiple caracterizata prin urmatoarea tabela de


rezervare :
1 2 3 4 5 6
S1 X X
S2 X X
S3 X X

Sa se calculeze: setul interzis de latente, vectorul de coliziune si latenta medie minima.

4. Fie o structura pipe-line cu urmatoarele stagii:


Incarcare instructiune, Decodificare, Incarcare operand din memorie, Executie, Scriere
rezultat.
Structura pipe-line executa urmatoarea secventa de instructiuni:

START: R1 = Mem(A);
R2 = Mem(A);
R3 = R1 + R2;
A=(A+m) % N;
JUMP START;

Citirea memoriei se efectueaza dintr-o memorie cache de date cu 4 blocuri. Un bloc are B
octeti. Zona de memorie prelucrata de secventa de instructiuni are dimensiunea N=16B
octeti. Metode de mapare este asociativa, politica de reamplasare FIFO.
Sa se propuna o valoare optima pentru m si o modificare a codului astfel incit performanta
structurii pipe-line sa fie maxima.
5. Un sistem de calcul ruleaza mai multe programe cu urmatoarele tipuri de instructiuni:
Load-Store – 10% ( 2 tacte)
Int. Add/Sub – 15% (1 tact)
FP Add/Sub – 50% (5 tacte)
FP Mult/Div – 5% (20 tacte)
Salturi – 15% (1 tact)
Altele – 5% (1 tact)
Care dintre componente trebuie imbunatatite ?
Daca s-au facut imbunatatiri (astfel incit media sa fie 2 tacte), sa se calculeze cresterea de
viteza.

6. Un program are urmatoarele caracteristici :


f1 = 0.1 ( secvential)
f3 = 0.6 ( gradul de paralelism 3)
f6 = 0.3 ( gradul de paralelism 6)
Programul se ruleaza intr-un sistem cu 8 procesoare.
Desenati diagrama energiei sistemului. Folosind diagrama, calculati cresterea de viteza
si eficienta.

7. Sa se scrie, in limbaj C, rutinele de sincronizare a activitatii a 2 procesoare P1 si P2,


utiliziand intreruperi de la ambele procesoare. Se pot utiliza functiile setvect(tip intr,
rutina servire intr), getvect(tip intr),outport (port, value). Se va preciza care este suportul
hardware necesar interconectarii dintre procesoare si se vor defini structurile de date
necesare realizarii sincronizarii. Se vor reprezenta organigramele asociate programelor.

8. Se da un sistem multiprocesor strins cuplat cu 5 procesoare P1, P2, P3, P4 si P5 conectate


pe un bus comun. Fiecare procesor prelucreaza informatii citite pe busul comun la un
interval de timp 5T. Durata prelucarii este T. Daca cererile de acces pe bus sunt simultane
sa se propuna un algoritm de arbitrare a busului prin care timpul de raspuns mediu pentru
fiecare procesor sa nu depaseasca 3T. Timpul de raspuns reprezinta intervalul de timp de
la emiterea cererii de bus pina la terminarea prelucrarii.

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